Class AntlrGeneratedParserBase<N extends AntlrNode<N>>
Parser interface is AntlrBaseParser.
This class must implement the two abstract methods to create terminals
and error nodes that implement <N>. The inner nodes implement PMD
interfaces, and manipulation methods that the Parser superclass
uses are redirected to the underlying antlr ParserRuleContext (the
protected overloads here).
This is not enough in general to make the generated parser compilable, so an ant script does some cleanup at the end.
Additionally this must have a AntlrNameDictionary static final field,
which stores the XPath names of the generated nodes (and terminals).
Additional members can be added to a parser with @parser::members { ... }
in the g4 file. That's how the implementations for createPmdTerminal(ParserRuleContext, Token)
and createPmdError(ParserRuleContext, Token) can be added.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.antlr.v4.runtime.Parser
org.antlr.v4.runtime.Parser.TraceListener, org.antlr.v4.runtime.Parser.TrimToSizeListener -
Field Summary
Fields inherited from class org.antlr.v4.runtime.Parser
_buildParseTrees, _ctx, _errHandler, _input, _parseListeners, _precedenceStack, _syntaxErrors, matchedEOFFields inherited from class org.antlr.v4.runtime.Recognizer
_interp, EOF -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected NodeasPmdNode(org.antlr.v4.runtime.RuleContext ctx) org.antlr.v4.runtime.tree.ErrorNodecreateErrorNode(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) protected abstract BaseAntlrErrorNode<N>createPmdError(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) protected abstract BaseAntlrTerminalNode<N>createPmdTerminal(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) org.antlr.v4.runtime.tree.TerminalNodecreateTerminalNode(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) protected voidenterOuterAlt(BaseAntlrInnerNode<N> localctx, int altNum) protected voidenterRecursionRule(BaseAntlrInnerNode<N> localctx, int state, int ruleIndex, int precedence) protected voidenterRule(BaseAntlrInnerNode<N> ptree, int state, int alt) protected voidpushNewRecursionContext(BaseAntlrInnerNode<N> localctx, int state, int ruleIndex) protected booleansempred(BaseAntlrInnerNode<N> localctx, int ruleIndex, int predIndex) Methods inherited from class org.antlr.v4.runtime.Parser
addContextToParseTree, addParseListener, compileParseTreePattern, compileParseTreePattern, consume, dumpDFA, enterOuterAlt, enterRecursionRule, enterRecursionRule, enterRule, exitRule, getATNWithBypassAlts, getBuildParseTree, getContext, getCurrentToken, getDFAStrings, getErrorHandler, getExpectedTokens, getExpectedTokensWithinCurrentRule, getInputStream, getInvokingContext, getNumberOfSyntaxErrors, getParseInfo, getParseListeners, getPrecedence, getRuleContext, getRuleIndex, getRuleInvocationStack, getRuleInvocationStack, getSourceName, getTokenFactory, getTokenStream, getTrimParseTree, inContext, isExpectedToken, isMatchedEOF, isTrace, match, matchWildcard, notifyErrorListeners, notifyErrorListeners, precpred, pushNewRecursionContext, removeParseListener, removeParseListeners, reset, setBuildParseTree, setContext, setErrorHandler, setInputStream, setProfile, setTokenFactory, setTokenStream, setTrace, setTrimParseTree, triggerEnterRuleEvent, triggerExitRuleEvent, unrollRecursionContextsMethods inherited from class org.antlr.v4.runtime.Recognizer
action, addErrorListener, getATN, getErrorHeader, getErrorListenerDispatch, getErrorListeners, getGrammarFileName, getInterpreter, getRuleIndexMap, getRuleNames, getSerializedATN, getState, getTokenErrorDisplay, getTokenNames, getTokenType, getTokenTypeMap, getVocabulary, removeErrorListener, removeErrorListeners, sempred, setInterpreter, setState
-
Constructor Details
-
AntlrGeneratedParserBase
public AntlrGeneratedParserBase(org.antlr.v4.runtime.TokenStream input)
-
-
Method Details
-
createTerminalNode
public org.antlr.v4.runtime.tree.TerminalNode createTerminalNode(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) - Overrides:
createTerminalNodein classorg.antlr.v4.runtime.Parser
-
createErrorNode
public org.antlr.v4.runtime.tree.ErrorNode createErrorNode(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) - Overrides:
createErrorNodein classorg.antlr.v4.runtime.Parser
-
createPmdTerminal
protected abstract BaseAntlrTerminalNode<N> createPmdTerminal(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) -
createPmdError
protected abstract BaseAntlrErrorNode<N> createPmdError(org.antlr.v4.runtime.ParserRuleContext parent, org.antlr.v4.runtime.Token t) -
asPmdNode
-
enterRule
-
enterOuterAlt
-
pushNewRecursionContext
-
enterRecursionRule
protected void enterRecursionRule(BaseAntlrInnerNode<N> localctx, int state, int ruleIndex, int precedence) -
sempred
-