Class ParserBase
- java.lang.Object
-
- org.antlr.runtime.BaseRecognizer
-
- org.antlr.runtime.Parser
-
- ru.ispras.microtesk.translator.antlrex.ParserEx
-
- ru.ispras.microtesk.translator.antlrex.ParserBase
-
- All Implemented Interfaces:
ErrorReporter
- Direct Known Subclasses:
MmuParser
,MmuParser_CommonParser
,NmlParser
,NmlParser_CommonParser
public class ParserBase extends ParserEx
TheParserBase
class is a base class for implementing ANTLR-based parsers. It includes support for error reporting (inherited fromParserEx
) and support for working with symbol tables.
-
-
Constructor Summary
Constructors Constructor Description ParserBase(org.antlr.runtime.TokenStream input, org.antlr.runtime.RecognizerSharedState state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assignRevisions(java.util.Set<java.lang.String> revisions, java.util.Deque<java.lang.Boolean> revisionApplicable)
void
assignSymbols(SymbolTable symbols)
protected void
checkDeclaration(org.antlr.runtime.Token t, java.lang.Enum<?> expectedKind)
protected void
declare(org.antlr.runtime.Token t, java.lang.Enum<?> kind, boolean scoped)
protected Symbol
declareAndPushSymbolScope(org.antlr.runtime.Token t, java.lang.Enum<?> kind)
SymbolTable
getSymbols()
protected boolean
isDeclaredAs(org.antlr.runtime.Token t, java.lang.Enum<?> expectedKind)
protected boolean
isRevisionApplicable(org.antlr.runtime.Token revision)
protected void
popRevisionApplicable()
protected SymbolScope
popSymbolScope()
protected void
pushRevisionApplicable(boolean applicable)
protected void
pushSymbolScopes(java.util.List<SymbolScope> scopes)
-
Methods inherited from class ru.ispras.microtesk.translator.antlrex.ParserEx
assignLog, checkNotNull, checkNotNull, emitErrorMessage, getErrorCount, isCorrect, raiseError, raiseError, reportError, reportError, resetErrorCount, where
-
Methods inherited from class org.antlr.runtime.Parser
getCurrentInputSymbol, getMissingSymbol, getSourceName, getTokenStream, reset, setTokenStream, traceIn, traceOut
-
Methods inherited from class org.antlr.runtime.BaseRecognizer
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, endResync, failed, getBacktrackingLevel, getErrorHeader, getErrorMessage, getGrammarFileName, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, getTokenNames, match, matchAny, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, recoverFromMismatchedToken, setBacktrackingLevel, toStrings, traceIn, traceOut
-
-
-
-
Method Detail
-
assignSymbols
public final void assignSymbols(SymbolTable symbols)
-
getSymbols
public final SymbolTable getSymbols()
-
assignRevisions
public void assignRevisions(java.util.Set<java.lang.String> revisions, java.util.Deque<java.lang.Boolean> revisionApplicable)
-
declare
protected final void declare(org.antlr.runtime.Token t, java.lang.Enum<?> kind, boolean scoped) throws SemanticException
- Throws:
SemanticException
-
declareAndPushSymbolScope
protected final Symbol declareAndPushSymbolScope(org.antlr.runtime.Token t, java.lang.Enum<?> kind) throws SemanticException
- Throws:
SemanticException
-
popSymbolScope
protected SymbolScope popSymbolScope()
-
pushSymbolScopes
protected final void pushSymbolScopes(java.util.List<SymbolScope> scopes)
-
checkDeclaration
protected final void checkDeclaration(org.antlr.runtime.Token t, java.lang.Enum<?> expectedKind) throws SemanticException
- Throws:
SemanticException
-
isDeclaredAs
protected final boolean isDeclaredAs(org.antlr.runtime.Token t, java.lang.Enum<?> expectedKind)
-
isRevisionApplicable
protected final boolean isRevisionApplicable(org.antlr.runtime.Token revision)
-
pushRevisionApplicable
protected final void pushRevisionApplicable(boolean applicable)
-
popRevisionApplicable
protected final void popRevisionApplicable()
-
-