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) LLkAnalyzer
analyzer
(package private) java.lang.String[]
args
(package private) static java.lang.String
DEFAULT_TOKENMANAGER_NAME
protected Grammar
grammar
protected java.util.Hashtable
grammars
protected java.util.Hashtable
headerActions
(package private) java.lang.String
language
protected int
numLexers
protected int
numParsers
protected int
numTreeParsers
(package private) Token
thePreambleAction
protected java.util.Hashtable
tokenManagers
protected Tool
tool
-
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 tokenvoid
abortGrammar()
Abort the processing of a grammar due to syntax errorsvoid
beginAlt(boolean doAST_)
void
beginChildList()
void
beginExceptionGroup()
void
beginExceptionSpec(Token label)
void
beginSubRule(Token label, Token start, boolean not)
void
beginTree(Token tok)
void
defineRuleName(Token r, java.lang.String access, boolean ruleAutoGen, java.lang.String docComment)
Define a lexer or parser rulevoid
defineToken(Token tokname, Token tokliteral)
Define a token from tokens {...}.void
endAlt()
void
endChildList()
void
endExceptionGroup()
void
endExceptionSpec()
void
endGrammar()
void
endOptions()
Called after the optional options section, to compensate for options that may not have been set.void
endRule(java.lang.String r)
void
endSubRule()
void
endTree()
java.lang.String
getHeaderAction(java.lang.String name)
int
getHeaderActionLine(java.lang.String name)
void
hasError()
void
noASTSubRule()
void
oneOrMoreSubRule()
void
optionalSubRule()
void
refAction(Token action)
void
refArgAction(Token action)
void
refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)
void
refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
void
refElementOption(Token option, Token value)
void
refExceptionHandler(Token exTypeAndName, Token action)
void
refHeaderAction(Token name, Token act)
void
refInitAction(Token action)
void
refMemberAction(Token act)
void
refPreambleAction(Token act)
void
refReturnAction(Token returnAction)
void
refRule(Token idAssign, Token r, Token label, Token args, int autoGenType)
void
refSemPred(Token pred)
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 tokenvoid
refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
void
refTokensSpecElementOption(Token tok, Token option, Token value)
void
refTreeSpecifier(Token treeSpec)
void
refWildcard(Token t, Token label, int autoGenType)
void
reset()
Get ready to process a new grammarvoid
setArgOfRuleRef(Token argaction)
void
setCharVocabulary(BitSet b)
Set the character vocabulary for a lexervoid
setFileOption(Token key, Token value, java.lang.String filename)
setFileOption: Associate an option value with a key.void
setGrammarOption(Token key, Token value)
setGrammarOption: Associate an option value with a key.void
setRuleOption(Token key, Token value)
void
setSubruleOption(Token key, Token value)
void
setUserExceptions(java.lang.String thr)
void
startLexer(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)
Start a new lexervoid
startParser(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)
Start a new parservoid
startTreeWalker(java.lang.String file, Token name, java.lang.String superClass, java.lang.String doc)
Start a new tree-walkervoid
synPred()
void
zeroOrMoreSubRule()
-
-
-
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:
abortGrammar
in interfaceANTLRGrammarParseBehavior
-
beginAlt
public void beginAlt(boolean doAST_)
- Specified by:
beginAlt
in interfaceANTLRGrammarParseBehavior
-
beginChildList
public void beginChildList()
- Specified by:
beginChildList
in interfaceANTLRGrammarParseBehavior
-
beginExceptionGroup
public void beginExceptionGroup()
- Specified by:
beginExceptionGroup
in interfaceANTLRGrammarParseBehavior
-
beginExceptionSpec
public void beginExceptionSpec(Token label)
- Specified by:
beginExceptionSpec
in interfaceANTLRGrammarParseBehavior
-
beginSubRule
public void beginSubRule(Token label, Token start, boolean not)
- Specified by:
beginSubRule
in interfaceANTLRGrammarParseBehavior
-
beginTree
public void beginTree(Token tok) throws SemanticException
- Specified by:
beginTree
in 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:
defineRuleName
in 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:
defineToken
in interfaceANTLRGrammarParseBehavior
-
endAlt
public void endAlt()
- Specified by:
endAlt
in interfaceANTLRGrammarParseBehavior
-
endChildList
public void endChildList()
- Specified by:
endChildList
in interfaceANTLRGrammarParseBehavior
-
endExceptionGroup
public void endExceptionGroup()
- Specified by:
endExceptionGroup
in interfaceANTLRGrammarParseBehavior
-
endExceptionSpec
public void endExceptionSpec()
- Specified by:
endExceptionSpec
in interfaceANTLRGrammarParseBehavior
-
endGrammar
public void endGrammar()
- Specified by:
endGrammar
in 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:
endOptions
in interfaceANTLRGrammarParseBehavior
-
endRule
public void endRule(java.lang.String r)
- Specified by:
endRule
in interfaceANTLRGrammarParseBehavior
-
endSubRule
public void endSubRule()
- Specified by:
endSubRule
in interfaceANTLRGrammarParseBehavior
-
endTree
public void endTree()
- Specified by:
endTree
in interfaceANTLRGrammarParseBehavior
-
hasError
public void hasError()
- Specified by:
hasError
in interfaceANTLRGrammarParseBehavior
-
noASTSubRule
public void noASTSubRule()
- Specified by:
noASTSubRule
in interfaceANTLRGrammarParseBehavior
-
oneOrMoreSubRule
public void oneOrMoreSubRule()
- Specified by:
oneOrMoreSubRule
in interfaceANTLRGrammarParseBehavior
-
optionalSubRule
public void optionalSubRule()
- Specified by:
optionalSubRule
in interfaceANTLRGrammarParseBehavior
-
setUserExceptions
public void setUserExceptions(java.lang.String thr)
- Specified by:
setUserExceptions
in interfaceANTLRGrammarParseBehavior
-
refAction
public void refAction(Token action)
- Specified by:
refAction
in interfaceANTLRGrammarParseBehavior
-
refArgAction
public void refArgAction(Token action)
- Specified by:
refArgAction
in interfaceANTLRGrammarParseBehavior
-
refCharLiteral
public void refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)
- Specified by:
refCharLiteral
in interfaceANTLRGrammarParseBehavior
-
refCharRange
public void refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refCharRange
in interfaceANTLRGrammarParseBehavior
-
refElementOption
public void refElementOption(Token option, Token value)
- Specified by:
refElementOption
in interfaceANTLRGrammarParseBehavior
-
refTokensSpecElementOption
public void refTokensSpecElementOption(Token tok, Token option, Token value)
- Specified by:
refTokensSpecElementOption
in interfaceANTLRGrammarParseBehavior
-
refExceptionHandler
public void refExceptionHandler(Token exTypeAndName, Token action)
- Specified by:
refExceptionHandler
in interfaceANTLRGrammarParseBehavior
-
refHeaderAction
public void refHeaderAction(Token name, Token act)
- Specified by:
refHeaderAction
in 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:
refInitAction
in interfaceANTLRGrammarParseBehavior
-
refMemberAction
public void refMemberAction(Token act)
- Specified by:
refMemberAction
in interfaceANTLRGrammarParseBehavior
-
refPreambleAction
public void refPreambleAction(Token act)
- Specified by:
refPreambleAction
in interfaceANTLRGrammarParseBehavior
-
refReturnAction
public void refReturnAction(Token returnAction)
- Specified by:
refReturnAction
in interfaceANTLRGrammarParseBehavior
-
refRule
public void refRule(Token idAssign, Token r, Token label, Token args, int autoGenType)
- Specified by:
refRule
in interfaceANTLRGrammarParseBehavior
-
refSemPred
public void refSemPred(Token pred)
- Specified by:
refSemPred
in interfaceANTLRGrammarParseBehavior
-
refStringLiteral
public void refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refStringLiteral
in interfaceANTLRGrammarParseBehavior
-
refToken
public void refToken(Token assignId, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)
Reference a token- Specified by:
refToken
in interfaceANTLRGrammarParseBehavior
-
refTokenRange
public void refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refTokenRange
in interfaceANTLRGrammarParseBehavior
-
refTreeSpecifier
public void refTreeSpecifier(Token treeSpec)
- Specified by:
refTreeSpecifier
in interfaceANTLRGrammarParseBehavior
-
refWildcard
public void refWildcard(Token t, Token label, int autoGenType)
- Specified by:
refWildcard
in interfaceANTLRGrammarParseBehavior
-
reset
public void reset()
Get ready to process a new grammar
-
setArgOfRuleRef
public void setArgOfRuleRef(Token argaction)
- Specified by:
setArgOfRuleRef
in interfaceANTLRGrammarParseBehavior
-
setCharVocabulary
public void setCharVocabulary(BitSet b)
Set the character vocabulary for a lexer- Specified by:
setCharVocabulary
in 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:
setFileOption
in 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:
setGrammarOption
in 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:
setRuleOption
in interfaceANTLRGrammarParseBehavior
-
setSubruleOption
public void setSubruleOption(Token key, Token value)
- Specified by:
setSubruleOption
in 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:
startLexer
in 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:
startParser
in 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:
startTreeWalker
in interfaceANTLRGrammarParseBehavior
-
synPred
public void synPred()
- Specified by:
synPred
in interfaceANTLRGrammarParseBehavior
-
zeroOrMoreSubRule
public void zeroOrMoreSubRule()
- Specified by:
zeroOrMoreSubRule
in interfaceANTLRGrammarParseBehavior
-
-