lestes::lang::cplus::syn::bison_token Class Reference

#include <token.hh>

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

Inheritance graph
[legend]
List of all members.

Public Types

enum  hint_type {
  HINT_NONE, HINT_TEMPL_NONTYPE, HINT_TEMPL_TYPE, HINT_NONTYPE,
  HINT_CLASS, HINT_ENUM, HINT_TYPEDEF, HINT_NAMESPACE,
  HINT_UNKNOWN, HINT_CTOR, HINT_NO_CTOR, HINT_BITFIELD,
  HINT_NO_BITFIELD
}
typedef ::lestes::lang::cplus::lex::cpp_token wrapped_token_type

Public Member Functions

int type_get () const
virtual ucn_string value_get () const
virtual ptr< wrapped_token_typewrapped_token_get () const
void user_hint_set (hint_type hint)
hint_type user_hint_get () const
virtual void print (::std::ostream &) const
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< bison_tokencreate (ptr< wrapped_token_type > a_token_to_wrap)

Protected Member Functions

 bison_token (const ptr< source_location > &a_location, int a_type, const ptr< wrapped_token_type > &a_token_to_wrap)
void gc_mark ()
 Marking routine for class as_base.

Protected Attributes

const srp< wrapped_token_typewrapped_token
 pointer to token read from lex

Private Attributes

const int type
 type of the token; this is what bison cares about
hint_type user_hint

Static Private Attributes

static ptr< reflection_listreflection = reflection

Member Typedef Documentation

typedef ::lestes::lang::cplus::lex::cpp_token lestes::lang::cplus::syn::bison_token::wrapped_token_type


Member Enumeration Documentation

enum lestes::lang::cplus::syn::bison_token::hint_type

Enumerator:
HINT_NONE 
HINT_TEMPL_NONTYPE 
HINT_TEMPL_TYPE 
HINT_NONTYPE 
HINT_CLASS 
HINT_ENUM 
HINT_TYPEDEF 
HINT_NAMESPACE 
HINT_UNKNOWN 
HINT_CTOR 
HINT_NO_CTOR 
HINT_BITFIELD 
HINT_NO_BITFIELD 


Constructor & Destructor Documentation

lestes::lang::cplus::syn::bison_token::bison_token ( const ptr< source_location > &  a_location,
int  a_type,
const ptr< wrapped_token_type > &  a_token_to_wrap 
) [inline, protected]


Member Function Documentation

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

Marking routine for class as_base.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::intercode::as_base.

Reimplemented in lestes::lang::cplus::syn::bison_id_token, and lestes::lang::cplus::syn::bison_pack_token.

static ptr<bison_token> lestes::lang::cplus::syn::bison_token::create ( ptr< wrapped_token_type a_token_to_wrap  )  [inline, static]

int lestes::lang::cplus::syn::bison_token::type_get ( void   )  const [inline]

virtual ucn_string lestes::lang::cplus::syn::bison_token::value_get ( void   )  const [inline, virtual]

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token.

virtual ptr<wrapped_token_type> lestes::lang::cplus::syn::bison_token::wrapped_token_get (  )  const [inline, virtual]

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token.

void lestes::lang::cplus::syn::bison_token::user_hint_set ( hint_type  hint  )  [inline]

hint_type lestes::lang::cplus::syn::bison_token::user_hint_get (  )  const [inline]

void lestes::lang::cplus::syn::bison_token::print ( ::std::ostream &   )  const [virtual]

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token, lestes::lang::cplus::syn::bison_id_token, and lestes::lang::cplus::syn::bison_pack_token.

ptr< object::reflection_list > lestes::lang::cplus::syn::bison_token::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::intercode::as_base.

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token, lestes::lang::cplus::syn::bison_id_token, and lestes::lang::cplus::syn::bison_pack_token.

ptr< object::field_list_list > lestes::lang::cplus::syn::bison_token::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::intercode::as_base.

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token, lestes::lang::cplus::syn::bison_id_token, and lestes::lang::cplus::syn::bison_pack_token.


Member Data Documentation

const int lestes::lang::cplus::syn::bison_token::type [private]

type of the token; this is what bison cares about

const srp<wrapped_token_type> lestes::lang::cplus::syn::bison_token::wrapped_token [protected]

pointer to token read from lex

Must not be NULL when the real type is bison_token. In other words, derived classes are allowed to set it to NULL. All the methods that use the value are virtual and the implementations in this class (bison_token, that is) always check the value.

hint_type lestes::lang::cplus::syn::bison_token::user_hint [private]

ptr< object::reflection_list > lestes::lang::cplus::syn::bison_token::reflection = reflection [static, private]

Reimplemented from lestes::intercode::as_base.

Reimplemented in lestes::lang::cplus::syn::bison_madeup_token, lestes::lang::cplus::syn::bison_id_token, and lestes::lang::cplus::syn::bison_pack_token.


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