lestes::lang::cplus::syn::manager Class Reference

#include <manager.hh>

List of all members.

Public Types

typedef ::lestes::lang::cplus::lex::preprocessor preprocessor

Static Public Member Functions

static void init ()
static void spawn (ptr< bison_pack_token >)
static void close ()
static ptr< bison_tokenyylex ()
static ptr< bison_tokenprev_yylex ()
 Returns value identical to the result of previous yylex() invocation.
static ptr< bison_tokenpeek ()
 Same as yylex(), but does not move to the next token.
static void back_up ()
static void start (int)
static void commit (int)
static void rollback ()
static ptr< bison_pack_tokenpack (int, const ptr< source_location > &)
 Packs the stream to form a pack token with given type and returns it.
static void unpack ()
 Unpacks current token; current token is the one returned by peek(), it has to be a pack.
static bool in_disambiguation ()
static void install_undo_action (ptr< action >)
static bool failing_get ()
static void failing_set_true ()

Static Public Attributes

static ptr< event > spawn_event
static ptr< event > close_event
static ptr< event > start_event
static ptr< event > commit_event
static ptr< event > rollback_event

Private Member Functions

 manager ()
 Do no allow instantiating this class.
 manager (const manager &)
 Hide copy-constructor.


Detailed Description

Definition at line 50 of file manager.hh.


Member Typedef Documentation

typedef ::lestes::lang::cplus::lex::preprocessor lestes::lang::cplus::syn::manager::preprocessor

Definition at line 52 of file manager.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::syn::manager::manager (  )  [private]

Do no allow instantiating this class.

lestes::lang::cplus::syn::manager::manager ( const manager  )  [private]

Hide copy-constructor.


Member Function Documentation

void lestes::lang::cplus::syn::manager::init (  )  [static]

Definition at line 601 of file manager.cc.

References lestes::lang::cplus::syn::one_manager::create(), lestes::lang::cplus::syn::one_manager::init(), lestes::lang::cplus::syn::source_streamer::instance(), and lestes::lang::cplus::syn::mgr_stack.

00602 {
00603         mgr_stack = mgr_stack_type::create();
00604         mgr_stack->push_back( one_manager::create( source_streamer::instance() ) );
00605 
00606         one_manager::init();
00607 }

void lestes::lang::cplus::syn::manager::spawn ( ptr< bison_pack_token  )  [static]

Definition at line 609 of file manager.cc.

References lestes::lang::cplus::syn::pack_streamer::create(), lestes::lang::cplus::syn::one_manager::create(), lestes::lang::cplus::syn::mgr_stack, and spawn_event.

00610 {
00611         mgr_stack->push_back( one_manager::create( pack_streamer::create(t) ) );
00612         spawn_event->trigger();
00613 }

void lestes::lang::cplus::syn::manager::close (  )  [static]

Definition at line 615 of file manager.cc.

References close_event, lassert, and lestes::lang::cplus::syn::mgr_stack.

00616 {
00617         mgr_stack->pop_back();
00618         lassert( !mgr_stack->empty() );
00619         close_event->trigger();
00620 }

ptr< bison_token > lestes::lang::cplus::syn::manager::yylex (  )  [static]

Definition at line 622 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00623 {
00624         lassert( !mgr_stack->empty() );
00625         return mgr_stack->back()->yylex();
00626 }

ptr< bison_token > lestes::lang::cplus::syn::manager::prev_yylex (  )  [static]

Returns value identical to the result of previous yylex() invocation.

Definition at line 628 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

Referenced by lestes::lang::cplus::syn::parser::parse().

00629 {
00630         lassert( !mgr_stack->empty() );
00631         return mgr_stack->back()->prev_yylex();
00632 }

ptr< bison_token > lestes::lang::cplus::syn::manager::peek (  )  [static]

Same as yylex(), but does not move to the next token.

Definition at line 634 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00635 {
00636         lassert( !mgr_stack->empty() );
00637         return mgr_stack->back()->peek();
00638 }

