Mercurial > hg > Members > nobuyasu > SampleSource
comparison Bison-Flex/BasicCompiler-MemoryBase/EUC/script-parser.output @ 0:db40c85cad7a default tip
upload sample source
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 09 May 2011 03:11:59 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:db40c85cad7a |
---|---|
1 文法 | |
2 | |
3 0 $accept: unit "end of file" | |
4 | |
5 1 unit: states | |
6 2 | unit states | |
7 | |
8 3 states: statement "\n" | |
9 4 | "\n" | |
10 | |
11 5 statement: "end" | |
12 6 | assign | |
13 7 | "if" comp_expr "then" | |
14 8 | "else" | |
15 9 | "endif" | |
16 10 | "for" assign "to" expr "step" expr | |
17 11 | "for" assign "to" expr | |
18 12 | "next" | |
19 13 | "while" comp_expr | |
20 14 | "wend" | |
21 15 | "print" args | |
22 16 | error | |
23 | |
24 17 assign: value '=' expr | |
25 | |
26 18 comp_expr: expr "==" expr | |
27 19 | expr "!=" expr | |
28 20 | expr '>' expr | |
29 21 | expr ">=" expr | |
30 22 | expr '<' expr | |
31 23 | expr "<=" expr | |
32 | |
33 24 expr: expr '-' expr | |
34 25 | expr '+' expr | |
35 26 | expr '*' expr | |
36 27 | expr '/' expr | |
37 28 | expr '%' expr | |
38 29 | '-' expr | |
39 30 | '(' expr ')' | |
40 31 | value | |
41 32 | "ival" | |
42 33 | "rand" '(' expr ')' | |
43 | |
44 34 value: "identifier" | |
45 | |
46 35 args: expr | |
47 36 | args ',' expr | |
48 | |
49 | |
50 出現位置の規則による終端 | |
51 | |
52 "end of file" (0) 0 | |
53 '%' (37) 28 | |
54 '(' (40) 30 33 | |
55 ')' (41) 30 33 | |
56 '*' (42) 26 | |
57 '+' (43) 25 | |
58 ',' (44) 36 | |
59 '-' (45) 24 29 | |
60 '/' (47) 27 | |
61 '<' (60) 22 | |
62 '=' (61) 17 | |
63 '>' (62) 20 | |
64 error (256) 16 | |
65 "ival" (258) 32 | |
66 "identifier" (259) 34 | |
67 "==" (260) 18 | |
68 "!=" (261) 19 | |
69 ">=" (262) 21 | |
70 "<=" (263) 23 | |
71 "\n" (264) 3 4 | |
72 "if" (265) 7 | |
73 "then" (266) 7 | |
74 "else" (267) 8 | |
75 "endif" (268) 9 | |
76 "for" (269) 10 11 | |
77 "to" (270) 10 11 | |
78 "next" (271) 12 | |
79 "while" (272) 13 | |
80 "wend" (273) 14 | |
81 "end" (274) 5 | |
82 "rand" (275) 33 | |
83 "print" (276) 15 | |
84 NEG (277) | |
85 "step" (278) 10 | |
86 | |
87 | |
88 出現位置の規則による非終端 | |
89 | |
90 $accept (35) | |
91 左辺: 0 | |
92 unit (36) | |
93 左辺: 1 2, 右辺: 0 2 | |
94 states (37) | |
95 左辺: 3 4, 右辺: 1 2 | |
96 statement (38) | |
97 左辺: 5 6 7 8 9 10 11 12 13 14 15 16, 右辺: 3 | |
98 assign (39) | |
99 左辺: 17, 右辺: 6 10 11 | |
100 comp_expr (40) | |
101 左辺: 18 19 20 21 22 23, 右辺: 7 13 | |
102 expr (41) | |
103 左辺: 24 25 26 27 28 29 30 31 32 33, 右辺: 10 11 17 18 19 20 | |
104 21 22 23 24 25 26 27 28 29 30 33 35 36 | |
105 value (42) | |
106 左辺: 34, 右辺: 17 31 | |
107 args (43) | |
108 左辺: 35 36, 右辺: 15 36 | |
109 | |
110 | |
111 状態 0 | |
112 | |
113 0 $accept: . unit "end of file" | |
114 1 unit: . states | |
115 2 | . unit states | |
116 3 states: . statement "\n" | |
117 4 | . "\n" | |
118 5 statement: . "end" | |
119 6 | . assign | |
120 7 | . "if" comp_expr "then" | |
121 8 | . "else" | |
122 9 | . "endif" | |
123 10 | . "for" assign "to" expr "step" expr | |
124 11 | . "for" assign "to" expr | |
125 12 | . "next" | |
126 13 | . "while" comp_expr | |
127 14 | . "wend" | |
128 15 | . "print" args | |
129 16 | . error | |
130 17 assign: . value '=' expr | |
131 34 value: . "identifier" | |
132 | |
133 error shift, and go to state 1 | |
134 "identifier" shift, and go to state 2 | |
135 "\n" shift, and go to state 3 | |
136 "if" shift, and go to state 4 | |
137 "else" shift, and go to state 5 | |
138 "endif" shift, and go to state 6 | |
139 "for" shift, and go to state 7 | |
140 "next" shift, and go to state 8 | |
141 "while" shift, and go to state 9 | |
142 "wend" shift, and go to state 10 | |
143 "end" shift, and go to state 11 | |
144 "print" shift, and go to state 12 | |
145 | |
146 unit go to state 13 | |
147 states go to state 14 | |
148 statement go to state 15 | |
149 assign go to state 16 | |
150 value go to state 17 | |
151 | |
152 | |
153 状態 1 | |
154 | |
155 16 statement: error . | |
156 | |
157 $default reduce using rule 16 (statement) | |
158 | |
159 | |
160 状態 2 | |
161 | |
162 34 value: "identifier" . | |
163 | |
164 $default reduce using rule 34 (value) | |
165 | |
166 | |
167 状態 3 | |
168 | |
169 4 states: "\n" . | |
170 | |
171 $default reduce using rule 4 (states) | |
172 | |
173 | |
174 状態 4 | |
175 | |
176 7 statement: "if" . comp_expr "then" | |
177 18 comp_expr: . expr "==" expr | |
178 19 | . expr "!=" expr | |
179 20 | . expr '>' expr | |
180 21 | . expr ">=" expr | |
181 22 | . expr '<' expr | |
182 23 | . expr "<=" expr | |
183 24 expr: . expr '-' expr | |
184 25 | . expr '+' expr | |
185 26 | . expr '*' expr | |
186 27 | . expr '/' expr | |
187 28 | . expr '%' expr | |
188 29 | . '-' expr | |
189 30 | . '(' expr ')' | |
190 31 | . value | |
191 32 | . "ival" | |
192 33 | . "rand" '(' expr ')' | |
193 34 value: . "identifier" | |
194 | |
195 "ival" shift, and go to state 18 | |
196 "identifier" shift, and go to state 2 | |
197 "rand" shift, and go to state 19 | |
198 '-' shift, and go to state 20 | |
199 '(' shift, and go to state 21 | |
200 | |
201 comp_expr go to state 22 | |
202 expr go to state 23 | |
203 value go to state 24 | |
204 | |
205 | |
206 状態 5 | |
207 | |
208 8 statement: "else" . | |
209 | |
210 $default reduce using rule 8 (statement) | |
211 | |
212 | |
213 状態 6 | |
214 | |
215 9 statement: "endif" . | |
216 | |
217 $default reduce using rule 9 (statement) | |
218 | |
219 | |
220 状態 7 | |
221 | |
222 10 statement: "for" . assign "to" expr "step" expr | |
223 11 | "for" . assign "to" expr | |
224 17 assign: . value '=' expr | |
225 34 value: . "identifier" | |
226 | |
227 "identifier" shift, and go to state 2 | |
228 | |
229 assign go to state 25 | |
230 value go to state 17 | |
231 | |
232 | |
233 状態 8 | |
234 | |
235 12 statement: "next" . | |
236 | |
237 $default reduce using rule 12 (statement) | |
238 | |
239 | |
240 状態 9 | |
241 | |
242 13 statement: "while" . comp_expr | |
243 18 comp_expr: . expr "==" expr | |
244 19 | . expr "!=" expr | |
245 20 | . expr '>' expr | |
246 21 | . expr ">=" expr | |
247 22 | . expr '<' expr | |
248 23 | . expr "<=" expr | |
249 24 expr: . expr '-' expr | |
250 25 | . expr '+' expr | |
251 26 | . expr '*' expr | |
252 27 | . expr '/' expr | |
253 28 | . expr '%' expr | |
254 29 | . '-' expr | |
255 30 | . '(' expr ')' | |
256 31 | . value | |
257 32 | . "ival" | |
258 33 | . "rand" '(' expr ')' | |
259 34 value: . "identifier" | |
260 | |
261 "ival" shift, and go to state 18 | |
262 "identifier" shift, and go to state 2 | |
263 "rand" shift, and go to state 19 | |
264 '-' shift, and go to state 20 | |
265 '(' shift, and go to state 21 | |
266 | |
267 comp_expr go to state 26 | |
268 expr go to state 23 | |
269 value go to state 24 | |
270 | |
271 | |
272 状態 10 | |
273 | |
274 14 statement: "wend" . | |
275 | |
276 $default reduce using rule 14 (statement) | |
277 | |
278 | |
279 状態 11 | |
280 | |
281 5 statement: "end" . | |
282 | |
283 $default reduce using rule 5 (statement) | |
284 | |
285 | |
286 状態 12 | |
287 | |
288 15 statement: "print" . args | |
289 24 expr: . expr '-' expr | |
290 25 | . expr '+' expr | |
291 26 | . expr '*' expr | |
292 27 | . expr '/' expr | |
293 28 | . expr '%' expr | |
294 29 | . '-' expr | |
295 30 | . '(' expr ')' | |
296 31 | . value | |
297 32 | . "ival" | |
298 33 | . "rand" '(' expr ')' | |
299 34 value: . "identifier" | |
300 35 args: . expr | |
301 36 | . args ',' expr | |
302 | |
303 "ival" shift, and go to state 18 | |
304 "identifier" shift, and go to state 2 | |
305 "rand" shift, and go to state 19 | |
306 '-' shift, and go to state 20 | |
307 '(' shift, and go to state 21 | |
308 | |
309 expr go to state 27 | |
310 value go to state 24 | |
311 args go to state 28 | |
312 | |
313 | |
314 状態 13 | |
315 | |
316 0 $accept: unit . "end of file" | |
317 2 unit: unit . states | |
318 3 states: . statement "\n" | |
319 4 | . "\n" | |
320 5 statement: . "end" | |
321 6 | . assign | |
322 7 | . "if" comp_expr "then" | |
323 8 | . "else" | |
324 9 | . "endif" | |
325 10 | . "for" assign "to" expr "step" expr | |
326 11 | . "for" assign "to" expr | |
327 12 | . "next" | |
328 13 | . "while" comp_expr | |
329 14 | . "wend" | |
330 15 | . "print" args | |
331 16 | . error | |
332 17 assign: . value '=' expr | |
333 34 value: . "identifier" | |
334 | |
335 "end of file" shift, and go to state 29 | |
336 error shift, and go to state 1 | |
337 "identifier" shift, and go to state 2 | |
338 "\n" shift, and go to state 3 | |
339 "if" shift, and go to state 4 | |
340 "else" shift, and go to state 5 | |
341 "endif" shift, and go to state 6 | |
342 "for" shift, and go to state 7 | |
343 "next" shift, and go to state 8 | |
344 "while" shift, and go to state 9 | |
345 "wend" shift, and go to state 10 | |
346 "end" shift, and go to state 11 | |
347 "print" shift, and go to state 12 | |
348 | |
349 states go to state 30 | |
350 statement go to state 15 | |
351 assign go to state 16 | |
352 value go to state 17 | |
353 | |
354 | |
355 状態 14 | |
356 | |
357 1 unit: states . | |
358 | |
359 $default reduce using rule 1 (unit) | |
360 | |
361 | |
362 状態 15 | |
363 | |
364 3 states: statement . "\n" | |
365 | |
366 "\n" shift, and go to state 31 | |
367 | |
368 | |
369 状態 16 | |
370 | |
371 6 statement: assign . | |
372 | |
373 $default reduce using rule 6 (statement) | |
374 | |
375 | |
376 状態 17 | |
377 | |
378 17 assign: value . '=' expr | |
379 | |
380 '=' shift, and go to state 32 | |
381 | |
382 | |
383 状態 18 | |
384 | |
385 32 expr: "ival" . | |
386 | |
387 $default reduce using rule 32 (expr) | |
388 | |
389 | |
390 状態 19 | |
391 | |
392 33 expr: "rand" . '(' expr ')' | |
393 | |
394 '(' shift, and go to state 33 | |
395 | |
396 | |
397 状態 20 | |
398 | |
399 24 expr: . expr '-' expr | |
400 25 | . expr '+' expr | |
401 26 | . expr '*' expr | |
402 27 | . expr '/' expr | |
403 28 | . expr '%' expr | |
404 29 | . '-' expr | |
405 29 | '-' . expr | |
406 30 | . '(' expr ')' | |
407 31 | . value | |
408 32 | . "ival" | |
409 33 | . "rand" '(' expr ')' | |
410 34 value: . "identifier" | |
411 | |
412 "ival" shift, and go to state 18 | |
413 "identifier" shift, and go to state 2 | |
414 "rand" shift, and go to state 19 | |
415 '-' shift, and go to state 20 | |
416 '(' shift, and go to state 21 | |
417 | |
418 expr go to state 34 | |
419 value go to state 24 | |
420 | |
421 | |
422 状態 21 | |
423 | |
424 24 expr: . expr '-' expr | |
425 25 | . expr '+' expr | |
426 26 | . expr '*' expr | |
427 27 | . expr '/' expr | |
428 28 | . expr '%' expr | |
429 29 | . '-' expr | |
430 30 | . '(' expr ')' | |
431 30 | '(' . expr ')' | |
432 31 | . value | |
433 32 | . "ival" | |
434 33 | . "rand" '(' expr ')' | |
435 34 value: . "identifier" | |
436 | |
437 "ival" shift, and go to state 18 | |
438 "identifier" shift, and go to state 2 | |
439 "rand" shift, and go to state 19 | |
440 '-' shift, and go to state 20 | |
441 '(' shift, and go to state 21 | |
442 | |
443 expr go to state 35 | |
444 value go to state 24 | |
445 | |
446 | |
447 状態 22 | |
448 | |
449 7 statement: "if" comp_expr . "then" | |
450 | |
451 "then" shift, and go to state 36 | |
452 | |
453 | |
454 状態 23 | |
455 | |
456 18 comp_expr: expr . "==" expr | |
457 19 | expr . "!=" expr | |
458 20 | expr . '>' expr | |
459 21 | expr . ">=" expr | |
460 22 | expr . '<' expr | |
461 23 | expr . "<=" expr | |
462 24 expr: expr . '-' expr | |
463 25 | expr . '+' expr | |
464 26 | expr . '*' expr | |
465 27 | expr . '/' expr | |
466 28 | expr . '%' expr | |
467 | |
468 "==" shift, and go to state 37 | |
469 "!=" shift, and go to state 38 | |
470 ">=" shift, and go to state 39 | |
471 "<=" shift, and go to state 40 | |
472 '+' shift, and go to state 41 | |
473 '-' shift, and go to state 42 | |
474 '*' shift, and go to state 43 | |
475 '/' shift, and go to state 44 | |
476 '%' shift, and go to state 45 | |
477 '>' shift, and go to state 46 | |
478 '<' shift, and go to state 47 | |
479 | |
480 | |
481 状態 24 | |
482 | |
483 31 expr: value . | |
484 | |
485 $default reduce using rule 31 (expr) | |
486 | |
487 | |
488 状態 25 | |
489 | |
490 10 statement: "for" assign . "to" expr "step" expr | |
491 11 | "for" assign . "to" expr | |
492 | |
493 "to" shift, and go to state 48 | |
494 | |
495 | |
496 状態 26 | |
497 | |
498 13 statement: "while" comp_expr . | |
499 | |
500 $default reduce using rule 13 (statement) | |
501 | |
502 | |
503 状態 27 | |
504 | |
505 24 expr: expr . '-' expr | |
506 25 | expr . '+' expr | |
507 26 | expr . '*' expr | |
508 27 | expr . '/' expr | |
509 28 | expr . '%' expr | |
510 35 args: expr . ["\n", ','] | |
511 | |
512 '+' shift, and go to state 41 | |
513 '-' shift, and go to state 42 | |
514 '*' shift, and go to state 43 | |
515 '/' shift, and go to state 44 | |
516 '%' shift, and go to state 45 | |
517 | |
518 $default reduce using rule 35 (args) | |
519 | |
520 | |
521 状態 28 | |
522 | |
523 15 statement: "print" args . ["\n"] | |
524 36 args: args . ',' expr | |
525 | |
526 ',' shift, and go to state 49 | |
527 | |
528 $default reduce using rule 15 (statement) | |
529 | |
530 | |
531 状態 29 | |
532 | |
533 0 $accept: unit "end of file" . | |
534 | |
535 $default accept | |
536 | |
537 | |
538 状態 30 | |
539 | |
540 2 unit: unit states . | |
541 | |
542 $default reduce using rule 2 (unit) | |
543 | |
544 | |
545 状態 31 | |
546 | |
547 3 states: statement "\n" . | |
548 | |
549 $default reduce using rule 3 (states) | |
550 | |
551 | |
552 状態 32 | |
553 | |
554 17 assign: value '=' . expr | |
555 24 expr: . expr '-' expr | |
556 25 | . expr '+' expr | |
557 26 | . expr '*' expr | |
558 27 | . expr '/' expr | |
559 28 | . expr '%' expr | |
560 29 | . '-' expr | |
561 30 | . '(' expr ')' | |
562 31 | . value | |
563 32 | . "ival" | |
564 33 | . "rand" '(' expr ')' | |
565 34 value: . "identifier" | |
566 | |
567 "ival" shift, and go to state 18 | |
568 "identifier" shift, and go to state 2 | |
569 "rand" shift, and go to state 19 | |
570 '-' shift, and go to state 20 | |
571 '(' shift, and go to state 21 | |
572 | |
573 expr go to state 50 | |
574 value go to state 24 | |
575 | |
576 | |
577 状態 33 | |
578 | |
579 24 expr: . expr '-' expr | |
580 25 | . expr '+' expr | |
581 26 | . expr '*' expr | |
582 27 | . expr '/' expr | |
583 28 | . expr '%' expr | |
584 29 | . '-' expr | |
585 30 | . '(' expr ')' | |
586 31 | . value | |
587 32 | . "ival" | |
588 33 | . "rand" '(' expr ')' | |
589 33 | "rand" '(' . expr ')' | |
590 34 value: . "identifier" | |
591 | |
592 "ival" shift, and go to state 18 | |
593 "identifier" shift, and go to state 2 | |
594 "rand" shift, and go to state 19 | |
595 '-' shift, and go to state 20 | |
596 '(' shift, and go to state 21 | |
597 | |
598 expr go to state 51 | |
599 value go to state 24 | |
600 | |
601 | |
602 状態 34 | |
603 | |
604 24 expr: expr . '-' expr | |
605 25 | expr . '+' expr | |
606 26 | expr . '*' expr | |
607 27 | expr . '/' expr | |
608 28 | expr . '%' expr | |
609 29 | '-' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
610 | |
611 $default reduce using rule 29 (expr) | |
612 | |
613 Conflict between rule 29 and token '+' resolved as reduce ('+' < NEG). | |
614 Conflict between rule 29 and token '-' resolved as reduce ('-' < NEG). | |
615 Conflict between rule 29 and token '*' resolved as reduce ('*' < NEG). | |
616 Conflict between rule 29 and token '/' resolved as reduce ('/' < NEG). | |
617 Conflict between rule 29 and token '%' resolved as reduce ('%' < NEG). | |
618 | |
619 | |
620 状態 35 | |
621 | |
622 24 expr: expr . '-' expr | |
623 25 | expr . '+' expr | |
624 26 | expr . '*' expr | |
625 27 | expr . '/' expr | |
626 28 | expr . '%' expr | |
627 30 | '(' expr . ')' | |
628 | |
629 '+' shift, and go to state 41 | |
630 '-' shift, and go to state 42 | |
631 '*' shift, and go to state 43 | |
632 '/' shift, and go to state 44 | |
633 '%' shift, and go to state 45 | |
634 ')' shift, and go to state 52 | |
635 | |
636 | |
637 状態 36 | |
638 | |
639 7 statement: "if" comp_expr "then" . | |
640 | |
641 $default reduce using rule 7 (statement) | |
642 | |
643 | |
644 状態 37 | |
645 | |
646 18 comp_expr: expr "==" . expr | |
647 24 expr: . expr '-' expr | |
648 25 | . expr '+' expr | |
649 26 | . expr '*' expr | |
650 27 | . expr '/' expr | |
651 28 | . expr '%' expr | |
652 29 | . '-' expr | |
653 30 | . '(' expr ')' | |
654 31 | . value | |
655 32 | . "ival" | |
656 33 | . "rand" '(' expr ')' | |
657 34 value: . "identifier" | |
658 | |
659 "ival" shift, and go to state 18 | |
660 "identifier" shift, and go to state 2 | |
661 "rand" shift, and go to state 19 | |
662 '-' shift, and go to state 20 | |
663 '(' shift, and go to state 21 | |
664 | |
665 expr go to state 53 | |
666 value go to state 24 | |
667 | |
668 | |
669 状態 38 | |
670 | |
671 19 comp_expr: expr "!=" . expr | |
672 24 expr: . expr '-' expr | |
673 25 | . expr '+' expr | |
674 26 | . expr '*' expr | |
675 27 | . expr '/' expr | |
676 28 | . expr '%' expr | |
677 29 | . '-' expr | |
678 30 | . '(' expr ')' | |
679 31 | . value | |
680 32 | . "ival" | |
681 33 | . "rand" '(' expr ')' | |
682 34 value: . "identifier" | |
683 | |
684 "ival" shift, and go to state 18 | |
685 "identifier" shift, and go to state 2 | |
686 "rand" shift, and go to state 19 | |
687 '-' shift, and go to state 20 | |
688 '(' shift, and go to state 21 | |
689 | |
690 expr go to state 54 | |
691 value go to state 24 | |
692 | |
693 | |
694 状態 39 | |
695 | |
696 21 comp_expr: expr ">=" . expr | |
697 24 expr: . expr '-' expr | |
698 25 | . expr '+' expr | |
699 26 | . expr '*' expr | |
700 27 | . expr '/' expr | |
701 28 | . expr '%' expr | |
702 29 | . '-' expr | |
703 30 | . '(' expr ')' | |
704 31 | . value | |
705 32 | . "ival" | |
706 33 | . "rand" '(' expr ')' | |
707 34 value: . "identifier" | |
708 | |
709 "ival" shift, and go to state 18 | |
710 "identifier" shift, and go to state 2 | |
711 "rand" shift, and go to state 19 | |
712 '-' shift, and go to state 20 | |
713 '(' shift, and go to state 21 | |
714 | |
715 expr go to state 55 | |
716 value go to state 24 | |
717 | |
718 | |
719 状態 40 | |
720 | |
721 23 comp_expr: expr "<=" . expr | |
722 24 expr: . expr '-' expr | |
723 25 | . expr '+' expr | |
724 26 | . expr '*' expr | |
725 27 | . expr '/' expr | |
726 28 | . expr '%' expr | |
727 29 | . '-' expr | |
728 30 | . '(' expr ')' | |
729 31 | . value | |
730 32 | . "ival" | |
731 33 | . "rand" '(' expr ')' | |
732 34 value: . "identifier" | |
733 | |
734 "ival" shift, and go to state 18 | |
735 "identifier" shift, and go to state 2 | |
736 "rand" shift, and go to state 19 | |
737 '-' shift, and go to state 20 | |
738 '(' shift, and go to state 21 | |
739 | |
740 expr go to state 56 | |
741 value go to state 24 | |
742 | |
743 | |
744 状態 41 | |
745 | |
746 24 expr: . expr '-' expr | |
747 25 | . expr '+' expr | |
748 25 | expr '+' . expr | |
749 26 | . expr '*' expr | |
750 27 | . expr '/' expr | |
751 28 | . expr '%' expr | |
752 29 | . '-' expr | |
753 30 | . '(' expr ')' | |
754 31 | . value | |
755 32 | . "ival" | |
756 33 | . "rand" '(' expr ')' | |
757 34 value: . "identifier" | |
758 | |
759 "ival" shift, and go to state 18 | |
760 "identifier" shift, and go to state 2 | |
761 "rand" shift, and go to state 19 | |
762 '-' shift, and go to state 20 | |
763 '(' shift, and go to state 21 | |
764 | |
765 expr go to state 57 | |
766 value go to state 24 | |
767 | |
768 | |
769 状態 42 | |
770 | |
771 24 expr: . expr '-' expr | |
772 24 | expr '-' . expr | |
773 25 | . expr '+' expr | |
774 26 | . expr '*' expr | |
775 27 | . expr '/' expr | |
776 28 | . expr '%' expr | |
777 29 | . '-' expr | |
778 30 | . '(' expr ')' | |
779 31 | . value | |
780 32 | . "ival" | |
781 33 | . "rand" '(' expr ')' | |
782 34 value: . "identifier" | |
783 | |
784 "ival" shift, and go to state 18 | |
785 "identifier" shift, and go to state 2 | |
786 "rand" shift, and go to state 19 | |
787 '-' shift, and go to state 20 | |
788 '(' shift, and go to state 21 | |
789 | |
790 expr go to state 58 | |
791 value go to state 24 | |
792 | |
793 | |
794 状態 43 | |
795 | |
796 24 expr: . expr '-' expr | |
797 25 | . expr '+' expr | |
798 26 | . expr '*' expr | |
799 26 | expr '*' . expr | |
800 27 | . expr '/' expr | |
801 28 | . expr '%' expr | |
802 29 | . '-' expr | |
803 30 | . '(' expr ')' | |
804 31 | . value | |
805 32 | . "ival" | |
806 33 | . "rand" '(' expr ')' | |
807 34 value: . "identifier" | |
808 | |
809 "ival" shift, and go to state 18 | |
810 "identifier" shift, and go to state 2 | |
811 "rand" shift, and go to state 19 | |
812 '-' shift, and go to state 20 | |
813 '(' shift, and go to state 21 | |
814 | |
815 expr go to state 59 | |
816 value go to state 24 | |
817 | |
818 | |
819 状態 44 | |
820 | |
821 24 expr: . expr '-' expr | |
822 25 | . expr '+' expr | |
823 26 | . expr '*' expr | |
824 27 | . expr '/' expr | |
825 27 | expr '/' . expr | |
826 28 | . expr '%' expr | |
827 29 | . '-' expr | |
828 30 | . '(' expr ')' | |
829 31 | . value | |
830 32 | . "ival" | |
831 33 | . "rand" '(' expr ')' | |
832 34 value: . "identifier" | |
833 | |
834 "ival" shift, and go to state 18 | |
835 "identifier" shift, and go to state 2 | |
836 "rand" shift, and go to state 19 | |
837 '-' shift, and go to state 20 | |
838 '(' shift, and go to state 21 | |
839 | |
840 expr go to state 60 | |
841 value go to state 24 | |
842 | |
843 | |
844 状態 45 | |
845 | |
846 24 expr: . expr '-' expr | |
847 25 | . expr '+' expr | |
848 26 | . expr '*' expr | |
849 27 | . expr '/' expr | |
850 28 | . expr '%' expr | |
851 28 | expr '%' . expr | |
852 29 | . '-' expr | |
853 30 | . '(' expr ')' | |
854 31 | . value | |
855 32 | . "ival" | |
856 33 | . "rand" '(' expr ')' | |
857 34 value: . "identifier" | |
858 | |
859 "ival" shift, and go to state 18 | |
860 "identifier" shift, and go to state 2 | |
861 "rand" shift, and go to state 19 | |
862 '-' shift, and go to state 20 | |
863 '(' shift, and go to state 21 | |
864 | |
865 expr go to state 61 | |
866 value go to state 24 | |
867 | |
868 | |
869 状態 46 | |
870 | |
871 20 comp_expr: expr '>' . expr | |
872 24 expr: . expr '-' expr | |
873 25 | . expr '+' expr | |
874 26 | . expr '*' expr | |
875 27 | . expr '/' expr | |
876 28 | . expr '%' expr | |
877 29 | . '-' expr | |
878 30 | . '(' expr ')' | |
879 31 | . value | |
880 32 | . "ival" | |
881 33 | . "rand" '(' expr ')' | |
882 34 value: . "identifier" | |
883 | |
884 "ival" shift, and go to state 18 | |
885 "identifier" shift, and go to state 2 | |
886 "rand" shift, and go to state 19 | |
887 '-' shift, and go to state 20 | |
888 '(' shift, and go to state 21 | |
889 | |
890 expr go to state 62 | |
891 value go to state 24 | |
892 | |
893 | |
894 状態 47 | |
895 | |
896 22 comp_expr: expr '<' . expr | |
897 24 expr: . expr '-' expr | |
898 25 | . expr '+' expr | |
899 26 | . expr '*' expr | |
900 27 | . expr '/' expr | |
901 28 | . expr '%' expr | |
902 29 | . '-' expr | |
903 30 | . '(' expr ')' | |
904 31 | . value | |
905 32 | . "ival" | |
906 33 | . "rand" '(' expr ')' | |
907 34 value: . "identifier" | |
908 | |
909 "ival" shift, and go to state 18 | |
910 "identifier" shift, and go to state 2 | |
911 "rand" shift, and go to state 19 | |
912 '-' shift, and go to state 20 | |
913 '(' shift, and go to state 21 | |
914 | |
915 expr go to state 63 | |
916 value go to state 24 | |
917 | |
918 | |
919 状態 48 | |
920 | |
921 10 statement: "for" assign "to" . expr "step" expr | |
922 11 | "for" assign "to" . expr | |
923 24 expr: . expr '-' expr | |
924 25 | . expr '+' expr | |
925 26 | . expr '*' expr | |
926 27 | . expr '/' expr | |
927 28 | . expr '%' expr | |
928 29 | . '-' expr | |
929 30 | . '(' expr ')' | |
930 31 | . value | |
931 32 | . "ival" | |
932 33 | . "rand" '(' expr ')' | |
933 34 value: . "identifier" | |
934 | |
935 "ival" shift, and go to state 18 | |
936 "identifier" shift, and go to state 2 | |
937 "rand" shift, and go to state 19 | |
938 '-' shift, and go to state 20 | |
939 '(' shift, and go to state 21 | |
940 | |
941 expr go to state 64 | |
942 value go to state 24 | |
943 | |
944 | |
945 状態 49 | |
946 | |
947 24 expr: . expr '-' expr | |
948 25 | . expr '+' expr | |
949 26 | . expr '*' expr | |
950 27 | . expr '/' expr | |
951 28 | . expr '%' expr | |
952 29 | . '-' expr | |
953 30 | . '(' expr ')' | |
954 31 | . value | |
955 32 | . "ival" | |
956 33 | . "rand" '(' expr ')' | |
957 34 value: . "identifier" | |
958 36 args: args ',' . expr | |
959 | |
960 "ival" shift, and go to state 18 | |
961 "identifier" shift, and go to state 2 | |
962 "rand" shift, and go to state 19 | |
963 '-' shift, and go to state 20 | |
964 '(' shift, and go to state 21 | |
965 | |
966 expr go to state 65 | |
967 value go to state 24 | |
968 | |
969 | |
970 状態 50 | |
971 | |
972 17 assign: value '=' expr . ["\n", "to"] | |
973 24 expr: expr . '-' expr | |
974 25 | expr . '+' expr | |
975 26 | expr . '*' expr | |
976 27 | expr . '/' expr | |
977 28 | expr . '%' expr | |
978 | |
979 '+' shift, and go to state 41 | |
980 '-' shift, and go to state 42 | |
981 '*' shift, and go to state 43 | |
982 '/' shift, and go to state 44 | |
983 '%' shift, and go to state 45 | |
984 | |
985 $default reduce using rule 17 (assign) | |
986 | |
987 | |
988 状態 51 | |
989 | |
990 24 expr: expr . '-' expr | |
991 25 | expr . '+' expr | |
992 26 | expr . '*' expr | |
993 27 | expr . '/' expr | |
994 28 | expr . '%' expr | |
995 33 | "rand" '(' expr . ')' | |
996 | |
997 '+' shift, and go to state 41 | |
998 '-' shift, and go to state 42 | |
999 '*' shift, and go to state 43 | |
1000 '/' shift, and go to state 44 | |
1001 '%' shift, and go to state 45 | |
1002 ')' shift, and go to state 66 | |
1003 | |
1004 | |
1005 状態 52 | |
1006 | |
1007 30 expr: '(' expr ')' . | |
1008 | |
1009 $default reduce using rule 30 (expr) | |
1010 | |
1011 | |
1012 状態 53 | |
1013 | |
1014 18 comp_expr: expr "==" expr . ["\n", "then"] | |
1015 24 expr: expr . '-' expr | |
1016 25 | expr . '+' expr | |
1017 26 | expr . '*' expr | |
1018 27 | expr . '/' expr | |
1019 28 | expr . '%' expr | |
1020 | |
1021 '+' shift, and go to state 41 | |
1022 '-' shift, and go to state 42 | |
1023 '*' shift, and go to state 43 | |
1024 '/' shift, and go to state 44 | |
1025 '%' shift, and go to state 45 | |
1026 | |
1027 $default reduce using rule 18 (comp_expr) | |
1028 | |
1029 | |
1030 状態 54 | |
1031 | |
1032 19 comp_expr: expr "!=" expr . ["\n", "then"] | |
1033 24 expr: expr . '-' expr | |
1034 25 | expr . '+' expr | |
1035 26 | expr . '*' expr | |
1036 27 | expr . '/' expr | |
1037 28 | expr . '%' expr | |
1038 | |
1039 '+' shift, and go to state 41 | |
1040 '-' shift, and go to state 42 | |
1041 '*' shift, and go to state 43 | |
1042 '/' shift, and go to state 44 | |
1043 '%' shift, and go to state 45 | |
1044 | |
1045 $default reduce using rule 19 (comp_expr) | |
1046 | |
1047 | |
1048 状態 55 | |
1049 | |
1050 21 comp_expr: expr ">=" expr . ["\n", "then"] | |
1051 24 expr: expr . '-' expr | |
1052 25 | expr . '+' expr | |
1053 26 | expr . '*' expr | |
1054 27 | expr . '/' expr | |
1055 28 | expr . '%' expr | |
1056 | |
1057 '+' shift, and go to state 41 | |
1058 '-' shift, and go to state 42 | |
1059 '*' shift, and go to state 43 | |
1060 '/' shift, and go to state 44 | |
1061 '%' shift, and go to state 45 | |
1062 | |
1063 $default reduce using rule 21 (comp_expr) | |
1064 | |
1065 | |
1066 状態 56 | |
1067 | |
1068 23 comp_expr: expr "<=" expr . ["\n", "then"] | |
1069 24 expr: expr . '-' expr | |
1070 25 | expr . '+' expr | |
1071 26 | expr . '*' expr | |
1072 27 | expr . '/' expr | |
1073 28 | expr . '%' expr | |
1074 | |
1075 '+' shift, and go to state 41 | |
1076 '-' shift, and go to state 42 | |
1077 '*' shift, and go to state 43 | |
1078 '/' shift, and go to state 44 | |
1079 '%' shift, and go to state 45 | |
1080 | |
1081 $default reduce using rule 23 (comp_expr) | |
1082 | |
1083 | |
1084 状態 57 | |
1085 | |
1086 24 expr: expr . '-' expr | |
1087 25 | expr . '+' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] | |
1088 25 | expr '+' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] | |
1089 26 | expr . '*' expr | |
1090 27 | expr . '/' expr | |
1091 28 | expr . '%' expr | |
1092 | |
1093 '*' shift, and go to state 43 | |
1094 '/' shift, and go to state 44 | |
1095 '%' shift, and go to state 45 | |
1096 | |
1097 $default reduce using rule 25 (expr) | |
1098 | |
1099 Conflict between rule 25 and token '+' resolved as reduce (%left '+'). | |
1100 Conflict between rule 25 and token '-' resolved as reduce (%left '-'). | |
1101 Conflict between rule 25 and token '*' resolved as shift ('+' < '*'). | |
1102 Conflict between rule 25 and token '/' resolved as shift ('+' < '/'). | |
1103 Conflict between rule 25 and token '%' resolved as shift ('+' < '%'). | |
1104 | |
1105 | |
1106 状態 58 | |
1107 | |
1108 24 expr: expr . '-' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] | |
1109 24 | expr '-' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', "step", '>', '<', ')', ','] | |
1110 25 | expr . '+' expr | |
1111 26 | expr . '*' expr | |
1112 27 | expr . '/' expr | |
1113 28 | expr . '%' expr | |
1114 | |
1115 '*' shift, and go to state 43 | |
1116 '/' shift, and go to state 44 | |
1117 '%' shift, and go to state 45 | |
1118 | |
1119 $default reduce using rule 24 (expr) | |
1120 | |
1121 Conflict between rule 24 and token '+' resolved as reduce (%left '+'). | |
1122 Conflict between rule 24 and token '-' resolved as reduce (%left '-'). | |
1123 Conflict between rule 24 and token '*' resolved as shift ('-' < '*'). | |
1124 Conflict between rule 24 and token '/' resolved as shift ('-' < '/'). | |
1125 Conflict between rule 24 and token '%' resolved as shift ('-' < '%'). | |
1126 | |
1127 | |
1128 状態 59 | |
1129 | |
1130 24 expr: expr . '-' expr | |
1131 25 | expr . '+' expr | |
1132 26 | expr . '*' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1133 26 | expr '*' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1134 27 | expr . '/' expr | |
1135 28 | expr . '%' expr | |
1136 | |
1137 $default reduce using rule 26 (expr) | |
1138 | |
1139 Conflict between rule 26 and token '+' resolved as reduce ('+' < '*'). | |
1140 Conflict between rule 26 and token '-' resolved as reduce ('-' < '*'). | |
1141 Conflict between rule 26 and token '*' resolved as reduce (%left '*'). | |
1142 Conflict between rule 26 and token '/' resolved as reduce (%left '/'). | |
1143 Conflict between rule 26 and token '%' resolved as reduce (%left '%'). | |
1144 | |
1145 | |
1146 状態 60 | |
1147 | |
1148 24 expr: expr . '-' expr | |
1149 25 | expr . '+' expr | |
1150 26 | expr . '*' expr | |
1151 27 | expr . '/' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1152 27 | expr '/' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1153 28 | expr . '%' expr | |
1154 | |
1155 $default reduce using rule 27 (expr) | |
1156 | |
1157 Conflict between rule 27 and token '+' resolved as reduce ('+' < '/'). | |
1158 Conflict between rule 27 and token '-' resolved as reduce ('-' < '/'). | |
1159 Conflict between rule 27 and token '*' resolved as reduce (%left '*'). | |
1160 Conflict between rule 27 and token '/' resolved as reduce (%left '/'). | |
1161 Conflict between rule 27 and token '%' resolved as reduce (%left '%'). | |
1162 | |
1163 | |
1164 状態 61 | |
1165 | |
1166 24 expr: expr . '-' expr | |
1167 25 | expr . '+' expr | |
1168 26 | expr . '*' expr | |
1169 27 | expr . '/' expr | |
1170 28 | expr . '%' expr ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1171 28 | expr '%' expr . ["==", "!=", ">=", "<=", "\n", "then", "to", '+', '-', '*', '/', '%', "step", '>', '<', ')', ','] | |
1172 | |
1173 $default reduce using rule 28 (expr) | |
1174 | |
1175 Conflict between rule 28 and token '+' resolved as reduce ('+' < '%'). | |
1176 Conflict between rule 28 and token '-' resolved as reduce ('-' < '%'). | |
1177 Conflict between rule 28 and token '*' resolved as reduce (%left '*'). | |
1178 Conflict between rule 28 and token '/' resolved as reduce (%left '/'). | |
1179 Conflict between rule 28 and token '%' resolved as reduce (%left '%'). | |
1180 | |
1181 | |
1182 状態 62 | |
1183 | |
1184 20 comp_expr: expr '>' expr . ["\n", "then"] | |
1185 24 expr: expr . '-' expr | |
1186 25 | expr . '+' expr | |
1187 26 | expr . '*' expr | |
1188 27 | expr . '/' expr | |
1189 28 | expr . '%' expr | |
1190 | |
1191 '+' shift, and go to state 41 | |
1192 '-' shift, and go to state 42 | |
1193 '*' shift, and go to state 43 | |
1194 '/' shift, and go to state 44 | |
1195 '%' shift, and go to state 45 | |
1196 | |
1197 $default reduce using rule 20 (comp_expr) | |
1198 | |
1199 | |
1200 状態 63 | |
1201 | |
1202 22 comp_expr: expr '<' expr . ["\n", "then"] | |
1203 24 expr: expr . '-' expr | |
1204 25 | expr . '+' expr | |
1205 26 | expr . '*' expr | |
1206 27 | expr . '/' expr | |
1207 28 | expr . '%' expr | |
1208 | |
1209 '+' shift, and go to state 41 | |
1210 '-' shift, and go to state 42 | |
1211 '*' shift, and go to state 43 | |
1212 '/' shift, and go to state 44 | |
1213 '%' shift, and go to state 45 | |
1214 | |
1215 $default reduce using rule 22 (comp_expr) | |
1216 | |
1217 | |
1218 状態 64 | |
1219 | |
1220 10 statement: "for" assign "to" expr . "step" expr | |
1221 11 | "for" assign "to" expr . ["\n"] | |
1222 24 expr: expr . '-' expr | |
1223 25 | expr . '+' expr | |
1224 26 | expr . '*' expr | |
1225 27 | expr . '/' expr | |
1226 28 | expr . '%' expr | |
1227 | |
1228 '+' shift, and go to state 41 | |
1229 '-' shift, and go to state 42 | |
1230 '*' shift, and go to state 43 | |
1231 '/' shift, and go to state 44 | |
1232 '%' shift, and go to state 45 | |
1233 "step" shift, and go to state 67 | |
1234 | |
1235 $default reduce using rule 11 (statement) | |
1236 | |
1237 | |
1238 状態 65 | |
1239 | |
1240 24 expr: expr . '-' expr | |
1241 25 | expr . '+' expr | |
1242 26 | expr . '*' expr | |
1243 27 | expr . '/' expr | |
1244 28 | expr . '%' expr | |
1245 36 args: args ',' expr . ["\n", ','] | |
1246 | |
1247 '+' shift, and go to state 41 | |
1248 '-' shift, and go to state 42 | |
1249 '*' shift, and go to state 43 | |
1250 '/' shift, and go to state 44 | |
1251 '%' shift, and go to state 45 | |
1252 | |
1253 $default reduce using rule 36 (args) | |
1254 | |
1255 | |
1256 状態 66 | |
1257 | |
1258 33 expr: "rand" '(' expr ')' . | |
1259 | |
1260 $default reduce using rule 33 (expr) | |
1261 | |
1262 | |
1263 状態 67 | |
1264 | |
1265 10 statement: "for" assign "to" expr "step" . expr | |
1266 24 expr: . expr '-' expr | |
1267 25 | . expr '+' expr | |
1268 26 | . expr '*' expr | |
1269 27 | . expr '/' expr | |
1270 28 | . expr '%' expr | |
1271 29 | . '-' expr | |
1272 30 | . '(' expr ')' | |
1273 31 | . value | |
1274 32 | . "ival" | |
1275 33 | . "rand" '(' expr ')' | |
1276 34 value: . "identifier" | |
1277 | |
1278 "ival" shift, and go to state 18 | |
1279 "identifier" shift, and go to state 2 | |
1280 "rand" shift, and go to state 19 | |
1281 '-' shift, and go to state 20 | |
1282 '(' shift, and go to state 21 | |
1283 | |
1284 expr go to state 68 | |
1285 value go to state 24 | |
1286 | |
1287 | |
1288 状態 68 | |
1289 | |
1290 10 statement: "for" assign "to" expr "step" expr . ["\n"] | |
1291 24 expr: expr . '-' expr | |
1292 25 | expr . '+' expr | |
1293 26 | expr . '*' expr | |
1294 27 | expr . '/' expr | |
1295 28 | expr . '%' expr | |
1296 | |
1297 '+' shift, and go to state 41 | |
1298 '-' shift, and go to state 42 | |
1299 '*' shift, and go to state 43 | |
1300 '/' shift, and go to state 44 | |
1301 '%' shift, and go to state 45 | |
1302 | |
1303 $default reduce using rule 10 (statement) |