antlr
Class Parser

java.lang.Object
  |
  +--antlr.Parser
Direct Known Subclasses:
LLkParser

public abstract class Parser
extends Object


Field Summary
protected  ASTFactory astFactory
          AST support code; parser delegates to this object.
protected  ParserSharedInputState inputState
           
protected  AST returnAST
          AST return value for a rule is squirreled away here
protected  String[] tokenNames
          Table of token type to token names
protected  Hashtable tokenTypeToASTClassMap
          Constructed if any AST types specified in tokens{..}.
protected  int traceDepth
          Used to keep track of indentdepth for traceIn/Out
 
Constructor Summary
Parser()
           
Parser(ParserSharedInputState state)
           
 
Method Summary
 void addMessageListener(MessageListener l)
           
 void addParserListener(ParserListener l)
           
 void addParserMatchListener(ParserMatchListener l)
           
 void addParserTokenListener(ParserTokenListener l)
           
 void addSemanticPredicateListener(SemanticPredicateListener l)
           
 void addSyntacticPredicateListener(SyntacticPredicateListener l)
           
 void addTraceListener(TraceListener l)
           
abstract  void consume()
          Get another token object from the token stream
 void consumeUntil(BitSet set)
          Consume tokens until one matches the given token set
 void consumeUntil(int tokenType)
          Consume tokens until one matches the given token
protected  void defaultDebuggingSetup(TokenStream lexer, TokenBuffer tokBuf)
           
 AST getAST()
          Get the AST return value squirreled away in the parser
 ASTFactory getASTFactory()
           
 String getFilename()
           
 ParserSharedInputState getInputState()
           
 String getTokenName(int num)
           
 String[] getTokenNames()
           
 Hashtable getTokenTypeToASTClassMap()
          If the user specifies a tokens{} section with heterogeneous AST node types, then ANTLR generates code to fill this mapping.
 boolean isDebugMode()
           
abstract  int LA(int i)
          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).
abstract  Token LT(int i)
          Return the ith token of lookahead
 int mark()
           
 void match(BitSet b)
          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.
 void match(int t)
          Make sure current lookahead symbol matches token type t.
 void matchNot(int t)
           
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.
 void removeMessageListener(MessageListener l)
           
 void removeParserListener(ParserListener l)
           
 void removeParserMatchListener(ParserMatchListener l)
           
 void removeParserTokenListener(ParserTokenListener l)
           
 void removeSemanticPredicateListener(SemanticPredicateListener l)
           
 void removeSyntacticPredicateListener(SyntacticPredicateListener l)
           
 void removeTraceListener(TraceListener l)
           
 void reportError(RecognitionException ex)
          Parser error-reporting function can be overridden in subclass
 void reportError(String s)
          Parser error-reporting function can be overridden in subclass
 void reportWarning(String s)
          Parser warning-reporting function can be overridden in subclass
 void rewind(int pos)
           
 void setASTFactory(ASTFactory f)
          Specify an object with support code (shared by Parser and TreeParser.
 void setASTNodeClass(String cl)
           
 void setASTNodeType(String nodeType)
          Deprecated. since 2.7.1
 void setDebugMode(boolean debugMode)
           
 void setFilename(String f)
           
 void setIgnoreInvalidDebugCalls(boolean value)
           
 void setInputState(ParserSharedInputState state)
           
 void setTokenBuffer(TokenBuffer t)
          Set or change the input token buffer
 void traceIn(String rname)
           
 void traceIndent()
           
 void traceOut(String rname)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

Parser

public Parser()

Parser

public Parser(ParserSharedInputState state)
Method Detail

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

TokenStreamException

consumeUntil

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

TokenStreamException

consumeUntil

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

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).

TokenStreamException

LT

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

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.

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.

MismatchedTokenException
TokenStreamException

matchNot

public void matchNot(int t)
              throws MismatchedTokenException,
                     TokenStreamException
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


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
TokenStreamException

traceOut

public void traceOut(String rname)
              throws TokenStreamException
TokenStreamException


Copyright 1999-2003 Oliver Zeigermann. All Rights Reserved.