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
|
/*
File: knu3.h
Date and Time: Tue Nov 4 18:08:44 2008
*/
#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"
#ifndef __knu3_h__
#define __knu3_h__ 1
// monolithic grammar: no thread
extern yacco2::State S1_Cknu3;
namespace NS_knu3 {
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_[5];
};
struct reuse_rule1_table_type {// for rule: RS
reuse_rule1_table_type():no_rule_s_entries_(1){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
};
struct reuse_rule2_table_type {// for rule: RB
reuse_rule2_table_type():no_rule_s_entries_(1){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
};
struct reuse_rule3_table_type {// for rule: RL
reuse_rule3_table_type():no_rule_s_entries_(2){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
Rule_s_reuse_entry entry_2_;
};
struct reuse_rule4_table_type {// for rule: RR
reuse_rule4_table_type():no_rule_s_entries_(2){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
Rule_s_reuse_entry entry_2_;
};
struct reuse_rule5_table_type {// for rule: RN
reuse_rule5_table_type():no_rule_s_entries_(3){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
Rule_s_reuse_entry entry_2_;
Rule_s_reuse_entry entry_3_;
};
class Cknu3: public yacco2::CAbs_fsm {
public:
enum rules_and_subrules{
start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T
,R_RS_ = 571//start_of_rule_list + 5
,rhs1_RS_ = 1
,R_RB_ = 572//start_of_rule_list + 5
,rhs1_RB_ = 2
,rhs2_RB_ = 3
,R_RL_ = 573//start_of_rule_list + 5
,rhs1_RL_ = 4
,rhs2_RL_ = 5
,R_RR_ = 574//start_of_rule_list + 5
,rhs1_RR_ = 6
,rhs2_RR_ = 7
,R_RN_ = 575//start_of_rule_list + 5
,rhs1_RN_ = 8
,rhs2_RN_ = 9
};
//no of la sets = 3
//no of states = 17
Cknu3();
~Cknu3();
void op();
bool failed();
void reduce_rhs_of_rule
(yacco2::UINT Sub_rule_no,yacco2::Recycled_rule_struct* Recycled_rule);
fsm_rules_reuse_table_type fsm_rules_reuse_table;
static int rhs_to_rules_mapping_[10];
};
struct RS;
struct RB;
struct RL;
struct RR;
struct RN;
struct RS:public yacco2::CAbs_lr1_sym {
RS(yacco2::Parser* P);
public:
};
struct RB:public yacco2::CAbs_lr1_sym {
RB(yacco2::Parser* P);
public:
};
struct RL:public yacco2::CAbs_lr1_sym {
RL(yacco2::Parser* P);
public:
};
struct RR:public yacco2::CAbs_lr1_sym {
RR(yacco2::Parser* P);
public:
};
struct RN:public yacco2::CAbs_lr1_sym {
RN(yacco2::Parser* P);
public:
};
} // end of namespace
#endif
|