blob: 8069a84a7c76c1b912f561084a8b1940b973b13e (
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
|
/*
File: TS_laa.h
Date and Time: Mon Jul 28 14:42:05 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 __TS_laa_h__
#define __TS_laa_h__ 1
extern yacco2::Thread_entry ITH_TS_lab;
extern yacco2::State S1_CTS_lab;
namespace NS_TS_laa {
yacco2::THR _YACCO2_CALL_TYPE
TH_TS_lab(yacco2::Parser* Caller);// called thread
yacco2::THR_result _YACCO2_CALL_TYPE
PROC_TH_TS_lab(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_[2];
};
struct reuse_rule1_table_type {// for rule: Reol
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: Rdelimiters
reuse_rule2_table_type():no_rule_s_entries_(1){};
int no_rule_s_entries_;
Rule_s_reuse_entry entry_1_;
};
class CTS_lab: public yacco2::CAbs_fsm {
public:
enum rules_and_subrules{
start_of_rule_list = NS_yacco2_T_enum::T_Enum::sum_total_T
,R_Reol_ = 569//start_of_rule_list + 2
,rhs1_Reol_ = 1
,R_Rdelimiters_ = 570//start_of_rule_list + 2
,rhs1_Rdelimiters_ = 2
,rhs2_Rdelimiters_ = 3
,rhs3_Rdelimiters_ = 4
};
//no of la sets = 1
//no of states = 6
CTS_lab();
~CTS_lab();
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_[5];
};
struct Reol;
struct Rdelimiters;
struct Reol:public yacco2::CAbs_lr1_sym {
Reol(yacco2::Parser* P);
public:
};
struct Rdelimiters:public yacco2::CAbs_lr1_sym {
Rdelimiters(yacco2::Parser* P);
public:
};
} // end of namespace
#endif
|