hcl-checker 1.6.2 → 2.0.0

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.
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.5.0
4
- # from Racc grammar file "".
3
+ # This file is automatically generated by Racc 1.8.1
4
+ # from Racc grammar file "parse.y".
5
5
  #
6
6
 
7
7
  require 'racc/parser.rb'
@@ -12,7 +12,7 @@ module HCL
12
12
  module Checker
13
13
  class Parser < Racc::Parser
14
14
 
15
- module_eval(<<'...end parse.y/module_eval...', 'parse.y', 130)
15
+ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 263)
16
16
  #//
17
17
  #// HCL is unclear on what one should do when duplicate
18
18
  #// keys are encountered.
@@ -48,15 +48,21 @@ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 130)
48
48
 
49
49
 
50
50
  def on_error(error_token_id, error_value, value_stack)
51
- error_message = value_stack.to_s.split(',').last.gsub(']', '')
52
- header = "Parse error at #{error_message} #{error_value} (invalid token: #{error_value})"
53
- raise Racc::ParseError, header
51
+ line, column = @current_position
52
+ message = "Parse error on line #{line}, column #{column}: unexpected #{error_value.inspect}"
53
+ message += " (after #{value_stack.last.inspect})" unless value_stack.empty?
54
+
55
+ raise Racc::ParseError, message
54
56
  end
55
57
 
56
58
 
57
59
  def parse(input, duplicate_mode = :array)
58
60
  @duplicate_mode = duplicate_mode
59
- @lexer = HCL::Checker::Lexer.new.lex(input)
61
+
62
+ lexer = HCL::Checker::Lexer.new
63
+ @lexer = lexer.lex(input)
64
+ @lexer_positions = lexer.token_positions
65
+
60
66
  do_parse
61
67
 
62
68
  @result
@@ -64,9 +70,18 @@ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 130)
64
70
 
65
71
 
66
72
  def next_token
73
+ @current_position = @lexer_positions.shift
67
74
  @lexer.shift
68
75
  end
69
76
 
77
+ def negate(value)
78
+ value.is_a?(Numeric) ? -value : "-#{render(value)}"
79
+ end
80
+
81
+ def render(value)
82
+ value.nil? ? 'null' : value.to_s
83
+ end
84
+
70
85
  def deep_merge(hash1, hash2)
71
86
  hash2.keys.each do |key|
72
87
  value1 = hash1[key]
@@ -85,116 +100,421 @@ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 130)
85
100
  ##### State transition tables begin ###
86
101
 
87
102
  racc_action_table = [
88
- 22, 29, 28, 10, 19, 26, 44, 23, 5, 14,
89
- 6, 27, 29, 28, 13, 43, 40, 17, 37, 18,
90
- 14, 14, 27, 34, 29, 28, 32, 5, 40, 6,
91
- 37, 5, 14, 6, 27, 5, 41, 6, -11, -10,
92
- 31, 42, 12, 45, 20 ]
103
+ 35, 36, 44, 43, 107, 112, 41, 14, 37, 32,
104
+ 35, 36, 44, 43, 102, 93, 41, 16, 37, 32,
105
+ 94, 66, 31, 67, -13, 65, -14, 106, -15, 18,
106
+ -16, 42, 31, 40, 98, 111, 51, 52, 53, 18,
107
+ -17, 42, 101, 40, 35, 36, 44, 43, 78, -15,
108
+ 41, -18, 37, 32, 35, 36, 44, 43, 17, 27,
109
+ 41, 28, 37, 32, 76, 103, 31, 51, 52, 53,
110
+ 78, 105, 110, 18, 114, 42, 31, 40, 117, 122,
111
+ nil, nil, nil, 18, nil, 42, nil, 40, 35, 36,
112
+ 44, 43, nil, nil, 41, nil, 37, 32, 35, 36,
113
+ 44, 43, nil, nil, 41, nil, 37, 32, nil, nil,
114
+ 31, nil, nil, nil, nil, nil, nil, 18, nil, 42,
115
+ 31, 40, nil, nil, 73, nil, nil, 18, nil, 42,
116
+ 71, 40, 35, 36, 44, 43, nil, nil, 41, nil,
117
+ 37, 32, 35, 36, 44, 43, nil, nil, 41, nil,
118
+ 37, 32, nil, nil, 31, nil, nil, nil, nil, nil,
119
+ nil, 18, nil, 42, 31, 40, nil, nil, nil, nil,
120
+ nil, 18, nil, 42, nil, 40, 35, 36, 44, 43,
121
+ nil, nil, 41, nil, 37, 32, 35, 36, 44, 43,
122
+ nil, nil, 41, nil, 37, 32, nil, nil, 31, nil,
123
+ nil, nil, nil, nil, nil, 18, nil, 42, 31, 40,
124
+ nil, nil, nil, nil, nil, 18, nil, 42, nil, 40,
125
+ 35, 36, 44, 43, nil, nil, 41, nil, 37, 32,
126
+ 35, 36, 44, 43, nil, nil, 41, nil, 37, 32,
127
+ nil, nil, 31, nil, nil, nil, nil, nil, nil, 18,
128
+ nil, 42, 31, 40, nil, nil, nil, nil, nil, 18,
129
+ nil, 42, nil, 40, 35, 36, 44, 43, nil, nil,
130
+ 41, nil, 37, 32, 35, 36, 44, 43, nil, nil,
131
+ 41, nil, 37, 32, nil, nil, 31, nil, nil, nil,
132
+ nil, nil, nil, 18, nil, 42, 31, 40, nil, nil,
133
+ nil, nil, nil, 18, nil, 42, nil, 40, 35, 36,
134
+ 44, 43, nil, nil, 41, nil, 37, 32, 35, 36,
135
+ 44, 43, nil, nil, 41, nil, 37, 32, nil, nil,
136
+ 31, nil, nil, nil, nil, nil, nil, 18, nil, 42,
137
+ 31, 40, nil, nil, nil, nil, nil, 18, nil, 42,
138
+ nil, 40, 35, 36, 44, 43, nil, nil, 41, nil,
139
+ 37, 32, 35, 36, 44, 43, nil, nil, 41, nil,
140
+ 37, 32, nil, nil, 31, nil, nil, nil, nil, nil,
141
+ nil, 18, nil, 42, 31, 40, nil, nil, nil, nil,
142
+ nil, 18, nil, 42, nil, 40, 35, 36, 44, 43,
143
+ nil, nil, 41, nil, 37, 32, 35, 36, 44, 43,
144
+ nil, nil, 41, nil, 37, 32, nil, nil, 31, nil,
145
+ nil, nil, nil, nil, nil, 18, nil, 42, 31, 40,
146
+ nil, nil, nil, nil, nil, 18, nil, 42, nil, 40,
147
+ 35, 36, 44, 43, nil, nil, 41, nil, 37, 32,
148
+ nil, 96, 35, 36, 44, 43, nil, nil, 41, nil,
149
+ 37, 32, 31, nil, nil, nil, nil, nil, nil, 18,
150
+ nil, 42, nil, 40, 31, nil, nil, nil, nil, nil,
151
+ nil, 18, nil, 42, nil, 40, 35, 36, 44, 43,
152
+ nil, nil, 41, nil, 37, 32, 35, 36, 44, 43,
153
+ nil, nil, 41, nil, 37, 32, nil, nil, 31, nil,
154
+ nil, nil, nil, nil, nil, 18, nil, 42, 31, 40,
155
+ nil, nil, nil, nil, nil, 18, nil, 42, nil, 40,
156
+ 35, 36, 44, 43, nil, nil, 41, nil, 37, 32,
157
+ 35, 36, 44, 43, nil, nil, 41, nil, 37, 32,
158
+ nil, nil, 31, nil, nil, nil, nil, nil, nil, 18,
159
+ nil, 42, 31, 40, nil, nil, nil, nil, nil, 18,
160
+ nil, 42, nil, 40, 35, 36, 44, 43, nil, nil,
161
+ 41, nil, 37, 32, 35, 36, 44, 43, nil, nil,
162
+ 41, nil, 37, 32, nil, nil, 31, nil, nil, nil,
163
+ nil, nil, nil, 18, nil, 42, 31, 40, nil, nil,
164
+ nil, nil, nil, 18, nil, 42, nil, 40, 35, 36,
165
+ 44, 43, nil, nil, 41, nil, 37, 32, 35, 36,
166
+ 44, 43, nil, nil, 41, nil, 37, 32, nil, nil,
167
+ 31, nil, nil, nil, nil, nil, nil, 18, 10, 42,
168
+ 31, 40, nil, 5, nil, 6, nil, 18, nil, 42,
169
+ nil, 40, 35, 36, 44, 43, nil, nil, 41, nil,
170
+ 37, 32, nil, 48, 8, 9, 10, 46, nil, nil,
171
+ nil, 5, 26, 6, 31, nil, nil, 21, nil, 22,
172
+ nil, 18, 10, 42, nil, 40, nil, 5, nil, 6,
173
+ nil, 7, 8, 9, nil, 75, 10, 23, 24, 25,
174
+ 18, 5, nil, 6, nil, nil, nil, 7, 8, 9,
175
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
176
+ nil, 7, 8, 9, 50, 49, 51, 52, 53, 54,
177
+ 55, 56, 57, 58, 59, 60, 61, nil, 62, nil,
178
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 100,
179
+ 50, 49, 51, 52, 53, 54, 55, 56, 57, 58,
180
+ 59, 60, 61, nil, 62, nil, nil, nil, nil, nil,
181
+ nil, nil, nil, 109, 50, 49, 51, 52, 53, 54,
182
+ 55, 56, 57, 58, 59, 60, 61, nil, 62, nil,
183
+ nil, nil, nil, 123, 50, 49, 51, 52, 53, 54,
184
+ 55, 56, 57, 58, 59, 60, 61, nil, 62, nil,
185
+ nil, nil, nil, 127, 50, 49, 51, 52, 53, 54,
186
+ 55, 56, 57, 58, 59, 60, 61, nil, 62, nil,
187
+ 121, 50, 49, 51, 52, 53, 54, 55, 56, 57,
188
+ 58, 59, 60, 61, nil, 62, 108, 50, 49, 51,
189
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
190
+ nil, 62, 50, 49, 51, 52, 53, 54, 55, 56,
191
+ 57, 58, 59, 60, 61, nil, 62, 50, 49, 51,
192
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
193
+ nil, 62, 50, 49, 51, 52, 53, 54, 55, 56,
194
+ 57, 58, 59, 60, 61, nil, 62, 50, 49, 51,
195
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
196
+ nil, 62, 50, 49, 51, 52, 53, 54, 55, 56,
197
+ 57, 58, 59, 60, 61, nil, 62, 50, 49, 51,
198
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
199
+ nil, 62, 50, 49, 51, 52, 53, 54, 55, 56,
200
+ 57, 58, 59, 60, 61, nil, 62, 50, 49, 51,
201
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
202
+ nil, 62, 50, 49, 51, 52, 53, nil, nil, 56,
203
+ 57, 58, 59, 60, 61, 50, 49, 51, 52, 53,
204
+ 54, nil, 56, 57, 58, 59, 60, 61, 50, 49,
205
+ 51, 52, 53, nil, nil, -76, -76, 58, 59, 60,
206
+ 61, 50, 49, 51, 52, 53, nil, nil, -76, -76,
207
+ 58, 59, 60, 61, 50, 49, 51, 52, 53, nil,
208
+ nil, nil, nil, -76, -76, -76, -76, 50, 49, 51,
209
+ 52, 53, nil, nil, nil, nil, -76, -76, -76, -76,
210
+ 50, 49, 51, 52, 53, nil, nil, nil, nil, -76,
211
+ -76, -76, -76, 50, 49, 51, 52, 53, nil, nil,
212
+ nil, nil, -76, -76, -76, -76 ]
93
213
 
