Class AntlrGeneratedParserBase<N extends AntlrNode<N>>
- java.lang.Object
-
- org.antlr.v4.runtime.Recognizer<org.antlr.v4.runtime.Token,org.antlr.v4.runtime.atn.ParserATNSimulator>
-
- org.antlr.v4.runtime.Parser
-
- net.sourceforge.pmd.lang.ast.impl.antlr4.AntlrGeneratedParserBase<N>
-
public abstract class AntlrGeneratedParserBase<N extends AntlrNode<N>> extends org.antlr.v4.runtime.ParserThis is the base class for antlr generated parsers. The implementation of PMD'sParserinterface isAntlrBaseParser.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 theParsersuperclass uses are redirected to the underlying antlrParserRuleContext(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
AntlrNameDictionarystatic 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 forcreatePmdTerminal(ParserRuleContext, Token)andcreatePmdError(ParserRuleContext, Token)can be added.
-
-
Constructor Summary
Constructors Constructor Description AntlrGeneratedParserBase(org.antlr.v4.runtime.TokenStream input)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected 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, unrollRecursionContexts
-
Methods 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
-
-
-
-
Method Detail
-
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
protected Node asPmdNode(org.antlr.v4.runtime.RuleContext ctx)
-
enterRule
protected void enterRule(BaseAntlrInnerNode<N> ptree, int state, int alt)
-
enterOuterAlt
protected void enterOuterAlt(BaseAntlrInnerNode<N> localctx, int altNum)
-
pushNewRecursionContext
protected void pushNewRecursionContext(BaseAntlrInnerNode<N> localctx, int state, int ruleIndex)
-
enterRecursionRule
protected void enterRecursionRule(BaseAntlrInnerNode<N> localctx, int state, int ruleIndex, int precedence)
-
sempred
protected boolean sempred(BaseAntlrInnerNode<N> localctx, int ruleIndex, int predIndex)
-
-