diff options
Diffstat (limited to 'web/yacco2/grammar-testsuite/dp_2.h')
-rw-r--r-- | web/yacco2/grammar-testsuite/dp_2.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/web/yacco2/grammar-testsuite/dp_2.h b/web/yacco2/grammar-testsuite/dp_2.h new file mode 100644 index 0000000000..f53f65f258 --- /dev/null +++ b/web/yacco2/grammar-testsuite/dp_2.h @@ -0,0 +1,91 @@ +/* + File: dp_2.h + Date and Time: Sat Jan 31 11:58:36 2015 +*/ +#ifndef __dp_2_h__ +#define __dp_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_Cdp_2; +namespace NS_dp_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_[6]; +}; +class Cdp_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_Rs1_ = 570//start_of_rule_list + 2 + ,rhs1_Rs1_ = 2 + ,rhs2_Rs1_ = 3 + ,rhs3_Rs1_ = 4 + ,R_Rb_ = 571//start_of_rule_list + 4 + ,rhs1_Rb_ = 5 + ,R_Rc_ = 572//start_of_rule_list + 6 + ,rhs1_Rc_ = 6 + ,R_Rd_ = 573//start_of_rule_list + 8 + ,rhs1_Rd_ = 7 + ,R_Re_ = 574//start_of_rule_list + 10 + ,rhs1_Re_ = 8 + }; + //no of la sets = 4 + //no of states = 13 + Cdp_2(); + ~Cdp_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_[9]; + }; +struct Rs; +struct Rs1; +struct Rb; +struct Rc; +struct Rd; +struct Re; +struct Rs:public yacco2::CAbs_lr1_sym { + Rs(yacco2::Parser* P); + public: +}; + +struct Rs1:public yacco2::CAbs_lr1_sym { + Rs1(yacco2::Parser* P); + public: +}; + +struct Rb:public yacco2::CAbs_lr1_sym { + Rb(yacco2::Parser* P); + public: +}; + +struct Rc:public yacco2::CAbs_lr1_sym { + Rc(yacco2::Parser* P); + public: +}; + +struct Rd:public yacco2::CAbs_lr1_sym { + Rd(yacco2::Parser* P); + public: +}; + +struct Re:public yacco2::CAbs_lr1_sym { + Re(yacco2::Parser* P); + public: +}; + +} // end of namespace + +#endif |