94
214
  racc_action_check = [
95
- 13, 13, 13, 1, 10, 13, 33, 13, 0, 13,
96
- 0, 13, 27, 27, 7, 33, 27, 9, 27, 9,
97
- 27, 9, 27, 27, 44, 44, 26, 3, 44, 3,
98
- 44, 30, 44, 30, 44, 14, 30, 14, 6, 5,
99
- 14, 32, 4, 42, 11 ]
215
+ 67, 67, 67, 67, 78, 99, 67, 1, 67, 67,
216
+ 17, 17, 17, 17, 70, 65, 17, 4, 17, 17,
217
+ 65, 33, 67, 33, 5, 33, 6, 78, 7, 67,
218
+ 8, 67, 17, 67, 67, 99, 79, 79, 79, 17,
219
+ 9, 17, 70, 17, 31, 31, 31, 31, 48, 48,
220
+ 31, 10, 31, 31, 32, 32, 32, 32, 11, 14,
221
+ 32, 15, 32, 32, 47, 72, 31, 80, 80, 80,
222
+ 73, 77, 96, 31, 104, 31, 32, 31, 107, 117,
223
+ nil, nil, nil, 32, nil, 32, nil, 32, 40, 40,
224
+ 40, 40, nil, nil, 40, nil, 40, 40, 42, 42,
225
+ 42, 42, nil, nil, 42, nil, 42, 42, nil, nil,
226
+ 40, nil, nil, nil, nil, nil, nil, 40, nil, 40,
227
+ 42, 40, nil, nil, 42, nil, nil, 42, nil, 42,
228
+ 42, 42, 49, 49, 49, 49, nil, nil, 49, nil,
229
+ 49, 49, 50, 50, 50, 50, nil, nil, 50, nil,
230
+ 50, 50, nil, nil, 49, nil, nil, nil, nil, nil,
231
+ nil, 49, nil, 49, 50, 49, nil, nil, nil, nil,
232
+ nil, 50, nil, 50, nil, 50, 51, 51, 51, 51,
233
+ nil, nil, 51, nil, 51, 51, 52, 52, 52, 52,
234
+ nil, nil, 52, nil, 52, 52, nil, nil, 51, nil,
235
+ nil, nil, nil, nil, nil, 51, nil, 51, 52, 51,
236
+ nil, nil, nil, nil, nil, 52, nil, 52, nil, 52,
237
+ 53, 53, 53, 53, nil, nil, 53, nil, 53, 53,
238
+ 54, 54, 54, 54, nil, nil, 54, nil, 54, 54,
239
+ nil, nil, 53, nil, nil, nil, nil, nil, nil, 53,
240
+ nil, 53, 54, 53, nil, nil, nil, nil, nil, 54,
241
+ nil, 54, nil, 54, 55, 55, 55, 55, nil, nil,
242
+ 55, nil, 55, 55, 56, 56, 56, 56, nil, nil,
243
+ 56, nil, 56, 56, nil, nil, 55, nil, nil, nil,
244
+ nil, nil, nil, 55, nil, 55, 56, 55, nil, nil,
245
+ nil, nil, nil, 56, nil, 56, nil, 56, 57, 57,
246
+ 57, 57, nil, nil, 57, nil, 57, 57, 58, 58,
247
+ 58, 58, nil, nil, 58, nil, 58, 58, nil, nil,
248
+ 57, nil, nil, nil, nil, nil, nil, 57, nil, 57,
249
+ 58, 57, nil, nil, nil, nil, nil, 58, nil, 58,
250
+ nil, 58, 59, 59, 59, 59, nil, nil, 59, nil,
251
+ 59, 59, 60, 60, 60, 60, nil, nil, 60, nil,
252
+ 60, 60, nil, nil, 59, nil, nil, nil, nil, nil,
253
+ nil, 59, nil, 59, 60, 59, nil, nil, nil, nil,
254
+ nil, 60, nil, 60, nil, 60, 61, 61, 61, 61,
255
+ nil, nil, 61, nil, 61, 61, 62, 62, 62, 62,
256
+ nil, nil, 62, nil, 62, 62, nil, nil, 61, nil,
257
+ nil, nil, nil, nil, nil, 61, nil, 61, 62, 61,
258
+ nil, nil, nil, nil, nil, 62, nil, 62, nil, 62,
259
+ 66, 66, 66, 66, nil, nil, 66, nil, 66, 66,
260
+ nil, 66, 102, 102, 102, 102, nil, nil, 102, nil,
261
+ 102, 102, 66, nil, nil, nil, nil, nil, nil, 66,
262
+ nil, 66, nil, 66, 102, nil, nil, nil, nil, nil,
263
+ nil, 102, nil, 102, nil, 102, 105, 105, 105, 105,
264
+ nil, nil, 105, nil, 105, 105, 106, 106, 106, 106,
265
+ nil, nil, 106, nil, 106, 106, nil, nil, 105, nil,
266
+ nil, nil, nil, nil, nil, 105, nil, 105, 106, 105,
267
+ nil, nil, nil, nil, nil, 106, nil, 106, nil, 106,
268
+ 108, 108, 108, 108, nil, nil, 108, nil, 108, 108,
269
+ 112, 112, 112, 112, nil, nil, 112, nil, 112, 112,
270
+ nil, nil, 108, nil, nil, nil, nil, nil, nil, 108,
271
+ nil, 108, 112, 108, nil, nil, nil, nil, nil, 112,
272
+ nil, 112, nil, 112, 114, 114, 114, 114, nil, nil,
273
+ 114, nil, 114, 114, 121, 121, 121, 121, nil, nil,
274
+ 121, nil, 121, 121, nil, nil, 114, nil, nil, nil,
275
+ nil, nil, nil, 114, nil, 114, 121, 114, nil, nil,
276
+ nil, nil, nil, 121, nil, 121, nil, 121, 122, 122,
277
+ 122, 122, nil, nil, 122, nil, 122, 122, 123, 123,
278
+ 123, 123, nil, nil, 123, nil, 123, 123, nil, nil,
279
+ 122, nil, nil, nil, nil, nil, nil, 122, 18, 122,
280
+ 123, 122, nil, 18, nil, 18, nil, 123, nil, 123,
281
+ nil, 123, 127, 127, 127, 127, nil, nil, 127, nil,
282
+ 127, 127, nil, 18, 18, 18, 45, 18, nil, nil,
283
+ nil, 45, 13, 45, 127, nil, nil, 13, nil, 13,
284
+ nil, 127, 0, 127, nil, 127, nil, 0, nil, 0,
285
+ nil, 45, 45, 45, nil, 45, 3, 13, 13, 13,
286
+ 13, 3, nil, 3, nil, nil, nil, 0, 0, 0,
287
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
288
+ nil, 3, 3, 3, 68, 68, 68, 68, 68, 68,
289
+ 68, 68, 68, 68, 68, 68, 68, nil, 68, nil,
290
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 68,
291
+ 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
292
+ 95, 95, 95, nil, 95, nil, nil, nil, nil, nil,
293
+ nil, nil, nil, 95, 120, 120, 120, 120, 120, 120,
294
+ 120, 120, 120, 120, 120, 120, 120, nil, 120, nil,
295
+ nil, nil, nil, 120, 124, 124, 124, 124, 124, 124,
296
+ 124, 124, 124, 124, 124, 124, 124, nil, 124, nil,
297
+ nil, nil, nil, 124, 115, 115, 115, 115, 115, 115,
298
+ 115, 115, 115, 115, 115, 115, 115, nil, 115, nil,
299
+ 115, 92, 92, 92, 92, 92, 92, 92, 92, 92,
300
+ 92, 92, 92, 92, nil, 92, 92, 29, 29, 29,
301
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
302
+ nil, 29, 69, 69, 69, 69, 69, 69, 69, 69,
303
+ 69, 69, 69, 69, 69, nil, 69, 97, 97, 97,
304
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
305
+ nil, 97, 116, 116, 116, 116, 116, 116, 116, 116,
306
+ 116, 116, 116, 116, 116, nil, 116, 118, 118, 118,
307
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
308
+ nil, 118, 119, 119, 119, 119, 119, 119, 119, 119,
309
+ 119, 119, 119, 119, 119, nil, 119, 125, 125, 125,
310
+ 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
311
+ nil, 125, 126, 126, 126, 126, 126, 126, 126, 126,
312
+ 126, 126, 126, 126, 126, nil, 126, 128, 128, 128,
313
+ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
314
+ nil, 128, 84, 84, 84, 84, 84, nil, nil, 84,
315
+ 84, 84, 84, 84, 84, 85, 85, 85, 85, 85,
316
+ 85, nil, 85, 85, 85, 85, 85, 85, 86, 86,
317
+ 86, 86, 86, nil, nil, 86, 86, 86, 86, 86,
318
+ 86, 87, 87, 87, 87, 87, nil, nil, 87, 87,
319
+ 87, 87, 87, 87, 88, 88, 88, 88, 88, nil,
320
+ nil, nil, nil, 88, 88, 88, 88, 89, 89, 89,
321
+ 89, 89, nil, nil, nil, nil, 89, 89, 89, 89,
322
+ 90, 90, 90, 90, 90, nil, nil, nil, nil, 90,
323
+ 90, 90, 90, 91, 91, 91, 91, 91, nil, nil,
324
+ nil, nil, 91, 91, 91, 91 ]
100
325
 
