diff options
Diffstat (limited to 'web/yacco2/compiler/grammars/rules_phrase.h')
-rw-r--r-- | web/yacco2/compiler/grammars/rules_phrase.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/web/yacco2/compiler/grammars/rules_phrase.h b/web/yacco2/compiler/grammars/rules_phrase.h new file mode 100644 index 0000000000..bd96d5e022 --- /dev/null +++ b/web/yacco2/compiler/grammars/rules_phrase.h @@ -0,0 +1,69 @@ +/* + File: rules_phrase.h + Date and Time: Fri Jan 30 18:55:23 2015 +*/ +#ifndef __rules_phrase_h__ +#define __rules_phrase_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 "rules_phrase_th.h" +#include "o2_externs.h" + +// monolithic grammar: no thread +extern yacco2::State S1_Crules_phrase; +namespace NS_rules_phrase { +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_[2]; +}; +class Crules_phrase: public yacco2::CAbs_fsm { + public: + enum rules_and_subrules{ + start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T + ,R_Rrules_phrase_ = 569//start_of_rule_list + 0 + ,rhs1_Rrules_phrase_ = 1 + ,R_Rphrase_ = 570//start_of_rule_list + 2 + ,rhs1_Rphrase_ = 2 + ,rhs2_Rphrase_ = 3 + ,rhs3_Rphrase_ = 4 + }; + //no of la sets = 1 + //no of states = 6 + Crules_phrase(); + ~Crules_phrase(); + 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_[5]; + + public: yacco2::AST* cweb_marker__; + + }; +struct Rrules_phrase; +struct Rphrase; +struct Rrules_phrase:public yacco2::CAbs_lr1_sym { + Rrules_phrase(yacco2::Parser* P); + public: +}; + +struct Rphrase:public yacco2::CAbs_lr1_sym { + Rphrase(yacco2::Parser* P); + public: + void sr1(); + void sr2(); + void sr3(); +}; + +} // end of namespace + +#endif |