antlr

Class MakeGrammar

public class MakeGrammar extends DefineGrammarSymbols

Field Summary
protected Stackblocks
ExceptionSpeccurrentExceptionSpec
protected booleangrammarError
protected RuleRefElementlastRuleRef
protected intnested
protected RuleBlockruleBlock
protected RuleEndElementruleEnd
Constructor Summary
MakeGrammar(Tool tool_, String[] args_, LLkAnalyzer analyzer_)
Method Summary
voidabortGrammar()
Abort the processing of a grammar (due to syntax errors)
protected voidaddElementToCurrentAlt(AlternativeElement e)
voidbeginAlt(boolean doAutoGen_)
voidbeginChildList()
voidbeginExceptionGroup()
Add an exception group to a rule (currently a no-op)
voidbeginExceptionSpec(Token label)
Add an exception spec to an exception group or rule block
voidbeginSubRule(Token label, Token start, boolean not)
voidbeginTree(Token tok)
BlockContextcontext()
static RuleBlockcreateNextTokenRule(Grammar g, Vector lexRules, String rname)
Used to build nextToken() for the lexer.
voiddefineRuleName(Token r, String access, boolean ruleAutoGen, String docComment)
voidendAlt()
voidendChildList()
voidendExceptionGroup()
voidendExceptionSpec()
voidendGrammar()
Called at the end of processing a grammar
voidendRule(String rule)
voidendSubRule()
voidendTree()
voidhasError()
Remember that a major error occured in the grammar
voidnoAutoGenSubRule()
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)
Add an exception handler to an exception spec
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 idAssign, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)
voidrefTokenRange(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 grammar
voidsetArgOfRuleRef(Token argAction)
static voidsetBlock(AlternativeBlock b, AlternativeBlock src)
voidsetRuleOption(Token key, Token value)
voidsetSubruleOption(Token key, Token value)
voidsetUserExceptions(String thr)
voidsynPred()
voidzeroOrMoreSubRule()

Field Detail

blocks

protected Stack blocks

currentExceptionSpec

ExceptionSpec currentExceptionSpec

grammarError

protected boolean grammarError

lastRuleRef

protected RuleRefElement lastRuleRef

nested

protected int nested

ruleBlock

protected RuleBlock ruleBlock

ruleEnd

protected RuleEndElement ruleEnd

Constructor Detail

MakeGrammar

public MakeGrammar(Tool tool_, String[] args_, LLkAnalyzer analyzer_)

Method Detail

abortGrammar

public void abortGrammar()
Abort the processing of a grammar (due to syntax errors)

addElementToCurrentAlt

protected void addElementToCurrentAlt(AlternativeElement e)

beginAlt

public void beginAlt(boolean doAutoGen_)

beginChildList

public void beginChildList()

beginExceptionGroup

public void beginExceptionGroup()
Add an exception group to a rule (currently a no-op)

beginExceptionSpec

public void beginExceptionSpec(Token label)
Add an exception spec to an exception group or rule block

beginSubRule

public void beginSubRule(Token label, Token start, boolean not)

beginTree

public void beginTree(Token tok)

context

public BlockContext context()

createNextTokenRule

public static RuleBlock createNextTokenRule(Grammar g, Vector lexRules, 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 processed lexRules 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, String access, boolean ruleAutoGen, String docComment)

endAlt

public void endAlt()

endChildList

public void endChildList()

endExceptionGroup

public void endExceptionGroup()

endExceptionSpec

public void endExceptionSpec()

endGrammar

public void endGrammar()
Called at the end of processing a grammar

endRule

public void endRule(String rule)

endSubRule

public void endSubRule()

endTree

public void endTree()

hasError

public void hasError()
Remember that a major error occured in the grammar

noAutoGenSubRule

public void noAutoGenSubRule()

oneOrMoreSubRule

public void oneOrMoreSubRule()

optionalSubRule

public void optionalSubRule()

refAction

public void refAction(Token action)

refArgAction

public void refArgAction(Token action)

refCharLiteral

public void refCharLiteral(Token lit, Token label, boolean inverted, int autoGenType, boolean lastInRule)

refCharRange

public void refCharRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)

refElementOption

public void refElementOption(Token option, Token value)

refExceptionHandler

public void refExceptionHandler(Token exTypeAndName, Token action)
Add an exception handler to an exception spec

refInitAction

public void refInitAction(Token action)

refMemberAction

public void refMemberAction(Token act)

refPreambleAction

public void refPreambleAction(Token act)

refReturnAction

public void refReturnAction(Token returnAction)

refRule

public void refRule(Token idAssign, Token r, Token label, Token args, int autoGenType)

refSemPred

public void refSemPred(Token pred)

refStringLiteral

public void refStringLiteral(Token lit, Token label, int autoGenType, boolean lastInRule)

refToken

public void refToken(Token idAssign, Token t, Token label, Token args, boolean inverted, int autoGenType, boolean lastInRule)

refTokenRange

public void refTokenRange(Token t1, Token t2, Token label, int autoGenType, boolean lastInRule)

refTokensSpecElementOption

public void refTokensSpecElementOption(Token tok, Token option, Token value)

refTreeSpecifier

public void refTreeSpecifier(Token treeSpec)

refWildcard

public void refWildcard(Token t, Token label, int autoGenType)

reset

public void reset()
Get ready to process a new grammar

setArgOfRuleRef

public void setArgOfRuleRef(Token argAction)

setBlock

public static void setBlock(AlternativeBlock b, AlternativeBlock src)

setRuleOption

public void setRuleOption(Token key, Token value)

setSubruleOption

public void setSubruleOption(Token key, Token value)

setUserExceptions

public void setUserExceptions(String thr)

synPred

public void synPred()

zeroOrMoreSubRule

public void zeroOrMoreSubRule()