Package antlr
Class MakeGrammar
- java.lang.Object
-
- antlr.DefineGrammarSymbols
-
- antlr.MakeGrammar
-
- All Implemented Interfaces:
ANTLRGrammarParseBehavior
public class MakeGrammar extends DefineGrammarSymbols
-
-
Field Summary
Fields Modifier and Type Field Description protected Stack
blocks
(package private) ExceptionSpec
currentExceptionSpec
protected boolean
grammarError
protected RuleRefElement
lastRuleRef
protected int
nested
protected RuleBlock
ruleBlock
protected RuleEndElement
ruleEnd
-
Fields inherited from class antlr.DefineGrammarSymbols
analyzer, args, DEFAULT_TOKENMANAGER_NAME, grammar, grammars, headerActions, language, numLexers, numParsers, numTreeParsers, thePreambleAction, tokenManagers, tool
-
-
Constructor Summary
Constructors Constructor Description MakeGrammar(Tool tool_, java.lang.String[] args_, LLkAnalyzer analyzer_)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abortGrammar()
Abort the processing of a grammar (due to syntax errors)protected void
addElementToCurrentAlt(AlternativeElement e)
void
beginAlt(boolean doAutoGen_)
void
beginChildList()
void
beginExceptionGroup()
Add an exception group to a rule (currently a no-op)void
beginExceptionSpec(Token label)
Add an exception spec to an exception group or rule blockvoid
beginSubRule(Token label, Token start, boolean not)
void
beginTree(Token tok)
BlockContext
context()
static RuleBlock
createNextTokenRule(Grammar g, Vector lexRules, java.lang.String rname)
Used to build nextToken() for the lexer.void
defineRuleName(Token r, java.lang.String access, boolean ruleAutoGen, java.lang.String docComment)
Define a lexer or parser rulevoid
endAlt()
void
endChildList()
void
endExceptionGroup()
void
endExceptionSpec()
void
endGrammar()
Called at the end of processing a grammarvoid
endRule(java.lang.String rule)
void
endSubRule()
void
endTree()
void
hasError()
Remember that a major error occured in the grammarvoid
noAutoGenSubRule()
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)
Add an exception handler to an exception specvoid
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 idAssign, 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)
static void
setBlock(AlternativeBlock b, AlternativeBlock src)
void
setRuleOption(Token key, Token value)
void
setSubruleOption(Token key, Token value)
void
setUserExceptions(java.lang.String thr)
void
synPred()
void
zeroOrMoreSubRule()
-
Methods inherited from class antlr.DefineGrammarSymbols
_refStringLiteral, _refToken, defineToken, endOptions, getHeaderAction, getHeaderActionLine, noASTSubRule, refHeaderAction, setCharVocabulary, setFileOption, setGrammarOption, startLexer, startParser, startTreeWalker
-
-
-
-
Field Detail
-
blocks
protected Stack blocks
-
lastRuleRef
protected RuleRefElement lastRuleRef
-
ruleEnd
protected RuleEndElement ruleEnd
-
ruleBlock
protected RuleBlock ruleBlock
-
nested
protected int nested
-
grammarError
protected boolean grammarError
-
currentExceptionSpec
ExceptionSpec currentExceptionSpec
-
-
Constructor Detail
-
MakeGrammar
public MakeGrammar(Tool tool_, java.lang.String[] args_, LLkAnalyzer analyzer_)
-
-
Method Detail
-
abortGrammar
public void abortGrammar()
Abort the processing of a grammar (due to syntax errors)- Specified by:
abortGrammar
in interfaceANTLRGrammarParseBehavior
- Overrides:
abortGrammar
in classDefineGrammarSymbols
-
addElementToCurrentAlt
protected void addElementToCurrentAlt(AlternativeElement e)
-
beginAlt
public void beginAlt(boolean doAutoGen_)
- Specified by:
beginAlt
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginAlt
in classDefineGrammarSymbols
-
beginChildList
public void beginChildList()
- Specified by:
beginChildList
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginChildList
in classDefineGrammarSymbols
-
beginExceptionGroup
public void beginExceptionGroup()
Add an exception group to a rule (currently a no-op)- Specified by:
beginExceptionGroup
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginExceptionGroup
in classDefineGrammarSymbols
-
beginExceptionSpec
public void beginExceptionSpec(Token label)
Add an exception spec to an exception group or rule block- Specified by:
beginExceptionSpec
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginExceptionSpec
in classDefineGrammarSymbols
-
beginSubRule
public void beginSubRule(Token label, Token start, boolean not)
- Specified by:
beginSubRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginSubRule
in classDefineGrammarSymbols
-
beginTree
public void beginTree(Token tok) throws SemanticException
- Specified by:
beginTree
in interfaceANTLRGrammarParseBehavior
- Overrides:
beginTree
in classDefineGrammarSymbols
- Throws:
SemanticException
-
context
public BlockContext context()
-
createNextTokenRule
public static RuleBlock createNextTokenRule(Grammar g, Vector lexRules, java.lang.String rname)
Used to build nextToken() for the lexer. This builds a rule which has every "public" rule in the given Vector of rules as it's alternate. Each rule ref generates a Token object.- Parameters:
g
- The Grammar that is being processedlexRules
- A vector of lexer rules that will be used to create an alternate block.rname
- The name of the resulting rule.
-
defineRuleName
public void defineRuleName(Token r, java.lang.String access, boolean ruleAutoGen, java.lang.String docComment) throws SemanticException
Description copied from class:DefineGrammarSymbols
Define a lexer or parser rule- Specified by:
defineRuleName
in interfaceANTLRGrammarParseBehavior
- Overrides:
defineRuleName
in classDefineGrammarSymbols
- Throws:
SemanticException
-
endAlt
public void endAlt()
- Specified by:
endAlt
in interfaceANTLRGrammarParseBehavior
- Overrides:
endAlt
in classDefineGrammarSymbols
-
endChildList
public void endChildList()
- Specified by:
endChildList
in interfaceANTLRGrammarParseBehavior
- Overrides:
endChildList
in classDefineGrammarSymbols
-
endExceptionGroup
public void endExceptionGroup()
- Specified by:
endExceptionGroup
in interfaceANTLRGrammarParseBehavior
- Overrides:
endExceptionGroup
in classDefineGrammarSymbols
-
endExceptionSpec
public void endExceptionSpec()
- Specified by:
endExceptionSpec
in interfaceANTLRGrammarParseBehavior
- Overrides:
endExceptionSpec
in classDefineGrammarSymbols
-
endGrammar
public void endGrammar()
Called at the end of processing a grammar- Specified by:
endGrammar
in interfaceANTLRGrammarParseBehavior
- Overrides:
endGrammar
in classDefineGrammarSymbols
-
endRule
public void endRule(java.lang.String rule)
- Specified by:
endRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
endRule
in classDefineGrammarSymbols
-
endSubRule
public void endSubRule()
- Specified by:
endSubRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
endSubRule
in classDefineGrammarSymbols
-
endTree
public void endTree()
- Specified by:
endTree
in interfaceANTLRGrammarParseBehavior
- Overrides:
endTree
in classDefineGrammarSymbols
-
hasError
public void hasError()
Remember that a major error occured in the grammar- Specified by:
hasError
in interfaceANTLRGrammarParseBehavior
- Overrides:
hasError
in classDefineGrammarSymbols
-
noAutoGenSubRule
public void noAutoGenSubRule()
-
oneOrMoreSubRule
public void oneOrMoreSubRule()
- Specified by:
oneOrMoreSubRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
oneOrMoreSubRule
in classDefineGrammarSymbols
-
optionalSubRule
public void optionalSubRule()
- Specified by:
optionalSubRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
optionalSubRule
in classDefineGrammarSymbols
-
refAction
public void refAction(Token action)
- Specified by:
refAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refAction
in classDefineGrammarSymbols
-
setUserExceptions
public void setUserExceptions(java.lang.String thr)
- Specified by:
setUserExceptions
in interfaceANTLRGrammarParseBehavior
- Overrides:
setUserExceptions
in classDefineGrammarSymbols
-
refArgAction
public void refArgAction(Token action)
- Specified by:
refArgAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refArgAction
in classDefineGrammarSymbols
-
refCharLiteral
public void refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)
- Specified by:
refCharLiteral
in interfaceANTLRGrammarParseBehavior
- Overrides:
refCharLiteral
in classDefineGrammarSymbols
-
refCharRange
public void refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refCharRange
in interfaceANTLRGrammarParseBehavior
- Overrides:
refCharRange
in classDefineGrammarSymbols
-
refTokensSpecElementOption
public void refTokensSpecElementOption(Token tok, Token option, Token value)
- Specified by:
refTokensSpecElementOption
in interfaceANTLRGrammarParseBehavior
- Overrides:
refTokensSpecElementOption
in classDefineGrammarSymbols
-
refElementOption
public void refElementOption(Token option, Token value)
- Specified by:
refElementOption
in interfaceANTLRGrammarParseBehavior
- Overrides:
refElementOption
in classDefineGrammarSymbols
-
refExceptionHandler
public void refExceptionHandler(Token exTypeAndName, Token action)
Add an exception handler to an exception spec- Specified by:
refExceptionHandler
in interfaceANTLRGrammarParseBehavior
- Overrides:
refExceptionHandler
in classDefineGrammarSymbols
-
refInitAction
public void refInitAction(Token action)
- Specified by:
refInitAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refInitAction
in classDefineGrammarSymbols
-
refMemberAction
public void refMemberAction(Token act)
- Specified by:
refMemberAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refMemberAction
in classDefineGrammarSymbols
-
refPreambleAction
public void refPreambleAction(Token act)
- Specified by:
refPreambleAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refPreambleAction
in classDefineGrammarSymbols
-
refReturnAction
public void refReturnAction(Token returnAction)
- Specified by:
refReturnAction
in interfaceANTLRGrammarParseBehavior
- Overrides:
refReturnAction
in classDefineGrammarSymbols
-
refRule
public void refRule(Token idAssign, Token r, Token label, Token args, int autoGenType)
- Specified by:
refRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
refRule
in classDefineGrammarSymbols
-
refSemPred
public void refSemPred(Token pred)
- Specified by:
refSemPred
in interfaceANTLRGrammarParseBehavior
- Overrides:
refSemPred
in classDefineGrammarSymbols
-
refStringLiteral
public void refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refStringLiteral
in interfaceANTLRGrammarParseBehavior
- Overrides:
refStringLiteral
in classDefineGrammarSymbols
-
refToken
public void refToken(Token idAssign, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)
Description copied from class:DefineGrammarSymbols
Reference a token- Specified by:
refToken
in interfaceANTLRGrammarParseBehavior
- Overrides:
refToken
in classDefineGrammarSymbols
-
refTokenRange
public void refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)
- Specified by:
refTokenRange
in interfaceANTLRGrammarParseBehavior
- Overrides:
refTokenRange
in classDefineGrammarSymbols
-
refTreeSpecifier
public void refTreeSpecifier(Token treeSpec)
- Specified by:
refTreeSpecifier
in interfaceANTLRGrammarParseBehavior
- Overrides:
refTreeSpecifier
in classDefineGrammarSymbols
-
refWildcard
public void refWildcard(Token t, Token label, int autoGenType)
- Specified by:
refWildcard
in interfaceANTLRGrammarParseBehavior
- Overrides:
refWildcard
in classDefineGrammarSymbols
-
reset
public void reset()
Get ready to process a new grammar- Overrides:
reset
in classDefineGrammarSymbols
-
setArgOfRuleRef
public void setArgOfRuleRef(Token argAction)
- Specified by:
setArgOfRuleRef
in interfaceANTLRGrammarParseBehavior
- Overrides:
setArgOfRuleRef
in classDefineGrammarSymbols
-
setBlock
public static void setBlock(AlternativeBlock b, AlternativeBlock src)
-
setRuleOption
public void setRuleOption(Token key, Token value)
- Specified by:
setRuleOption
in interfaceANTLRGrammarParseBehavior
- Overrides:
setRuleOption
in classDefineGrammarSymbols
-
setSubruleOption
public void setSubruleOption(Token key, Token value)
- Specified by:
setSubruleOption
in interfaceANTLRGrammarParseBehavior
- Overrides:
setSubruleOption
in classDefineGrammarSymbols
-
synPred
public void synPred()
- Specified by:
synPred
in interfaceANTLRGrammarParseBehavior
- Overrides:
synPred
in classDefineGrammarSymbols
-
zeroOrMoreSubRule
public void zeroOrMoreSubRule()
- Specified by:
zeroOrMoreSubRule
in interfaceANTLRGrammarParseBehavior
- Overrides:
zeroOrMoreSubRule
in classDefineGrammarSymbols
-
-