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