Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

LRecDetectAlgo Class Reference

Inheritance diagram for LRecDetectAlgo:

Inheritance graph
[legend]
Collaboration diagram for LRecDetectAlgo:

Collaboration graph
[legend]
List of all members.

Private Methods

virtual bool operator() (EbnfNode &n) throw (EbnfNodeAlgoException)

Detailed Description

This algorithm checks productions for left-reccursion. It works by inspecting the leftmost expansion and checking whether it cannot expand in the production itself.

What i'm not sure is whether something like A -> X ? A can be considered left reccursion. If X is not taken because is optional, it looks like A -> A and might be left recursion.

It must be used in a rdfTraverse.

Definition at line 161 of file lanalyzer.cc.


Member Function Documentation

bool LRecDetectAlgo::operator() ( EbnfNode & n ) throw (EbnfNodeAlgoException) [inline, private, virtual]
 

This gets called for each EBNF node during the traversal.

Reimplemented from EbnfNodeAlgo.

Definition at line 163 of file lanalyzer.cc.


The documentation for this class was generated from the following file:
Generated at Tue Jul 9 21:07:46 2002 for CppCC by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001