Package org.antlr.grammar.v3
Class ActionAnalysis
- java.lang.Object
-
- org.antlr.runtime.BaseRecognizer
-
- org.antlr.runtime.Lexer
-
- org.antlr.grammar.v3.ActionAnalysis
-
- All Implemented Interfaces:
TokenSource
public class ActionAnalysis extends Lexer
We need to set Rule.referencedPredefinedRuleAttributes before code generation. This filter looks at an action in context of its rule and outer alternative number and figures out which rules have predefined prefs referenced. I need this so I can remove unusued labels. This also tracks, for labeled rules, which are referenced by actions.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) TokenactionToken(package private) RuleenclosingRulestatic intEOF(package private) Grammargrammarstatic intID(package private) intouterAltNumstatic intXstatic intX_Ystatic intY-
Fields inherited from class org.antlr.runtime.BaseRecognizer
DEFAULT_TOKEN_CHANNEL, HIDDEN, INITIAL_FOLLOW_STACK_SIZE, MEMO_RULE_FAILED, MEMO_RULE_UNKNOWN, NEXT_TOKEN_RULE_NAME, state
-
-
Constructor Summary
Constructors Constructor Description ActionAnalysis()ActionAnalysis(CharStream input)ActionAnalysis(CharStream input, RecognizerSharedState state)ActionAnalysis(Grammar grammar, java.lang.String ruleName, GrammarAST actionAST)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanalreadyParsedRule(IntStream input, int ruleIndex)Has this rule already parsed input at the current index in the input stream? Return the stop token index or MEMO_RULE_UNKNOWN.voidanalyze()Lexer[]getDelegates()java.lang.StringgetGrammarFileName()For debugging and other purposes, might want the grammar name.voidmemoize(IntStream input, int ruleIndex, int ruleStartIndex)Record whether or not this rule parsed the input at this position successfully.voidmID()voidmTokens()This is the lexer entry point that sets instance var 'token'voidmX()voidmX_Y()voidmY()TokennextToken()Return a token from this source; i.e., match a token on the char stream.booleansynpred1_ActionAnalysis()voidsynpred1_ActionAnalysis_fragment()booleansynpred2_ActionAnalysis()voidsynpred2_ActionAnalysis_fragment()-
Methods inherited from class org.antlr.runtime.Lexer
emit, emit, getCharErrorDisplay, getCharIndex, getCharPositionInLine, getCharStream, getEOFToken, getErrorMessage, getLine, getSourceName, getText, match, match, matchAny, matchRange, recover, reportError, reset, setCharStream, setText, skip, traceIn, traceOut
-
Methods inherited from class org.antlr.runtime.BaseRecognizer
beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, failed, getBacktrackingLevel, getCurrentInputSymbol, getErrorHeader, getMissingSymbol, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, getTokenNames, match, matchAny, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, recoverFromMismatchedToken, setBacktrackingLevel, toStrings, traceIn, traceOut
-
-
-
-
Field Detail
-
EOF
public static final int EOF
- See Also:
- Constant Field Values
-
ID
public static final int ID
- See Also:
- Constant Field Values
-
X
public static final int X
- See Also:
- Constant Field Values
-
X_Y
public static final int X_Y
- See Also:
- Constant Field Values
-
Y
public static final int Y
- See Also:
- Constant Field Values
-
enclosingRule
Rule enclosingRule
-
grammar
Grammar grammar
-
actionToken
Token actionToken
-
outerAltNum
int outerAltNum
-
-
Constructor Detail
-
ActionAnalysis
public ActionAnalysis(Grammar grammar, java.lang.String ruleName, GrammarAST actionAST)
-
ActionAnalysis
public ActionAnalysis()
-
ActionAnalysis
public ActionAnalysis(CharStream input)
-
ActionAnalysis
public ActionAnalysis(CharStream input, RecognizerSharedState state)
-
-
Method Detail
-
analyze
public void analyze()
-
getDelegates
public Lexer[] getDelegates()
-
getGrammarFileName
public java.lang.String getGrammarFileName()
Description copied from class:BaseRecognizerFor debugging and other purposes, might want the grammar name. Have ANTLR generate an implementation for this method.- Overrides:
getGrammarFileNamein classBaseRecognizer
-
nextToken
public Token nextToken()
Description copied from class:LexerReturn a token from this source; i.e., match a token on the char stream.- Specified by:
nextTokenin interfaceTokenSource- Overrides:
nextTokenin classLexer
-
memoize
public void memoize(IntStream input, int ruleIndex, int ruleStartIndex)
Description copied from class:BaseRecognizerRecord whether or not this rule parsed the input at this position successfully. Use a standard java hashtable for now.- Overrides:
memoizein classBaseRecognizer
-
alreadyParsedRule
public boolean alreadyParsedRule(IntStream input, int ruleIndex)
Description copied from class:BaseRecognizerHas this rule already parsed input at the current index in the input stream? Return the stop token index or MEMO_RULE_UNKNOWN. If we attempted but failed to parse properly before, return MEMO_RULE_FAILED. This method has a side-effect: if we have seen this input for this rule and successfully parsed before, then seek ahead to 1 past the stop token matched for this rule last time.- Overrides:
alreadyParsedRulein classBaseRecognizer
-
mX_Y
public final void mX_Y() throws RecognitionException- Throws:
RecognitionException
-
mX
public final void mX() throws RecognitionException- Throws:
RecognitionException
-
mY
public final void mY() throws RecognitionException- Throws:
RecognitionException
-
mID
public final void mID() throws RecognitionException- Throws:
RecognitionException
-
mTokens
public void mTokens() throws RecognitionExceptionDescription copied from class:LexerThis is the lexer entry point that sets instance var 'token'- Specified by:
mTokensin classLexer- Throws:
RecognitionException
-
synpred1_ActionAnalysis_fragment
public final void synpred1_ActionAnalysis_fragment() throws RecognitionException- Throws:
RecognitionException
-
synpred2_ActionAnalysis_fragment
public final void synpred2_ActionAnalysis_fragment() throws RecognitionException- Throws:
RecognitionException
-
synpred2_ActionAnalysis
public final boolean synpred2_ActionAnalysis()
-
synpred1_ActionAnalysis
public final boolean synpred1_ActionAnalysis()
-
-