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

lanalyzer.cc File Reference

Go to the source code of this file.

Compounds

class  ColourResetAlgo
class  LaNumberingAlgo
class  NontermFixAlgo
class  LRecDetectAlgo
class  EbnfRepetitiveAlgo
class  EbnfNullableCompAlgo
class  EbnfFirstCompAlgo
class  EbnfFollowCompAlgo
class  EbnfLl1CheckAlgo

Functions

void runAlgo (vector< ProductionSpec > &prods, EbnfNodeAlgo &algo, bool reverse=false) throw (EbnfNodeAlgoException)
void runAlgo (vector< ProductionSpec > &prods, EbnfRepetitiveAlgo &algo, bool reverse=false) throw (EbnfNodeAlgoException)

Variables

string curProdName


Function Documentation

void runAlgo ( vector< ProductionSpec > & prods,
EbnfNodeAlgo & algo,
bool reverse = false ) throw (EbnfNodeAlgoException)
 

Runs a dfTraverse on each production's expansion given in the vector with the given AbnfNodeAlgo as argument. If the reverse flag is true, then a backward traversal is done (using the rdfTraverse). Additionally, before running the given algorithm, the colour of each node is set to white.

If the algorith fails (i.e. throws an exception), runAlgo also throws an exception with the same location, and the reason augmented to indicate the production that was being processed when the exception occurred.

Definition at line 252 of file lanalyzer.cc.

void runAlgo ( vector< ProductionSpec > & prods,
EbnfRepetitiveAlgo & algo,
bool reverse = false ) throw (EbnfNodeAlgoException)
 

Runs a dfTraverse on each production's expansion given in the vector with the given AbnfNodeAlgo as argument. If the reverse flag is true, then a backward traversal is done (using the rdfTraverse). Additionally, before running the given algorithm, the colour of each node is set to white.

The functions maintains a vector of "done" flags for each production, and will restart the traversal of each "not-done" production until all the productions are marked as "done".

If the algorith fails (i.e. throws an exception), runAlgo also throws an exception with the same location, and the reason augmented to indicate the production that was being processed when the exception occurred.

Definition at line 294 of file lanalyzer.cc.

Referenced by LAnalyzer::makeLa().


Variable Documentation

string curProdName [static]
 

Definition at line 69 of file lanalyzer.cc.


Generated at Tue Jul 9 21:05:46 2002 for CppCC by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001