#include <hinter.hh>
Public Types | |
enum | mode_type { HINTER_NORMAL, HINTER_CHECK, HINTER_USER, HINTER_OFF } |
Static Public Member Functions | |
static ptr< bison_token > | hint (const ptr< bison_token > &t, const ptr< bison_token > &lookahead) |
static void | init (mode_type) |
Initializes the hinter; manager must be already initialized when calling this function. | |
static mode_type | mode_get () |
static void | qual_scope_set (const ptr< ::lestes::lang::cplus::sem::ss_decl_seq > &) |
static void | elab_spec_set (const ptr< elab_spec_key > &) |
static void | namespace_mode_set (bool) |
static void | qual_scope_set_root () |
Static Protected Member Functions | |
static ptr< ::lestes::lang::cplus::sem::ss_decl_seq > | qual_scope_get () |
static ptr< elab_spec_key > | elab_spec_get () |
static bool | namespace_mode_get () |
static ptr< bison_token > | use_user_hint (const ptr< bison_token > &t) |
static ptr< bison_token > | compute_hint (const ptr< bison_token > &t, const ptr< bison_token > &lookahead) |
Protected Attributes | |
static::std::map< bison_token::hint_type, bison_token::yytokentype > | id_hint2tok_type_map |
maps identifier type hints to token types; note that not all hints are covered! | |
Private Member Functions | |
hinter () | |
Do not allow instantiating this class. | |
hinter (const hinter &) | |
Hide copy-constructor. | |
Static Private Attributes | |
static mode_type | mode = HINTER_NORMAL |
lestes::lang::cplus::syn::hinter::hinter | ( | ) | [private] |
Do not allow instantiating this class.
lestes::lang::cplus::syn::hinter::hinter | ( | const hinter & | ) | [private] |
Hide copy-constructor.
ptr< bison_token > lestes::lang::cplus::syn::hinter::hint | ( | const ptr< bison_token > & | t, | |
const ptr< bison_token > & | lookahead | |||
) | [static] |
void lestes::lang::cplus::syn::hinter::init | ( | mode_type | a_mode | ) | [static] |
hinter::mode_type lestes::lang::cplus::syn::hinter::mode_get | ( | ) | [static] |
static void lestes::lang::cplus::syn::hinter::qual_scope_set | ( | const ptr< ::lestes::lang::cplus::sem::ss_decl_seq > & | ) | [static] |
void lestes::lang::cplus::syn::hinter::elab_spec_set | ( | const ptr< elab_spec_key > & | ) | [static] |
void lestes::lang::cplus::syn::hinter::namespace_mode_set | ( | bool | ) | [static] |
void lestes::lang::cplus::syn::hinter::qual_scope_set_root | ( | ) | [static] |
ptr< ss_decl_seq > lestes::lang::cplus::syn::hinter::qual_scope_get | ( | ) | [static, protected] |
ptr< elab_spec_key > lestes::lang::cplus::syn::hinter::elab_spec_get | ( | ) | [static, protected] |
bool lestes::lang::cplus::syn::hinter::namespace_mode_get | ( | ) | [static, protected] |
ptr< bison_token > lestes::lang::cplus::syn::hinter::use_user_hint | ( | const ptr< bison_token > & | t | ) | [static, protected] |
ptr< bison_token > lestes::lang::cplus::syn::hinter::compute_hint | ( | const ptr< bison_token > & | t, | |
const ptr< bison_token > & | lookahead | |||
) | [static, protected] |
std::map< bison_token::hint_type, bison_token::yytokentype > lestes::lang::cplus::syn::hinter::id_hint2tok_type_map [protected] |
maps identifier type hints to token types; note that not all hints are covered!
hinter::mode_type lestes::lang::cplus::syn::hinter::mode = HINTER_NORMAL [static, private] |