ANTLR Support Libraries 2.7.1+
|
#include <Parser.hpp>
Classes | |
class | Tracer |
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. More... | |
virtual void | setASTNodeFactory (ASTFactory *factory) |
virtual void | setASTFactory (ASTFactory *factory) |
virtual ASTFactory * | getASTFactory () |
virtual RefAST | getAST ()=0 |
virtual std ::string | getFilename () const |
Return the filename of the input file. More... | |
virtual void | setFilename (const std ::string &f) |
Set the filename of the input file (used for error reporting). More... | |
virtual void | setInputState (ParserSharedInputState state) |
virtual ParserSharedInputState | getInputState () const |
virtual void | consume ()=0 |
Get another token object from the token stream. More... | |
virtual void | consumeUntil (int tokenType) |
Consume tokens until one matches the given token. More... | |
virtual void | consumeUntil (const BitSet &set) |
Consume tokens until one matches the given token set. More... | |
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 More... | |
virtual void | recover (const RecognitionException &ex, const BitSet &tokenSet) |
virtual void | reportError (const RecognitionException &ex) |
Parser error-reporting function can be overridden in subclass. More... | |
virtual void | reportError (const std ::string &s) |
Parser error-reporting function can be overridden in subclass. More... | |
virtual void | reportWarning (const std ::string &s) |
Parser warning-reporting function can be overridden in subclass. More... | |
virtual const char * | getTokenName (int num) const =0 |
get the token name for the token number 'num' More... | |
virtual const char *const * | getTokenNames () const =0 |
get a vector with all token names More... | |
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. More... | |
int | traceDepth |
Private Member Functions | |
Parser (const Parser &) | |
const Parser & | operator= (const Parser &) |
A generic ANTLR parser (LL(k) for k>=1) containing a bunch of utility routines useful at any lookahead depth. We distinguish between the LL(1) and LL(k) parsers because of efficiency. This may not be necessary in the near future.
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:
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlinevirtual |
|
private |
|
pure virtual |
Get another token object from the token stream.
Implemented in LLkParser.
|
inlinevirtual |
Consume tokens until one matches the given token.
|
inlinevirtual |
Consume tokens until one matches the given token set.
|
pure virtual |
|
inlinevirtual |
Return a pointer to the ASTFactory used. So you might use it in subsequent treewalkers or to reload AST's from disk.
|
inlinevirtual |
Return the filename of the input file.
|
inlinevirtual |
|
pure virtual |
Get the number of tokens defined. This one should be overridden in subclasses.
|
pure virtual |
get the token name for the token number 'num'
|
pure virtual |
get a vector with all token names
|
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.
|
pure virtual |
Return the i-th token of lookahead.
Implemented in LLkParser.
|
inlinevirtual |
Mark a spot in the input and return the position. Forwarded to TokenBuffer.
|
inlinevirtual |
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.
|
inlinevirtual |
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.
|
inlinevirtual |
|
inlinevirtual |
called by the generated parser to do error recovery, override to customize the behaviour.
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
rewind to a previously marked position
|
inlinevirtual |
Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory.
|
inlinevirtual |
DEPRECATED! Specify the factory to be used during tree building. (Compulsory) Setting the factory is nowadays compulsory.
|
inlinevirtual |
Set the filename of the input file (used for error reporting).
|
inlinevirtual |
|
virtual |
Reimplemented in LLkParser.
|
virtual |
Set or change the input token buffer
|
virtual |
Reimplemented in LLkParser.
|
protected |
AST support code; parser and treeparser delegate to this object.
|
protected |
|
protected |