1 # Parser generated by nitcc
5 redef fun start_state
do return state_Start
8 private fun state_Start
: LRStateStart do return once
new LRStateStart
9 private fun state_listing
: LRStatelisting do return once
new LRStatelisting
10 private fun state_line_43d
: LRStateline_43d do return once
new LRStateline_43d
11 private fun state_line
: LRStateline do return once
new LRStateline
12 private fun state_label_decl
: LRStatelabel_decl do return once
new LRStatelabel_decl
13 private fun state_id
: LRStateid do return once
new LRStateid
14 private fun state_comment
: LRStatecomment do return once
new LRStatecomment
15 private fun state_eol
: LRStateeol do return once
new LRStateeol
16 private fun state_instruction
: LRStateinstruction do return once
new LRStateinstruction
17 private fun state_directive
: LRStatedirective do return once
new LRStatedirective
18 private fun state_tk_byte
: LRStatetk_byte do return once
new LRStatetk_byte
19 private fun state_tk_word
: LRStatetk_word do return once
new LRStatetk_word
20 private fun state_tk_block
: LRStatetk_block do return once
new LRStatetk_block
21 private fun state_tk_ascii
: LRStatetk_ascii do return once
new LRStatetk_ascii
22 private fun state_tk_addrss
: LRStatetk_addrss do return once
new LRStatetk_addrss
23 private fun state_tk_equate
: LRStatetk_equate do return once
new LRStatetk_equate
24 private fun state_tk_burn
: LRStatetk_burn do return once
new LRStatetk_burn
25 private fun state_end_block
: LRStateend_block do return once
new LRStateend_block
26 private fun state_listing_32dEof
: LRStatelisting_32dEof do return once
new LRStatelisting_32dEof
27 private fun state_line_43d_32dlabel_decl
: LRStateline_43d_32dlabel_decl do return once
new LRStateline_43d_32dlabel_decl
28 private fun state_line_43d_32dline
: LRStateline_43d_32dline do return once
new LRStateline_43d_32dline
29 private fun state_line_43d_32dend_block
: LRStateline_43d_32dend_block do return once
new LRStateline_43d_32dend_block
30 private fun state_label_decl_32dcomment
: LRStatelabel_decl_32dcomment do return once
new LRStatelabel_decl_32dcomment
31 private fun state_label_decl_32deol
: LRStatelabel_decl_32deol do return once
new LRStatelabel_decl_32deol
32 private fun state_label_decl_32dinstruction
: LRStatelabel_decl_32dinstruction do return once
new LRStatelabel_decl_32dinstruction
33 private fun state_label_decl_32ddirective
: LRStatelabel_decl_32ddirective do return once
new LRStatelabel_decl_32ddirective
34 private fun state_label_decl_32dend_block
: LRStatelabel_decl_32dend_block do return once
new LRStatelabel_decl_32dend_block
35 private fun state_label_decl_32did
: LRStatelabel_decl_32did do return once
new LRStatelabel_decl_32did
36 private fun state_id_32dcolon
: LRStateid_32dcolon do return once
new LRStateid_32dcolon
37 private fun state_id_32doperand
: LRStateid_32doperand do return once
new LRStateid_32doperand
38 private fun state_id_32dvalue
: LRStateid_32dvalue do return once
new LRStateid_32dvalue
39 private fun state_id_32did
: LRStateid_32did do return once
new LRStateid_32did
40 private fun state_id_32dchar
: LRStateid_32dchar do return once
new LRStateid_32dchar
41 private fun state_id_32dstring
: LRStateid_32dstring do return once
new LRStateid_32dstring
42 private fun state_comment_32deol
: LRStatecomment_32deol do return once
new LRStatecomment_32deol
43 private fun state_instruction_32dcomment
: LRStateinstruction_32dcomment do return once
new LRStateinstruction_32dcomment
44 private fun state_instruction_32deol
: LRStateinstruction_32deol do return once
new LRStateinstruction_32deol
45 private fun state_directive_32dcomment
: LRStatedirective_32dcomment do return once
new LRStatedirective_32dcomment
46 private fun state_directive_32deol
: LRStatedirective_32deol do return once
new LRStatedirective_32deol
47 private fun state_tk_byte_32dvalue
: LRStatetk_byte_32dvalue do return once
new LRStatetk_byte_32dvalue
48 private fun state_tk_word_32dvalue
: LRStatetk_word_32dvalue do return once
new LRStatetk_word_32dvalue
49 private fun state_tk_block_32dvalue
: LRStatetk_block_32dvalue do return once
new LRStatetk_block_32dvalue
50 private fun state_tk_ascii_32dvalue
: LRStatetk_ascii_32dvalue do return once
new LRStatetk_ascii_32dvalue
51 private fun state_tk_addrss_32dvalue
: LRStatetk_addrss_32dvalue do return once
new LRStatetk_addrss_32dvalue
52 private fun state_tk_equate_32dvalue
: LRStatetk_equate_32dvalue do return once
new LRStatetk_equate_32dvalue
53 private fun state_tk_burn_32dvalue
: LRStatetk_burn_32dvalue do return once
new LRStatetk_burn_32dvalue
54 private fun state_line_43d_32dlabel_decl_32dend_block
: LRStateline_43d_32dlabel_decl_32dend_block do return once
new LRStateline_43d_32dlabel_decl_32dend_block
55 private fun state_label_decl_32dcomment_32deol
: LRStatelabel_decl_32dcomment_32deol do return once
new LRStatelabel_decl_32dcomment_32deol
56 private fun state_label_decl_32dinstruction_32dcomment
: LRStatelabel_decl_32dinstruction_32dcomment do return once
new LRStatelabel_decl_32dinstruction_32dcomment
57 private fun state_label_decl_32dinstruction_32deol
: LRStatelabel_decl_32dinstruction_32deol do return once
new LRStatelabel_decl_32dinstruction_32deol
58 private fun state_label_decl_32ddirective_32dcomment
: LRStatelabel_decl_32ddirective_32dcomment do return once
new LRStatelabel_decl_32ddirective_32dcomment
59 private fun state_label_decl_32ddirective_32deol
: LRStatelabel_decl_32ddirective_32deol do return once
new LRStatelabel_decl_32ddirective_32deol
60 private fun state_id_32dvalue_32dcomma
: LRStateid_32dvalue_32dcomma do return once
new LRStateid_32dvalue_32dcomma
61 private fun state_instruction_32dcomment_32deol
: LRStateinstruction_32dcomment_32deol do return once
new LRStateinstruction_32dcomment_32deol
62 private fun state_directive_32dcomment_32deol
: LRStatedirective_32dcomment_32deol do return once
new LRStatedirective_32dcomment_32deol
63 private fun state_label_decl_32dinstruction_32dcomment_32deol
: LRStatelabel_decl_32dinstruction_32dcomment_32deol do return once
new LRStatelabel_decl_32dinstruction_32dcomment_32deol
64 private fun state_label_decl_32ddirective_32dcomment_32deol
: LRStatelabel_decl_32ddirective_32dcomment_32deol do return once
new LRStatelabel_decl_32ddirective_32dcomment_32deol
65 private fun state_id_32dvalue_32dcomma_32did
: LRStateid_32dvalue_32dcomma_32did do return once
new LRStateid_32dvalue_32dcomma_32did
66 private fun goto_Nlisting
: Goto_Nlisting do return once
new Goto_Nlisting
67 private fun goto_Nline
: Goto_Nline do return once
new Goto_Nline
68 private fun goto_Nlabel_decl
: Goto_Nlabel_decl do return once
new Goto_Nlabel_decl
69 private fun goto_Ninstruction
: Goto_Ninstruction do return once
new Goto_Ninstruction
70 private fun goto_Noperand
: Goto_Noperand do return once
new Goto_Noperand
71 private fun goto_Nvalue
: Goto_Nvalue do return once
new Goto_Nvalue
72 private fun goto_Ndirective
: Goto_Ndirective do return once
new Goto_Ndirective
73 private fun goto_Nline_43d
: Goto_Nline_43d do return once
new Goto_Nline_43d
74 private fun goto_N_start
: Goto_N_start do return once
new Goto_N_start
77 # guarded action for state Start
78 # 11 shift(s) and 0 reduce(s)
79 private fun action_sStart
(parser
: Parser) do
82 # guarded action for state listing
83 # 1 shift(s) and 0 reduce(s)
84 private fun action_slisting
(parser
: Parser) do
87 # guarded action for state line+
88 # 11 shift(s) and 0 reduce(s)
89 private fun action_sline_43d
(parser
: Parser) do
92 # guarded action for state label_decl
93 # 11 shift(s) and 0 reduce(s)
94 private fun action_slabel_decl
(parser
: Parser) do
97 # guarded action for state id
98 # 4 shift(s) and 1 reduce(s)
99 private fun action_sid
(parser
: Parser) do
100 # REDUCE instruction::instruction_unary=id
101 var n0
= parser
.pop
.as(Nid)
102 var p1
= new Ninstruction_unary(n0
)
104 parser
.node_stack
.push prod
105 parser
.goto
(goto_Ninstruction
)
107 # guarded action for state comment
108 # 1 shift(s) and 0 reduce(s)
109 private fun action_scomment
(parser
: Parser) do
112 # guarded action for state instruction
113 # 2 shift(s) and 0 reduce(s)
114 private fun action_sinstruction
(parser
: Parser) do
117 # guarded action for state directive
118 # 2 shift(s) and 0 reduce(s)
119 private fun action_sdirective
(parser
: Parser) do
122 # guarded action for state tk_byte
123 # 3 shift(s) and 0 reduce(s)
124 private fun action_stk_byte
(parser
: Parser) do
127 # guarded action for state tk_word
128 # 3 shift(s) and 0 reduce(s)
129 private fun action_stk_word
(parser
: Parser) do
132 # guarded action for state tk_block
133 # 3 shift(s) and 0 reduce(s)
134 private fun action_stk_block
(parser
: Parser) do
137 # guarded action for state tk_ascii
138 # 3 shift(s) and 0 reduce(s)
139 private fun action_stk_ascii
(parser
: Parser) do
142 # guarded action for state tk_addrss
143 # 3 shift(s) and 0 reduce(s)
144 private fun action_stk_addrss
(parser
: Parser) do
147 # guarded action for state tk_equate
148 # 3 shift(s) and 0 reduce(s)
149 private fun action_stk_equate
(parser
: Parser) do
152 # guarded action for state tk_burn
153 # 3 shift(s) and 0 reduce(s)
154 private fun action_stk_burn
(parser
: Parser) do
157 # guarded action for state line+ label_decl
158 # 11 shift(s) and 0 reduce(s)
159 private fun action_sline_43d_32dlabel_decl
(parser
: Parser) do
162 # guarded action for state label_decl comment
163 # 1 shift(s) and 0 reduce(s)
164 private fun action_slabel_decl_32dcomment
(parser
: Parser) do
167 # guarded action for state label_decl instruction
168 # 2 shift(s) and 0 reduce(s)
169 private fun action_slabel_decl_32dinstruction
(parser
: Parser) do
172 # guarded action for state label_decl directive
173 # 2 shift(s) and 0 reduce(s)
174 private fun action_slabel_decl_32ddirective
(parser
: Parser) do
177 # guarded action for state label_decl id
178 # 3 shift(s) and 1 reduce(s)
179 private fun action_slabel_decl_32did
(parser
: Parser) do
180 # REDUCE instruction::instruction_unary=id
181 var n0
= parser
.pop
.as(Nid)
182 var p1
= new Ninstruction_unary(n0
)
184 parser
.node_stack
.push prod
185 parser
.goto
(goto_Ninstruction
)
187 # guarded action for state id value
188 # 1 shift(s) and 1 reduce(s)
189 private fun action_sid_32dvalue
(parser
: Parser) do
190 # REDUCE operand::operand_immediate=value
191 var n0
= parser
.pop
.as(Nvalue)
192 var p1
= new Noperand_immediate(n0
)
194 parser
.node_stack
.push prod
195 parser
.goto
(goto_Noperand
)
197 # guarded action for state instruction comment
198 # 1 shift(s) and 0 reduce(s)
199 private fun action_sinstruction_32dcomment
(parser
: Parser) do
202 # guarded action for state directive comment
203 # 1 shift(s) and 0 reduce(s)
204 private fun action_sdirective_32dcomment
(parser
: Parser) do
207 # guarded action for state label_decl instruction comment
208 # 1 shift(s) and 0 reduce(s)
209 private fun action_slabel_decl_32dinstruction_32dcomment
(parser
: Parser) do
212 # guarded action for state label_decl directive comment
213 # 1 shift(s) and 0 reduce(s)
214 private fun action_slabel_decl_32ddirective_32dcomment
(parser
: Parser) do
217 # guarded action for state id value comma
218 # 1 shift(s) and 0 reduce(s)
219 private fun action_sid_32dvalue_32dcomma
(parser
: Parser) do
225 redef fun node_name
do return "Ignored"
229 redef fun action_sStart
(parser
) do
230 parser
.shift
(state_end_block
)
232 redef fun action_sline_43d
(parser
) do
233 parser
.shift
(state_line_43d_32dend_block
)
235 redef fun action_slabel_decl
(parser
) do
236 parser
.shift
(state_label_decl_32dend_block
)
238 redef fun action_sline_43d_32dlabel_decl
(parser
) do
239 parser
.shift
(state_line_43d_32dlabel_decl_32dend_block
)
241 redef fun node_name
do return "end_block"
245 redef fun action_sStart
(parser
) do
246 parser
.shift
(state_comment
)
248 redef fun action_sline_43d
(parser
) do
249 parser
.shift
(state_comment
)
251 redef fun action_slabel_decl
(parser
) do
252 parser
.shift
(state_label_decl_32dcomment
)
254 redef fun action_sinstruction
(parser
) do
255 parser
.shift
(state_instruction_32dcomment
)
257 redef fun action_sdirective
(parser
) do
258 parser
.shift
(state_directive_32dcomment
)
260 redef fun action_sline_43d_32dlabel_decl
(parser
) do
261 parser
.shift
(state_label_decl_32dcomment
)
263 redef fun action_slabel_decl_32dinstruction
(parser
) do
264 parser
.shift
(state_label_decl_32dinstruction_32dcomment
)
266 redef fun action_slabel_decl_32ddirective
(parser
) do
267 parser
.shift
(state_label_decl_32ddirective_32dcomment
)
269 redef fun node_name
do return "comment"
273 redef fun action_sStart
(parser
) do
274 parser
.shift
(state_eol
)
276 redef fun action_sline_43d
(parser
) do
277 parser
.shift
(state_eol
)
279 redef fun action_slabel_decl
(parser
) do
280 parser
.shift
(state_label_decl_32deol
)
282 redef fun action_scomment
(parser
) do
283 parser
.shift
(state_comment_32deol
)
285 redef fun action_sinstruction
(parser
) do
286 parser
.shift
(state_instruction_32deol
)
288 redef fun action_sdirective
(parser
) do
289 parser
.shift
(state_directive_32deol
)
291 redef fun action_sline_43d_32dlabel_decl
(parser
) do
292 parser
.shift
(state_label_decl_32deol
)
294 redef fun action_slabel_decl_32dcomment
(parser
) do
295 parser
.shift
(state_label_decl_32dcomment_32deol
)
297 redef fun action_slabel_decl_32dinstruction
(parser
) do
298 parser
.shift
(state_label_decl_32dinstruction_32deol
)
300 redef fun action_slabel_decl_32ddirective
(parser
) do
301 parser
.shift
(state_label_decl_32ddirective_32deol
)
303 redef fun action_sinstruction_32dcomment
(parser
) do
304 parser
.shift
(state_instruction_32dcomment_32deol
)
306 redef fun action_sdirective_32dcomment
(parser
) do
307 parser
.shift
(state_directive_32dcomment_32deol
)
309 redef fun action_slabel_decl_32dinstruction_32dcomment
(parser
) do
310 parser
.shift
(state_label_decl_32dinstruction_32dcomment_32deol
)
312 redef fun action_slabel_decl_32ddirective_32dcomment
(parser
) do
313 parser
.shift
(state_label_decl_32ddirective_32dcomment_32deol
)
315 redef fun node_name
do return "eol"
319 redef fun action_sStart
(parser
) do
320 parser
.shift
(state_id
)
322 redef fun action_sline_43d
(parser
) do
323 parser
.shift
(state_id
)
325 redef fun action_slabel_decl
(parser
) do
326 parser
.shift
(state_label_decl_32did
)
328 redef fun action_sid
(parser
) do
329 parser
.shift
(state_id_32did
)
331 redef fun action_stk_byte
(parser
) do
332 parser
.shift
(state_id_32did
)
334 redef fun action_stk_word
(parser
) do
335 parser
.shift
(state_id_32did
)
337 redef fun action_stk_block
(parser
) do
338 parser
.shift
(state_id_32did
)
340 redef fun action_stk_ascii
(parser
) do
341 parser
.shift
(state_id_32did
)
343 redef fun action_stk_addrss
(parser
) do
344 parser
.shift
(state_id_32did
)
346 redef fun action_stk_equate
(parser
) do
347 parser
.shift
(state_id_32did
)
349 redef fun action_stk_burn
(parser
) do
350 parser
.shift
(state_id_32did
)
352 redef fun action_sline_43d_32dlabel_decl
(parser
) do
353 parser
.shift
(state_label_decl_32did
)
355 redef fun action_slabel_decl_32did
(parser
) do
356 parser
.shift
(state_id_32did
)
358 redef fun action_sid_32dvalue_32dcomma
(parser
) do
359 parser
.shift
(state_id_32dvalue_32dcomma_32did
)
361 redef fun node_name
do return "id"
365 redef fun action_sid
(parser
) do
366 parser
.shift
(state_id_32dcolon
)
368 redef fun node_name
do return "colon"
372 redef fun action_sid_32dvalue
(parser
) do
373 parser
.shift
(state_id_32dvalue_32dcomma
)
375 redef fun node_name
do return "comma"
379 redef fun action_sid
(parser
) do
380 parser
.shift
(state_id_32dchar
)
382 redef fun action_stk_byte
(parser
) do
383 parser
.shift
(state_id_32dchar
)
385 redef fun action_stk_word
(parser
) do
386 parser
.shift
(state_id_32dchar
)
388 redef fun action_stk_block
(parser
) do
389 parser
.shift
(state_id_32dchar
)
391 redef fun action_stk_ascii
(parser
) do
392 parser
.shift
(state_id_32dchar
)
394 redef fun action_stk_addrss
(parser
) do
395 parser
.shift
(state_id_32dchar
)
397 redef fun action_stk_equate
(parser
) do
398 parser
.shift
(state_id_32dchar
)
400 redef fun action_stk_burn
(parser
) do
401 parser
.shift
(state_id_32dchar
)
403 redef fun action_slabel_decl_32did
(parser
) do
404 parser
.shift
(state_id_32dchar
)
406 redef fun node_name
do return "char"
410 redef fun action_sid
(parser
) do
411 parser
.shift
(state_id_32dstring
)
413 redef fun action_stk_byte
(parser
) do
414 parser
.shift
(state_id_32dstring
)
416 redef fun action_stk_word
(parser
) do
417 parser
.shift
(state_id_32dstring
)
419 redef fun action_stk_block
(parser
) do
420 parser
.shift
(state_id_32dstring
)
422 redef fun action_stk_ascii
(parser
) do
423 parser
.shift
(state_id_32dstring
)
425 redef fun action_stk_addrss
(parser
) do
426 parser
.shift
(state_id_32dstring
)
428 redef fun action_stk_equate
(parser
) do
429 parser
.shift
(state_id_32dstring
)
431 redef fun action_stk_burn
(parser
) do
432 parser
.shift
(state_id_32dstring
)
434 redef fun action_slabel_decl_32did
(parser
) do
435 parser
.shift
(state_id_32dstring
)
437 redef fun node_name
do return "string"
441 redef fun action_sStart
(parser
) do
442 parser
.shift
(state_tk_byte
)
444 redef fun action_sline_43d
(parser
) do
445 parser
.shift
(state_tk_byte
)
447 redef fun action_slabel_decl
(parser
) do
448 parser
.shift
(state_tk_byte
)
450 redef fun action_sline_43d_32dlabel_decl
(parser
) do
451 parser
.shift
(state_tk_byte
)
453 redef fun node_name
do return "tk_byte"
457 redef fun action_sStart
(parser
) do
458 parser
.shift
(state_tk_word
)
460 redef fun action_sline_43d
(parser
) do
461 parser
.shift
(state_tk_word
)
463 redef fun action_slabel_decl
(parser
) do
464 parser
.shift
(state_tk_word
)
466 redef fun action_sline_43d_32dlabel_decl
(parser
) do
467 parser
.shift
(state_tk_word
)
469 redef fun node_name
do return "tk_word"
473 redef fun action_sStart
(parser
) do
474 parser
.shift
(state_tk_block
)
476 redef fun action_sline_43d
(parser
) do
477 parser
.shift
(state_tk_block
)
479 redef fun action_slabel_decl
(parser
) do
480 parser
.shift
(state_tk_block
)
482 redef fun action_sline_43d_32dlabel_decl
(parser
) do
483 parser
.shift
(state_tk_block
)
485 redef fun node_name
do return "tk_block"
489 redef fun action_sStart
(parser
) do
490 parser
.shift
(state_tk_ascii
)
492 redef fun action_sline_43d
(parser
) do
493 parser
.shift
(state_tk_ascii
)
495 redef fun action_slabel_decl
(parser
) do
496 parser
.shift
(state_tk_ascii
)
498 redef fun action_sline_43d_32dlabel_decl
(parser
) do
499 parser
.shift
(state_tk_ascii
)
501 redef fun node_name
do return "tk_ascii"
505 redef fun action_sStart
(parser
) do
506 parser
.shift
(state_tk_addrss
)
508 redef fun action_sline_43d
(parser
) do
509 parser
.shift
(state_tk_addrss
)
511 redef fun action_slabel_decl
(parser
) do
512 parser
.shift
(state_tk_addrss
)
514 redef fun action_sline_43d_32dlabel_decl
(parser
) do
515 parser
.shift
(state_tk_addrss
)
517 redef fun node_name
do return "tk_addrss"
521 redef fun action_sStart
(parser
) do
522 parser
.shift
(state_tk_equate
)
524 redef fun action_sline_43d
(parser
) do
525 parser
.shift
(state_tk_equate
)
527 redef fun action_slabel_decl
(parser
) do
528 parser
.shift
(state_tk_equate
)
530 redef fun action_sline_43d_32dlabel_decl
(parser
) do
531 parser
.shift
(state_tk_equate
)
533 redef fun node_name
do return "tk_equate"
537 redef fun action_sStart
(parser
) do
538 parser
.shift
(state_tk_burn
)
540 redef fun action_sline_43d
(parser
) do
541 parser
.shift
(state_tk_burn
)
543 redef fun action_slabel_decl
(parser
) do
544 parser
.shift
(state_tk_burn
)
546 redef fun action_sline_43d_32dlabel_decl
(parser
) do
547 parser
.shift
(state_tk_burn
)
549 redef fun node_name
do return "tk_burn"
553 redef fun action_slisting
(parser
) do
554 parser
.shift
(state_listing_32dEof
)
556 redef fun node_name
do return "Eof"
559 private fun goto_sStart
(parser
: Parser) do abort
560 private fun goto_sline_43d
(parser
: Parser) do abort
561 private fun goto_slabel_decl
(parser
: Parser) do abort
562 private fun goto_sid
(parser
: Parser) do abort
563 private fun goto_sline_43d_32dlabel_decl
(parser
: Parser) do abort
564 private fun goto_slabel_decl_32did
(parser
: Parser) do abort
568 redef fun goto_sStart
(parser
) do
569 parser
.push
(state_listing
)
574 redef fun goto_sStart
(parser
) do
575 parser
.push
(state_line
)
577 redef fun goto_sline_43d
(parser
) do
578 parser
.push
(state_line_43d_32dline
)
581 class Goto_Nlabel_decl
583 redef fun goto_sStart
(parser
) do
584 parser
.push
(state_label_decl
)
586 redef fun goto_sline_43d
(parser
) do
587 parser
.push
(state_line_43d_32dlabel_decl
)
590 class Goto_Ninstruction
592 redef fun goto_sStart
(parser
) do
593 parser
.push
(state_instruction
)
595 redef fun goto_sline_43d
(parser
) do
596 parser
.push
(state_instruction
)
598 redef fun goto_slabel_decl
(parser
) do
599 parser
.push
(state_label_decl_32dinstruction
)
601 redef fun goto_sline_43d_32dlabel_decl
(parser
) do
602 parser
.push
(state_label_decl_32dinstruction
)
607 redef fun goto_sid
(parser
) do
608 parser
.push
(state_id_32doperand
)
610 redef fun goto_slabel_decl_32did
(parser
) do
611 parser
.push
(state_id_32doperand
)
616 redef fun goto_sid
(parser
) do
617 parser
.push
(state_id_32dvalue
)
619 redef fun goto_slabel_decl_32did
(parser
) do
620 parser
.push
(state_id_32dvalue
)
623 class Goto_Ndirective
625 redef fun goto_sStart
(parser
) do
626 parser
.push
(state_directive
)
628 redef fun goto_sline_43d
(parser
) do
629 parser
.push
(state_directive
)
631 redef fun goto_slabel_decl
(parser
) do
632 parser
.push
(state_label_decl_32ddirective
)
634 redef fun goto_sline_43d_32dlabel_decl
(parser
) do
635 parser
.push
(state_label_decl_32ddirective
)
640 redef fun goto_sStart
(parser
) do
641 parser
.push
(state_line_43d
)
649 redef fun node_name
do return "listing"
650 var n_lines
: nullable Nodes[Nline]
651 var n_label_decl
: nullable Nlabel_decl
652 var n_end_block
: Nend_block
653 init(n_lines
: nullable Nodes[Nline], n_label_decl
: nullable Nlabel_decl, n_end_block
: Nend_block) do
654 self.n_lines
= n_lines
655 self.n_label_decl
= n_label_decl
656 self.n_end_block
= n_end_block
658 redef fun number_of_children
do return 3
659 redef fun child
(i
) do
660 if i
== 0 then return n_lines
661 if i
== 1 then return n_label_decl
662 if i
== 2 then return n_end_block
668 redef fun node_name
do return "line"
672 redef fun node_name
do return "line_empty"
673 var n_label_decl
: nullable Nlabel_decl
674 var n_comment
: nullable Ncomment
676 init(n_label_decl
: nullable Nlabel_decl, n_comment
: nullable Ncomment, n_eol
: Neol) do
677 self.n_label_decl
= n_label_decl
678 self.n_comment
= n_comment
681 redef fun number_of_children
do return 3
682 redef fun child
(i
) do
683 if i
== 0 then return n_label_decl
684 if i
== 1 then return n_comment
685 if i
== 2 then return n_eol
689 class Nline_instruction
691 redef fun node_name
do return "line_instruction"
692 var n_label_decl
: nullable Nlabel_decl
693 var n_instruction
: Ninstruction
694 var n_comment
: nullable Ncomment
696 init(n_label_decl
: nullable Nlabel_decl, n_instruction
: Ninstruction, n_comment
: nullable Ncomment, n_eol
: Neol) do
697 self.n_label_decl
= n_label_decl
698 self.n_instruction
= n_instruction
699 self.n_comment
= n_comment
702 redef fun number_of_children
do return 4
703 redef fun child
(i
) do
704 if i
== 0 then return n_label_decl
705 if i
== 1 then return n_instruction
706 if i
== 2 then return n_comment
707 if i
== 3 then return n_eol
711 class Nline_directive
713 redef fun node_name
do return "line_directive"
714 var n_label_decl
: nullable Nlabel_decl
715 var n_directive
: Ndirective
716 var n_comment
: nullable Ncomment
718 init(n_label_decl
: nullable Nlabel_decl, n_directive
: Ndirective, n_comment
: nullable Ncomment, n_eol
: Neol) do
719 self.n_label_decl
= n_label_decl
720 self.n_directive
= n_directive
721 self.n_comment
= n_comment
724 redef fun number_of_children
do return 4
725 redef fun child
(i
) do
726 if i
== 0 then return n_label_decl
727 if i
== 1 then return n_directive
728 if i
== 2 then return n_comment
729 if i
== 3 then return n_eol
735 redef fun node_name
do return "label_decl"
738 init(n_id
: Nid, n_colon
: Ncolon) do
740 self.n_colon
= n_colon
742 redef fun number_of_children
do return 2
743 redef fun child
(i
) do
744 if i
== 0 then return n_id
745 if i
== 1 then return n_colon
751 redef fun node_name
do return "instruction"
753 class Ninstruction_unary
755 redef fun node_name
do return "instruction_unary"
760 redef fun number_of_children
do return 1
761 redef fun child
(i
) do
762 if i
== 0 then return n_id
766 class Ninstruction_binary
768 redef fun node_name
do return "instruction_binary"
770 var n_operand
: Noperand
771 init(n_id
: Nid, n_operand
: Noperand) do
773 self.n_operand
= n_operand
775 redef fun number_of_children
do return 2
776 redef fun child
(i
) do
777 if i
== 0 then return n_id
778 if i
== 1 then return n_operand
784 redef fun node_name
do return "operand"
786 class Noperand_immediate
788 redef fun node_name
do return "operand_immediate"
790 init(n_value
: Nvalue) do
791 self.n_value
= n_value
793 redef fun number_of_children
do return 1
794 redef fun child
(i
) do
795 if i
== 0 then return n_value
801 redef fun node_name
do return "operand_any"
805 init(n_value
: Nvalue, n_comma
: Ncomma, n_id
: Nid) do
806 self.n_value
= n_value
807 self.n_comma
= n_comma
810 redef fun number_of_children
do return 3
811 redef fun child
(i
) do
812 if i
== 0 then return n_value
813 if i
== 1 then return n_comma
814 if i
== 2 then return n_id
820 redef fun node_name
do return "value"
824 redef fun node_name
do return "value_label"
829 redef fun number_of_children
do return 1
830 redef fun child
(i
) do
831 if i
== 0 then return n_id
837 redef fun node_name
do return "value_char"
839 init(n_char
: Nchar) do
842 redef fun number_of_children
do return 1
843 redef fun child
(i
) do
844 if i
== 0 then return n_char
850 redef fun node_name
do return "value_string"
851 var n_string
: Nstring
852 init(n_string
: Nstring) do
853 self.n_string
= n_string
855 redef fun number_of_children
do return 1
856 redef fun child
(i
) do
857 if i
== 0 then return n_string
863 redef fun node_name
do return "directive"
865 class Ndirective_byte
867 redef fun node_name
do return "directive_byte"
868 var n_tk_byte
: Ntk_byte
870 init(n_tk_byte
: Ntk_byte, n_value
: Nvalue) do
871 self.n_tk_byte
= n_tk_byte
872 self.n_value
= n_value
874 redef fun number_of_children
do return 2
875 redef fun child
(i
) do
876 if i
== 0 then return n_tk_byte
877 if i
== 1 then return n_value
881 class Ndirective_word
883 redef fun node_name
do return "directive_word"
884 var n_tk_word
: Ntk_word
886 init(n_tk_word
: Ntk_word, n_value
: Nvalue) do
887 self.n_tk_word
= n_tk_word
888 self.n_value
= n_value
890 redef fun number_of_children
do return 2
891 redef fun child
(i
) do
892 if i
== 0 then return n_tk_word
893 if i
== 1 then return n_value
897 class Ndirective_block
899 redef fun node_name
do return "directive_block"
900 var n_tk_block
: Ntk_block
902 init(n_tk_block
: Ntk_block, n_value
: Nvalue) do
903 self.n_tk_block
= n_tk_block
904 self.n_value
= n_value
906 redef fun number_of_children
do return 2
907 redef fun child
(i
) do
908 if i
== 0 then return n_tk_block
909 if i
== 1 then return n_value
913 class Ndirective_ascii
915 redef fun node_name
do return "directive_ascii"
916 var n_tk_ascii
: Ntk_ascii
918 init(n_tk_ascii
: Ntk_ascii, n_value
: Nvalue) do
919 self.n_tk_ascii
= n_tk_ascii
920 self.n_value
= n_value
922 redef fun number_of_children
do return 2
923 redef fun child
(i
) do
924 if i
== 0 then return n_tk_ascii
925 if i
== 1 then return n_value
929 class Ndirective_addrss
931 redef fun node_name
do return "directive_addrss"
932 var n_tk_addrss
: Ntk_addrss
934 init(n_tk_addrss
: Ntk_addrss, n_value
: Nvalue) do
935 self.n_tk_addrss
= n_tk_addrss
936 self.n_value
= n_value
938 redef fun number_of_children
do return 2
939 redef fun child
(i
) do
940 if i
== 0 then return n_tk_addrss
941 if i
== 1 then return n_value
945 class Ndirective_equate
947 redef fun node_name
do return "directive_equate"
948 var n_tk_equate
: Ntk_equate
950 init(n_tk_equate
: Ntk_equate, n_value
: Nvalue) do
951 self.n_tk_equate
= n_tk_equate
952 self.n_value
= n_value
954 redef fun number_of_children
do return 2
955 redef fun child
(i
) do
956 if i
== 0 then return n_tk_equate
957 if i
== 1 then return n_value
961 class Ndirective_burn
963 redef fun node_name
do return "directive_burn"
964 var n_tk_burn
: Ntk_burn
966 init(n_tk_burn
: Ntk_burn, n_value
: Nvalue) do
967 self.n_tk_burn
= n_tk_burn
968 self.n_value
= n_value
970 redef fun number_of_children
do return 2
971 redef fun child
(i
) do
972 if i
== 0 then return n_tk_burn
973 if i
== 1 then return n_value
979 redef fun node_name
do return "_start"
983 redef fun node_name
do return "Start"
986 init(n_0
: Nlisting, n_1
: NEof) do
990 redef fun number_of_children
do return 2
991 redef fun child
(i
) do
992 if i
== 0 then return n_0
993 if i
== 1 then return n_1
998 private class LRStateStart
1000 redef fun to_s
do return "Start"
1001 redef fun error_msg
do return "listing, line+, line, label_decl, instruction, directive"
1002 redef fun action
(parser
) do
1003 parser
.peek_token
.action_sStart
(parser
)
1005 redef fun goto
(parser
, goto
) do
1006 goto
.goto_sStart
(parser
)
1010 private class LRStatelisting
1012 redef fun to_s
do return "listing"
1013 redef fun error_msg
do return "Eof"
1014 redef fun action
(parser
) do
1015 parser
.peek_token
.action_slisting
(parser
)
1019 private class LRStateline_43d
1021 redef fun to_s
do return "line+"
1022 redef fun error_msg
do return "label_decl, line, instruction, directive"
1023 redef fun action
(parser
) do
1024 parser
.peek_token
.action_sline_43d
(parser
)
1026 redef fun goto
(parser
, goto
) do
1027 goto
.goto_sline_43d
(parser
)
1031 private class LRStateline
1033 redef fun to_s
do return "line"
1034 redef fun error_msg
do return ""
1035 redef fun action
(parser
) do
1036 # REDUCE line+::line+_one=line
1037 var n0
= parser
.pop
.as(Nline)
1038 var prod
= new Nodes[Nline]
1040 parser
.node_stack
.push prod
1041 parser
.goto
(goto_Nline_43d
)
1045 private class LRStatelabel_decl
1047 redef fun to_s
do return "label_decl"
1048 redef fun error_msg
do return "instruction, directive"
1049 redef fun action
(parser
) do
1050 parser
.peek_token
.action_slabel_decl
(parser
)
1052 redef fun goto
(parser
, goto
) do
1053 goto
.goto_slabel_decl
(parser
)
1057 private class LRStateid
1059 redef fun to_s
do return "id"
1060 redef fun error_msg
do return "operand, value"
1061 redef fun action
(parser
) do
1062 parser
.peek_token
.action_sid
(parser
)
1064 redef fun goto
(parser
, goto
) do
1065 goto
.goto_sid
(parser
)
1069 private class LRStatecomment
1071 redef fun to_s
do return "comment"
1072 redef fun error_msg
do return "eol"
1073 redef fun action
(parser
) do
1074 parser
.peek_token
.action_scomment
(parser
)
1078 private class LRStateeol
1080 redef fun to_s
do return "eol"
1081 redef fun error_msg
do return ""
1082 redef fun action
(parser
) do
1083 # REDUCE line::line_empty_3=eol
1084 var n0
= parser
.pop
.as(Neol)
1085 var p1
= new Nline_empty(null, null, n0
)
1087 parser
.node_stack
.push prod
1088 parser
.goto
(goto_Nline
)
1092 private class LRStateinstruction
1094 redef fun to_s
do return "instruction"
1095 redef fun error_msg
do return "comment, eol"
1096 redef fun action
(parser
) do
1097 parser
.peek_token
.action_sinstruction
(parser
)
1101 private class LRStatedirective
1103 redef fun to_s
do return "directive"
1104 redef fun error_msg
do return "comment, eol"
1105 redef fun action
(parser
) do
1106 parser
.peek_token
.action_sdirective
(parser
)
1110 private class LRStatetk_byte
1112 redef fun to_s
do return "tk_byte"
1113 redef fun error_msg
do return "value"
1114 redef fun action
(parser
) do
1115 parser
.peek_token
.action_stk_byte
(parser
)
1117 redef fun goto
(parser
, goto
) do
1118 parser
.push
(state_tk_byte_32dvalue
)
1122 private class LRStatetk_word
1124 redef fun to_s
do return "tk_word"
1125 redef fun error_msg
do return "value"
1126 redef fun action
(parser
) do
1127 parser
.peek_token
.action_stk_word
(parser
)
1129 redef fun goto
(parser
, goto
) do
1130 parser
.push
(state_tk_word_32dvalue
)
1134 private class LRStatetk_block
1136 redef fun to_s
do return "tk_block"
1137 redef fun error_msg
do return "value"
1138 redef fun action
(parser
) do
1139 parser
.peek_token
.action_stk_block
(parser
)
1141 redef fun goto
(parser
, goto
) do
1142 parser
.push
(state_tk_block_32dvalue
)
1146 private class LRStatetk_ascii
1148 redef fun to_s
do return "tk_ascii"
1149 redef fun error_msg
do return "value"
1150 redef fun action
(parser
) do
1151 parser
.peek_token
.action_stk_ascii
(parser
)
1153 redef fun goto
(parser
, goto
) do
1154 parser
.push
(state_tk_ascii_32dvalue
)
1158 private class LRStatetk_addrss
1160 redef fun to_s
do return "tk_addrss"
1161 redef fun error_msg
do return "value"
1162 redef fun action
(parser
) do
1163 parser
.peek_token
.action_stk_addrss
(parser
)
1165 redef fun goto
(parser
, goto
) do
1166 parser
.push
(state_tk_addrss_32dvalue
)
1170 private class LRStatetk_equate
1172 redef fun to_s
do return "tk_equate"
1173 redef fun error_msg
do return "value"
1174 redef fun action
(parser
) do
1175 parser
.peek_token
.action_stk_equate
(parser
)
1177 redef fun goto
(parser
, goto
) do
1178 parser
.push
(state_tk_equate_32dvalue
)
1182 private class LRStatetk_burn
1184 redef fun to_s
do return "tk_burn"
1185 redef fun error_msg
do return "value"
1186 redef fun action
(parser
) do
1187 parser
.peek_token
.action_stk_burn
(parser
)
1189 redef fun goto
(parser
, goto
) do
1190 parser
.push
(state_tk_burn_32dvalue
)
1194 private class LRStateend_block
1196 redef fun to_s
do return "end_block"
1197 redef fun error_msg
do return ""
1198 redef fun action
(parser
) do
1199 # REDUCE listing::listing_3=end_block
1200 var n0
= parser
.pop
.as(Nend_block)
1201 var p1
= new Nlisting(null, null, n0
)
1203 parser
.node_stack
.push prod
1204 parser
.goto
(goto_Nlisting
)
1208 private class LRStatelisting_32dEof
1210 redef fun to_s
do return "listing Eof"
1211 redef fun error_msg
do return ""
1212 redef fun action
(parser
) do
1213 # REDUCE _start::Start=listing Eof
1214 var n1
= parser
.pop
.as(NEof)
1215 var n0
= parser
.pop
.as(Nlisting)
1216 var p1
= new NStart(n0
, n1
)
1218 parser
.node_stack
.push prod
1222 # State line+ label_decl
1223 private class LRStateline_43d_32dlabel_decl
1225 redef fun to_s
do return "line+ label_decl"
1226 redef fun error_msg
do return "instruction, directive"
1227 redef fun action
(parser
) do
1228 parser
.peek_token
.action_sline_43d_32dlabel_decl
(parser
)
1230 redef fun goto
(parser
, goto
) do
1231 goto
.goto_sline_43d_32dlabel_decl
(parser
)
1235 private class LRStateline_43d_32dline
1237 redef fun to_s
do return "line+ line"
1238 redef fun error_msg
do return ""
1239 redef fun action
(parser
) do
1240 # REDUCE line+::line+_more=line+ line
1241 var n1
= parser
.pop
.as(Nline)
1242 var n0
= parser
.pop
.as(Nodes[Nline])
1245 parser
.node_stack
.push prod
1246 parser
.goto
(goto_Nline_43d
)
1249 # State line+ end_block
1250 private class LRStateline_43d_32dend_block
1252 redef fun to_s
do return "line+ end_block"
1253 redef fun error_msg
do return ""
1254 redef fun action
(parser
) do
1255 # REDUCE listing::listing_2=line+ end_block
1256 var n1
= parser
.pop
.as(Nend_block)
1257 var n0
= parser
.pop
.as(Nodes[Nline])
1258 var p1
= new Nlisting(n0
, null, n1
)
1260 parser
.node_stack
.push prod
1261 parser
.goto
(goto_Nlisting
)
1264 # State label_decl comment
1265 private class LRStatelabel_decl_32dcomment
1267 redef fun to_s
do return "label_decl comment"
1268 redef fun error_msg
do return "eol"
1269 redef fun action
(parser
) do
1270 parser
.peek_token
.action_slabel_decl_32dcomment
(parser
)
1273 # State label_decl eol
1274 private class LRStatelabel_decl_32deol
1276 redef fun to_s
do return "label_decl eol"
1277 redef fun error_msg
do return ""
1278 redef fun action
(parser
) do
1279 # REDUCE line::line_empty_2=label_decl eol
1280 var n1
= parser
.pop
.as(Neol)
1281 var n0
= parser
.pop
.as(Nlabel_decl)
1282 var p1
= new Nline_empty(n0
, null, n1
)
1284 parser
.node_stack
.push prod
1285 parser
.goto
(goto_Nline
)
1288 # State label_decl instruction
1289 private class LRStatelabel_decl_32dinstruction
1291 redef fun to_s
do return "label_decl instruction"
1292 redef fun error_msg
do return "comment, eol"
1293 redef fun action
(parser
) do
1294 parser
.peek_token
.action_slabel_decl_32dinstruction
(parser
)
1297 # State label_decl directive
1298 private class LRStatelabel_decl_32ddirective
1300 redef fun to_s
do return "label_decl directive"
1301 redef fun error_msg
do return "comment, eol"
1302 redef fun action
(parser
) do
1303 parser
.peek_token
.action_slabel_decl_32ddirective
(parser
)
1306 # State label_decl end_block
1307 private class LRStatelabel_decl_32dend_block
1309 redef fun to_s
do return "label_decl end_block"
1310 redef fun error_msg
do return ""
1311 redef fun action
(parser
) do
1312 # REDUCE listing::listing_1=label_decl end_block
1313 var n1
= parser
.pop
.as(Nend_block)
1314 var n0
= parser
.pop
.as(Nlabel_decl)
1315 var p1
= new Nlisting(null, n0
, n1
)
1317 parser
.node_stack
.push prod
1318 parser
.goto
(goto_Nlisting
)
1321 # State label_decl id
1322 private class LRStatelabel_decl_32did
1324 redef fun to_s
do return "label_decl id"
1325 redef fun error_msg
do return "operand, value"
1326 redef fun action
(parser
) do
1327 parser
.peek_token
.action_slabel_decl_32did
(parser
)
1329 redef fun goto
(parser
, goto
) do
1330 goto
.goto_slabel_decl_32did
(parser
)
1334 private class LRStateid_32dcolon
1336 redef fun to_s
do return "id colon"
1337 redef fun error_msg
do return ""
1338 redef fun action
(parser
) do
1339 # REDUCE label_decl::label_decl=id colon
1340 var n1
= parser
.pop
.as(Ncolon)
1341 var n0
= parser
.pop
.as(Nid)
1342 var p1
= new Nlabel_decl(n0
, n1
)
1344 parser
.node_stack
.push prod
1345 parser
.goto
(goto_Nlabel_decl
)
1349 private class LRStateid_32doperand
1351 redef fun to_s
do return "id operand"
1352 redef fun error_msg
do return ""
1353 redef fun action
(parser
) do
1354 # REDUCE instruction::instruction_binary=id operand
1355 var n1
= parser
.pop
.as(Noperand)
1356 var n0
= parser
.pop
.as(Nid)
1357 var p1
= new Ninstruction_binary(n0
, n1
)
1359 parser
.node_stack
.push prod
1360 parser
.goto
(goto_Ninstruction
)
1364 private class LRStateid_32dvalue
1366 redef fun to_s
do return "id value"
1367 redef fun error_msg
do return "comma"
1368 redef fun action
(parser
) do
1369 parser
.peek_token
.action_sid_32dvalue
(parser
)
1373 private class LRStateid_32did
1375 redef fun to_s
do return "id id"
1376 redef fun error_msg
do return ""
1377 redef fun action
(parser
) do
1378 # REDUCE value::value_label=id
1379 var n0
= parser
.pop
.as(Nid)
1380 var p1
= new Nvalue_label(n0
)
1382 parser
.node_stack
.push prod
1383 parser
.goto
(goto_Nvalue
)
1387 private class LRStateid_32dchar
1389 redef fun to_s
do return "id char"
1390 redef fun error_msg
do return ""
1391 redef fun action
(parser
) do
1392 # REDUCE value::value_char=char
1393 var n0
= parser
.pop
.as(Nchar)
1394 var p1
= new Nvalue_char(n0
)
1396 parser
.node_stack
.push prod
1397 parser
.goto
(goto_Nvalue
)
1401 private class LRStateid_32dstring
1403 redef fun to_s
do return "id string"
1404 redef fun error_msg
do return ""
1405 redef fun action
(parser
) do
1406 # REDUCE value::value_string=string
1407 var n0
= parser
.pop
.as(Nstring)
1408 var p1
= new Nvalue_string(n0
)
1410 parser
.node_stack
.push prod
1411 parser
.goto
(goto_Nvalue
)
1415 private class LRStatecomment_32deol
1417 redef fun to_s
do return "comment eol"
1418 redef fun error_msg
do return ""
1419 redef fun action
(parser
) do
1420 # REDUCE line::line_empty_1=comment eol
1421 var n1
= parser
.pop
.as(Neol)
1422 var n0
= parser
.pop
.as(Ncomment)
1423 var p1
= new Nline_empty(null, n0
, n1
)
1425 parser
.node_stack
.push prod
1426 parser
.goto
(goto_Nline
)
1429 # State instruction comment
1430 private class LRStateinstruction_32dcomment
1432 redef fun to_s
do return "instruction comment"
1433 redef fun error_msg
do return "eol"
1434 redef fun action
(parser
) do
1435 parser
.peek_token
.action_sinstruction_32dcomment
(parser
)
1438 # State instruction eol
1439 private class LRStateinstruction_32deol
1441 redef fun to_s
do return "instruction eol"
1442 redef fun error_msg
do return ""
1443 redef fun action
(parser
) do
1444 # REDUCE line::line_instruction_3=instruction eol
1445 var n1
= parser
.pop
.as(Neol)
1446 var n0
= parser
.pop
.as(Ninstruction)
1447 var p1
= new Nline_instruction(null, n0
, null, n1
)
1449 parser
.node_stack
.push prod
1450 parser
.goto
(goto_Nline
)
1453 # State directive comment
1454 private class LRStatedirective_32dcomment
1456 redef fun to_s
do return "directive comment"
1457 redef fun error_msg
do return "eol"
1458 redef fun action
(parser
) do
1459 parser
.peek_token
.action_sdirective_32dcomment
(parser
)
1462 # State directive eol
1463 private class LRStatedirective_32deol
1465 redef fun to_s
do return "directive eol"
1466 redef fun error_msg
do return ""
1467 redef fun action
(parser
) do
1468 # REDUCE line::line_directive_3=directive eol
1469 var n1
= parser
.pop
.as(Neol)
1470 var n0
= parser
.pop
.as(Ndirective)
1471 var p1
= new Nline_directive(null, n0
, null, n1
)
1473 parser
.node_stack
.push prod
1474 parser
.goto
(goto_Nline
)
1477 # State tk_byte value
1478 private class LRStatetk_byte_32dvalue
1480 redef fun to_s
do return "tk_byte value"
1481 redef fun error_msg
do return ""
1482 redef fun action
(parser
) do
1483 # REDUCE directive::directive_byte=tk_byte value
1484 var n1
= parser
.pop
.as(Nvalue)
1485 var n0
= parser
.pop
.as(Ntk_byte)
1486 var p1
= new Ndirective_byte(n0
, n1
)
1488 parser
.node_stack
.push prod
1489 parser
.goto
(goto_Ndirective
)
1492 # State tk_word value
1493 private class LRStatetk_word_32dvalue
1495 redef fun to_s
do return "tk_word value"
1496 redef fun error_msg
do return ""
1497 redef fun action
(parser
) do
1498 # REDUCE directive::directive_word=tk_word value
1499 var n1
= parser
.pop
.as(Nvalue)
1500 var n0
= parser
.pop
.as(Ntk_word)
1501 var p1
= new Ndirective_word(n0
, n1
)
1503 parser
.node_stack
.push prod
1504 parser
.goto
(goto_Ndirective
)
1507 # State tk_block value
1508 private class LRStatetk_block_32dvalue
1510 redef fun to_s
do return "tk_block value"
1511 redef fun error_msg
do return ""
1512 redef fun action
(parser
) do
1513 # REDUCE directive::directive_block=tk_block value
1514 var n1
= parser
.pop
.as(Nvalue)
1515 var n0
= parser
.pop
.as(Ntk_block)
1516 var p1
= new Ndirective_block(n0
, n1
)
1518 parser
.node_stack
.push prod
1519 parser
.goto
(goto_Ndirective
)
1522 # State tk_ascii value
1523 private class LRStatetk_ascii_32dvalue
1525 redef fun to_s
do return "tk_ascii value"
1526 redef fun error_msg
do return ""
1527 redef fun action
(parser
) do
1528 # REDUCE directive::directive_ascii=tk_ascii value
1529 var n1
= parser
.pop
.as(Nvalue)
1530 var n0
= parser
.pop
.as(Ntk_ascii)
1531 var p1
= new Ndirective_ascii(n0
, n1
)
1533 parser
.node_stack
.push prod
1534 parser
.goto
(goto_Ndirective
)
1537 # State tk_addrss value
1538 private class LRStatetk_addrss_32dvalue
1540 redef fun to_s
do return "tk_addrss value"
1541 redef fun error_msg
do return ""
1542 redef fun action
(parser
) do
1543 # REDUCE directive::directive_addrss=tk_addrss value
1544 var n1
= parser
.pop
.as(Nvalue)
1545 var n0
= parser
.pop
.as(Ntk_addrss)
1546 var p1
= new Ndirective_addrss(n0
, n1
)
1548 parser
.node_stack
.push prod
1549 parser
.goto
(goto_Ndirective
)
1552 # State tk_equate value
1553 private class LRStatetk_equate_32dvalue
1555 redef fun to_s
do return "tk_equate value"
1556 redef fun error_msg
do return ""
1557 redef fun action
(parser
) do
1558 # REDUCE directive::directive_equate=tk_equate value
1559 var n1
= parser
.pop
.as(Nvalue)
1560 var n0
= parser
.pop
.as(Ntk_equate)
1561 var p1
= new Ndirective_equate(n0
, n1
)
1563 parser
.node_stack
.push prod
1564 parser
.goto
(goto_Ndirective
)
1567 # State tk_burn value
1568 private class LRStatetk_burn_32dvalue
1570 redef fun to_s
do return "tk_burn value"
1571 redef fun error_msg
do return ""
1572 redef fun action
(parser
) do
1573 # REDUCE directive::directive_burn=tk_burn value
1574 var n1
= parser
.pop
.as(Nvalue)
1575 var n0
= parser
.pop
.as(Ntk_burn)
1576 var p1
= new Ndirective_burn(n0
, n1
)
1578 parser
.node_stack
.push prod
1579 parser
.goto
(goto_Ndirective
)
1582 # State line+ label_decl end_block
1583 private class LRStateline_43d_32dlabel_decl_32dend_block
1585 redef fun to_s
do return "line+ label_decl end_block"
1586 redef fun error_msg
do return ""
1587 redef fun action
(parser
) do
1588 # REDUCE listing::listing_0=line+ label_decl end_block
1589 var n2
= parser
.pop
.as(Nend_block)
1590 var n1
= parser
.pop
.as(Nlabel_decl)
1591 var n0
= parser
.pop
.as(Nodes[Nline])
1592 var p1
= new Nlisting(n0
, n1
, n2
)
1594 parser
.node_stack
.push prod
1595 parser
.goto
(goto_Nlisting
)
1598 # State label_decl comment eol
1599 private class LRStatelabel_decl_32dcomment_32deol
1601 redef fun to_s
do return "label_decl comment eol"
1602 redef fun error_msg
do return ""
1603 redef fun action
(parser
) do
1604 # REDUCE line::line_empty_0=label_decl comment eol
1605 var n2
= parser
.pop
.as(Neol)
1606 var n1
= parser
.pop
.as(Ncomment)
1607 var n0
= parser
.pop
.as(Nlabel_decl)
1608 var p1
= new Nline_empty(n0
, n1
, n2
)
1610 parser
.node_stack
.push prod
1611 parser
.goto
(goto_Nline
)
1614 # State label_decl instruction comment
1615 private class LRStatelabel_decl_32dinstruction_32dcomment
1617 redef fun to_s
do return "label_decl instruction comment"
1618 redef fun error_msg
do return "eol"
1619 redef fun action
(parser
) do
1620 parser
.peek_token
.action_slabel_decl_32dinstruction_32dcomment
(parser
)
1623 # State label_decl instruction eol
1624 private class LRStatelabel_decl_32dinstruction_32deol
1626 redef fun to_s
do return "label_decl instruction eol"
1627 redef fun error_msg
do return ""
1628 redef fun action
(parser
) do
1629 # REDUCE line::line_instruction_2=label_decl instruction eol
1630 var n2
= parser
.pop
.as(Neol)
1631 var n1
= parser
.pop
.as(Ninstruction)
1632 var n0
= parser
.pop
.as(Nlabel_decl)
1633 var p1
= new Nline_instruction(n0
, n1
, null, n2
)
1635 parser
.node_stack
.push prod
1636 parser
.goto
(goto_Nline
)
1639 # State label_decl directive comment
1640 private class LRStatelabel_decl_32ddirective_32dcomment
1642 redef fun to_s
do return "label_decl directive comment"
1643 redef fun error_msg
do return "eol"
1644 redef fun action
(parser
) do
1645 parser
.peek_token
.action_slabel_decl_32ddirective_32dcomment
(parser
)
1648 # State label_decl directive eol
1649 private class LRStatelabel_decl_32ddirective_32deol
1651 redef fun to_s
do return "label_decl directive eol"
1652 redef fun error_msg
do return ""
1653 redef fun action
(parser
) do
1654 # REDUCE line::line_directive_2=label_decl directive eol
1655 var n2
= parser
.pop
.as(Neol)
1656 var n1
= parser
.pop
.as(Ndirective)
1657 var n0
= parser
.pop
.as(Nlabel_decl)
1658 var p1
= new Nline_directive(n0
, n1
, null, n2
)
1660 parser
.node_stack
.push prod
1661 parser
.goto
(goto_Nline
)
1664 # State id value comma
1665 private class LRStateid_32dvalue_32dcomma
1667 redef fun to_s
do return "id value comma"
1668 redef fun error_msg
do return "id"
1669 redef fun action
(parser
) do
1670 parser
.peek_token
.action_sid_32dvalue_32dcomma
(parser
)
1673 # State instruction comment eol
1674 private class LRStateinstruction_32dcomment_32deol
1676 redef fun to_s
do return "instruction comment eol"
1677 redef fun error_msg
do return ""
1678 redef fun action
(parser
) do
1679 # REDUCE line::line_instruction_1=instruction comment eol
1680 var n2
= parser
.pop
.as(Neol)
1681 var n1
= parser
.pop
.as(Ncomment)
1682 var n0
= parser
.pop
.as(Ninstruction)
1683 var p1
= new Nline_instruction(null, n0
, n1
, n2
)
1685 parser
.node_stack
.push prod
1686 parser
.goto
(goto_Nline
)
1689 # State directive comment eol
1690 private class LRStatedirective_32dcomment_32deol
1692 redef fun to_s
do return "directive comment eol"
1693 redef fun error_msg
do return ""
1694 redef fun action
(parser
) do
1695 # REDUCE line::line_directive_1=directive comment eol
1696 var n2
= parser
.pop
.as(Neol)
1697 var n1
= parser
.pop
.as(Ncomment)
1698 var n0
= parser
.pop
.as(Ndirective)
1699 var p1
= new Nline_directive(null, n0
, n1
, n2
)
1701 parser
.node_stack
.push prod
1702 parser
.goto
(goto_Nline
)
1705 # State label_decl instruction comment eol
1706 private class LRStatelabel_decl_32dinstruction_32dcomment_32deol
1708 redef fun to_s
do return "label_decl instruction comment eol"
1709 redef fun error_msg
do return ""
1710 redef fun action
(parser
) do
1711 # REDUCE line::line_instruction_0=label_decl instruction comment eol
1712 var n3
= parser
.pop
.as(Neol)
1713 var n2
= parser
.pop
.as(Ncomment)
1714 var n1
= parser
.pop
.as(Ninstruction)
1715 var n0
= parser
.pop
.as(Nlabel_decl)
1716 var p1
= new Nline_instruction(n0
, n1
, n2
, n3
)
1718 parser
.node_stack
.push prod
1719 parser
.goto
(goto_Nline
)
1722 # State label_decl directive comment eol
1723 private class LRStatelabel_decl_32ddirective_32dcomment_32deol
1725 redef fun to_s
do return "label_decl directive comment eol"
1726 redef fun error_msg
do return ""
1727 redef fun action
(parser
) do
1728 # REDUCE line::line_directive_0=label_decl directive comment eol
1729 var n3
= parser
.pop
.as(Neol)
1730 var n2
= parser
.pop
.as(Ncomment)
1731 var n1
= parser
.pop
.as(Ndirective)
1732 var n0
= parser
.pop
.as(Nlabel_decl)
1733 var p1
= new Nline_directive(n0
, n1
, n2
, n3
)
1735 parser
.node_stack
.push prod
1736 parser
.goto
(goto_Nline
)
1739 # State id value comma id
1740 private class LRStateid_32dvalue_32dcomma_32did
1742 redef fun to_s
do return "id value comma id"
1743 redef fun error_msg
do return ""
1744 redef fun action
(parser
) do
1745 # REDUCE operand::operand_any=value comma id
1746 var n2
= parser
.pop
.as(Nid)
1747 var n1
= parser
.pop
.as(Ncomma)
1748 var n0
= parser
.pop
.as(Nvalue)
1749 var p1
= new Noperand_any(n0
, n1
, n2
)
1751 parser
.node_stack
.push prod
1752 parser
.goto
(goto_Noperand
)