LLkParser Class Reference

#include <LLkParser.hpp>

Inheritance diagram for LLkParser:

Inheritance graph
[legend]
Collaboration diagram for LLkParser:

Collaboration graph
[legend]

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)

Detailed Description

An LL(k) parser.

See also:
antlr.Token

antlr.TokenBuffer

antlr.LL1Parser

Definition at line 24 of file LLkParser.hpp.


Constructor & Destructor Documentation

LLkParser::LLkParser ( const ParserSharedInputState lexer,
int  k_ 
)

LLkParser::LLkParser ( TokenBuffer tokenBuf,
int  k_ 
)

LLkParser::LLkParser ( TokenStream lexer,
int  k_ 
)


Member Function Documentation

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]

Return the i-th token of lookahead.

Implements Parser.

Definition at line 49 of file LLkParser.hpp.

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.


Field Documentation

int LLkParser::k [protected]

the lookahead this LL(k) parser is using.

Definition at line 55 of file LLkParser.hpp.


The documentation for this class was generated from the following file:

Generated on Tue Mar 31 20:19:28 2009 for ctrump by  doxygen 1.5.6