2 /* A Bison parser, made by GNU Bison 2.4.1. */
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
38 /* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
45 /* Identify Bison output. */
49 #define YYBISON_VERSION "2.4.1"
52 #define YYSKELETON_NAME "yacc.c"
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
68 /* Copy the first part of user declarations. */
70 /* Line 189 of yacc.c */
71 #line 5 "parser/faustparser.y"
79 #include "errormsg.hh"
80 #include "sourcereader.hh"
88 #define YYERROR_VERBOSE 1
89 #define YYMAXDEPTH 100000
94 extern const char* yyfilename
;
98 extern bool gStripDocSwitch
;
99 extern bool gLstDependenciesSwitch
;
100 extern bool gLstDistributedSwitch
;
101 extern bool gLstMdocTagsSwitch
;
103 extern map
<Tree
, set
<Tree
> > gMetaDataSet
;
104 extern vector
<Tree
> gDocVector
;
109 //----------------------------------------------------------
110 // unquote() : remove enclosing quotes and carriage return
111 // characters from string. Returns a Tree
112 //----------------------------------------------------------
113 char replaceCR(char c
)
115 return (c
!='\n') ? c
: ' ';
118 Tree
unquote(char* str
)
120 //-----------copy unquoted filename-------------
125 //it is a quoted string, we remove the quotes
126 for (int i
=1; j
<511 && str
[i
];) {
127 buf
[j
++] = replaceCR(str
[i
++]);
130 if (j
>0) buf
[j
-1] = 0;
132 for (int i
=0; j
<511 && str
[i
];) {
133 buf
[j
++] = replaceCR(str
[i
++]);
139 //----------------------------------------------
144 /* Line 189 of yacc.c */
145 #line 146 "parser/faustparser.cpp"
147 /* Enabling traces. */
152 /* Enabling verbose error messages. */
153 #ifdef YYERROR_VERBOSE
154 # undef YYERROR_VERBOSE
155 # define YYERROR_VERBOSE 1
157 # define YYERROR_VERBOSE 0
160 /* Enabling the token table. */
161 #ifndef YYTOKEN_TABLE
162 # define YYTOKEN_TABLE 0
169 /* Put the tokens into the symbol table, so that GDB and other debuggers
291 LSTDEPENDENCIES
= 377,
293 LSTDISTRIBUTED
= 379,
301 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
302 typedef union YYSTYPE
305 /* Line 214 of yacc.c */
306 #line 78 "parser/faustparser.y"
315 /* Line 214 of yacc.c */
316 #line 317 "parser/faustparser.cpp"
318 # define YYSTYPE_IS_TRIVIAL 1
319 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
320 # define YYSTYPE_IS_DECLARED 1
324 /* Copy the second part of user declarations. */
327 /* Line 264 of yacc.c */
328 #line 329 "parser/faustparser.cpp"
335 typedef YYTYPE_UINT8 yytype_uint8
;
337 typedef unsigned char yytype_uint8
;
341 typedef YYTYPE_INT8 yytype_int8
;
342 #elif (defined __STDC__ || defined __C99__FUNC__ \
343 || defined __cplusplus || defined _MSC_VER)
344 typedef signed char yytype_int8
;
346 typedef short int yytype_int8
;
350 typedef YYTYPE_UINT16 yytype_uint16
;
352 typedef unsigned short int yytype_uint16
;
356 typedef YYTYPE_INT16 yytype_int16
;
358 typedef short int yytype_int16
;
362 # ifdef __SIZE_TYPE__
363 # define YYSIZE_T __SIZE_TYPE__
364 # elif defined size_t
365 # define YYSIZE_T size_t
366 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
367 || defined __cplusplus || defined _MSC_VER)
368 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
369 # define YYSIZE_T size_t
371 # define YYSIZE_T unsigned int
375 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
380 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
381 # define YY_(msgid) dgettext ("bison-runtime", msgid)
385 # define YY_(msgid) msgid
389 /* Suppress unused-variable warnings by "using" E. */
390 #if ! defined lint || defined __GNUC__
391 # define YYUSE(e) ((void) (e))
393 # define YYUSE(e) /* empty */
396 /* Identity function, used to suppress warnings about constant conditions. */
400 #if (defined __STDC__ || defined __C99__FUNC__ \
401 || defined __cplusplus || defined _MSC_VER)
414 #if ! defined yyoverflow || YYERROR_VERBOSE
416 /* The parser invokes alloca or malloc; define the necessary symbols. */
418 # ifdef YYSTACK_USE_ALLOCA
419 # if YYSTACK_USE_ALLOCA
421 # define YYSTACK_ALLOC __builtin_alloca
422 # elif defined __BUILTIN_VA_ARG_INCR
423 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
425 # define YYSTACK_ALLOC __alloca
426 # elif defined _MSC_VER
427 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
428 # define alloca _alloca
430 # define YYSTACK_ALLOC alloca
431 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
432 || defined __cplusplus || defined _MSC_VER)
433 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
442 # ifdef YYSTACK_ALLOC
443 /* Pacify GCC's `empty if-body' warning. */
444 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
445 # ifndef YYSTACK_ALLOC_MAXIMUM
446 /* The OS might guarantee only one guard page at the bottom of the stack,
447 and a page size can be as small as 4096 bytes. So we cannot safely
448 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
449 to allow for a few compiler-allocated temporary stack slots. */
450 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
453 # define YYSTACK_ALLOC YYMALLOC
454 # define YYSTACK_FREE YYFREE
455 # ifndef YYSTACK_ALLOC_MAXIMUM
456 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
458 # if (defined __cplusplus && ! defined _STDLIB_H \
459 && ! ((defined YYMALLOC || defined malloc) \
460 && (defined YYFREE || defined free)))
461 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
467 # define YYMALLOC malloc
468 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
469 || defined __cplusplus || defined _MSC_VER)
470 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
475 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
476 || defined __cplusplus || defined _MSC_VER)
477 void free (void *); /* INFRINGES ON USER NAME SPACE */
481 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
484 #if (! defined yyoverflow \
485 && (! defined __cplusplus \
486 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
488 /* A type that is properly aligned for any stack member. */
491 yytype_int16 yyss_alloc
;
495 /* The size of the maximum gap between one aligned stack and the next. */
496 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
498 /* The size of an array large to enough to hold all stacks, each with
500 # define YYSTACK_BYTES(N) \
501 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
502 + YYSTACK_GAP_MAXIMUM)
504 /* Copy COUNT objects from FROM to TO. The source and destination do
507 # if defined __GNUC__ && 1 < __GNUC__
508 # define YYCOPY(To, From, Count) \
509 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
511 # define YYCOPY(To, From, Count) \
515 for (yyi = 0; yyi < (Count); yyi++) \
516 (To)[yyi] = (From)[yyi]; \
522 /* Relocate STACK from its old location to the new one. The
523 local variables YYSIZE and YYSTACKSIZE give the old and new number of
524 elements in the stack, and YYPTR gives the new location of the
525 stack. Advance YYPTR to a properly aligned location for the next
527 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
530 YYSIZE_T yynewbytes; \
531 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
532 Stack = &yyptr->Stack_alloc; \
533 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
534 yyptr += yynewbytes / sizeof (*yyptr); \
540 /* YYFINAL -- State number of the termination state. */
542 /* YYLAST -- Last index in YYTABLE. */
545 /* YYNTOKENS -- Number of terminals. */
546 #define YYNTOKENS 127
547 /* YYNNTS -- Number of nonterminals. */
549 /* YYNRULES -- Number of rules. */
551 /* YYNRULES -- Number of states. */
552 #define YYNSTATES 417
554 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
556 #define YYMAXUTOK 381
558 #define YYTRANSLATE(YYX) \
559 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
561 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
562 static const yytype_uint8 yytranslate
[] =
564 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
590 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
591 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
592 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
593 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
594 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
595 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
596 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
597 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
598 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
599 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
600 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
601 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
606 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
608 static const yytype_uint16 yyprhs
[] =
610 0, 0, 3, 5, 6, 9, 10, 13, 19, 24,
611 26, 30, 31, 34, 36, 38, 40, 42, 44, 46,
612 47, 50, 54, 58, 60, 64, 65, 68, 74, 80,
613 86, 88, 90, 94, 102, 107, 110, 112, 114, 118,
614 124, 128, 132, 136, 140, 144, 146, 150, 154, 158,
615 162, 166, 170, 174, 177, 181, 185, 189, 193, 197,
616 201, 205, 209, 213, 217, 221, 225, 229, 234, 239,
617 241, 243, 245, 248, 251, 254, 257, 259, 261, 263,
618 265, 267, 269, 271, 273, 275, 277, 279, 281, 283,
619 285, 287, 289, 291, 293, 295, 297, 299, 301, 303,
620 305, 307, 309, 311, 313, 315, 317, 319, 321, 323,
621 325, 327, 329, 331, 333, 335, 337, 339, 341, 343,
622 345, 347, 349, 351, 353, 355, 357, 359, 361, 363,
623 365, 368, 372, 374, 377, 381, 390, 395, 397, 399,
624 401, 406, 411, 416, 418, 420, 422, 424, 426, 428,
625 430, 432, 434, 436, 438, 440, 442, 444, 446, 448,
626 450, 454, 458, 462, 466, 470, 472, 474, 476, 478,
627 480, 489, 498, 507, 516, 525, 533, 541, 546, 551,
628 564, 577, 590, 597, 604, 611, 620, 629, 635, 640,
629 642, 644, 648, 650, 653, 660, 662
632 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
633 static const yytype_int16 yyrhs
[] =
635 128, 0, -1, 129, -1, -1, 129, 131, -1, -1,
636 130, 143, -1, 87, 80, 154, 81, 78, -1, 99,
637 150, 153, 78, -1, 143, -1, 107, 132, 108, -1,
638 -1, 132, 133, -1, 134, -1, 135, -1, 136, -1,
639 137, -1, 138, -1, 142, -1, -1, 134, 117, -1,
640 109, 146, 110, -1, 111, 146, 112, -1, 118, -1,
641 113, 139, 114, -1, -1, 139, 140, -1, 122, 125,
642 126, 141, 126, -1, 123, 125, 126, 141, 126, -1,
643 124, 125, 126, 141, 126, -1, 120, -1, 121, -1,
644 115, 150, 116, -1, 144, 80, 151, 81, 86, 146,
645 78, -1, 144, 86, 146, 78, -1, 1, 78, -1,
646 149, -1, 149, -1, 145, 7, 149, -1, 146, 3,
647 82, 130, 83, -1, 146, 7, 146, -1, 146, 6,
648 146, -1, 146, 5, 146, -1, 146, 4, 146, -1,
649 146, 8, 146, -1, 147, -1, 147, 17, 147, -1,
650 147, 16, 147, -1, 147, 24, 147, -1, 147, 23,
651 147, -1, 147, 22, 147, -1, 147, 25, 147, -1,
652 147, 26, 147, -1, 147, 27, -1, 147, 28, 149,
653 -1, 147, 21, 147, -1, 147, 15, 147, -1, 147,
654 20, 147, -1, 147, 19, 147, -1, 147, 18, 147,
655 -1, 147, 14, 147, -1, 147, 13, 147, -1, 147,
656 11, 147, -1, 147, 10, 147, -1, 147, 12, 147,
657 -1, 147, 9, 147, -1, 147, 30, 147, -1, 147,
658 80, 151, 81, -1, 147, 84, 130, 85, -1, 148,
659 -1, 73, -1, 74, -1, 17, 73, -1, 17, 74,
660 -1, 16, 73, -1, 16, 74, -1, 76, -1, 77,
661 -1, 31, -1, 32, -1, 33, -1, 34, -1, 17,
662 -1, 16, -1, 24, -1, 23, -1, 22, -1, 26,
663 -1, 21, -1, 15, -1, 20, -1, 19, -1, 18,
664 -1, 14, -1, 13, -1, 11, -1, 10, -1, 12,
665 -1, 9, -1, 48, -1, 49, -1, 50, -1, 51,
666 -1, 52, -1, 53, -1, 54, -1, 55, -1, 56,
667 -1, 57, -1, 58, -1, 25, -1, 59, -1, 60,
668 -1, 61, -1, 62, -1, 63, -1, 64, -1, 65,
669 -1, 66, -1, 67, -1, 68, -1, 69, -1, 70,
670 -1, 71, -1, 72, -1, 102, -1, 103, -1, 30,
671 -1, 105, -1, 106, -1, 84, 85, -1, 84, 147,
672 85, -1, 149, -1, 16, 149, -1, 80, 146, 81,
673 -1, 75, 80, 145, 81, 28, 80, 146, 81, -1,
674 100, 82, 176, 83, -1, 160, -1, 161, -1, 162,
675 -1, 88, 80, 154, 81, -1, 89, 80, 154, 81,
676 -1, 90, 82, 130, 83, -1, 163, -1, 164, -1,
677 165, -1, 166, -1, 167, -1, 168, -1, 169, -1,
678 170, -1, 171, -1, 172, -1, 156, -1, 157, -1,
679 158, -1, 159, -1, 97, -1, 97, -1, 152, -1,
680 151, 7, 152, -1, 152, 6, 152, -1, 152, 5,
681 152, -1, 152, 4, 152, -1, 152, 8, 152, -1,
682 147, -1, 95, -1, 95, -1, 95, -1, 96, -1,
683 91, 80, 149, 7, 152, 7, 146, 81, -1, 92,
684 80, 149, 7, 152, 7, 146, 81, -1, 93, 80,
685 149, 7, 152, 7, 146, 81, -1, 94, 80, 149,
686 7, 152, 7, 146, 81, -1, 35, 80, 173, 7,
687 155, 7, 153, 81, -1, 36, 80, 178, 150, 7,
688 155, 81, -1, 37, 80, 178, 150, 7, 155, 81,
689 -1, 38, 80, 154, 81, -1, 39, 80, 154, 81,
690 -1, 40, 80, 154, 7, 152, 7, 152, 7, 152,
691 7, 152, 81, -1, 41, 80, 154, 7, 152, 7,
692 152, 7, 152, 7, 152, 81, -1, 42, 80, 154,
693 7, 152, 7, 152, 7, 152, 7, 152, 81, -1,
694 43, 80, 154, 7, 146, 81, -1, 44, 80, 154,
695 7, 146, 81, -1, 45, 80, 154, 7, 146, 81,
696 -1, 47, 80, 154, 7, 152, 7, 152, 81, -1,
697 46, 80, 154, 7, 152, 7, 152, 81, -1, 178,
698 174, 80, 175, 81, -1, 178, 174, 80, 81, -1,
699 97, -1, 178, -1, 175, 7, 178, -1, 177, -1,
700 176, 177, -1, 80, 151, 81, 101, 146, 78, -1,
704 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
705 static const yytype_uint16 yyrline
[] =
707 0, 308, 308, 311, 312, 314, 315, 318, 319, 320,
708 321, 324, 325, 328, 329, 330, 331, 332, 333, 336,
709 337, 340, 343, 346, 349, 352, 353, 356, 357, 358,
710 361, 362, 365, 368, 369, 370, 373, 376, 377, 380,
711 381, 382, 383, 384, 385, 386, 389, 390, 391, 392,
712 393, 394, 395, 396, 397, 399, 400, 401, 403, 404,
713 406, 407, 408, 409, 410, 411, 413, 415, 416, 418,
714 421, 422, 424, 425, 427, 428, 430, 431, 433, 434,
715 436, 437, 439, 440, 441, 442, 443, 444, 446, 447,
716 448, 450, 451, 453, 454, 455, 456, 457, 458, 460,
717 462, 463, 464, 465, 466, 467, 468, 470, 471, 472,
718 473, 474, 475, 477, 478, 479, 481, 482, 484, 485,
719 486, 489, 490, 492, 493, 495, 496, 497, 499, 500,
720 502, 503, 505, 506, 508, 509, 512, 514, 515, 516,
721 517, 518, 519, 521, 522, 523, 524, 525, 526, 527,
722 528, 529, 530, 532, 533, 534, 535, 539, 542, 547,
723 548, 551, 552, 553, 554, 555, 558, 561, 564, 565,
724 570, 574, 578, 582, 589, 593, 596, 601, 604, 607,
725 610, 613, 616, 619, 622, 626, 629, 635, 636, 639,
726 642, 643, 646, 647, 650, 654, 655
730 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
731 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
732 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
733 static const char *const yytname
[] =
735 "$end", "error", "$undefined", "WITH", "MIX", "SPLIT", "SEQ", "PAR",
736 "REC", "NE", "GE", "GT", "EQ", "LE", "LT", "OR", "SUB", "ADD", "RSH",
737 "LSH", "XOR", "AND", "MOD", "DIV", "MUL", "POWOP", "FDELAY", "DELAY1",
738 "DOT", "APPL", "HASH", "MEM", "PREFIX", "INTCAST", "FLOATCAST",
739 "FFUNCTION", "FCONSTANT", "FVARIABLE", "BUTTON", "CHECKBOX", "VSLIDER",
740 "HSLIDER", "NENTRY", "VGROUP", "HGROUP", "TGROUP", "HBARGRAPH",
741 "VBARGRAPH", "ATTACH", "ACOS", "ASIN", "ATAN", "ATAN2", "COS", "SIN",
742 "TAN", "EXP", "LOG", "LOG10", "POWFUN", "SQRT", "ABS", "MIN", "MAX",
743 "FMOD", "REMAINDER", "FLOOR", "CEIL", "RINT", "RDTBL", "RWTBL",
744 "SELECT2", "SELECT3", "INT", "FLOAT", "LAMBDA", "WIRE", "CUT", "ENDDEF",
745 "VIRG", "LPAR", "RPAR", "LBRAQ", "RBRAQ", "LCROC", "RCROC", "DEF",
746 "IMPORT", "COMPONENT", "LIBRARY", "ENVIRONMENT", "IPAR", "ISEQ", "ISUM",
747 "IPROD", "STRING", "FSTRING", "IDENT", "EXTRA", "DECLARE", "CASE",
748 "ARROW", "VECTORIZE", "SERIALIZE", "RATE", "UPSAMPLE", "DOWNSAMPLE",
749 "BDOC", "EDOC", "BEQN", "EEQN", "BDGM", "EDGM", "BLST", "ELST",
750 "BMETADATA", "EMETADATA", "DOCCHAR", "NOTICE", "LISTING", "LSTTRUE",
751 "LSTFALSE", "LSTDEPENDENCIES", "LSTMDOCTAGS", "LSTDISTRIBUTED", "LSTEQ",
752 "LSTQ", "$accept", "program", "stmtlist", "deflist", "statement", "doc",
753 "docelem", "doctxt", "doceqn", "docdgm", "docntc", "doclst",
754 "lstattrlist", "lstattrdef", "lstattrval", "docmtd", "definition",
755 "defname", "params", "expression", "infixexp", "primitive", "ident",
756 "name", "arglist", "argument", "string", "uqstring", "fstring", "fpar",
757 "fseq", "fsum", "fprod", "ffunction", "fconst", "fvariable", "button",
758 "checkbox", "vslider", "hslider", "nentry", "vgroup", "hgroup", "tgroup",
759 "vbargraph", "hbargraph", "signature", "fun", "typelist", "rulelist",
765 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
767 static const yytype_uint16 yytoknum
[] =
769 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
770 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
771 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
772 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
773 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
774 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
775 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
776 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
777 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
778 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
779 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
780 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
781 375, 376, 377, 378, 379, 380, 381
785 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
786 static const yytype_uint8 yyr1
[] =
788 0, 127, 128, 129, 129, 130, 130, 131, 131, 131,
789 131, 132, 132, 133, 133, 133, 133, 133, 133, 134,
790 134, 135, 136, 137, 138, 139, 139, 140, 140, 140,
791 141, 141, 142, 143, 143, 143, 144, 145, 145, 146,
792 146, 146, 146, 146, 146, 146, 147, 147, 147, 147,
793 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
794 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
795 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
796 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
797 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
798 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
799 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
800 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
801 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
802 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
803 148, 148, 148, 148, 148, 148, 148, 149, 150, 151,
804 151, 152, 152, 152, 152, 152, 153, 154, 155, 155,
805 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
806 166, 167, 168, 169, 170, 171, 172, 173, 173, 174,
807 175, 175, 176, 176, 177, 178, 178
810 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
811 static const yytype_uint8 yyr2
[] =
813 0, 2, 1, 0, 2, 0, 2, 5, 4, 1,
814 3, 0, 2, 1, 1, 1, 1, 1, 1, 0,
815 2, 3, 3, 1, 3, 0, 2, 5, 5, 5,
816 1, 1, 3, 7, 4, 2, 1, 1, 3, 5,
817 3, 3, 3, 3, 3, 1, 3, 3, 3, 3,
818 3, 3, 3, 2, 3, 3, 3, 3, 3, 3,
819 3, 3, 3, 3, 3, 3, 3, 4, 4, 1,
820 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
821 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
822 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
823 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
824 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
825 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
826 2, 3, 1, 2, 3, 8, 4, 1, 1, 1,
827 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
828 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
829 3, 3, 3, 3, 3, 1, 1, 1, 1, 1,
830 8, 8, 8, 8, 8, 7, 7, 4, 4, 12,
831 12, 12, 6, 6, 6, 8, 8, 5, 4, 1,
835 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
836 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
837 means the default is an error. */
838 static const yytype_uint8 yydefact
[] =
840 3, 0, 0, 1, 0, 0, 157, 0, 11, 4,
841 9, 0, 36, 35, 0, 158, 0, 19, 0, 0,
842 167, 0, 166, 0, 10, 0, 0, 25, 0, 23,
843 12, 13, 14, 15, 16, 17, 18, 98, 96, 95,
844 97, 94, 93, 89, 83, 82, 92, 91, 90, 88,
845 86, 85, 84, 110, 87, 127, 78, 79, 80, 81,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847 0, 0, 0, 99, 100, 101, 102, 103, 104, 105,
848 106, 107, 108, 109, 111, 112, 113, 114, 115, 116,
849 117, 118, 119, 120, 121, 122, 123, 124, 70, 71,
850 0, 76, 77, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 125, 126, 128, 129, 165, 69, 132,
852 0, 159, 153, 154, 155, 156, 137, 138, 139, 143,
853 144, 145, 146, 147, 148, 149, 150, 151, 152, 0,
854 45, 0, 8, 0, 0, 0, 0, 20, 74, 75,
855 133, 72, 73, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 0, 0, 0, 0, 130, 0,
857 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
859 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
860 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 34, 7, 21, 22, 24, 0, 0,
862 0, 26, 32, 195, 196, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 37, 134, 131, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 192, 65, 63, 62, 64, 61, 60, 56,
866 47, 46, 59, 58, 57, 55, 50, 49, 48, 51,
867 52, 54, 66, 0, 0, 160, 0, 163, 162, 161,
868 164, 5, 43, 42, 41, 40, 44, 0, 0, 0,
869 0, 189, 0, 0, 0, 177, 178, 0, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 140, 141, 142,
871 6, 0, 0, 0, 0, 0, 136, 193, 67, 68,
872 0, 0, 0, 0, 0, 168, 169, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
874 0, 0, 0, 0, 0, 0, 33, 39, 30, 31,
875 0, 0, 0, 0, 188, 0, 190, 0, 0, 0,
876 0, 0, 182, 183, 184, 0, 0, 0, 0, 0,
877 0, 0, 0, 27, 28, 29, 0, 0, 187, 175,
878 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 174, 191, 0, 0, 0, 186, 185, 135,
880 170, 171, 172, 173, 194, 0, 0, 0, 0, 0,
881 0, 0, 0, 0, 179, 180, 181
884 /* YYDEFGOTO[NTERM-NUM]. */
885 static const yytype_int16 yydefgoto
[] =
887 -1, 1, 2, 245, 9, 17, 30, 31, 32, 33,
888 34, 35, 145, 221, 350, 36, 310, 11, 239, 139,
889 117, 118, 119, 16, 120, 121, 23, 21, 327, 122,
890 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
891 133, 134, 135, 136, 137, 138, 225, 292, 355, 251,
895 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
897 #define YYPACT_NINF -180
898 static const yytype_int16 yypact
[] =
900 -180, 24, 8, -180, -67, -42, -180, -4, -180, -180,
901 -180, -43, -180, -180, 5, -180, 29, 183, 450, 450,
902 -180, 46, -180, 54, -180, 450, 450, -180, -4, -180,
903 -180, 26, -180, -180, -180, -180, -180, -180, -180, -180,
904 -180, -180, -180, -180, -15, 44, -180, -180, -180, -180,
905 -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
906 60, 98, 100, 114, 145, 155, 166, 171, 173, 179,
907 200, 205, 206, -180, -180, -180, -180, -180, -180, -180,
908 -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
909 -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
910 210, -180, -180, 450, 352, 213, 215, 217, 220, 222,
911 223, 236, 235, -180, -180, -180, -180, 570, -180, -180,
912 13, 306, -180, -180, -180, -180, -180, -180, -180, -180,
913 -180, -180, -180, -180, -180, -180, -180, -180, -180, 262,
914 570, 240, -180, 27, 11, 25, 207, -180, -180, -180,
915 -180, -180, -180, 97, 97, 97, 5, 5, 5, 5,
916 5, 5, 5, 5, 5, 5, 224, 41, -180, 548,
917 5, 5, -180, 224, 224, 224, 224, 242, 450, 450,
918 450, 450, 450, 450, 450, 450, 450, 450, 450, 450,
919 450, 450, 450, 450, 450, 450, -180, 224, 450, 450,
920 -180, 450, 233, 450, 450, 450, 450, 257, 450, 450,
921 450, 450, 450, -180, -180, -180, -180, -180, 199, 218,
922 255, -180, -180, -180, -180, 331, 245, -4, -4, 260,
923 264, 340, 374, 423, 424, 426, 427, 428, 431, 15,
924 -180, -180, -180, 358, 366, 4, 441, 443, 444, 446,
925 450, -44, -180, 586, 586, 586, 586, 586, 586, 599,
926 599, 599, 609, 609, 609, 609, 609, 609, 609, 614,
927 61, -180, 62, 22, 1, 306, 450, 306, 306, 91,
928 -180, -180, 203, 203, 73, 150, -180, 330, 351, 353,
929 89, -180, 398, 521, 522, -180, -180, 450, 450, 450,
930 450, 450, 450, 450, 450, 224, 503, -180, -180, -180,
931 -180, 450, 450, 450, 450, 33, -180, -180, -180, -180,
932 268, 9, 107, 107, 107, -180, -180, 525, 23, 89,
933 89, 322, 328, 641, 47, 57, 63, 651, 656, -180,
934 453, 667, 680, 711, 716, 434, -180, -180, -180, -180,
935 410, 411, 419, 29, -180, 35, -180, 465, 467, 450,
936 450, 450, -180, -180, -180, 450, 450, 450, 450, 450,
937 450, 450, 450, -180, -180, -180, 468, 97, -180, -180,
938 -180, 721, 726, 731, 198, 239, 69, 105, 148, 216,
939 234, 301, -180, -180, 450, 450, 450, -180, -180, -180,
940 -180, -180, -180, -180, -180, 736, 741, 746, 450, 450,
941 450, 244, 250, 256, -180, -180, -180
944 /* YYPGOTO[NTERM-NUM]. */
945 static const yytype_int16 yypgoto
[] =
947 -180, -180, -180, -179, -180, -180, -180, -180, -180, -180,
948 -180, -180, -180, -180, -90, -180, 549, -180, -180, -13,
949 -19, -180, 39, -27, -121, -178, 201, 543, -52, -180,
950 -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
951 -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
955 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
956 positive, shift that token. If negative, reduce the rule which
957 number is the opposite. If zero, do what YYDEFACT says.
958 If YYTABLE_NINF, syntax error. */
959 #define YYTABLE_NINF -3
960 static const yytype_int16 yytable
[] =
962 140, 146, 4, 227, 228, 4, 140, 140, -2, 4,
963 4, 13, 143, 144, 207, 208, 209, 210, 211, 212,
964 201, 274, 305, 275, 3, 277, 278, 279, 280, 201,
965 207, 208, 209, 210, 211, 212, 250, 18, 14, 316,
966 201, 12, 377, 19, 207, 208, 209, 210, 211, 212,
967 207, 208, 209, 210, 211, 212, 223, 224, 148, 149,
968 207, 208, 209, 210, 211, 212, 207, 208, 209, 210,
969 211, 212, 207, 208, 209, 210, 211, 212, 273, 210,
970 211, 212, 6, 150, 140, 169, 319, 309, 196, 197,
971 167, 198, 347, 15, 202, 5, 306, 205, 6, 206,
972 20, 6, 321, 318, 354, 6, 6, 7, 207, 208,
973 209, 210, 211, 212, 345, 8, 378, 151, 152, 331,
974 332, 333, 241, 216, 22, 337, 338, 141, 362, 315,
975 223, 224, 142, 341, 342, 343, 344, 215, 363, 217,
976 153, 199, 199, 147, 364, 200, 200, 218, 219, 220,
977 399, 207, 208, 209, 210, 211, 212, 211, 212, 253,
978 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
979 264, 265, 266, 267, 268, 269, 270, 356, 154, 272,
980 155, 381, 382, 383, 325, 326, 400, 384, 385, 140,
981 140, 140, 140, 140, 156, 282, 283, 284, 285, 286,
982 293, 294, 203, 204, 205, 240, 206, 208, 209, 210,
983 211, 212, 246, 247, 248, 249, 405, 406, 407, 207,
984 208, 209, 210, 211, 212, 157, 393, 348, 349, 401,
985 411, 412, 413, 351, 352, 158, 271, 207, 208, 209,
986 210, 211, 212, 203, 204, 205, 159, 206, 203, 204,
987 205, 160, 206, 161, 203, 204, 205, 140, 206, 162,
988 203, 204, 205, 320, 206, 207, 208, 209, 210, 211,
989 212, 207, 208, 209, 210, 211, 212, 357, 358, 397,
990 163, 140, 140, 140, 12, 164, 165, 334, 335, 336,
991 166, 24, 25, 170, 26, 171, 27, 402, 28, 172,
992 173, 29, 174, 175, 207, 208, 209, 210, 211, 212,
993 203, 204, 205, 12, 206, 403, 176, 177, 214, 276,
994 398, 6, 250, 222, 287, 414, 203, 204, 205, 359,
995 206, 415, 203, 204, 205, 360, 206, 416, 290, 281,
996 213, 295, 291, 288, 339, 296, 346, 297, 140, 140,
997 140, 140, 140, 140, 386, 387, 388, 389, 390, 391,
998 12, 37, 38, 39, 40, 41, 42, 43, 44, 45,
999 46, 47, 48, 49, 50, 51, 52, 53, 54, 404,
1000 289, 298, 55, 56, 57, 58, 59, 60, 61, 62,
1001 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1002 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1003 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1004 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1005 299, 300, 103, 301, 302, 303, 104, 168, 304, 307,
1006 105, 106, 107, 108, 109, 110, 111, 308, 311, 6,
1007 312, 313, 112, 314, 113, 114, 322, 115, 116, 37,
1008 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1009 48, 49, 50, 51, 52, 53, 54, 323, 328, 324,
1010 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1011 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1012 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1013 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1014 95, 96, 97, 98, 99, 100, 101, 102, 329, 330,
1015 103, 340, 353, 367, 104, 372, 373, 374, 105, 106,
1016 107, 108, 109, 110, 111, 375, 379, 6, 380, 392,
1017 112, 10, 113, 114, 376, 115, 116, 178, 179, 180,
1018 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1019 191, 192, 193, 194, 195, 196, 197, 317, 198, 178,
1020 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1021 189, 190, 191, 192, 193, 194, 195, 196, 197, 0,
1022 198, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1023 193, 194, 195, 196, 197, 0, 198, 187, 188, 189,
1024 190, 191, 192, 193, 194, 195, 196, 197, 199, 198,
1025 0, 0, 200, 242, 194, 195, 196, 197, 0, 198,
1026 195, 196, 197, 0, 198, 203, 204, 205, 361, 206,
1027 199, 0, 0, 0, 200, 203, 204, 205, 365, 206,
1028 203, 204, 205, 366, 206, 0, 199, 0, 0, 0,
1029 200, 203, 204, 205, 368, 206, 0, 0, 0, 199,
1030 0, 0, 0, 200, 203, 204, 205, 369, 206, 199,
1031 0, 0, 0, 200, 199, 0, 0, 0, 200, 229,
1032 230, 231, 232, 233, 234, 235, 236, 237, 238, 0,
1033 0, 0, 0, 243, 244, 203, 204, 205, 370, 206,
1034 203, 204, 205, 371, 206, 203, 204, 205, 394, 206,
1035 203, 204, 205, 395, 206, 203, 204, 205, 396, 206,
1036 203, 204, 205, 408, 206, 203, 204, 205, 409, 206,
1037 203, 204, 205, 410, 206
1040 static const yytype_int16 yycheck
[] =
1042 19, 28, 1, 154, 155, 1, 25, 26, 0, 1,
1043 1, 78, 25, 26, 3, 4, 5, 6, 7, 8,
1044 7, 200, 7, 201, 0, 203, 204, 205, 206, 7,
1045 3, 4, 5, 6, 7, 8, 80, 80, 80, 83,
1046 7, 2, 7, 86, 3, 4, 5, 6, 7, 8,
1047 3, 4, 5, 6, 7, 8, 33, 34, 73, 74,
1048 3, 4, 5, 6, 7, 8, 3, 4, 5, 6,
1049 7, 8, 3, 4, 5, 6, 7, 8, 199, 6,
1050 7, 8, 97, 44, 103, 104, 85, 83, 27, 28,
1051 103, 30, 83, 97, 81, 87, 81, 6, 97, 8,
1052 95, 97, 281, 81, 81, 97, 97, 99, 3, 4,
1053 5, 6, 7, 8, 81, 107, 81, 73, 74, 297,
1054 298, 299, 81, 112, 95, 303, 304, 81, 81, 250,
1055 33, 34, 78, 311, 312, 313, 314, 110, 81, 114,
1056 80, 80, 80, 117, 81, 84, 84, 122, 123, 124,
1057 81, 3, 4, 5, 6, 7, 8, 7, 8, 178,
1058 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1059 189, 190, 191, 192, 193, 194, 195, 328, 80, 198,
1060 80, 359, 360, 361, 95, 96, 81, 365, 366, 208,
1061 209, 210, 211, 212, 80, 208, 209, 210, 211, 212,
1062 227, 228, 4, 5, 6, 166, 8, 4, 5, 6,
1063 7, 8, 173, 174, 175, 176, 394, 395, 396, 3,
1064 4, 5, 6, 7, 8, 80, 377, 120, 121, 81,
1065 408, 409, 410, 323, 324, 80, 197, 3, 4, 5,
1066 6, 7, 8, 4, 5, 6, 80, 8, 4, 5,
1067 6, 80, 8, 80, 4, 5, 6, 276, 8, 80,
1068 4, 5, 6, 276, 8, 3, 4, 5, 6, 7,
1069 8, 3, 4, 5, 6, 7, 8, 329, 330, 81,
1070 80, 300, 301, 302, 245, 80, 80, 300, 301, 302,
1071 80, 108, 109, 80, 111, 80, 113, 81, 115, 82,
1072 80, 118, 80, 80, 3, 4, 5, 6, 7, 8,
1073 4, 5, 6, 274, 8, 81, 80, 82, 78, 86,
1074 81, 97, 80, 116, 125, 81, 4, 5, 6, 7,
1075 8, 81, 4, 5, 6, 7, 8, 81, 7, 82,
1076 78, 81, 97, 125, 305, 81, 78, 7, 367, 368,
1077 369, 370, 371, 372, 367, 368, 369, 370, 371, 372,
1078 321, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1079 18, 19, 20, 21, 22, 23, 24, 25, 26, 78,
1080 125, 7, 30, 31, 32, 33, 34, 35, 36, 37,
1081 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1082 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1083 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1084 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1085 7, 7, 80, 7, 7, 7, 84, 85, 7, 81,
1086 88, 89, 90, 91, 92, 93, 94, 81, 7, 97,
1087 7, 7, 100, 7, 102, 103, 126, 105, 106, 9,
1088 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1089 20, 21, 22, 23, 24, 25, 26, 126, 80, 126,
1090 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1091 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1092 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1093 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1094 70, 71, 72, 73, 74, 75, 76, 77, 7, 7,
1095 80, 28, 7, 80, 84, 101, 126, 126, 88, 89,
1096 90, 91, 92, 93, 94, 126, 81, 97, 81, 81,
1097 100, 2, 102, 103, 353, 105, 106, 9, 10, 11,
1098 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1099 22, 23, 24, 25, 26, 27, 28, 251, 30, 9,
1100 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1101 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
1102 30, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1103 24, 25, 26, 27, 28, -1, 30, 18, 19, 20,
1104 21, 22, 23, 24, 25, 26, 27, 28, 80, 30,
1105 -1, -1, 84, 85, 25, 26, 27, 28, -1, 30,
1106 26, 27, 28, -1, 30, 4, 5, 6, 7, 8,
1107 80, -1, -1, -1, 84, 4, 5, 6, 7, 8,
1108 4, 5, 6, 7, 8, -1, 80, -1, -1, -1,
1109 84, 4, 5, 6, 7, 8, -1, -1, -1, 80,
1110 -1, -1, -1, 84, 4, 5, 6, 7, 8, 80,
1111 -1, -1, -1, 84, 80, -1, -1, -1, 84, 156,
1112 157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
1113 -1, -1, -1, 170, 171, 4, 5, 6, 7, 8,
1114 4, 5, 6, 7, 8, 4, 5, 6, 7, 8,
1115 4, 5, 6, 7, 8, 4, 5, 6, 7, 8,
1116 4, 5, 6, 7, 8, 4, 5, 6, 7, 8,
1120 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1121 symbol of state STATE-NUM. */
1122 static const yytype_uint8 yystos
[] =
1124 0, 128, 129, 0, 1, 87, 97, 99, 107, 131,
1125 143, 144, 149, 78, 80, 97, 150, 132, 80, 86,
1126 95, 154, 95, 153, 108, 109, 111, 113, 115, 118,
1127 133, 134, 135, 136, 137, 138, 142, 9, 10, 11,
1128 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1129 22, 23, 24, 25, 26, 30, 31, 32, 33, 34,
1130 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1131 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1132 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1133 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1134 75, 76, 77, 80, 84, 88, 89, 90, 91, 92,
1135 93, 94, 100, 102, 103, 105, 106, 147, 148, 149,
1136 151, 152, 156, 157, 158, 159, 160, 161, 162, 163,
1137 164, 165, 166, 167, 168, 169, 170, 171, 172, 146,
1138 147, 81, 78, 146, 146, 139, 150, 117, 73, 74,
1139 149, 73, 74, 80, 80, 80, 80, 80, 80, 80,
1140 80, 80, 80, 80, 80, 80, 80, 146, 85, 147,
1141 80, 80, 82, 80, 80, 80, 80, 82, 9, 10,
1142 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1143 21, 22, 23, 24, 25, 26, 27, 28, 30, 80,
1144 84, 7, 81, 4, 5, 6, 8, 3, 4, 5,
1145 6, 7, 8, 78, 78, 110, 112, 114, 122, 123,
1146 124, 140, 116, 33, 34, 173, 178, 178, 178, 154,
1147 154, 154, 154, 154, 154, 154, 154, 154, 154, 145,
1148 149, 81, 85, 154, 154, 130, 149, 149, 149, 149,
1149 80, 176, 177, 147, 147, 147, 147, 147, 147, 147,
1150 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
1151 147, 149, 147, 151, 130, 152, 86, 152, 152, 152,
1152 152, 82, 146, 146, 146, 146, 146, 125, 125, 125,
1153 7, 97, 174, 150, 150, 81, 81, 7, 7, 7,
1154 7, 7, 7, 7, 7, 7, 81, 81, 81, 83,
1155 143, 7, 7, 7, 7, 151, 83, 177, 81, 85,
1156 146, 130, 126, 126, 126, 95, 96, 155, 80, 7,
1157 7, 152, 152, 152, 146, 146, 146, 152, 152, 149,
1158 28, 152, 152, 152, 152, 81, 78, 83, 120, 121,
1159 141, 141, 141, 7, 81, 175, 178, 155, 155, 7,
1160 7, 7, 81, 81, 81, 7, 7, 80, 7, 7,
1161 7, 7, 101, 126, 126, 126, 153, 7, 81, 81,
1162 81, 152, 152, 152, 152, 152, 146, 146, 146, 146,
1163 146, 146, 81, 178, 7, 7, 7, 81, 81, 81,
1164 81, 81, 81, 81, 78, 152, 152, 152, 7, 7,
1165 7, 152, 152, 152, 81, 81, 81
1168 #define yyerrok (yyerrstatus = 0)
1169 #define yyclearin (yychar = YYEMPTY)
1170 #define YYEMPTY (-2)
1173 #define YYACCEPT goto yyacceptlab
1174 #define YYABORT goto yyabortlab
1175 #define YYERROR goto yyerrorlab
1178 /* Like YYERROR except do call yyerror. This remains here temporarily
1179 to ease the transition to the new meaning of YYERROR, for GCC.
1180 Once GCC version 2 has supplanted version 1, this can go. */
1182 #define YYFAIL goto yyerrlab
1184 #define YYRECOVERING() (!!yyerrstatus)
1186 #define YYBACKUP(Token, Value) \
1188 if (yychar == YYEMPTY && yylen == 1) \
1192 yytoken = YYTRANSLATE (yychar); \
1198 yyerror (YY_("syntax error: cannot back up")); \
1205 #define YYERRCODE 256
1208 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1209 If N is 0, then set CURRENT to the empty location which ends
1210 the previous symbol: RHS[0] (always defined). */
1212 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1213 #ifndef YYLLOC_DEFAULT
1214 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1218 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1219 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1220 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1221 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1225 (Current).first_line = (Current).last_line = \
1226 YYRHSLOC (Rhs, 0).last_line; \
1227 (Current).first_column = (Current).last_column = \
1228 YYRHSLOC (Rhs, 0).last_column; \
1234 /* YY_LOCATION_PRINT -- Print the location on the stream.
1235 This macro was not mandated originally: define only if we know
1236 we won't break user code: when these are the locations we know. */
1238 #ifndef YY_LOCATION_PRINT
1239 # if YYLTYPE_IS_TRIVIAL
1240 # define YY_LOCATION_PRINT(File, Loc) \
1241 fprintf (File, "%d.%d-%d.%d", \
1242 (Loc).first_line, (Loc).first_column, \
1243 (Loc).last_line, (Loc).last_column)
1245 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1250 /* YYLEX -- calling `yylex' with the right arguments. */
1253 # define YYLEX yylex (YYLEX_PARAM)
1255 # define YYLEX yylex ()
1258 /* Enable debugging if requested. */
1262 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1263 # define YYFPRINTF fprintf
1266 # define YYDPRINTF(Args) \
1272 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1276 YYFPRINTF (stderr, "%s ", Title); \
1277 yy_symbol_print (stderr, \
1279 YYFPRINTF (stderr, "\n"); \
1284 /*--------------------------------.
1285 | Print this symbol on YYOUTPUT. |
1286 `--------------------------------*/
1289 #if (defined __STDC__ || defined __C99__FUNC__ \
1290 || defined __cplusplus || defined _MSC_VER)
1292 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
)
1295 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
)
1298 YYSTYPE
const * const yyvaluep
;
1304 if (yytype
< YYNTOKENS
)
1305 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
1317 /*--------------------------------.
1318 | Print this symbol on YYOUTPUT. |
1319 `--------------------------------*/
1321 #if (defined __STDC__ || defined __C99__FUNC__ \
1322 || defined __cplusplus || defined _MSC_VER)
1324 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
)
1327 yy_symbol_print (yyoutput
, yytype
, yyvaluep
)
1330 YYSTYPE
const * const yyvaluep
;
1333 if (yytype
< YYNTOKENS
)
1334 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
1336 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
1338 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
);
1339 YYFPRINTF (yyoutput
, ")");
1342 /*------------------------------------------------------------------.
1343 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1345 `------------------------------------------------------------------*/
1347 #if (defined __STDC__ || defined __C99__FUNC__ \
1348 || defined __cplusplus || defined _MSC_VER)
1350 yy_stack_print (yytype_int16
*yybottom
, yytype_int16
*yytop
)
1353 yy_stack_print (yybottom
, yytop
)
1354 yytype_int16
*yybottom
;
1355 yytype_int16
*yytop
;
1358 YYFPRINTF (stderr
, "Stack now");
1359 for (; yybottom
<= yytop
; yybottom
++)
1361 int yybot
= *yybottom
;
1362 YYFPRINTF (stderr
, " %d", yybot
);
1364 YYFPRINTF (stderr
, "\n");
1367 # define YY_STACK_PRINT(Bottom, Top) \
1370 yy_stack_print ((Bottom), (Top)); \
1374 /*------------------------------------------------.
1375 | Report that the YYRULE is going to be reduced. |
1376 `------------------------------------------------*/
1378 #if (defined __STDC__ || defined __C99__FUNC__ \
1379 || defined __cplusplus || defined _MSC_VER)
1381 yy_reduce_print (YYSTYPE
*yyvsp
, int yyrule
)
1384 yy_reduce_print (yyvsp
, yyrule
)
1389 int yynrhs
= yyr2
[yyrule
];
1391 unsigned long int yylno
= yyrline
[yyrule
];
1392 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu):\n",
1394 /* The symbols being reduced. */
1395 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
1397 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
1398 yy_symbol_print (stderr
, yyrhs
[yyprhs
[yyrule
] + yyi
],
1399 &(yyvsp
[(yyi
+ 1) - (yynrhs
)])
1401 YYFPRINTF (stderr
, "\n");
1405 # define YY_REDUCE_PRINT(Rule) \
1408 yy_reduce_print (yyvsp, Rule); \
1411 /* Nonzero means print parse trace. It is left uninitialized so that
1412 multiple parsers can coexist. */
1414 #else /* !YYDEBUG */
1415 # define YYDPRINTF(Args)
1416 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1417 # define YY_STACK_PRINT(Bottom, Top)
1418 # define YY_REDUCE_PRINT(Rule)
1419 #endif /* !YYDEBUG */
1422 /* YYINITDEPTH -- initial size of the parser's stacks. */
1424 # define YYINITDEPTH 200
1427 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1428 if the built-in stack extension method is used).
1430 Do not make this value too large; the results are undefined if
1431 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1432 evaluated with infinite-precision integer arithmetic. */
1435 # define YYMAXDEPTH 10000
1443 # if defined __GLIBC__ && defined _STRING_H
1444 # define yystrlen strlen
1446 /* Return the length of YYSTR. */
1447 #if (defined __STDC__ || defined __C99__FUNC__ \
1448 || defined __cplusplus || defined _MSC_VER)
1450 yystrlen (const char *yystr
)
1458 for (yylen
= 0; yystr
[yylen
]; yylen
++)
1466 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1467 # define yystpcpy stpcpy
1469 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1471 #if (defined __STDC__ || defined __C99__FUNC__ \
1472 || defined __cplusplus || defined _MSC_VER)
1474 yystpcpy (char *yydest
, const char *yysrc
)
1477 yystpcpy (yydest
, yysrc
)
1483 const char *yys
= yysrc
;
1485 while ((*yyd
++ = *yys
++) != '\0')
1494 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1495 quotes and backslashes, so that it's suitable for yyerror. The
1496 heuristic is that double-quoting is unnecessary unless the string
1497 contains an apostrophe, a comma, or backslash (other than
1498 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1499 null, do not copy; instead, return the length of what the result
1502 yytnamerr (char *yyres
, const char *yystr
)
1507 char const *yyp
= yystr
;
1514 goto do_not_strip_quotes
;
1518 goto do_not_strip_quotes
;
1531 do_not_strip_quotes
: ;
1535 return yystrlen (yystr
);
1537 return yystpcpy (yyres
, yystr
) - yyres
;
1541 /* Copy into YYRESULT an error message about the unexpected token
1542 YYCHAR while in state YYSTATE. Return the number of bytes copied,
1543 including the terminating null byte. If YYRESULT is null, do not
1544 copy anything; just return the number of bytes that would be
1545 copied. As a special case, return 0 if an ordinary "syntax error"
1546 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
1547 size calculation. */
1549 yysyntax_error (char *yyresult
, int yystate
, int yychar
)
1551 int yyn
= yypact
[yystate
];
1553 if (! (YYPACT_NINF
< yyn
&& yyn
<= YYLAST
))
1557 int yytype
= YYTRANSLATE (yychar
);
1558 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytype
]);
1559 YYSIZE_T yysize
= yysize0
;
1561 int yysize_overflow
= 0;
1562 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
1563 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
1567 /* This is so xgettext sees the translatable formats that are
1568 constructed on the fly. */
1569 YY_("syntax error, unexpected %s");
1570 YY_("syntax error, unexpected %s, expecting %s");
1571 YY_("syntax error, unexpected %s, expecting %s or %s");
1572 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1573 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1577 static char const yyunexpected
[] = "syntax error, unexpected %s";
1578 static char const yyexpecting
[] = ", expecting %s";
1579 static char const yyor
[] = " or %s";
1580 char yyformat
[sizeof yyunexpected
1581 + sizeof yyexpecting
- 1
1582 + ((YYERROR_VERBOSE_ARGS_MAXIMUM
- 2)
1583 * (sizeof yyor
- 1))];
1584 char const *yyprefix
= yyexpecting
;
1586 /* Start YYX at -YYN if negative to avoid negative indexes in
1588 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
1590 /* Stay within bounds of both yycheck and yytname. */
1591 int yychecklim
= YYLAST
- yyn
+ 1;
1592 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
1595 yyarg
[0] = yytname
[yytype
];
1596 yyfmt
= yystpcpy (yyformat
, yyunexpected
);
1598 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
1599 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
)
1601 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
1605 yyformat
[sizeof yyunexpected
- 1] = '\0';
1608 yyarg
[yycount
++] = yytname
[yyx
];
1609 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
1610 yysize_overflow
|= (yysize1
< yysize
);
1612 yyfmt
= yystpcpy (yyfmt
, yyprefix
);
1616 yyf
= YY_(yyformat
);
1617 yysize1
= yysize
+ yystrlen (yyf
);
1618 yysize_overflow
|= (yysize1
< yysize
);
1621 if (yysize_overflow
)
1622 return YYSIZE_MAXIMUM
;
1626 /* Avoid sprintf, as that infringes on the user's name space.
1627 Don't have undefined behavior even if the translation
1628 produced a string with the wrong number of "%s"s. */
1629 char *yyp
= yyresult
;
1631 while ((*yyp
= *yyf
) != '\0')
1633 if (*yyp
== '%' && yyf
[1] == 's' && yyi
< yycount
)
1635 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
1648 #endif /* YYERROR_VERBOSE */
1651 /*-----------------------------------------------.
1652 | Release the memory associated to this symbol. |
1653 `-----------------------------------------------*/
1656 #if (defined __STDC__ || defined __C99__FUNC__ \
1657 || defined __cplusplus || defined _MSC_VER)
1659 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
)
1662 yydestruct (yymsg
, yytype
, yyvaluep
)
1672 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
1682 /* Prevent warnings from -Wmissing-prototypes. */
1683 #ifdef YYPARSE_PARAM
1684 #if defined __STDC__ || defined __cplusplus
1685 int yyparse (void *YYPARSE_PARAM
);
1689 #else /* ! YYPARSE_PARAM */
1690 #if defined __STDC__ || defined __cplusplus
1695 #endif /* ! YYPARSE_PARAM */
1698 /* The lookahead symbol. */
1701 /* The semantic value of the lookahead symbol. */
1704 /* Number of syntax errors so far. */
1709 /*-------------------------.
1710 | yyparse or yypush_parse. |
1711 `-------------------------*/
1713 #ifdef YYPARSE_PARAM
1714 #if (defined __STDC__ || defined __C99__FUNC__ \
1715 || defined __cplusplus || defined _MSC_VER)
1717 yyparse (void *YYPARSE_PARAM
)
1720 yyparse (YYPARSE_PARAM
)
1721 void *YYPARSE_PARAM
;
1723 #else /* ! YYPARSE_PARAM */
1724 #if (defined __STDC__ || defined __C99__FUNC__ \
1725 || defined __cplusplus || defined _MSC_VER)
1738 /* Number of tokens to shift before error messages enabled. */
1741 /* The stacks and their tools:
1742 `yyss': related to states.
1743 `yyvs': related to semantic values.
1745 Refer to the stacks thru separate pointers, to allow yyoverflow
1746 to reallocate them elsewhere. */
1748 /* The state stack. */
1749 yytype_int16 yyssa
[YYINITDEPTH
];
1751 yytype_int16
*yyssp
;
1753 /* The semantic value stack. */
1754 YYSTYPE yyvsa
[YYINITDEPTH
];
1758 YYSIZE_T yystacksize
;
1762 /* Lookahead token as an internal (translated) token number. */
1764 /* The variables used to return semantic value and location from the
1769 /* Buffer for error messages, and its allocated size. */
1771 char *yymsg
= yymsgbuf
;
1772 YYSIZE_T yymsg_alloc
= sizeof yymsgbuf
;
1775 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1777 /* The number of symbols on the RHS of the reduced rule.
1778 Keep to zero when no symbol should be popped. */
1784 yystacksize
= YYINITDEPTH
;
1786 YYDPRINTF ((stderr
, "Starting parse\n"));
1791 yychar
= YYEMPTY
; /* Cause a token to be read. */
1793 /* Initialize stack pointers.
1794 Waste one element of value and location stack
1795 so that they stay on the same level as the state stack.
1796 The wasted elements are never initialized. */
1802 /*------------------------------------------------------------.
1803 | yynewstate -- Push a new state, which is found in yystate. |
1804 `------------------------------------------------------------*/
1806 /* In all cases, when you get here, the value and location stacks
1807 have just been pushed. So pushing a state here evens the stacks. */
1813 if (yyss
+ yystacksize
- 1 <= yyssp
)
1815 /* Get the current used size of the three stacks, in elements. */
1816 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
1820 /* Give user a chance to reallocate the stack. Use copies of
1821 these so that the &'s don't force the real ones into
1823 YYSTYPE
*yyvs1
= yyvs
;
1824 yytype_int16
*yyss1
= yyss
;
1826 /* Each stack pointer address is followed by the size of the
1827 data in use in that stack, in bytes. This used to be a
1828 conditional around just the two extra args, but that might
1829 be undefined if yyoverflow is a macro. */
1830 yyoverflow (YY_("memory exhausted"),
1831 &yyss1
, yysize
* sizeof (*yyssp
),
1832 &yyvs1
, yysize
* sizeof (*yyvsp
),
1838 #else /* no yyoverflow */
1839 # ifndef YYSTACK_RELOCATE
1840 goto yyexhaustedlab
;
1842 /* Extend the stack our own way. */
1843 if (YYMAXDEPTH
<= yystacksize
)
1844 goto yyexhaustedlab
;
1846 if (YYMAXDEPTH
< yystacksize
)
1847 yystacksize
= YYMAXDEPTH
;
1850 yytype_int16
*yyss1
= yyss
;
1851 union yyalloc
*yyptr
=
1852 (union yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
1854 goto yyexhaustedlab
;
1855 YYSTACK_RELOCATE (yyss_alloc
, yyss
);
1856 YYSTACK_RELOCATE (yyvs_alloc
, yyvs
);
1857 # undef YYSTACK_RELOCATE
1859 YYSTACK_FREE (yyss1
);
1862 #endif /* no yyoverflow */
1864 yyssp
= yyss
+ yysize
- 1;
1865 yyvsp
= yyvs
+ yysize
- 1;
1867 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
1868 (unsigned long int) yystacksize
));
1870 if (yyss
+ yystacksize
- 1 <= yyssp
)
1874 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
1876 if (yystate
== YYFINAL
)
1886 /* Do appropriate processing given the current state. Read a
1887 lookahead token if we need one and don't already have one. */
1889 /* First try to decide what to do without reference to lookahead token. */
1890 yyn
= yypact
[yystate
];
1891 if (yyn
== YYPACT_NINF
)
1894 /* Not known => get a lookahead token if don't already have one. */
1896 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1897 if (yychar
== YYEMPTY
)
1899 YYDPRINTF ((stderr
, "Reading a token: "));
1903 if (yychar
<= YYEOF
)
1905 yychar
= yytoken
= YYEOF
;
1906 YYDPRINTF ((stderr
, "Now at end of input.\n"));
1910 yytoken
= YYTRANSLATE (yychar
);
1911 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
1914 /* If the proper action on seeing token YYTOKEN is to reduce or to
1915 detect an error, take that action. */
1917 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
1922 if (yyn
== 0 || yyn
== YYTABLE_NINF
)
1928 /* Count tokens shifted since error; after three, turn off error
1933 /* Shift the lookahead token. */
1934 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
1936 /* Discard the shifted token. */
1945 /*-----------------------------------------------------------.
1946 | yydefault -- do the default action for the current state. |
1947 `-----------------------------------------------------------*/
1949 yyn
= yydefact
[yystate
];
1955 /*-----------------------------.
1956 | yyreduce -- Do a reduction. |
1957 `-----------------------------*/
1959 /* yyn is the number of a rule to reduce with. */
1962 /* If YYLEN is nonzero, implement the default value of the action:
1965 Otherwise, the following line sets YYVAL to garbage.
1966 This behavior is undocumented and Bison
1967 users should not rely upon it. Assigning to YYVAL
1968 unconditionally makes the parser a bit smaller, and it avoids a
1969 GCC warning that YYVAL may be used uninitialized. */
1970 yyval
= yyvsp
[1-yylen
];
1973 YY_REDUCE_PRINT (yyn
);
1978 /* Line 1455 of yacc.c */
1979 #line 308 "parser/faustparser.y"
1980 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); gResult
= formatDefinitions((yyval
.exp
)); ;}
1985 /* Line 1455 of yacc.c */
1986 #line 311 "parser/faustparser.y"
1987 { (yyval
.exp
) = nil
; ;}
1992 /* Line 1455 of yacc.c */
1993 #line 312 "parser/faustparser.y"
1994 { (yyval
.exp
) = cons ((yyvsp
[(2) - (2)].exp
),(yyvsp
[(1) - (2)].exp
)); ;}
1999 /* Line 1455 of yacc.c */
2000 #line 314 "parser/faustparser.y"
2001 { (yyval
.exp
) = nil
; ;}
2006 /* Line 1455 of yacc.c */
2007 #line 315 "parser/faustparser.y"
2008 { (yyval
.exp
) = cons ((yyvsp
[(2) - (2)].exp
),(yyvsp
[(1) - (2)].exp
)); ;}
2013 /* Line 1455 of yacc.c */
2014 #line 318 "parser/faustparser.y"
2015 { (yyval
.exp
) = importFile((yyvsp
[(3) - (5)].exp
)); ;}
2020 /* Line 1455 of yacc.c */
2021 #line 319 "parser/faustparser.y"
2022 { declareMetadata((yyvsp
[(2) - (4)].exp
),(yyvsp
[(3) - (4)].exp
)); (yyval
.exp
) = nil
; ;}
2027 /* Line 1455 of yacc.c */
2028 #line 320 "parser/faustparser.y"
2029 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2034 /* Line 1455 of yacc.c */
2035 #line 321 "parser/faustparser.y"
2036 { declareDoc((yyvsp
[(2) - (3)].exp
)); (yyval
.exp
) = nil
; /* cerr << "Yacc : doc : " << *$2 << endl; */ ;}
2041 /* Line 1455 of yacc.c */
2042 #line 324 "parser/faustparser.y"
2043 { (yyval
.exp
) = nil
; ;}
2048 /* Line 1455 of yacc.c */
2049 #line 325 "parser/faustparser.y"
2050 { (yyval
.exp
) = cons ((yyvsp
[(2) - (2)].exp
),(yyvsp
[(1) - (2)].exp
)); ;}
2055 /* Line 1455 of yacc.c */
2056 #line 328 "parser/faustparser.y"
2057 { (yyval
.exp
) = docTxt((yyvsp
[(1) - (1)].cppstr
)->c_str()); delete (yyvsp
[(1) - (1)].cppstr
); ;}
2062 /* Line 1455 of yacc.c */
2063 #line 329 "parser/faustparser.y"
2064 { (yyval
.exp
) = docEqn((yyvsp
[(1) - (1)].exp
)); ;}
2069 /* Line 1455 of yacc.c */
2070 #line 330 "parser/faustparser.y"
2071 { (yyval
.exp
) = docDgm((yyvsp
[(1) - (1)].exp
)); ;}
2076 /* Line 1455 of yacc.c */
2077 #line 331 "parser/faustparser.y"
2078 { (yyval
.exp
) = docNtc(); ;}
2083 /* Line 1455 of yacc.c */
2084 #line 332 "parser/faustparser.y"
2085 { (yyval
.exp
) = docLst(); ;}
2090 /* Line 1455 of yacc.c */
2091 #line 333 "parser/faustparser.y"
2092 { (yyval
.exp
) = docMtd((yyvsp
[(1) - (1)].exp
)); ;}
2097 /* Line 1455 of yacc.c */
2098 #line 336 "parser/faustparser.y"
2099 { (yyval
.cppstr
) = new string(); ;}
2104 /* Line 1455 of yacc.c */
2105 #line 337 "parser/faustparser.y"
2106 { (yyval
.cppstr
) = &((yyvsp
[(1) - (2)].cppstr
)->append(yytext
)); ;}
2111 /* Line 1455 of yacc.c */
2112 #line 340 "parser/faustparser.y"
2113 { (yyval
.exp
) = (yyvsp
[(2) - (3)].exp
); ;}
2118 /* Line 1455 of yacc.c */
2119 #line 343 "parser/faustparser.y"
2120 { (yyval
.exp
) = (yyvsp
[(2) - (3)].exp
); ;}
2125 /* Line 1455 of yacc.c */
2126 #line 346 "parser/faustparser.y"
2132 /* Line 1455 of yacc.c */
2133 #line 349 "parser/faustparser.y"
2139 /* Line 1455 of yacc.c */
2140 #line 352 "parser/faustparser.y"
2146 /* Line 1455 of yacc.c */
2147 #line 353 "parser/faustparser.y"
2153 /* Line 1455 of yacc.c */
2154 #line 356 "parser/faustparser.y"
2155 { gLstDependenciesSwitch
= (yyvsp
[(4) - (5)].b
); ;}
2160 /* Line 1455 of yacc.c */
2161 #line 357 "parser/faustparser.y"
2162 { gStripDocSwitch
= (yyvsp
[(4) - (5)].b
); gStripDocSwitch
==true ? gStripDocSwitch
=false : gStripDocSwitch
=true; ;}
2167 /* Line 1455 of yacc.c */
2168 #line 358 "parser/faustparser.y"
2169 { gLstDistributedSwitch
= (yyvsp
[(4) - (5)].b
); ;}
2174 /* Line 1455 of yacc.c */
2175 #line 361 "parser/faustparser.y"
2176 { (yyval
.b
) = true; ;}
2181 /* Line 1455 of yacc.c */
2182 #line 362 "parser/faustparser.y"
2183 { (yyval
.b
) = false; ;}
2188 /* Line 1455 of yacc.c */
2189 #line 365 "parser/faustparser.y"
2190 { (yyval
.exp
) = (yyvsp
[(2) - (3)].exp
); ;}
2195 /* Line 1455 of yacc.c */
2196 #line 368 "parser/faustparser.y"
2197 { (yyval
.exp
) = cons((yyvsp
[(1) - (7)].exp
),cons((yyvsp
[(3) - (7)].exp
),(yyvsp
[(6) - (7)].exp
))); ;}
2202 /* Line 1455 of yacc.c */
2203 #line 369 "parser/faustparser.y"
2204 { (yyval
.exp
) = cons((yyvsp
[(1) - (4)].exp
),cons(nil
,(yyvsp
[(3) - (4)].exp
))); ;}
2209 /* Line 1455 of yacc.c */
2210 #line 370 "parser/faustparser.y"
2211 { (yyval
.exp
) = nil
; yyerr
++; ;}
2216 /* Line 1455 of yacc.c */
2217 #line 373 "parser/faustparser.y"
2218 { (yyval
.exp
)=(yyvsp
[(1) - (1)].exp
); setDefProp((yyvsp
[(1) - (1)].exp
), yyfilename
, yylineno
); ;}
2223 /* Line 1455 of yacc.c */
2224 #line 376 "parser/faustparser.y"
2225 { (yyval
.exp
) = cons((yyvsp
[(1) - (1)].exp
),nil
); ;}
2230 /* Line 1455 of yacc.c */
2231 #line 377 "parser/faustparser.y"
2232 { (yyval
.exp
) = cons((yyvsp
[(3) - (3)].exp
),(yyvsp
[(1) - (3)].exp
)); ;}
2237 /* Line 1455 of yacc.c */
2238 #line 380 "parser/faustparser.y"
2239 { (yyval
.exp
) = boxWithLocalDef((yyvsp
[(1) - (5)].exp
),formatDefinitions((yyvsp
[(4) - (5)].exp
))); ;}
2244 /* Line 1455 of yacc.c */
2245 #line 381 "parser/faustparser.y"
2246 { (yyval
.exp
) = boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2251 /* Line 1455 of yacc.c */
2252 #line 382 "parser/faustparser.y"
2253 { (yyval
.exp
) = boxSeq((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2258 /* Line 1455 of yacc.c */
2259 #line 383 "parser/faustparser.y"
2260 { (yyval
.exp
) = boxSplit((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2265 /* Line 1455 of yacc.c */
2266 #line 384 "parser/faustparser.y"
2267 { (yyval
.exp
) = boxMerge((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2272 /* Line 1455 of yacc.c */
2273 #line 385 "parser/faustparser.y"
2274 { (yyval
.exp
) = boxRec((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2279 /* Line 1455 of yacc.c */
2280 #line 386 "parser/faustparser.y"
2281 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2286 /* Line 1455 of yacc.c */
2287 #line 389 "parser/faustparser.y"
2288 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigAdd
)); ;}
2293 /* Line 1455 of yacc.c */
2294 #line 390 "parser/faustparser.y"
2295 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigSub
)); ;}
2300 /* Line 1455 of yacc.c */
2301 #line 391 "parser/faustparser.y"
2302 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigMul
)); ;}
2307 /* Line 1455 of yacc.c */
2308 #line 392 "parser/faustparser.y"
2309 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigDiv
)); ;}
2314 /* Line 1455 of yacc.c */
2315 #line 393 "parser/faustparser.y"
2316 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigRem
)); ;}
2321 /* Line 1455 of yacc.c */
2322 #line 394 "parser/faustparser.y"
2323 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),gPowPrim
->box()); ;}
2328 /* Line 1455 of yacc.c */
2329 #line 395 "parser/faustparser.y"
2330 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigFixDelay
)); ;}
2335 /* Line 1455 of yacc.c */
2336 #line 396 "parser/faustparser.y"
2337 { (yyval
.exp
) = boxSeq((yyvsp
[(1) - (2)].exp
),boxPrim1(sigDelay1
)); ;}
2342 /* Line 1455 of yacc.c */
2343 #line 397 "parser/faustparser.y"
2344 { (yyval
.exp
) = boxAccess((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
2349 /* Line 1455 of yacc.c */
2350 #line 399 "parser/faustparser.y"
2351 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigAND
)); ;}
2356 /* Line 1455 of yacc.c */
2357 #line 400 "parser/faustparser.y"
2358 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigOR
)); ;}
2363 /* Line 1455 of yacc.c */
2364 #line 401 "parser/faustparser.y"
2365 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigXOR
)); ;}
2370 /* Line 1455 of yacc.c */
2371 #line 403 "parser/faustparser.y"
2372 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigLeftShift
)); ;}
2377 /* Line 1455 of yacc.c */
2378 #line 404 "parser/faustparser.y"
2379 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigRightShift
)); ;}
2384 /* Line 1455 of yacc.c */
2385 #line 406 "parser/faustparser.y"
2386 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigLT
)); ;}
2391 /* Line 1455 of yacc.c */
2392 #line 407 "parser/faustparser.y"
2393 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigLE
)); ;}
2398 /* Line 1455 of yacc.c */
2399 #line 408 "parser/faustparser.y"
2400 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigGT
)); ;}
2405 /* Line 1455 of yacc.c */
2406 #line 409 "parser/faustparser.y"
2407 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigGE
)); ;}
2412 /* Line 1455 of yacc.c */
2413 #line 410 "parser/faustparser.y"
2414 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigEQ
)); ;}
2419 /* Line 1455 of yacc.c */
2420 #line 411 "parser/faustparser.y"
2421 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigNE
)); ;}
2426 /* Line 1455 of yacc.c */
2427 #line 413 "parser/faustparser.y"
2428 { (yyval
.exp
) = boxSeq(boxPar((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)),boxPrim2(sigConcat
)); ;}
2433 /* Line 1455 of yacc.c */
2434 #line 415 "parser/faustparser.y"
2435 { (yyval
.exp
) = buildBoxAppl((yyvsp
[(1) - (4)].exp
),(yyvsp
[(3) - (4)].exp
)); ;}
2440 /* Line 1455 of yacc.c */
2441 #line 416 "parser/faustparser.y"
2442 { (yyval
.exp
) = boxModifLocalDef((yyvsp
[(1) - (4)].exp
),formatDefinitions((yyvsp
[(3) - (4)].exp
))); ;}
2447 /* Line 1455 of yacc.c */
2448 #line 418 "parser/faustparser.y"
2449 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2454 /* Line 1455 of yacc.c */
2455 #line 421 "parser/faustparser.y"
2456 { (yyval
.exp
) = boxInt(atoi(yytext
)); ;}
2461 /* Line 1455 of yacc.c */
2462 #line 422 "parser/faustparser.y"
2463 { (yyval
.exp
) = boxReal(atof(yytext
)); ;}
2468 /* Line 1455 of yacc.c */
2469 #line 424 "parser/faustparser.y"
2470 { (yyval
.exp
) = boxInt (atoi(yytext
)); ;}
2475 /* Line 1455 of yacc.c */
2476 #line 425 "parser/faustparser.y"
2477 { (yyval
.exp
) = boxReal(atof(yytext
)); ;}
2482 /* Line 1455 of yacc.c */
2483 #line 427 "parser/faustparser.y"
2484 { (yyval
.exp
) = boxInt ( -atoi(yytext
) ); ;}
2489 /* Line 1455 of yacc.c */
2490 #line 428 "parser/faustparser.y"
2491 { (yyval
.exp
) = boxReal( -atof(yytext
) ); ;}
2496 /* Line 1455 of yacc.c */
2497 #line 430 "parser/faustparser.y"
2498 { (yyval
.exp
) = boxWire(); ;}
2503 /* Line 1455 of yacc.c */
2504 #line 431 "parser/faustparser.y"
2505 { (yyval
.exp
) = boxCut(); ;}
2510 /* Line 1455 of yacc.c */
2511 #line 433 "parser/faustparser.y"
2512 { (yyval
.exp
) = boxPrim1(sigDelay1
); ;}
2517 /* Line 1455 of yacc.c */
2518 #line 434 "parser/faustparser.y"
2519 { (yyval
.exp
) = boxPrim2(sigPrefix
); ;}
2524 /* Line 1455 of yacc.c */
2525 #line 436 "parser/faustparser.y"
2526 { (yyval
.exp
) = boxPrim1(sigIntCast
); ;}
2531 /* Line 1455 of yacc.c */
2532 #line 437 "parser/faustparser.y"
2533 { (yyval
.exp
) = boxPrim1(sigFloatCast
); ;}
2538 /* Line 1455 of yacc.c */
2539 #line 439 "parser/faustparser.y"
2540 { (yyval
.exp
) = boxPrim2(sigAdd
); ;}
2545 /* Line 1455 of yacc.c */
2546 #line 440 "parser/faustparser.y"
2547 { (yyval
.exp
) = boxPrim2(sigSub
); ;}
2552 /* Line 1455 of yacc.c */
2553 #line 441 "parser/faustparser.y"
2554 { (yyval
.exp
) = boxPrim2(sigMul
); ;}
2559 /* Line 1455 of yacc.c */
2560 #line 442 "parser/faustparser.y"
2561 { (yyval
.exp
) = boxPrim2(sigDiv
); ;}
2566 /* Line 1455 of yacc.c */
2567 #line 443 "parser/faustparser.y"
2568 { (yyval
.exp
) = boxPrim2(sigRem
); ;}
2573 /* Line 1455 of yacc.c */
2574 #line 444 "parser/faustparser.y"
2575 { (yyval
.exp
) = boxPrim2(sigFixDelay
); ;}
2580 /* Line 1455 of yacc.c */
2581 #line 446 "parser/faustparser.y"
2582 { (yyval
.exp
) = boxPrim2(sigAND
); ;}
2587 /* Line 1455 of yacc.c */
2588 #line 447 "parser/faustparser.y"
2589 { (yyval
.exp
) = boxPrim2(sigOR
); ;}
2594 /* Line 1455 of yacc.c */
2595 #line 448 "parser/faustparser.y"
2596 { (yyval
.exp
) = boxPrim2(sigXOR
); ;}
2601 /* Line 1455 of yacc.c */
2602 #line 450 "parser/faustparser.y"
2603 { (yyval
.exp
) = boxPrim2(sigLeftShift
); ;}
2608 /* Line 1455 of yacc.c */
2609 #line 451 "parser/faustparser.y"
2610 { (yyval
.exp
) = boxPrim2(sigRightShift
); ;}
2615 /* Line 1455 of yacc.c */
2616 #line 453 "parser/faustparser.y"
2617 { (yyval
.exp
) = boxPrim2(sigLT
); ;}
2622 /* Line 1455 of yacc.c */
2623 #line 454 "parser/faustparser.y"
2624 { (yyval
.exp
) = boxPrim2(sigLE
); ;}
2629 /* Line 1455 of yacc.c */
2630 #line 455 "parser/faustparser.y"
2631 { (yyval
.exp
) = boxPrim2(sigGT
); ;}
2636 /* Line 1455 of yacc.c */
2637 #line 456 "parser/faustparser.y"
2638 { (yyval
.exp
) = boxPrim2(sigGE
); ;}
2643 /* Line 1455 of yacc.c */
2644 #line 457 "parser/faustparser.y"
2645 { (yyval
.exp
) = boxPrim2(sigEQ
); ;}
2650 /* Line 1455 of yacc.c */
2651 #line 458 "parser/faustparser.y"
2652 { (yyval
.exp
) = boxPrim2(sigNE
); ;}
2657 /* Line 1455 of yacc.c */
2658 #line 460 "parser/faustparser.y"
2659 { (yyval
.exp
) = boxPrim2(sigAttach
); ;}
2664 /* Line 1455 of yacc.c */
2665 #line 462 "parser/faustparser.y"
2666 { (yyval
.exp
) = gAcosPrim
->box(); ;}
2671 /* Line 1455 of yacc.c */
2672 #line 463 "parser/faustparser.y"
2673 { (yyval
.exp
) = gAsinPrim
->box(); ;}
2678 /* Line 1455 of yacc.c */
2679 #line 464 "parser/faustparser.y"
2680 { (yyval
.exp
) = gAtanPrim
->box(); ;}
2685 /* Line 1455 of yacc.c */
2686 #line 465 "parser/faustparser.y"
2687 { (yyval
.exp
) = gAtan2Prim
->box(); ;}
2692 /* Line 1455 of yacc.c */
2693 #line 466 "parser/faustparser.y"
2694 { (yyval
.exp
) = gCosPrim
->box(); ;}
2699 /* Line 1455 of yacc.c */
2700 #line 467 "parser/faustparser.y"
2701 { (yyval
.exp
) = gSinPrim
->box(); ;}
2706 /* Line 1455 of yacc.c */
2707 #line 468 "parser/faustparser.y"
2708 { (yyval
.exp
) = gTanPrim
->box(); ;}
2713 /* Line 1455 of yacc.c */
2714 #line 470 "parser/faustparser.y"
2715 { (yyval
.exp
) = gExpPrim
->box(); ;}
2720 /* Line 1455 of yacc.c */
2721 #line 471 "parser/faustparser.y"
2722 { (yyval
.exp
) = gLogPrim
->box(); ;}
2727 /* Line 1455 of yacc.c */
2728 #line 472 "parser/faustparser.y"
2729 { (yyval
.exp
) = gLog10Prim
->box(); ;}
2734 /* Line 1455 of yacc.c */
2735 #line 473 "parser/faustparser.y"
2736 { (yyval
.exp
) = gPowPrim
->box(); ;}
2741 /* Line 1455 of yacc.c */
2742 #line 474 "parser/faustparser.y"
2743 { (yyval
.exp
) = gPowPrim
->box(); ;}
2748 /* Line 1455 of yacc.c */
2749 #line 475 "parser/faustparser.y"
2750 { (yyval
.exp
) = gSqrtPrim
->box(); ;}
2755 /* Line 1455 of yacc.c */
2756 #line 477 "parser/faustparser.y"
2757 { (yyval
.exp
) = gAbsPrim
->box(); ;}
2762 /* Line 1455 of yacc.c */
2763 #line 478 "parser/faustparser.y"
2764 { (yyval
.exp
) = gMinPrim
->box(); ;}
2769 /* Line 1455 of yacc.c */
2770 #line 479 "parser/faustparser.y"
2771 { (yyval
.exp
) = gMaxPrim
->box(); ;}
2776 /* Line 1455 of yacc.c */
2777 #line 481 "parser/faustparser.y"
2778 { (yyval
.exp
) = gFmodPrim
->box(); ;}
2783 /* Line 1455 of yacc.c */
2784 #line 482 "parser/faustparser.y"
2785 { (yyval
.exp
) = gRemainderPrim
->box(); ;}
2790 /* Line 1455 of yacc.c */
2791 #line 484 "parser/faustparser.y"
2792 { (yyval
.exp
) = gFloorPrim
->box(); ;}
2797 /* Line 1455 of yacc.c */
2798 #line 485 "parser/faustparser.y"
2799 { (yyval
.exp
) = gCeilPrim
->box(); ;}
2804 /* Line 1455 of yacc.c */
2805 #line 486 "parser/faustparser.y"
2806 { (yyval
.exp
) = gRintPrim
->box(); ;}
2811 /* Line 1455 of yacc.c */
2812 #line 489 "parser/faustparser.y"
2813 { (yyval
.exp
) = boxPrim3(sigReadOnlyTable
); ;}
2818 /* Line 1455 of yacc.c */
2819 #line 490 "parser/faustparser.y"
2820 { (yyval
.exp
) = boxPrim5(sigWriteReadTable
); ;}
2825 /* Line 1455 of yacc.c */
2826 #line 492 "parser/faustparser.y"
2827 { (yyval
.exp
) = boxPrim3(sigSelect2
); ;}
2832 /* Line 1455 of yacc.c */
2833 #line 493 "parser/faustparser.y"
2834 { (yyval
.exp
) = boxPrim4(sigSelect3
); ;}
2839 /* Line 1455 of yacc.c */
2840 #line 495 "parser/faustparser.y"
2841 { (yyval
.exp
) = boxPrim2(sigVectorize
); ;}
2846 /* Line 1455 of yacc.c */
2847 #line 496 "parser/faustparser.y"
2848 { (yyval
.exp
) = boxPrim1(sigSerialize
); ;}
2853 /* Line 1455 of yacc.c */
2854 #line 497 "parser/faustparser.y"
2855 { (yyval
.exp
) = boxPrim2(sigConcat
); ;}
2860 /* Line 1455 of yacc.c */
2861 #line 499 "parser/faustparser.y"
2862 { (yyval
.exp
) = boxPrim2(sigUpSample
); ;}
2867 /* Line 1455 of yacc.c */
2868 #line 500 "parser/faustparser.y"
2869 { (yyval
.exp
) = boxPrim2(sigDownSample
); ;}
2874 /* Line 1455 of yacc.c */
2875 #line 502 "parser/faustparser.y"
2876 { (yyval
.exp
) = boxPrim2(sigVectorAt
); ;}
2881 /* Line 1455 of yacc.c */
2882 #line 503 "parser/faustparser.y"
2883 { (yyval
.exp
) = boxSeq(boxPar(boxWire(),(yyvsp
[(2) - (3)].exp
)),boxPrim2(sigVectorAt
)); ;}
2888 /* Line 1455 of yacc.c */
2889 #line 505 "parser/faustparser.y"
2890 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2895 /* Line 1455 of yacc.c */
2896 #line 506 "parser/faustparser.y"
2897 { (yyval
.exp
) = boxSeq(boxPar(boxInt(0),(yyvsp
[(2) - (2)].exp
)),boxPrim2(sigSub
)); ;}
2902 /* Line 1455 of yacc.c */
2903 #line 508 "parser/faustparser.y"
2904 { (yyval
.exp
) = (yyvsp
[(2) - (3)].exp
); ;}
2909 /* Line 1455 of yacc.c */
2910 #line 510 "parser/faustparser.y"
2911 { (yyval
.exp
) = buildBoxAbstr((yyvsp
[(3) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
2916 /* Line 1455 of yacc.c */
2917 #line 512 "parser/faustparser.y"
2918 { (yyval
.exp
) = boxCase(checkRulelist((yyvsp
[(3) - (4)].exp
))); ;}
2923 /* Line 1455 of yacc.c */
2924 #line 514 "parser/faustparser.y"
2925 { (yyval
.exp
) = boxFFun((yyvsp
[(1) - (1)].exp
)); ;}
2930 /* Line 1455 of yacc.c */
2931 #line 515 "parser/faustparser.y"
2932 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2937 /* Line 1455 of yacc.c */
2938 #line 516 "parser/faustparser.y"
2939 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2944 /* Line 1455 of yacc.c */
2945 #line 517 "parser/faustparser.y"
2946 { (yyval
.exp
) = boxComponent((yyvsp
[(3) - (4)].exp
)); ;}
2951 /* Line 1455 of yacc.c */
2952 #line 518 "parser/faustparser.y"
2953 { (yyval
.exp
) = boxLibrary((yyvsp
[(3) - (4)].exp
)); ;}
2958 /* Line 1455 of yacc.c */
2959 #line 519 "parser/faustparser.y"
2960 { (yyval
.exp
) = boxWithLocalDef(boxEnvironment(),formatDefinitions((yyvsp
[(3) - (4)].exp
))); ;}
2965 /* Line 1455 of yacc.c */
2966 #line 521 "parser/faustparser.y"
2967 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2972 /* Line 1455 of yacc.c */
2973 #line 522 "parser/faustparser.y"
2974 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2979 /* Line 1455 of yacc.c */
2980 #line 523 "parser/faustparser.y"
2981 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2986 /* Line 1455 of yacc.c */
2987 #line 524 "parser/faustparser.y"
2988 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
2993 /* Line 1455 of yacc.c */
2994 #line 525 "parser/faustparser.y"
2995 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3000 /* Line 1455 of yacc.c */
3001 #line 526 "parser/faustparser.y"
3002 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3007 /* Line 1455 of yacc.c */
3008 #line 527 "parser/faustparser.y"
3009 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3014 /* Line 1455 of yacc.c */
3015 #line 528 "parser/faustparser.y"
3016 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3021 /* Line 1455 of yacc.c */
3022 #line 529 "parser/faustparser.y"
3023 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3028 /* Line 1455 of yacc.c */
3029 #line 530 "parser/faustparser.y"
3030 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3035 /* Line 1455 of yacc.c */
3036 #line 532 "parser/faustparser.y"
3037 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3042 /* Line 1455 of yacc.c */
3043 #line 533 "parser/faustparser.y"
3044 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3049 /* Line 1455 of yacc.c */
3050 #line 534 "parser/faustparser.y"
3051 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3056 /* Line 1455 of yacc.c */
3057 #line 535 "parser/faustparser.y"
3058 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3063 /* Line 1455 of yacc.c */
3064 #line 539 "parser/faustparser.y"
3065 { (yyval
.exp
) = boxIdent(yytext
); ;}
3070 /* Line 1455 of yacc.c */
3071 #line 542 "parser/faustparser.y"
3072 { (yyval
.exp
) = tree(yytext
); ;}
3077 /* Line 1455 of yacc.c */
3078 #line 547 "parser/faustparser.y"
3079 { (yyval
.exp
) = cons((yyvsp
[(1) - (1)].exp
),nil
); ;}
3084 /* Line 1455 of yacc.c */
3085 #line 548 "parser/faustparser.y"
3086 { (yyval
.exp
) = cons((yyvsp
[(3) - (3)].exp
),(yyvsp
[(1) - (3)].exp
)); ;}
3091 /* Line 1455 of yacc.c */
3092 #line 551 "parser/faustparser.y"
3093 { (yyval
.exp
) = boxSeq((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
3098 /* Line 1455 of yacc.c */
3099 #line 552 "parser/faustparser.y"
3100 { (yyval
.exp
) = boxSplit((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
3105 /* Line 1455 of yacc.c */
3106 #line 553 "parser/faustparser.y"
3107 { (yyval
.exp
) = boxMerge((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
3112 /* Line 1455 of yacc.c */
3113 #line 554 "parser/faustparser.y"
3114 { (yyval
.exp
) = boxRec((yyvsp
[(1) - (3)].exp
),(yyvsp
[(3) - (3)].exp
)); ;}
3119 /* Line 1455 of yacc.c */
3120 #line 555 "parser/faustparser.y"
3121 { (yyval
.exp
) = (yyvsp
[(1) - (1)].exp
); ;}
3126 /* Line 1455 of yacc.c */
3127 #line 558 "parser/faustparser.y"
3128 { (yyval
.exp
) = tree(yytext
); ;}
3133 /* Line 1455 of yacc.c */
3134 #line 561 "parser/faustparser.y"
3135 { (yyval
.exp
) = unquote(yytext
); ;}
3140 /* Line 1455 of yacc.c */
3141 #line 564 "parser/faustparser.y"
3142 { (yyval
.exp
) = tree(yytext
); ;}
3147 /* Line 1455 of yacc.c */
3148 #line 565 "parser/faustparser.y"
3149 { (yyval
.exp
) = tree(yytext
); ;}
3154 /* Line 1455 of yacc.c */
3155 #line 571 "parser/faustparser.y"
3156 { (yyval
.exp
) = boxIPar((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3161 /* Line 1455 of yacc.c */
3162 #line 575 "parser/faustparser.y"
3163 { (yyval
.exp
) = boxISeq((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3168 /* Line 1455 of yacc.c */
3169 #line 579 "parser/faustparser.y"
3170 { (yyval
.exp
) = boxISum((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3175 /* Line 1455 of yacc.c */
3176 #line 583 "parser/faustparser.y"
3177 { (yyval
.exp
) = boxIProd((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3182 /* Line 1455 of yacc.c */
3183 #line 590 "parser/faustparser.y"
3184 { (yyval
.exp
) = ffunction((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3189 /* Line 1455 of yacc.c */
3190 #line 594 "parser/faustparser.y"
3191 { (yyval
.exp
) = boxFConst((yyvsp
[(3) - (7)].exp
),(yyvsp
[(4) - (7)].exp
),(yyvsp
[(6) - (7)].exp
)); ;}
3196 /* Line 1455 of yacc.c */
3197 #line 597 "parser/faustparser.y"
3198 { (yyval
.exp
) = boxFVar((yyvsp
[(3) - (7)].exp
),(yyvsp
[(4) - (7)].exp
),(yyvsp
[(6) - (7)].exp
)); ;}
3203 /* Line 1455 of yacc.c */
3204 #line 601 "parser/faustparser.y"
3205 { (yyval
.exp
) = boxButton((yyvsp
[(3) - (4)].exp
)); ;}
3210 /* Line 1455 of yacc.c */
3211 #line 604 "parser/faustparser.y"
3212 { (yyval
.exp
) = boxCheckbox((yyvsp
[(3) - (4)].exp
)); ;}
3217 /* Line 1455 of yacc.c */
3218 #line 608 "parser/faustparser.y"
3219 { (yyval
.exp
) = boxVSlider((yyvsp
[(3) - (12)].exp
),(yyvsp
[(5) - (12)].exp
),(yyvsp
[(7) - (12)].exp
),(yyvsp
[(9) - (12)].exp
),(yyvsp
[(11) - (12)].exp
)); ;}
3224 /* Line 1455 of yacc.c */
3225 #line 611 "parser/faustparser.y"
3226 { (yyval
.exp
) = boxHSlider((yyvsp
[(3) - (12)].exp
),(yyvsp
[(5) - (12)].exp
),(yyvsp
[(7) - (12)].exp
),(yyvsp
[(9) - (12)].exp
),(yyvsp
[(11) - (12)].exp
)); ;}
3231 /* Line 1455 of yacc.c */
3232 #line 614 "parser/faustparser.y"
3233 { (yyval
.exp
) = boxNumEntry((yyvsp
[(3) - (12)].exp
),(yyvsp
[(5) - (12)].exp
),(yyvsp
[(7) - (12)].exp
),(yyvsp
[(9) - (12)].exp
),(yyvsp
[(11) - (12)].exp
)); ;}
3238 /* Line 1455 of yacc.c */
3239 #line 617 "parser/faustparser.y"
3240 { (yyval
.exp
) = boxVGroup((yyvsp
[(3) - (6)].exp
), (yyvsp
[(5) - (6)].exp
)); ;}
3245 /* Line 1455 of yacc.c */
3246 #line 620 "parser/faustparser.y"
3247 { (yyval
.exp
) = boxHGroup((yyvsp
[(3) - (6)].exp
), (yyvsp
[(5) - (6)].exp
)); ;}
3252 /* Line 1455 of yacc.c */
3253 #line 623 "parser/faustparser.y"
3254 { (yyval
.exp
) = boxTGroup((yyvsp
[(3) - (6)].exp
), (yyvsp
[(5) - (6)].exp
)); ;}
3259 /* Line 1455 of yacc.c */
3260 #line 627 "parser/faustparser.y"
3261 { (yyval
.exp
) = boxVBargraph((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3266 /* Line 1455 of yacc.c */
3267 #line 630 "parser/faustparser.y"
3268 { (yyval
.exp
) = boxHBargraph((yyvsp
[(3) - (8)].exp
),(yyvsp
[(5) - (8)].exp
),(yyvsp
[(7) - (8)].exp
)); ;}
3273 /* Line 1455 of yacc.c */
3274 #line 635 "parser/faustparser.y"
3275 { (yyval
.exp
) = cons((yyvsp
[(1) - (5)].exp
), cons((yyvsp
[(2) - (5)].exp
), (yyvsp
[(4) - (5)].exp
))); ;}
3280 /* Line 1455 of yacc.c */
3281 #line 636 "parser/faustparser.y"
3282 { (yyval
.exp
) = cons((yyvsp
[(1) - (4)].exp
), cons((yyvsp
[(2) - (4)].exp
), nil
)); ;}
3287 /* Line 1455 of yacc.c */
3288 #line 639 "parser/faustparser.y"
3289 { (yyval
.exp
) = tree(yytext
); ;}
3294 /* Line 1455 of yacc.c */
3295 #line 642 "parser/faustparser.y"
3296 { (yyval
.exp
) = cons((yyvsp
[(1) - (1)].exp
),nil
); ;}
3301 /* Line 1455 of yacc.c */
3302 #line 643 "parser/faustparser.y"
3303 { (yyval
.exp
) = cons((yyvsp
[(3) - (3)].exp
),(yyvsp
[(1) - (3)].exp
)); ;}
3308 /* Line 1455 of yacc.c */
3309 #line 646 "parser/faustparser.y"
3310 { (yyval
.exp
) = cons((yyvsp
[(1) - (1)].exp
),nil
); ;}
3315 /* Line 1455 of yacc.c */
3316 #line 647 "parser/faustparser.y"
3317 { (yyval
.exp
) = cons((yyvsp
[(2) - (2)].exp
),(yyvsp
[(1) - (2)].exp
)); ;}
3322 /* Line 1455 of yacc.c */
3323 #line 651 "parser/faustparser.y"
3324 { (yyval
.exp
) = cons((yyvsp
[(2) - (6)].exp
),(yyvsp
[(5) - (6)].exp
)); ;}
3329 /* Line 1455 of yacc.c */
3330 #line 654 "parser/faustparser.y"
3331 { (yyval
.exp
) = tree(0); ;}
3336 /* Line 1455 of yacc.c */
3337 #line 655 "parser/faustparser.y"
3338 { (yyval
.exp
) = tree(1); ;}
3343 /* Line 1455 of yacc.c */
3344 #line 3345 "parser/faustparser.cpp"
3347 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyn
], &yyval
, &yyloc
);
3351 YY_STACK_PRINT (yyss
, yyssp
);
3355 /* Now `shift' the result of the reduction. Determine what state
3356 that goes to, based on the state we popped back to and the rule
3357 number reduced by. */
3361 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
3362 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
3363 yystate
= yytable
[yystate
];
3365 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
3370 /*------------------------------------.
3371 | yyerrlab -- here on detecting error |
3372 `------------------------------------*/
3374 /* If not already recovering from an error, report this error. */
3378 #if ! YYERROR_VERBOSE
3379 yyerror (YY_("syntax error"));
3382 YYSIZE_T yysize
= yysyntax_error (0, yystate
, yychar
);
3383 if (yymsg_alloc
< yysize
&& yymsg_alloc
< YYSTACK_ALLOC_MAXIMUM
)
3385 YYSIZE_T yyalloc
= 2 * yysize
;
3386 if (! (yysize
<= yyalloc
&& yyalloc
<= YYSTACK_ALLOC_MAXIMUM
))
3387 yyalloc
= YYSTACK_ALLOC_MAXIMUM
;
3388 if (yymsg
!= yymsgbuf
)
3389 YYSTACK_FREE (yymsg
);
3390 yymsg
= (char *) YYSTACK_ALLOC (yyalloc
);
3392 yymsg_alloc
= yyalloc
;
3396 yymsg_alloc
= sizeof yymsgbuf
;
3400 if (0 < yysize
&& yysize
<= yymsg_alloc
)
3402 (void) yysyntax_error (yymsg
, yystate
, yychar
);
3407 yyerror (YY_("syntax error"));
3409 goto yyexhaustedlab
;
3417 if (yyerrstatus
== 3)
3419 /* If just tried and failed to reuse lookahead token after an
3420 error, discard it. */
3422 if (yychar
<= YYEOF
)
3424 /* Return failure if at end of input. */
3425 if (yychar
== YYEOF
)
3430 yydestruct ("Error: discarding",
3436 /* Else will try to reuse lookahead token after shifting the error
3441 /*---------------------------------------------------.
3442 | yyerrorlab -- error raised explicitly by YYERROR. |
3443 `---------------------------------------------------*/
3446 /* Pacify compilers like GCC when the user code never invokes
3447 YYERROR and the label yyerrorlab therefore never appears in user
3449 if (/*CONSTCOND*/ 0)
3452 /* Do not reclaim the symbols of the rule which action triggered
3456 YY_STACK_PRINT (yyss
, yyssp
);
3461 /*-------------------------------------------------------------.
3462 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3463 `-------------------------------------------------------------*/
3465 yyerrstatus
= 3; /* Each real token shifted decrements this. */
3469 yyn
= yypact
[yystate
];
3470 if (yyn
!= YYPACT_NINF
)
3473 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
3481 /* Pop the current state because it cannot handle the error token. */
3486 yydestruct ("Error: popping",
3487 yystos
[yystate
], yyvsp
);
3490 YY_STACK_PRINT (yyss
, yyssp
);
3496 /* Shift the error token. */
3497 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
3503 /*-------------------------------------.
3504 | yyacceptlab -- YYACCEPT comes here. |
3505 `-------------------------------------*/
3510 /*-----------------------------------.
3511 | yyabortlab -- YYABORT comes here. |
3512 `-----------------------------------*/
3517 #if !defined(yyoverflow) || YYERROR_VERBOSE
3518 /*-------------------------------------------------.
3519 | yyexhaustedlab -- memory exhaustion comes here. |
3520 `-------------------------------------------------*/
3522 yyerror (YY_("memory exhausted"));
3528 if (yychar
!= YYEMPTY
)
3529 yydestruct ("Cleanup: discarding lookahead",
3531 /* Do not reclaim the symbols of the rule which action triggered
3532 this YYABORT or YYACCEPT. */
3534 YY_STACK_PRINT (yyss
, yyssp
);
3535 while (yyssp
!= yyss
)
3537 yydestruct ("Cleanup: popping",
3538 yystos
[*yyssp
], yyvsp
);
3543 YYSTACK_FREE (yyss
);
3546 if (yymsg
!= yymsgbuf
)
3547 YYSTACK_FREE (yymsg
);
3549 /* Make sure YYID is used. */
3550 return YYID (yyresult
);
3555 /* Line 1675 of yacc.c */
3556 #line 658 "parser/faustparser.y"