57 |
#line 31 "parse-gram.y" |
#line 31 "parse-gram.y" |
58 |
|
|
59 |
#include "system.h" |
#include "system.h" |
60 |
|
#include "complain.h" |
61 |
#include "muscle_tab.h" |
#include "muscle_tab.h" |
62 |
#include "files.h" |
#include "files.h" |
63 |
#include "getargs.h" |
#include "getargs.h" |
225 |
#endif |
#endif |
226 |
|
|
227 |
#ifndef YYSTYPE |
#ifndef YYSTYPE |
228 |
#line 88 "parse-gram.y" |
#line 89 "parse-gram.y" |
229 |
typedef union { |
typedef union { |
230 |
symbol_t *symbol; |
symbol_t *symbol; |
231 |
symbol_list_t *list; |
symbol_list_t *list; |
233 |
char *string; |
char *string; |
234 |
associativity assoc; |
associativity assoc; |
235 |
} yystype; |
} yystype; |
236 |
/* Line 187 of /home/lrde/prof/akim/src/bison/data/yacc.c. */ |
/* Line 187 of /usr/local/share/bison/yacc.c. */ |
237 |
#line 237 "parse-gram.c" |
#line 238 "parse-gram.c" |
238 |
# define YYSTYPE yystype |
# define YYSTYPE yystype |
239 |
# define YYSTYPE_IS_TRIVIAL 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
240 |
#endif |
#endif |
254 |
/* Copy the second part of user declarations. */ |
/* Copy the second part of user declarations. */ |
255 |
|
|
256 |
|
|
257 |
/* Line 207 of /home/lrde/prof/akim/src/bison/data/yacc.c. */ |
/* Line 207 of /usr/local/share/bison/yacc.c. */ |
258 |
#line 258 "parse-gram.c" |
#line 259 "parse-gram.c" |
259 |
|
|
260 |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
261 |
|
|
349 |
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
350 |
#define YYFINAL 3 |
#define YYFINAL 3 |
351 |
#define YYFLAG -32768 |
#define YYFLAG -32768 |
352 |
#define YYLAST 125 |
#define YYLAST 127 |
353 |
|
|
354 |
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
355 |
#define YYNTOKENS 45 |
#define YYNTOKENS 45 |
356 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
357 |
#define YYNNTS 28 |
#define YYNNTS 28 |
358 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
359 |
#define YYNRULES 74 |
#define YYNRULES 75 |
360 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
361 |
#define YYNSTATES 106 |
#define YYNSTATES 108 |
362 |
|
|
363 |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
364 |
#define YYUNDEFTOK 2 |
#define YYUNDEFTOK 2 |
412 |
53, 55, 57, 59, 61, 63, 66, 69, 70, 75, |
53, 55, 57, 59, 61, 63, 66, 69, 70, 75, |
413 |
76, 81, 82, 86, 87, 91, 95, 99, 101, 103, |
76, 81, 82, 86, 87, 91, 95, 99, 101, 103, |
414 |
105, 106, 108, 110, 113, 115, 117, 120, 123, 127, |
105, 106, 108, 110, 113, 115, 117, 120, 123, 127, |
415 |
129, 132, 134, 137, 139, 142, 143, 149, 151, 155, |
129, 132, 134, 137, 139, 142, 145, 146, 152, 154, |
416 |
156, 159, 162, 166, 170, 174, 176, 178, 180, 182, |
158, 159, 162, 165, 169, 173, 177, 179, 181, 183, |
417 |
184, 186, 187, 190, 191 |
185, 187, 189, 190, 193, 194 |
418 |
}; |
}; |
419 |
|
|
420 |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
434 |
58, 67, -1, 35, -1, 40, -1, 40, 5, -1, |
58, 67, -1, 35, -1, 40, -1, 40, 5, -1, |
435 |
40, 69, -1, 40, 5, 69, -1, 59, -1, 60, |
40, 69, -1, 40, 5, 69, -1, 59, -1, 60, |
436 |
59, -1, 62, -1, 61, 62, -1, 63, -1, 49, |
59, -1, 62, -1, 61, 62, -1, 63, -1, 49, |
437 |
37, -1, -1, 40, 38, 64, 65, 37, -1, 66, |
37, -1, 1, 37, -1, -1, 40, 38, 64, 65, |
438 |
-1, 65, 39, 66, -1, -1, 66, 67, -1, 66, |
37, -1, 66, -1, 65, 39, 66, -1, -1, 66, |
439 |
68, -1, 66, 17, 67, -1, 66, 18, 5, -1, |
67, -1, 66, 68, -1, 66, 17, 67, -1, 66, |
440 |
66, 19, 35, -1, 40, -1, 69, -1, 4, -1, |
18, 5, -1, 66, 19, 35, -1, 40, -1, 69, |
441 |
44, -1, 3, -1, 3, -1, -1, 41, 43, -1, |
-1, 4, -1, 44, -1, 3, -1, 3, -1, -1, |
442 |
-1, 37, -1 |
41, 43, -1, -1, 37, -1 |
443 |
}; |
}; |
444 |
|
|
445 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
446 |
static const unsigned short yyrline[] = |
static const unsigned short yyrline[] = |
447 |
{ |
{ |
448 |
0, 158, 158, 171, 173, 176, 178, 179, 180, 181, |
0, 159, 159, 172, 174, 177, 179, 180, 181, 182, |
449 |
182, 183, 184, 185, 186, 187, 188, 189, 190, 191, |
183, 184, 185, 186, 187, 188, 189, 190, 191, 192, |
450 |
192, 193, 194, 197, 199, 200, 204, 211, 210, 221, |
193, 194, 195, 198, 200, 201, 205, 212, 211, 222, |
451 |
220, 233, 232, 238, 238, 243, 252, 267, 269, 270, |
221, 234, 233, 239, 239, 244, 253, 268, 270, 271, |
452 |
273, 275, 280, 282, 286, 291, 296, 302, 308, 318, |
274, 276, 281, 283, 287, 292, 297, 303, 309, 319, |
453 |
321, 330, 332, 338, 340, 344, 343, 348, 350, 353, |
322, 331, 333, 339, 341, 346, 353, 352, 357, 359, |
454 |
356, 358, 360, 362, 364, 368, 370, 371, 374, 380, |
362, 365, 367, 369, 371, 373, 377, 379, 380, 383, |
455 |
389, 397, 402, 408, 410 |
389, 398, 406, 411, 417, 419 |
456 |
}; |
}; |
457 |
#endif |
#endif |
458 |
|
|
499 |
48, 48, 48, 49, 49, 49, 49, 50, 49, 51, |
48, 48, 48, 49, 49, 49, 49, 50, 49, 51, |
500 |
49, 53, 52, 54, 52, 52, 55, 56, 56, 56, |
49, 53, 52, 54, 52, 52, 55, 56, 56, 56, |
501 |
57, 57, 58, 58, 59, 59, 59, 59, 59, 60, |
57, 57, 58, 58, 59, 59, 59, 59, 59, 60, |
502 |
60, 61, 61, 62, 62, 64, 63, 65, 65, 66, |
60, 61, 61, 62, 62, 62, 64, 63, 65, 65, |
503 |
66, 66, 66, 66, 66, 67, 67, 67, 68, 69, |
66, 66, 66, 66, 66, 66, 67, 67, 67, 68, |
504 |
70, 71, 71, 72, 72 |
69, 70, 71, 71, 72, 72 |
505 |
}; |
}; |
506 |
|
|
507 |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
512 |
1, 1, 1, 1, 1, 2, 2, 0, 4, 0, |
1, 1, 1, 1, 1, 2, 2, 0, 4, 0, |
513 |
4, 0, 3, 0, 3, 3, 3, 1, 1, 1, |
4, 0, 3, 0, 3, 3, 3, 1, 1, 1, |
514 |
0, 1, 1, 2, 1, 1, 2, 2, 3, 1, |
0, 1, 1, 2, 1, 1, 2, 2, 3, 1, |
515 |
2, 1, 2, 1, 2, 0, 5, 1, 3, 0, |
2, 1, 2, 1, 2, 2, 0, 5, 1, 3, |
516 |
2, 2, 3, 3, 3, 1, 1, 1, 1, 1, |
0, 2, 2, 3, 3, 3, 1, 1, 1, 1, |
517 |
1, 0, 2, 0, 1 |
1, 1, 0, 2, 0, 1 |
518 |
}; |
}; |
519 |
|
|
520 |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
525 |
3, 0, 0, 0, 33, 31, 0, 27, 29, 0, |
3, 0, 0, 0, 33, 31, 0, 27, 29, 0, |
526 |
37, 38, 39, 0, 0, 21, 10, 0, 0, 0, |
37, 38, 39, 0, 0, 21, 10, 0, 0, 0, |
527 |
0, 17, 18, 9, 22, 7, 13, 15, 0, 20, |
0, 17, 18, 9, 22, 7, 13, 15, 0, 20, |
528 |
0, 6, 73, 5, 24, 23, 40, 0, 0, 0, |
0, 6, 74, 5, 24, 23, 40, 0, 0, 0, |
529 |
0, 0, 26, 11, 69, 67, 65, 25, 66, 0, |
0, 0, 26, 11, 70, 68, 66, 25, 67, 0, |
530 |
0, 0, 70, 0, 19, 0, 0, 71, 51, 53, |
0, 0, 71, 0, 19, 0, 0, 0, 0, 51, |
531 |
74, 4, 41, 0, 44, 45, 49, 34, 32, 35, |
53, 75, 4, 41, 0, 44, 45, 49, 34, 32, |
532 |
42, 0, 0, 16, 12, 14, 8, 55, 54, 0, |
35, 42, 0, 0, 16, 12, 14, 8, 55, 56, |
533 |
52, 2, 36, 46, 47, 50, 43, 28, 30, 59, |
54, 0, 52, 2, 36, 46, 47, 50, 43, 28, |
534 |
72, 48, 0, 57, 56, 59, 0, 0, 0, 68, |
30, 60, 73, 48, 0, 58, 57, 60, 0, 0, |
535 |
60, 61, 58, 62, 63, 64 |
0, 69, 61, 62, 59, 63, 64, 65 |
536 |
}; |
}; |
537 |
|
|
538 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
539 |
static const short yydefgoto[] = |
static const short yydefgoto[] = |
540 |
{ |
{ |
541 |
-1, 1, 2, 32, 56, 40, 41, 34, 38, 37, |
-1, 1, 2, 32, 57, 40, 41, 34, 38, 37, |
542 |
35, 36, 63, 69, 66, 67, 57, 58, 59, 89, |
35, 36, 64, 70, 67, 68, 58, 59, 60, 91, |
543 |
92, 93, 70, 101, 48, 53, 81, 61 |
94, 95, 71, 103, 48, 53, 83, 62 |
544 |
}; |
}; |
545 |
|
|
546 |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
547 |
STATE-NUM. */ |
STATE-NUM. */ |
548 |
static const short yypact[] = |
static const short yypact[] = |
549 |
{ |
{ |
550 |
-32768, 7, 83,-32768,-32768,-32768, -23,-32768,-32768, 3, |
-32768, 35, 85,-32768,-32768,-32768, 2,-32768,-32768, -5, |
551 |
-32768,-32768,-32768, 43, 0,-32768,-32768, 13, 14, 15, |
-32768,-32768,-32768, 31, 0,-32768,-32768, 18, 21, 22, |
552 |
51,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 51,-32768, |
59,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 59,-32768, |
553 |
23,-32768, 19,-32768,-32768,-32768, 22, -29, -29, 0, |
37,-32768, 26,-32768,-32768,-32768, 29, -19, -19, 0, |
554 |
17, 18,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 51, |
23, 24,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 59, |
555 |
51, 51,-32768, 51,-32768, 20, 27, 12,-32768,-32768, |
59, 59,-32768, 59,-32768, 28, 33, 32, 1,-32768, |
556 |
-32768,-32768,-32768, 0,-32768, 5,-32768, -29, -29, 0, |
-32768,-32768,-32768,-32768, 0,-32768, 17,-32768, -19, -19, |
557 |
-32768, 0, 0,-32768,-32768,-32768,-32768,-32768,-32768, 28, |
0,-32768, 0, 0,-32768,-32768,-32768,-32768,-32768,-32768, |
558 |
-32768,-32768, 0, 56,-32768,-32768,-32768, 0, 0,-32768, |
-32768, 30,-32768,-32768, 0, 63,-32768,-32768,-32768, 0, |
559 |
-32768,-32768, 4, -2,-32768,-32768, 0, 55, 35,-32768, |
0,-32768,-32768,-32768, -8, 15,-32768,-32768, 0, 67, |
560 |
-32768,-32768, -2,-32768,-32768,-32768 |
39,-32768,-32768,-32768, 15,-32768,-32768,-32768 |
561 |
}; |
}; |
562 |
|
|
563 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
564 |
static const short yypgoto[] = |
static const short yypgoto[] = |
565 |
{ |
{ |
566 |
-32768,-32768,-32768,-32768, 70,-32768,-32768,-32768,-32768,-32768, |
-32768,-32768,-32768,-32768, 76,-32768,-32768,-32768,-32768,-32768, |
567 |
-32768,-32768,-32768, -58, -22, 37,-32768, 21,-32768,-32768, |
-32768,-32768,-32768, -12, -45, 41,-32768, 25,-32768,-32768, |
568 |
-32768, -19, -14,-32768, -56, 16,-32768,-32768 |
-32768, -17, -14,-32768, -60, -23,-32768,-32768 |
569 |
}; |
}; |
570 |
|
|
571 |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
573 |
number is the opposite. If zero, do what YYDEFACT says. */ |
number is the opposite. If zero, do what YYDEFACT says. */ |
574 |
static const short yytable[] = |
static const short yytable[] = |
575 |
{ |
{ |
576 |
47, 44, 45, 44, 45, 82, 64, 3, 44, 84, |
47, -72, 55, 44, 45, 54, 86, 4, 5, 6, |
577 |
83, 65, 39, 87, 88, 96, 97, 98, 4, 5, |
7, 8, 9, 10, 11, 12, 65, 14, 44, 45, |
578 |
6, 7, 8, 9, 10, 11, 12, 91, 14, 4, |
44, 66, 85, 87, 87, 93, 74, 75, 76, 96, |
579 |
5, 6, 7, 8, 9, 10, 11, 12, 46, 14, |
77, 97, 98, 99, 100, 3, 43, 39, 55, 42, |
580 |
46, 94, 99, 95, 54, 85, 85, 42, 43, 49, |
46, 56, 81, 4, 5, 6, 7, 8, 9, 10, |
581 |
50, 51, 55, 79, 52, 86, 60, 62, 77, 44, |
11, 12, 84, 14, 49, 46, 88, 50, 51, 101, |
582 |
104, 71, 72, 55, 78, 73, 74, 75, 86, 76, |
89, 90, 52, 61, 63, 78, 44, 72, 73, 80, |
583 |
105, 90, 33, 86, 86, 68, 102, 0, 80, 100, |
88, 79, 106, 92, 107, 88, 88, 56, 33, 69, |
584 |
0, 0, 103, 0, 0, 0, 0, 0, 100, 4, |
104, 102, 0, 82, 105, 0, 0, 0, 0, 0, |
585 |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
102, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
586 |
0, 0, 0, 15, 16, 17, 18, 19, 20, 21, |
13, 14, 0, 0, 0, 15, 16, 17, 18, 19, |
587 |
22, 23, 24, 25, 26, 27, 28, 29, 0, 0, |
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, |
588 |
0, 0, 0, 0, 30, 31 |
0, 0, 0, 0, 0, 0, 30, 31 |
589 |
}; |
}; |
590 |
|
|
591 |
static const short yycheck[] = |
static const short yycheck[] = |
592 |
{ |
{ |
593 |
14, 3, 4, 3, 4, 63, 35, 0, 3, 65, |
14, 0, 1, 3, 4, 28, 66, 6, 7, 8, |
594 |
5, 40, 35, 71, 72, 17, 18, 19, 6, 7, |
9, 10, 11, 12, 13, 14, 35, 16, 3, 4, |
595 |
8, 9, 10, 11, 12, 13, 14, 83, 16, 6, |
3, 40, 5, 68, 69, 85, 49, 50, 51, 37, |
596 |
7, 8, 9, 10, 11, 12, 13, 14, 40, 16, |
53, 39, 17, 18, 19, 0, 5, 35, 1, 44, |
597 |
40, 37, 44, 39, 28, 67, 68, 44, 5, 36, |
40, 40, 41, 6, 7, 8, 9, 10, 11, 12, |
598 |
36, 36, 40, 41, 3, 69, 37, 35, 38, 3, |
13, 14, 64, 16, 36, 40, 70, 36, 36, 44, |
599 |
5, 44, 44, 40, 37, 49, 50, 51, 82, 53, |
72, 73, 3, 37, 35, 37, 3, 44, 44, 37, |
600 |
35, 43, 2, 87, 88, 38, 95, -1, 57, 93, |
84, 38, 5, 43, 35, 89, 90, 40, 2, 38, |
601 |
-1, -1, 96, -1, -1, -1, -1, -1, 102, 6, |
97, 95, -1, 58, 98, -1, -1, -1, -1, -1, |
602 |
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, |
104, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
603 |
-1, -1, -1, 20, 21, 22, 23, 24, 25, 26, |
15, 16, -1, -1, -1, 20, 21, 22, 23, 24, |
604 |
27, 28, 29, 30, 31, 32, 33, 34, -1, -1, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
605 |
-1, -1, -1, -1, 41, 42 |
-1, -1, -1, -1, -1, -1, 41, 42 |
606 |
}; |
}; |
607 |
|
|
608 |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
614 |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
615 |
41, 42, 48, 49, 52, 55, 56, 54, 53, 35, |
41, 42, 48, 49, 52, 55, 56, 54, 53, 35, |
616 |
50, 51, 44, 5, 3, 4, 40, 67, 69, 36, |
50, 51, 44, 5, 3, 4, 40, 67, 69, 36, |
617 |
36, 36, 3, 70, 70, 40, 49, 61, 62, 63, |
36, 36, 3, 70, 70, 1, 40, 49, 61, 62, |
618 |
37, 72, 35, 57, 35, 40, 59, 60, 60, 58, |
63, 37, 72, 35, 57, 35, 40, 59, 60, 60, |
619 |
67, 44, 44, 70, 70, 70, 70, 38, 37, 41, |
58, 67, 44, 44, 70, 70, 70, 70, 37, 38, |
620 |
62, 71, 58, 5, 69, 59, 67, 58, 58, 64, |
37, 41, 62, 71, 58, 5, 69, 59, 67, 58, |
621 |
43, 69, 65, 66, 37, 39, 17, 18, 19, 44, |
58, 64, 43, 69, 65, 66, 37, 39, 17, 18, |
622 |
67, 68, 66, 67, 5, 35 |
19, 44, 67, 68, 66, 67, 5, 35 |
623 |
}; |
}; |
624 |
|
|
625 |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
1135 |
switch (yyn) |
switch (yyn) |
1136 |
{ |
{ |
1137 |
case 2: |
case 2: |
1138 |
#line 160 "parse-gram.y" |
#line 161 "parse-gram.y" |
1139 |
{ |
{ |
1140 |
yycontrol->errcode = 0; |
yycontrol->errcode = 0; |
1141 |
epilogue_set (yyvsp[0].string, yylsp[0]); |
epilogue_set (yyvsp[0].string, yylsp[0]); |
1143 |
break; |
break; |
1144 |
|
|
1145 |
case 6: |
case 6: |
1146 |
#line 178 "parse-gram.y" |
#line 179 "parse-gram.y" |
1147 |
{ prologue_augment (yyvsp[0].string, yylsp[0]); } |
{ prologue_augment (yyvsp[0].string, yylsp[0]); } |
1148 |
break; |
break; |
1149 |
|
|
1150 |
case 7: |
case 7: |
1151 |
#line 179 "parse-gram.y" |
#line 180 "parse-gram.y" |
1152 |
{ debug_flag = 1; } |
{ debug_flag = 1; } |
1153 |
break; |
break; |
1154 |
|
|
1155 |
case 8: |
case 8: |
1156 |
#line 180 "parse-gram.y" |
#line 181 "parse-gram.y" |
1157 |
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); } |
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); } |
1158 |
break; |
break; |
1159 |
|
|
1160 |
case 9: |
case 9: |
1161 |
#line 181 "parse-gram.y" |
#line 182 "parse-gram.y" |
1162 |
{ defines_flag = 1; } |
{ defines_flag = 1; } |
1163 |
break; |
break; |
1164 |
|
|
1165 |
case 10: |
case 10: |
1166 |
#line 182 "parse-gram.y" |
#line 183 "parse-gram.y" |
1167 |
{ error_verbose = 1; } |
{ error_verbose = 1; } |
1168 |
break; |
break; |
1169 |
|
|
1170 |
case 11: |
case 11: |
1171 |
#line 183 "parse-gram.y" |
#line 184 "parse-gram.y" |
1172 |
{ expected_conflicts = yyvsp[0].integer; } |
{ expected_conflicts = yyvsp[0].integer; } |
1173 |
break; |
break; |
1174 |
|
|
1175 |
case 12: |
case 12: |
1176 |
#line 184 "parse-gram.y" |
#line 185 "parse-gram.y" |
1177 |
{ spec_file_prefix = yyvsp[0].string; } |
{ spec_file_prefix = yyvsp[0].string; } |
1178 |
break; |
break; |
1179 |
|
|
1180 |
case 13: |
case 13: |
1181 |
#line 185 "parse-gram.y" |
#line 186 "parse-gram.y" |
1182 |
{ locations_flag = 1; } |
{ locations_flag = 1; } |
1183 |
break; |
break; |
1184 |
|
|
1185 |
case 14: |
case 14: |
1186 |
#line 186 "parse-gram.y" |
#line 187 "parse-gram.y" |
1187 |
{ spec_name_prefix = yyvsp[0].string; } |
{ spec_name_prefix = yyvsp[0].string; } |
1188 |
break; |
break; |
1189 |
|
|
1190 |
case 15: |
case 15: |
1191 |
#line 187 "parse-gram.y" |
#line 188 "parse-gram.y" |
1192 |
{ no_lines_flag = 1; } |
{ no_lines_flag = 1; } |
1193 |
break; |
break; |
1194 |
|
|
1195 |
case 16: |
case 16: |
1196 |
#line 188 "parse-gram.y" |
#line 189 "parse-gram.y" |
1197 |
{ spec_outfile = yyvsp[0].string; } |
{ spec_outfile = yyvsp[0].string; } |
1198 |
break; |
break; |
1199 |
|
|
1200 |
case 17: |
case 17: |
1201 |
#line 189 "parse-gram.y" |
#line 190 "parse-gram.y" |
1202 |
{ pure_parser = 1; } |
{ pure_parser = 1; } |
1203 |
break; |
break; |
1204 |
|
|
1205 |
case 18: |
case 18: |
1206 |
#line 190 "parse-gram.y" |
#line 191 "parse-gram.y" |
1207 |
{ glr_parser = 1; } |
{ glr_parser = 1; } |
1208 |
break; |
break; |
1209 |
|
|
1210 |
case 19: |
case 19: |
1211 |
#line 191 "parse-gram.y" |
#line 192 "parse-gram.y" |
1212 |
{ skeleton = yyvsp[0].string; } |
{ skeleton = yyvsp[0].string; } |
1213 |
break; |
break; |
1214 |
|
|
1215 |
case 20: |
case 20: |
1216 |
#line 192 "parse-gram.y" |
#line 193 "parse-gram.y" |
1217 |
{ token_table_flag = 1; } |
{ token_table_flag = 1; } |
1218 |
break; |
break; |
1219 |
|
|
1220 |
case 21: |
case 21: |
1221 |
#line 193 "parse-gram.y" |
#line 194 "parse-gram.y" |
1222 |
{ report_flag = 1; } |
{ report_flag = 1; } |
1223 |
break; |
break; |
1224 |
|
|
1225 |
case 22: |
case 22: |
1226 |
#line 194 "parse-gram.y" |
#line 195 "parse-gram.y" |
1227 |
{ yacc_flag = 1; } |
{ yacc_flag = 1; } |
1228 |
break; |
break; |
1229 |
|
|
1230 |
case 25: |
case 25: |
1231 |
#line 201 "parse-gram.y" |
#line 202 "parse-gram.y" |
1232 |
{ |
{ |
1233 |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]); |
1234 |
} |
} |
1235 |
break; |
break; |
1236 |
|
|
1237 |
case 26: |
case 26: |
1238 |
#line 205 "parse-gram.y" |
#line 206 "parse-gram.y" |
1239 |
{ |
{ |
1240 |
typed = 1; |
typed = 1; |
1241 |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line); |
1244 |
break; |
break; |
1245 |
|
|
1246 |
case 27: |
case 27: |
1247 |
#line 211 "parse-gram.y" |
#line 212 "parse-gram.y" |
1248 |
{ current_braced_code = destructor_braced_code; } |
{ current_braced_code = destructor_braced_code; } |
1249 |
break; |
break; |
1250 |
|
|
1251 |
case 28: |
case 28: |
1252 |
#line 213 "parse-gram.y" |
#line 214 "parse-gram.y" |
1253 |
{ |
{ |
1254 |
symbol_list_t *list; |
symbol_list_t *list; |
1255 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1260 |
break; |
break; |
1261 |
|
|
1262 |
case 29: |
case 29: |
1263 |
#line 221 "parse-gram.y" |
#line 222 "parse-gram.y" |
1264 |
{ current_braced_code = printer_braced_code; } |
{ current_braced_code = printer_braced_code; } |
1265 |
break; |
break; |
1266 |
|
|
1267 |
case 30: |
case 30: |
1268 |
#line 223 "parse-gram.y" |
#line 224 "parse-gram.y" |
1269 |
{ |
{ |
1270 |
symbol_list_t *list; |
symbol_list_t *list; |
1271 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1276 |
break; |
break; |
1277 |
|
|
1278 |
case 31: |
case 31: |
1279 |
#line 233 "parse-gram.y" |
#line 234 "parse-gram.y" |
1280 |
{ current_class = nterm_sym; } |
{ current_class = nterm_sym; } |
1281 |
break; |
break; |
1282 |
|
|
1283 |
case 32: |
case 32: |
1284 |
#line 234 "parse-gram.y" |
#line 235 "parse-gram.y" |
1285 |
{ |
{ |
1286 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1287 |
current_type = NULL; |
current_type = NULL; |
1289 |
break; |
break; |
1290 |
|
|
1291 |
case 33: |
case 33: |
1292 |
#line 238 "parse-gram.y" |
#line 239 "parse-gram.y" |
1293 |
{ current_class = token_sym; } |
{ current_class = token_sym; } |
1294 |
break; |
break; |
1295 |
|
|
1296 |
case 34: |
case 34: |
1297 |
#line 239 "parse-gram.y" |
#line 240 "parse-gram.y" |
1298 |
{ |
{ |
1299 |
current_class = unknown_sym; |
current_class = unknown_sym; |
1300 |
current_type = NULL; |
current_type = NULL; |
1302 |
break; |
break; |
1303 |
|
|
1304 |
case 35: |
case 35: |
1305 |
#line 244 "parse-gram.y" |
#line 245 "parse-gram.y" |
1306 |
{ |
{ |
1307 |
symbol_list_t *list; |
symbol_list_t *list; |
1308 |
for (list = yyvsp[0].list; list; list = list->next) |
for (list = yyvsp[0].list; list; list = list->next) |
1312 |
break; |
break; |
1313 |
|
|
1314 |
case 36: |
case 36: |
1315 |
#line 254 "parse-gram.y" |
#line 255 "parse-gram.y" |
1316 |
{ |
{ |
1317 |
symbol_list_t *list; |
symbol_list_t *list; |
1318 |
++current_prec; |
++current_prec; |
1327 |
break; |
break; |
1328 |
|
|
1329 |
case 37: |
case 37: |
1330 |
#line 268 "parse-gram.y" |
#line 269 "parse-gram.y" |
1331 |
{ yyval.assoc = left_assoc; } |
{ yyval.assoc = left_assoc; } |
1332 |
break; |
break; |
1333 |
|
|
1334 |
case 38: |
case 38: |
1335 |
#line 269 "parse-gram.y" |
#line 270 "parse-gram.y" |
1336 |
{ yyval.assoc = right_assoc; } |
{ yyval.assoc = right_assoc; } |
1337 |
break; |
break; |
1338 |
|
|
1339 |
case 39: |
case 39: |
1340 |
#line 270 "parse-gram.y" |
#line 271 "parse-gram.y" |
1341 |
{ yyval.assoc = non_assoc; } |
{ yyval.assoc = non_assoc; } |
1342 |
break; |
break; |
1343 |
|
|
1344 |
case 40: |
case 40: |
1345 |
#line 274 "parse-gram.y" |
#line 275 "parse-gram.y" |
1346 |
{ current_type = NULL;} |
{ current_type = NULL;} |
1347 |
break; |
break; |
1348 |
|
|
1349 |
case 41: |
case 41: |
1350 |
#line 275 "parse-gram.y" |
#line 276 "parse-gram.y" |
1351 |
{ current_type = yyvsp[0].string; } |
{ current_type = yyvsp[0].string; } |
1352 |
break; |
break; |
1353 |
|
|
1354 |
case 42: |
case 42: |
1355 |
#line 281 "parse-gram.y" |
#line 282 "parse-gram.y" |
1356 |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
{ yyval.list = symbol_list_new (yyvsp[0].symbol, yylsp[0]); } |
1357 |
break; |
break; |
1358 |
|
|
1359 |
case 43: |
case 43: |
1360 |
#line 282 "parse-gram.y" |
#line 283 "parse-gram.y" |
1361 |
{ 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]); } |
1362 |
break; |
break; |
1363 |
|
|
1364 |
case 44: |
case 44: |
1365 |
#line 288 "parse-gram.y" |
#line 289 "parse-gram.y" |
1366 |
{ |
{ |
1367 |
current_type = yyvsp[0].string; |
current_type = yyvsp[0].string; |
1368 |
} |
} |
1369 |
break; |
break; |
1370 |
|
|
1371 |
case 45: |
case 45: |
1372 |
#line 292 "parse-gram.y" |
#line 293 "parse-gram.y" |
1373 |
{ |
{ |
1374 |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
symbol_class_set (yyvsp[0].symbol, current_class, yylsp[0]); |
1375 |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
symbol_type_set (yyvsp[0].symbol, current_type, yylsp[0]); |
1377 |
break; |
break; |
1378 |
|
|
1379 |
case 46: |
case 46: |
1380 |
#line 297 "parse-gram.y" |
#line 298 "parse-gram.y" |
1381 |
{ |
{ |
1382 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1383 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1386 |
break; |
break; |
1387 |
|
|
1388 |
case 47: |
case 47: |
1389 |
#line 303 "parse-gram.y" |
#line 304 "parse-gram.y" |
1390 |
{ |
{ |
1391 |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
symbol_class_set (yyvsp[-1].symbol, current_class, yylsp[-1]); |
1392 |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
symbol_type_set (yyvsp[-1].symbol, current_type, yylsp[-1]); |
1395 |
break; |
break; |
1396 |
|
|
1397 |
case 48: |
case 48: |
1398 |
#line 309 "parse-gram.y" |
#line 310 "parse-gram.y" |
1399 |
{ |
{ |
1400 |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
symbol_class_set (yyvsp[-2].symbol, current_class, yylsp[-2]); |
1401 |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
symbol_type_set (yyvsp[-2].symbol, current_type, yylsp[-2]); |
1405 |
break; |
break; |
1406 |
|
|
1407 |
case 49: |
case 49: |
1408 |
#line 320 "parse-gram.y" |
#line 321 "parse-gram.y" |
1409 |
{;} |
{;} |
1410 |
break; |
break; |
1411 |
|
|
1412 |
case 50: |
case 50: |
1413 |
#line 322 "parse-gram.y" |
#line 323 "parse-gram.y" |
1414 |
{;} |
{;} |
1415 |
break; |
break; |
1416 |
|
|
1417 |
|
case 54: |
1418 |
|
#line 342 "parse-gram.y" |
1419 |
|
{ |
1420 |
|
if (yacc_flag) |
1421 |
|
complain_at (yyloc, _("POSIX forbids declarations in the grammar")); |
1422 |
|
} |
1423 |
|
break; |
1424 |
|
|
1425 |
case 55: |
case 55: |
1426 |
#line 344 "parse-gram.y" |
#line 347 "parse-gram.y" |
1427 |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
{ |
1428 |
|
yyerrok; |
1429 |
|
} |
1430 |
break; |
break; |
1431 |
|
|
1432 |
case 56: |
case 56: |
1433 |
#line 345 "parse-gram.y" |
#line 353 "parse-gram.y" |
1434 |
{;} |
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; } |
1435 |
break; |
break; |
1436 |
|
|
1437 |
case 57: |
case 57: |
1438 |
#line 349 "parse-gram.y" |
#line 354 "parse-gram.y" |
1439 |
{ grammar_rule_end (yylsp[0]); } |
{;} |
1440 |
break; |
break; |
1441 |
|
|
1442 |
case 58: |
case 58: |
1443 |
#line 350 "parse-gram.y" |
#line 358 "parse-gram.y" |
1444 |
{ grammar_rule_end (yylsp[0]); } |
{ grammar_rule_end (yylsp[0]); } |
1445 |
break; |
break; |
1446 |
|
|
1447 |
case 59: |
case 59: |
1448 |
#line 355 "parse-gram.y" |
#line 359 "parse-gram.y" |
1449 |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
{ grammar_rule_end (yylsp[0]); } |
1450 |
break; |
break; |
1451 |
|
|
1452 |
case 60: |
case 60: |
1453 |
#line 357 "parse-gram.y" |
#line 364 "parse-gram.y" |
1454 |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_rule_begin (current_lhs, current_lhs_location); } |
1455 |
break; |
break; |
1456 |
|
|
1457 |
case 61: |
case 61: |
1458 |
#line 359 "parse-gram.y" |
#line 366 "parse-gram.y" |
1459 |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); } |
1460 |
break; |
break; |
1461 |
|
|
1462 |
case 62: |
case 62: |
1463 |
#line 361 "parse-gram.y" |
#line 368 "parse-gram.y" |
1464 |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); } |
1465 |
break; |
break; |
1466 |
|
|
1467 |
case 63: |
case 63: |
1468 |
#line 363 "parse-gram.y" |
#line 370 "parse-gram.y" |
1469 |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
{ grammar_current_rule_prec_set (yyvsp[0].symbol, yylsp[0]); } |
1470 |
break; |
break; |
1471 |
|
|
1472 |
case 64: |
case 64: |
1473 |
#line 365 "parse-gram.y" |
#line 372 "parse-gram.y" |
1474 |
{ grammar_current_rule_merge_set (yyvsp[0].string, yylsp[0]); } |
{ grammar_current_rule_dprec_set (yyvsp[0].integer, yylsp[0]); } |
1475 |
break; |
break; |
1476 |
|
|
1477 |
case 65: |
case 65: |
1478 |
#line 369 "parse-gram.y" |
#line 374 "parse-gram.y" |
1479 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ grammar_current_rule_merge_set (yyvsp[0].string, yylsp[0]); } |
1480 |
break; |
break; |
1481 |
|
|
1482 |
case 66: |
case 66: |
1483 |
#line 370 "parse-gram.y" |
#line 378 "parse-gram.y" |
1484 |
{ yyval.symbol = yyvsp[0].symbol; } |
{ yyval.symbol = yyvsp[0].symbol; } |
1485 |
break; |
break; |
1486 |
|
|
1487 |
case 67: |
case 67: |
1488 |
#line 371 "parse-gram.y" |
#line 379 "parse-gram.y" |
1489 |
{ yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); } |
{ yyval.symbol = yyvsp[0].symbol; } |
1490 |
break; |
break; |
1491 |
|
|
1492 |
case 68: |
case 68: |
1493 |
#line 376 "parse-gram.y" |
#line 380 "parse-gram.y" |
1494 |
{ yyval.string = yyvsp[0].string; } |
{ yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); } |
1495 |
break; |
break; |
1496 |
|
|
1497 |
case 69: |
case 69: |
1498 |
#line 382 "parse-gram.y" |
#line 385 "parse-gram.y" |
1499 |
|
{ yyval.string = yyvsp[0].string; } |
1500 |
|
break; |
1501 |
|
|
1502 |
|
case 70: |
1503 |
|
#line 391 "parse-gram.y" |
1504 |
{ |
{ |
1505 |
yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); |
yyval.symbol = symbol_get (yyvsp[0].string, yylsp[0]); |
1506 |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
symbol_class_set (yyval.symbol, token_sym, yylsp[0]); |
1507 |
} |
} |
1508 |
break; |
break; |
1509 |
|
|
1510 |
case 70: |
case 71: |
1511 |
#line 391 "parse-gram.y" |
#line 400 "parse-gram.y" |
1512 |
{ |
{ |
1513 |
yyval.string = yyvsp[0].string + 1; |
yyval.string = yyvsp[0].string + 1; |
1514 |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
yyval.string[strlen (yyval.string) - 1] = '\0'; |
1515 |
} |
} |
1516 |
break; |
break; |
1517 |
|
|
1518 |
case 71: |
case 72: |
1519 |
#line 399 "parse-gram.y" |
#line 408 "parse-gram.y" |
1520 |
{ |
{ |
1521 |
yyval.string = xstrdup (""); |
yyval.string = xstrdup (""); |
1522 |
} |
} |
1523 |
break; |
break; |
1524 |
|
|
1525 |
case 72: |
case 73: |
1526 |
#line 403 "parse-gram.y" |
#line 412 "parse-gram.y" |
1527 |
{ |
{ |
1528 |
yyval.string = yyvsp[0].string; |
yyval.string = yyvsp[0].string; |
1529 |
} |
} |
1532 |
|
|
1533 |
} |
} |
1534 |
|
|
1535 |
/* Line 955 of /home/lrde/prof/akim/src/bison/data/yacc.c. */ |
/* Line 955 of /usr/local/share/bison/yacc.c. */ |
1536 |
#line 1521 "parse-gram.c" |
#line 1537 "parse-gram.c" |
1537 |
|
|
1538 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1539 |
yyssp -= yylen; |
yyssp -= yylen; |
1804 |
} |
} |
1805 |
#endif /* YYDEBUG. */ |
#endif /* YYDEBUG. */ |
1806 |
|
|
1807 |
#line 412 "parse-gram.y" |
#line 421 "parse-gram.y" |
1808 |
|
|
1809 |
/*------------------------------------------------------------------. |
/*------------------------------------------------------------------. |
1810 |
| When debugging the parser, display tokens' locations and values. | |
| When debugging the parser, display tokens' locations and values. | |
1849 |
gram_error (gram_control_t *control ATTRIBUTE_UNUSED, |
gram_error (gram_control_t *control ATTRIBUTE_UNUSED, |
1850 |
location_t *yylloc, const char *msg) |
location_t *yylloc, const char *msg) |
1851 |
{ |
{ |
1852 |
LOCATION_PRINT (stderr, *yylloc); |
complain_at (*yylloc, "%s", msg); |
|
fprintf (stderr, ": %s\n", msg); |
|
1853 |
} |
} |
1854 |
|
|