public class CompositeGrammar extends Object
Modifier and Type | Field and Description |
---|---|
CompositeGrammarTree |
delegateGrammarTreeRoot |
protected Set<String> |
lexerRules
If combined or lexer grammar, track the rules.
|
protected int |
maxTokenType
Token names and literal tokens like "void" are uniquely indexed.
|
static int |
MIN_RULE_INDEX |
protected Vector<NFAState> |
numberToStateList
The NFA states in the NFA built from rules across grammars in composite.
|
protected Set<NFAState> |
refClosureBusy
Used during getRuleReferenceClosure to detect computation cycles
|
protected int |
ruleIndex
Rules are uniquely labeled from 1..n among all grammars
|
protected Vector<Rule> |
ruleIndexToRuleList
Map a rule index to its name; use a Vector on purpose as new
collections stuff won't let me setSize and make it grow.
|
int |
stateCounter
Used to assign state numbers; all grammars in composite share common
NFA space.
|
Map<String,Integer> |
stringLiteralToTypeMap
Map token literals like "while" to its token type.
|
Map<String,Integer> |
tokenIDToTypeMap
Map token like ID (but not literals like "while") to its token type
|
Vector<String> |
typeToStringLiteralList
Reverse index for stringLiteralToTypeMap
|
Vector<String> |
typeToTokenList
Map a token type to its token name.
|
boolean |
watchNFAConversion |
Constructor and Description |
---|
CompositeGrammar() |
CompositeGrammar(Grammar g) |
Modifier and Type | Method and Description |
---|---|
void |
_minimizeRuleSet(Set<String> ruleDefs,
CompositeGrammarTree p) |
void |
addGrammar(Grammar delegator,
Grammar delegate)
Add delegate grammar as child of delegator
|
void |
addState(NFAState state) |
void |
assignTokenTypes() |
void |
createNFAs() |
void |
defineGrammarSymbols() |
Set<? extends Rule> |
getAllImportedRules(Grammar g)
Get all rule definitions from all direct/indirect delegate grammars
of g.
|
Set<? extends Rule> |
getDelegatedRules(Grammar g)
Get set of rules for grammar g that need to have manual delegation
methods.
|
List<Grammar> |
getDelegates(Grammar g)
Get list of all delegates from all grammars in the delegate subtree of g.
|
Grammar |
getDelegator(Grammar g)
Get parent of this grammar
|
List<Grammar> |
getDelegators(Grammar g)
Return list of delegate grammars from root down to g.
|
List<Grammar> |
getDirectDelegates(Grammar g) |
Grammar |
getGrammar(String grammarName) |
List<Grammar> |
getIndirectDelegates(Grammar g)
Get delegates below direct delegates of g
|
int |
getNewNFAStateNumber() |
Object |
getOption(String key) |
Grammar |
getRootGrammar() |
Rule |
getRule(String ruleName) |
NFAState |
getState(int s) |
protected void |
initTokenSymbolTables() |
void |
minimizeRuleSet() |
void |
setDelegationRoot(Grammar root) |
void |
translateLeftRecursiveRules() |
public static final int MIN_RULE_INDEX
public CompositeGrammarTree delegateGrammarTreeRoot
protected Set<NFAState> refClosureBusy
public int stateCounter
protected Vector<NFAState> numberToStateList
protected int maxTokenType
public Map<String,Integer> tokenIDToTypeMap
public Map<String,Integer> stringLiteralToTypeMap
public Vector<String> typeToStringLiteralList
public Vector<String> typeToTokenList
protected Set<String> lexerRules
protected int ruleIndex
protected Vector<Rule> ruleIndexToRuleList
public boolean watchNFAConversion
public CompositeGrammar()
public CompositeGrammar(Grammar g)
protected void initTokenSymbolTables()
public void setDelegationRoot(Grammar root)
public void addGrammar(Grammar delegator, Grammar delegate)
public List<Grammar> getDelegates(Grammar g)
public List<Grammar> getIndirectDelegates(Grammar g)
public List<Grammar> getDelegators(Grammar g)
public Set<? extends Rule> getDelegatedRules(Grammar g)
public Set<? extends Rule> getAllImportedRules(Grammar g)
public Grammar getRootGrammar()
public int getNewNFAStateNumber()
public void addState(NFAState state)
public NFAState getState(int s)
public void assignTokenTypes() throws RecognitionException
RecognitionException
public void translateLeftRecursiveRules()
public void defineGrammarSymbols()
public void createNFAs()
public void minimizeRuleSet()
public void _minimizeRuleSet(Set<String> ruleDefs, CompositeGrammarTree p)
Copyright © 1992–2015 ANTLR. All rights reserved.