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

EbnfRepetitiveAlgo Class Reference

Inheritance diagram for EbnfRepetitiveAlgo:

Inheritance graph
[legend]
Collaboration diagram for EbnfRepetitiveAlgo:

Collaboration graph
[legend]
List of all members.

Public Methods

void init ()
bool done ()

Protected Methods

void markUndone ()

Private Attributes

bool _done

Detailed Description

This is the superclas of algorithms that need to be aplpied more than once for a produiction. The done field will be setif the production needs to be processed again because it depends on productions that are not done yet themselves.

Definition at line 212 of file lanalyzer.cc.


Member Function Documentation

void EbnfRepetitiveAlgo::init ( ) [inline]
 

This must be called before the actual traversal starts. It sets the done flag. If, after the traversal ends, the done() method returns true, then indeed the EBNF node need not be traversed again.

Definition at line 221 of file lanalyzer.cc.

Referenced by runAlgo().

bool EbnfRepetitiveAlgo::done ( ) [inline]
 

Returns the value of the done flag.

Definition at line 226 of file lanalyzer.cc.

void EbnfRepetitiveAlgo::markUndone ( ) [inline, protected]
 

This is to be called by the algorithm implementation, if at some point it is decided that the EBNF tree needs to be processed again.

Definition at line 234 of file lanalyzer.cc.

Referenced by EbnfFirstCompAlgo::operator()(), and EbnfNullableCompAlgo::operator()().


Member Data Documentation

bool EbnfRepetitiveAlgo::_done [private]
 

Definition at line 237 of file lanalyzer.cc.


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