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
|
// This file was generated by qlalr - DO NOT EDIT!
#ifndef PPEXPR_GRAMMAR_P_H
#define PPEXPR_GRAMMAR_P_H
class ppexpr_grammar
{
public:
enum VariousConstants {
EOF_SYMBOL = 0,
T_BIT_AND = 5,
T_BIT_NOT = 20,
T_BIT_OR = 6,
T_BOOL_AND = 3,
T_BOOL_NOT = 21,
T_BOOL_OR = 4,
T_DIV = 18,
T_EQUAL = 7,
T_EQUAL_OR_GREATER_THAN = 12,
T_EQUAL_OR_LESS_THAN = 11,
T_GREATER_THAN = 10,
T_LEFT_PAREN = 22,
T_LESS_THAN = 9,
T_LINEFEED = 24,
T_MINUS = 16,
T_MOD = 19,
T_MULT = 17,
T_NOT_EQUAL = 8,
T_NUMBER = 1,
T_PLUS = 15,
T_RIGHT_PAREN = 23,
T_SHIFT_LEFT = 13,
T_SHIFT_RIGHT = 14,
T_STRING = 2,
ACCEPT_STATE = 34,
RULE_COUNT = 34,
STATE_COUNT = 61,
TERMINAL_COUNT = 25,
NON_TERMINAL_COUNT = 11,
GOTO_INDEX_OFFSET = 61,
GOTO_INFO_OFFSET = 166,
GOTO_CHECK_OFFSET = 166
};
static const char *const spell [];
static const short lhs [];
static const short rhs [];
#ifndef QLALR_NO_PPEXPR_GRAMMAR_DEBUG_INFO
static const int rule_index [];
static const int rule_info [];
#endif // QLALR_NO_PPEXPR_GRAMMAR_DEBUG_INFO
static const short goto_default [];
static const short action_default [];
static const short action_index [];
static const short action_info [];
static const short action_check [];
static inline int nt_action (int state, int nt)
{
const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt;
if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt)
return goto_default [nt];
return action_info [GOTO_INFO_OFFSET + yyn];
}
static inline int t_action (int state, int token)
{
const int yyn = action_index [state] + token;
if (yyn < 0 || action_check [yyn] != token)
return - action_default [state];
return action_info [yyn];
}
};
#endif // PPEXPR_GRAMMAR_P_H
|