summaryrefslogtreecommitdiff
path: root/web/yacco2/qa/lr1_tst.h
blob: 3b7f082f78288d1f2b12aa141b06da22a1a69c41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
/*
 File: lr1_tst.h
 Date and Time: Mon Oct 13 18:18:15 2014 
*/
#ifndef __lr1_tst_h__
#define __lr1_tst_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"
extern yacco2::Thread_entry ITH_lr1_tst;

extern yacco2::State S1_Clr1_tst_fsm;
namespace NS_lr1_tst {
yacco2::THR _YACCO2_CALL_TYPE
TH_lr1_tst(yacco2::Parser* Caller);// called thread
yacco2::THR_result _YACCO2_CALL_TYPE
PROC_TH_lr1_tst(yacco2::Parser* Caller);// called thread's twin the procedure
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_[13];
};
class Clr1_tst_fsm: public yacco2::CAbs_fsm {
 public:
  enum rules_and_subrules{
   start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T
   ,R_Rlr1_tst_ = 569//start_of_rule_list + 0
    ,rhs1_Rlr1_tst_ = 1
    ,rhs2_Rlr1_tst_ = 2
    ,rhs3_Rlr1_tst_ = 3
    ,rhs4_Rlr1_tst_ = 4
   ,R_RAabBab_ = 570//start_of_rule_list + 2
    ,rhs1_RAabBab_ = 5
    ,rhs2_RAabBab_ = 6
   ,R_RAbaBab_ = 571//start_of_rule_list + 4
    ,rhs1_RAbaBab_ = 7
    ,rhs2_RAbaBab_ = 8
   ,R_RAabBba_ = 572//start_of_rule_list + 6
    ,rhs1_RAabBba_ = 9
    ,rhs2_RAabBba_ = 10
   ,R_RAbaBba_ = 573//start_of_rule_list + 8
    ,rhs1_RAbaBba_ = 11
    ,rhs2_RAbaBba_ = 12
   ,R_RAab_ = 574//start_of_rule_list + 10
    ,rhs1_RAab_ = 13
    ,rhs2_RAab_ = 14
   ,R_RAba_ = 575//start_of_rule_list + 12
    ,rhs1_RAba_ = 15
    ,rhs2_RAba_ = 16
   ,R_RBab_ = 576//start_of_rule_list + 14
    ,rhs1_RBab_ = 17
    ,rhs2_RBab_ = 18
   ,R_RBba_ = 577//start_of_rule_list + 16
    ,rhs1_RBba_ = 19
    ,rhs2_RBba_ = 20
   ,R_RA1_ = 578//start_of_rule_list + 18
    ,rhs1_RA1_ = 21
   ,R_RA2_ = 579//start_of_rule_list + 20
    ,rhs1_RA2_ = 22
   ,R_RB1_ = 580//start_of_rule_list + 22
    ,rhs1_RB1_ = 23
   ,R_RB2_ = 581//start_of_rule_list + 24
    ,rhs1_RB2_ = 24
  };
  //no of la sets = 6
  //no of states = 49
  Clr1_tst_fsm();
  ~Clr1_tst_fsm();
  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];
  
      // test out Clr1\_tst\_fsm fsm user-declaration code
      public:
    
 };
struct Rlr1_tst;
struct RAabBab;
struct RAbaBab;
struct RAabBba;
struct RAbaBba;
struct RAab;
struct RAba;
struct RBab;
struct RBba;
struct RA1;
struct RA2;
struct RB1;
struct RB2;
struct Rlr1_tst:public yacco2::CAbs_lr1_sym {
  Rlr1_tst(yacco2::Parser* P);
  static void dtor_Rlr1_tst(yacco2::VOIDP This,yacco2::VOIDP P);
  void op();
  void ctor();

      // test out Rlr1\_tst rule user-declaration code
      public:
    
  public:
  void sr1();
};

struct RAabBab:public yacco2::CAbs_lr1_sym {
  RAabBab(yacco2::Parser* P);
  public:
};

struct RAbaBab:public yacco2::CAbs_lr1_sym {
  RAbaBab(yacco2::Parser* P);
  public:
};

struct RAabBba:public yacco2::CAbs_lr1_sym {
  RAabBba(yacco2::Parser* P);
  public:
};

struct RAbaBba:public yacco2::CAbs_lr1_sym {
  RAbaBba(yacco2::Parser* P);
  public:
};

struct RAab:public yacco2::CAbs_lr1_sym {
  RAab(yacco2::Parser* P);
  public:
};

struct RAba:public yacco2::CAbs_lr1_sym {
  RAba(yacco2::Parser* P);
  public:
};

struct RBab:public yacco2::CAbs_lr1_sym {
  RBab(yacco2::Parser* P);
  public:
};

struct RBba:public yacco2::CAbs_lr1_sym {
  RBba(yacco2::Parser* P);
  public:
};

struct RA1:public yacco2::CAbs_lr1_sym {
  RA1(yacco2::Parser* P);
  public:
};

struct RA2:public yacco2::CAbs_lr1_sym {
  RA2(yacco2::Parser* P);
  public:
};

struct RB1:public yacco2::CAbs_lr1_sym {
  RB1(yacco2::Parser* P);
  public:
};

struct RB2:public yacco2::CAbs_lr1_sym {
  RB2(yacco2::Parser* P);
  public:
};

} // end of namespace

#endif