#include <Parser.hpp>
Public Member Functions | |
virtual | ~Parser () |
virtual int | LA (unsigned int i)=0 |
virtual RefToken | LT (unsigned int i)=0 |
Return the i-th token of lookahead. | |
virtual void | setASTNodeFactory (ASTFactory *factory) |
virtual void | setASTFactory (ASTFactory *factory) |
virtual ASTFactory * | getASTFactory () |
virtual RefAST | getAST ()=0 |
virtual | ANTLR_USE_NAMESPACE (std) string getFilename() const |
Return the filename of the input file. | |
virtual void | setFilename (const ANTLR_USE_NAMESPACE(std) string &f) |
Set the filename of the input file (used for error reporting). | |
virtual void | setInputState (ParserSharedInputState state) |
virtual ParserSharedInputState | getInputState () const |
virtual void | consume ()=0 |
Get another token object from the token stream. | |
virtual void | consumeUntil (int tokenType) |
Consume tokens until one matches the given token. | |
virtual void | consumeUntil (const BitSet &set) |
Consume tokens until one matches the given token set. | |
virtual void | match (int t) |
virtual void | matchNot (int t) |
virtual void | match (const BitSet &b) |
virtual unsigned int | mark () |
virtual void | rewind (unsigned int pos) |
rewind to a previously marked position | |
virtual void | recover (const RecognitionException &ex, const BitSet &tokenSet) |
virtual void | reportError (const RecognitionException &ex) |
Parser error-reporting function can be overridden in subclass. | |
virtual void | reportError (const ANTLR_USE_NAMESPACE(std) string &s) |
Parser error-reporting function can be overridden in subclass. | |
virtual void | reportWarning (const ANTLR_USE_NAMESPACE(std) string &s) |
Parser warning-reporting function can be overridden in subclass. | |
virtual const char * | getTokenName (int num) const =0 |
get the token name for the token number 'num' | |
virtual const char *const * | getTokenNames () const =0 |
get a vector with all token names | |
virtual int | getNumTokens (void) const =0 |
virtual void | traceIndent () |
virtual void | traceIn (const char *rname) |
virtual void | traceOut (const char *rname) |
Protected Member Functions | |
Parser (TokenBuffer &input) | |
Parser (TokenBuffer *input) | |
Parser (const ParserSharedInputState &state) | |
Protected Attributes | |
ParserSharedInputState | inputState |
ASTFactory * | astFactory |
AST support code; parser and treeparser delegate to this object. | |
int | traceDepth |
Private Member Functions | |
Parser (const Parser &) | |
const Parser & | operator= (const Parser &) |
Data Structures | |
class | Tracer |
Each parser object contains the state of the parse including a lookahead cache (the form of which is determined by the subclass), whether or not the parser is in guess mode, where tokens come from, etc...
During guess mode, the current lookahead token(s) and token type(s) cache must be saved because the token stream may not have been informed to save the token (via mark
) before the try
block. Guessing is started by:
After guessing, the parser state is restored by:
antlr.TokenBuffer
antlr.TokenStream
antlr.LL1Parser
antlr.LLkParser
Definition at line 64 of file Parser.hpp.
Parser::Parser | ( | TokenBuffer & | input | ) | [inline, protected] |
Definition at line 66 of file Parser.hpp.
Parser::Parser | ( | TokenBuffer * | input | ) | [inline, protected] |
Definition at line 70 of file Parser.hpp.
Parser::Parser | ( | const ParserSharedInputState & | state | ) | [inline, protected] |
Definition at line 74 of file Parser.hpp.
virtual Parser::~Parser | ( | ) | [inline, virtual] |
Definition at line 79 of file Parser.hpp.
Parser::Parser | ( | const Parser & | ) | [private] |
virtual int Parser::LA | ( | unsigned int | i | ) | [pure virtual] |
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).
Implemented in LLkParser.
virtual RefToken Parser::LT | ( | unsigned int | i | ) | [pure virtual] |
virtual void Parser::setASTNodeFactory | ( | ASTFactory * | factory | ) | [inline, virtual] |
DEPRECATED! Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory.
Definition at line 96 of file Parser.hpp.
virtual void Parser::setASTFactory | ( | ASTFactory * | factory | ) | [inline, virtual] |
Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory.
Definition at line 103 of file Parser.hpp.
virtual ASTFactory* Parser::getASTFactory | ( | ) | [inline, virtual] |
Return a pointer to the ASTFactory used. So you might use it in subsequent treewalkers or to reload AST's from disk.
Definition at line 111 of file Parser.hpp.
virtual RefAST Parser::getAST | ( | ) | [pure virtual] |
virtual Parser::ANTLR_USE_NAMESPACE | ( | std | ) | const [inline, virtual] |
virtual void Parser::setFilename | ( | const ANTLR_USE_NAMESPACE(std) string & | f | ) | [inline, virtual] |
Set the filename of the input file (used for error reporting).
Definition at line 127 of file Parser.hpp.
virtual void Parser::setInputState | ( | ParserSharedInputState | state | ) | [inline, virtual] |
Definition at line 132 of file Parser.hpp.
virtual ParserSharedInputState Parser::getInputState | ( | ) | const [inline, virtual] |
Definition at line 136 of file Parser.hpp.
virtual void Parser::consume | ( | ) | [pure virtual] |
virtual void Parser::consumeUntil | ( | int | tokenType | ) | [inline, virtual] |
Consume tokens until one matches the given token.
Definition at line 144 of file Parser.hpp.
References Token::EOF_TYPE.
virtual void Parser::consumeUntil | ( | const BitSet & | set | ) | [inline, virtual] |
Consume tokens until one matches the given token set.
Definition at line 151 of file Parser.hpp.
References Token::EOF_TYPE.
virtual void Parser::match | ( | int | t | ) | [inline, virtual] |
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.
Definition at line 161 of file Parser.hpp.
References ANTLR_USE_NAMESPACE, and DEBUG_PARSER.
virtual void Parser::matchNot | ( | int | t | ) | [inline, virtual] |
Definition at line 184 of file Parser.hpp.
virtual void Parser::match | ( | const BitSet & | b | ) | [inline, virtual] |
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.
Definition at line 202 of file Parser.hpp.
References ANTLR_USE_NAMESPACE, DEBUG_PARSER, and BitSet::member().
virtual unsigned int Parser::mark | ( | ) | [inline, virtual] |
Mark a spot in the input and return the position. Forwarded to TokenBuffer.
Definition at line 230 of file Parser.hpp.
virtual void Parser::rewind | ( | unsigned int | pos | ) | [inline, virtual] |
virtual void Parser::recover | ( | const RecognitionException & | ex, | |
const BitSet & | tokenSet | |||
) | [inline, virtual] |
called by the generated parser to do error recovery, override to customize the behaviour.
Definition at line 242 of file Parser.hpp.
virtual void Parser::reportError | ( | const RecognitionException & | ex | ) | [virtual] |
Parser error-reporting function can be overridden in subclass.
virtual void Parser::reportError | ( | const ANTLR_USE_NAMESPACE(std) string & | s | ) | [virtual] |
Parser error-reporting function can be overridden in subclass.
virtual void Parser::reportWarning | ( | const ANTLR_USE_NAMESPACE(std) string & | s | ) | [virtual] |
Parser warning-reporting function can be overridden in subclass.
virtual const char* Parser::getTokenName | ( | int | num | ) | const [pure virtual] |
get the token name for the token number 'num'
virtual const char* const* Parser::getTokenNames | ( | ) | const [pure virtual] |
get a vector with all token names
virtual int Parser::getNumTokens | ( | void | ) | const [pure virtual] |
Get the number of tokens defined. This one should be overridden in subclasses.
virtual void Parser::traceIndent | ( | ) | [virtual] |
Set or change the input token buffer
virtual void Parser::traceIn | ( | const char * | rname | ) | [virtual] |
Reimplemented in LLkParser.
virtual void Parser::traceOut | ( | const char * | rname | ) | [virtual] |
Reimplemented in LLkParser.
ParserSharedInputState Parser::inputState [protected] |
Definition at line 273 of file Parser.hpp.
ASTFactory* Parser::astFactory [protected] |
AST support code; parser and treeparser delegate to this object.
Definition at line 279 of file Parser.hpp.
int Parser::traceDepth [protected] |
Definition at line 282 of file Parser.hpp.