/* File: fsc_file.h Date and Time: Fri Jan 30 18:55:11 2015 */ #ifndef __fsc_file_h__ #define __fsc_file_h__ 1 #include "yacco2.h" #include "yacco2_T_enumeration.h" #include "yacco2_k_symbols.h" #include "yacco2_err_symbols.h" #include "yacco2_terminals.h" #include "yacco2_characters.h" #include "yacco2_stbl.h" extern std::vector GRAMMAR_DICTIONARY; extern std::vector T_DICTIONARY; extern std::map > USED_THREADS_LIST; // monolithic grammar: no thread extern yacco2::State S1_Cfsc_file; namespace NS_fsc_file { using namespace NS_yacco2_T_enum;// enumerate using namespace yacco2; struct fsm_rules_reuse_table_type{ fsm_rules_reuse_table_type(); int no_rules_entries_; Per_rule_s_reuse_table* per_rule_s_table_[46]; }; class Cfsc_file: public yacco2::CAbs_fsm { public: enum rules_and_subrules{ start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T ,R_Rfsc_file_ = 569//start_of_rule_list + 0 ,rhs1_Rfsc_file_ = 1 ,R_Rtransitive_phrase_ = 570//start_of_rule_list + 2 ,rhs1_Rtransitive_phrase_ = 2 ,R_Rtransitive_ = 571//start_of_rule_list + 4 ,rhs1_Rtransitive_ = 3 ,rhs2_Rtransitive_ = 4 ,R_Rtransitive_value_ = 572//start_of_rule_list + 6 ,rhs1_Rtransitive_value_ = 5 ,rhs2_Rtransitive_value_ = 6 ,R_Rgrammar_name_phrase_ = 573//start_of_rule_list + 8 ,rhs1_Rgrammar_name_phrase_ = 7 ,R_Rgrammar_name_ = 574//start_of_rule_list + 10 ,rhs1_Rgrammar_name_ = 8 ,rhs2_Rgrammar_name_ = 9 ,R_Rgrammar_name_value_ = 575//start_of_rule_list + 12 ,rhs1_Rgrammar_name_value_ = 10 ,rhs2_Rgrammar_name_value_ = 11 ,R_Rnamespace_phrase_ = 576//start_of_rule_list + 14 ,rhs1_Rnamespace_phrase_ = 12 ,R_Rnamespace_ = 577//start_of_rule_list + 16 ,rhs1_Rnamespace_ = 13 ,rhs2_Rnamespace_ = 14 ,R_Rnamespace_value_ = 578//start_of_rule_list + 18 ,rhs1_Rnamespace_value_ = 15 ,rhs2_Rnamespace_value_ = 16 ,R_Rthreadname_phrase_ = 579//start_of_rule_list + 20 ,rhs1_Rthreadname_phrase_ = 17 ,R_Rthreadname_ = 580//start_of_rule_list + 22 ,rhs1_Rthreadname_ = 18 ,rhs2_Rthreadname_ = 19 ,R_Rthreadname_value_ = 581//start_of_rule_list + 24 ,rhs1_Rthreadname_value_ = 20 ,rhs2_Rthreadname_value_ = 21 ,R_Rmonolithic_phrase_ = 582//start_of_rule_list + 26 ,rhs1_Rmonolithic_phrase_ = 22 ,R_Rmonolithic_ = 583//start_of_rule_list + 28 ,rhs1_Rmonolithic_ = 23 ,rhs2_Rmonolithic_ = 24 ,R_Rmonolithic_value_ = 584//start_of_rule_list + 30 ,rhs1_Rmonolithic_value_ = 25 ,rhs2_Rmonolithic_value_ = 26 ,R_Rfilename_phrase_ = 585//start_of_rule_list + 32 ,rhs1_Rfilename_phrase_ = 27 ,R_Rfilename_ = 586//start_of_rule_list + 34 ,rhs1_Rfilename_ = 28 ,rhs2_Rfilename_ = 29 ,R_Rfilename_value_ = 587//start_of_rule_list + 36 ,rhs1_Rfilename_value_ = 30 ,rhs2_Rfilename_value_ = 31 ,R_Rno_of_T_phrase_ = 588//start_of_rule_list + 38 ,rhs1_Rno_of_T_phrase_ = 32 ,R_Rno_of_T_ = 589//start_of_rule_list + 40 ,rhs1_Rno_of_T_ = 33 ,rhs2_Rno_of_T_ = 34 ,R_Rno_of_T_value_ = 590//start_of_rule_list + 42 ,rhs1_Rno_of_T_value_ = 35 ,rhs2_Rno_of_T_value_ = 36 ,R_Rlist_of_native_terminals_phrase_ = 591//start_of_rule_list + 44 ,rhs1_Rlist_of_native_terminals_phrase_ = 37 ,R_Rlist_of_native_fset_terminals_ = 592//start_of_rule_list + 46 ,rhs1_Rlist_of_native_fset_terminals_ = 38 ,rhs2_Rlist_of_native_fset_terminals_ = 39 ,R_Rno_of_native_fset_terminals_ = 593//start_of_rule_list + 48 ,rhs1_Rno_of_native_fset_terminals_ = 40 ,rhs2_Rno_of_native_fset_terminals_ = 41 ,R_Rfset_terminals_epi_ = 594//start_of_rule_list + 50 ,rhs1_Rfset_terminals_epi_ = 42 ,rhs2_Rfset_terminals_epi_ = 43 ,R_Rfset_terminals_ = 595//start_of_rule_list + 52 ,rhs1_Rfset_terminals_ = 44 ,rhs2_Rfset_terminals_ = 45 ,R_Ra_T_ = 596//start_of_rule_list + 54 ,rhs1_Ra_T_ = 46 ,rhs2_Ra_T_ = 47 ,R_Rend_list_of_native_fset_terminals_ = 597//start_of_rule_list + 56 ,rhs1_Rend_list_of_native_fset_terminals_ = 48 ,rhs2_Rend_list_of_native_fset_terminals_ = 49 ,R_Rlist_of_transitive_threads_phrase_ = 598//start_of_rule_list + 58 ,rhs1_Rlist_of_transitive_threads_phrase_ = 50 ,R_Rlist_of_transitive_threads_ = 599//start_of_rule_list + 60 ,rhs1_Rlist_of_transitive_threads_ = 51 ,rhs2_Rlist_of_transitive_threads_ = 52 ,R_Rno_of_transitive_threads_ = 600//start_of_rule_list + 62 ,rhs1_Rno_of_transitive_threads_ = 53 ,rhs2_Rno_of_transitive_threads_ = 54 ,R_Rtransitive_threads_epi_ = 601//start_of_rule_list + 64 ,rhs1_Rtransitive_threads_epi_ = 55 ,rhs2_Rtransitive_threads_epi_ = 56 ,R_Rtransitive_threads_ = 602//start_of_rule_list + 66 ,rhs1_Rtransitive_threads_ = 57 ,rhs2_Rtransitive_threads_ = 58 ,R_Ra_th_ = 603//start_of_rule_list + 68 ,rhs1_Ra_th_ = 59 ,rhs2_Ra_th_ = 60 ,R_Rend_list_of_transitive_threads_ = 604//start_of_rule_list + 70 ,rhs1_Rend_list_of_transitive_threads_ = 61 ,rhs2_Rend_list_of_transitive_threads_ = 62 ,R_Rlist_of_used_threads_phrase_ = 605//start_of_rule_list + 72 ,rhs1_Rlist_of_used_threads_phrase_ = 63 ,R_Rlist_of_used_threads_ = 606//start_of_rule_list + 74 ,rhs1_Rlist_of_used_threads_ = 64 ,rhs2_Rlist_of_used_threads_ = 65 ,R_Rno_of_used_threads_ = 607//start_of_rule_list + 76 ,rhs1_Rno_of_used_threads_ = 66 ,rhs2_Rno_of_used_threads_ = 67 ,R_Rused_threads_epi_ = 608//start_of_rule_list + 78 ,rhs1_Rused_threads_epi_ = 68 ,rhs2_Rused_threads_epi_ = 69 ,R_Rused_threads_ = 609//start_of_rule_list + 80 ,rhs1_Rused_threads_ = 70 ,rhs2_Rused_threads_ = 71 ,R_Rb_th_ = 610//start_of_rule_list + 82 ,rhs1_Rb_th_ = 72 ,rhs2_Rb_th_ = 73 ,R_Rend_list_of_used_threads_ = 611//start_of_rule_list + 84 ,rhs1_Rend_list_of_used_threads_ = 74 ,rhs2_Rend_list_of_used_threads_ = 75 ,R_Rfsm_comments_phrase_ = 612//start_of_rule_list + 86 ,rhs1_Rfsm_comments_phrase_ = 76 ,R_Rfsm_comments_ = 613//start_of_rule_list + 88 ,rhs1_Rfsm_comments_ = 77 ,R_Rfsm_comments_value_ = 614//start_of_rule_list + 90 ,rhs1_Rfsm_comments_value_ = 78 }; //no of la sets = 22 //no of states = 104 Cfsc_file(); ~Cfsc_file(); void op(); bool failed(); void reduce_rhs_of_rule (yacco2::UINT Sub_rule_no,yacco2::Rule_s_reuse_entry** Recycled_rule); fsm_rules_reuse_table_type fsm_rules_reuse_table; static int rhs_to_rules_mapping_[79]; public: std::string fully_qualified_th_name_; char transitive_; char monolithic_; NS_yacco2_terminals::T_c_string* grammar_file_name_; NS_yacco2_terminals::T_c_string* name_space_name_; NS_yacco2_terminals::T_c_string* thread_name_; NS_yacco2_terminals::T_c_string* file_name_; NS_yacco2_terminals::T_c_string* fsm_comments_; NS_yacco2_terminals::T_int_no* no_of_T_; std::vector list_of_Ts_; NS_yacco2_terminals::T_int_no* no_native_T_; std::vector list_of_transitive_threads_; std::vector list_of_used_threads_; NS_yacco2_terminals::T_int_no* no_threads_; NS_yacco2_terminals::T_int_no* used_no_threads_; std::vector* used_threads_; }; struct Rfsc_file; struct Rtransitive_phrase; struct Rtransitive; struct Rtransitive_value; struct Rgrammar_name_phrase; struct Rgrammar_name; struct Rgrammar_name_value; struct Rnamespace_phrase; struct Rnamespace; struct Rnamespace_value; struct Rthreadname_phrase; struct Rthreadname; struct Rthreadname_value; struct Rmonolithic_phrase; struct Rmonolithic; struct Rmonolithic_value; struct Rfilename_phrase; struct Rfilename; struct Rfilename_value; struct Rno_of_T_phrase; struct Rno_of_T; struct Rno_of_T_value; struct Rlist_of_native_terminals_phrase; struct Rlist_of_native_fset_terminals; struct Rno_of_native_fset_terminals; struct Rfset_terminals_epi; struct Rfset_terminals; struct Ra_T; struct Rend_list_of_native_fset_terminals; struct Rlist_of_transitive_threads_phrase; struct Rlist_of_transitive_threads; struct Rno_of_transitive_threads; struct Rtransitive_threads_epi; struct Rtransitive_threads; struct Ra_th; struct Rend_list_of_transitive_threads; struct Rlist_of_used_threads_phrase; struct Rlist_of_used_threads; struct Rno_of_used_threads; struct Rused_threads_epi; struct Rused_threads; struct Rb_th; struct Rend_list_of_used_threads; struct Rfsm_comments_phrase; struct Rfsm_comments; struct Rfsm_comments_value; struct Rfsc_file:public yacco2::CAbs_lr1_sym { Rfsc_file(yacco2::Parser* P); void op(); public: }; struct Rtransitive_phrase:public yacco2::CAbs_lr1_sym { Rtransitive_phrase(yacco2::Parser* P); public: }; struct Rtransitive:public yacco2::CAbs_lr1_sym { Rtransitive(yacco2::Parser* P); public: void sr2(); }; struct Rtransitive_value:public yacco2::CAbs_lr1_sym { Rtransitive_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rgrammar_name_phrase:public yacco2::CAbs_lr1_sym { Rgrammar_name_phrase(yacco2::Parser* P); public: }; struct Rgrammar_name:public yacco2::CAbs_lr1_sym { Rgrammar_name(yacco2::Parser* P); public: void sr2(); }; struct Rgrammar_name_value:public yacco2::CAbs_lr1_sym { Rgrammar_name_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rnamespace_phrase:public yacco2::CAbs_lr1_sym { Rnamespace_phrase(yacco2::Parser* P); public: }; struct Rnamespace:public yacco2::CAbs_lr1_sym { Rnamespace(yacco2::Parser* P); public: void sr2(); }; struct Rnamespace_value:public yacco2::CAbs_lr1_sym { Rnamespace_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rthreadname_phrase:public yacco2::CAbs_lr1_sym { Rthreadname_phrase(yacco2::Parser* P); public: }; struct Rthreadname:public yacco2::CAbs_lr1_sym { Rthreadname(yacco2::Parser* P); public: void sr2(); }; struct Rthreadname_value:public yacco2::CAbs_lr1_sym { Rthreadname_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rmonolithic_phrase:public yacco2::CAbs_lr1_sym { Rmonolithic_phrase(yacco2::Parser* P); public: }; struct Rmonolithic:public yacco2::CAbs_lr1_sym { Rmonolithic(yacco2::Parser* P); public: void sr2(); }; struct Rmonolithic_value:public yacco2::CAbs_lr1_sym { Rmonolithic_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rfilename_phrase:public yacco2::CAbs_lr1_sym { Rfilename_phrase(yacco2::Parser* P); public: }; struct Rfilename:public yacco2::CAbs_lr1_sym { Rfilename(yacco2::Parser* P); public: void sr2(); }; struct Rfilename_value:public yacco2::CAbs_lr1_sym { Rfilename_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rno_of_T_phrase:public yacco2::CAbs_lr1_sym { Rno_of_T_phrase(yacco2::Parser* P); public: }; struct Rno_of_T:public yacco2::CAbs_lr1_sym { Rno_of_T(yacco2::Parser* P); public: void sr2(); }; struct Rno_of_T_value:public yacco2::CAbs_lr1_sym { Rno_of_T_value(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rlist_of_native_terminals_phrase:public yacco2::CAbs_lr1_sym { Rlist_of_native_terminals_phrase(yacco2::Parser* P); public: }; struct Rlist_of_native_fset_terminals:public yacco2::CAbs_lr1_sym { Rlist_of_native_fset_terminals(yacco2::Parser* P); public: void sr2(); }; struct Rno_of_native_fset_terminals:public yacco2::CAbs_lr1_sym { Rno_of_native_fset_terminals(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rfset_terminals_epi:public yacco2::CAbs_lr1_sym { Rfset_terminals_epi(yacco2::Parser* P); public: }; struct Rfset_terminals:public yacco2::CAbs_lr1_sym { Rfset_terminals(yacco2::Parser* P); public: }; struct Ra_T:public yacco2::CAbs_lr1_sym { Ra_T(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rend_list_of_native_fset_terminals:public yacco2::CAbs_lr1_sym { Rend_list_of_native_fset_terminals(yacco2::Parser* P); public: void sr2(); }; struct Rlist_of_transitive_threads_phrase:public yacco2::CAbs_lr1_sym { Rlist_of_transitive_threads_phrase(yacco2::Parser* P); public: }; struct Rlist_of_transitive_threads:public yacco2::CAbs_lr1_sym { Rlist_of_transitive_threads(yacco2::Parser* P); public: void sr2(); }; struct Rno_of_transitive_threads:public yacco2::CAbs_lr1_sym { Rno_of_transitive_threads(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rtransitive_threads_epi:public yacco2::CAbs_lr1_sym { Rtransitive_threads_epi(yacco2::Parser* P); public: }; struct Rtransitive_threads:public yacco2::CAbs_lr1_sym { Rtransitive_threads(yacco2::Parser* P); public: }; struct Ra_th:public yacco2::CAbs_lr1_sym { Ra_th(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rend_list_of_transitive_threads:public yacco2::CAbs_lr1_sym { Rend_list_of_transitive_threads(yacco2::Parser* P); public: void sr2(); }; struct Rlist_of_used_threads_phrase:public yacco2::CAbs_lr1_sym { Rlist_of_used_threads_phrase(yacco2::Parser* P); public: }; struct Rlist_of_used_threads:public yacco2::CAbs_lr1_sym { Rlist_of_used_threads(yacco2::Parser* P); public: void sr2(); }; struct Rno_of_used_threads:public yacco2::CAbs_lr1_sym { Rno_of_used_threads(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rused_threads_epi:public yacco2::CAbs_lr1_sym { Rused_threads_epi(yacco2::Parser* P); public: }; struct Rused_threads:public yacco2::CAbs_lr1_sym { Rused_threads(yacco2::Parser* P); public: }; struct Rb_th:public yacco2::CAbs_lr1_sym { Rb_th(yacco2::Parser* P); public: void sr1(); void sr2(); }; struct Rend_list_of_used_threads:public yacco2::CAbs_lr1_sym { Rend_list_of_used_threads(yacco2::Parser* P); public: void sr2(); }; struct Rfsm_comments_phrase:public yacco2::CAbs_lr1_sym { Rfsm_comments_phrase(yacco2::Parser* P); public: }; struct Rfsm_comments:public yacco2::CAbs_lr1_sym { Rfsm_comments(yacco2::Parser* P); public: }; struct Rfsm_comments_value:public yacco2::CAbs_lr1_sym { Rfsm_comments_value(yacco2::Parser* P); public: void sr1(); }; } // end of namespace #endif