101
326
  racc_action_pointer = [
102
- 1, 3, nil, 20, 37, 31, 30, 6, nil, 10,
103
- 4, 39, nil, -2, 28, nil, nil, nil, nil, nil,
104
- nil, nil, nil, nil, nil, nil, 11, 9, nil, nil,
105
- 24, nil, 34, 1, nil, nil, nil, nil, nil, nil,
106
- nil, nil, 27, nil, 21, nil, nil ]
327
+ 689, 7, nil, 703, 11, 15, 17, 19, 21, 31,
328
+ 42, 49, nil, 679, 59, 55, nil, 8, 645, nil,
329
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 846,
330
+ nil, 42, 52, -12, nil, nil, nil, nil, nil, nil,
331
+ 86, nil, 96, nil, nil, 673, nil, 32, 40, 130,
332
+ 140, 174, 184, 218, 228, 262, 272, 306, 316, 350,
333
+ 360, 394, 404, nil, nil, 7, 438, -2, 723, 861,
334
+ 8, nil, 31, 62, nil, nil, nil, 45, -2, 23,
335
+ 54, nil, nil, nil, 981, 994, 1007, 1020, 1033, 1046,
336
+ 1059, 1072, 830, nil, nil, 749, 38, 876, nil, -1,
337
+ nil, nil, 450, nil, 48, 484, 494, 70, 528, nil,
338
+ nil, nil, 538, nil, 572, 813, 891, 50, 906, 921,
339
+ 773, 582, 616, 626, 793, 936, 951, 660, 966 ]
107
340
 
