00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef lestes__lang__cplus__syn__manager_hh__included
00029 #define lestes__lang__cplus__syn__manager_hh__included
00030
00031 #include <lestes/common.hh>
00032 #include <lestes/std/action.g.hh>
00033 #include <lestes/std/event.hh>
00034 #include <lestes/std/list.hh>
00035
00036 package(lestes);
00037 package(std);
00038 class source_location;
00039 end_package(std);
00040 package(lang);
00041 package(cplus);
00042 package(lex);
00043 class preprocessor;
00044 end_package(lex);
00045 package(syn);
00046
00047 class bison_token;
00048 class bison_pack_token;
00049
00050 class manager {
00051 public:
00052 typedef ::lestes::lang::cplus::lex::preprocessor preprocessor;
00053 static void init();
00054
00055 static void spawn( ptr<bison_pack_token> );
00056 static void close();
00057
00058 static ptr<bison_token> yylex();
00059
00060 static ptr<bison_token> prev_yylex();
00061
00062 static ptr<bison_token> peek();
00063 static void back_up();
00064
00065 static void start( int );
00066 static void commit( int );
00067 static void rollback();
00068
00069
00070 static ptr<bison_pack_token> pack( int, const ptr<source_location> & );
00071
00072 static void unpack();
00073
00074 static bool in_disambiguation();
00075
00076 static void install_undo_action( ptr<action> );
00077
00078 static bool failing_get();
00079 static void failing_set_true();
00080
00081 static ptr<event> spawn_event;
00082 static ptr<event> close_event;
00083 static ptr<event> start_event;
00084 static ptr<event> commit_event;
00085 static ptr<event> rollback_event;
00086
00087 private:
00088
00089 manager();
00090
00091 manager( const manager & );
00092 };
00093
00094 end_package(syn);
00095 end_package(cplus);
00096 end_package(lang);
00097 end_package(lestes);
00098
00099 #endif // lestes__lang__cplus__syn__manager_hh__included