/* File: pager_2.h Date and Time: Sat Jan 31 11:58:48 2015 */ #ifndef __pager_2_h__ #define __pager_2_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" // monolithic grammar: no thread extern yacco2::State S1_Cpager_2; namespace NS_pager_2 { 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_[10]; }; class Cpager_2: public yacco2::CAbs_fsm { public: enum rules_and_subrules{ start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T ,R_Rs_ = 569//start_of_rule_list + 0 ,rhs1_Rs_ = 1 ,R_Rg_ = 570//start_of_rule_list + 2 ,rhs1_Rg_ = 2 ,rhs2_Rg_ = 3 ,rhs3_Rg_ = 4 ,rhs4_Rg_ = 5 ,rhs5_Rg_ = 6 ,rhs6_Rg_ = 7 ,rhs7_Rg_ = 8 ,rhs8_Rg_ = 9 ,R_Rw_ = 571//start_of_rule_list + 4 ,rhs1_Rw_ = 10 ,R_Rv_ = 572//start_of_rule_list + 6 ,rhs1_Rv_ = 11 ,R_Rx_ = 573//start_of_rule_list + 8 ,rhs1_Rx_ = 12 ,rhs2_Rx_ = 13 ,R_Ry_ = 574//start_of_rule_list + 10 ,rhs1_Ry_ = 14 ,rhs2_Ry_ = 15 ,R_Ru_ = 575//start_of_rule_list + 12 ,rhs1_Ru_ = 16 ,rhs2_Ru_ = 17 ,R_Re_ = 576//start_of_rule_list + 14 ,rhs1_Re_ = 18 ,rhs2_Re_ = 19 ,rhs3_Re_ = 20 ,rhs4_Re_ = 21 ,R_Rc_ = 577//start_of_rule_list + 16 ,rhs1_Rc_ = 22 ,rhs2_Rc_ = 23 ,R_Rp_ = 578//start_of_rule_list + 18 ,rhs1_Rp_ = 24 }; //no of la sets = 7 //no of states = 40 Cpager_2(); ~Cpager_2(); 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_[25]; }; struct Rs; struct Rg; struct Rw; struct Rv; struct Rx; struct Ry; struct Ru; struct Re; struct Rc; struct Rp; struct Rs:public yacco2::CAbs_lr1_sym { Rs(yacco2::Parser* P); public: }; struct Rg:public yacco2::CAbs_lr1_sym { Rg(yacco2::Parser* P); public: }; struct Rw:public yacco2::CAbs_lr1_sym { Rw(yacco2::Parser* P); public: }; struct Rv:public yacco2::CAbs_lr1_sym { Rv(yacco2::Parser* P); public: }; struct Rx:public yacco2::CAbs_lr1_sym { Rx(yacco2::Parser* P); public: }; struct Ry:public yacco2::CAbs_lr1_sym { Ry(yacco2::Parser* P); public: }; struct Ru:public yacco2::CAbs_lr1_sym { Ru(yacco2::Parser* P); public: }; struct Re:public yacco2::CAbs_lr1_sym { Re(yacco2::Parser* P); public: }; struct Rc:public yacco2::CAbs_lr1_sym { Rc(yacco2::Parser* P); public: }; struct Rp:public yacco2::CAbs_lr1_sym { Rp(yacco2::Parser* P); public: }; } // end of namespace #endif