#include <LLkParser.hpp>
Public Member Functions | |
LLkParser (const ParserSharedInputState &lexer, int k_) | |
LLkParser (TokenBuffer &tokenBuf, int k_) | |
LLkParser (TokenStream &lexer, int k_) | |
virtual void | consume () |
virtual int | LA (unsigned int i) |
virtual RefToken | LT (unsigned int i) |
Return the i-th token of lookahead. | |
virtual void | traceIn (const char *rname) |
virtual void | traceOut (const char *rname) |
Protected Attributes | |
int | k |
the lookahead this LL(k) parser is using. | |
Private Member Functions | |
void | trace (const char *ee, const char *rname) |
antlr.TokenBuffer
antlr.LL1Parser
Definition at line 24 of file LLkParser.hpp.
LLkParser::LLkParser | ( | const ParserSharedInputState & | lexer, | |
int | k_ | |||
) |
LLkParser::LLkParser | ( | TokenBuffer & | tokenBuf, | |
int | k_ | |||
) |
LLkParser::LLkParser | ( | TokenStream & | lexer, | |
int | k_ | |||
) |
virtual void LLkParser::consume | ( | ) | [inline, virtual] |
Consume another token from the input stream. Can only write sequentially! If you need 3 tokens ahead, you must consume() 3 times.
Note that it is possible to overwrite tokens that have not been matched. For example, calling consume() 3 times when k=2, means that the first token consumed will be overwritten with the 3rd.
Implements Parser.
Definition at line 39 of file LLkParser.hpp.
virtual int LLkParser::LA | ( | unsigned int | i | ) | [inline, 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).
Implements Parser.
Definition at line 44 of file LLkParser.hpp.
virtual RefToken LLkParser::LT | ( | unsigned int | i | ) | [inline, virtual] |
void LLkParser::trace | ( | const char * | ee, | |
const char * | rname | |||
) | [private] |
virtual void LLkParser::traceIn | ( | const char * | rname | ) | [virtual] |
Reimplemented from Parser.
virtual void LLkParser::traceOut | ( | const char * | rname | ) | [virtual] |
Reimplemented from Parser.
int LLkParser::k [protected] |