KDevelop API Documentation

Parser.cpp File Reference

#include "antlr/Parser.hpp"
#include "antlr/BitSet.hpp"
#include "antlr/TokenBuffer.hpp"
#include "antlr/MismatchedTokenException.hpp"
#include <iostream>

Include dependency graph for Parser.cpp:

Include dependency graph

Go to the source code of this file.

Variables

bool DEBUG_PARSER = false
 A generic ANTLR parser (LL(k) for k>=1) containing a bunch of utility routines useful at any lookahead depth.


Variable Documentation

bool DEBUG_PARSER = false
 

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:

  1. saving the lookahead cache.
  2. marking the current position in the TokenBuffer.
  3. increasing the guessing level.

After guessing, the parser state is restored by:

  1. restoring the lookahead cache.
  2. rewinding the TokenBuffer.
  3. decreasing the guessing level.

See also:
antlr.Token

antlr.TokenBuffer

antlr.TokenStream

antlr.LL1Parser

antlr.LLkParser

Definition at line 55 of file Parser.cpp.

KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:28:27 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003