void lestes::lang::cplus::syn::manager::back_up (  )  [static]

Definition at line 640 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00641 {
00642         lassert( !mgr_stack->empty() );
00643         mgr_stack->back()->back_up();
00644 }

void lestes::lang::cplus::syn::manager::start ( int   )  [static]

Definition at line 646 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00647 {
00648         lassert( !mgr_stack->empty() );
00649         mgr_stack->back()->start( type );
00650 }

void lestes::lang::cplus::syn::manager::commit ( int   )  [static]

Definition at line 652 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00653 {
00654         lassert( !mgr_stack->empty() );
00655         mgr_stack->back()->commit( type );
00656 }

void lestes::lang::cplus::syn::manager::rollback (  )  [static]

Definition at line 658 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00659 {
00660         lassert( !mgr_stack->empty() );
00661         mgr_stack->back()->rollback();
00662 }

ptr< bison_pack_token > lestes::lang::cplus::syn::manager::pack ( int  ,
const ptr< source_location > &   
) [static]

Packs the stream to form a pack token with given type and returns it.

Definition at line 664 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00665 {
00666         lassert( !mgr_stack->empty() );
00667         return mgr_stack->back()->pack( pack_type, start_loc );
00668 }

void lestes::lang::cplus::syn::manager::unpack (  )  [static]

Unpacks current token; current token is the one returned by peek(), it has to be a pack.

Definition at line 670 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00671 {
00672         lassert( !mgr_stack->empty() );
00673         mgr_stack->back()->unpack();
00674 }

bool lestes::lang::cplus::syn::manager::in_disambiguation (  )  [static]

Definition at line 676 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

Referenced by lestes::lang::cplus::sem::sa_class_declaration::insert_class_forward_into_scope(), lestes::lang::cplus::sem::sa_usings::process_declaration(), and lestes::lang::cplus::sem::sa_usings::process_directive().

00677 {
00678         lassert( !mgr_stack->empty() );
00679         return mgr_stack->back()->in_disambiguation();
00680 }

void lestes::lang::cplus::syn::manager::install_undo_action ( ptr< action  )  [static]

Definition at line 682 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00683 {
00684         lassert( !mgr_stack->empty() );
00685         mgr_stack->back()->install_undo_action(a);
00686 }

bool lestes::lang::cplus::syn::manager::failing_get (  )  [static]

Definition at line 688 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00689 {
00690         lassert( !mgr_stack->empty() );
00691         return mgr_stack->back()->failing_get();
00692 }

void lestes::lang::cplus::syn::manager::failing_set_true (  )  [static]

Definition at line 694 of file manager.cc.

References lassert, and lestes::lang::cplus::syn::mgr_stack.

00695 {
00696         lassert( !mgr_stack->empty() );
00697         return mgr_stack->back()->failing_set_true();
00698 }


Member Data Documentation

ptr<event> lestes::lang::cplus::syn::manager::spawn_event [static]

Definition at line 81 of file manager.hh.

Referenced by lestes::lang::cplus::syn::hinter::init(), and spawn().

ptr<event> lestes::lang::cplus::syn::manager::close_event [static]

Definition at line 82 of file manager.hh.

Referenced by close(), and lestes::lang::cplus::syn::hinter::init().

ptr<event> lestes::lang::cplus::syn::manager::start_event [static]

Definition at line 83 of file manager.hh.

Referenced by lestes::lang::cplus::syn::hinter::init(), and lestes::lang::cplus::syn::one_manager::start().

ptr<event> lestes::lang::cplus::syn::manager::commit_event [static]

Definition at line 84 of file manager.hh.

Referenced by lestes::lang::cplus::syn::one_manager::commit(), and lestes::lang::cplus::syn::hinter::init().

ptr<event> lestes::lang::cplus::syn::manager::rollback_event [static]

Definition at line 85 of file manager.hh.

Referenced by lestes::lang::cplus::syn::hinter::init(), and lestes::lang::cplus::syn::one_manager::rollback().


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