bel_parser 1.0.0.alpha.38-java → 1.0.0.alpha.39-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/bel_parser/ast_filter.rb +6 -2
- data/lib/bel_parser/parsers/ast/node.rb +113 -58
- data/lib/bel_parser/parsers/bel_script/define_annotation.rb +4175 -3097
- data/lib/bel_parser/parsers/bel_script/define_annotation.rl +142 -49
- data/lib/bel_parser/parsers/bel_script/define_namespace.rb +980 -461
- data/lib/bel_parser/parsers/bel_script/define_namespace.rl +79 -39
- data/lib/bel_parser/parsers/bel_script/set.rb +4878 -2743
- data/lib/bel_parser/parsers/bel_script/set.rl +114 -32
- data/lib/bel_parser/parsers/bel_script/set_document.rb +5839 -5292
- data/lib/bel_parser/parsers/bel_script/set_document.rl +130 -27
- data/lib/bel_parser/parsers/bel_script/unset.rb +321 -234
- data/lib/bel_parser/parsers/bel_script/unset.rl +49 -21
- data/lib/bel_parser/parsers/common/blank_line.rb +12 -11
- data/lib/bel_parser/parsers/common/blank_line.rl +12 -12
- data/lib/bel_parser/parsers/common/comment_line.rb +65 -40
- data/lib/bel_parser/parsers/common/comment_line.rl +26 -26
- data/lib/bel_parser/parsers/common/common.rl +60 -0
- data/lib/bel_parser/parsers/common/function.rb +319 -0
- data/lib/bel_parser/parsers/common/function.rl +149 -0
- data/lib/bel_parser/parsers/common/identifier.rb +72 -68
- data/lib/bel_parser/parsers/common/identifier.rl +73 -29
- data/lib/bel_parser/parsers/common/list.rb +1617 -1243
- data/lib/bel_parser/parsers/common/list.rl +120 -60
- data/lib/bel_parser/parsers/common/string.rb +114 -41
- data/lib/bel_parser/parsers/common/string.rl +91 -28
- data/lib/bel_parser/parsers/common.rb +1 -0
- data/lib/bel_parser/parsers/expression/comment.rb +70 -38
- data/lib/bel_parser/parsers/expression/comment.rl +37 -20
- data/lib/bel_parser/parsers/expression/nested_statement.rb +63116 -13958
- data/lib/bel_parser/parsers/expression/nested_statement.rl +53 -23
- data/lib/bel_parser/parsers/expression/observed_term.rb +32497 -5188
- data/lib/bel_parser/parsers/expression/observed_term.rl +25 -20
- data/lib/bel_parser/parsers/expression/parameter.rb +2861 -847
- data/lib/bel_parser/parsers/expression/parameter.rl +178 -21
- data/lib/bel_parser/parsers/expression/relationship.rb +73 -55
- data/lib/bel_parser/parsers/expression/relationship.rl +41 -23
- data/lib/bel_parser/parsers/expression/simple_statement.rb +42895 -7846
- data/lib/bel_parser/parsers/expression/simple_statement.rl +41 -24
- data/lib/bel_parser/parsers/expression/term.rb +16498 -2602
- data/lib/bel_parser/parsers/expression/term.rl +52 -35
- data/lib/bel_parser/parsers/line_parser.rb +1 -0
- data/lib/bel_parser/parsers/mixin/buffer.rb +4 -0
- data/lib/bel_parser/parsers/tracer.rb +19 -0
- data/lib/bel_parser/script/state/namespace_definition.rb +1 -0
- metadata +10 -7
@@ -8,12 +8,14 @@ class << self
|
|
8
8
|
end
|
9
9
|
self._bel_trans_keys = [
|
10
10
|
0, 0, 9, 122, 9, 122,
|
11
|
-
|
12
|
-
92,
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
11
|
+
9, 34, 34, 92, 34,
|
12
|
+
92, 0, 0, 48, 122,
|
13
|
+
9, 34, 34, 92, 34, 92,
|
14
|
+
0, 0, 10, 10, 0,
|
15
|
+
0, 10, 122, 10, 122,
|
16
|
+
9, 122, 9, 122, 9, 34,
|
17
|
+
10, 122, 0, 0, 0,
|
18
|
+
0, 0
|
17
19
|
]
|
18
20
|
|
19
21
|
class << self
|
@@ -21,9 +23,9 @@ class << self
|
|
21
23
|
private :_bel_key_spans, :_bel_key_spans=
|
22
24
|
end
|
23
25
|
self._bel_key_spans = [
|
24
|
-
0, 114, 114,
|
25
|
-
|
26
|
-
0
|
26
|
+
0, 114, 114, 26, 59, 59, 0, 75,
|
27
|
+
26, 59, 59, 0, 1, 0, 113, 113,
|
28
|
+
114, 114, 26, 113, 0, 0
|
27
29
|
]
|
28
30
|
|
29
31
|
class << self
|
@@ -31,9 +33,9 @@ class << self
|
|
31
33
|
private :_bel_index_offsets, :_bel_index_offsets=
|
32
34
|
end
|
33
35
|
self._bel_index_offsets = [
|
34
|
-
0, 0, 115, 230,
|
35
|
-
|
36
|
-
|
36
|
+
0, 0, 115, 230, 257, 317, 377, 378,
|
37
|
+
454, 481, 541, 601, 602, 604, 605, 719,
|
38
|
+
833, 948, 1063, 1090, 1204, 1205
|
37
39
|
]
|
38
40
|
|
39
41
|
class << self
|
@@ -41,104 +43,157 @@ class << self
|
|
41
43
|
private :_bel_indicies, :_bel_indicies=
|
42
44
|
end
|
43
45
|
self._bel_indicies = [
|
44
|
-
1,
|
46
|
+
1, 2, 2, 2, 2, 0, 0, 0,
|
45
47
|
0, 0, 0, 0, 0, 0, 0, 0,
|
46
48
|
0, 0, 0, 0, 0, 0, 0, 1,
|
47
|
-
0,
|
48
|
-
0, 0, 0, 0, 0, 0, 0,
|
49
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
50
|
-
3, 0, 0, 0, 0, 0, 0, 0,
|
51
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
52
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
53
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
54
|
-
3, 3, 0, 0, 0, 0, 3, 0,
|
55
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
56
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
57
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
58
|
-
3, 3, 0, 1, 4, 4, 4, 4,
|
49
|
+
0, 3, 0, 0, 0, 0, 0, 0,
|
50
|
+
0, 0, 0, 0, 0, 0, 0, 4,
|
59
51
|
4, 4, 4, 4, 4, 4, 4, 4,
|
52
|
+
4, 0, 0, 0, 0, 0, 0, 0,
|
60
53
|
4, 4, 4, 4, 4, 4, 4, 4,
|
61
|
-
4, 4, 1, 4, 2, 4, 4, 4,
|
62
54
|
4, 4, 4, 4, 4, 4, 4, 4,
|
63
|
-
4, 4,
|
64
|
-
|
65
|
-
4, 4, 4,
|
55
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
56
|
+
4, 4, 0, 0, 0, 0, 4, 0,
|
57
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
58
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
59
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
60
|
+
4, 4, 0, 1, 2, 2, 2, 2,
|
61
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
62
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
63
|
+
0, 0, 1, 0, 3, 0, 0, 0,
|
64
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
65
|
+
0, 0, 5, 5, 5, 5, 5, 5,
|
66
|
+
5, 5, 5, 5, 0, 0, 0, 0,
|
67
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
66
68
|
5, 5, 5, 5, 5, 5, 5, 5,
|
67
69
|
5, 5, 5, 5, 5, 5, 5, 5,
|
68
|
-
5, 5, 5, 5, 5,
|
69
|
-
|
70
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
71
|
+
0, 5, 0, 5, 5, 5, 5, 5,
|
70
72
|
5, 5, 5, 5, 5, 5, 5, 5,
|
71
73
|
5, 5, 5, 5, 5, 5, 5, 5,
|
72
|
-
5, 5, 5, 5, 5,
|
73
|
-
|
74
|
+
5, 5, 5, 5, 5, 0, 2, 2,
|
75
|
+
2, 2, 2, 6, 6, 6, 6, 6,
|
74
76
|
6, 6, 6, 6, 6, 6, 6, 6,
|
75
|
-
6, 6, 6, 6, 6,
|
76
|
-
6,
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
77
|
+
6, 6, 6, 6, 6, 2, 6, 3,
|
78
|
+
6, 8, 7, 7, 7, 7, 7, 7,
|
79
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
80
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
81
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
82
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
83
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
84
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
85
|
+
7, 7, 7, 9, 7, 11, 10, 10,
|
86
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
87
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
88
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
89
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
90
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
91
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
92
|
+
10, 10, 10, 10, 10, 10, 10, 12,
|
93
|
+
10, 10, 13, 13, 13, 13, 13, 13,
|
94
|
+
13, 13, 13, 13, 14, 14, 14, 14,
|
95
|
+
14, 14, 14, 13, 13, 13, 13, 13,
|
88
96
|
13, 13, 13, 13, 13, 13, 13, 13,
|
89
97
|
13, 13, 13, 13, 13, 13, 13, 13,
|
90
|
-
13, 13, 13, 13, 13,
|
91
|
-
|
98
|
+
13, 13, 13, 13, 13, 14, 14, 14,
|
99
|
+
14, 13, 14, 13, 13, 13, 13, 13,
|
92
100
|
13, 13, 13, 13, 13, 13, 13, 13,
|
93
101
|
13, 13, 13, 13, 13, 13, 13, 13,
|
94
|
-
13, 13, 13, 13, 13,
|
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
|
-
|
102
|
+
13, 13, 13, 13, 13, 14, 16, 16,
|
103
|
+
16, 16, 16, 15, 15, 15, 15, 15,
|
104
|
+
15, 15, 15, 15, 15, 15, 15, 15,
|
105
|
+
15, 15, 15, 15, 15, 16, 15, 17,
|
106
|
+
15, 19, 18, 18, 18, 18, 18, 18,
|
107
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
108
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
109
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
110
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
111
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
112
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
113
|
+
18, 18, 18, 20, 18, 22, 21, 21,
|
114
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
115
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
116
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
117
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
118
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
119
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
120
|
+
21, 21, 21, 21, 21, 21, 21, 23,
|
121
|
+
21, 21, 24, 6, 14, 26, 25, 25,
|
122
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
123
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
124
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
125
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
126
|
+
25, 25, 25, 27, 27, 27, 27, 27,
|
127
|
+
27, 27, 27, 27, 27, 25, 25, 25,
|
128
|
+
25, 25, 25, 25, 27, 27, 27, 27,
|
129
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
130
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
131
|
+
27, 27, 27, 27, 27, 27, 25, 25,
|
132
|
+
25, 25, 27, 25, 27, 27, 27, 27,
|
133
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
134
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
135
|
+
27, 27, 27, 27, 27, 27, 25, 26,
|
136
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
137
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
138
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
139
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
140
|
+
25, 25, 25, 25, 25, 28, 28, 28,
|
141
|
+
28, 28, 28, 28, 28, 28, 28, 29,
|
142
|
+
25, 25, 25, 25, 25, 25, 28, 28,
|
143
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
144
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
145
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
146
|
+
25, 25, 25, 25, 28, 25, 28, 28,
|
147
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
148
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
149
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
150
|
+
25, 30, 31, 32, 32, 32, 0, 0,
|
151
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
152
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
153
|
+
30, 0, 33, 0, 0, 0, 0, 0,
|
154
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
155
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
156
|
+
34, 34, 0, 0, 0, 0, 0, 0,
|
157
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
158
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
159
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
160
|
+
34, 34, 34, 0, 0, 0, 0, 34,
|
161
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
162
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
163
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
164
|
+
34, 34, 34, 0, 35, 36, 2, 2,
|
165
|
+
2, 0, 0, 0, 0, 0, 0, 0,
|
166
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
167
|
+
0, 0, 0, 35, 0, 3, 0, 0,
|
168
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
169
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
170
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
171
|
+
0, 0, 0, 0, 5, 5, 5, 5,
|
172
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
173
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
174
|
+
5, 5, 5, 5, 5, 5, 0, 0,
|
175
|
+
0, 0, 5, 0, 5, 5, 5, 5,
|
176
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
177
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
178
|
+
5, 5, 5, 5, 5, 5, 0, 2,
|
179
|
+
2, 2, 2, 2, 6, 6, 6, 6,
|
180
|
+
6, 6, 6, 6, 6, 6, 6, 6,
|
181
|
+
6, 6, 6, 6, 6, 6, 2, 6,
|
182
|
+
3, 6, 38, 37, 37, 37, 37, 37,
|
183
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
184
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
185
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
186
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
187
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
188
|
+
39, 39, 37, 37, 37, 37, 37, 37,
|
189
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
190
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
191
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
192
|
+
39, 39, 39, 37, 37, 37, 37, 39,
|
193
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
194
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
195
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
196
|
+
39, 39, 39, 37, 37, 15, 0
|
142
197
|
]
|
143
198
|
|
144
199
|
class << self
|
@@ -146,10 +201,11 @@ class << self
|
|
146
201
|
private :_bel_trans_targs, :_bel_trans_targs=
|
147
202
|
end
|
148
203
|
self._bel_trans_targs = [
|
149
|
-
0, 2, 3,
|
150
|
-
|
151
|
-
|
152
|
-
13, 16,
|
204
|
+
0, 2, 3, 4, 15, 14, 0, 5,
|
205
|
+
12, 6, 5, 12, 6, 19, 0, 0,
|
206
|
+
8, 9, 10, 21, 11, 10, 21, 11,
|
207
|
+
13, 0, 13, 14, 15, 16, 17, 18,
|
208
|
+
3, 4, 14, 17, 18, 0, 20, 19
|
153
209
|
]
|
154
210
|
|
155
211
|
class << self
|
@@ -157,10 +213,11 @@ class << self
|
|
157
213
|
private :_bel_trans_actions, :_bel_trans_actions=
|
158
214
|
end
|
159
215
|
self._bel_trans_actions = [
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
216
|
+
2, 0, 0, 0, 3, 3, 5, 7,
|
217
|
+
8, 7, 0, 9, 0, 3, 0, 11,
|
218
|
+
0, 0, 7, 13, 7, 0, 14, 0,
|
219
|
+
15, 17, 18, 0, 0, 20, 22, 23,
|
220
|
+
22, 22, 24, 0, 26, 29, 20, 0
|
164
221
|
]
|
165
222
|
|
166
223
|
class << self
|
@@ -168,9 +225,9 @@ class << self
|
|
168
225
|
private :_bel_eof_actions, :_bel_eof_actions=
|
169
226
|
end
|
170
227
|
self._bel_eof_actions = [
|
171
|
-
0, 1,
|
172
|
-
|
173
|
-
0
|
228
|
+
0, 1, 1, 4, 6, 6, 6, 0,
|
229
|
+
10, 12, 12, 12, 15, 0, 16, 19,
|
230
|
+
21, 25, 27, 28, 30, 0
|
174
231
|
]
|
175
232
|
|
176
233
|
class << self
|
@@ -180,24 +237,24 @@ self.bel_start = 1;
|
|
180
237
|
class << self
|
181
238
|
attr_accessor :bel_first_final
|
182
239
|
end
|
183
|
-
self.bel_first_final =
|
240
|
+
self.bel_first_final = 12;
|
184
241
|
class << self
|
185
242
|
attr_accessor :bel_error
|
186
243
|
end
|
187
244
|
self.bel_error = 0;
|
188
245
|
|
189
246
|
class << self
|
190
|
-
attr_accessor :
|
247
|
+
attr_accessor :bel_en_ident_node
|
191
248
|
end
|
192
|
-
self.
|
249
|
+
self.bel_en_ident_node = 7;
|
193
250
|
class << self
|
194
|
-
attr_accessor :
|
251
|
+
attr_accessor :bel_en_string_node
|
195
252
|
end
|
196
|
-
self.
|
253
|
+
self.bel_en_string_node = 8;
|
197
254
|
class << self
|
198
|
-
attr_accessor :
|
255
|
+
attr_accessor :bel_en_parameter_node
|
199
256
|
end
|
200
|
-
self.
|
257
|
+
self.bel_en_parameter_node = 1;
|
201
258
|
|
202
259
|
|
203
260
|
begin
|
@@ -242,153 +299,353 @@ begin
|
|
242
299
|
cs = _bel_trans_targs[_trans]
|
243
300
|
if _bel_trans_actions[_trans] != 0
|
244
301
|
case _bel_trans_actions[_trans]
|
245
|
-
when
|
302
|
+
when 3 then
|
246
303
|
begin
|
247
304
|
|
248
|
-
(
|
305
|
+
trace('IDENTIFIER start_identifier')
|
306
|
+
@identifier_started = true
|
307
|
+
id_start = p;
|
249
308
|
end
|
250
|
-
when
|
309
|
+
when 20 then
|
251
310
|
begin
|
252
311
|
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
312
|
+
trace('IDENTIFIER end_identifier')
|
313
|
+
id_end = p
|
314
|
+
chars = data[id_start...id_end]
|
315
|
+
completed = !chars.empty?
|
316
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
317
|
+
@buffers[:ident] = ast_node
|
257
318
|
end
|
258
|
-
when
|
319
|
+
when 17 then
|
320
|
+
begin
|
321
|
+
|
322
|
+
trace('IDENTIFIER an_ident_err')
|
323
|
+
id_end = p
|
324
|
+
chars = data[id_start...id_end]
|
325
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
326
|
+
@buffers[:ident] = ast_node
|
327
|
+
end
|
328
|
+
when 29 then
|
329
|
+
begin
|
330
|
+
|
331
|
+
trace('IDENTIFIER ident_node_err')
|
332
|
+
id_end = p
|
333
|
+
chars = data[id_start...id_end]
|
334
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
335
|
+
yield ast_node
|
336
|
+
end
|
337
|
+
when 7 then
|
259
338
|
begin
|
260
339
|
|
261
|
-
(
|
340
|
+
trace('STRING start_string')
|
341
|
+
@string_opened = true
|
342
|
+
p_start = p
|
262
343
|
end
|
263
344
|
when 5 then
|
264
345
|
begin
|
265
346
|
|
266
|
-
|
267
|
-
|
347
|
+
trace('STRING a_string_err')
|
348
|
+
p_end = p
|
349
|
+
chars = data[p_start...p_end]
|
350
|
+
ast_node = string(utf8_string(chars), complete: false)
|
351
|
+
@buffers[:string] = ast_node
|
268
352
|
end
|
269
|
-
when
|
353
|
+
when 11 then
|
270
354
|
begin
|
271
355
|
|
272
|
-
|
356
|
+
trace('STRING string_node_err')
|
357
|
+
p_end = p
|
358
|
+
chars = data[p_start...p_end]
|
359
|
+
ast_node = string(utf8_string(chars), complete: false)
|
360
|
+
yield ast_node
|
273
361
|
end
|
362
|
+
when 22 then
|
274
363
|
begin
|
275
364
|
|
276
|
-
(
|
365
|
+
trace('PARAMETER add_prefix')
|
366
|
+
ident = @buffers.delete(:ident)
|
367
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
368
|
+
@buffers[:param_prefix] = prefix_node
|
277
369
|
end
|
278
|
-
when
|
370
|
+
when 2 then
|
279
371
|
begin
|
280
372
|
|
281
|
-
|
373
|
+
trace('IDENTIFIER an_ident_err')
|
374
|
+
id_end = p
|
375
|
+
chars = data[id_start...id_end]
|
376
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
377
|
+
@buffers[:ident] = ast_node
|
282
378
|
end
|
283
379
|
begin
|
284
380
|
|
285
|
-
|
381
|
+
trace('STRING a_string_err')
|
382
|
+
p_end = p
|
383
|
+
chars = data[p_start...p_end]
|
384
|
+
ast_node = string(utf8_string(chars), complete: false)
|
385
|
+
@buffers[:string] = ast_node
|
286
386
|
end
|
287
|
-
when
|
387
|
+
when 9 then
|
288
388
|
begin
|
289
389
|
|
290
|
-
|
390
|
+
trace('STRING stop_string')
|
391
|
+
@string_closed = true
|
392
|
+
p_end = p
|
291
393
|
end
|
292
394
|
begin
|
293
395
|
|
294
|
-
|
396
|
+
trace('STRING string_end')
|
397
|
+
completed = @string_opened && @string_closed
|
398
|
+
chars = data[p_start...p_end]
|
399
|
+
ast_node = string(utf8_string(chars), complete: true)
|
400
|
+
@buffers[:string] = ast_node
|
295
401
|
end
|
296
|
-
when
|
402
|
+
when 26 then
|
297
403
|
begin
|
298
404
|
|
299
|
-
|
300
|
-
|
301
|
-
|
405
|
+
trace('PARAMETER parameter_end')
|
406
|
+
param_node = parameter()
|
407
|
+
completed = true
|
408
|
+
prefix_node = @buffers.delete(:param_prefix)
|
409
|
+
unless prefix_node.nil?
|
410
|
+
param_node <<= prefix_node
|
411
|
+
unless prefix_node.complete
|
412
|
+
trace('PN incomplete')
|
413
|
+
completed = false
|
414
|
+
end
|
415
|
+
end
|
416
|
+
|
417
|
+
value_node = @buffers.delete(:param_value)
|
418
|
+
unless value_node.nil?
|
419
|
+
param_node <<= value_node
|
420
|
+
unless value_node.complete
|
421
|
+
trace('VN incomplete')
|
422
|
+
completed = false
|
423
|
+
end
|
424
|
+
else
|
425
|
+
completed = false
|
302
426
|
end
|
427
|
+
|
428
|
+
param_node.complete = completed
|
429
|
+
@buffers[:parameter] = param_node
|
303
430
|
end
|
304
431
|
begin
|
305
432
|
|
306
|
-
|
307
|
-
yield @buffers[:
|
433
|
+
trace('PARAMETER yield_parameter')
|
434
|
+
yield @buffers[:parameter]
|
308
435
|
end
|
309
|
-
when
|
436
|
+
when 24 then
|
310
437
|
begin
|
311
438
|
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
439
|
+
trace('PARAMETER add_prefix')
|
440
|
+
ident = @buffers.delete(:ident)
|
441
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
442
|
+
@buffers[:param_prefix] = prefix_node
|
316
443
|
end
|
317
444
|
begin
|
318
445
|
|
319
|
-
|
320
|
-
@
|
446
|
+
trace('IDENTIFIER start_identifier')
|
447
|
+
@identifier_started = true
|
448
|
+
id_start = p;
|
321
449
|
end
|
322
|
-
when
|
450
|
+
when 8 then
|
323
451
|
begin
|
324
452
|
|
325
|
-
|
453
|
+
trace('STRING start_string')
|
454
|
+
@string_opened = true
|
455
|
+
p_start = p
|
326
456
|
end
|
327
457
|
begin
|
328
458
|
|
329
|
-
(
|
459
|
+
trace('STRING stop_string')
|
460
|
+
@string_closed = true
|
461
|
+
p_end = p
|
462
|
+
end
|
463
|
+
begin
|
464
|
+
|
465
|
+
trace('STRING string_end')
|
466
|
+
completed = @string_opened && @string_closed
|
467
|
+
chars = data[p_start...p_end]
|
468
|
+
ast_node = string(utf8_string(chars), complete: true)
|
469
|
+
@buffers[:string] = ast_node
|
470
|
+
end
|
471
|
+
when 14 then
|
472
|
+
begin
|
473
|
+
|
474
|
+
trace('STRING stop_string')
|
475
|
+
@string_closed = true
|
476
|
+
p_end = p
|
330
477
|
end
|
331
|
-
when 15 then
|
332
478
|
begin
|
333
479
|
|
334
|
-
|
480
|
+
trace('STRING string_end')
|
481
|
+
completed = @string_opened && @string_closed
|
482
|
+
chars = data[p_start...p_end]
|
483
|
+
ast_node = string(utf8_string(chars), complete: true)
|
484
|
+
@buffers[:string] = ast_node
|
335
485
|
end
|
336
486
|
begin
|
337
487
|
|
488
|
+
trace('STRING yield_string')
|
338
489
|
yield @buffers[:string]
|
339
490
|
end
|
340
|
-
when
|
491
|
+
when 15 then
|
341
492
|
begin
|
342
493
|
|
343
|
-
|
344
|
-
|
494
|
+
trace('PARAMETER add_string_param_value')
|
495
|
+
string_node = @buffers.delete(:string)
|
496
|
+
value_node = value(string_node, complete: string_node.complete)
|
497
|
+
@buffers[:param_value] = value_node
|
345
498
|
end
|
346
499
|
begin
|
347
500
|
|
348
|
-
|
349
|
-
|
350
|
-
|
501
|
+
trace('PARAMETER parameter_end')
|
502
|
+
param_node = parameter()
|
503
|
+
completed = true
|
504
|
+
prefix_node = @buffers.delete(:param_prefix)
|
505
|
+
unless prefix_node.nil?
|
506
|
+
param_node <<= prefix_node
|
507
|
+
unless prefix_node.complete
|
508
|
+
trace('PN incomplete')
|
509
|
+
completed = false
|
510
|
+
end
|
511
|
+
end
|
512
|
+
|
513
|
+
value_node = @buffers.delete(:param_value)
|
514
|
+
unless value_node.nil?
|
515
|
+
param_node <<= value_node
|
516
|
+
unless value_node.complete
|
517
|
+
trace('VN incomplete')
|
518
|
+
completed = false
|
519
|
+
end
|
520
|
+
else
|
521
|
+
completed = false
|
351
522
|
end
|
523
|
+
|
524
|
+
param_node.complete = completed
|
525
|
+
@buffers[:parameter] = param_node
|
352
526
|
end
|
353
|
-
when 14 then
|
354
527
|
begin
|
355
528
|
|
356
|
-
|
357
|
-
|
529
|
+
trace('PARAMETER yield_parameter')
|
530
|
+
yield @buffers[:parameter]
|
358
531
|
end
|
532
|
+
when 23 then
|
359
533
|
begin
|
360
534
|
|
361
|
-
|
362
|
-
|
535
|
+
trace('PARAMETER add_prefix')
|
536
|
+
ident = @buffers.delete(:ident)
|
537
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
538
|
+
@buffers[:param_prefix] = prefix_node
|
363
539
|
end
|
364
|
-
when 9 then
|
365
540
|
begin
|
366
541
|
|
367
|
-
|
542
|
+
trace('PARAMETER parameter_end')
|
543
|
+
param_node = parameter()
|
544
|
+
completed = true
|
545
|
+
prefix_node = @buffers.delete(:param_prefix)
|
546
|
+
unless prefix_node.nil?
|
547
|
+
param_node <<= prefix_node
|
548
|
+
unless prefix_node.complete
|
549
|
+
trace('PN incomplete')
|
550
|
+
completed = false
|
551
|
+
end
|
552
|
+
end
|
553
|
+
|
554
|
+
value_node = @buffers.delete(:param_value)
|
555
|
+
unless value_node.nil?
|
556
|
+
param_node <<= value_node
|
557
|
+
unless value_node.complete
|
558
|
+
trace('VN incomplete')
|
559
|
+
completed = false
|
560
|
+
end
|
561
|
+
else
|
562
|
+
completed = false
|
563
|
+
end
|
564
|
+
|
565
|
+
param_node.complete = completed
|
566
|
+
@buffers[:parameter] = param_node
|
368
567
|
end
|
369
568
|
begin
|
370
569
|
|
371
|
-
|
372
|
-
|
570
|
+
trace('PARAMETER yield_parameter')
|
571
|
+
yield @buffers[:parameter]
|
373
572
|
end
|
573
|
+
when 18 then
|
374
574
|
begin
|
375
575
|
|
376
|
-
|
576
|
+
trace('IDENTIFIER end_identifier')
|
577
|
+
id_end = p
|
578
|
+
chars = data[id_start...id_end]
|
579
|
+
completed = !chars.empty?
|
580
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
581
|
+
@buffers[:ident] = ast_node
|
377
582
|
end
|
378
|
-
when 7 then
|
379
583
|
begin
|
380
584
|
|
381
|
-
|
585
|
+
trace('PARAMETER add_ident_param_value')
|
586
|
+
ident = @buffers.delete(:ident)
|
587
|
+
value_node = value(ident, complete: ident.complete)
|
588
|
+
@buffers[:param_value] = value_node
|
382
589
|
end
|
383
590
|
begin
|
384
591
|
|
385
|
-
|
386
|
-
|
592
|
+
trace('PARAMETER parameter_end')
|
593
|
+
param_node = parameter()
|
594
|
+
completed = true
|
595
|
+
prefix_node = @buffers.delete(:param_prefix)
|
596
|
+
unless prefix_node.nil?
|
597
|
+
param_node <<= prefix_node
|
598
|
+
unless prefix_node.complete
|
599
|
+
trace('PN incomplete')
|
600
|
+
completed = false
|
601
|
+
end
|
602
|
+
end
|
603
|
+
|
604
|
+
value_node = @buffers.delete(:param_value)
|
605
|
+
unless value_node.nil?
|
606
|
+
param_node <<= value_node
|
607
|
+
unless value_node.complete
|
608
|
+
trace('VN incomplete')
|
609
|
+
completed = false
|
610
|
+
end
|
611
|
+
else
|
612
|
+
completed = false
|
613
|
+
end
|
614
|
+
|
615
|
+
param_node.complete = completed
|
616
|
+
@buffers[:parameter] = param_node
|
387
617
|
end
|
388
618
|
begin
|
389
619
|
|
620
|
+
trace('PARAMETER yield_parameter')
|
390
621
|
yield @buffers[:parameter]
|
391
622
|
end
|
623
|
+
when 13 then
|
624
|
+
begin
|
625
|
+
|
626
|
+
trace('STRING start_string')
|
627
|
+
@string_opened = true
|
628
|
+
p_start = p
|
629
|
+
end
|
630
|
+
begin
|
631
|
+
|
632
|
+
trace('STRING stop_string')
|
633
|
+
@string_closed = true
|
634
|
+
p_end = p
|
635
|
+
end
|
636
|
+
begin
|
637
|
+
|
638
|
+
trace('STRING string_end')
|
639
|
+
completed = @string_opened && @string_closed
|
640
|
+
chars = data[p_start...p_end]
|
641
|
+
ast_node = string(utf8_string(chars), complete: true)
|
642
|
+
@buffers[:string] = ast_node
|
643
|
+
end
|
644
|
+
begin
|
645
|
+
|
646
|
+
trace('STRING yield_string')
|
647
|
+
yield @buffers[:string]
|
648
|
+
end
|
392
649
|
end
|
393
650
|
end
|
394
651
|
end
|
@@ -406,547 +663,481 @@ begin
|
|
406
663
|
if _goto_level <= _test_eof
|
407
664
|
if p == eof
|
408
665
|
case _bel_eof_actions[cs]
|
409
|
-
when
|
666
|
+
when 30 then
|
410
667
|
begin
|
411
668
|
|
412
|
-
|
413
|
-
|
414
|
-
@buffers[:ident] = identifier(utf8_string(@buffers[:ident]).sub(/\n$/, ''))
|
415
|
-
end
|
669
|
+
trace('IDENTIFIER yield_identifier')
|
670
|
+
yield @buffers[:ident]
|
416
671
|
end
|
417
|
-
when
|
672
|
+
when 27 then
|
418
673
|
begin
|
419
674
|
|
420
|
-
|
421
|
-
|
675
|
+
trace("PARAMETER parameter_node_eof")
|
676
|
+
param_node = parameter()
|
677
|
+
completed = true
|
678
|
+
prefix_node = @buffers.delete(:param_prefix)
|
679
|
+
unless prefix_node.nil?
|
680
|
+
param_node <<= prefix_node
|
681
|
+
unless prefix_node.complete
|
682
|
+
completed = false
|
683
|
+
end
|
684
|
+
end
|
685
|
+
|
686
|
+
string_value_node = @buffers.delete(:string)
|
687
|
+
unless string_value_node.nil?
|
688
|
+
param_node <<= string_value_node
|
689
|
+
unless string_value_node.complete
|
690
|
+
completed = false
|
691
|
+
end
|
692
|
+
else
|
693
|
+
completed = false
|
694
|
+
end
|
695
|
+
|
696
|
+
param_node.complete = completed
|
697
|
+
yield param_node
|
422
698
|
end
|
423
|
-
when
|
699
|
+
when 28 then
|
424
700
|
begin
|
425
701
|
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
702
|
+
trace('IDENTIFIER end_identifier')
|
703
|
+
id_end = p
|
704
|
+
chars = data[id_start...id_end]
|
705
|
+
completed = !chars.empty?
|
706
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
707
|
+
@buffers[:ident] = ast_node
|
430
708
|
end
|
431
709
|
begin
|
432
710
|
|
433
|
-
|
711
|
+
trace('IDENTIFIER yield_identifier')
|
434
712
|
yield @buffers[:ident]
|
435
713
|
end
|
436
|
-
when
|
714
|
+
when 4 then
|
437
715
|
begin
|
438
716
|
|
439
|
-
|
440
|
-
|
441
|
-
|
717
|
+
trace('STRING a_string_err')
|
718
|
+
p_end = p
|
719
|
+
chars = data[p_start...p_end]
|
720
|
+
ast_node = string(utf8_string(chars), complete: false)
|
721
|
+
@buffers[:string] = ast_node
|
722
|
+
end
|
723
|
+
begin
|
724
|
+
|
725
|
+
trace("PARAMETER parameter_node_eof")
|
726
|
+
param_node = parameter()
|
727
|
+
completed = true
|
728
|
+
prefix_node = @buffers.delete(:param_prefix)
|
729
|
+
unless prefix_node.nil?
|
730
|
+
param_node <<= prefix_node
|
731
|
+
unless prefix_node.complete
|
732
|
+
completed = false
|
733
|
+
end
|
734
|
+
end
|
735
|
+
|
736
|
+
string_value_node = @buffers.delete(:string)
|
737
|
+
unless string_value_node.nil?
|
738
|
+
param_node <<= string_value_node
|
739
|
+
unless string_value_node.complete
|
740
|
+
completed = false
|
741
|
+
end
|
742
|
+
else
|
743
|
+
completed = false
|
442
744
|
end
|
745
|
+
|
746
|
+
param_node.complete = completed
|
747
|
+
yield param_node
|
443
748
|
end
|
749
|
+
when 10 then
|
444
750
|
begin
|
445
751
|
|
446
|
-
|
447
|
-
|
752
|
+
trace('STRING string_node_err')
|
753
|
+
p_end = p
|
754
|
+
chars = data[p_start...p_end]
|
755
|
+
ast_node = string(utf8_string(chars), complete: false)
|
756
|
+
yield ast_node
|
448
757
|
end
|
449
|
-
when 4 then
|
450
758
|
begin
|
451
759
|
|
452
|
-
|
453
|
-
|
760
|
+
trace('STRING string_node_eof')
|
761
|
+
yield @buffers[:string]
|
454
762
|
end
|
763
|
+
when 25 then
|
455
764
|
begin
|
456
765
|
|
457
|
-
|
458
|
-
|
459
|
-
|
766
|
+
trace('IDENTIFIER an_ident_eof')
|
767
|
+
if @identifier_started
|
768
|
+
id_end = p
|
769
|
+
chars = data[id_start...id_end]
|
770
|
+
completed = !chars.empty?
|
771
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
772
|
+
@buffers[:ident] = ast_node
|
460
773
|
end
|
461
774
|
end
|
462
|
-
when 14 then
|
463
775
|
begin
|
464
776
|
|
465
|
-
|
466
|
-
|
777
|
+
trace('PARAMETER parameter_end')
|
778
|
+
param_node = parameter()
|
779
|
+
completed = true
|
780
|
+
prefix_node = @buffers.delete(:param_prefix)
|
781
|
+
unless prefix_node.nil?
|
782
|
+
param_node <<= prefix_node
|
783
|
+
unless prefix_node.complete
|
784
|
+
trace('PN incomplete')
|
785
|
+
completed = false
|
786
|
+
end
|
787
|
+
end
|
788
|
+
|
789
|
+
value_node = @buffers.delete(:param_value)
|
790
|
+
unless value_node.nil?
|
791
|
+
param_node <<= value_node
|
792
|
+
unless value_node.complete
|
793
|
+
trace('VN incomplete')
|
794
|
+
completed = false
|
795
|
+
end
|
796
|
+
else
|
797
|
+
completed = false
|
798
|
+
end
|
799
|
+
|
800
|
+
param_node.complete = completed
|
801
|
+
@buffers[:parameter] = param_node
|
467
802
|
end
|
468
803
|
begin
|
469
804
|
|
470
|
-
|
471
|
-
yield @buffers[:
|
805
|
+
trace('PARAMETER yield_parameter')
|
806
|
+
yield @buffers[:parameter]
|
472
807
|
end
|
473
|
-
|
474
|
-
|
808
|
+
when 6 then
|
809
|
+
begin
|
475
810
|
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
811
|
+
trace('STRING eof_string')
|
812
|
+
p_end = p
|
813
|
+
chars = data[p_start...p_end]
|
814
|
+
ast_node = string(utf8_string(chars), complete: false)
|
815
|
+
@buffers[:string] = ast_node
|
816
|
+
end
|
817
|
+
begin
|
482
818
|
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
92, 10, 122, 10, 122,
|
491
|
-
48, 122, 10, 122, 34, 34,
|
492
|
-
34, 92, 10, 10, 92,
|
493
|
-
92, 0, 0, 0, 0,
|
494
|
-
0, 0, 0
|
495
|
-
]
|
819
|
+
trace('STRING a_string_err')
|
820
|
+
p_end = p
|
821
|
+
chars = data[p_start...p_end]
|
822
|
+
ast_node = string(utf8_string(chars), complete: false)
|
823
|
+
@buffers[:string] = ast_node
|
824
|
+
end
|
825
|
+
begin
|
496
826
|
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
827
|
+
trace("PARAMETER parameter_node_eof")
|
828
|
+
param_node = parameter()
|
829
|
+
completed = true
|
830
|
+
prefix_node = @buffers.delete(:param_prefix)
|
831
|
+
unless prefix_node.nil?
|
832
|
+
param_node <<= prefix_node
|
833
|
+
unless prefix_node.complete
|
834
|
+
completed = false
|
835
|
+
end
|
836
|
+
end
|
506
837
|
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
838
|
+
string_value_node = @buffers.delete(:string)
|
839
|
+
unless string_value_node.nil?
|
840
|
+
param_node <<= string_value_node
|
841
|
+
unless string_value_node.complete
|
842
|
+
completed = false
|
843
|
+
end
|
844
|
+
else
|
845
|
+
completed = false
|
846
|
+
end
|
516
847
|
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
1, 0, 0, 0, 0, 0, 0, 0,
|
523
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
524
|
-
0, 0, 0, 0, 0, 0, 0, 1,
|
525
|
-
0, 2, 0, 0, 0, 0, 0, 0,
|
526
|
-
0, 0, 0, 0, 0, 0, 0, 3,
|
527
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
528
|
-
3, 0, 0, 0, 0, 0, 0, 0,
|
529
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
530
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
531
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
532
|
-
3, 3, 0, 0, 0, 0, 3, 0,
|
533
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
534
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
535
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
536
|
-
3, 3, 0, 1, 4, 4, 4, 4,
|
537
|
-
4, 4, 4, 4, 4, 4, 4, 4,
|
538
|
-
4, 4, 4, 4, 4, 4, 4, 4,
|
539
|
-
4, 4, 1, 4, 2, 4, 4, 4,
|
540
|
-
4, 4, 4, 4, 4, 4, 4, 4,
|
541
|
-
4, 4, 5, 5, 5, 5, 5, 5,
|
542
|
-
5, 5, 5, 5, 4, 4, 4, 4,
|
543
|
-
4, 4, 4, 5, 5, 5, 5, 5,
|
544
|
-
5, 5, 5, 5, 5, 5, 5, 5,
|
545
|
-
5, 5, 5, 5, 5, 5, 5, 5,
|
546
|
-
5, 5, 5, 5, 5, 4, 4, 4,
|
547
|
-
4, 5, 4, 5, 5, 5, 5, 5,
|
548
|
-
5, 5, 5, 5, 5, 5, 5, 5,
|
549
|
-
5, 5, 5, 5, 5, 5, 5, 5,
|
550
|
-
5, 5, 5, 5, 5, 4, 7, 6,
|
551
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
552
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
553
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
554
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
555
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
556
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
557
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
558
|
-
8, 6, 10, 9, 8, 6, 12, 11,
|
559
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
560
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
561
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
562
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
563
|
-
11, 11, 11, 11, 13, 13, 13, 13,
|
564
|
-
13, 13, 13, 13, 13, 13, 11, 11,
|
565
|
-
11, 11, 11, 11, 11, 13, 13, 13,
|
566
|
-
13, 13, 13, 13, 13, 13, 13, 13,
|
567
|
-
13, 13, 13, 13, 13, 13, 13, 13,
|
568
|
-
13, 13, 13, 13, 13, 13, 13, 11,
|
569
|
-
11, 11, 11, 13, 11, 13, 13, 13,
|
570
|
-
13, 13, 13, 13, 13, 13, 13, 13,
|
571
|
-
13, 13, 13, 13, 13, 13, 13, 13,
|
572
|
-
13, 13, 13, 13, 13, 13, 13, 11,
|
573
|
-
12, 11, 11, 11, 11, 11, 11, 11,
|
574
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
575
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
576
|
-
11, 11, 11, 11, 11, 11, 11, 11,
|
577
|
-
11, 11, 11, 11, 11, 11, 14, 14,
|
578
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
579
|
-
15, 11, 11, 11, 11, 11, 11, 14,
|
580
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
581
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
582
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
583
|
-
14, 11, 11, 11, 11, 14, 11, 14,
|
584
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
585
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
586
|
-
14, 14, 14, 14, 14, 14, 14, 14,
|
587
|
-
14, 11, 17, 17, 17, 17, 17, 17,
|
588
|
-
17, 17, 17, 17, 16, 16, 16, 16,
|
589
|
-
16, 16, 16, 17, 17, 17, 17, 17,
|
590
|
-
17, 17, 17, 17, 17, 17, 17, 17,
|
591
|
-
17, 17, 17, 17, 17, 17, 17, 17,
|
592
|
-
17, 17, 17, 17, 17, 16, 16, 16,
|
593
|
-
16, 17, 16, 17, 17, 17, 17, 17,
|
594
|
-
17, 17, 17, 17, 17, 17, 17, 17,
|
595
|
-
17, 17, 17, 17, 17, 17, 17, 17,
|
596
|
-
17, 17, 17, 17, 17, 16, 18, 16,
|
597
|
-
16, 16, 16, 16, 16, 16, 16, 16,
|
598
|
-
16, 16, 16, 16, 16, 16, 16, 16,
|
599
|
-
16, 16, 16, 16, 16, 16, 16, 16,
|
600
|
-
16, 16, 16, 16, 16, 16, 16, 16,
|
601
|
-
16, 16, 16, 16, 19, 19, 19, 19,
|
602
|
-
19, 19, 19, 19, 19, 19, 16, 16,
|
603
|
-
16, 16, 16, 16, 16, 19, 19, 19,
|
604
|
-
19, 19, 19, 19, 19, 19, 19, 19,
|
605
|
-
19, 19, 19, 19, 19, 19, 19, 19,
|
606
|
-
19, 19, 19, 19, 19, 19, 19, 16,
|
607
|
-
16, 16, 16, 19, 16, 19, 19, 19,
|
608
|
-
19, 19, 19, 19, 19, 19, 19, 19,
|
609
|
-
19, 19, 19, 19, 19, 19, 19, 19,
|
610
|
-
19, 19, 19, 19, 19, 19, 19, 16,
|
611
|
-
21, 20, 23, 22, 22, 22, 22, 22,
|
612
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
613
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
614
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
615
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
616
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
617
|
-
22, 22, 22, 22, 22, 22, 22, 22,
|
618
|
-
22, 22, 22, 22, 24, 22, 25, 20,
|
619
|
-
24, 22, 26, 26, 26, 0
|
620
|
-
]
|
848
|
+
param_node.complete = completed
|
849
|
+
yield param_node
|
850
|
+
end
|
851
|
+
when 12 then
|
852
|
+
begin
|
621
853
|
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
0, 9, 15, 9, 0, 11, 11, 12,
|
630
|
-
13, 16, 0
|
631
|
-
]
|
854
|
+
trace('STRING eof_string')
|
855
|
+
p_end = p
|
856
|
+
chars = data[p_start...p_end]
|
857
|
+
ast_node = string(utf8_string(chars), complete: false)
|
858
|
+
@buffers[:string] = ast_node
|
859
|
+
end
|
860
|
+
begin
|
632
861
|
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
12, 3, 13, 10, 14, 2, 6, 6,
|
641
|
-
6, 15, 0
|
642
|
-
]
|
862
|
+
trace('STRING string_node_err')
|
863
|
+
p_end = p
|
864
|
+
chars = data[p_start...p_end]
|
865
|
+
ast_node = string(utf8_string(chars), complete: false)
|
866
|
+
yield ast_node
|
867
|
+
end
|
868
|
+
begin
|
643
869
|
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
0, 1, 4, 5, 5, 5, 8, 8,
|
650
|
-
12, 12, 14, 14, 14, 14, 0, 0,
|
651
|
-
0
|
652
|
-
]
|
870
|
+
trace('STRING string_node_eof')
|
871
|
+
yield @buffers[:string]
|
872
|
+
end
|
873
|
+
when 15 then
|
874
|
+
begin
|
653
875
|
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
end
|
661
|
-
self.bel_first_final = 14;
|
662
|
-
class << self
|
663
|
-
attr_accessor :bel_error
|
664
|
-
end
|
665
|
-
self.bel_error = 0;
|
876
|
+
trace('PARAMETER add_string_param_value')
|
877
|
+
string_node = @buffers.delete(:string)
|
878
|
+
value_node = value(string_node, complete: string_node.complete)
|
879
|
+
@buffers[:param_value] = value_node
|
880
|
+
end
|
881
|
+
begin
|
666
882
|
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
end
|
678
|
-
self.bel_en_bel_parameter = 1;
|
883
|
+
trace('PARAMETER parameter_end')
|
884
|
+
param_node = parameter()
|
885
|
+
completed = true
|
886
|
+
prefix_node = @buffers.delete(:param_prefix)
|
887
|
+
unless prefix_node.nil?
|
888
|
+
param_node <<= prefix_node
|
889
|
+
unless prefix_node.complete
|
890
|
+
trace('PN incomplete')
|
891
|
+
completed = false
|
892
|
+
end
|
893
|
+
end
|
679
894
|
|
895
|
+
value_node = @buffers.delete(:param_value)
|
896
|
+
unless value_node.nil?
|
897
|
+
param_node <<= value_node
|
898
|
+
unless value_node.complete
|
899
|
+
trace('VN incomplete')
|
900
|
+
completed = false
|
901
|
+
end
|
902
|
+
else
|
903
|
+
completed = false
|
904
|
+
end
|
680
905
|
|
681
|
-
|
682
|
-
|
683
|
-
pe ||= data.length
|
684
|
-
cs = bel_start
|
685
|
-
end
|
686
|
-
|
687
|
-
begin
|
688
|
-
testEof = false
|
689
|
-
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
690
|
-
_goto_level = 0
|
691
|
-
_resume = 10
|
692
|
-
_eof_trans = 15
|
693
|
-
_again = 20
|
694
|
-
_test_eof = 30
|
695
|
-
_out = 40
|
696
|
-
while true
|
697
|
-
if _goto_level <= 0
|
698
|
-
if p == pe
|
699
|
-
_goto_level = _test_eof
|
700
|
-
next
|
701
|
-
end
|
702
|
-
if cs == 0
|
703
|
-
_goto_level = _out
|
704
|
-
next
|
705
|
-
end
|
706
|
-
end
|
707
|
-
if _goto_level <= _resume
|
708
|
-
_keys = cs << 1
|
709
|
-
_inds = _bel_index_offsets[cs]
|
710
|
-
_slen = _bel_key_spans[cs]
|
711
|
-
_wide = data[p].ord
|
712
|
-
_trans = if ( _slen > 0 &&
|
713
|
-
_bel_trans_keys[_keys] <= _wide &&
|
714
|
-
_wide <= _bel_trans_keys[_keys + 1]
|
715
|
-
) then
|
716
|
-
_bel_indicies[ _inds + _wide - _bel_trans_keys[_keys] ]
|
717
|
-
else
|
718
|
-
_bel_indicies[ _inds + _slen ]
|
719
|
-
end
|
720
|
-
cs = _bel_trans_targs[_trans]
|
721
|
-
if _bel_trans_actions[_trans] != 0
|
722
|
-
case _bel_trans_actions[_trans]
|
723
|
-
when 10 then
|
724
|
-
begin
|
725
|
-
|
726
|
-
(@buffers[:ident] ||= []) << data[p].ord
|
727
|
-
end
|
728
|
-
when 8 then
|
729
|
-
begin
|
730
|
-
|
731
|
-
unless @buffers[:ident].is_a?(::AST::Node)
|
732
|
-
@buffers[:ident] ||= []
|
733
|
-
@buffers[:ident] = identifier(utf8_string(@buffers[:ident]).sub(/\n$/, ''))
|
734
|
-
end
|
735
|
-
end
|
736
|
-
when 6 then
|
737
|
-
begin
|
738
|
-
|
739
|
-
(@buffers[:string] ||= []) << data[p].ord
|
740
|
-
end
|
741
|
-
when 5 then
|
742
|
-
begin
|
743
|
-
|
744
|
-
@buffers[:string] ||= []
|
745
|
-
@buffers[:string] = string(utf8_string(@buffers[:string]).sub(/\n$/, ''))
|
746
|
-
end
|
747
|
-
when 3 then
|
748
|
-
begin
|
749
|
-
|
750
|
-
@buffers[:ident] = []
|
906
|
+
param_node.complete = completed
|
907
|
+
@buffers[:parameter] = param_node
|
751
908
|
end
|
752
909
|
begin
|
753
910
|
|
754
|
-
(
|
911
|
+
trace('PARAMETER yield_parameter')
|
912
|
+
yield @buffers[:parameter]
|
755
913
|
end
|
756
|
-
when
|
914
|
+
when 1 then
|
757
915
|
begin
|
758
916
|
|
759
|
-
|
917
|
+
trace('IDENTIFIER an_ident_eof')
|
918
|
+
if @identifier_started
|
919
|
+
id_end = p
|
920
|
+
chars = data[id_start...id_end]
|
921
|
+
completed = !chars.empty?
|
922
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
923
|
+
@buffers[:ident] = ast_node
|
924
|
+
end
|
760
925
|
end
|
761
926
|
begin
|
762
927
|
|
763
|
-
|
928
|
+
trace('IDENTIFIER an_ident_err')
|
929
|
+
id_end = p
|
930
|
+
chars = data[id_start...id_end]
|
931
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
932
|
+
@buffers[:ident] = ast_node
|
764
933
|
end
|
765
|
-
when 11 then
|
766
934
|
begin
|
767
935
|
|
768
|
-
|
936
|
+
trace('STRING a_string_err')
|
937
|
+
p_end = p
|
938
|
+
chars = data[p_start...p_end]
|
939
|
+
ast_node = string(utf8_string(chars), complete: false)
|
940
|
+
@buffers[:string] = ast_node
|
769
941
|
end
|
770
942
|
begin
|
771
943
|
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
944
|
+
trace("PARAMETER parameter_node_eof")
|
945
|
+
param_node = parameter()
|
946
|
+
completed = true
|
947
|
+
prefix_node = @buffers.delete(:param_prefix)
|
948
|
+
unless prefix_node.nil?
|
949
|
+
param_node <<= prefix_node
|
950
|
+
unless prefix_node.complete
|
951
|
+
completed = false
|
952
|
+
end
|
953
|
+
end
|
776
954
|
|
777
|
-
|
778
|
-
|
779
|
-
|
955
|
+
string_value_node = @buffers.delete(:string)
|
956
|
+
unless string_value_node.nil?
|
957
|
+
param_node <<= string_value_node
|
958
|
+
unless string_value_node.complete
|
959
|
+
completed = false
|
960
|
+
end
|
961
|
+
else
|
962
|
+
completed = false
|
780
963
|
end
|
781
|
-
end
|
782
|
-
begin
|
783
964
|
|
784
|
-
|
785
|
-
yield
|
965
|
+
param_node.complete = completed
|
966
|
+
yield param_node
|
786
967
|
end
|
787
|
-
when
|
968
|
+
when 21 then
|
788
969
|
begin
|
789
970
|
|
790
|
-
|
791
|
-
|
792
|
-
|
971
|
+
trace('IDENTIFIER an_ident_eof')
|
972
|
+
if @identifier_started
|
973
|
+
id_end = p
|
974
|
+
chars = data[id_start...id_end]
|
975
|
+
completed = !chars.empty?
|
976
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
977
|
+
@buffers[:ident] = ast_node
|
793
978
|
end
|
794
979
|
end
|
795
980
|
begin
|
796
981
|
|
797
|
-
|
798
|
-
|
982
|
+
trace('PARAMETER add_prefix')
|
983
|
+
ident = @buffers.delete(:ident)
|
984
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
985
|
+
@buffers[:param_prefix] = prefix_node
|
799
986
|
end
|
800
|
-
when 2 then
|
801
987
|
begin
|
802
988
|
|
803
|
-
|
804
|
-
|
805
|
-
|
989
|
+
trace('PARAMETER parameter_end')
|
990
|
+
param_node = parameter()
|
991
|
+
completed = true
|
992
|
+
prefix_node = @buffers.delete(:param_prefix)
|
993
|
+
unless prefix_node.nil?
|
994
|
+
param_node <<= prefix_node
|
995
|
+
unless prefix_node.complete
|
996
|
+
trace('PN incomplete')
|
997
|
+
completed = false
|
998
|
+
end
|
999
|
+
end
|
806
1000
|
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
1001
|
+
value_node = @buffers.delete(:param_value)
|
1002
|
+
unless value_node.nil?
|
1003
|
+
param_node <<= value_node
|
1004
|
+
unless value_node.complete
|
1005
|
+
trace('VN incomplete')
|
1006
|
+
completed = false
|
1007
|
+
end
|
1008
|
+
else
|
1009
|
+
completed = false
|
1010
|
+
end
|
811
1011
|
|
812
|
-
|
1012
|
+
param_node.complete = completed
|
1013
|
+
@buffers[:parameter] = param_node
|
813
1014
|
end
|
814
1015
|
begin
|
815
1016
|
|
816
|
-
|
1017
|
+
trace('PARAMETER yield_parameter')
|
1018
|
+
yield @buffers[:parameter]
|
817
1019
|
end
|
818
|
-
when
|
1020
|
+
when 16 then
|
819
1021
|
begin
|
820
1022
|
|
821
|
-
|
822
|
-
|
1023
|
+
trace('IDENTIFIER end_identifier')
|
1024
|
+
id_end = p
|
1025
|
+
chars = data[id_start...id_end]
|
1026
|
+
completed = !chars.empty?
|
1027
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1028
|
+
@buffers[:ident] = ast_node
|
823
1029
|
end
|
824
1030
|
begin
|
825
1031
|
|
826
|
-
|
827
|
-
|
828
|
-
|
1032
|
+
trace('IDENTIFIER an_ident_eof')
|
1033
|
+
if @identifier_started
|
1034
|
+
id_end = p
|
1035
|
+
chars = data[id_start...id_end]
|
1036
|
+
completed = !chars.empty?
|
1037
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1038
|
+
@buffers[:ident] = ast_node
|
829
1039
|
end
|
830
1040
|
end
|
831
|
-
when 14 then
|
832
|
-
begin
|
833
|
-
|
834
|
-
@buffers[:string] ||= []
|
835
|
-
@buffers[:string] = string(utf8_string(@buffers[:string]).sub(/\n$/, ''))
|
836
|
-
end
|
837
|
-
begin
|
838
|
-
|
839
|
-
@buffers[:string] ||= []
|
840
|
-
yield @buffers[:string]
|
841
|
-
end
|
842
|
-
when 9 then
|
843
|
-
begin
|
844
|
-
|
845
|
-
@buffers[:ident] = identifier(utf8_string(@buffers[:ident]))
|
846
|
-
end
|
847
1041
|
begin
|
848
1042
|
|
849
|
-
|
850
|
-
|
1043
|
+
trace('PARAMETER add_ident_param_value')
|
1044
|
+
ident = @buffers.delete(:ident)
|
1045
|
+
value_node = value(ident, complete: ident.complete)
|
1046
|
+
@buffers[:param_value] = value_node
|
851
1047
|
end
|
852
1048
|
begin
|
853
1049
|
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
1050
|
+
trace('PARAMETER parameter_end')
|
1051
|
+
param_node = parameter()
|
1052
|
+
completed = true
|
1053
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1054
|
+
unless prefix_node.nil?
|
1055
|
+
param_node <<= prefix_node
|
1056
|
+
unless prefix_node.complete
|
1057
|
+
trace('PN incomplete')
|
1058
|
+
completed = false
|
1059
|
+
end
|
1060
|
+
end
|
858
1061
|
|
859
|
-
|
860
|
-
|
861
|
-
|
1062
|
+
value_node = @buffers.delete(:param_value)
|
1063
|
+
unless value_node.nil?
|
1064
|
+
param_node <<= value_node
|
1065
|
+
unless value_node.complete
|
1066
|
+
trace('VN incomplete')
|
1067
|
+
completed = false
|
1068
|
+
end
|
1069
|
+
else
|
1070
|
+
completed = false
|
1071
|
+
end
|
862
1072
|
|
863
|
-
|
864
|
-
@buffers[:parameter]
|
1073
|
+
param_node.complete = completed
|
1074
|
+
@buffers[:parameter] = param_node
|
865
1075
|
end
|
866
1076
|
begin
|
867
1077
|
|
1078
|
+
trace('PARAMETER yield_parameter')
|
868
1079
|
yield @buffers[:parameter]
|
869
1080
|
end
|
870
|
-
|
871
|
-
end
|
872
|
-
end
|
873
|
-
if _goto_level <= _again
|
874
|
-
if cs == 0
|
875
|
-
_goto_level = _out
|
876
|
-
next
|
877
|
-
end
|
878
|
-
p += 1
|
879
|
-
if p != pe
|
880
|
-
_goto_level = _resume
|
881
|
-
next
|
882
|
-
end
|
883
|
-
end
|
884
|
-
if _goto_level <= _test_eof
|
885
|
-
if p == eof
|
886
|
-
case _bel_eof_actions[cs]
|
887
|
-
when 8 then
|
1081
|
+
when 19 then
|
888
1082
|
begin
|
889
1083
|
|
890
|
-
|
891
|
-
|
892
|
-
|
1084
|
+
trace('IDENTIFIER an_ident_eof')
|
1085
|
+
if @identifier_started
|
1086
|
+
id_end = p
|
1087
|
+
chars = data[id_start...id_end]
|
1088
|
+
completed = !chars.empty?
|
1089
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1090
|
+
@buffers[:ident] = ast_node
|
893
1091
|
end
|
894
1092
|
end
|
895
|
-
when 5 then
|
896
|
-
begin
|
897
|
-
|
898
|
-
@buffers[:string] ||= []
|
899
|
-
@buffers[:string] = string(utf8_string(@buffers[:string]).sub(/\n$/, ''))
|
900
|
-
end
|
901
|
-
when 12 then
|
902
1093
|
begin
|
903
1094
|
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
1095
|
+
trace('IDENTIFIER end_identifier')
|
1096
|
+
id_end = p
|
1097
|
+
chars = data[id_start...id_end]
|
1098
|
+
completed = !chars.empty?
|
1099
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1100
|
+
@buffers[:ident] = ast_node
|
908
1101
|
end
|
909
1102
|
begin
|
910
1103
|
|
911
|
-
|
912
|
-
|
1104
|
+
trace('PARAMETER add_ident_param_value')
|
1105
|
+
ident = @buffers.delete(:ident)
|
1106
|
+
value_node = value(ident, complete: ident.complete)
|
1107
|
+
@buffers[:param_value] = value_node
|
913
1108
|
end
|
914
|
-
when 1 then
|
915
1109
|
begin
|
916
1110
|
|
917
|
-
|
918
|
-
|
919
|
-
|
1111
|
+
trace('PARAMETER parameter_end')
|
1112
|
+
param_node = parameter()
|
1113
|
+
completed = true
|
1114
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1115
|
+
unless prefix_node.nil?
|
1116
|
+
param_node <<= prefix_node
|
1117
|
+
unless prefix_node.complete
|
1118
|
+
trace('PN incomplete')
|
1119
|
+
completed = false
|
1120
|
+
end
|
920
1121
|
end
|
921
|
-
end
|
922
|
-
begin
|
923
|
-
|
924
|
-
@buffers[:string] ||= []
|
925
|
-
@buffers[:string] = string(utf8_string(@buffers[:string]).sub(/\n$/, ''))
|
926
|
-
end
|
927
|
-
when 4 then
|
928
|
-
begin
|
929
|
-
|
930
|
-
@buffers[:string] ||= []
|
931
|
-
@buffers[:string] = string(utf8_string(@buffers[:string]).sub(/\n$/, ''))
|
932
|
-
end
|
933
|
-
begin
|
934
1122
|
|
935
|
-
|
936
|
-
|
937
|
-
|
1123
|
+
value_node = @buffers.delete(:param_value)
|
1124
|
+
unless value_node.nil?
|
1125
|
+
param_node <<= value_node
|
1126
|
+
unless value_node.complete
|
1127
|
+
trace('VN incomplete')
|
1128
|
+
completed = false
|
1129
|
+
end
|
1130
|
+
else
|
1131
|
+
completed = false
|
938
1132
|
end
|
939
|
-
end
|
940
|
-
when 14 then
|
941
|
-
begin
|
942
1133
|
|
943
|
-
|
944
|
-
@buffers[:
|
1134
|
+
param_node.complete = completed
|
1135
|
+
@buffers[:parameter] = param_node
|
945
1136
|
end
|
946
1137
|
begin
|
947
1138
|
|
948
|
-
|
949
|
-
yield @buffers[:
|
1139
|
+
trace('PARAMETER yield_parameter')
|
1140
|
+
yield @buffers[:parameter]
|
950
1141
|
end
|
951
1142
|
end
|
952
1143
|
end
|
@@ -958,55 +1149,20 @@ begin
|
|
958
1149
|
end
|
959
1150
|
end
|
960
1151
|
|
961
|
-
|
962
|
-
=end
|
963
|
-
# end: ragel
|
964
|
-
|
965
|
-
require_relative '../ast/node'
|
966
|
-
require_relative '../mixin/buffer'
|
967
|
-
require_relative '../nonblocking_io_wrapper'
|
968
|
-
|
969
|
-
module BELParser
|
970
|
-
module Parsers
|
971
|
-
module Expression
|
972
|
-
module Parameter
|
973
|
-
|
974
|
-
class << self
|
975
|
-
|
976
|
-
MAX_LENGTH = 1024 * 128 # 128K
|
977
|
-
|
978
|
-
def parse(content)
|
979
|
-
return nil unless content
|
980
|
-
|
981
|
-
Parser.new(content).each do |obj|
|
982
|
-
yield obj
|
983
|
-
end
|
984
|
-
end
|
985
|
-
end
|
986
|
-
|
987
|
-
private
|
988
|
-
|
989
|
-
class Parser
|
990
|
-
include Enumerable
|
991
|
-
include BELParser::Parsers::Buffer
|
992
|
-
include BELParser::Parsers::AST::Sexp
|
993
|
-
|
994
|
-
def initialize(content)
|
995
|
-
@content = content
|
996
|
-
# begin: ragel
|
997
|
-
|
998
1152
|
class << self
|
999
1153
|
attr_accessor :_bel_trans_keys
|
1000
1154
|
private :_bel_trans_keys, :_bel_trans_keys=
|
1001
1155
|
end
|
1002
1156
|
self._bel_trans_keys = [
|
1003
1157
|
0, 0, 9, 122, 9, 122,
|
1004
|
-
|
1005
|
-
92,
|
1006
|
-
|
1007
|
-
|
1008
|
-
|
1009
|
-
|
1158
|
+
9, 34, 34, 92, 34,
|
1159
|
+
92, 0, 0, 48, 122,
|
1160
|
+
9, 34, 34, 92, 34, 92,
|
1161
|
+
0, 0, 10, 10, 0,
|
1162
|
+
0, 10, 122, 10, 122,
|
1163
|
+
9, 122, 9, 122, 9, 34,
|
1164
|
+
10, 122, 0, 0, 0,
|
1165
|
+
0, 0
|
1010
1166
|
]
|
1011
1167
|
|
1012
1168
|
class << self
|
@@ -1014,9 +1170,9 @@ class << self
|
|
1014
1170
|
private :_bel_key_spans, :_bel_key_spans=
|
1015
1171
|
end
|
1016
1172
|
self._bel_key_spans = [
|
1017
|
-
0, 114, 114,
|
1018
|
-
|
1019
|
-
0
|
1173
|
+
0, 114, 114, 26, 59, 59, 0, 75,
|
1174
|
+
26, 59, 59, 0, 1, 0, 113, 113,
|
1175
|
+
114, 114, 26, 113, 0, 0
|
1020
1176
|
]
|
1021
1177
|
|
1022
1178
|
class << self
|
@@ -1024,9 +1180,9 @@ class << self
|
|
1024
1180
|
private :_bel_index_offsets, :_bel_index_offsets=
|
1025
1181
|
end
|
1026
1182
|
self._bel_index_offsets = [
|
1027
|
-
0, 0, 115, 230,
|
1028
|
-
|
1029
|
-
|
1183
|
+
0, 0, 115, 230, 257, 317, 377, 378,
|
1184
|
+
454, 481, 541, 601, 602, 604, 605, 719,
|
1185
|
+
833, 948, 1063, 1090, 1204, 1205
|
1030
1186
|
]
|
1031
1187
|
|
1032
1188
|
class << self
|
@@ -1034,104 +1190,157 @@ class << self
|
|
1034
1190
|
private :_bel_indicies, :_bel_indicies=
|
1035
1191
|
end
|
1036
1192
|
self._bel_indicies = [
|
1037
|
-
1,
|
1193
|
+
1, 2, 2, 2, 2, 0, 0, 0,
|
1038
1194
|
0, 0, 0, 0, 0, 0, 0, 0,
|
1039
1195
|
0, 0, 0, 0, 0, 0, 0, 1,
|
1040
|
-
0,
|
1041
|
-
0, 0, 0, 0, 0, 0, 0,
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
1046
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
1047
|
-
3, 3, 0, 0, 0, 0, 3, 0,
|
1048
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
1049
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
1050
|
-
3, 3, 3, 3, 3, 3, 3, 3,
|
1051
|
-
3, 3, 0, 1, 4, 4, 4, 4,
|
1196
|
+
0, 3, 0, 0, 0, 0, 0, 0,
|
1197
|
+
0, 0, 0, 0, 0, 0, 0, 4,
|
1198
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
1199
|
+
4, 0, 0, 0, 0, 0, 0, 0,
|
1200
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
1052
1201
|
4, 4, 4, 4, 4, 4, 4, 4,
|
1053
1202
|
4, 4, 4, 4, 4, 4, 4, 4,
|
1054
|
-
4, 4,
|
1203
|
+
4, 4, 0, 0, 0, 0, 4, 0,
|
1055
1204
|
4, 4, 4, 4, 4, 4, 4, 4,
|
1056
|
-
4, 4,
|
1057
|
-
|
1058
|
-
4, 4,
|
1205
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
1206
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
1207
|
+
4, 4, 0, 1, 2, 2, 2, 2,
|
1208
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1209
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1210
|
+
0, 0, 1, 0, 3, 0, 0, 0,
|
1211
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1212
|
+
0, 0, 5, 5, 5, 5, 5, 5,
|
1213
|
+
5, 5, 5, 5, 0, 0, 0, 0,
|
1214
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
1059
1215
|
5, 5, 5, 5, 5, 5, 5, 5,
|
1060
1216
|
5, 5, 5, 5, 5, 5, 5, 5,
|
1061
|
-
5, 5, 5, 5, 5,
|
1062
|
-
|
1217
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
1218
|
+
0, 5, 0, 5, 5, 5, 5, 5,
|
1063
1219
|
5, 5, 5, 5, 5, 5, 5, 5,
|
1064
1220
|
5, 5, 5, 5, 5, 5, 5, 5,
|
1065
|
-
5, 5, 5, 5, 5,
|
1066
|
-
|
1067
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
1068
|
-
6, 6, 6, 6, 6, 6, 6, 6,
|
1221
|
+
5, 5, 5, 5, 5, 0, 2, 2,
|
1222
|
+
2, 2, 2, 6, 6, 6, 6, 6,
|
1069
1223
|
6, 6, 6, 6, 6, 6, 6, 6,
|
1070
|
-
6, 6, 6, 6, 6,
|
1071
|
-
6,
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1224
|
+
6, 6, 6, 6, 6, 2, 6, 3,
|
1225
|
+
6, 8, 7, 7, 7, 7, 7, 7,
|
1226
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1227
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1228
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1229
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1230
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1231
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
1232
|
+
7, 7, 7, 9, 7, 11, 10, 10,
|
1233
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1234
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1235
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1236
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1237
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1238
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
1239
|
+
10, 10, 10, 10, 10, 10, 10, 12,
|
1240
|
+
10, 10, 13, 13, 13, 13, 13, 13,
|
1241
|
+
13, 13, 13, 13, 14, 14, 14, 14,
|
1242
|
+
14, 14, 14, 13, 13, 13, 13, 13,
|
1081
1243
|
13, 13, 13, 13, 13, 13, 13, 13,
|
1082
1244
|
13, 13, 13, 13, 13, 13, 13, 13,
|
1083
|
-
13, 13, 13, 13, 13,
|
1084
|
-
|
1245
|
+
13, 13, 13, 13, 13, 14, 14, 14,
|
1246
|
+
14, 13, 14, 13, 13, 13, 13, 13,
|
1085
1247
|
13, 13, 13, 13, 13, 13, 13, 13,
|
1086
1248
|
13, 13, 13, 13, 13, 13, 13, 13,
|
1087
|
-
13, 13, 13, 13, 13,
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1249
|
+
13, 13, 13, 13, 13, 14, 16, 16,
|
1250
|
+
16, 16, 16, 15, 15, 15, 15, 15,
|
1251
|
+
15, 15, 15, 15, 15, 15, 15, 15,
|
1252
|
+
15, 15, 15, 15, 15, 16, 15, 17,
|
1253
|
+
15, 19, 18, 18, 18, 18, 18, 18,
|
1254
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1255
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1256
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1257
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1258
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1259
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
1260
|
+
18, 18, 18, 20, 18, 22, 21, 21,
|
1261
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1262
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1263
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1264
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1265
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1266
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
1267
|
+
21, 21, 21, 21, 21, 21, 21, 23,
|
1268
|
+
21, 21, 24, 6, 14, 26, 25, 25,
|
1269
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1270
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1271
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1272
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1273
|
+
25, 25, 25, 27, 27, 27, 27, 27,
|
1274
|
+
27, 27, 27, 27, 27, 25, 25, 25,
|
1275
|
+
25, 25, 25, 25, 27, 27, 27, 27,
|
1276
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
1277
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
1278
|
+
27, 27, 27, 27, 27, 27, 25, 25,
|
1279
|
+
25, 25, 27, 25, 27, 27, 27, 27,
|
1280
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
1281
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
1282
|
+
27, 27, 27, 27, 27, 27, 25, 26,
|
1283
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1284
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1285
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1286
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
1287
|
+
25, 25, 25, 25, 25, 28, 28, 28,
|
1288
|
+
28, 28, 28, 28, 28, 28, 28, 29,
|
1289
|
+
25, 25, 25, 25, 25, 25, 28, 28,
|
1290
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1291
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1292
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1293
|
+
25, 25, 25, 25, 28, 25, 28, 28,
|
1294
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1295
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1296
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
1297
|
+
25, 30, 31, 32, 32, 32, 0, 0,
|
1298
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1299
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1300
|
+
30, 0, 33, 0, 0, 0, 0, 0,
|
1301
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1302
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
1303
|
+
34, 34, 0, 0, 0, 0, 0, 0,
|
1304
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
1305
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
1306
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
1307
|
+
34, 34, 34, 0, 0, 0, 0, 34,
|
1308
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
1309
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
1310
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
1311
|
+
34, 34, 34, 0, 35, 36, 2, 2,
|
1312
|
+
2, 0, 0, 0, 0, 0, 0, 0,
|
1313
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1314
|
+
0, 0, 0, 35, 0, 3, 0, 0,
|
1315
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
1316
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
1317
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
1318
|
+
0, 0, 0, 0, 5, 5, 5, 5,
|
1319
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
1320
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
1321
|
+
5, 5, 5, 5, 5, 5, 0, 0,
|
1322
|
+
0, 0, 5, 0, 5, 5, 5, 5,
|
1323
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
1324
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
1325
|
+
5, 5, 5, 5, 5, 5, 0, 2,
|
1326
|
+
2, 2, 2, 2, 6, 6, 6, 6,
|
1327
|
+
6, 6, 6, 6, 6, 6, 6, 6,
|
1328
|
+
6, 6, 6, 6, 6, 6, 2, 6,
|
1329
|
+
3, 6, 38, 37, 37, 37, 37, 37,
|
1330
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
1331
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
1332
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
1333
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
1334
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
1335
|
+
39, 39, 37, 37, 37, 37, 37, 37,
|
1336
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
1337
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
1338
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
1339
|
+
39, 39, 39, 37, 37, 37, 37, 39,
|
1340
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
1341
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
1342
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
1343
|
+
39, 39, 39, 37, 37, 15, 0
|
1135
1344
|
]
|
1136
1345
|
|
1137
1346
|
class << self
|
@@ -1139,10 +1348,11 @@ class << self
|
|
1139
1348
|
private :_bel_trans_targs, :_bel_trans_targs=
|
1140
1349
|
end
|
1141
1350
|
self._bel_trans_targs = [
|
1142
|
-
0, 2, 3,
|
1143
|
-
|
1144
|
-
|
1145
|
-
13, 16,
|
1351
|
+
0, 2, 3, 4, 15, 14, 0, 5,
|
1352
|
+
12, 6, 5, 12, 6, 19, 0, 0,
|
1353
|
+
8, 9, 10, 21, 11, 10, 21, 11,
|
1354
|
+
13, 0, 13, 14, 15, 16, 17, 18,
|
1355
|
+
3, 4, 14, 17, 18, 0, 20, 19
|
1146
1356
|
]
|
1147
1357
|
|
1148
1358
|
class << self
|
@@ -1150,10 +1360,11 @@ class << self
|
|
1150
1360
|
private :_bel_trans_actions, :_bel_trans_actions=
|
1151
1361
|
end
|
1152
1362
|
self._bel_trans_actions = [
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1363
|
+
2, 0, 0, 0, 3, 3, 5, 7,
|
1364
|
+
8, 7, 0, 9, 0, 3, 0, 11,
|
1365
|
+
0, 0, 7, 13, 7, 0, 14, 0,
|
1366
|
+
15, 17, 18, 0, 0, 20, 22, 23,
|
1367
|
+
22, 22, 24, 0, 26, 29, 20, 0
|
1157
1368
|
]
|
1158
1369
|
|
1159
1370
|
class << self
|
@@ -1161,9 +1372,9 @@ class << self
|
|
1161
1372
|
private :_bel_eof_actions, :_bel_eof_actions=
|
1162
1373
|
end
|
1163
1374
|
self._bel_eof_actions = [
|
1164
|
-
0, 1,
|
1165
|
-
|
1166
|
-
0
|
1375
|
+
0, 1, 1, 4, 6, 6, 6, 0,
|
1376
|
+
10, 12, 12, 12, 15, 0, 16, 19,
|
1377
|
+
21, 25, 27, 28, 30, 0
|
1167
1378
|
]
|
1168
1379
|
|
1169
1380
|
class << self
|
@@ -1173,45 +1384,32 @@ self.bel_start = 1;
|
|
1173
1384
|
class << self
|
1174
1385
|
attr_accessor :bel_first_final
|
1175
1386
|
end
|
1176
|
-
self.bel_first_final =
|
1387
|
+
self.bel_first_final = 12;
|
1177
1388
|
class << self
|
1178
1389
|
attr_accessor :bel_error
|
1179
1390
|
end
|
1180
1391
|
self.bel_error = 0;
|
1181
1392
|
|
1182
1393
|
class << self
|
1183
|
-
attr_accessor :
|
1394
|
+
attr_accessor :bel_en_ident_node
|
1184
1395
|
end
|
1185
|
-
self.
|
1396
|
+
self.bel_en_ident_node = 7;
|
1186
1397
|
class << self
|
1187
|
-
attr_accessor :
|
1398
|
+
attr_accessor :bel_en_string_node
|
1188
1399
|
end
|
1189
|
-
self.
|
1400
|
+
self.bel_en_string_node = 8;
|
1190
1401
|
class << self
|
1191
|
-
attr_accessor :
|
1402
|
+
attr_accessor :bel_en_parameter_node
|
1192
1403
|
end
|
1193
|
-
self.
|
1194
|
-
|
1195
|
-
|
1196
|
-
# end: ragel
|
1197
|
-
end
|
1404
|
+
self.bel_en_parameter_node = 1;
|
1198
1405
|
|
1199
|
-
def each
|
1200
|
-
@buffers = {}
|
1201
|
-
data = @content.unpack('C*')
|
1202
|
-
p = 0
|
1203
|
-
pe = data.length
|
1204
|
-
eof = data.length
|
1205
1406
|
|
1206
|
-
# begin: ragel
|
1207
|
-
|
1208
1407
|
begin
|
1209
1408
|
p ||= 0
|
1210
1409
|
pe ||= data.length
|
1211
1410
|
cs = bel_start
|
1212
1411
|
end
|
1213
1412
|
|
1214
|
-
|
1215
1413
|
begin
|
1216
1414
|
testEof = false
|
1217
1415
|
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
@@ -1248,153 +1446,1557 @@ begin
|
|
1248
1446
|
cs = _bel_trans_targs[_trans]
|
1249
1447
|
if _bel_trans_actions[_trans] != 0
|
1250
1448
|
case _bel_trans_actions[_trans]
|
1251
|
-
when
|
1449
|
+
when 3 then
|
1252
1450
|
begin
|
1253
1451
|
|
1254
|
-
(
|
1452
|
+
trace('IDENTIFIER start_identifier')
|
1453
|
+
@identifier_started = true
|
1454
|
+
id_start = p;
|
1255
1455
|
end
|
1256
|
-
when
|
1456
|
+
when 20 then
|
1257
1457
|
begin
|
1258
1458
|
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1459
|
+
trace('IDENTIFIER end_identifier')
|
1460
|
+
id_end = p
|
1461
|
+
chars = data[id_start...id_end]
|
1462
|
+
completed = !chars.empty?
|
1463
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1464
|
+
@buffers[:ident] = ast_node
|
1263
1465
|
end
|
1264
|
-
when
|
1466
|
+
when 17 then
|
1265
1467
|
begin
|
1266
1468
|
|
1267
|
-
(
|
1469
|
+
trace('IDENTIFIER an_ident_err')
|
1470
|
+
id_end = p
|
1471
|
+
chars = data[id_start...id_end]
|
1472
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
1473
|
+
@buffers[:ident] = ast_node
|
1268
1474
|
end
|
1269
|
-
when
|
1475
|
+
when 29 then
|
1270
1476
|
begin
|
1271
1477
|
|
1272
|
-
|
1273
|
-
|
1478
|
+
trace('IDENTIFIER ident_node_err')
|
1479
|
+
id_end = p
|
1480
|
+
chars = data[id_start...id_end]
|
1481
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
1482
|
+
yield ast_node
|
1274
1483
|
end
|
1275
|
-
when
|
1484
|
+
when 7 then
|
1276
1485
|
begin
|
1277
1486
|
|
1278
|
-
|
1487
|
+
trace('STRING start_string')
|
1488
|
+
@string_opened = true
|
1489
|
+
p_start = p
|
1279
1490
|
end
|
1491
|
+
when 5 then
|
1280
1492
|
begin
|
1281
1493
|
|
1282
|
-
(
|
1494
|
+
trace('STRING a_string_err')
|
1495
|
+
p_end = p
|
1496
|
+
chars = data[p_start...p_end]
|
1497
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1498
|
+
@buffers[:string] = ast_node
|
1283
1499
|
end
|
1284
|
-
when
|
1500
|
+
when 11 then
|
1285
1501
|
begin
|
1286
1502
|
|
1287
|
-
|
1503
|
+
trace('STRING string_node_err')
|
1504
|
+
p_end = p
|
1505
|
+
chars = data[p_start...p_end]
|
1506
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1507
|
+
yield ast_node
|
1288
1508
|
end
|
1509
|
+
when 22 then
|
1289
1510
|
begin
|
1290
1511
|
|
1291
|
-
|
1512
|
+
trace('PARAMETER add_prefix')
|
1513
|
+
ident = @buffers.delete(:ident)
|
1514
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
1515
|
+
@buffers[:param_prefix] = prefix_node
|
1292
1516
|
end
|
1293
|
-
when
|
1517
|
+
when 2 then
|
1294
1518
|
begin
|
1295
1519
|
|
1296
|
-
|
1520
|
+
trace('IDENTIFIER an_ident_err')
|
1521
|
+
id_end = p
|
1522
|
+
chars = data[id_start...id_end]
|
1523
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
1524
|
+
@buffers[:ident] = ast_node
|
1297
1525
|
end
|
1298
1526
|
begin
|
1299
1527
|
|
1300
|
-
|
1528
|
+
trace('STRING a_string_err')
|
1529
|
+
p_end = p
|
1530
|
+
chars = data[p_start...p_end]
|
1531
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1532
|
+
@buffers[:string] = ast_node
|
1301
1533
|
end
|
1302
|
-
when
|
1534
|
+
when 9 then
|
1303
1535
|
begin
|
1304
1536
|
|
1305
|
-
|
1306
|
-
|
1307
|
-
|
1308
|
-
end
|
1537
|
+
trace('STRING stop_string')
|
1538
|
+
@string_closed = true
|
1539
|
+
p_end = p
|
1309
1540
|
end
|
1310
1541
|
begin
|
1311
1542
|
|
1312
|
-
|
1313
|
-
|
1543
|
+
trace('STRING string_end')
|
1544
|
+
completed = @string_opened && @string_closed
|
1545
|
+
chars = data[p_start...p_end]
|
1546
|
+
ast_node = string(utf8_string(chars), complete: true)
|
1547
|
+
@buffers[:string] = ast_node
|
1314
1548
|
end
|
1315
|
-
when
|
1549
|
+
when 26 then
|
1316
1550
|
begin
|
1317
1551
|
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1552
|
+
trace('PARAMETER parameter_end')
|
1553
|
+
param_node = parameter()
|
1554
|
+
completed = true
|
1555
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1556
|
+
unless prefix_node.nil?
|
1557
|
+
param_node <<= prefix_node
|
1558
|
+
unless prefix_node.complete
|
1559
|
+
trace('PN incomplete')
|
1560
|
+
completed = false
|
1561
|
+
end
|
1562
|
+
end
|
1563
|
+
|
1564
|
+
value_node = @buffers.delete(:param_value)
|
1565
|
+
unless value_node.nil?
|
1566
|
+
param_node <<= value_node
|
1567
|
+
unless value_node.complete
|
1568
|
+
trace('VN incomplete')
|
1569
|
+
completed = false
|
1570
|
+
end
|
1571
|
+
else
|
1572
|
+
completed = false
|
1321
1573
|
end
|
1574
|
+
|
1575
|
+
param_node.complete = completed
|
1576
|
+
@buffers[:parameter] = param_node
|
1322
1577
|
end
|
1323
1578
|
begin
|
1324
1579
|
|
1325
|
-
|
1326
|
-
|
1580
|
+
trace('PARAMETER yield_parameter')
|
1581
|
+
yield @buffers[:parameter]
|
1327
1582
|
end
|
1328
|
-
when
|
1583
|
+
when 24 then
|
1329
1584
|
begin
|
1330
1585
|
|
1331
|
-
|
1586
|
+
trace('PARAMETER add_prefix')
|
1587
|
+
ident = @buffers.delete(:ident)
|
1588
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
1589
|
+
@buffers[:param_prefix] = prefix_node
|
1332
1590
|
end
|
1333
1591
|
begin
|
1334
1592
|
|
1335
|
-
(
|
1593
|
+
trace('IDENTIFIER start_identifier')
|
1594
|
+
@identifier_started = true
|
1595
|
+
id_start = p;
|
1336
1596
|
end
|
1337
|
-
when
|
1597
|
+
when 8 then
|
1338
1598
|
begin
|
1339
1599
|
|
1340
|
-
|
1600
|
+
trace('STRING start_string')
|
1601
|
+
@string_opened = true
|
1602
|
+
p_start = p
|
1341
1603
|
end
|
1342
1604
|
begin
|
1343
1605
|
|
1344
|
-
|
1606
|
+
trace('STRING stop_string')
|
1607
|
+
@string_closed = true
|
1608
|
+
p_end = p
|
1345
1609
|
end
|
1346
|
-
when 4 then
|
1347
1610
|
begin
|
1348
1611
|
|
1349
|
-
|
1350
|
-
|
1612
|
+
trace('STRING string_end')
|
1613
|
+
completed = @string_opened && @string_closed
|
1614
|
+
chars = data[p_start...p_end]
|
1615
|
+
ast_node = string(utf8_string(chars), complete: true)
|
1616
|
+
@buffers[:string] = ast_node
|
1351
1617
|
end
|
1618
|
+
when 14 then
|
1352
1619
|
begin
|
1353
1620
|
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
end
|
1621
|
+
trace('STRING stop_string')
|
1622
|
+
@string_closed = true
|
1623
|
+
p_end = p
|
1358
1624
|
end
|
1359
|
-
when 14 then
|
1360
1625
|
begin
|
1361
1626
|
|
1362
|
-
|
1363
|
-
|
1627
|
+
trace('STRING string_end')
|
1628
|
+
completed = @string_opened && @string_closed
|
1629
|
+
chars = data[p_start...p_end]
|
1630
|
+
ast_node = string(utf8_string(chars), complete: true)
|
1631
|
+
@buffers[:string] = ast_node
|
1364
1632
|
end
|
1365
1633
|
begin
|
1366
1634
|
|
1367
|
-
|
1635
|
+
trace('STRING yield_string')
|
1368
1636
|
yield @buffers[:string]
|
1369
1637
|
end
|
1370
|
-
when
|
1638
|
+
when 15 then
|
1371
1639
|
begin
|
1372
1640
|
|
1373
|
-
|
1641
|
+
trace('PARAMETER add_string_param_value')
|
1642
|
+
string_node = @buffers.delete(:string)
|
1643
|
+
value_node = value(string_node, complete: string_node.complete)
|
1644
|
+
@buffers[:param_value] = value_node
|
1374
1645
|
end
|
1375
1646
|
begin
|
1376
1647
|
|
1377
|
-
|
1378
|
-
|
1648
|
+
trace('PARAMETER parameter_end')
|
1649
|
+
param_node = parameter()
|
1650
|
+
completed = true
|
1651
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1652
|
+
unless prefix_node.nil?
|
1653
|
+
param_node <<= prefix_node
|
1654
|
+
unless prefix_node.complete
|
1655
|
+
trace('PN incomplete')
|
1656
|
+
completed = false
|
1657
|
+
end
|
1658
|
+
end
|
1659
|
+
|
1660
|
+
value_node = @buffers.delete(:param_value)
|
1661
|
+
unless value_node.nil?
|
1662
|
+
param_node <<= value_node
|
1663
|
+
unless value_node.complete
|
1664
|
+
trace('VN incomplete')
|
1665
|
+
completed = false
|
1666
|
+
end
|
1667
|
+
else
|
1668
|
+
completed = false
|
1669
|
+
end
|
1670
|
+
|
1671
|
+
param_node.complete = completed
|
1672
|
+
@buffers[:parameter] = param_node
|
1379
1673
|
end
|
1380
1674
|
begin
|
1381
1675
|
|
1676
|
+
trace('PARAMETER yield_parameter')
|
1382
1677
|
yield @buffers[:parameter]
|
1383
1678
|
end
|
1679
|
+
when 23 then
|
1680
|
+
begin
|
1681
|
+
|
1682
|
+
trace('PARAMETER add_prefix')
|
1683
|
+
ident = @buffers.delete(:ident)
|
1684
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
1685
|
+
@buffers[:param_prefix] = prefix_node
|
1686
|
+
end
|
1687
|
+
begin
|
1688
|
+
|
1689
|
+
trace('PARAMETER parameter_end')
|
1690
|
+
param_node = parameter()
|
1691
|
+
completed = true
|
1692
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1693
|
+
unless prefix_node.nil?
|
1694
|
+
param_node <<= prefix_node
|
1695
|
+
unless prefix_node.complete
|
1696
|
+
trace('PN incomplete')
|
1697
|
+
completed = false
|
1698
|
+
end
|
1699
|
+
end
|
1700
|
+
|
1701
|
+
value_node = @buffers.delete(:param_value)
|
1702
|
+
unless value_node.nil?
|
1703
|
+
param_node <<= value_node
|
1704
|
+
unless value_node.complete
|
1705
|
+
trace('VN incomplete')
|
1706
|
+
completed = false
|
1707
|
+
end
|
1708
|
+
else
|
1709
|
+
completed = false
|
1710
|
+
end
|
1711
|
+
|
1712
|
+
param_node.complete = completed
|
1713
|
+
@buffers[:parameter] = param_node
|
1714
|
+
end
|
1715
|
+
begin
|
1716
|
+
|
1717
|
+
trace('PARAMETER yield_parameter')
|
1718
|
+
yield @buffers[:parameter]
|
1719
|
+
end
|
1720
|
+
when 18 then
|
1721
|
+
begin
|
1722
|
+
|
1723
|
+
trace('IDENTIFIER end_identifier')
|
1724
|
+
id_end = p
|
1725
|
+
chars = data[id_start...id_end]
|
1726
|
+
completed = !chars.empty?
|
1727
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1728
|
+
@buffers[:ident] = ast_node
|
1729
|
+
end
|
1730
|
+
begin
|
1731
|
+
|
1732
|
+
trace('PARAMETER add_ident_param_value')
|
1733
|
+
ident = @buffers.delete(:ident)
|
1734
|
+
value_node = value(ident, complete: ident.complete)
|
1735
|
+
@buffers[:param_value] = value_node
|
1736
|
+
end
|
1737
|
+
begin
|
1738
|
+
|
1739
|
+
trace('PARAMETER parameter_end')
|
1740
|
+
param_node = parameter()
|
1741
|
+
completed = true
|
1742
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1743
|
+
unless prefix_node.nil?
|
1744
|
+
param_node <<= prefix_node
|
1745
|
+
unless prefix_node.complete
|
1746
|
+
trace('PN incomplete')
|
1747
|
+
completed = false
|
1748
|
+
end
|
1749
|
+
end
|
1750
|
+
|
1751
|
+
value_node = @buffers.delete(:param_value)
|
1752
|
+
unless value_node.nil?
|
1753
|
+
param_node <<= value_node
|
1754
|
+
unless value_node.complete
|
1755
|
+
trace('VN incomplete')
|
1756
|
+
completed = false
|
1757
|
+
end
|
1758
|
+
else
|
1759
|
+
completed = false
|
1760
|
+
end
|
1761
|
+
|
1762
|
+
param_node.complete = completed
|
1763
|
+
@buffers[:parameter] = param_node
|
1764
|
+
end
|
1765
|
+
begin
|
1766
|
+
|
1767
|
+
trace('PARAMETER yield_parameter')
|
1768
|
+
yield @buffers[:parameter]
|
1769
|
+
end
|
1770
|
+
when 13 then
|
1771
|
+
begin
|
1772
|
+
|
1773
|
+
trace('STRING start_string')
|
1774
|
+
@string_opened = true
|
1775
|
+
p_start = p
|
1776
|
+
end
|
1777
|
+
begin
|
1778
|
+
|
1779
|
+
trace('STRING stop_string')
|
1780
|
+
@string_closed = true
|
1781
|
+
p_end = p
|
1782
|
+
end
|
1783
|
+
begin
|
1784
|
+
|
1785
|
+
trace('STRING string_end')
|
1786
|
+
completed = @string_opened && @string_closed
|
1787
|
+
chars = data[p_start...p_end]
|
1788
|
+
ast_node = string(utf8_string(chars), complete: true)
|
1789
|
+
@buffers[:string] = ast_node
|
1790
|
+
end
|
1791
|
+
begin
|
1792
|
+
|
1793
|
+
trace('STRING yield_string')
|
1794
|
+
yield @buffers[:string]
|
1795
|
+
end
|
1796
|
+
end
|
1797
|
+
end
|
1798
|
+
end
|
1799
|
+
if _goto_level <= _again
|
1800
|
+
if cs == 0
|
1801
|
+
_goto_level = _out
|
1802
|
+
next
|
1803
|
+
end
|
1804
|
+
p += 1
|
1805
|
+
if p != pe
|
1806
|
+
_goto_level = _resume
|
1807
|
+
next
|
1808
|
+
end
|
1809
|
+
end
|
1810
|
+
if _goto_level <= _test_eof
|
1811
|
+
if p == eof
|
1812
|
+
case _bel_eof_actions[cs]
|
1813
|
+
when 30 then
|
1814
|
+
begin
|
1815
|
+
|
1816
|
+
trace('IDENTIFIER yield_identifier')
|
1817
|
+
yield @buffers[:ident]
|
1818
|
+
end
|
1819
|
+
when 27 then
|
1820
|
+
begin
|
1821
|
+
|
1822
|
+
trace("PARAMETER parameter_node_eof")
|
1823
|
+
param_node = parameter()
|
1824
|
+
completed = true
|
1825
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1826
|
+
unless prefix_node.nil?
|
1827
|
+
param_node <<= prefix_node
|
1828
|
+
unless prefix_node.complete
|
1829
|
+
completed = false
|
1830
|
+
end
|
1831
|
+
end
|
1832
|
+
|
1833
|
+
string_value_node = @buffers.delete(:string)
|
1834
|
+
unless string_value_node.nil?
|
1835
|
+
param_node <<= string_value_node
|
1836
|
+
unless string_value_node.complete
|
1837
|
+
completed = false
|
1838
|
+
end
|
1839
|
+
else
|
1840
|
+
completed = false
|
1841
|
+
end
|
1842
|
+
|
1843
|
+
param_node.complete = completed
|
1844
|
+
yield param_node
|
1845
|
+
end
|
1846
|
+
when 28 then
|
1847
|
+
begin
|
1848
|
+
|
1849
|
+
trace('IDENTIFIER end_identifier')
|
1850
|
+
id_end = p
|
1851
|
+
chars = data[id_start...id_end]
|
1852
|
+
completed = !chars.empty?
|
1853
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1854
|
+
@buffers[:ident] = ast_node
|
1855
|
+
end
|
1856
|
+
begin
|
1857
|
+
|
1858
|
+
trace('IDENTIFIER yield_identifier')
|
1859
|
+
yield @buffers[:ident]
|
1860
|
+
end
|
1861
|
+
when 4 then
|
1862
|
+
begin
|
1863
|
+
|
1864
|
+
trace('STRING a_string_err')
|
1865
|
+
p_end = p
|
1866
|
+
chars = data[p_start...p_end]
|
1867
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1868
|
+
@buffers[:string] = ast_node
|
1869
|
+
end
|
1870
|
+
begin
|
1871
|
+
|
1872
|
+
trace("PARAMETER parameter_node_eof")
|
1873
|
+
param_node = parameter()
|
1874
|
+
completed = true
|
1875
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1876
|
+
unless prefix_node.nil?
|
1877
|
+
param_node <<= prefix_node
|
1878
|
+
unless prefix_node.complete
|
1879
|
+
completed = false
|
1880
|
+
end
|
1881
|
+
end
|
1882
|
+
|
1883
|
+
string_value_node = @buffers.delete(:string)
|
1884
|
+
unless string_value_node.nil?
|
1885
|
+
param_node <<= string_value_node
|
1886
|
+
unless string_value_node.complete
|
1887
|
+
completed = false
|
1888
|
+
end
|
1889
|
+
else
|
1890
|
+
completed = false
|
1891
|
+
end
|
1892
|
+
|
1893
|
+
param_node.complete = completed
|
1894
|
+
yield param_node
|
1895
|
+
end
|
1896
|
+
when 10 then
|
1897
|
+
begin
|
1898
|
+
|
1899
|
+
trace('STRING string_node_err')
|
1900
|
+
p_end = p
|
1901
|
+
chars = data[p_start...p_end]
|
1902
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1903
|
+
yield ast_node
|
1904
|
+
end
|
1905
|
+
begin
|
1906
|
+
|
1907
|
+
trace('STRING string_node_eof')
|
1908
|
+
yield @buffers[:string]
|
1909
|
+
end
|
1910
|
+
when 25 then
|
1911
|
+
begin
|
1912
|
+
|
1913
|
+
trace('IDENTIFIER an_ident_eof')
|
1914
|
+
if @identifier_started
|
1915
|
+
id_end = p
|
1916
|
+
chars = data[id_start...id_end]
|
1917
|
+
completed = !chars.empty?
|
1918
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
1919
|
+
@buffers[:ident] = ast_node
|
1920
|
+
end
|
1921
|
+
end
|
1922
|
+
begin
|
1923
|
+
|
1924
|
+
trace('PARAMETER parameter_end')
|
1925
|
+
param_node = parameter()
|
1926
|
+
completed = true
|
1927
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1928
|
+
unless prefix_node.nil?
|
1929
|
+
param_node <<= prefix_node
|
1930
|
+
unless prefix_node.complete
|
1931
|
+
trace('PN incomplete')
|
1932
|
+
completed = false
|
1933
|
+
end
|
1934
|
+
end
|
1935
|
+
|
1936
|
+
value_node = @buffers.delete(:param_value)
|
1937
|
+
unless value_node.nil?
|
1938
|
+
param_node <<= value_node
|
1939
|
+
unless value_node.complete
|
1940
|
+
trace('VN incomplete')
|
1941
|
+
completed = false
|
1942
|
+
end
|
1943
|
+
else
|
1944
|
+
completed = false
|
1945
|
+
end
|
1946
|
+
|
1947
|
+
param_node.complete = completed
|
1948
|
+
@buffers[:parameter] = param_node
|
1949
|
+
end
|
1950
|
+
begin
|
1951
|
+
|
1952
|
+
trace('PARAMETER yield_parameter')
|
1953
|
+
yield @buffers[:parameter]
|
1954
|
+
end
|
1955
|
+
when 6 then
|
1956
|
+
begin
|
1957
|
+
|
1958
|
+
trace('STRING eof_string')
|
1959
|
+
p_end = p
|
1960
|
+
chars = data[p_start...p_end]
|
1961
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1962
|
+
@buffers[:string] = ast_node
|
1963
|
+
end
|
1964
|
+
begin
|
1965
|
+
|
1966
|
+
trace('STRING a_string_err')
|
1967
|
+
p_end = p
|
1968
|
+
chars = data[p_start...p_end]
|
1969
|
+
ast_node = string(utf8_string(chars), complete: false)
|
1970
|
+
@buffers[:string] = ast_node
|
1971
|
+
end
|
1972
|
+
begin
|
1973
|
+
|
1974
|
+
trace("PARAMETER parameter_node_eof")
|
1975
|
+
param_node = parameter()
|
1976
|
+
completed = true
|
1977
|
+
prefix_node = @buffers.delete(:param_prefix)
|
1978
|
+
unless prefix_node.nil?
|
1979
|
+
param_node <<= prefix_node
|
1980
|
+
unless prefix_node.complete
|
1981
|
+
completed = false
|
1982
|
+
end
|
1983
|
+
end
|
1984
|
+
|
1985
|
+
string_value_node = @buffers.delete(:string)
|
1986
|
+
unless string_value_node.nil?
|
1987
|
+
param_node <<= string_value_node
|
1988
|
+
unless string_value_node.complete
|
1989
|
+
completed = false
|
1990
|
+
end
|
1991
|
+
else
|
1992
|
+
completed = false
|
1993
|
+
end
|
1994
|
+
|
1995
|
+
param_node.complete = completed
|
1996
|
+
yield param_node
|
1997
|
+
end
|
1998
|
+
when 12 then
|
1999
|
+
begin
|
2000
|
+
|
2001
|
+
trace('STRING eof_string')
|
2002
|
+
p_end = p
|
2003
|
+
chars = data[p_start...p_end]
|
2004
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2005
|
+
@buffers[:string] = ast_node
|
2006
|
+
end
|
2007
|
+
begin
|
2008
|
+
|
2009
|
+
trace('STRING string_node_err')
|
2010
|
+
p_end = p
|
2011
|
+
chars = data[p_start...p_end]
|
2012
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2013
|
+
yield ast_node
|
2014
|
+
end
|
2015
|
+
begin
|
2016
|
+
|
2017
|
+
trace('STRING string_node_eof')
|
2018
|
+
yield @buffers[:string]
|
2019
|
+
end
|
2020
|
+
when 15 then
|
2021
|
+
begin
|
2022
|
+
|
2023
|
+
trace('PARAMETER add_string_param_value')
|
2024
|
+
string_node = @buffers.delete(:string)
|
2025
|
+
value_node = value(string_node, complete: string_node.complete)
|
2026
|
+
@buffers[:param_value] = value_node
|
2027
|
+
end
|
2028
|
+
begin
|
2029
|
+
|
2030
|
+
trace('PARAMETER parameter_end')
|
2031
|
+
param_node = parameter()
|
2032
|
+
completed = true
|
2033
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2034
|
+
unless prefix_node.nil?
|
2035
|
+
param_node <<= prefix_node
|
2036
|
+
unless prefix_node.complete
|
2037
|
+
trace('PN incomplete')
|
2038
|
+
completed = false
|
2039
|
+
end
|
2040
|
+
end
|
2041
|
+
|
2042
|
+
value_node = @buffers.delete(:param_value)
|
2043
|
+
unless value_node.nil?
|
2044
|
+
param_node <<= value_node
|
2045
|
+
unless value_node.complete
|
2046
|
+
trace('VN incomplete')
|
2047
|
+
completed = false
|
2048
|
+
end
|
2049
|
+
else
|
2050
|
+
completed = false
|
2051
|
+
end
|
2052
|
+
|
2053
|
+
param_node.complete = completed
|
2054
|
+
@buffers[:parameter] = param_node
|
2055
|
+
end
|
2056
|
+
begin
|
2057
|
+
|
2058
|
+
trace('PARAMETER yield_parameter')
|
2059
|
+
yield @buffers[:parameter]
|
2060
|
+
end
|
2061
|
+
when 1 then
|
2062
|
+
begin
|
2063
|
+
|
2064
|
+
trace('IDENTIFIER an_ident_eof')
|
2065
|
+
if @identifier_started
|
2066
|
+
id_end = p
|
2067
|
+
chars = data[id_start...id_end]
|
2068
|
+
completed = !chars.empty?
|
2069
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2070
|
+
@buffers[:ident] = ast_node
|
2071
|
+
end
|
2072
|
+
end
|
2073
|
+
begin
|
2074
|
+
|
2075
|
+
trace('IDENTIFIER an_ident_err')
|
2076
|
+
id_end = p
|
2077
|
+
chars = data[id_start...id_end]
|
2078
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
2079
|
+
@buffers[:ident] = ast_node
|
2080
|
+
end
|
2081
|
+
begin
|
2082
|
+
|
2083
|
+
trace('STRING a_string_err')
|
2084
|
+
p_end = p
|
2085
|
+
chars = data[p_start...p_end]
|
2086
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2087
|
+
@buffers[:string] = ast_node
|
2088
|
+
end
|
2089
|
+
begin
|
2090
|
+
|
2091
|
+
trace("PARAMETER parameter_node_eof")
|
2092
|
+
param_node = parameter()
|
2093
|
+
completed = true
|
2094
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2095
|
+
unless prefix_node.nil?
|
2096
|
+
param_node <<= prefix_node
|
2097
|
+
unless prefix_node.complete
|
2098
|
+
completed = false
|
2099
|
+
end
|
2100
|
+
end
|
2101
|
+
|
2102
|
+
string_value_node = @buffers.delete(:string)
|
2103
|
+
unless string_value_node.nil?
|
2104
|
+
param_node <<= string_value_node
|
2105
|
+
unless string_value_node.complete
|
2106
|
+
completed = false
|
2107
|
+
end
|
2108
|
+
else
|
2109
|
+
completed = false
|
2110
|
+
end
|
2111
|
+
|
2112
|
+
param_node.complete = completed
|
2113
|
+
yield param_node
|
2114
|
+
end
|
2115
|
+
when 21 then
|
2116
|
+
begin
|
2117
|
+
|
2118
|
+
trace('IDENTIFIER an_ident_eof')
|
2119
|
+
if @identifier_started
|
2120
|
+
id_end = p
|
2121
|
+
chars = data[id_start...id_end]
|
2122
|
+
completed = !chars.empty?
|
2123
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2124
|
+
@buffers[:ident] = ast_node
|
2125
|
+
end
|
2126
|
+
end
|
2127
|
+
begin
|
2128
|
+
|
2129
|
+
trace('PARAMETER add_prefix')
|
2130
|
+
ident = @buffers.delete(:ident)
|
2131
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
2132
|
+
@buffers[:param_prefix] = prefix_node
|
2133
|
+
end
|
2134
|
+
begin
|
2135
|
+
|
2136
|
+
trace('PARAMETER parameter_end')
|
2137
|
+
param_node = parameter()
|
2138
|
+
completed = true
|
2139
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2140
|
+
unless prefix_node.nil?
|
2141
|
+
param_node <<= prefix_node
|
2142
|
+
unless prefix_node.complete
|
2143
|
+
trace('PN incomplete')
|
2144
|
+
completed = false
|
2145
|
+
end
|
2146
|
+
end
|
2147
|
+
|
2148
|
+
value_node = @buffers.delete(:param_value)
|
2149
|
+
unless value_node.nil?
|
2150
|
+
param_node <<= value_node
|
2151
|
+
unless value_node.complete
|
2152
|
+
trace('VN incomplete')
|
2153
|
+
completed = false
|
2154
|
+
end
|
2155
|
+
else
|
2156
|
+
completed = false
|
2157
|
+
end
|
2158
|
+
|
2159
|
+
param_node.complete = completed
|
2160
|
+
@buffers[:parameter] = param_node
|
2161
|
+
end
|
2162
|
+
begin
|
2163
|
+
|
2164
|
+
trace('PARAMETER yield_parameter')
|
2165
|
+
yield @buffers[:parameter]
|
2166
|
+
end
|
2167
|
+
when 16 then
|
2168
|
+
begin
|
2169
|
+
|
2170
|
+
trace('IDENTIFIER end_identifier')
|
2171
|
+
id_end = p
|
2172
|
+
chars = data[id_start...id_end]
|
2173
|
+
completed = !chars.empty?
|
2174
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2175
|
+
@buffers[:ident] = ast_node
|
2176
|
+
end
|
2177
|
+
begin
|
2178
|
+
|
2179
|
+
trace('IDENTIFIER an_ident_eof')
|
2180
|
+
if @identifier_started
|
2181
|
+
id_end = p
|
2182
|
+
chars = data[id_start...id_end]
|
2183
|
+
completed = !chars.empty?
|
2184
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2185
|
+
@buffers[:ident] = ast_node
|
2186
|
+
end
|
2187
|
+
end
|
2188
|
+
begin
|
2189
|
+
|
2190
|
+
trace('PARAMETER add_ident_param_value')
|
2191
|
+
ident = @buffers.delete(:ident)
|
2192
|
+
value_node = value(ident, complete: ident.complete)
|
2193
|
+
@buffers[:param_value] = value_node
|
2194
|
+
end
|
2195
|
+
begin
|
2196
|
+
|
2197
|
+
trace('PARAMETER parameter_end')
|
2198
|
+
param_node = parameter()
|
2199
|
+
completed = true
|
2200
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2201
|
+
unless prefix_node.nil?
|
2202
|
+
param_node <<= prefix_node
|
2203
|
+
unless prefix_node.complete
|
2204
|
+
trace('PN incomplete')
|
2205
|
+
completed = false
|
2206
|
+
end
|
2207
|
+
end
|
2208
|
+
|
2209
|
+
value_node = @buffers.delete(:param_value)
|
2210
|
+
unless value_node.nil?
|
2211
|
+
param_node <<= value_node
|
2212
|
+
unless value_node.complete
|
2213
|
+
trace('VN incomplete')
|
2214
|
+
completed = false
|
2215
|
+
end
|
2216
|
+
else
|
2217
|
+
completed = false
|
2218
|
+
end
|
2219
|
+
|
2220
|
+
param_node.complete = completed
|
2221
|
+
@buffers[:parameter] = param_node
|
2222
|
+
end
|
2223
|
+
begin
|
2224
|
+
|
2225
|
+
trace('PARAMETER yield_parameter')
|
2226
|
+
yield @buffers[:parameter]
|
2227
|
+
end
|
2228
|
+
when 19 then
|
2229
|
+
begin
|
2230
|
+
|
2231
|
+
trace('IDENTIFIER an_ident_eof')
|
2232
|
+
if @identifier_started
|
2233
|
+
id_end = p
|
2234
|
+
chars = data[id_start...id_end]
|
2235
|
+
completed = !chars.empty?
|
2236
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2237
|
+
@buffers[:ident] = ast_node
|
2238
|
+
end
|
2239
|
+
end
|
2240
|
+
begin
|
2241
|
+
|
2242
|
+
trace('IDENTIFIER end_identifier')
|
2243
|
+
id_end = p
|
2244
|
+
chars = data[id_start...id_end]
|
2245
|
+
completed = !chars.empty?
|
2246
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2247
|
+
@buffers[:ident] = ast_node
|
2248
|
+
end
|
2249
|
+
begin
|
2250
|
+
|
2251
|
+
trace('PARAMETER add_ident_param_value')
|
2252
|
+
ident = @buffers.delete(:ident)
|
2253
|
+
value_node = value(ident, complete: ident.complete)
|
2254
|
+
@buffers[:param_value] = value_node
|
2255
|
+
end
|
2256
|
+
begin
|
2257
|
+
|
2258
|
+
trace('PARAMETER parameter_end')
|
2259
|
+
param_node = parameter()
|
2260
|
+
completed = true
|
2261
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2262
|
+
unless prefix_node.nil?
|
2263
|
+
param_node <<= prefix_node
|
2264
|
+
unless prefix_node.complete
|
2265
|
+
trace('PN incomplete')
|
2266
|
+
completed = false
|
2267
|
+
end
|
2268
|
+
end
|
2269
|
+
|
2270
|
+
value_node = @buffers.delete(:param_value)
|
2271
|
+
unless value_node.nil?
|
2272
|
+
param_node <<= value_node
|
2273
|
+
unless value_node.complete
|
2274
|
+
trace('VN incomplete')
|
2275
|
+
completed = false
|
2276
|
+
end
|
2277
|
+
else
|
2278
|
+
completed = false
|
2279
|
+
end
|
2280
|
+
|
2281
|
+
param_node.complete = completed
|
2282
|
+
@buffers[:parameter] = param_node
|
2283
|
+
end
|
2284
|
+
begin
|
2285
|
+
|
2286
|
+
trace('PARAMETER yield_parameter')
|
2287
|
+
yield @buffers[:parameter]
|
2288
|
+
end
|
2289
|
+
end
|
2290
|
+
end
|
2291
|
+
|
2292
|
+
end
|
2293
|
+
if _goto_level <= _out
|
2294
|
+
break
|
2295
|
+
end
|
2296
|
+
end
|
2297
|
+
end
|
2298
|
+
|
2299
|
+
|
2300
|
+
=end
|
2301
|
+
# end: ragel
|
2302
|
+
|
2303
|
+
require_relative '../ast/node'
|
2304
|
+
require_relative '../mixin/buffer'
|
2305
|
+
require_relative '../nonblocking_io_wrapper'
|
2306
|
+
require_relative '../tracer'
|
2307
|
+
|
2308
|
+
module BELParser
|
2309
|
+
module Parsers
|
2310
|
+
module Expression
|
2311
|
+
module Parameter
|
2312
|
+
|
2313
|
+
class << self
|
2314
|
+
|
2315
|
+
MAX_LENGTH = 1024 * 128 # 128K
|
2316
|
+
|
2317
|
+
def parse(content)
|
2318
|
+
return nil unless content
|
2319
|
+
|
2320
|
+
Parser.new(content).each do |obj|
|
2321
|
+
yield obj
|
2322
|
+
end
|
2323
|
+
end
|
2324
|
+
end
|
2325
|
+
|
2326
|
+
private
|
2327
|
+
|
2328
|
+
class Parser
|
2329
|
+
include Enumerable
|
2330
|
+
include BELParser::Parsers::Buffer
|
2331
|
+
include BELParser::Parsers::AST::Sexp
|
2332
|
+
include BELParser::Parsers::Tracer
|
2333
|
+
|
2334
|
+
def initialize(content)
|
2335
|
+
@content = content
|
2336
|
+
# begin: ragel
|
2337
|
+
|
2338
|
+
class << self
|
2339
|
+
attr_accessor :_bel_trans_keys
|
2340
|
+
private :_bel_trans_keys, :_bel_trans_keys=
|
2341
|
+
end
|
2342
|
+
self._bel_trans_keys = [
|
2343
|
+
0, 0, 9, 122, 9, 122,
|
2344
|
+
9, 34, 34, 92, 34,
|
2345
|
+
92, 0, 0, 48, 122,
|
2346
|
+
9, 34, 34, 92, 34, 92,
|
2347
|
+
0, 0, 10, 10, 0,
|
2348
|
+
0, 10, 122, 10, 122,
|
2349
|
+
9, 122, 9, 122, 9, 34,
|
2350
|
+
10, 122, 0, 0, 0,
|
2351
|
+
0, 0
|
2352
|
+
]
|
2353
|
+
|
2354
|
+
class << self
|
2355
|
+
attr_accessor :_bel_key_spans
|
2356
|
+
private :_bel_key_spans, :_bel_key_spans=
|
2357
|
+
end
|
2358
|
+
self._bel_key_spans = [
|
2359
|
+
0, 114, 114, 26, 59, 59, 0, 75,
|
2360
|
+
26, 59, 59, 0, 1, 0, 113, 113,
|
2361
|
+
114, 114, 26, 113, 0, 0
|
2362
|
+
]
|
2363
|
+
|
2364
|
+
class << self
|
2365
|
+
attr_accessor :_bel_index_offsets
|
2366
|
+
private :_bel_index_offsets, :_bel_index_offsets=
|
2367
|
+
end
|
2368
|
+
self._bel_index_offsets = [
|
2369
|
+
0, 0, 115, 230, 257, 317, 377, 378,
|
2370
|
+
454, 481, 541, 601, 602, 604, 605, 719,
|
2371
|
+
833, 948, 1063, 1090, 1204, 1205
|
2372
|
+
]
|
2373
|
+
|
2374
|
+
class << self
|
2375
|
+
attr_accessor :_bel_indicies
|
2376
|
+
private :_bel_indicies, :_bel_indicies=
|
2377
|
+
end
|
2378
|
+
self._bel_indicies = [
|
2379
|
+
1, 2, 2, 2, 2, 0, 0, 0,
|
2380
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2381
|
+
0, 0, 0, 0, 0, 0, 0, 1,
|
2382
|
+
0, 3, 0, 0, 0, 0, 0, 0,
|
2383
|
+
0, 0, 0, 0, 0, 0, 0, 4,
|
2384
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2385
|
+
4, 0, 0, 0, 0, 0, 0, 0,
|
2386
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2387
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2388
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2389
|
+
4, 4, 0, 0, 0, 0, 4, 0,
|
2390
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2391
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2392
|
+
4, 4, 4, 4, 4, 4, 4, 4,
|
2393
|
+
4, 4, 0, 1, 2, 2, 2, 2,
|
2394
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2395
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2396
|
+
0, 0, 1, 0, 3, 0, 0, 0,
|
2397
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2398
|
+
0, 0, 5, 5, 5, 5, 5, 5,
|
2399
|
+
5, 5, 5, 5, 0, 0, 0, 0,
|
2400
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
2401
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2402
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2403
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
2404
|
+
0, 5, 0, 5, 5, 5, 5, 5,
|
2405
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2406
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2407
|
+
5, 5, 5, 5, 5, 0, 2, 2,
|
2408
|
+
2, 2, 2, 6, 6, 6, 6, 6,
|
2409
|
+
6, 6, 6, 6, 6, 6, 6, 6,
|
2410
|
+
6, 6, 6, 6, 6, 2, 6, 3,
|
2411
|
+
6, 8, 7, 7, 7, 7, 7, 7,
|
2412
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2413
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2414
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2415
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2416
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2417
|
+
7, 7, 7, 7, 7, 7, 7, 7,
|
2418
|
+
7, 7, 7, 9, 7, 11, 10, 10,
|
2419
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2420
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2421
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2422
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2423
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2424
|
+
10, 10, 10, 10, 10, 10, 10, 10,
|
2425
|
+
10, 10, 10, 10, 10, 10, 10, 12,
|
2426
|
+
10, 10, 13, 13, 13, 13, 13, 13,
|
2427
|
+
13, 13, 13, 13, 14, 14, 14, 14,
|
2428
|
+
14, 14, 14, 13, 13, 13, 13, 13,
|
2429
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
2430
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
2431
|
+
13, 13, 13, 13, 13, 14, 14, 14,
|
2432
|
+
14, 13, 14, 13, 13, 13, 13, 13,
|
2433
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
2434
|
+
13, 13, 13, 13, 13, 13, 13, 13,
|
2435
|
+
13, 13, 13, 13, 13, 14, 16, 16,
|
2436
|
+
16, 16, 16, 15, 15, 15, 15, 15,
|
2437
|
+
15, 15, 15, 15, 15, 15, 15, 15,
|
2438
|
+
15, 15, 15, 15, 15, 16, 15, 17,
|
2439
|
+
15, 19, 18, 18, 18, 18, 18, 18,
|
2440
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2441
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2442
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2443
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2444
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2445
|
+
18, 18, 18, 18, 18, 18, 18, 18,
|
2446
|
+
18, 18, 18, 20, 18, 22, 21, 21,
|
2447
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2448
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2449
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2450
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2451
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2452
|
+
21, 21, 21, 21, 21, 21, 21, 21,
|
2453
|
+
21, 21, 21, 21, 21, 21, 21, 23,
|
2454
|
+
21, 21, 24, 6, 14, 26, 25, 25,
|
2455
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2456
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2457
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2458
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2459
|
+
25, 25, 25, 27, 27, 27, 27, 27,
|
2460
|
+
27, 27, 27, 27, 27, 25, 25, 25,
|
2461
|
+
25, 25, 25, 25, 27, 27, 27, 27,
|
2462
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
2463
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
2464
|
+
27, 27, 27, 27, 27, 27, 25, 25,
|
2465
|
+
25, 25, 27, 25, 27, 27, 27, 27,
|
2466
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
2467
|
+
27, 27, 27, 27, 27, 27, 27, 27,
|
2468
|
+
27, 27, 27, 27, 27, 27, 25, 26,
|
2469
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2470
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2471
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2472
|
+
25, 25, 25, 25, 25, 25, 25, 25,
|
2473
|
+
25, 25, 25, 25, 25, 28, 28, 28,
|
2474
|
+
28, 28, 28, 28, 28, 28, 28, 29,
|
2475
|
+
25, 25, 25, 25, 25, 25, 28, 28,
|
2476
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2477
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2478
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2479
|
+
25, 25, 25, 25, 28, 25, 28, 28,
|
2480
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2481
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2482
|
+
28, 28, 28, 28, 28, 28, 28, 28,
|
2483
|
+
25, 30, 31, 32, 32, 32, 0, 0,
|
2484
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2485
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2486
|
+
30, 0, 33, 0, 0, 0, 0, 0,
|
2487
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2488
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
2489
|
+
34, 34, 0, 0, 0, 0, 0, 0,
|
2490
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
2491
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
2492
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
2493
|
+
34, 34, 34, 0, 0, 0, 0, 34,
|
2494
|
+
0, 34, 34, 34, 34, 34, 34, 34,
|
2495
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
2496
|
+
34, 34, 34, 34, 34, 34, 34, 34,
|
2497
|
+
34, 34, 34, 0, 35, 36, 2, 2,
|
2498
|
+
2, 0, 0, 0, 0, 0, 0, 0,
|
2499
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2500
|
+
0, 0, 0, 35, 0, 3, 0, 0,
|
2501
|
+
0, 0, 0, 0, 0, 0, 0, 0,
|
2502
|
+
0, 0, 0, 5, 5, 5, 5, 5,
|
2503
|
+
5, 5, 5, 5, 5, 0, 0, 0,
|
2504
|
+
0, 0, 0, 0, 5, 5, 5, 5,
|
2505
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2506
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2507
|
+
5, 5, 5, 5, 5, 5, 0, 0,
|
2508
|
+
0, 0, 5, 0, 5, 5, 5, 5,
|
2509
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2510
|
+
5, 5, 5, 5, 5, 5, 5, 5,
|
2511
|
+
5, 5, 5, 5, 5, 5, 0, 2,
|
2512
|
+
2, 2, 2, 2, 6, 6, 6, 6,
|
2513
|
+
6, 6, 6, 6, 6, 6, 6, 6,
|
2514
|
+
6, 6, 6, 6, 6, 6, 2, 6,
|
2515
|
+
3, 6, 38, 37, 37, 37, 37, 37,
|
2516
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
2517
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
2518
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
2519
|
+
37, 37, 37, 37, 37, 37, 37, 37,
|
2520
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
2521
|
+
39, 39, 37, 37, 37, 37, 37, 37,
|
2522
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
2523
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
2524
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
2525
|
+
39, 39, 39, 37, 37, 37, 37, 39,
|
2526
|
+
37, 39, 39, 39, 39, 39, 39, 39,
|
2527
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
2528
|
+
39, 39, 39, 39, 39, 39, 39, 39,
|
2529
|
+
39, 39, 39, 37, 37, 15, 0
|
2530
|
+
]
|
2531
|
+
|
2532
|
+
class << self
|
2533
|
+
attr_accessor :_bel_trans_targs
|
2534
|
+
private :_bel_trans_targs, :_bel_trans_targs=
|
2535
|
+
end
|
2536
|
+
self._bel_trans_targs = [
|
2537
|
+
0, 2, 3, 4, 15, 14, 0, 5,
|
2538
|
+
12, 6, 5, 12, 6, 19, 0, 0,
|
2539
|
+
8, 9, 10, 21, 11, 10, 21, 11,
|
2540
|
+
13, 0, 13, 14, 15, 16, 17, 18,
|
2541
|
+
3, 4, 14, 17, 18, 0, 20, 19
|
2542
|
+
]
|
2543
|
+
|
2544
|
+
class << self
|
2545
|
+
attr_accessor :_bel_trans_actions
|
2546
|
+
private :_bel_trans_actions, :_bel_trans_actions=
|
2547
|
+
end
|
2548
|
+
self._bel_trans_actions = [
|
2549
|
+
2, 0, 0, 0, 3, 3, 5, 7,
|
2550
|
+
8, 7, 0, 9, 0, 3, 0, 11,
|
2551
|
+
0, 0, 7, 13, 7, 0, 14, 0,
|
2552
|
+
15, 17, 18, 0, 0, 20, 22, 23,
|
2553
|
+
22, 22, 24, 0, 26, 29, 20, 0
|
2554
|
+
]
|
2555
|
+
|
2556
|
+
class << self
|
2557
|
+
attr_accessor :_bel_eof_actions
|
2558
|
+
private :_bel_eof_actions, :_bel_eof_actions=
|
2559
|
+
end
|
2560
|
+
self._bel_eof_actions = [
|
2561
|
+
0, 1, 1, 4, 6, 6, 6, 0,
|
2562
|
+
10, 12, 12, 12, 15, 0, 16, 19,
|
2563
|
+
21, 25, 27, 28, 30, 0
|
2564
|
+
]
|
2565
|
+
|
2566
|
+
class << self
|
2567
|
+
attr_accessor :bel_start
|
2568
|
+
end
|
2569
|
+
self.bel_start = 1;
|
2570
|
+
class << self
|
2571
|
+
attr_accessor :bel_first_final
|
2572
|
+
end
|
2573
|
+
self.bel_first_final = 12;
|
2574
|
+
class << self
|
2575
|
+
attr_accessor :bel_error
|
2576
|
+
end
|
2577
|
+
self.bel_error = 0;
|
2578
|
+
|
2579
|
+
class << self
|
2580
|
+
attr_accessor :bel_en_ident_node
|
2581
|
+
end
|
2582
|
+
self.bel_en_ident_node = 7;
|
2583
|
+
class << self
|
2584
|
+
attr_accessor :bel_en_string_node
|
2585
|
+
end
|
2586
|
+
self.bel_en_string_node = 8;
|
2587
|
+
class << self
|
2588
|
+
attr_accessor :bel_en_parameter_node
|
2589
|
+
end
|
2590
|
+
self.bel_en_parameter_node = 1;
|
2591
|
+
|
2592
|
+
|
2593
|
+
# end: ragel
|
2594
|
+
end
|
2595
|
+
|
2596
|
+
def each
|
2597
|
+
@buffers = {}
|
2598
|
+
@incomplete = {}
|
2599
|
+
data = @content.unpack('C*')
|
2600
|
+
p = 0
|
2601
|
+
pe = data.length
|
2602
|
+
p_start = 0
|
2603
|
+
p_end = 0
|
2604
|
+
id_start = 0
|
2605
|
+
id_end = 0
|
2606
|
+
eof = data.length
|
2607
|
+
|
2608
|
+
# begin: ragel
|
2609
|
+
|
2610
|
+
begin
|
2611
|
+
p ||= 0
|
2612
|
+
pe ||= data.length
|
2613
|
+
cs = bel_start
|
2614
|
+
end
|
2615
|
+
|
2616
|
+
|
2617
|
+
begin
|
2618
|
+
testEof = false
|
2619
|
+
_slen, _trans, _keys, _inds, _acts, _nacts = nil
|
2620
|
+
_goto_level = 0
|
2621
|
+
_resume = 10
|
2622
|
+
_eof_trans = 15
|
2623
|
+
_again = 20
|
2624
|
+
_test_eof = 30
|
2625
|
+
_out = 40
|
2626
|
+
while true
|
2627
|
+
if _goto_level <= 0
|
2628
|
+
if p == pe
|
2629
|
+
_goto_level = _test_eof
|
2630
|
+
next
|
2631
|
+
end
|
2632
|
+
if cs == 0
|
2633
|
+
_goto_level = _out
|
2634
|
+
next
|
2635
|
+
end
|
2636
|
+
end
|
2637
|
+
if _goto_level <= _resume
|
2638
|
+
_keys = cs << 1
|
2639
|
+
_inds = _bel_index_offsets[cs]
|
2640
|
+
_slen = _bel_key_spans[cs]
|
2641
|
+
_wide = data[p].ord
|
2642
|
+
_trans = if ( _slen > 0 &&
|
2643
|
+
_bel_trans_keys[_keys] <= _wide &&
|
2644
|
+
_wide <= _bel_trans_keys[_keys + 1]
|
2645
|
+
) then
|
2646
|
+
_bel_indicies[ _inds + _wide - _bel_trans_keys[_keys] ]
|
2647
|
+
else
|
2648
|
+
_bel_indicies[ _inds + _slen ]
|
2649
|
+
end
|
2650
|
+
cs = _bel_trans_targs[_trans]
|
2651
|
+
if _bel_trans_actions[_trans] != 0
|
2652
|
+
case _bel_trans_actions[_trans]
|
2653
|
+
when 3 then
|
2654
|
+
begin
|
2655
|
+
|
2656
|
+
trace('IDENTIFIER start_identifier')
|
2657
|
+
@identifier_started = true
|
2658
|
+
id_start = p;
|
2659
|
+
end
|
2660
|
+
when 20 then
|
2661
|
+
begin
|
2662
|
+
|
2663
|
+
trace('IDENTIFIER end_identifier')
|
2664
|
+
id_end = p
|
2665
|
+
chars = data[id_start...id_end]
|
2666
|
+
completed = !chars.empty?
|
2667
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2668
|
+
@buffers[:ident] = ast_node
|
2669
|
+
end
|
2670
|
+
when 17 then
|
2671
|
+
begin
|
2672
|
+
|
2673
|
+
trace('IDENTIFIER an_ident_err')
|
2674
|
+
id_end = p
|
2675
|
+
chars = data[id_start...id_end]
|
2676
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
2677
|
+
@buffers[:ident] = ast_node
|
2678
|
+
end
|
2679
|
+
when 29 then
|
2680
|
+
begin
|
2681
|
+
|
2682
|
+
trace('IDENTIFIER ident_node_err')
|
2683
|
+
id_end = p
|
2684
|
+
chars = data[id_start...id_end]
|
2685
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
2686
|
+
yield ast_node
|
2687
|
+
end
|
1384
2688
|
when 7 then
|
1385
2689
|
begin
|
1386
2690
|
|
1387
|
-
|
2691
|
+
trace('STRING start_string')
|
2692
|
+
@string_opened = true
|
2693
|
+
p_start = p
|
2694
|
+
end
|
2695
|
+
when 5 then
|
2696
|
+
begin
|
2697
|
+
|
2698
|
+
trace('STRING a_string_err')
|
2699
|
+
p_end = p
|
2700
|
+
chars = data[p_start...p_end]
|
2701
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2702
|
+
@buffers[:string] = ast_node
|
2703
|
+
end
|
2704
|
+
when 11 then
|
2705
|
+
begin
|
2706
|
+
|
2707
|
+
trace('STRING string_node_err')
|
2708
|
+
p_end = p
|
2709
|
+
chars = data[p_start...p_end]
|
2710
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2711
|
+
yield ast_node
|
2712
|
+
end
|
2713
|
+
when 22 then
|
2714
|
+
begin
|
2715
|
+
|
2716
|
+
trace('PARAMETER add_prefix')
|
2717
|
+
ident = @buffers.delete(:ident)
|
2718
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
2719
|
+
@buffers[:param_prefix] = prefix_node
|
2720
|
+
end
|
2721
|
+
when 2 then
|
2722
|
+
begin
|
2723
|
+
|
2724
|
+
trace('IDENTIFIER an_ident_err')
|
2725
|
+
id_end = p
|
2726
|
+
chars = data[id_start...id_end]
|
2727
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
2728
|
+
@buffers[:ident] = ast_node
|
2729
|
+
end
|
2730
|
+
begin
|
2731
|
+
|
2732
|
+
trace('STRING a_string_err')
|
2733
|
+
p_end = p
|
2734
|
+
chars = data[p_start...p_end]
|
2735
|
+
ast_node = string(utf8_string(chars), complete: false)
|
2736
|
+
@buffers[:string] = ast_node
|
2737
|
+
end
|
2738
|
+
when 9 then
|
2739
|
+
begin
|
2740
|
+
|
2741
|
+
trace('STRING stop_string')
|
2742
|
+
@string_closed = true
|
2743
|
+
p_end = p
|
2744
|
+
end
|
2745
|
+
begin
|
2746
|
+
|
2747
|
+
trace('STRING string_end')
|
2748
|
+
completed = @string_opened && @string_closed
|
2749
|
+
chars = data[p_start...p_end]
|
2750
|
+
ast_node = string(utf8_string(chars), complete: true)
|
2751
|
+
@buffers[:string] = ast_node
|
2752
|
+
end
|
2753
|
+
when 26 then
|
2754
|
+
begin
|
2755
|
+
|
2756
|
+
trace('PARAMETER parameter_end')
|
2757
|
+
param_node = parameter()
|
2758
|
+
completed = true
|
2759
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2760
|
+
unless prefix_node.nil?
|
2761
|
+
param_node <<= prefix_node
|
2762
|
+
unless prefix_node.complete
|
2763
|
+
trace('PN incomplete')
|
2764
|
+
completed = false
|
2765
|
+
end
|
2766
|
+
end
|
2767
|
+
|
2768
|
+
value_node = @buffers.delete(:param_value)
|
2769
|
+
unless value_node.nil?
|
2770
|
+
param_node <<= value_node
|
2771
|
+
unless value_node.complete
|
2772
|
+
trace('VN incomplete')
|
2773
|
+
completed = false
|
2774
|
+
end
|
2775
|
+
else
|
2776
|
+
completed = false
|
2777
|
+
end
|
2778
|
+
|
2779
|
+
param_node.complete = completed
|
2780
|
+
@buffers[:parameter] = param_node
|
2781
|
+
end
|
2782
|
+
begin
|
2783
|
+
|
2784
|
+
trace('PARAMETER yield_parameter')
|
2785
|
+
yield @buffers[:parameter]
|
2786
|
+
end
|
2787
|
+
when 24 then
|
2788
|
+
begin
|
2789
|
+
|
2790
|
+
trace('PARAMETER add_prefix')
|
2791
|
+
ident = @buffers.delete(:ident)
|
2792
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
2793
|
+
@buffers[:param_prefix] = prefix_node
|
2794
|
+
end
|
2795
|
+
begin
|
2796
|
+
|
2797
|
+
trace('IDENTIFIER start_identifier')
|
2798
|
+
@identifier_started = true
|
2799
|
+
id_start = p;
|
2800
|
+
end
|
2801
|
+
when 8 then
|
2802
|
+
begin
|
2803
|
+
|
2804
|
+
trace('STRING start_string')
|
2805
|
+
@string_opened = true
|
2806
|
+
p_start = p
|
2807
|
+
end
|
2808
|
+
begin
|
2809
|
+
|
2810
|
+
trace('STRING stop_string')
|
2811
|
+
@string_closed = true
|
2812
|
+
p_end = p
|
2813
|
+
end
|
2814
|
+
begin
|
2815
|
+
|
2816
|
+
trace('STRING string_end')
|
2817
|
+
completed = @string_opened && @string_closed
|
2818
|
+
chars = data[p_start...p_end]
|
2819
|
+
ast_node = string(utf8_string(chars), complete: true)
|
2820
|
+
@buffers[:string] = ast_node
|
2821
|
+
end
|
2822
|
+
when 14 then
|
2823
|
+
begin
|
2824
|
+
|
2825
|
+
trace('STRING stop_string')
|
2826
|
+
@string_closed = true
|
2827
|
+
p_end = p
|
2828
|
+
end
|
2829
|
+
begin
|
2830
|
+
|
2831
|
+
trace('STRING string_end')
|
2832
|
+
completed = @string_opened && @string_closed
|
2833
|
+
chars = data[p_start...p_end]
|
2834
|
+
ast_node = string(utf8_string(chars), complete: true)
|
2835
|
+
@buffers[:string] = ast_node
|
2836
|
+
end
|
2837
|
+
begin
|
2838
|
+
|
2839
|
+
trace('STRING yield_string')
|
2840
|
+
yield @buffers[:string]
|
2841
|
+
end
|
2842
|
+
when 15 then
|
2843
|
+
begin
|
2844
|
+
|
2845
|
+
trace('PARAMETER add_string_param_value')
|
2846
|
+
string_node = @buffers.delete(:string)
|
2847
|
+
value_node = value(string_node, complete: string_node.complete)
|
2848
|
+
@buffers[:param_value] = value_node
|
2849
|
+
end
|
2850
|
+
begin
|
2851
|
+
|
2852
|
+
trace('PARAMETER parameter_end')
|
2853
|
+
param_node = parameter()
|
2854
|
+
completed = true
|
2855
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2856
|
+
unless prefix_node.nil?
|
2857
|
+
param_node <<= prefix_node
|
2858
|
+
unless prefix_node.complete
|
2859
|
+
trace('PN incomplete')
|
2860
|
+
completed = false
|
2861
|
+
end
|
2862
|
+
end
|
2863
|
+
|
2864
|
+
value_node = @buffers.delete(:param_value)
|
2865
|
+
unless value_node.nil?
|
2866
|
+
param_node <<= value_node
|
2867
|
+
unless value_node.complete
|
2868
|
+
trace('VN incomplete')
|
2869
|
+
completed = false
|
2870
|
+
end
|
2871
|
+
else
|
2872
|
+
completed = false
|
2873
|
+
end
|
2874
|
+
|
2875
|
+
param_node.complete = completed
|
2876
|
+
@buffers[:parameter] = param_node
|
2877
|
+
end
|
2878
|
+
begin
|
2879
|
+
|
2880
|
+
trace('PARAMETER yield_parameter')
|
2881
|
+
yield @buffers[:parameter]
|
2882
|
+
end
|
2883
|
+
when 23 then
|
2884
|
+
begin
|
2885
|
+
|
2886
|
+
trace('PARAMETER add_prefix')
|
2887
|
+
ident = @buffers.delete(:ident)
|
2888
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
2889
|
+
@buffers[:param_prefix] = prefix_node
|
2890
|
+
end
|
2891
|
+
begin
|
2892
|
+
|
2893
|
+
trace('PARAMETER parameter_end')
|
2894
|
+
param_node = parameter()
|
2895
|
+
completed = true
|
2896
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2897
|
+
unless prefix_node.nil?
|
2898
|
+
param_node <<= prefix_node
|
2899
|
+
unless prefix_node.complete
|
2900
|
+
trace('PN incomplete')
|
2901
|
+
completed = false
|
2902
|
+
end
|
2903
|
+
end
|
2904
|
+
|
2905
|
+
value_node = @buffers.delete(:param_value)
|
2906
|
+
unless value_node.nil?
|
2907
|
+
param_node <<= value_node
|
2908
|
+
unless value_node.complete
|
2909
|
+
trace('VN incomplete')
|
2910
|
+
completed = false
|
2911
|
+
end
|
2912
|
+
else
|
2913
|
+
completed = false
|
2914
|
+
end
|
2915
|
+
|
2916
|
+
param_node.complete = completed
|
2917
|
+
@buffers[:parameter] = param_node
|
2918
|
+
end
|
2919
|
+
begin
|
2920
|
+
|
2921
|
+
trace('PARAMETER yield_parameter')
|
2922
|
+
yield @buffers[:parameter]
|
2923
|
+
end
|
2924
|
+
when 18 then
|
2925
|
+
begin
|
2926
|
+
|
2927
|
+
trace('IDENTIFIER end_identifier')
|
2928
|
+
id_end = p
|
2929
|
+
chars = data[id_start...id_end]
|
2930
|
+
completed = !chars.empty?
|
2931
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
2932
|
+
@buffers[:ident] = ast_node
|
2933
|
+
end
|
2934
|
+
begin
|
2935
|
+
|
2936
|
+
trace('PARAMETER add_ident_param_value')
|
2937
|
+
ident = @buffers.delete(:ident)
|
2938
|
+
value_node = value(ident, complete: ident.complete)
|
2939
|
+
@buffers[:param_value] = value_node
|
1388
2940
|
end
|
1389
2941
|
begin
|
1390
2942
|
|
1391
|
-
|
1392
|
-
|
2943
|
+
trace('PARAMETER parameter_end')
|
2944
|
+
param_node = parameter()
|
2945
|
+
completed = true
|
2946
|
+
prefix_node = @buffers.delete(:param_prefix)
|
2947
|
+
unless prefix_node.nil?
|
2948
|
+
param_node <<= prefix_node
|
2949
|
+
unless prefix_node.complete
|
2950
|
+
trace('PN incomplete')
|
2951
|
+
completed = false
|
2952
|
+
end
|
2953
|
+
end
|
2954
|
+
|
2955
|
+
value_node = @buffers.delete(:param_value)
|
2956
|
+
unless value_node.nil?
|
2957
|
+
param_node <<= value_node
|
2958
|
+
unless value_node.complete
|
2959
|
+
trace('VN incomplete')
|
2960
|
+
completed = false
|
2961
|
+
end
|
2962
|
+
else
|
2963
|
+
completed = false
|
2964
|
+
end
|
2965
|
+
|
2966
|
+
param_node.complete = completed
|
2967
|
+
@buffers[:parameter] = param_node
|
1393
2968
|
end
|
1394
2969
|
begin
|
1395
2970
|
|
2971
|
+
trace('PARAMETER yield_parameter')
|
1396
2972
|
yield @buffers[:parameter]
|
1397
2973
|
end
|
2974
|
+
when 13 then
|
2975
|
+
begin
|
2976
|
+
|
2977
|
+
trace('STRING start_string')
|
2978
|
+
@string_opened = true
|
2979
|
+
p_start = p
|
2980
|
+
end
|
2981
|
+
begin
|
2982
|
+
|
2983
|
+
trace('STRING stop_string')
|
2984
|
+
@string_closed = true
|
2985
|
+
p_end = p
|
2986
|
+
end
|
2987
|
+
begin
|
2988
|
+
|
2989
|
+
trace('STRING string_end')
|
2990
|
+
completed = @string_opened && @string_closed
|
2991
|
+
chars = data[p_start...p_end]
|
2992
|
+
ast_node = string(utf8_string(chars), complete: true)
|
2993
|
+
@buffers[:string] = ast_node
|
2994
|
+
end
|
2995
|
+
begin
|
2996
|
+
|
2997
|
+
trace('STRING yield_string')
|
2998
|
+
yield @buffers[:string]
|
2999
|
+
end
|
1398
3000
|
end
|
1399
3001
|
end
|
1400
3002
|
end
|
@@ -1412,69 +3014,481 @@ begin
|
|
1412
3014
|
if _goto_level <= _test_eof
|
1413
3015
|
if p == eof
|
1414
3016
|
case _bel_eof_actions[cs]
|
1415
|
-
when
|
3017
|
+
when 30 then
|
3018
|
+
begin
|
3019
|
+
|
3020
|
+
trace('IDENTIFIER yield_identifier')
|
3021
|
+
yield @buffers[:ident]
|
3022
|
+
end
|
3023
|
+
when 27 then
|
1416
3024
|
begin
|
1417
3025
|
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
3026
|
+
trace("PARAMETER parameter_node_eof")
|
3027
|
+
param_node = parameter()
|
3028
|
+
completed = true
|
3029
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3030
|
+
unless prefix_node.nil?
|
3031
|
+
param_node <<= prefix_node
|
3032
|
+
unless prefix_node.complete
|
3033
|
+
completed = false
|
3034
|
+
end
|
3035
|
+
end
|
3036
|
+
|
3037
|
+
string_value_node = @buffers.delete(:string)
|
3038
|
+
unless string_value_node.nil?
|
3039
|
+
param_node <<= string_value_node
|
3040
|
+
unless string_value_node.complete
|
3041
|
+
completed = false
|
3042
|
+
end
|
3043
|
+
else
|
3044
|
+
completed = false
|
1421
3045
|
end
|
3046
|
+
|
3047
|
+
param_node.complete = completed
|
3048
|
+
yield param_node
|
3049
|
+
end
|
3050
|
+
when 28 then
|
3051
|
+
begin
|
3052
|
+
|
3053
|
+
trace('IDENTIFIER end_identifier')
|
3054
|
+
id_end = p
|
3055
|
+
chars = data[id_start...id_end]
|
3056
|
+
completed = !chars.empty?
|
3057
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3058
|
+
@buffers[:ident] = ast_node
|
3059
|
+
end
|
3060
|
+
begin
|
3061
|
+
|
3062
|
+
trace('IDENTIFIER yield_identifier')
|
3063
|
+
yield @buffers[:ident]
|
3064
|
+
end
|
3065
|
+
when 4 then
|
3066
|
+
begin
|
3067
|
+
|
3068
|
+
trace('STRING a_string_err')
|
3069
|
+
p_end = p
|
3070
|
+
chars = data[p_start...p_end]
|
3071
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3072
|
+
@buffers[:string] = ast_node
|
3073
|
+
end
|
3074
|
+
begin
|
3075
|
+
|
3076
|
+
trace("PARAMETER parameter_node_eof")
|
3077
|
+
param_node = parameter()
|
3078
|
+
completed = true
|
3079
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3080
|
+
unless prefix_node.nil?
|
3081
|
+
param_node <<= prefix_node
|
3082
|
+
unless prefix_node.complete
|
3083
|
+
completed = false
|
3084
|
+
end
|
3085
|
+
end
|
3086
|
+
|
3087
|
+
string_value_node = @buffers.delete(:string)
|
3088
|
+
unless string_value_node.nil?
|
3089
|
+
param_node <<= string_value_node
|
3090
|
+
unless string_value_node.complete
|
3091
|
+
completed = false
|
3092
|
+
end
|
3093
|
+
else
|
3094
|
+
completed = false
|
3095
|
+
end
|
3096
|
+
|
3097
|
+
param_node.complete = completed
|
3098
|
+
yield param_node
|
3099
|
+
end
|
3100
|
+
when 10 then
|
3101
|
+
begin
|
3102
|
+
|
3103
|
+
trace('STRING string_node_err')
|
3104
|
+
p_end = p
|
3105
|
+
chars = data[p_start...p_end]
|
3106
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3107
|
+
yield ast_node
|
3108
|
+
end
|
3109
|
+
begin
|
3110
|
+
|
3111
|
+
trace('STRING string_node_eof')
|
3112
|
+
yield @buffers[:string]
|
3113
|
+
end
|
3114
|
+
when 25 then
|
3115
|
+
begin
|
3116
|
+
|
3117
|
+
trace('IDENTIFIER an_ident_eof')
|
3118
|
+
if @identifier_started
|
3119
|
+
id_end = p
|
3120
|
+
chars = data[id_start...id_end]
|
3121
|
+
completed = !chars.empty?
|
3122
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3123
|
+
@buffers[:ident] = ast_node
|
3124
|
+
end
|
3125
|
+
end
|
3126
|
+
begin
|
3127
|
+
|
3128
|
+
trace('PARAMETER parameter_end')
|
3129
|
+
param_node = parameter()
|
3130
|
+
completed = true
|
3131
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3132
|
+
unless prefix_node.nil?
|
3133
|
+
param_node <<= prefix_node
|
3134
|
+
unless prefix_node.complete
|
3135
|
+
trace('PN incomplete')
|
3136
|
+
completed = false
|
3137
|
+
end
|
3138
|
+
end
|
3139
|
+
|
3140
|
+
value_node = @buffers.delete(:param_value)
|
3141
|
+
unless value_node.nil?
|
3142
|
+
param_node <<= value_node
|
3143
|
+
unless value_node.complete
|
3144
|
+
trace('VN incomplete')
|
3145
|
+
completed = false
|
3146
|
+
end
|
3147
|
+
else
|
3148
|
+
completed = false
|
3149
|
+
end
|
3150
|
+
|
3151
|
+
param_node.complete = completed
|
3152
|
+
@buffers[:parameter] = param_node
|
3153
|
+
end
|
3154
|
+
begin
|
3155
|
+
|
3156
|
+
trace('PARAMETER yield_parameter')
|
3157
|
+
yield @buffers[:parameter]
|
3158
|
+
end
|
3159
|
+
when 6 then
|
3160
|
+
begin
|
3161
|
+
|
3162
|
+
trace('STRING eof_string')
|
3163
|
+
p_end = p
|
3164
|
+
chars = data[p_start...p_end]
|
3165
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3166
|
+
@buffers[:string] = ast_node
|
3167
|
+
end
|
3168
|
+
begin
|
3169
|
+
|
3170
|
+
trace('STRING a_string_err')
|
3171
|
+
p_end = p
|
3172
|
+
chars = data[p_start...p_end]
|
3173
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3174
|
+
@buffers[:string] = ast_node
|
1422
3175
|
end
|
1423
|
-
when 5 then
|
1424
3176
|
begin
|
1425
3177
|
|
1426
|
-
|
1427
|
-
|
3178
|
+
trace("PARAMETER parameter_node_eof")
|
3179
|
+
param_node = parameter()
|
3180
|
+
completed = true
|
3181
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3182
|
+
unless prefix_node.nil?
|
3183
|
+
param_node <<= prefix_node
|
3184
|
+
unless prefix_node.complete
|
3185
|
+
completed = false
|
3186
|
+
end
|
3187
|
+
end
|
3188
|
+
|
3189
|
+
string_value_node = @buffers.delete(:string)
|
3190
|
+
unless string_value_node.nil?
|
3191
|
+
param_node <<= string_value_node
|
3192
|
+
unless string_value_node.complete
|
3193
|
+
completed = false
|
3194
|
+
end
|
3195
|
+
else
|
3196
|
+
completed = false
|
3197
|
+
end
|
3198
|
+
|
3199
|
+
param_node.complete = completed
|
3200
|
+
yield param_node
|
1428
3201
|
end
|
1429
3202
|
when 12 then
|
1430
3203
|
begin
|
1431
3204
|
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
3205
|
+
trace('STRING eof_string')
|
3206
|
+
p_end = p
|
3207
|
+
chars = data[p_start...p_end]
|
3208
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3209
|
+
@buffers[:string] = ast_node
|
3210
|
+
end
|
3211
|
+
begin
|
3212
|
+
|
3213
|
+
trace('STRING string_node_err')
|
3214
|
+
p_end = p
|
3215
|
+
chars = data[p_start...p_end]
|
3216
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3217
|
+
yield ast_node
|
3218
|
+
end
|
3219
|
+
begin
|
3220
|
+
|
3221
|
+
trace('STRING string_node_eof')
|
3222
|
+
yield @buffers[:string]
|
3223
|
+
end
|
3224
|
+
when 15 then
|
3225
|
+
begin
|
3226
|
+
|
3227
|
+
trace('PARAMETER add_string_param_value')
|
3228
|
+
string_node = @buffers.delete(:string)
|
3229
|
+
value_node = value(string_node, complete: string_node.complete)
|
3230
|
+
@buffers[:param_value] = value_node
|
3231
|
+
end
|
3232
|
+
begin
|
3233
|
+
|
3234
|
+
trace('PARAMETER parameter_end')
|
3235
|
+
param_node = parameter()
|
3236
|
+
completed = true
|
3237
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3238
|
+
unless prefix_node.nil?
|
3239
|
+
param_node <<= prefix_node
|
3240
|
+
unless prefix_node.complete
|
3241
|
+
trace('PN incomplete')
|
3242
|
+
completed = false
|
3243
|
+
end
|
3244
|
+
end
|
3245
|
+
|
3246
|
+
value_node = @buffers.delete(:param_value)
|
3247
|
+
unless value_node.nil?
|
3248
|
+
param_node <<= value_node
|
3249
|
+
unless value_node.complete
|
3250
|
+
trace('VN incomplete')
|
3251
|
+
completed = false
|
3252
|
+
end
|
3253
|
+
else
|
3254
|
+
completed = false
|
1435
3255
|
end
|
3256
|
+
|
3257
|
+
param_node.complete = completed
|
3258
|
+
@buffers[:parameter] = param_node
|
1436
3259
|
end
|
1437
3260
|
begin
|
1438
3261
|
|
1439
|
-
|
1440
|
-
yield @buffers[:
|
3262
|
+
trace('PARAMETER yield_parameter')
|
3263
|
+
yield @buffers[:parameter]
|
1441
3264
|
end
|
1442
3265
|
when 1 then
|
1443
3266
|
begin
|
1444
3267
|
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
3268
|
+
trace('IDENTIFIER an_ident_eof')
|
3269
|
+
if @identifier_started
|
3270
|
+
id_end = p
|
3271
|
+
chars = data[id_start...id_end]
|
3272
|
+
completed = !chars.empty?
|
3273
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3274
|
+
@buffers[:ident] = ast_node
|
1448
3275
|
end
|
1449
3276
|
end
|
1450
3277
|
begin
|
1451
3278
|
|
1452
|
-
|
1453
|
-
|
3279
|
+
trace('IDENTIFIER an_ident_err')
|
3280
|
+
id_end = p
|
3281
|
+
chars = data[id_start...id_end]
|
3282
|
+
ast_node = identifier(utf8_string(chars), complete: false)
|
3283
|
+
@buffers[:ident] = ast_node
|
3284
|
+
end
|
3285
|
+
begin
|
3286
|
+
|
3287
|
+
trace('STRING a_string_err')
|
3288
|
+
p_end = p
|
3289
|
+
chars = data[p_start...p_end]
|
3290
|
+
ast_node = string(utf8_string(chars), complete: false)
|
3291
|
+
@buffers[:string] = ast_node
|
1454
3292
|
end
|
1455
|
-
when 4 then
|
1456
3293
|
begin
|
1457
3294
|
|
1458
|
-
|
1459
|
-
|
3295
|
+
trace("PARAMETER parameter_node_eof")
|
3296
|
+
param_node = parameter()
|
3297
|
+
completed = true
|
3298
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3299
|
+
unless prefix_node.nil?
|
3300
|
+
param_node <<= prefix_node
|
3301
|
+
unless prefix_node.complete
|
3302
|
+
completed = false
|
3303
|
+
end
|
3304
|
+
end
|
3305
|
+
|
3306
|
+
string_value_node = @buffers.delete(:string)
|
3307
|
+
unless string_value_node.nil?
|
3308
|
+
param_node <<= string_value_node
|
3309
|
+
unless string_value_node.complete
|
3310
|
+
completed = false
|
3311
|
+
end
|
3312
|
+
else
|
3313
|
+
completed = false
|
3314
|
+
end
|
3315
|
+
|
3316
|
+
param_node.complete = completed
|
3317
|
+
yield param_node
|
1460
3318
|
end
|
3319
|
+
when 21 then
|
1461
3320
|
begin
|
1462
3321
|
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
3322
|
+
trace('IDENTIFIER an_ident_eof')
|
3323
|
+
if @identifier_started
|
3324
|
+
id_end = p
|
3325
|
+
chars = data[id_start...id_end]
|
3326
|
+
completed = !chars.empty?
|
3327
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3328
|
+
@buffers[:ident] = ast_node
|
1466
3329
|
end
|
1467
3330
|
end
|
1468
|
-
when 14 then
|
1469
3331
|
begin
|
1470
3332
|
|
1471
|
-
|
1472
|
-
|
3333
|
+
trace('PARAMETER add_prefix')
|
3334
|
+
ident = @buffers.delete(:ident)
|
3335
|
+
prefix_node = prefix(ident, complete: ident.complete)
|
3336
|
+
@buffers[:param_prefix] = prefix_node
|
1473
3337
|
end
|
1474
3338
|
begin
|
1475
3339
|
|
1476
|
-
|
1477
|
-
|
3340
|
+
trace('PARAMETER parameter_end')
|
3341
|
+
param_node = parameter()
|
3342
|
+
completed = true
|
3343
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3344
|
+
unless prefix_node.nil?
|
3345
|
+
param_node <<= prefix_node
|
3346
|
+
unless prefix_node.complete
|
3347
|
+
trace('PN incomplete')
|
3348
|
+
completed = false
|
3349
|
+
end
|
3350
|
+
end
|
3351
|
+
|
3352
|
+
value_node = @buffers.delete(:param_value)
|
3353
|
+
unless value_node.nil?
|
3354
|
+
param_node <<= value_node
|
3355
|
+
unless value_node.complete
|
3356
|
+
trace('VN incomplete')
|
3357
|
+
completed = false
|
3358
|
+
end
|
3359
|
+
else
|
3360
|
+
completed = false
|
3361
|
+
end
|
3362
|
+
|
3363
|
+
param_node.complete = completed
|
3364
|
+
@buffers[:parameter] = param_node
|
3365
|
+
end
|
3366
|
+
begin
|
3367
|
+
|
3368
|
+
trace('PARAMETER yield_parameter')
|
3369
|
+
yield @buffers[:parameter]
|
3370
|
+
end
|
3371
|
+
when 16 then
|
3372
|
+
begin
|
3373
|
+
|
3374
|
+
trace('IDENTIFIER end_identifier')
|
3375
|
+
id_end = p
|
3376
|
+
chars = data[id_start...id_end]
|
3377
|
+
completed = !chars.empty?
|
3378
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3379
|
+
@buffers[:ident] = ast_node
|
3380
|
+
end
|
3381
|
+
begin
|
3382
|
+
|
3383
|
+
trace('IDENTIFIER an_ident_eof')
|
3384
|
+
if @identifier_started
|
3385
|
+
id_end = p
|
3386
|
+
chars = data[id_start...id_end]
|
3387
|
+
completed = !chars.empty?
|
3388
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3389
|
+
@buffers[:ident] = ast_node
|
3390
|
+
end
|
3391
|
+
end
|
3392
|
+
begin
|
3393
|
+
|
3394
|
+
trace('PARAMETER add_ident_param_value')
|
3395
|
+
ident = @buffers.delete(:ident)
|
3396
|
+
value_node = value(ident, complete: ident.complete)
|
3397
|
+
@buffers[:param_value] = value_node
|
3398
|
+
end
|
3399
|
+
begin
|
3400
|
+
|
3401
|
+
trace('PARAMETER parameter_end')
|
3402
|
+
param_node = parameter()
|
3403
|
+
completed = true
|
3404
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3405
|
+
unless prefix_node.nil?
|
3406
|
+
param_node <<= prefix_node
|
3407
|
+
unless prefix_node.complete
|
3408
|
+
trace('PN incomplete')
|
3409
|
+
completed = false
|
3410
|
+
end
|
3411
|
+
end
|
3412
|
+
|
3413
|
+
value_node = @buffers.delete(:param_value)
|
3414
|
+
unless value_node.nil?
|
3415
|
+
param_node <<= value_node
|
3416
|
+
unless value_node.complete
|
3417
|
+
trace('VN incomplete')
|
3418
|
+
completed = false
|
3419
|
+
end
|
3420
|
+
else
|
3421
|
+
completed = false
|
3422
|
+
end
|
3423
|
+
|
3424
|
+
param_node.complete = completed
|
3425
|
+
@buffers[:parameter] = param_node
|
3426
|
+
end
|
3427
|
+
begin
|
3428
|
+
|
3429
|
+
trace('PARAMETER yield_parameter')
|
3430
|
+
yield @buffers[:parameter]
|
3431
|
+
end
|
3432
|
+
when 19 then
|
3433
|
+
begin
|
3434
|
+
|
3435
|
+
trace('IDENTIFIER an_ident_eof')
|
3436
|
+
if @identifier_started
|
3437
|
+
id_end = p
|
3438
|
+
chars = data[id_start...id_end]
|
3439
|
+
completed = !chars.empty?
|
3440
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3441
|
+
@buffers[:ident] = ast_node
|
3442
|
+
end
|
3443
|
+
end
|
3444
|
+
begin
|
3445
|
+
|
3446
|
+
trace('IDENTIFIER end_identifier')
|
3447
|
+
id_end = p
|
3448
|
+
chars = data[id_start...id_end]
|
3449
|
+
completed = !chars.empty?
|
3450
|
+
ast_node = identifier(utf8_string(chars), complete: completed)
|
3451
|
+
@buffers[:ident] = ast_node
|
3452
|
+
end
|
3453
|
+
begin
|
3454
|
+
|
3455
|
+
trace('PARAMETER add_ident_param_value')
|
3456
|
+
ident = @buffers.delete(:ident)
|
3457
|
+
value_node = value(ident, complete: ident.complete)
|
3458
|
+
@buffers[:param_value] = value_node
|
3459
|
+
end
|
3460
|
+
begin
|
3461
|
+
|
3462
|
+
trace('PARAMETER parameter_end')
|
3463
|
+
param_node = parameter()
|
3464
|
+
completed = true
|
3465
|
+
prefix_node = @buffers.delete(:param_prefix)
|
3466
|
+
unless prefix_node.nil?
|
3467
|
+
param_node <<= prefix_node
|
3468
|
+
unless prefix_node.complete
|
3469
|
+
trace('PN incomplete')
|
3470
|
+
completed = false
|
3471
|
+
end
|
3472
|
+
end
|
3473
|
+
|
3474
|
+
value_node = @buffers.delete(:param_value)
|
3475
|
+
unless value_node.nil?
|
3476
|
+
param_node <<= value_node
|
3477
|
+
unless value_node.complete
|
3478
|
+
trace('VN incomplete')
|
3479
|
+
completed = false
|
3480
|
+
end
|
3481
|
+
else
|
3482
|
+
completed = false
|
3483
|
+
end
|
3484
|
+
|
3485
|
+
param_node.complete = completed
|
3486
|
+
@buffers[:parameter] = param_node
|
3487
|
+
end
|
3488
|
+
begin
|
3489
|
+
|
3490
|
+
trace('PARAMETER yield_parameter')
|
3491
|
+
yield @buffers[:parameter]
|
1478
3492
|
end
|
1479
3493
|
end
|
1480
3494
|
end
|
@@ -1486,7 +3500,7 @@ begin
|
|
1486
3500
|
end
|
1487
3501
|
end
|
1488
3502
|
|
1489
|
-
# end: ragel
|
3503
|
+
# end: ragel
|
1490
3504
|
end
|
1491
3505
|
end
|
1492
3506
|
end
|