Package antlr

Class Parser

java.lang.Object
antlr.Parser
Direct Known Subclasses:
LLkParser

public abstract class Parser extends Object
  • Field Details

    • inputState

      protected ParserSharedInputState inputState
    • tokenNames

      protected String[] tokenNames
      Table of token type to token names
    • returnAST

      protected AST returnAST
      AST return value for a rule is squirreled away here
    • astFactory

      protected ASTFactory astFactory
      AST support code; parser delegates to this object. This is set during parser construction by default to either "new ASTFactory()" or a ctor that has a token type to class map for hetero nodes.
    • tokenTypeToASTClassMap

      protected Hashtable tokenTypeToASTClassMap
      Constructed if any AST types specified in tokens{..}. Maps an Integer->Class object.
    • traceDepth

      protected int traceDepth
      Used to keep track of indentdepth for traceIn/Out
  • Constructor Details

  • Method Details

    • getTokenTypeToASTClassMap

      public Hashtable getTokenTypeToASTClassMap()
      If the user specifies a tokens{} section with heterogeneous AST node types, then ANTLR generates code to fill this mapping.
    • addMessageListener

      public void addMessageListener(MessageListener l)
    • addParserListener

      public void addParserListener(ParserListener l)
    • addParserMatchListener

      public void addParserMatchListener(ParserMatchListener l)
    • addParserTokenListener

      public void addParserTokenListener(ParserTokenListener l)
    • addSemanticPredicateListener

      public void addSemanticPredicateListener(SemanticPredicateListener l)
    • addSyntacticPredicateListener

      public void addSyntacticPredicateListener(SyntacticPredicateListener l)
    • addTraceListener

      public void addTraceListener(TraceListener l)
    • consume

      public abstract void consume() throws TokenStreamException
      Get another token object from the token stream
      Throws:
      TokenStreamException
    • consumeUntil

      public void consumeUntil(int tokenType) throws TokenStreamException
      Consume tokens until one matches the given token
      Throws:
      TokenStreamException
    • consumeUntil

      public void consumeUntil(BitSet set) throws TokenStreamException
      Consume tokens until one matches the given token set
      Throws:
      TokenStreamException
    • defaultDebuggingSetup

      protected void defaultDebuggingSetup(TokenStream lexer, TokenBuffer tokBuf)
    • getAST

      public AST getAST()
      Get the AST return value squirreled away in the parser
    • getASTFactory

      public ASTFactory getASTFactory()
    • getFilename

      public String getFilename()
    • getInputState

      public ParserSharedInputState getInputState()
    • setInputState

      public void setInputState(ParserSharedInputState state)
    • getTokenName

      public String getTokenName(int num)
    • getTokenNames

      public String[] getTokenNames()
    • isDebugMode

      public boolean isDebugMode()
    • LA

      public abstract int LA(int i) throws TokenStreamException
      Return the token type of the ith token of lookahead where i=1 is the current token being examined by the parser (i.e., it has not been matched yet).
      Throws:
      TokenStreamException
    • LT

      public abstract Token LT(int i) throws TokenStreamException
      Return the ith token of lookahead
      Throws:
      TokenStreamException
    • mark

      public int mark()
    • match

      public void match(int t) throws MismatchedTokenException, TokenStreamException
      Make sure current lookahead symbol matches token type t. Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.
      Throws:
      MismatchedTokenException
      TokenStreamException
    • match

      public void match(BitSet b) throws MismatchedTokenException, TokenStreamException
      Make sure current lookahead symbol matches the given set Throw an exception upon mismatch, which is catch by either the error handler or by the syntactic predicate.
      Throws:
      MismatchedTokenException
      TokenStreamException
    • matchNot

      public void matchNot(int t) throws MismatchedTokenException, TokenStreamException
      Throws:
      MismatchedTokenException
      TokenStreamException
    • panic

      public static void panic()
      Deprecated.
      as of 2.7.2. This method calls System.exit() and writes directly to stderr, which is usually not appropriate when a parser is embedded into a larger application. Since the method is static, it cannot be overridden to avoid these problems. ANTLR no longer uses this method internally or in generated code.
    • removeMessageListener

      public void removeMessageListener(MessageListener l)
    • removeParserListener

      public void removeParserListener(ParserListener l)
    • removeParserMatchListener

      public void removeParserMatchListener(ParserMatchListener l)
    • removeParserTokenListener

      public void removeParserTokenListener(ParserTokenListener l)
    • removeSemanticPredicateListener

      public void removeSemanticPredicateListener(SemanticPredicateListener l)
    • removeSyntacticPredicateListener

      public void removeSyntacticPredicateListener(SyntacticPredicateListener l)
    • removeTraceListener

      public void removeTraceListener(TraceListener l)
    • reportError

      public void reportError(RecognitionException ex)
      Parser error-reporting function can be overridden in subclass
    • reportError

      public void reportError(String s)
      Parser error-reporting function can be overridden in subclass
    • reportWarning

      public void reportWarning(String s)
      Parser warning-reporting function can be overridden in subclass
    • recover

      public void recover(RecognitionException ex, BitSet tokenSet) throws TokenStreamException
      Throws:
      TokenStreamException
    • rewind

      public void rewind(int pos)
    • setASTFactory

      public void setASTFactory(ASTFactory f)
      Specify an object with support code (shared by Parser and TreeParser. Normally, the programmer does not play with this, using setASTNodeType instead.
    • setASTNodeClass

      public void setASTNodeClass(String cl)
    • setASTNodeType

      public void setASTNodeType(String nodeType)
      Deprecated.
      since 2.7.1
      Specify the type of node to create during tree building; use setASTNodeClass now to be consistent with Token Object Type accessor.
    • setDebugMode

      public void setDebugMode(boolean debugMode)
    • setFilename

      public void setFilename(String f)
    • setIgnoreInvalidDebugCalls

      public void setIgnoreInvalidDebugCalls(boolean value)
    • setTokenBuffer

      public void setTokenBuffer(TokenBuffer t)
      Set or change the input token buffer
    • traceIndent

      public void traceIndent()
    • traceIn

      public void traceIn(String rname) throws TokenStreamException
      Throws:
      TokenStreamException
    • traceOut

      public void traceOut(String rname) throws TokenStreamException
      Throws:
      TokenStreamException