108
341
  racc_action_default = [
109
- -2, -36, -1, -3, -5, -22, -23, -36, -19, -36,
110
- -36, -7, -4, -36, -36, -20, -21, -22, -23, 47,
111
- -6, -12, -13, -14, -15, -16, -18, -36, -34, -35,
112
- -36, -9, -36, -36, -25, -26, -29, -30, -31, -32,
113
- -33, -8, -36, -24, -28, -17, -27 ]
342
+ -2, -76, -1, -3, -5, -57, -58, -59, -60, -61,
343
+ -62, -76, -20, -76, -76, -7, -4, -76, -76, -55,
344
+ -56, -57, -58, -59, -60, -61, -62, 129, -6, -19,
345
+ -21, -76, -76, -38, -39, -40, -41, -42, -43, -44,
346
+ -76, -46, -76, -74, -75, -76, -9, -76, -59, -76,
347
+ -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
348
+ -76, -76, -76, -36, -37, -76, -76, -76, -76, -73,
349
+ -76, -64, -76, -76, -70, -8, -10, -76, -76, -22,
350
+ -23, -24, -25, -26, -27, -28, -29, -30, -31, -32,
351
+ -33, -34, -76, -47, -48, -76, -76, -53, -51, -76,
352
+ -45, -63, -72, -65, -76, -76, -76, -76, -76, -49,
353
+ -50, -52, -76, -71, -76, -76, -68, -76, -35, -54,
354
+ -66, -76, -76, -76, -11, -69, -67, -76, -12 ]
114
355
 
115
356
  racc_goto_table = [
116
- 11, 35, 3, 15, 16, 33, 21, 24, 2, 1,
117
- 25, nil, nil, nil, nil, nil, 30, nil, 46, nil,
118
- nil, nil, nil, nil, nil, nil, nil, 11 ]
357
+ 29, 74, 77, 3, 15, 1, 2, 19, 47, 20,
358
+ 99, 70, 72, nil, 63, 64, nil, nil, nil, nil,
359
+ nil, 45, nil, 68, nil, nil, nil, 104, nil, nil,
360
+ nil, nil, 79, 80, 81, 82, 83, 84, 85, 86,
361
+ 87, 88, 89, 90, 91, 92, 15, nil, nil, 95,
362
+ 97, nil, nil, nil, nil, nil, nil, nil, nil, nil,
363
+ nil, 113, nil, nil, nil, nil, nil, nil, nil, nil,
364
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
365
+ nil, nil, nil, nil, nil, nil, nil, nil, 115, 116,
366
+ nil, 118, nil, nil, nil, 119, nil, 120, nil, nil,
367
+ nil, nil, nil, nil, 124, 125, 126, nil, nil, nil,
368
+ 128 ]
119
369
 
120
370
  racc_goto_check = [
121
- 4, 12, 3, 5, 9, 11, 7, 5, 2, 1,
122
- 8, nil, nil, nil, nil, nil, 3, nil, 12, nil,
123
- nil, nil, nil, nil, nil, nil, nil, 4 ]
371
+ 8, 19, 7, 3, 4, 1, 2, 5, 6, 10,
372
+ 15, 17, 18, nil, 8, 8, nil, nil, nil, nil,
373
+ nil, 3, nil, 8, nil, nil, nil, 7, nil, nil,
374
+ nil, nil, 8, 8, 8, 8, 8, 8, 8, 8,
375
+ 8, 8, 8, 8, 8, 8, 4, nil, nil, 8,
376
+ 8, nil, nil, nil, nil, nil, nil, nil, nil, nil,
377
+ nil, 19, nil, nil, nil, nil, nil, nil, nil, nil,
378
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
379
+ nil, nil, nil, nil, nil, nil, nil, nil, 8, 8,
380
+ nil, 8, nil, nil, nil, 8, nil, 8, nil, nil,
381
+ nil, nil, nil, nil, 8, 8, 8, nil, nil, nil,
382
+ 8 ]
124
383
 
125
384
  racc_goto_pointer = [
126
- nil, 9, 8, 2, -3, -6, nil, -7, -3, -5,
127
- nil, -22, -26 ]
385
+ nil, 5, 6, 3, 1, -6, -10, -46, -17, nil,
386
+ -4, nil, nil, nil, nil, -57, nil, -31, -30, -41 ]
128
387
 
129
388
  racc_goto_default = [
130
- nil, nil, nil, nil, 4, 39, 7, 36, 38, 8,
131
- 9, nil, nil ]
389
+ nil, nil, nil, nil, 4, 39, nil, nil, 69, 11,
390
+ 12, 30, 33, 34, 38, nil, 13, nil, nil, nil ]
132
391
 
