Package antlr
Class DefineGrammarSymbols
- java.lang.Object
-
- antlr.DefineGrammarSymbols
-
- All Implemented Interfaces:
ANTLRGrammarParseBehavior
- Direct Known Subclasses:
MakeGrammar
public class DefineGrammarSymbols extends java.lang.Object implements ANTLRGrammarParseBehavior
DefineGrammarSymbols is a behavior for the ANTLRParser that adds all the token and rule symbols to the grammar symbol table. Token types are assigned to token symbols in this class also. The token type for a token is done in the order seen (lexically).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) LLkAnalyzeranalyzer(package private) java.lang.String[]args(package private) static java.lang.StringDEFAULT_TOKENMANAGER_NAMEprotected Grammargrammarprotected java.util.Hashtablegrammarsprotected java.util.HashtableheaderActions(package private) java.lang.Stringlanguageprotected intnumLexersprotected intnumParsersprotected intnumTreeParsers(package private) TokenthePreambleActionprotected java.util.HashtabletokenManagersprotected Tooltool
-
Constructor Summary
Constructors Constructor Description DefineGrammarSymbols(Tool tool_, java.lang.String[] args_, LLkAnalyzer analyzer_)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void_refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)void_refToken(Token assignId, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)Reference a tokenvoidabortGrammar()Abort the processing of a grammar due to syntax errorsvoidbeginAlt(boolean doAST_)voidbeginChildList()voidbeginExceptionGroup()voidbeginExceptionSpec(Token label)voidbeginSubRule(Token label, Token start, boolean not)voidbeginTree(Token tok)voiddefineRuleName(Token r, java.lang.String access, boolean ruleAutoGen, java.lang.String docComment)Define a lexer or parser rulevoiddefineToken(Token tokname, Token tokliteral)Define a token from tokens {...}.voidendAlt()voidendChildList()voidendExceptionGroup()voidendExceptionSpec()voidendGrammar()voidendOptions()Called after the optional options section, to compensate for options that may not have been set.voidendRule(java.lang.String r)voidendSubRule()voidendTree()java.lang.StringgetHeaderAction(java.lang.String name)intgetHeaderActionLine(java.lang.String name)voidhasError()voidnoASTSubRule()voidoneOrMoreSubRule()voidoptionalSubRule()voidrefAction(Token action)voidrefArgAction(Token action)voidrefCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)voidrefCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)voidrefElementOption(Token option, Token value)voidrefExceptionHandler(Token exTypeAndName, Token action)voidrefHeaderAction(Token name, Token act)voidrefInitAction(Token action)voidrefMemberAction(Token act)voidrefPreambleAction(Token act)voidrefReturnAction(Token returnAction)voidrefRule(Token idAssign, Token r, Token label, Token args, int autoGenType)voidrefSemPred(Token pred)voidrefStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)voidrefToken(Token assignId, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)Reference a tokenvoidrefTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)voidrefTokensSpecElementOption(Token tok, Token option, Token value)voidrefTreeSpecifier(Token treeSpec)voidrefWildcard(Token t, Token label, int autoGenType)voidreset()Get ready to process a new grammarvoidsetArgOfRuleRef(Token argaction)voidsetCharVocabulary(BitSet b)Set the character vocabulary for a lexervoidsetFileOption(Token key, Token value, java.lang.String filename)setFileOption: Associate an option value with a key.voidsetGrammarOption(Token key, Token value)setGrammarOption: Associate an option value with a key.voidsetRuleOption(Token key, Token value)voidsetSubruleOption(Token key, Token value)voidsetUserExceptions(java.lang.String thr)voidstartLexer(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new lexervoidstartParser(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new parservoidstartTreeWalker(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new tree-walkervoidsynPred()voidzeroOrMoreSubRule()
-
-
-
Field Detail
-
grammars
protected java.util.Hashtable grammars
-
tokenManagers
protected java.util.Hashtable tokenManagers
-
grammar
protected Grammar grammar
-
tool
protected Tool tool
-
analyzer
LLkAnalyzer analyzer
-
args
java.lang.String[] args
-
DEFAULT_TOKENMANAGER_NAME
static final java.lang.String DEFAULT_TOKENMANAGER_NAME
- See Also:
- Constant Field Values
-
headerActions
protected java.util.Hashtable headerActions
-
thePreambleAction
Token thePreambleAction
-
language
java.lang.String language
-
numLexers
protected int numLexers
-
numParsers
protected int numParsers
-
numTreeParsers
protected int numTreeParsers
-
-
Constructor Detail
-
DefineGrammarSymbols
public DefineGrammarSymbols(Tool tool_, java.lang.String[] args_, LLkAnalyzer analyzer_)
-
-
Method Detail
-
_refStringLiteral
public void _refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)
-
_refToken
public void _refToken(Token assignId, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)
Reference a token
-
abortGrammar
public void abortGrammar()
Abort the processing of a grammar due to syntax errors- Specified by:
abortGrammarin interfaceANTLRGrammarParseBehavior
-
beginAlt
public void beginAlt(boolean doAST_)
- Specified by:
beginAltin interfaceANTLRGrammarParseBehavior
-
beginChildList
public void beginChildList()
- Specified by:
beginChildListin interfaceANTLRGrammarParseBehavior
-
beginExceptionGroup
public void beginExceptionGroup()
- Specified by:
beginExceptionGroupin interfaceANTLRGrammarParseBehavior
-
beginExceptionSpec
public void beginExceptionSpec(Token label)
- Specified by:
beginExceptionSpecin interfaceANTLRGrammarParseBehavior
-
beginSubRule
public void beginSubRule(Token label, Token start, boolean not)
- Specified by:
beginSubRulein interfaceANTLRGrammarParseBehavior
-
beginTree
public void beginTree(Token tok) throws SemanticException
- Specified by:
beginTreein interfaceANTLRGrammarParseBehavior- Throws:
SemanticException
-
defineRuleName
public void defineRuleName(Token r, java.lang.String access, boolean ruleAutoGen, java.lang.String docComment) throws SemanticException
Define a lexer or parser rule- Specified by:
defineRuleNamein interfaceANTLRGrammarParseBehavior- Throws:
SemanticException
-
defineToken
public void defineToken(Token tokname, Token tokliteral)
Define a token from tokens {...}. Must be label and literal or just label or just a literal.- Specified by:
defineTokenin interfaceANTLRGrammarParseBehavior
-
endAlt
public void endAlt()
- Specified by:
endAltin interfaceANTLRGrammarParseBehavior
-
endChildList
public void endChildList()
- Specified by:
endChildListin interfaceANTLRGrammarParseBehavior
-
endExceptionGroup
public void endExceptionGroup()
- Specified by:
endExceptionGroupin interfaceANTLRGrammarParseBehavior
-
endExceptionSpec
public void endExceptionSpec()
- Specified by:
endExceptionSpecin interfaceANTLRGrammarParseBehavior
-
endGrammar
public void endGrammar()
- Specified by:
endGrammarin interfaceANTLRGrammarParseBehavior
-
endOptions
public void endOptions()
Called after the optional options section, to compensate for options that may not have been set. This method is bigger than it needs to be, but is much more clear if I delineate all the cases.- Specified by:
endOptionsin interfaceANTLRGrammarParseBehavior
-
endRule
public void endRule(java.lang.String r)
- Specified by:
endRulein interfaceANTLRGrammarParseBehavior
-
endSubRule
public void endSubRule()
- Specified by:
endSubRulein interfaceANTLRGrammarParseBehavior
-
endTree
public void endTree()
- Specified by:
endTreein interfaceANTLRGrammarParseBehavior
-
hasError
public void hasError()
- Specified by:
hasErrorin interfaceANTLRGrammarParseBehavior
-
noASTSubRule
public void noASTSubRule()
- Specified by:
noASTSubRulein interfaceANTLRGrammarParseBehavior
-
oneOrMoreSubRule
public void oneOrMoreSubRule()
- Specified by:
oneOrMoreSubRulein interfaceANTLRGrammarParseBehavior
-
optionalSubRule
public void optionalSubRule()
- Specified by:
optionalSubRulein interfaceANTLRGrammarParseBehavior
-
setUserExceptions
public void setUserExceptions(java.lang.String thr)
- Specified by:
setUserExceptionsin interfaceANTLRGrammarParseBehavior
-
refAction
public void refAction(Token action)
- Specified by:
refActionin interfaceANTLRGrammarParseBehavior
-
refArgAction
public void refArgAction(Token action)
- Specified by:
refArgActionin interfaceANTLRGrammarParseBehavior
-
refCharLiteral
public void refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)
- Specified by:
refCharLiteralin interfaceANTLRGrammarParseBehavior
-
refCharRange
public void refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refCharRangein interfaceANTLRGrammarParseBehavior
-
refElementOption
public void refElementOption(Token option, Token value)
- Specified by:
refElementOptionin interfaceANTLRGrammarParseBehavior
-
refTokensSpecElementOption
public void refTokensSpecElementOption(Token tok, Token option, Token value)
- Specified by:
refTokensSpecElementOptionin interfaceANTLRGrammarParseBehavior
-
refExceptionHandler
public void refExceptionHandler(Token exTypeAndName, Token action)
- Specified by:
refExceptionHandlerin interfaceANTLRGrammarParseBehavior
-
refHeaderAction
public void refHeaderAction(Token name, Token act)
- Specified by:
refHeaderActionin interfaceANTLRGrammarParseBehavior
-
getHeaderAction
public java.lang.String getHeaderAction(java.lang.String name)
-
getHeaderActionLine
public int getHeaderActionLine(java.lang.String name)
-
refInitAction
public void refInitAction(Token action)
- Specified by:
refInitActionin interfaceANTLRGrammarParseBehavior
-
refMemberAction
public void refMemberAction(Token act)
- Specified by:
refMemberActionin interfaceANTLRGrammarParseBehavior
-
refPreambleAction
public void refPreambleAction(Token act)
- Specified by:
refPreambleActionin interfaceANTLRGrammarParseBehavior
-
refReturnAction
public void refReturnAction(Token returnAction)
- Specified by:
refReturnActionin interfaceANTLRGrammarParseBehavior
-
refRule
public void refRule(Token idAssign, Token r, Token label, Token args, int autoGenType)
- Specified by:
refRulein interfaceANTLRGrammarParseBehavior
-
refSemPred
public void refSemPred(Token pred)
- Specified by:
refSemPredin interfaceANTLRGrammarParseBehavior
-
refStringLiteral
public void refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refStringLiteralin interfaceANTLRGrammarParseBehavior
-
refToken
public void refToken(Token assignId, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)
Reference a token- Specified by:
refTokenin interfaceANTLRGrammarParseBehavior
-
refTokenRange
public void refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refTokenRangein interfaceANTLRGrammarParseBehavior
-
refTreeSpecifier
public void refTreeSpecifier(Token treeSpec)
- Specified by:
refTreeSpecifierin interfaceANTLRGrammarParseBehavior
-
refWildcard
public void refWildcard(Token t, Token label, int autoGenType)
- Specified by:
refWildcardin interfaceANTLRGrammarParseBehavior
-
reset
public void reset()
Get ready to process a new grammar
-
setArgOfRuleRef
public void setArgOfRuleRef(Token argaction)
- Specified by:
setArgOfRuleRefin interfaceANTLRGrammarParseBehavior
-
setCharVocabulary
public void setCharVocabulary(BitSet b)
Set the character vocabulary for a lexer- Specified by:
setCharVocabularyin interfaceANTLRGrammarParseBehavior
-
setFileOption
public void setFileOption(Token key, Token value, java.lang.String filename)
setFileOption: Associate an option value with a key. This applies to options for an entire grammar file.- Specified by:
setFileOptionin interfaceANTLRGrammarParseBehavior- Parameters:
key- The token containing the option namevalue- The token containing the option value.
-
setGrammarOption
public void setGrammarOption(Token key, Token value)
setGrammarOption: Associate an option value with a key. This function forwards to Grammar.setOption for some options.- Specified by:
setGrammarOptionin interfaceANTLRGrammarParseBehavior- Parameters:
key- The token containing the option namevalue- The token containing the option value.
-
setRuleOption
public void setRuleOption(Token key, Token value)
- Specified by:
setRuleOptionin interfaceANTLRGrammarParseBehavior
-
setSubruleOption
public void setSubruleOption(Token key, Token value)
- Specified by:
setSubruleOptionin interfaceANTLRGrammarParseBehavior
-
startLexer
public void startLexer(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new lexer- Specified by:
startLexerin interfaceANTLRGrammarParseBehavior
-
startParser
public void startParser(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new parser- Specified by:
startParserin interfaceANTLRGrammarParseBehavior
-
startTreeWalker
public void startTreeWalker(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)Start a new tree-walker- Specified by:
startTreeWalkerin interfaceANTLRGrammarParseBehavior
-
synPred
public void synPred()
- Specified by:
synPredin interfaceANTLRGrammarParseBehavior
-
zeroOrMoreSubRule
public void zeroOrMoreSubRule()
- Specified by:
zeroOrMoreSubRulein interfaceANTLRGrammarParseBehavior
-
-