public class CompositeGrammar
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
CompositeGrammarTree |
delegateGrammarTreeRoot |
protected java.util.Set<java.lang.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 java.util.Vector<NFAState> |
numberToStateList
The NFA states in the NFA built from rules across grammars in composite.
|
protected java.util.Set<NFAState> |
refClosureBusy
Used during getRuleReferenceClosure to detect computation cycles
|
protected int |
ruleIndex
Rules are uniquely labeled from 1..n among all grammars
|
protected java.util.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.
|
java.util.Map<java.lang.String,java.lang.Integer> |
stringLiteralToTypeMap
Map token literals like "while" to its token type.
|
java.util.Map |
tokenIDToTypeMap
Map token like ID (but not literals like "while") to its token type
|
java.util.Vector<java.lang.String> |
typeToStringLiteralList
Reverse index for stringLiteralToTypeMap
|
java.util.Vector<java.lang.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(java.util.Set<java.lang.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() |
java.util.Set<Rule> |
getAllImportedRules(Grammar g)
Get all rule definitions from all direct/indirect delegate grammars
of g.
|
java.util.Set<Rule> |
getDelegatedRules(Grammar g)
Get set of rules for grammar g that need to have manual delegation
methods.
|
java.util.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
|
java.util.List<Grammar> |
getDelegators(Grammar g)
Return list of delegate grammars from root down to g.
|
java.util.List<Grammar> |
getDirectDelegates(Grammar g) |
Grammar |
getGrammar(java.lang.String grammarName) |
java.util.List<Grammar> |
getIndirectDelegates(Grammar g)
Get delegates below direct delegates of g
|
int |
getNewNFAStateNumber() |
java.lang.Object |
getOption(java.lang.String key) |
Grammar |
getRootGrammar() |
Rule |
getRule(java.lang.String ruleName) |
NFAState |
getState(int s) |
protected void |
initTokenSymbolTables() |
void |
minimizeRuleSet() |
void |
setDelegationRoot(Grammar root) |
public static final int MIN_RULE_INDEX
public CompositeGrammarTree delegateGrammarTreeRoot
protected java.util.Set<NFAState> refClosureBusy
public int stateCounter
protected java.util.Vector<NFAState> numberToStateList
protected int maxTokenType
public java.util.Map tokenIDToTypeMap
public java.util.Map<java.lang.String,java.lang.Integer> stringLiteralToTypeMap
public java.util.Vector<java.lang.String> typeToStringLiteralList
public java.util.Vector<java.lang.String> typeToTokenList
protected java.util.Set<java.lang.String> lexerRules
protected int ruleIndex
protected java.util.Vector<Rule> ruleIndexToRuleList
public boolean watchNFAConversion
public CompositeGrammar()
public CompositeGrammar(Grammar g)
protected void initTokenSymbolTables()
public void setDelegationRoot(Grammar root)
public Rule getRule(java.lang.String ruleName)
public java.lang.Object getOption(java.lang.String key)
public void addGrammar(Grammar delegator, Grammar delegate)
public java.util.List<Grammar> getDelegates(Grammar g)
public java.util.List<Grammar> getIndirectDelegates(Grammar g)
public java.util.List<Grammar> getDelegators(Grammar g)
public java.util.Set<Rule> getDelegatedRules(Grammar g)
public java.util.Set<Rule> getAllImportedRules(Grammar g)
public Grammar getRootGrammar()
public Grammar getGrammar(java.lang.String grammarName)
public int getNewNFAStateNumber()
public void addState(NFAState state)
public NFAState getState(int s)
public void assignTokenTypes() throws antlr.RecognitionException
antlr.RecognitionException
public void defineGrammarSymbols()
public void createNFAs()
public void minimizeRuleSet()
public void _minimizeRuleSet(java.util.Set<java.lang.String> ruleDefs, CompositeGrammarTree p)
Copyright © 2012. All Rights Reserved.