360 |
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
361 |
#define YYFINAL 3 |
#define YYFINAL 3 |
362 |
/* YYLAST -- Last index in YYTABLE. */ |
/* YYLAST -- Last index in YYTABLE. */ |
363 |
#define YYLAST 125 |
#define YYLAST 152 |
364 |
|
|
365 |
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
366 |
#define YYNTOKENS 47 |
#define YYNTOKENS 47 |
367 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
368 |
#define YYNNTS 28 |
#define YYNNTS 29 |
369 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
370 |
#define YYNRULES 76 |
#define YYNRULES 77 |
371 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
372 |
#define YYNSTATES 115 |
#define YYNSTATES 116 |
373 |
|
|
374 |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
375 |
#define YYUNDEFTOK 2 |
#define YYUNDEFTOK 2 |
427 |
111, 113, 115, 116, 118, 120, 123, 125, 127, 130, |
111, 113, 115, 116, 118, 120, 123, 125, 127, 130, |
428 |
133, 137, 139, 142, 144, 147, 149, 152, 155, 156, |
133, 137, 139, 142, 144, 147, 149, 152, 155, 156, |
429 |
162, 164, 168, 169, 172, 175, 179, 183, 187, 189, |
162, 164, 168, 169, 172, 175, 179, 183, 187, 189, |
430 |
191, 193, 195, 197, 198, 201, 202 |
191, 193, 195, 197, 199, 200, 203, 204 |
431 |
}; |
}; |
432 |
|
|
433 |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
434 |
static const yysigned_char yyrhs[] = |
static const yysigned_char yyrhs[] = |
435 |
{ |
{ |
436 |
48, 0, -1, 49, 43, 63, 73, -1, -1, 49, |
48, 0, -1, 49, 43, 63, 74, -1, -1, 49, |
437 |
50, 74, -1, 51, -1, 44, -1, 17, -1, 18, |
50, 75, -1, 51, -1, 44, -1, 17, -1, 18, |
438 |
72, 72, -1, 19, -1, 20, -1, 21, 4, -1, |
72, 72, -1, 19, -1, 20, -1, 21, 4, -1, |
439 |
22, 37, 72, -1, 23, -1, 24, 72, 40, 72, |
22, 37, 72, -1, 23, -1, 24, 73, 40, 73, |
440 |
-1, 25, -1, 26, 37, 72, -1, 27, -1, 28, |
-1, 25, -1, 26, 37, 72, -1, 27, -1, 28, |
441 |
37, 72, -1, 29, 72, 40, 72, -1, 30, -1, |
37, 72, -1, 29, 73, 40, 73, -1, 30, -1, |
442 |
31, 72, -1, 33, -1, 34, -1, 35, -1, 57, |
31, 72, -1, 33, -1, 34, -1, 35, -1, 57, |
443 |
-1, 54, -1, 32, 69, -1, 10, 46, -1, -1, |
-1, 54, -1, 32, 69, -1, 10, 46, -1, -1, |
444 |
8, 52, 46, 60, -1, -1, 9, 53, 46, 60, |
8, 52, 46, 60, -1, -1, 9, 53, 46, 60, |
452 |
38, -1, 68, -1, 67, 41, 68, -1, -1, 68, |
38, -1, 68, -1, 67, 41, 68, -1, -1, 68, |
453 |
69, -1, 68, 70, -1, 68, 14, 69, -1, 68, |
69, -1, 68, 70, -1, 68, 14, 69, -1, 68, |
454 |
15, 4, -1, 68, 16, 36, -1, 42, -1, 71, |
15, 4, -1, 68, 16, 36, -1, 42, -1, 71, |
455 |
-1, 46, -1, 3, -1, 3, -1, -1, 43, 45, |
-1, 46, -1, 3, -1, 3, -1, 46, -1, -1, |
456 |
-1, -1, 38, -1 |
43, 45, -1, -1, 38, -1 |
457 |
}; |
}; |
458 |
|
|
459 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
460 |
static const unsigned short yyrline[] = |
static const unsigned short yyrline[] = |
461 |
{ |
{ |
462 |
0, 170, 170, 182, 184, 187, 189, 190, 191, 192, |
0, 170, 170, 182, 184, 187, 189, 190, 191, 192, |
463 |
193, 194, 195, 196, 197, 199, 200, 201, 202, 203, |
193, 194, 195, 196, 197, 202, 203, 204, 205, 206, |
464 |
205, 206, 207, 208, 209, 212, 214, 215, 219, 226, |
211, 212, 213, 214, 215, 218, 220, 221, 225, 232, |
465 |
225, 236, 235, 248, 247, 253, 253, 258, 267, 282, |
231, 242, 241, 254, 253, 259, 259, 264, 273, 288, |
466 |
284, 285, 288, 290, 295, 297, 301, 306, 311, 317, |
290, 291, 294, 296, 301, 303, 307, 312, 317, 323, |
467 |
323, 333, 336, 345, 347, 353, 355, 360, 367, 366, |
329, 339, 342, 351, 353, 359, 361, 366, 373, 372, |
468 |
371, 373, 376, 379, 381, 383, 385, 387, 391, 393, |
377, 379, 382, 385, 387, 389, 391, 393, 397, 399, |
469 |
396, 402, 411, 419, 421, 428, 430 |
402, 408, 417, 426, 434, 436, 443, 445 |
470 |
}; |
}; |
471 |
#endif |
#endif |
472 |
|
|
491 |
"precedence_declarator", "type.opt", "symbols.1", "symbol_def", |
"precedence_declarator", "type.opt", "symbols.1", "symbol_def", |
492 |
"symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules", |
"symbol_defs.1", "grammar", "rules_or_grammar_declaration", "rules", |
493 |
"@5", "rhses.1", "rhs", "symbol", "action", "string_as_id", |
"@5", "rhses.1", "rhs", "symbol", "action", "string_as_id", |
494 |
"string_content", "epilogue.opt", "semi_colon.opt", 0 |
"string_content", "code_content", "epilogue.opt", "semi_colon.opt", 0 |
495 |
}; |
}; |
496 |
#endif |
#endif |
497 |
|
|
518 |
58, 58, 59, 59, 60, 60, 61, 61, 61, 61, |
58, 58, 59, 59, 60, 60, 61, 61, 61, 61, |
519 |
61, 62, 62, 63, 63, 64, 64, 64, 66, 65, |
61, 62, 62, 63, 63, 64, 64, 64, 66, 65, |
520 |
67, 67, 68, 68, 68, 68, 68, 68, 69, 69, |
67, 67, 68, 68, 68, 68, 68, 68, 69, 69, |
521 |
70, 71, 72, 73, 73, 74, 74 |
70, 71, 72, 73, 74, 74, 75, 75 |
522 |
}; |
}; |
523 |
|
|
524 |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
531 |
1, 1, 0, 1, 1, 2, 1, 1, 2, 2, |
1, 1, 0, 1, 1, 2, 1, 1, 2, 2, |
532 |
3, 1, 2, 1, 2, 1, 2, 2, 0, 5, |
3, 1, 2, 1, 2, 1, 2, 2, 0, 5, |
533 |
1, 3, 0, 2, 2, 3, 3, 3, 1, 1, |
1, 3, 0, 2, 2, 3, 3, 3, 1, 1, |
534 |
1, 1, 1, 0, 2, 0, 1 |
1, 1, 1, 1, 0, 2, 0, 1 |
535 |
}; |
}; |
536 |
|
|
537 |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
542 |
3, 0, 0, 1, 35, 33, 0, 29, 31, 0, |
3, 0, 0, 1, 35, 33, 0, 29, 31, 0, |
543 |
39, 40, 41, 7, 0, 9, 10, 0, 0, 13, |
39, 40, 41, 7, 0, 9, 10, 0, 0, 13, |
544 |
0, 15, 0, 17, 0, 0, 20, 0, 0, 22, |
0, 15, 0, 17, 0, 0, 20, 0, 0, 22, |
545 |
23, 24, 0, 6, 75, 5, 26, 25, 42, 0, |
23, 24, 0, 6, 76, 5, 26, 25, 42, 0, |
546 |
0, 0, 0, 0, 28, 72, 0, 11, 0, 0, |
0, 0, 0, 0, 28, 72, 0, 11, 0, 73, |
547 |
0, 0, 0, 21, 71, 68, 27, 69, 0, 0, |
0, 0, 0, 0, 21, 71, 68, 27, 69, 0, |
548 |
0, 0, 53, 55, 76, 4, 43, 0, 46, 47, |
0, 0, 0, 53, 55, 77, 4, 43, 0, 46, |
549 |
51, 36, 34, 37, 44, 0, 0, 8, 12, 0, |
47, 51, 36, 34, 37, 44, 0, 0, 8, 12, |
550 |
16, 18, 0, 57, 58, 56, 0, 54, 2, 38, |
0, 16, 18, 0, 57, 58, 56, 0, 54, 2, |
551 |
48, 49, 52, 45, 30, 32, 14, 19, 62, 74, |
38, 48, 49, 52, 45, 30, 32, 14, 19, 62, |
552 |
50, 0, 60, 59, 62, 0, 0, 0, 70, 63, |
75, 50, 0, 60, 59, 62, 0, 0, 0, 70, |
553 |
64, 61, 65, 66, 67 |
63, 64, 61, 65, 66, 67 |
554 |
}; |
}; |
555 |
|
|
556 |
/* YYDEFGOTO[NTERM-NUM]. */ |
/* YYDEFGOTO[NTERM-NUM]. */ |
557 |
static const yysigned_char yydefgoto[] = |
static const yysigned_char yydefgoto[] = |
558 |
{ |
{ |
559 |
-1, 1, 2, 34, 60, 42, 43, 36, 40, 39, |
-1, 1, 2, 34, 61, 42, 43, 36, 40, 39, |
560 |
37, 38, 67, 73, 70, 71, 61, 62, 63, 98, |
37, 38, 68, 74, 71, 72, 62, 63, 64, 99, |
561 |
101, 102, 74, 110, 57, 46, 88, 65 |
102, 103, 75, 111, 58, 46, 50, 89, 66 |
562 |
}; |
}; |
563 |
|
|
564 |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
565 |
STATE-NUM. */ |
STATE-NUM. */ |
566 |
#define YYPACT_NINF -67 |
#define YYPACT_NINF -66 |
567 |
static const yysigned_char yypact[] = |
static const yysigned_char yypact[] = |
568 |
{ |
{ |
569 |
-67, 7, 81, -67, -67, -67, -13, -67, -67, -16, |
-66, 6, 108, -66, -66, -66, -16, -66, -66, -21, |
570 |
-67, -67, -67, -67, 32, -67, -67, 36, 20, -67, |
-66, -66, -66, -66, 19, -66, -66, 32, 5, -66, |
571 |
32, -67, 21, -67, 22, 32, -67, 32, -1, -67, |
3, -66, 10, -66, 11, 3, -66, 19, 1, -66, |
572 |
-67, -67, 43, -67, 24, -67, -67, -67, 28, -14, |
-66, -66, 80, -66, 12, -66, -66, -66, 16, -19, |
573 |
-14, -1, 25, 26, -67, -67, 32, -67, 32, 30, |
-19, 1, 7, 8, -66, -66, 19, -66, 19, -66, |
574 |
32, 32, 33, -67, -67, -67, -67, -67, 38, 29, |
18, 19, 19, 20, -66, -66, -66, -66, -66, 13, |
575 |
40, 4, -67, -67, -67, -67, -67, -1, -67, 16, |
24, 17, 2, -66, -66, -66, -66, -66, 1, -66, |
576 |
-67, -14, -14, -1, -67, -1, -1, -67, -67, 32, |
29, -66, -19, -19, 1, -66, 1, 1, -66, -66, |
577 |
-67, -67, 32, -67, -67, -67, 34, -67, -67, -1, |
3, -66, -66, 3, -66, -66, -66, 21, -66, -66, |
578 |
77, -67, -67, -67, -1, -1, -67, -67, -67, -67, |
1, 61, -66, -66, -66, 1, 1, -66, -66, -66, |
579 |
-67, -20, 23, -67, -67, -1, 78, 45, -67, -67, |
-66, -66, -17, 15, -66, -66, 1, 65, 34, -66, |
580 |
-67, 23, -67, -67, -67 |
-66, -66, 15, -66, -66, -66 |
581 |
}; |
}; |
582 |
|
|
583 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
584 |
static const yysigned_char yypgoto[] = |
static const yysigned_char yypgoto[] = |
585 |
{ |
{ |
586 |
-67, -67, -67, -67, 82, -67, -67, -67, -67, -67, |
-66, -66, -66, -66, 63, -66, -66, -66, -66, -66, |
587 |
-67, -67, -67, -42, -29, 55, -67, 35, -67, -67, |
-66, -66, -66, -49, -34, 31, -66, 14, -66, -66, |
588 |
-67, -7, -28, -67, -66, -19, -67, -67 |
-66, -33, -28, -66, -65, -11, -24, -66, -66 |
589 |
}; |
}; |
590 |
|
|
591 |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
592 |
positive, shift that token. If negative, reduce the rule which |
positive, shift that token. If negative, reduce the rule which |
593 |
number is the opposite. If zero, do what YYDEFACT says. |
number is the opposite. If zero, do what YYDEFACT says. |
594 |
If YYTABLE_NINF, parse error. */ |
If YYTABLE_NINF, parse error. */ |
595 |
#define YYTABLE_NINF -74 |
#define YYTABLE_NINF -75 |
596 |
static const yysigned_char yytable[] = |
static const yysigned_char yytable[] = |
597 |
{ |
{ |
598 |
56, 49, 54, 91, -73, 58, 52, 3, 53, 4, |
57, 53, -74, 59, 55, 92, 3, 4, 5, 6, |
599 |
5, 6, 7, 8, 9, 10, 11, 12, 103, 54, |
7, 8, 9, 10, 11, 12, 54, 69, 55, 90, |
600 |
90, 104, 68, 41, 100, 89, 54, 77, 69, 78, |
41, 104, 45, 70, 105, 44, 101, 95, 96, 106, |
601 |
44, 80, 81, 94, 95, 45, 28, 105, 106, 107, |
107, 108, 55, 91, 28, 78, 47, 79, 93, 93, |
602 |
47, 55, 92, 92, 58, 93, 59, 86, 4, 5, |
81, 82, 48, 56, 60, 87, 94, 51, 52, 49, |
603 |
6, 7, 8, 9, 10, 11, 12, 48, 50, 51, |
65, 84, 67, 76, 77, 86, 97, 56, 80, 98, |
604 |
96, 93, 64, 97, 66, 55, 93, 93, 84, 108, |
83, 109, 94, 85, 55, 35, 100, 94, 94, 114, |
605 |
79, 75, 76, 82, 109, 28, 83, 112, 85, 99, |
115, 73, 112, 0, 0, 110, 88, 0, 113, 0, |
606 |
54, 114, 113, 109, 35, 59, 4, 5, 6, 7, |
0, 59, 0, 0, 110, 4, 5, 6, 7, 8, |
607 |
8, 9, 10, 11, 12, 72, 87, 111, 13, 14, |
9, 10, 11, 12, 0, 0, 0, 0, 0, 0, |
608 |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
609 |
25, 26, 27, 28, 29, 30, 31, 0, 0, 0, |
0, 0, 28, 4, 5, 6, 7, 8, 9, 10, |
610 |
0, 0, 0, 0, 32, 33 |
11, 12, 60, 0, 0, 13, 14, 15, 16, 17, |
611 |
|
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, |
612 |
|
28, 29, 30, 31, 0, 0, 0, 0, 0, 0, |
613 |
|
0, 32, 33 |
614 |
}; |
}; |
615 |
|
|
616 |
static const yysigned_char yycheck[] = |
static const yysigned_char yycheck[] = |
617 |
{ |
{ |
618 |
28, 20, 3, 69, 0, 1, 25, 0, 27, 5, |
28, 25, 0, 1, 3, 70, 0, 5, 6, 7, |
619 |
6, 7, 8, 9, 10, 11, 12, 13, 38, 3, |
8, 9, 10, 11, 12, 13, 27, 36, 3, 68, |
620 |
4, 41, 36, 36, 90, 67, 3, 46, 42, 48, |
36, 38, 3, 42, 41, 46, 91, 76, 77, 14, |
621 |
46, 50, 51, 75, 76, 3, 32, 14, 15, 16, |
15, 16, 3, 4, 32, 46, 4, 48, 72, 73, |
622 |
4, 42, 71, 72, 1, 73, 42, 43, 5, 6, |
51, 52, 37, 42, 42, 43, 74, 37, 37, 46, |
623 |
7, 8, 9, 10, 11, 12, 13, 37, 37, 37, |
38, 38, 36, 46, 46, 38, 80, 42, 40, 83, |
624 |
79, 89, 38, 82, 36, 42, 94, 95, 39, 46, |
40, 46, 90, 39, 3, 2, 45, 95, 96, 4, |
625 |
40, 46, 46, 40, 102, 32, 38, 105, 38, 45, |
36, 40, 105, -1, -1, 103, 62, -1, 106, -1, |
626 |
3, 36, 4, 111, 2, 42, 5, 6, 7, 8, |
-1, 1, -1, -1, 112, 5, 6, 7, 8, 9, |
627 |
9, 10, 11, 12, 13, 40, 61, 104, 17, 18, |
10, 11, 12, 13, -1, -1, -1, -1, -1, -1, |
628 |
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, |
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
629 |
29, 30, 31, 32, 33, 34, 35, -1, -1, -1, |
-1, -1, 32, 5, 6, 7, 8, 9, 10, 11, |
630 |
-1, -1, -1, -1, 43, 44 |
12, 13, 42, -1, -1, 17, 18, 19, 20, 21, |
631 |
|
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
632 |
|
32, 33, 34, 35, -1, -1, -1, -1, -1, -1, |
633 |
|
-1, 43, 44 |
634 |
}; |
}; |
635 |
|
|
636 |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
641 |
11, 12, 13, 17, 18, 19, 20, 21, 22, 23, |
11, 12, 13, 17, 18, 19, 20, 21, 22, 23, |
642 |
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, |
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, |
643 |
34, 35, 43, 44, 50, 51, 54, 57, 58, 56, |
34, 35, 43, 44, 50, 51, 54, 57, 58, 56, |
644 |
55, 36, 52, 53, 46, 3, 72, 4, 37, 72, |
55, 36, 52, 53, 46, 3, 72, 4, 37, 46, |
645 |
37, 37, 72, 72, 3, 42, 69, 71, 1, 42, |
73, 37, 37, 73, 72, 3, 42, 69, 71, 1, |
646 |
51, 63, 64, 65, 38, 74, 36, 59, 36, 42, |
42, 51, 63, 64, 65, 38, 75, 36, 59, 36, |
647 |
61, 62, 62, 60, 69, 46, 46, 72, 72, 40, |
42, 61, 62, 62, 60, 69, 46, 46, 72, 72, |
648 |
72, 72, 40, 38, 39, 38, 43, 64, 73, 60, |
40, 72, 72, 40, 38, 39, 38, 43, 64, 74, |
649 |
4, 71, 61, 69, 60, 60, 72, 72, 66, 45, |
60, 4, 71, 61, 69, 60, 60, 73, 73, 66, |
650 |
71, 67, 68, 38, 41, 14, 15, 16, 46, 69, |
45, 71, 67, 68, 38, 41, 14, 15, 16, 46, |
651 |
70, 68, 69, 4, 36 |
69, 70, 68, 69, 4, 36 |
652 |
}; |
}; |
653 |
|
|
654 |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
1262 |
|
|
1263 |
case 14: |
case 14: |
1264 |
#line 198 "parse-gram.y" |
#line 198 "parse-gram.y" |
1265 |
{ muscle_pair_list_grow ("lex_param", yyvsp[-2].string, yyvsp[0].string); } |
{ |
1266 |
|
muscle_pair_list_grow ("lex_param", yyvsp[-2].string, yyvsp[0].string); |
1267 |
|
scanner_last_string_free (); |
1268 |
|
} |
1269 |
break; |
break; |
1270 |
|
|
1271 |
case 15: |
case 15: |
1272 |
#line 199 "parse-gram.y" |
#line 202 "parse-gram.y" |
1273 |
{ locations_flag = 1; } |
{ locations_flag = 1; } |
1274 |
break; |
break; |
1275 |
|
|
1276 |
case 16: |
case 16: |
1277 |
#line 200 "parse-gram.y" |
#line 203 "parse-gram.y" |
1278 |
{ spec_name_prefix = yyvsp[0].string; } |
{ spec_name_prefix = yyvsp[0].string; } |
1279 |
break; |
break; |
1280 |
|
|
1281 |
case 17: |
case 17: |
1282 |
#line 201 "parse-gram.y" |
#line 204 "parse-gram.y" |
1283 |
{ no_lines_flag = 1; } |
{ no_lines_flag = 1; } |
1284 |
break; |
break; |
1285 |
|
|
1286 |
case 18: |
case 18: |
1287 |
#line 202 "parse-gram.y" |
#line 205 "parse-gram.y" |
1288 |
{ spec_outfile = yyvsp[0].string; } |
{ spec_outfile = yyvsp[0].string; } |
1289 |
break; |
break; |
1290 |
|
|
1291 |
case 19: |
case 19: |
1292 |
#line 204 "parse-gram.y" |
#line 207 "parse-gram.y" |
1293 |
{ muscle_pair_list_grow ("parse_param", yyvsp[-2].string, yyvsp[0].string); } |
{ |
1294 |
|
muscle_pair_list_grow ("parse_param", yyvsp[-2].string, yyvsp[0].string); |
1295 |
|
scanner_last_string_free (); |
1296 |
|
} |
1297 |
break; |
break; |
1298 |
|
|
1299 |
case 20: |
case 20: |
1300 |
#line 205 "parse-gram.y" |
#line 211 "parse-gram.y" |
1301 |
{ pure_parser = 1; } |
{ pure_parser = 1; } |
1302 |
break; |
break; |
1303 |
|
|
1304 |
case 21: |
case 21: |
1305 |
#line 206 "parse-gram.y" |
#line 212 "parse-gram.y" |
1306 |
{ skeleton = yyvsp[0].string; } |
{ skeleton = yyvsp[0].string; } |
1307 |
break; |
break; |
1308 |
|
|
1309 |
case 22: |
case 22: |
1310 |
#line 207 "parse-gram.y" |
#line 213 "parse-gram.y" |
1311 |
{ token_table_flag = 1; } |
{ token_table_flag = 1; } |
1312 |
break; |
break; |
1313 |
|
|
1314 |
case 23: |
case 23: |
1315 |
#line 208 "parse-gram.y" |
#line 214 "parse-gram.y" |
1316 |
{ report_flag = 1; } |
{ report_flag = 1; } |
1317 |
break; |
break; |
1318 |
|
|
1319 |
case 24: |
case 24: |
1320 |
#line 209 "parse-gram.y" |
#line 215 "parse-gram.y" |
1321 |
{ yacc_flag = 1; } |
{ yacc_flag = 1; } |
1322 |
break; |
break; |
1323 |
|
|
1324 |
case 27: |
case 27: |
1325 |
#line 216 "parse-gram.y" |
#line 222 "parse-gram.y" |
1326 |
{ |
{ |
1327 |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
1328 |
} |
} |
1329 |
break; |
break; |
1330 |
|
|
1331 |
case 28: |
case 28: |
1332 |
#line 220 "parse-gram.y" |
#line 226 "parse-gram.y" |
1333 |
{ |
{ |
1334 |
typed = 1; |
typed = 1; |
1335 |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
1338 |
break; |
break; |
1339 |
|
|
1340 |
case 29: |
case 29: |
1341 |
#line 226 "parse-gram.y" |
#line 232 "parse-gram.y" |
1342 |
{ current_braced_code = destructor_braced_code; } |
{ current_braced_code = destructor_braced_code; } |
1343 |
break; |
break; |
1344 |
|
|
1345 |
case 30: |
case 30: |
1346 |
#line 228 "parse-gram.y" |
#line 234 "parse-gram.y" |
1347 |
{ |
{ |
1348 |
symbol_list_t *list; |
symbol_list_t *list; |
1349 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1354 |
break; |
break; |
1355 |
|
|
1356 |
case 31: |
case 31: |
1357 |
#line 236 "parse-gram.y" |
#line 242 "parse-gram.y" |
1358 |
{ current_braced_code = printer_braced_code; } |
{ current_braced_code = printer_braced_code; } |
1359 |
break; |
break; |
1360 |
|
|
1361 |
case 32: |
case 32: |
1362 |
#line 238 "parse-gram.y" |
#line 244 "parse-gram.y" |
1363 |
{ |
{ |
1364 |
symbol_list_t *list; |
symbol_list_t *list; |
1365 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1370 |
break; |
break; |
1371 |
|
|
1372 |
case 33: |
case 33: |
1373 |
#line 248 "parse-gram.y" |
#line 254 "parse-gram.y" |
1374 |
{ current_class = nterm_sym; } |
{ current_class = nterm_sym; } |
1375 |
break; |
break; |
1376 |
|
|
1377 |
case 34: |
case 34: |
1378 |
#line 249 "parse-gram.y" |
#line 255 "parse-gram.y" |
1379 |
{ |
{ |
1380 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1381 |
current_type = NULL; |
current_type = NULL; |
1383 |
break; |
break; |
1384 |
|
|
1385 |
case 35: |
case 35: |
1386 |
#line 253 "parse-gram.y" |
#line 259 "parse-gram.y" |
1387 |
{ current_class = token_sym; } |
{ current_class = token_sym; } |
1388 |
break; |
break; |
1389 |
|
|
1390 |
case 36: |
case 36: |
1391 |
#line 254 "parse-gram.y" |
#line 260 "parse-gram.y" |
1392 |
{ |
{ |
1393 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1394 |
current_type = NULL; |
current_type = NULL; |
1396 |
break; |
break; |
1397 |
|
|
1398 |
case 37: |
case 37: |
1399 |
#line 259 "parse-gram.y" |
#line 265 "parse-gram.y" |
1400 |
{ |
{ |
1401 |
symbol_list_t *list; |
symbol_list_t *list; |
1402 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1406 |
break; |
break; |
1407 |
|
|
1408 |
case 38: |
case 38: |
1409 |
#line 269 "parse-gram.y" |
#line 275 "parse-gram.y" |
1410 |
{ |
{ |
1411 |
symbol_list_t *list; |
symbol_list_t *list; |
1412 |
++current_prec; |
++current_prec; |
1421 |
break; |
break; |
1422 |
|
|
1423 |
case 39: |
case 39: |
1424 |
#line 283 "parse-gram.y" |
#line 289 "parse-gram.y" |
1425 |
{ yyval.assoc = left_assoc; } |
{ yyval.assoc = left_assoc; } |
1426 |
break; |
break; |
1427 |
|
|
1428 |
case 40: |
case 40: |
1429 |
#line 284 "parse-gram.y" |
#line 290 "parse-gram.y" |
1430 |
{ yyval.assoc = right_assoc; } |
{ yyval.assoc = right_assoc; } |
1431 |
break; |
break; |
1432 |
|
|
1433 |
case 41: |
case 41: |
1434 |
#line 285 "parse-gram.y" |
#line 291 "parse-gram.y" |
1435 |
{ yyval.assoc = non_assoc; } |
{ yyval.assoc = non_assoc; } |
1436 |
break; |
break; |
1437 |
|
|
1438 |
case 42: |
case 42: |
1439 |
#line 289 "parse-gram.y" |
#line 295 "parse-gram.y" |
1440 |
{ current_type = NULL; } |
{ current_type = NULL; } |
1441 |
break; |
break; |
1442 |
|
|
1443 |
case 43: |
case 43: |
1444 |
#line 290 "parse-gram.y" |
#line 296 "parse-gram.y" |
1445 |
{ current_type = yyvsp[0].struniq; } |
{ current_type = yyvsp[0].struniq; } |
1446 |
break; |
break; |
1447 |
|
|
1448 |
case 44: |
case 44: |
1449 |
#line 296 "parse-gram.y" |
#line 302 "parse-gram.y" |
1450 |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
1451 |
break; |
break; |
1452 |
|
|
1453 |
case 45: |
case 45: |
1454 |
#line 297 "parse-gram.y" |
#line 303 "parse-gram.y" |
1455 |
{ yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_prepend (yyvsp[-1].list, yyvsp[0].symbol, yylsp[0]); } |
1456 |
break; |
break; |
1457 |
|
|
1458 |
case 46: |
case 46: |
1459 |
#line 303 "parse-gram.y" |
#line 309 "parse-gram.y" |
1460 |
{ |
{ |
1461 |
current_type = yyvsp[0].struniq; |
current_type = yyvsp[0].struniq; |
1462 |
} |
} |
1463 |
break; |
break; |
1464 |
|
|
1465 |
case 47: |
case 47: |
1466 |
#line 307 "parse-gram.y" |
#line 313 "parse-gram.y" |
1467 |
{ |
{ |
1468 |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
1469 |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
1471 |
break; |
break; |
1472 |
|
|
1473 |
case 48: |
case 48: |
1474 |
#line 312 "parse-gram.y" |
#line 318 "parse-gram.y" |
1475 |
{ |
{ |
1476 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1477 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1480 |
break; |
break; |
1481 |
|
|
1482 |
case 49: |
case 49: |
1483 |
#line 318 "parse-gram.y" |
#line 324 "parse-gram.y" |
1484 |
{ |
{ |
1485 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1486 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1489 |
break; |
break; |
1490 |
|
|
1491 |
case 50: |
case 50: |
1492 |
#line 324 "parse-gram.y" |
#line 330 "parse-gram.y" |
1493 |
{ |
{ |
1494 |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
1495 |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
1499 |
break; |
break; |
1500 |
|
|
1501 |
case 51: |
case 51: |
1502 |
#line 335 "parse-gram.y" |
#line 341 "parse-gram.y" |
1503 |
{;} |
{;} |
1504 |
break; |
break; |
1505 |
|
|
1506 |
case 52: |
case 52: |
1507 |
#line 337 "parse-gram.y" |
#line 343 "parse-gram.y" |
1508 |
{;} |
{;} |
1509 |
break; |
break; |
1510 |
|
|
1511 |
case 56: |
case 56: |
1512 |
#line 356 "parse-gram.y" |
#line 362 "parse-gram.y" |
1513 |
{ |
{ |
1514 |
if (yacc_flag) |
if (yacc_flag) |
1515 |
complain_at (yyloc, _("POSIX forbids declarations in the grammar")); |
complain_at (yyloc, _("POSIX forbids declarations in the grammar")); |
1517 |
break; |
break; |
1518 |
|
|
1519 |
case 57: |
case 57: |
1520 |
#line 361 "parse-gram.y" |
#line 367 "parse-gram.y" |
1521 |
{ |
{ |
1522 |
yyerrok; |
yyerrok; |
1523 |
} |
} |
1524 |
break; |
break; |
1525 |
|
|
1526 |
case 58: |
case 58: |
1527 |
#line 367 "parse-gram.y" |
#line 373 "parse-gram.y" |
1528 |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
1529 |
break; |
break; |
1530 |
|
|
1531 |
case 59: |
case 59: |
1532 |
#line 368 "parse-gram.y" |
#line 374 "parse-gram.y" |
1533 |
{;} |
{;} |
1534 |
break; |
break; |
1535 |
|
|
1536 |
case 60: |
case 60: |
1537 |
#line 372 "parse-gram.y" |
#line 378 "parse-gram.y" |
1538 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1539 |
break; |
break; |
1540 |
|
|
1541 |
case 61: |
case 61: |
1542 |
#line 373 "parse-gram.y" |
#line 379 "parse-gram.y" |
1543 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1544 |
break; |
break; |
1545 |
|
|
1546 |
case 62: |
case 62: |
1547 |
#line 378 "parse-gram.y" |
#line 384 "parse-gram.y" |
1548 |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
1549 |
break; |
break; |
1550 |
|
|
1551 |
case 63: |
case 63: |
1552 |
#line 380 "parse-gram.y" |
#line 386 "parse-gram.y" |
1553 |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
1554 |
break; |
break; |
1555 |
|
|
1556 |
case 64: |
case 64: |
1557 |
#line 382 "parse-gram.y" |
#line 388 "parse-gram.y" |
1558 |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
1559 |
break; |
break; |
1560 |
|
|
1561 |
case 65: |
case 65: |
1562 |
#line 384 "parse-gram.y" |
#line 390 "parse-gram.y" |
1563 |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
1564 |
break; |
break; |
1565 |
|
|
1566 |
case 66: |
case 66: |
1567 |
#line 386 "parse-gram.y" |
#line 392 "parse-gram.y" |
1568 |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
1569 |
break; |
break; |
1570 |
|
|
1571 |
case 67: |
case 67: |
1572 |
#line 388 "parse-gram.y" |
#line 394 "parse-gram.y" |
1573 |
{ grammar_current_rule_merge_set (yyvsp[0].struniq, yylsp[0]); } |
{ grammar_current_rule_merge_set (yyvsp[0].struniq, yylsp[0]); } |
1574 |
break; |
break; |
1575 |
|
|
1576 |
case 68: |
case 68: |
1577 |
#line 392 "parse-gram.y" |
#line 398 "parse-gram.y" |
1578 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1579 |
break; |
break; |
1580 |
|
|
1581 |
case 69: |
case 69: |
1582 |
#line 393 "parse-gram.y" |
#line 399 "parse-gram.y" |
1583 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1584 |
break; |
break; |
1585 |
|
|
1586 |
case 70: |
case 70: |
1587 |
#line 398 "parse-gram.y" |
#line 404 "parse-gram.y" |
1588 |
{ yyval.string = yyvsp[0].string; } |
{ yyval.string = yyvsp[0].string; } |
1589 |
break; |
break; |
1590 |
|
|
1591 |
case 71: |
case 71: |
1592 |
#line 404 "parse-gram.y" |
#line 410 "parse-gram.y" |
1593 |
{ |
{ |
1594 |
yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); |
yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); |
1595 |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
1597 |
break; |
break; |
1598 |
|
|
1599 |
case 72: |
case 72: |
1600 |
#line 413 "parse-gram.y" |
#line 419 "parse-gram.y" |
1601 |
|
{ |
1602 |
|
yyval.string = yyvsp[0].string + 1; |
1603 |
|
yyval.string[strlen (yyval.string) - 1] = '\0'; |
1604 |
|
} |
1605 |
|
break; |
1606 |
|
|
1607 |
|
case 73: |
1608 |
|
#line 428 "parse-gram.y" |
1609 |
{ |
{ |
1610 |
yyval.string = yyvsp[0].string + 1; |
yyval.string = yyvsp[0].string + 1; |
1611 |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
1612 |
} |
} |
1613 |
break; |
break; |
1614 |
|
|
1615 |
case 74: |
case 75: |
1616 |
#line 422 "parse-gram.y" |
#line 437 "parse-gram.y" |
1617 |
{ |
{ |
1618 |
epilogue_augment (yyvsp[0].string, yylsp[0]); |
epilogue_augment (yyvsp[0].string, yylsp[0]); |
1619 |
scanner_last_string_free (); |
scanner_last_string_free (); |
1624 |
} |
} |
1625 |
|
|
1626 |
/* Line 950 of /usr/local/share/bison/yacc.c. */ |
/* Line 950 of /usr/local/share/bison/yacc.c. */ |
1627 |
#line 1607 "parse-gram.c" |
#line 1627 "parse-gram.c" |
1628 |
|
|
1629 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1630 |
yyssp -= yylen; |
yyssp -= yylen; |
1843 |
} |
} |
1844 |
|
|
1845 |
|
|
1846 |
#line 432 "parse-gram.y" |
#line 447 "parse-gram.y" |
1847 |
|
|
1848 |
/*------------------------------------------------------------------. |
/*------------------------------------------------------------------. |
1849 |
| When debugging the parser, display tokens' locations and values. | |
| When debugging the parser, display tokens' locations and values. | |