Class TreeParserBase
- java.lang.Object
-
- org.antlr.runtime.BaseRecognizer
-
- org.antlr.runtime.tree.TreeParser
-
- ru.ispras.microtesk.translator.antlrex.TreeParserEx
-
- ru.ispras.microtesk.translator.antlrex.TreeParserBase
-
- All Implemented Interfaces:
ErrorReporter
- Direct Known Subclasses:
MmuTreeWalkerBase
,NmlTreeWalkerBase
public class TreeParserBase extends TreeParserEx
The TreeParserBase class is a base class for implementing ANTLR-based tree walkers. It includes support for error reporting (inherited fromTreeParserEx
) and support for working with symbol tables.
-
-
Constructor Summary
Constructors Constructor Description TreeParserBase(org.antlr.runtime.tree.TreeNodeStream input, org.antlr.runtime.RecognizerSharedState state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assignSymbols(SymbolTable symbols)
protected void
checkMemberDeclared(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> expectedKind)
protected void
checkRedeclared(org.antlr.runtime.tree.CommonTree current)
protected void
declare(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> kind, boolean scoped)
protected void
declareAndPushSymbolScope(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> kind)
protected Symbol
getSymbol(org.antlr.runtime.tree.CommonTree id)
SymbolTable
getSymbols()
protected boolean
isDeclaredAs(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> expectedKind)
protected void
popSymbolScope()
protected void
pushSymbolScope(org.antlr.runtime.tree.CommonTree scopeID)
-
Methods inherited from class ru.ispras.microtesk.translator.antlrex.TreeParserEx
assignLog, checkNotNull, checkNotNull, checkNotNull, emitErrorMessage, getErrorCount, isSuccessful, raiseError, raiseError, reportError, reportError, resetErrorCount, where
-
Methods inherited from class org.antlr.runtime.tree.TreeParser
getAncestor, getCurrentInputSymbol, getErrorHeader, getErrorMessage, getMissingSymbol, getSourceName, getTreeNodeStream, inContext, inContext, matchAny, recoverFromMismatchedToken, reset, setTreeNodeStream, traceIn, traceOut
-
Methods inherited from class org.antlr.runtime.BaseRecognizer
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, endResync, failed, getBacktrackingLevel, getGrammarFileName, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, getTokenNames, match, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, setBacktrackingLevel, toStrings, traceIn, traceOut
-
-
-
-
Method Detail
-
assignSymbols
public final void assignSymbols(SymbolTable symbols)
-
getSymbols
public final SymbolTable getSymbols()
-
checkRedeclared
protected final void checkRedeclared(org.antlr.runtime.tree.CommonTree current) throws SemanticException
- Throws:
SemanticException
-
isDeclaredAs
protected final boolean isDeclaredAs(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> expectedKind)
-
declare
protected final void declare(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> kind, boolean scoped) throws SemanticException
- Throws:
SemanticException
-
declareAndPushSymbolScope
protected final void declareAndPushSymbolScope(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> kind) throws SemanticException
- Throws:
SemanticException
-
checkMemberDeclared
protected final void checkMemberDeclared(org.antlr.runtime.tree.CommonTree t, java.lang.Enum<?> expectedKind) throws SemanticException
- Throws:
SemanticException
-
pushSymbolScope
protected final void pushSymbolScope(org.antlr.runtime.tree.CommonTree scopeID)
-
popSymbolScope
protected final void popSymbolScope()
-
getSymbol
protected final Symbol getSymbol(org.antlr.runtime.tree.CommonTree id) throws SemanticException
- Throws:
SemanticException
-
-