133
392
  racc_reduce_table = [
134
393
  0, 0, :racc_error,
135
- 1, 21, :_reduce_1,
136
- 0, 22, :_reduce_2,
137
- 1, 22, :_reduce_none,
138
- 2, 23, :_reduce_4,
139
- 1, 23, :_reduce_5,
140
- 3, 23, :_reduce_6,
141
- 2, 23, :_reduce_7,
142
- 3, 25, :_reduce_8,
143
- 2, 25, :_reduce_9,
144
- 1, 26, :_reduce_10,
145
- 1, 26, :_reduce_11,
146
- 3, 24, :_reduce_12,
147
- 3, 24, :_reduce_13,
148
- 3, 24, :_reduce_14,
149
- 3, 24, :_reduce_15,
150
- 3, 24, :_reduce_16,
151
- 6, 24, :_reduce_17,
152
- 3, 24, :_reduce_18,
153
- 1, 24, :_reduce_19,
154
- 2, 29, :_reduce_20,
155
- 2, 29, :_reduce_21,
156
- 1, 30, :_reduce_22,
157
- 1, 30, :_reduce_23,
158
- 3, 28, :_reduce_24,
159
- 2, 28, :_reduce_25,
160
- 1, 31, :_reduce_26,
161
- 3, 31, :_reduce_27,
162
- 2, 31, :_reduce_28,
163
- 1, 32, :_reduce_29,
164
- 1, 32, :_reduce_30,
165
- 1, 32, :_reduce_31,
166
- 1, 32, :_reduce_32,
167
- 1, 32, :_reduce_33,
168
- 1, 27, :_reduce_34,
169
- 1, 27, :_reduce_35 ]
170
-
171
- racc_reduce_n = 36
172
-
173
- racc_shift_n = 47
394
+ 1, 42, :_reduce_1,
395
+ 0, 43, :_reduce_2,
396
+ 1, 43, :_reduce_none,
397
+ 2, 44, :_reduce_4,
398
+ 1, 44, :_reduce_5,
399
+ 3, 44, :_reduce_6,
400
+ 2, 44, :_reduce_7,
401
+ 3, 46, :_reduce_8,
402
+ 2, 46, :_reduce_9,
403
+ 3, 46, :_reduce_10,
404
+ 6, 47, :_reduce_11,
405
+ 8, 47, :_reduce_12,
406
+ 1, 50, :_reduce_13,
407
+ 1, 50, :_reduce_14,
408
+ 1, 50, :_reduce_15,
409
+ 1, 50, :_reduce_16,
410
+ 1, 50, :_reduce_17,
411
+ 1, 50, :_reduce_18,
412
+ 3, 45, :_reduce_19,
413
+ 1, 45, :_reduce_20,
414
+ 1, 49, :_reduce_21,
415
+ 3, 49, :_reduce_22,
416
+ 3, 49, :_reduce_23,
417
+ 3, 49, :_reduce_24,
418
+ 3, 49, :_reduce_25,
419
+ 3, 49, :_reduce_26,
420
+ 3, 49, :_reduce_27,
421
+ 3, 49, :_reduce_28,
422
+ 3, 49, :_reduce_29,
423
+ 3, 49, :_reduce_30,
424
+ 3, 49, :_reduce_31,
425
+ 3, 49, :_reduce_32,
426
+ 3, 49, :_reduce_33,
427
+ 3, 49, :_reduce_34,
428
+ 5, 49, :_reduce_35,
429
+ 2, 49, :_reduce_36,
430
+ 2, 49, :_reduce_37,
431
+ 1, 52, :_reduce_38,
432
+ 1, 52, :_reduce_39,
433
+ 1, 52, :_reduce_40,
434
+ 1, 52, :_reduce_41,
435
+ 1, 52, :_reduce_42,
436
+ 1, 52, :_reduce_43,
437
+ 1, 52, :_reduce_44,
438
+ 3, 52, :_reduce_45,
439
+ 1, 53, :_reduce_46,
440
+ 3, 53, :_reduce_47,
441
+ 3, 53, :_reduce_48,
442
+ 4, 53, :_reduce_49,
443
+ 4, 53, :_reduce_50,
444
+ 3, 53, :_reduce_51,
445
+ 4, 53, :_reduce_52,
446
+ 1, 56, :_reduce_53,
447
+ 3, 56, :_reduce_54,
448
+ 2, 51, :_reduce_55,
449
+ 2, 51, :_reduce_56,
450
+ 1, 57, :_reduce_57,
451
+ 1, 57, :_reduce_58,
452
+ 1, 57, :_reduce_59,
453
+ 1, 57, :_reduce_60,
454
+ 1, 57, :_reduce_61,
455
+ 1, 57, :_reduce_62,
456
+ 3, 55, :_reduce_63,
457
+ 2, 55, :_reduce_64,
458
+ 3, 55, :_reduce_65,
459
+ 4, 59, :_reduce_66,
460
+ 6, 59, :_reduce_67,
461
+ 3, 48, :_reduce_68,
462
+ 5, 48, :_reduce_69,
463
+ 1, 58, :_reduce_70,
464
+ 3, 58, :_reduce_71,
465
+ 2, 58, :_reduce_72,
466
+ 1, 60, :_reduce_73,
467
+ 1, 54, :_reduce_74,
468
+ 1, 54, :_reduce_75 ]
469
+
470
+ racc_reduce_n = 76
471
+
472
+ racc_shift_n = 129
174
473
 
175
474
  racc_token_table = {
176
475
  false => 0,
177
476
  :error => 1,
178
477
  :BOOL => 2,
179
- :FLOAT => 3,
180
- :NUMBER => 4,
181
- :COMMA => 5,
182
- :COMMAEND => 6,
183
- :IDENTIFIER => 7,
184
- :EQUAL => 8,
185
- :STRING => 9,
186
- :MINUS => 10,
187
- :LEFTBRACE => 11,
188
- :RIGHTBRACE => 12,
189
- :LEFTBRACKET => 13,
190
- :RIGHTBRACKET => 14,
191
- :LEFTPARENTHESES => 15,
192
- :RIGHTPARENTHESES => 16,
193
- :PERIOD => 17,
194
- :EPLUS => 18,
195
- :EMINUS => 19 }
196
-
197
- racc_nt_base = 20
478
+ :NULL => 3,
479
+ :FLOAT => 4,
480
+ :NUMBER => 5,
481
+ :COMMA => 6,
482
+ :COMMAEND => 7,
483
+ :IDENTIFIER => 8,
484
+ :EQUAL => 9,
485
+ :STRING => 10,
486
+ :MINUS => 11,
487
+ :PLUS => 12,
488
+ :STAR => 13,
489
+ :SLASH => 14,
490
+ :PERCENT => 15,
491
+ :ANDAND => 16,
492
+ :OROR => 17,
493
+ :EQEQ => 18,
494
+ :NEQ => 19,
495
+ :LT => 20,
496
+ :GT => 21,
497
+ :LE => 22,
498
+ :GE => 23,
499
+ :BANG => 24,
500
+ :QUESTION => 25,
501
+ :COLON => 26,
502
+ :ARROW => 27,
503
+ :FOR => 28,
504
+ :IN => 29,
505
+ :IF => 30,
506
+ :LEFTBRACE => 31,
507
+ :RIGHTBRACE => 32,
508
+ :LEFTBRACKET => 33,
509
+ :RIGHTBRACKET => 34,
510
+ :LEFTPARENTHESES => 35,
511
+ :RIGHTPARENTHESES => 36,
512
+ :PERIOD => 37,
513
+ :EPLUS => 38,
514
+ :EMINUS => 39,
515
+ :UMINUS => 40 }
516
+
517
+ racc_nt_base = 41
198
518
 
199
519
  racc_use_result_var = true
200
520
 
@@ -213,11 +533,13 @@ Racc_arg = [
213
533
  racc_shift_n,
214
534
  racc_reduce_n,
215
535
  racc_use_result_var ]
536
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
216
537
 
