Serialized Form


Package org.antlr.misc

Class org.antlr.misc.OrderedHashSet extends java.util.HashSet implements Serializable

Serialized Fields

elements

java.util.List<E> elements
Track the elements as they are added to the set


Package org.antlr.tool

Class org.antlr.tool.GrammarAST extends antlr.BaseAST implements Serializable

Serialized Fields

ID

int ID

token

antlr.Token token
This AST node was created from what token?


enclosingRule

java.lang.String enclosingRule

ruleStartTokenIndex

int ruleStartTokenIndex
If this is a RULE node then track rule's start, stop tokens' index.


ruleStopTokenIndex

int ruleStopTokenIndex

lookaheadDFA

DFA lookaheadDFA
If this is a decision node, what is the lookahead DFA?


NFAStartState

NFAState NFAStartState
What NFA start state was built from this node?


NFATreeDownState

NFAState NFATreeDownState
This is used for TREE_BEGIN nodes to point into the NFA. TREE_BEGINs point at left edge of DOWN for LOOK computation purposes (Nullable tree child list needs special code gen when matching).


followingNFAState

NFAState followingNFAState
Rule ref nodes, token refs, set, and NOT set refs need to track their location in the generated NFA so that local FOLLOW sets can be computed during code gen for automatic error recovery.


setValue

IntSet setValue
If this is a SET node, what are the elements?


options

java.util.Map<K,V> options
If this is a BLOCK node, track options here


rewriteRefsShallow

java.util.Set<E> rewriteRefsShallow
If this is a BLOCK node for a rewrite rule, track referenced elements here. Don't track elements in nested subrules.


rewriteRefsDeep

java.util.Set<E> rewriteRefsDeep

outerAltNum

int outerAltNum
if this is an ACTION node, this is the outermost enclosing alt num in rule. For actions, define.g sets these (used to be codegen.g). We need these set so we can examine actions early, before code gen, for refs to rule predefined properties and rule labels. For most part define.g sets outerAltNum, but codegen.g does the ones for %foo(a={$ID.text}) type refs as the {$ID...} is not seen as an action until code gen pulls apart.


code

StringTemplate code
if this is a TOKEN_REF or RULE_REF node, this is the code StringTemplate generated for this node. We need to update it later to add a label if someone does $tokenref or $ruleref in an action.