#include <ebnf_la_node.hh>
Inheritance diagram for EbnfLaNode:
Public Types | |
enum | Colours { white, grey, black } |
Public Methods | |
EbnfLaNode (const Position &pos_, NumberedLaSpec *laSpec_=NULL) | |
EbnfLaNode (const EbnfLaNode &o) | |
~EbnfLaNode () | |
Public Attributes | |
NumberedLaSpec* | laSpec |
CodeChunk | startCode |
CodeChunk | endCode |
bool | forceStartCode |
bool | forceEndCode |
vector<CatchClause> | catchList |
vBitset | first |
vBitset | follow |
bool | nullable |
Colours | colour |
Static Public Attributes | |
ITokenSpec* | tokens = NULL |
Protected Methods | |
void | dumpAttributes (ostream &os) const |
Static Protected Methods | |
void | indent () |
void | unindent () |
ostream& | format (ostream &os) |
Static Protected Attributes | |
int | indent_level = 0 |
Definition at line 86 of file ebnf_la_node.hh.
|
During the recursive traversal we use colours to mark visited nodes. Definition at line 198 of file ebnf_la_node.hh. |
|
Creates a new EbnfLaNode associated with the given position in the input file and having the associated (possibly NULL) lookahead specification. Definition at line 95 of file ebnf_la_node.hh. |
|
Copy constructor. It has an in-depth semantics (the lookahead spec, if any is cloned). Definition at line 103 of file ebnf_la_node.hh. |
|
Definition at line 113 of file ebnf_la_node.hh. |
|
Definition at line 123 of file ebnf_la_node.hh. |
|
Definition at line 128 of file ebnf_la_node.hh. |
|
Definition at line 133 of file ebnf_la_node.hh. |
|
Definition at line 55 of file ebnf_la_node.cc. Referenced by EbnfLambdaNode::dump(), EbnfTerminalNode::dump(), EbnfNonterminalNode::dump(), EbnfStarNode::dump(), EbnfCatNode::dump(), and EbnfOrNode::dump().
|
|
Definition at line 121 of file ebnf_la_node.hh. |
|
Definition at line 143 of file ebnf_la_node.hh. |
|
The lookahead associated with this node, if any (can be NULL). Definition at line 151 of file ebnf_la_node.hh. |
|
Contains the user code found before the expansion represented by this node in the input file. Definition at line 157 of file ebnf_la_node.hh. |
|
Contains the user code found after the expansion represented by this node in the input file. Definition at line 163 of file ebnf_la_node.hh. |
|
Definition at line 165 of file ebnf_la_node.hh. |
|
Definition at line 165 of file ebnf_la_node.hh. |
|
Contains any CatchClause objects resulted from the catch constructions found in the input file after the production represented by this node. Definition at line 171 of file ebnf_la_node.hh. |
|
Contains the FIRST set of terminals for this node.
Definition at line 178 of file ebnf_la_node.hh. |
|
Contains the FOLLOW set of terminals for this node.
Definition at line 185 of file ebnf_la_node.hh. |
|
Indicates whether the expansion represented by this node can match an empty string of tokens.
Definition at line 193 of file ebnf_la_node.hh. |
|
This field is used during recursive traversal of EBNF nodes, which may reffer to each other. Their meanings are the classical: white : not visited yet, grey : being visited now, black: already visited. This field can be (and is) used by the EbnfNodeAlgo implementations in order to avoid infinite recursion if some productions mutually refer each other. Definition at line 207 of file ebnf_la_node.hh. |