581551fa7145b9cec13660af3806182fdf65c561
[nit.git] / lib / json / json_parser.nit
1 # Parser generated by nitcc for the grammar json
2 module json_parser is no_warning("missing-doc","old-init")
3 import nitcc_runtime
4 class Parser_json
5 super Parser
6 redef fun start_state do return state_Start
7 end
8 redef class Object
9 private fun state_Start: LRStateStart do return once new LRStateStart
10 private fun state_value: LRStatevalue do return once new LRStatevalue
11 private fun state_number: LRStatenumber do return once new LRStatenumber
12 private fun state_string: LRStatestring do return once new LRStatestring
13 private fun state__39dtrue_39d: LRState_39dtrue_39d do return once new LRState_39dtrue_39d
14 private fun state__39dfalse_39d: LRState_39dfalse_39d do return once new LRState_39dfalse_39d
15 private fun state__39dnull_39d: LRState_39dnull_39d do return once new LRState_39dnull_39d
16 private fun state__39d_123d_39d: LRState_39d_123d_39d do return once new LRState_39d_123d_39d
17 private fun state__39d_91d_39d: LRState_39d_91d_39d do return once new LRState_39d_91d_39d
18 private fun state_value_32dEof: LRStatevalue_32dEof do return once new LRStatevalue_32dEof
19 private fun state__39d_123d_39d_32dmembers: LRState_39d_123d_39d_32dmembers do return once new LRState_39d_123d_39d_32dmembers
20 private fun state__39d_123d_39d_32d_39d_125d_39d: LRState_39d_123d_39d_32d_39d_125d_39d do return once new LRState_39d_123d_39d_32d_39d_125d_39d
21 private fun state__39d_123d_39d_32dpair: LRState_39d_123d_39d_32dpair do return once new LRState_39d_123d_39d_32dpair
22 private fun state__39d_123d_39d_32dstring: LRState_39d_123d_39d_32dstring do return once new LRState_39d_123d_39d_32dstring
23 private fun state__39d_91d_39d_32delements: LRState_39d_91d_39d_32delements do return once new LRState_39d_91d_39d_32delements
24 private fun state__39d_91d_39d_32d_39d_93d_39d: LRState_39d_91d_39d_32d_39d_93d_39d do return once new LRState_39d_91d_39d_32d_39d_93d_39d
25 private fun state__39d_91d_39d_32dvalue: LRState_39d_91d_39d_32dvalue do return once new LRState_39d_91d_39d_32dvalue
26 private fun state__39d_123d_39d_32dmembers_32d_39d_125d_39d: LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d do return once new LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d
27 private fun state__39d_123d_39d_32dmembers_32d_39d_44d_39d: LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d do return once new LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d
28 private fun state__39d_123d_39d_32dstring_32d_39d_58d_39d: LRState_39d_123d_39d_32dstring_32d_39d_58d_39d do return once new LRState_39d_123d_39d_32dstring_32d_39d_58d_39d
29 private fun state__39d_91d_39d_32delements_32d_39d_93d_39d: LRState_39d_91d_39d_32delements_32d_39d_93d_39d do return once new LRState_39d_91d_39d_32delements_32d_39d_93d_39d
30 private fun state__39d_91d_39d_32delements_32d_39d_44d_39d: LRState_39d_91d_39d_32delements_32d_39d_44d_39d do return once new LRState_39d_91d_39d_32delements_32d_39d_44d_39d
31 private fun state__39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair: LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair do return once new LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair
32 private fun state__39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue: LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue do return once new LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue
33 private fun state__39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue: LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue do return once new LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue
34 private fun goto_Nvalue: Goto_Nvalue do return once new Goto_Nvalue
35 private fun goto_Nmembers: Goto_Nmembers do return once new Goto_Nmembers
36 private fun goto_Npair: Goto_Npair do return once new Goto_Npair
37 private fun goto_Nelements: Goto_Nelements do return once new Goto_Nelements
38 private fun goto_N_start: Goto_N_start do return once new Goto_N_start
39 end
40 redef class NToken
41 # guarded action for state Start
42 # 7 shift(s) and 0 reduce(s)
43 private fun action_sStart(parser: Parser) do
44 parser.parse_error
45 end
46 # guarded action for state value
47 # 1 shift(s) and 0 reduce(s)
48 private fun action_svalue(parser: Parser) do
49 parser.parse_error
50 end
51 # guarded action for state '{'
52 # 2 shift(s) and 0 reduce(s)
53 private fun action_s_39d_123d_39d(parser: Parser) do
54 parser.parse_error
55 end
56 # guarded action for state '['
57 # 8 shift(s) and 0 reduce(s)
58 private fun action_s_39d_91d_39d(parser: Parser) do
59 parser.parse_error
60 end
61 # guarded action for state '{' members
62 # 2 shift(s) and 0 reduce(s)
63 private fun action_s_39d_123d_39d_32dmembers(parser: Parser) do
64 parser.parse_error
65 end
66 # guarded action for state '{' string
67 # 1 shift(s) and 0 reduce(s)
68 private fun action_s_39d_123d_39d_32dstring(parser: Parser) do
69 parser.parse_error
70 end
71 # guarded action for state '[' elements
72 # 2 shift(s) and 0 reduce(s)
73 private fun action_s_39d_91d_39d_32delements(parser: Parser) do
74 parser.parse_error
75 end
76 # guarded action for state '{' members ','
77 # 1 shift(s) and 0 reduce(s)
78 private fun action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser: Parser) do
79 parser.parse_error
80 end
81 # guarded action for state '{' string ':'
82 # 7 shift(s) and 0 reduce(s)
83 private fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser: Parser) do
84 parser.parse_error
85 end
86 # guarded action for state '[' elements ','
87 # 7 shift(s) and 0 reduce(s)
88 private fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser: Parser) do
89 parser.parse_error
90 end
91 end
92 class N_39d_123d_39d
93 super NToken
94 redef fun action_sStart(parser) do
95 parser.shift(state__39d_123d_39d)
96 end
97 redef fun action_s_39d_91d_39d(parser) do
98 parser.shift(state__39d_123d_39d)
99 end
100 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
101 parser.shift(state__39d_123d_39d)
102 end
103 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
104 parser.shift(state__39d_123d_39d)
105 end
106 redef fun node_name do return "\'\{\'"
107 end
108 class N_39d_125d_39d
109 super NToken
110 redef fun action_s_39d_123d_39d(parser) do
111 parser.shift(state__39d_123d_39d_32d_39d_125d_39d)
112 end
113 redef fun action_s_39d_123d_39d_32dmembers(parser) do
114 parser.shift(state__39d_123d_39d_32dmembers_32d_39d_125d_39d)
115 end
116 redef fun node_name do return "\'\}\'"
117 end
118 class N_39d_91d_39d
119 super NToken
120 redef fun action_sStart(parser) do
121 parser.shift(state__39d_91d_39d)
122 end
123 redef fun action_s_39d_91d_39d(parser) do
124 parser.shift(state__39d_91d_39d)
125 end
126 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
127 parser.shift(state__39d_91d_39d)
128 end
129 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
130 parser.shift(state__39d_91d_39d)
131 end
132 redef fun node_name do return "\'[\'"
133 end
134 class N_39d_93d_39d
135 super NToken
136 redef fun action_s_39d_91d_39d(parser) do
137 parser.shift(state__39d_91d_39d_32d_39d_93d_39d)
138 end
139 redef fun action_s_39d_91d_39d_32delements(parser) do
140 parser.shift(state__39d_91d_39d_32delements_32d_39d_93d_39d)
141 end
142 redef fun node_name do return "\']\'"
143 end
144 class Nnumber
145 super NToken
146 redef fun action_sStart(parser) do
147 parser.shift(state_number)
148 end
149 redef fun action_s_39d_91d_39d(parser) do
150 parser.shift(state_number)
151 end
152 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
153 parser.shift(state_number)
154 end
155 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
156 parser.shift(state_number)
157 end
158 redef fun node_name do return "number"
159 end
160 class Nstring
161 super NToken
162 redef fun action_sStart(parser) do
163 parser.shift(state_string)
164 end
165 redef fun action_s_39d_123d_39d(parser) do
166 parser.shift(state__39d_123d_39d_32dstring)
167 end
168 redef fun action_s_39d_91d_39d(parser) do
169 parser.shift(state_string)
170 end
171 redef fun action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser) do
172 parser.shift(state__39d_123d_39d_32dstring)
173 end
174 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
175 parser.shift(state_string)
176 end
177 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
178 parser.shift(state_string)
179 end
180 redef fun node_name do return "string"
181 end
182 class N_39dtrue_39d
183 super NToken
184 redef fun action_sStart(parser) do
185 parser.shift(state__39dtrue_39d)
186 end
187 redef fun action_s_39d_91d_39d(parser) do
188 parser.shift(state__39dtrue_39d)
189 end
190 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
191 parser.shift(state__39dtrue_39d)
192 end
193 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
194 parser.shift(state__39dtrue_39d)
195 end
196 redef fun node_name do return "\'true\'"
197 end
198 class N_39dfalse_39d
199 super NToken
200 redef fun action_sStart(parser) do
201 parser.shift(state__39dfalse_39d)
202 end
203 redef fun action_s_39d_91d_39d(parser) do
204 parser.shift(state__39dfalse_39d)
205 end
206 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
207 parser.shift(state__39dfalse_39d)
208 end
209 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
210 parser.shift(state__39dfalse_39d)
211 end
212 redef fun node_name do return "\'false\'"
213 end
214 class N_39dnull_39d
215 super NToken
216 redef fun action_sStart(parser) do
217 parser.shift(state__39dnull_39d)
218 end
219 redef fun action_s_39d_91d_39d(parser) do
220 parser.shift(state__39dnull_39d)
221 end
222 redef fun action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser) do
223 parser.shift(state__39dnull_39d)
224 end
225 redef fun action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser) do
226 parser.shift(state__39dnull_39d)
227 end
228 redef fun node_name do return "\'null\'"
229 end
230 class N_39d_44d_39d
231 super NToken
232 redef fun action_s_39d_123d_39d_32dmembers(parser) do
233 parser.shift(state__39d_123d_39d_32dmembers_32d_39d_44d_39d)
234 end
235 redef fun action_s_39d_91d_39d_32delements(parser) do
236 parser.shift(state__39d_91d_39d_32delements_32d_39d_44d_39d)
237 end
238 redef fun node_name do return "\',\'"
239 end
240 class N_39d_58d_39d
241 super NToken
242 redef fun action_s_39d_123d_39d_32dstring(parser) do
243 parser.shift(state__39d_123d_39d_32dstring_32d_39d_58d_39d)
244 end
245 redef fun node_name do return "\':\'"
246 end
247 redef class NEof
248 super NToken
249 redef fun action_svalue(parser) do
250 parser.shift(state_value_32dEof)
251 end
252 redef fun node_name do return "Eof"
253 end
254 redef class LRGoto
255 private fun goto_s_39d_123d_39d(parser: Parser) do abort
256 private fun goto_s_39d_91d_39d(parser: Parser) do abort
257 end
258 class Goto_Nvalue
259 super LRGoto
260 redef fun goto_s_39d_91d_39d(parser) do
261 parser.push(state__39d_91d_39d_32dvalue)
262 end
263 end
264 class Goto_Nmembers
265 super LRGoto
266 redef fun goto_s_39d_123d_39d(parser) do
267 parser.push(state__39d_123d_39d_32dmembers)
268 end
269 end
270 class Goto_Npair
271 super LRGoto
272 redef fun goto_s_39d_123d_39d(parser) do
273 parser.push(state__39d_123d_39d_32dpair)
274 end
275 end
276 class Goto_Nelements
277 super LRGoto
278 redef fun goto_s_39d_91d_39d(parser) do
279 parser.push(state__39d_91d_39d_32delements)
280 end
281 end
282 class Goto_N_start
283 super LRGoto
284 end
285 class Nvalue
286 super NProd
287 redef fun node_name do return "value"
288 end
289 class Nvalue_number
290 super Nvalue
291 redef fun node_name do return "value_number"
292 var n_number: Nnumber
293 init(n_number: Nnumber) do
294 self.n_number = n_number
295 end
296 redef fun number_of_children do return 1
297 redef fun child(i) do
298 if i == 0 then return n_number
299 abort
300 end
301 end
302 class Nvalue_string
303 super Nvalue
304 redef fun node_name do return "value_string"
305 var n_string: Nstring
306 init(n_string: Nstring) do
307 self.n_string = n_string
308 end
309 redef fun number_of_children do return 1
310 redef fun child(i) do
311 if i == 0 then return n_string
312 abort
313 end
314 end
315 class Nvalue_true
316 super Nvalue
317 redef fun node_name do return "value_true"
318 var n_0: N_39dtrue_39d
319 init(n_0: N_39dtrue_39d) do
320 self.n_0 = n_0
321 end
322 redef fun number_of_children do return 1
323 redef fun child(i) do
324 if i == 0 then return n_0
325 abort
326 end
327 end
328 class Nvalue_false
329 super Nvalue
330 redef fun node_name do return "value_false"
331 var n_0: N_39dfalse_39d
332 init(n_0: N_39dfalse_39d) do
333 self.n_0 = n_0
334 end
335 redef fun number_of_children do return 1
336 redef fun child(i) do
337 if i == 0 then return n_0
338 abort
339 end
340 end
341 class Nvalue_null
342 super Nvalue
343 redef fun node_name do return "value_null"
344 var n_0: N_39dnull_39d
345 init(n_0: N_39dnull_39d) do
346 self.n_0 = n_0
347 end
348 redef fun number_of_children do return 1
349 redef fun child(i) do
350 if i == 0 then return n_0
351 abort
352 end
353 end
354 class Nvalue_object
355 super Nvalue
356 redef fun node_name do return "value_object"
357 var n_0: N_39d_123d_39d
358 var n_members: nullable Nmembers
359 var n_2: N_39d_125d_39d
360 init(n_0: N_39d_123d_39d, n_members: nullable Nmembers, n_2: N_39d_125d_39d) do
361 self.n_0 = n_0
362 self.n_members = n_members
363 self.n_2 = n_2
364 end
365 redef fun number_of_children do return 3
366 redef fun child(i) do
367 if i == 0 then return n_0
368 if i == 1 then return n_members
369 if i == 2 then return n_2
370 abort
371 end
372 end
373 class Nvalue_array
374 super Nvalue
375 redef fun node_name do return "value_array"
376 var n_0: N_39d_91d_39d
377 var n_elements: nullable Nelements
378 var n_2: N_39d_93d_39d
379 init(n_0: N_39d_91d_39d, n_elements: nullable Nelements, n_2: N_39d_93d_39d) do
380 self.n_0 = n_0
381 self.n_elements = n_elements
382 self.n_2 = n_2
383 end
384 redef fun number_of_children do return 3
385 redef fun child(i) do
386 if i == 0 then return n_0
387 if i == 1 then return n_elements
388 if i == 2 then return n_2
389 abort
390 end
391 end
392 class Nmembers
393 super NProd
394 redef fun node_name do return "members"
395 end
396 class Nmembers_tail
397 super Nmembers
398 redef fun node_name do return "members_tail"
399 var n_members: Nmembers
400 var n_1: N_39d_44d_39d
401 var n_pair: Npair
402 init(n_members: Nmembers, n_1: N_39d_44d_39d, n_pair: Npair) do
403 self.n_members = n_members
404 self.n_1 = n_1
405 self.n_pair = n_pair
406 end
407 redef fun number_of_children do return 3
408 redef fun child(i) do
409 if i == 0 then return n_members
410 if i == 1 then return n_1
411 if i == 2 then return n_pair
412 abort
413 end
414 end
415 class Nmembers_head
416 super Nmembers
417 redef fun node_name do return "members_head"
418 var n_pair: Npair
419 init(n_pair: Npair) do
420 self.n_pair = n_pair
421 end
422 redef fun number_of_children do return 1
423 redef fun child(i) do
424 if i == 0 then return n_pair
425 abort
426 end
427 end
428 class Npair
429 super NProd
430 redef fun node_name do return "pair"
431 var n_string: Nstring
432 var n_1: N_39d_58d_39d
433 var n_value: Nvalue
434 init(n_string: Nstring, n_1: N_39d_58d_39d, n_value: Nvalue) do
435 self.n_string = n_string
436 self.n_1 = n_1
437 self.n_value = n_value
438 end
439 redef fun number_of_children do return 3
440 redef fun child(i) do
441 if i == 0 then return n_string
442 if i == 1 then return n_1
443 if i == 2 then return n_value
444 abort
445 end
446 end
447 class Nelements
448 super NProd
449 redef fun node_name do return "elements"
450 end
451 class Nelements_tail
452 super Nelements
453 redef fun node_name do return "elements_tail"
454 var n_elements: Nelements
455 var n_1: N_39d_44d_39d
456 var n_value: Nvalue
457 init(n_elements: Nelements, n_1: N_39d_44d_39d, n_value: Nvalue) do
458 self.n_elements = n_elements
459 self.n_1 = n_1
460 self.n_value = n_value
461 end
462 redef fun number_of_children do return 3
463 redef fun child(i) do
464 if i == 0 then return n_elements
465 if i == 1 then return n_1
466 if i == 2 then return n_value
467 abort
468 end
469 end
470 class Nelements_head
471 super Nelements
472 redef fun node_name do return "elements_head"
473 var n_value: Nvalue
474 init(n_value: Nvalue) do
475 self.n_value = n_value
476 end
477 redef fun number_of_children do return 1
478 redef fun child(i) do
479 if i == 0 then return n_value
480 abort
481 end
482 end
483 class N_start
484 super NProd
485 redef fun node_name do return "_start"
486 end
487 class NStart
488 super N_start
489 redef fun node_name do return "Start"
490 var n_0: Nvalue
491 var n_1: NEof
492 init(n_0: Nvalue, n_1: NEof) do
493 self.n_0 = n_0
494 self.n_1 = n_1
495 end
496 redef fun number_of_children do return 2
497 redef fun child(i) do
498 if i == 0 then return n_0
499 if i == 1 then return n_1
500 abort
501 end
502 end
503 # State Start
504 private class LRStateStart
505 super LRState
506 redef fun to_s do return "Start"
507 redef fun error_msg do return "value"
508 redef fun action(parser) do
509 parser.peek_token.action_sStart(parser)
510 end
511 redef fun goto(parser, goto) do
512 parser.push(state_value)
513 end
514 end
515 # State value
516 private class LRStatevalue
517 super LRState
518 redef fun to_s do return "value"
519 redef fun error_msg do return "Eof"
520 redef fun action(parser) do
521 parser.peek_token.action_svalue(parser)
522 end
523 end
524 # State number
525 private class LRStatenumber
526 super LRState
527 redef fun to_s do return "number"
528 redef fun error_msg do return ""
529 redef fun action(parser) do
530 # REDUCE value::value_number=number
531 var n0 = parser.pop.as(Nnumber)
532 var p1 = new Nvalue_number(n0)
533 var prod = p1
534 parser.node_stack.push prod
535 parser.goto(goto_Nvalue)
536 end
537 end
538 # State string
539 private class LRStatestring
540 super LRState
541 redef fun to_s do return "string"
542 redef fun error_msg do return ""
543 redef fun action(parser) do
544 # REDUCE value::value_string=string
545 var n0 = parser.pop.as(Nstring)
546 var p1 = new Nvalue_string(n0)
547 var prod = p1
548 parser.node_stack.push prod
549 parser.goto(goto_Nvalue)
550 end
551 end
552 # State 'true'
553 private class LRState_39dtrue_39d
554 super LRState
555 redef fun to_s do return "\'true\'"
556 redef fun error_msg do return ""
557 redef fun action(parser) do
558 # REDUCE value::value_true='true'
559 var n0 = parser.pop.as(N_39dtrue_39d)
560 var p1 = new Nvalue_true(n0)
561 var prod = p1
562 parser.node_stack.push prod
563 parser.goto(goto_Nvalue)
564 end
565 end
566 # State 'false'
567 private class LRState_39dfalse_39d
568 super LRState
569 redef fun to_s do return "\'false\'"
570 redef fun error_msg do return ""
571 redef fun action(parser) do
572 # REDUCE value::value_false='false'
573 var n0 = parser.pop.as(N_39dfalse_39d)
574 var p1 = new Nvalue_false(n0)
575 var prod = p1
576 parser.node_stack.push prod
577 parser.goto(goto_Nvalue)
578 end
579 end
580 # State 'null'
581 private class LRState_39dnull_39d
582 super LRState
583 redef fun to_s do return "\'null\'"
584 redef fun error_msg do return ""
585 redef fun action(parser) do
586 # REDUCE value::value_null='null'
587 var n0 = parser.pop.as(N_39dnull_39d)
588 var p1 = new Nvalue_null(n0)
589 var prod = p1
590 parser.node_stack.push prod
591 parser.goto(goto_Nvalue)
592 end
593 end
594 # State '{'
595 private class LRState_39d_123d_39d
596 super LRState
597 redef fun to_s do return "\'\{\'"
598 redef fun error_msg do return "members, pair"
599 redef fun action(parser) do
600 parser.peek_token.action_s_39d_123d_39d(parser)
601 end
602 redef fun goto(parser, goto) do
603 goto.goto_s_39d_123d_39d(parser)
604 end
605 end
606 # State '['
607 private class LRState_39d_91d_39d
608 super LRState
609 redef fun to_s do return "\'[\'"
610 redef fun error_msg do return "elements, value"
611 redef fun action(parser) do
612 parser.peek_token.action_s_39d_91d_39d(parser)
613 end
614 redef fun goto(parser, goto) do
615 goto.goto_s_39d_91d_39d(parser)
616 end
617 end
618 # State value Eof
619 private class LRStatevalue_32dEof
620 super LRState
621 redef fun to_s do return "value Eof"
622 redef fun error_msg do return ""
623 redef fun action(parser) do
624 # REDUCE _start::Start=value Eof
625 var n1 = parser.pop.as(NEof)
626 var n0 = parser.pop.as(Nvalue)
627 var p1 = new NStart(n0, n1)
628 var prod = p1
629 parser.node_stack.push prod
630 parser.stop = true
631 end
632 end
633 # State '{' members
634 private class LRState_39d_123d_39d_32dmembers
635 super LRState
636 redef fun to_s do return "\'\{\' members"
637 redef fun error_msg do return "\'\}\', \',\'"
638 redef fun action(parser) do
639 parser.peek_token.action_s_39d_123d_39d_32dmembers(parser)
640 end
641 end
642 # State '{' '}'
643 private class LRState_39d_123d_39d_32d_39d_125d_39d
644 super LRState
645 redef fun to_s do return "\'\{\' \'\}\'"
646 redef fun error_msg do return ""
647 redef fun action(parser) do
648 # REDUCE value::value_object_1='{' '}'
649 var n1 = parser.pop.as(N_39d_125d_39d)
650 var n0 = parser.pop.as(N_39d_123d_39d)
651 var p1 = new Nvalue_object(n0, null, n1)
652 var prod = p1
653 parser.node_stack.push prod
654 parser.goto(goto_Nvalue)
655 end
656 end
657 # State '{' pair
658 private class LRState_39d_123d_39d_32dpair
659 super LRState
660 redef fun to_s do return "\'\{\' pair"
661 redef fun error_msg do return ""
662 redef fun action(parser) do
663 # REDUCE members::members_head=pair
664 var n0 = parser.pop.as(Npair)
665 var p1 = new Nmembers_head(n0)
666 var prod = p1
667 parser.node_stack.push prod
668 parser.goto(goto_Nmembers)
669 end
670 end
671 # State '{' string
672 private class LRState_39d_123d_39d_32dstring
673 super LRState
674 redef fun to_s do return "\'\{\' string"
675 redef fun error_msg do return "\':\'"
676 redef fun action(parser) do
677 parser.peek_token.action_s_39d_123d_39d_32dstring(parser)
678 end
679 end
680 # State '[' elements
681 private class LRState_39d_91d_39d_32delements
682 super LRState
683 redef fun to_s do return "\'[\' elements"
684 redef fun error_msg do return "\']\', \',\'"
685 redef fun action(parser) do
686 parser.peek_token.action_s_39d_91d_39d_32delements(parser)
687 end
688 end
689 # State '[' ']'
690 private class LRState_39d_91d_39d_32d_39d_93d_39d
691 super LRState
692 redef fun to_s do return "\'[\' \']\'"
693 redef fun error_msg do return ""
694 redef fun action(parser) do
695 # REDUCE value::value_array_1='[' ']'
696 var n1 = parser.pop.as(N_39d_93d_39d)
697 var n0 = parser.pop.as(N_39d_91d_39d)
698 var p1 = new Nvalue_array(n0, null, n1)
699 var prod = p1
700 parser.node_stack.push prod
701 parser.goto(goto_Nvalue)
702 end
703 end
704 # State '[' value
705 private class LRState_39d_91d_39d_32dvalue
706 super LRState
707 redef fun to_s do return "\'[\' value"
708 redef fun error_msg do return ""
709 redef fun action(parser) do
710 # REDUCE elements::elements_head=value
711 var n0 = parser.pop.as(Nvalue)
712 var p1 = new Nelements_head(n0)
713 var prod = p1
714 parser.node_stack.push prod
715 parser.goto(goto_Nelements)
716 end
717 end
718 # State '{' members '}'
719 private class LRState_39d_123d_39d_32dmembers_32d_39d_125d_39d
720 super LRState
721 redef fun to_s do return "\'\{\' members \'\}\'"
722 redef fun error_msg do return ""
723 redef fun action(parser) do
724 # REDUCE value::value_object_0='{' members '}'
725 var n2 = parser.pop.as(N_39d_125d_39d)
726 var n1 = parser.pop.as(Nmembers)
727 var n0 = parser.pop.as(N_39d_123d_39d)
728 var p1 = new Nvalue_object(n0, n1, n2)
729 var prod = p1
730 parser.node_stack.push prod
731 parser.goto(goto_Nvalue)
732 end
733 end
734 # State '{' members ','
735 private class LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d
736 super LRState
737 redef fun to_s do return "\'\{\' members \',\'"
738 redef fun error_msg do return "pair"
739 redef fun action(parser) do
740 parser.peek_token.action_s_39d_123d_39d_32dmembers_32d_39d_44d_39d(parser)
741 end
742 redef fun goto(parser, goto) do
743 parser.push(state__39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair)
744 end
745 end
746 # State '{' string ':'
747 private class LRState_39d_123d_39d_32dstring_32d_39d_58d_39d
748 super LRState
749 redef fun to_s do return "\'\{\' string \':\'"
750 redef fun error_msg do return "value"
751 redef fun action(parser) do
752 parser.peek_token.action_s_39d_123d_39d_32dstring_32d_39d_58d_39d(parser)
753 end
754 redef fun goto(parser, goto) do
755 parser.push(state__39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue)
756 end
757 end
758 # State '[' elements ']'
759 private class LRState_39d_91d_39d_32delements_32d_39d_93d_39d
760 super LRState
761 redef fun to_s do return "\'[\' elements \']\'"
762 redef fun error_msg do return ""
763 redef fun action(parser) do
764 # REDUCE value::value_array_0='[' elements ']'
765 var n2 = parser.pop.as(N_39d_93d_39d)
766 var n1 = parser.pop.as(Nelements)
767 var n0 = parser.pop.as(N_39d_91d_39d)
768 var p1 = new Nvalue_array(n0, n1, n2)
769 var prod = p1
770 parser.node_stack.push prod
771 parser.goto(goto_Nvalue)
772 end
773 end
774 # State '[' elements ','
775 private class LRState_39d_91d_39d_32delements_32d_39d_44d_39d
776 super LRState
777 redef fun to_s do return "\'[\' elements \',\'"
778 redef fun error_msg do return "value"
779 redef fun action(parser) do
780 parser.peek_token.action_s_39d_91d_39d_32delements_32d_39d_44d_39d(parser)
781 end
782 redef fun goto(parser, goto) do
783 parser.push(state__39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue)
784 end
785 end
786 # State '{' members ',' pair
787 private class LRState_39d_123d_39d_32dmembers_32d_39d_44d_39d_32dpair
788 super LRState
789 redef fun to_s do return "\'\{\' members \',\' pair"
790 redef fun error_msg do return ""
791 redef fun action(parser) do
792 # REDUCE members::members_tail=members ',' pair
793 var n2 = parser.pop.as(Npair)
794 var n1 = parser.pop.as(N_39d_44d_39d)
795 var n0 = parser.pop.as(Nmembers)
796 var p1 = new Nmembers_tail(n0, n1, n2)
797 var prod = p1
798 parser.node_stack.push prod
799 parser.goto(goto_Nmembers)
800 end
801 end
802 # State '{' string ':' value
803 private class LRState_39d_123d_39d_32dstring_32d_39d_58d_39d_32dvalue
804 super LRState
805 redef fun to_s do return "\'\{\' string \':\' value"
806 redef fun error_msg do return ""
807 redef fun action(parser) do
808 # REDUCE pair::pair=string ':' value
809 var n2 = parser.pop.as(Nvalue)
810 var n1 = parser.pop.as(N_39d_58d_39d)
811 var n0 = parser.pop.as(Nstring)
812 var p1 = new Npair(n0, n1, n2)
813 var prod = p1
814 parser.node_stack.push prod
815 parser.goto(goto_Npair)
816 end
817 end
818 # State '[' elements ',' value
819 private class LRState_39d_91d_39d_32delements_32d_39d_44d_39d_32dvalue
820 super LRState
821 redef fun to_s do return "\'[\' elements \',\' value"
822 redef fun error_msg do return ""
823 redef fun action(parser) do
824 # REDUCE elements::elements_tail=elements ',' value
825 var n2 = parser.pop.as(Nvalue)
826 var n1 = parser.pop.as(N_39d_44d_39d)
827 var n0 = parser.pop.as(Nelements)
828 var p1 = new Nelements_tail(n0, n1, n2)
829 var prod = p1
830 parser.node_stack.push prod
831 parser.goto(goto_Nelements)
832 end
833 end