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
Collaboration diagram for LRecDetectAlgo:

Collaboration graph
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

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

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