217
538
  Racc_token_to_s_table = [
218
539
  "$end",
219
540
  "error",
220
541
  "BOOL",
542
+ "NULL",
221
543
  "FLOAT",
222
544
  "NUMBER",
223
545
  "COMMA",
@@ -226,6 +548,25 @@ Racc_token_to_s_table = [
226
548
  "EQUAL",
227
549
  "STRING",
228
550
  "MINUS",
551
+ "PLUS",
552
+ "STAR",
553
+ "SLASH",
554
+ "PERCENT",
555
+ "ANDAND",
556
+ "OROR",
557
+ "EQEQ",
558
+ "NEQ",
559
+ "LT",
560
+ "GT",
561
+ "LE",
562
+ "GE",
563
+ "BANG",
564
+ "QUESTION",
565
+ "COLON",
566
+ "ARROW",
567
+ "FOR",
568
+ "IN",
569
+ "IF",
229
570
  "LEFTBRACE",
230
571
  "RIGHTBRACE",
231
572
  "LEFTBRACKET",
@@ -235,19 +576,28 @@ Racc_token_to_s_table = [
235
576
  "PERIOD",
236
577
  "EPLUS",
237
578
  "EMINUS",
579
+ "UMINUS",
238
580
  "$start",
239
581
  "target",
240
582
  "top",
241
583
  "objectlist",
242
584
  "objectitem",
243
585
  "object",
586
+ "forobjectexpr",
587
+ "foriter",
588
+ "expr",
244
589
  "objectkey",
590
+ "block",
591
+ "primary",
592
+ "traversal",
245
593
  "number",
246
594
  "list",
247
- "block",
595
+ "arglist",
248
596
  "block_id",
249
597
  "listitems",
598
+ "forlistexpr",
250
599
  "listitem" ]
600
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
251
601
 
252
602
  Racc_debug_parser = false
253
603
 
@@ -255,14 +605,14 @@ Racc_debug_parser = false
255
605
 
256
606
  # reduce 0 omitted
257
607
 
258
- module_eval(<<'.,.,', 'parse.y', 21)
608
+ module_eval(<<'.,.,', 'parse.y', 53)
259
609
  def _reduce_1(val, _values, result)
260
610
  @result = flatten_objectlist(val[0])
261
611
  result
262
612
  end
263
613
  .,.,
264
614
 
265
- module_eval(<<'.,.,', 'parse.y', 24)
615
+ module_eval(<<'.,.,', 'parse.y', 56)
266
616
  def _reduce_2(val, _values, result)
267
617
  result = val[0]
268
618
  result
@@ -271,225 +621,505 @@ module_eval(<<'.,.,', 'parse.y', 24)
271
621
 
272
622
  # reduce 3 omitted
273
623
 
274
- module_eval(<<'.,.,', 'parse.y', 30)
624
+ module_eval(<<'.,.,', 'parse.y', 62)
275
625
  def _reduce_4(val, _values, result)
276
626
  result = [val[0]]
277
627
  result
278
628
  end
279
629
  .,.,
280
630
 
281
- module_eval(<<'.,.,', 'parse.y', 32)
631
+ module_eval(<<'.,.,', 'parse.y', 64)
282
632
  def _reduce_5(val, _values, result)
283
633
  result = [val[0]]
284
634
  result
285
635
  end
286
636
  .,.,
287
637
 
288
- module_eval(<<'.,.,', 'parse.y', 34)
638
+ module_eval(<<'.,.,', 'parse.y', 66)
289
639
  def _reduce_6(val, _values, result)
290
640
  result = val[0] << val[1]
291
641
  result
292
642
  end
293
643
  .,.,
294
644
 
295
- module_eval(<<'.,.,', 'parse.y', 36)
645
+ module_eval(<<'.,.,', 'parse.y', 68)
296
646
  def _reduce_7(val, _values, result)
297
647
  result = val[0] << val[1]
298
648
  result
299
649
  end
300
650
  .,.,
301
651
 
302
- module_eval(<<'.,.,', 'parse.y', 41)
652
+ module_eval(<<'.,.,', 'parse.y', 73)
303
653
  def _reduce_8(val, _values, result)
304
654
  result = flatten_objectlist(val[1])
305
655
  result
306
656
  end
307
657
  .,.,
308
658
 
309
- module_eval(<<'.,.,', 'parse.y', 43)
659
+ module_eval(<<'.,.,', 'parse.y', 75)
310
660
  def _reduce_9(val, _values, result)
311
661
  return {}
312
662
  result
313
663
  end
314
664
  .,.,
315
665
 
316
- module_eval(<<'.,.,', 'parse.y', 48)
666
+ module_eval(<<'.,.,', 'parse.y', 77)
317
667
  def _reduce_10(val, _values, result)
318
- result = val[0]
668
+ result = val[1]
319
669
  result
320
670
  end
321
671
  .,.,
322
672
 
323
- module_eval(<<'.,.,', 'parse.y', 50)
673
+ module_eval(<<'.,.,', 'parse.y', 82)
324
674
  def _reduce_11(val, _values, result)
325
- result = val[0]
675
+ result = "for #{val[1]} : #{render(val[3])} => #{render(val[5])}"
326
676
  result
327
677
  end
328
678
  .,.,
329
679
 
330
- module_eval(<<'.,.,', 'parse.y', 55)
680
+ module_eval(<<'.,.,', 'parse.y', 84)
331
681
  def _reduce_12(val, _values, result)
332
- result = val[0], val[2]
682
+ result = "for #{val[1]} : #{render(val[3])} => #{render(val[5])} if #{render(val[7])}"
333
683
  result
334
684
  end
335
685
  .,.,
336
686
 
337
- module_eval(<<'.,.,', 'parse.y', 57)
687
+ module_eval(<<'.,.,', 'parse.y', 89)
338
688
  def _reduce_13(val, _values, result)
339
- result = val[0], val[2]
689
+ result = val[0]
340
690
  result
341
691
  end
342
692
  .,.,
343
693
 
344
- module_eval(<<'.,.,', 'parse.y', 59)
694
+ module_eval(<<'.,.,', 'parse.y', 91)
345
695
  def _reduce_14(val, _values, result)
346
- result = val[0], val[2]
696
+ result = val[0]
347
697
  result
348
698
  end
349
699
  .,.,
350
700
 
351
- module_eval(<<'.,.,', 'parse.y', 61)
701
+ module_eval(<<'.,.,', 'parse.y', 93)
352
702
  def _reduce_15(val, _values, result)
353
- result = val[0], val[2]
703
+ result = val[0]
354
704
  result
355
705
  end
356
706
  .,.,
357
707
 
358
- module_eval(<<'.,.,', 'parse.y', 63)
708
+ module_eval(<<'.,.,', 'parse.y', 95)
359
709
  def _reduce_16(val, _values, result)
360
- result = val[0], val[2]
710
+ result = val[0]
361
711
  result
362
712
  end
363
713
  .,.,
364
714
 
365
- module_eval(<<'.,.,', 'parse.y', 65)
715
+ module_eval(<<'.,.,', 'parse.y', 97)
366
716
  def _reduce_17(val, _values, result)
367
- result = val[0], "#{val[2]}(#{val[4]})"
717
+ result = val[0]
368
718
  result
369
719
  end
370
720
  .,.,
371
721
 
372
- module_eval(<<'.,.,', 'parse.y', 67)
722
+ module_eval(<<'.,.,', 'parse.y', 99)
373
723
  def _reduce_18(val, _values, result)
374
- result = val[0], val[2]
724
+ result = val[0]
375
725
  result
376
726
  end
377
727
  .,.,
378
728
 
379
- module_eval(<<'.,.,', 'parse.y', 69)
729
+ module_eval(<<'.,.,', 'parse.y', 104)
380
730
  def _reduce_19(val, _values, result)
381
- result = val[0]
731
+ result = val[0], val[2]
382
732
  result
383
733
  end
384
734
  .,.,
385
735
 
386
- module_eval(<<'.,.,', 'parse.y', 74)
736
+ module_eval(<<'.,.,', 'parse.y', 106)
387
737
  def _reduce_20(val, _values, result)
388
- result = val[0], val[1]
738
+ result = val[0]
389
739
  result
390
740
  end
391
741
  .,.,
392
742
 
393
- module_eval(<<'.,.,', 'parse.y', 76)
743
+ module_eval(<<'.,.,', 'parse.y', 111)
394
744
  def _reduce_21(val, _values, result)
395
- result = val[0], {val[1][0] => val[1][1]}
745
+ result = val[0]
396
746
  result
397
747
  end
398
748
  .,.,
399
749
 
400
- module_eval(<<'.,.,', 'parse.y', 81)
750
+ module_eval(<<'.,.,', 'parse.y', 113)
401
751
  def _reduce_22(val, _values, result)
402
- result = val[0]
752
+ result = "#{render(val[0])} + #{render(val[2])}"
403
753
  result
404
754
  end
405
755
  .,.,
406
756
 
407
- module_eval(<<'.,.,', 'parse.y', 83)
757
+ module_eval(<<'.,.,', 'parse.y', 115)
408
758
  def _reduce_23(val, _values, result)
409
- result = val[0]
759
+ result = "#{render(val[0])} - #{render(val[2])}"
410
760
  result
411
761
  end
412
762
  .,.,
413
763
 
414
- module_eval(<<'.,.,', 'parse.y', 88)
764
+ module_eval(<<'.,.,', 'parse.y', 117)
415
765
  def _reduce_24(val, _values, result)
416
- result = val[1]
766
+ result = "#{render(val[0])} * #{render(val[2])}"
417
767
  result
418
768
  end
419
769
  .,.,
420
770
 
421
- module_eval(<<'.,.,', 'parse.y', 90)
771
+ module_eval(<<'.,.,', 'parse.y', 119)
422
772
  def _reduce_25(val, _values, result)
423
- return []
773
+ result = "#{render(val[0])} / #{render(val[2])}"
424
774
  result
425
775
  end
426
776
  .,.,
427
777
 
428
- module_eval(<<'.,.,', 'parse.y', 95)
778
+ module_eval(<<'.,.,', 'parse.y', 121)
429
779
  def _reduce_26(val, _values, result)
430
- result = [val[0]]
780
+ result = "#{render(val[0])} % #{render(val[2])}"
431
781
  result
432
782
  end
433
783
  .,.,
434
784
 
435
- module_eval(<<'.,.,', 'parse.y', 97)
785
+ module_eval(<<'.,.,', 'parse.y', 123)
436
786
  def _reduce_27(val, _values, result)
437
- result = val[0] << val[2]
787
+ result = "#{render(val[0])} && #{render(val[2])}"
438
788
  result
439
789
  end
440
790
  .,.,
441
791
 
442
- module_eval(<<'.,.,', 'parse.y', 99)
792
+ module_eval(<<'.,.,', 'parse.y', 125)
443
793
  def _reduce_28(val, _values, result)
444
- result = val[0]
794
+ result = "#{render(val[0])} || #{render(val[2])}"
445
795
  result
446
796
  end
447
797
  .,.,
448
798
 
449
- module_eval(<<'.,.,', 'parse.y', 104)
799
+ module_eval(<<'.,.,', 'parse.y', 127)
450
800
  def _reduce_29(val, _values, result)
451
- result = val[0]
801
+ result = "#{render(val[0])} == #{render(val[2])}"
452
802
  result
453
803
  end
454
804
  .,.,
455
805
 
456
- module_eval(<<'.,.,', 'parse.y', 106)
806
+ module_eval(<<'.,.,', 'parse.y', 129)
457
807
  def _reduce_30(val, _values, result)
458
- result = val[0]
808
+ result = "#{render(val[0])} != #{render(val[2])}"
459
809
  result
460
810
  end
461
811
  .,.,
462
812
 
463
- module_eval(<<'.,.,', 'parse.y', 108)
813
+ module_eval(<<'.,.,', 'parse.y', 131)
464
814
  def _reduce_31(val, _values, result)
465
- result = val[0]
815
+ result = "#{render(val[0])} < #{render(val[2])}"
466
816
  result
467
817
  end
468
818
  .,.,
469
819
 
470
- module_eval(<<'.,.,', 'parse.y', 110)
820
+ module_eval(<<'.,.,', 'parse.y', 133)
471
821
  def _reduce_32(val, _values, result)
472
- result = val[0]
822
+ result = "#{render(val[0])} > #{render(val[2])}"
473
823
  result
474
824
  end
475
825
  .,.,
476
826
 
477
- module_eval(<<'.,.,', 'parse.y', 112)
827
+ module_eval(<<'.,.,', 'parse.y', 135)
478
828
  def _reduce_33(val, _values, result)
479
- result = val[0]
829
+ result = "#{render(val[0])} <= #{render(val[2])}"
480
830
  result
481
831
  end
482
832
  .,.,
483
833
 
484
- module_eval(<<'.,.,', 'parse.y', 117)
834
+ module_eval(<<'.,.,', 'parse.y', 137)
485
835
  def _reduce_34(val, _values, result)
486
- result = val[0]
836
+ result = "#{render(val[0])} >= #{render(val[2])}"
487
837
  result
488
838
  end
489
839
  .,.,
490
840
 
491
- module_eval(<<'.,.,', 'parse.y', 119)
841
+ module_eval(<<'.,.,', 'parse.y', 139)
492
842
  def _reduce_35(val, _values, result)
843
+ result = "#{render(val[0])} ? #{render(val[2])} : #{render(val[4])}"
844
+ result
845
+ end
846
+ .,.,
847
+
848
+ module_eval(<<'.,.,', 'parse.y', 141)
849
+ def _reduce_36(val, _values, result)
850
+ result = "!#{render(val[1])}"
851
+ result
852
+ end
853
+ .,.,
854
+
855
+ module_eval(<<'.,.,', 'parse.y', 143)
856
+ def _reduce_37(val, _values, result)
857
+ result = negate(val[1])
858
+ result
859
+ end
860
+ .,.,
861
+
862
+ module_eval(<<'.,.,', 'parse.y', 148)
863
+ def _reduce_38(val, _values, result)
864
+ result = val[0]
865
+ result
866
+ end
867
+ .,.,
868
+
869
+ module_eval(<<'.,.,', 'parse.y', 150)
870
+ def _reduce_39(val, _values, result)
871
+ result = val[0]
872
+ result
873
+ end
874
+ .,.,
875
+
876
+ module_eval(<<'.,.,', 'parse.y', 152)
877
+ def _reduce_40(val, _values, result)
878
+ result = val[0]
879
+ result
880
+ end
881
+ .,.,
882
+
883
+ module_eval(<<'.,.,', 'parse.y', 154)
884
+ def _reduce_41(val, _values, result)
885
+ result = nil
886
+ result
887
+ end
888
+ .,.,
889
+
890
+ module_eval(<<'.,.,', 'parse.y', 156)
891
+ def _reduce_42(val, _values, result)
892
+ result = val[0]
893
+ result
894
+ end
895
+ .,.,
896
+
897
+ module_eval(<<'.,.,', 'parse.y', 158)
898
+ def _reduce_43(val, _values, result)
899
+ result = val[0]
900
+ result
901
+ end
902
+ .,.,
903
+
904
+ module_eval(<<'.,.,', 'parse.y', 160)
905
+ def _reduce_44(val, _values, result)
906
+ result = val[0]
907
+ result
908
+ end
909
+ .,.,
910
+
911
+ module_eval(<<'.,.,', 'parse.y', 162)
912
+ def _reduce_45(val, _values, result)
913
+ result = "(#{render(val[1])})"
914
+ result
915
+ end
916
+ .,.,
917
+
918
+ module_eval(<<'.,.,', 'parse.y', 167)
919
+ def _reduce_46(val, _values, result)
920
+ result = val[0]
921
+ result
922
+ end
923
+ .,.,
924
+
925
+ module_eval(<<'.,.,', 'parse.y', 169)
926
+ def _reduce_47(val, _values, result)
927
+ result = "#{val[0]}.#{val[2]}"
928
+ result
929
+ end
930
+ .,.,
931
+
932
+ module_eval(<<'.,.,', 'parse.y', 171)
933
+ def _reduce_48(val, _values, result)
934
+ result = "#{val[0]}.*"
935
+ result
936
+ end
937
+ .,.,
938
+
939
+ module_eval(<<'.,.,', 'parse.y', 173)
940
+ def _reduce_49(val, _values, result)
941
+ result = "#{val[0]}[#{render(val[2])}]"
942
+ result
943
+ end
944
+ .,.,
945
+
946
+ module_eval(<<'.,.,', 'parse.y', 175)
947
+ def _reduce_50(val, _values, result)
948
+ result = "#{val[0]}[*]"
949
+ result
950
+ end
951
+ .,.,
952
+
953
+ module_eval(<<'.,.,', 'parse.y', 177)
954
+ def _reduce_51(val, _values, result)
955
+ result = "#{val[0]}()"
956
+ result
957
+ end
958
+ .,.,
959
+
960
+ module_eval(<<'.,.,', 'parse.y', 179)
961
+ def _reduce_52(val, _values, result)
962
+ result = "#{val[0]}(#{val[2].map { |a| render(a) }.join(', ')})"
963
+ result
964
+ end
965
+ .,.,
966
+
967
+ module_eval(<<'.,.,', 'parse.y', 184)
968
+ def _reduce_53(val, _values, result)
969
+ result = [val[0]]
970
+ result
971
+ end
972
+ .,.,
973
+
974
+ module_eval(<<'.,.,', 'parse.y', 186)
975
+ def _reduce_54(val, _values, result)
976
+ result = val[0] << val[2]
977
+ result
978
+ end
979
+ .,.,
980
+
981
+ module_eval(<<'.,.,', 'parse.y', 191)
982
+ def _reduce_55(val, _values, result)
983
+ result = val[0], val[1]
984
+ result
985
+ end
986
+ .,.,
987
+
988
+ module_eval(<<'.,.,', 'parse.y', 193)
989
+ def _reduce_56(val, _values, result)
990
+ result = val[0], {val[1][0] => val[1][1]}
991
+ result
992
+ end
993
+ .,.,
994
+
995
+ module_eval(<<'.,.,', 'parse.y', 198)
996
+ def _reduce_57(val, _values, result)
997
+ result = val[0]
998
+ result
999
+ end
1000
+ .,.,
1001
+
1002
+ module_eval(<<'.,.,', 'parse.y', 200)
1003
+ def _reduce_58(val, _values, result)
1004
+ result = val[0]
1005
+ result
1006
+ end
1007
+ .,.,
1008
+
1009
+ module_eval(<<'.,.,', 'parse.y', 202)
1010
+ def _reduce_59(val, _values, result)
1011
+ result = val[0]
1012
+ result
1013
+ end
1014
+ .,.,
1015
+
1016
+ module_eval(<<'.,.,', 'parse.y', 204)
1017
+ def _reduce_60(val, _values, result)
1018
+ result = val[0]
1019
+ result
1020
+ end
1021
+ .,.,
1022
+
1023
+ module_eval(<<'.,.,', 'parse.y', 206)
1024
+ def _reduce_61(val, _values, result)
1025
+ result = val[0]
1026
+ result
1027
+ end
1028
+ .,.,
1029
+
1030
+ module_eval(<<'.,.,', 'parse.y', 208)
1031
+ def _reduce_62(val, _values, result)
1032
+ result = val[0]
1033
+ result
1034
+ end
1035
+ .,.,
1036
+
1037
+ module_eval(<<'.,.,', 'parse.y', 213)
1038
+ def _reduce_63(val, _values, result)
1039
+ result = val[1]
1040
+ result
1041
+ end
1042
+ .,.,
1043
+
1044
+ module_eval(<<'.,.,', 'parse.y', 215)
1045
+ def _reduce_64(val, _values, result)
1046
+ return []
1047
+ result
1048
+ end
1049
+ .,.,
1050
+
1051
+ module_eval(<<'.,.,', 'parse.y', 217)
1052
+ def _reduce_65(val, _values, result)
1053
+ result = val[1]
1054
+ result
1055
+ end
1056
+ .,.,
1057
+
1058
+ module_eval(<<'.,.,', 'parse.y', 222)
1059
+ def _reduce_66(val, _values, result)
1060
+ result = "for #{val[1]} : #{render(val[3])}"
1061
+ result
1062
+ end
1063
+ .,.,
1064
+
1065
+ module_eval(<<'.,.,', 'parse.y', 224)
1066
+ def _reduce_67(val, _values, result)
1067
+ result = "for #{val[1]} : #{render(val[3])} if #{render(val[5])}"
1068
+ result
1069
+ end
1070
+ .,.,
1071
+
1072
+ module_eval(<<'.,.,', 'parse.y', 229)
1073
+ def _reduce_68(val, _values, result)
1074
+ result = "#{val[0]} in #{render(val[2])}"
1075
+ result
1076
+ end
1077
+ .,.,
1078
+
1079
+ module_eval(<<'.,.,', 'parse.y', 231)
1080
+ def _reduce_69(val, _values, result)
1081
+ result = "#{val[0]}, #{val[2]} in #{render(val[4])}"
1082
+ result
1083
+ end
1084
+ .,.,
1085
+
1086
+ module_eval(<<'.,.,', 'parse.y', 236)
1087
+ def _reduce_70(val, _values, result)
1088
+ result = [val[0]]
1089
+ result
1090
+ end
1091
+ .,.,
1092
+
1093
+ module_eval(<<'.,.,', 'parse.y', 238)
1094
+ def _reduce_71(val, _values, result)
1095
+ result = val[0] << val[2]
1096
+ result
1097
+ end
1098
+ .,.,
1099
+
1100
+ module_eval(<<'.,.,', 'parse.y', 240)
1101
+ def _reduce_72(val, _values, result)
1102
+ result = val[0]
1103
+ result
1104
+ end
1105
+ .,.,
1106
+
1107
+ module_eval(<<'.,.,', 'parse.y', 245)
1108
+ def _reduce_73(val, _values, result)
1109
+ result = val[0]
1110
+ result
1111
+ end
1112
+ .,.,
1113
+
1114
+ module_eval(<<'.,.,', 'parse.y', 250)
1115
+ def _reduce_74(val, _values, result)
1116
+ result = val[0]
1117
+ result
1118
+ end
1119
+ .,.,
1120
+
1121
+ module_eval(<<'.,.,', 'parse.y', 252)
1122
+ def _reduce_75(val, _values, result)
493
1123
  result = val[0]
494
1124
  result
495
1125
  end