lestes::lang::cplus::syn::parse_result_type Class Reference

Class that contains data about a finished parser run. More...

#include <parse_result.hh>

Inheritance diagram for lestes::lang::cplus::syn::parse_result_type:

Inheritance graph
[legend]
List of all members.

Public Member Functions

bool success_get () const
ptr< bison_tokenlast_token_get () const
ptr< ::lestes::intercode::as_baseas_result_get () const

Static Public Member Functions

static ptr< parse_result_typecreate (bool a_success, const ptr< bison_token > &a_last_token, ptr< ::lestes::intercode::as_base > a_as_result)
 Creates an instance of the class.

Protected Member Functions

 parse_result_type (bool a_success, const ptr< bison_token > &a_last_token, ptr< ::lestes::intercode::as_base > a_as_result)
virtual void gc_mark ()
 Marks the keystone.

Private Attributes

const bool success
const srp< bison_tokenlast_token
const srp< ::lestes::intercode::as_baseas_result

Detailed Description

Class that contains data about a finished parser run.

At the moment, it holds

The AS tree is here primarily for debugging purposes. It has broad type (as_base) and is only set when successfully parsing for real. This means that failed runs and even successful disambiguation runs store NULL here.


Constructor & Destructor Documentation

lestes::lang::cplus::syn::parse_result_type::parse_result_type ( bool  a_success,
const ptr< bison_token > &  a_last_token,
ptr< ::lestes::intercode::as_base a_as_result 
) [protected]


Member Function Documentation

bool lestes::lang::cplus::syn::parse_result_type::success_get (  )  const

ptr< bison_token > lestes::lang::cplus::syn::parse_result_type::last_token_get (  )  const

ptr< as_base > lestes::lang::cplus::syn::parse_result_type::as_result_get (  )  const

static ptr<parse_result_type> lestes::lang::cplus::syn::parse_result_type::create ( bool  a_success,
const ptr< bison_token > &  a_last_token,
ptr< ::lestes::intercode::as_base a_as_result 
) [static]

Creates an instance of the class.

a_as_result is not const reference, as we allow literal NULL to be passed in. (Nobody is doing that at the moment, though.)

void lestes::lang::cplus::syn::parse_result_type::gc_mark ( void   )  [protected, virtual]

Marks the keystone.

Marks all directly reachable parts of the class. The method must be overriden for each inherited class. It should contain abc.gc_mark() for each field abc of the inherited class and call to gc_mark() of the direct ancestor of the class. Does nothing for keystone, only stops processing of ancestors.

Reimplemented from lestes::std::mem::keystone.


Member Data Documentation

const bool lestes::lang::cplus::syn::parse_result_type::success [private]

const srp<bison_token> lestes::lang::cplus::syn::parse_result_type::last_token [private]

const srp< ::lestes::intercode::as_base > lestes::lang::cplus::syn::parse_result_type::as_result [private]


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:49:05 2007 for lestes by doxygen 1.5.1-20070107