public class CompositeGrammar extends Object
Modifier and Type | Field | 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 | Description |
---|---|
CompositeGrammar() |
|
CompositeGrammar(Grammar g) |
Modifier and Type | Method | 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 org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public void translateLeftRecursiveRules()
public void defineGrammarSymbols()
public void createNFAs()
public void minimizeRuleSet()
public void _minimizeRuleSet(Set<String> ruleDefs, CompositeGrammarTree p)
Copyright © 1992–2019 ANTLR. All rights reserved.