Merge branch 'master' of https://scm.cri.ensmp.fr/git/Faustine
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / compiler / parser / faustparser.cpp
1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
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.
13
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.
18
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/>. */
21
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.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
37
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. */
44
45 /* Identify Bison output. */
46 #define YYBISON 1
47
48 /* Bison version. */
49 #define YYBISON_VERSION "2.4.1"
50
51 /* Skeleton name. */
52 #define YYSKELETON_NAME "yacc.c"
53
54 /* Pure parsers. */
55 #define YYPURE 0
56
57 /* Push parsers. */
58 #define YYPUSH 0
59
60 /* Pull parsers. */
61 #define YYPULL 1
62
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
65
66
67
68 /* Copy the first part of user declarations. */
69
70 /* Line 189 of yacc.c */
71 #line 5 "parser/faustparser.y"
72
73
74 #include "tree.hh"
75 #include "xtended.hh"
76 #include "boxes.hh"
77 #include "prim2.hh"
78 #include "signals.hh"
79 #include "errormsg.hh"
80 #include "sourcereader.hh"
81 #include "doc.hh"
82 #include "ppbox.hh"
83
84 #include <string>
85 #include <list>
86
87 #define YYDEBUG 1
88 #define YYERROR_VERBOSE 1
89 #define YYMAXDEPTH 100000
90
91 using namespace std;
92
93 extern char* yytext;
94 extern const char* yyfilename;
95 extern int yylineno;
96 extern int yyerr;
97 extern Tree gResult;
98 extern bool gStripDocSwitch;
99 extern bool gLstDependenciesSwitch;
100 extern bool gLstDistributedSwitch;
101 extern bool gLstMdocTagsSwitch;
102
103 extern map<Tree, set<Tree> > gMetaDataSet;
104 extern vector<Tree> gDocVector;
105
106
107 int yylex();
108
109 //----------------------------------------------------------
110 // unquote() : remove enclosing quotes and carriage return
111 // characters from string. Returns a Tree
112 //----------------------------------------------------------
113 char replaceCR(char c)
114 {
115 return (c!='\n') ? c : ' ';
116 }
117
118 Tree unquote(char* str)
119 {
120 //-----------copy unquoted filename-------------
121 char buf[512];
122 int j=0;
123
124 if (str[0] == '"') {
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++]);
128 }
129 // remove last quote
130 if (j>0) buf[j-1] = 0;
131 } else {
132 for (int i=0; j<511 && str[i];) {
133 buf[j++] = replaceCR(str[i++]);
134 }
135 }
136 buf[j] = 0;
137
138 return tree(buf);
139 //----------------------------------------------
140 }
141
142
143
144 /* Line 189 of yacc.c */
145 #line 146 "parser/faustparser.cpp"
146
147 /* Enabling traces. */
148 #ifndef YYDEBUG
149 # define YYDEBUG 0
150 #endif
151
152 /* Enabling verbose error messages. */
153 #ifdef YYERROR_VERBOSE
154 # undef YYERROR_VERBOSE
155 # define YYERROR_VERBOSE 1
156 #else
157 # define YYERROR_VERBOSE 0
158 #endif
159
160 /* Enabling the token table. */
161 #ifndef YYTOKEN_TABLE
162 # define YYTOKEN_TABLE 0
163 #endif
164
165
166 /* Tokens. */
167 #ifndef YYTOKENTYPE
168 # define YYTOKENTYPE
169 /* Put the tokens into the symbol table, so that GDB and other debuggers
170 know about them. */
171 enum yytokentype {
172 WITH = 258,
173 MIX = 259,
174 SPLIT = 260,
175 SEQ = 261,
176 PAR = 262,
177 REC = 263,
178 NE = 264,
179 GE = 265,
180 GT = 266,
181 EQ = 267,
182 LE = 268,
183 LT = 269,
184 OR = 270,
185 SUB = 271,
186 ADD = 272,
187 RSH = 273,
188 LSH = 274,
189 XOR = 275,
190 AND = 276,
191 MOD = 277,
192 DIV = 278,
193 MUL = 279,
194 POWOP = 280,
195 FDELAY = 281,
196 DELAY1 = 282,
197 DOT = 283,
198 APPL = 284,
199 HASH = 285,
200 MEM = 286,
201 PREFIX = 287,
202 INTCAST = 288,
203 FLOATCAST = 289,
204 FFUNCTION = 290,
205 FCONSTANT = 291,
206 FVARIABLE = 292,
207 BUTTON = 293,
208 CHECKBOX = 294,
209 VSLIDER = 295,
210 HSLIDER = 296,
211 NENTRY = 297,
212 VGROUP = 298,
213 HGROUP = 299,
214 TGROUP = 300,
215 HBARGRAPH = 301,
216 VBARGRAPH = 302,
217 ATTACH = 303,
218 ACOS = 304,
219 ASIN = 305,
220 ATAN = 306,
221 ATAN2 = 307,
222 COS = 308,
223 SIN = 309,
224 TAN = 310,
225 EXP = 311,
226 LOG = 312,
227 LOG10 = 313,
228 POWFUN = 314,
229 SQRT = 315,
230 ABS = 316,
231 MIN = 317,
232 MAX = 318,
233 FMOD = 319,
234 REMAINDER = 320,
235 FLOOR = 321,
236 CEIL = 322,
237 RINT = 323,
238 RDTBL = 324,
239 RWTBL = 325,
240 SELECT2 = 326,
241 SELECT3 = 327,
242 INT = 328,
243 FLOAT = 329,
244 LAMBDA = 330,
245 WIRE = 331,
246 CUT = 332,
247 ENDDEF = 333,
248 VIRG = 334,
249 LPAR = 335,
250 RPAR = 336,
251 LBRAQ = 337,
252 RBRAQ = 338,
253 LCROC = 339,
254 RCROC = 340,
255 DEF = 341,
256 IMPORT = 342,
257 COMPONENT = 343,
258 LIBRARY = 344,
259 ENVIRONMENT = 345,
260 IPAR = 346,
261 ISEQ = 347,
262 ISUM = 348,
263 IPROD = 349,
264 STRING = 350,
265 FSTRING = 351,
266 IDENT = 352,
267 EXTRA = 353,
268 DECLARE = 354,
269 CASE = 355,
270 ARROW = 356,
271 VECTORIZE = 357,
272 SERIALIZE = 358,
273 RATE = 359,
274 UPSAMPLE = 360,
275 DOWNSAMPLE = 361,
276 BDOC = 362,
277 EDOC = 363,
278 BEQN = 364,
279 EEQN = 365,
280 BDGM = 366,
281 EDGM = 367,
282 BLST = 368,
283 ELST = 369,
284 BMETADATA = 370,
285 EMETADATA = 371,
286 DOCCHAR = 372,
287 NOTICE = 373,
288 LISTING = 374,
289 LSTTRUE = 375,
290 LSTFALSE = 376,
291 LSTDEPENDENCIES = 377,
292 LSTMDOCTAGS = 378,
293 LSTDISTRIBUTED = 379,
294 LSTEQ = 380,
295 LSTQ = 381
296 };
297 #endif
298
299
300
301 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
302 typedef union YYSTYPE
303 {
304
305 /* Line 214 of yacc.c */
306 #line 78 "parser/faustparser.y"
307
308 CTree* exp;
309 char* str;
310 string* cppstr;
311 bool b;
312
313
314
315 /* Line 214 of yacc.c */
316 #line 317 "parser/faustparser.cpp"
317 } YYSTYPE;
318 # define YYSTYPE_IS_TRIVIAL 1
319 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
320 # define YYSTYPE_IS_DECLARED 1
321 #endif
322
323
324 /* Copy the second part of user declarations. */
325
326
327 /* Line 264 of yacc.c */
328 #line 329 "parser/faustparser.cpp"
329
330 #ifdef short
331 # undef short
332 #endif
333
334 #ifdef YYTYPE_UINT8
335 typedef YYTYPE_UINT8 yytype_uint8;
336 #else
337 typedef unsigned char yytype_uint8;
338 #endif
339
340 #ifdef YYTYPE_INT8
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;
345 #else
346 typedef short int yytype_int8;
347 #endif
348
349 #ifdef YYTYPE_UINT16
350 typedef YYTYPE_UINT16 yytype_uint16;
351 #else
352 typedef unsigned short int yytype_uint16;
353 #endif
354
355 #ifdef YYTYPE_INT16
356 typedef YYTYPE_INT16 yytype_int16;
357 #else
358 typedef short int yytype_int16;
359 #endif
360
361 #ifndef YYSIZE_T
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
370 # else
371 # define YYSIZE_T unsigned int
372 # endif
373 #endif
374
375 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
376
377 #ifndef YY_
378 # if YYENABLE_NLS
379 # if ENABLE_NLS
380 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
381 # define YY_(msgid) dgettext ("bison-runtime", msgid)
382 # endif
383 # endif
384 # ifndef YY_
385 # define YY_(msgid) msgid
386 # endif
387 #endif
388
389 /* Suppress unused-variable warnings by "using" E. */
390 #if ! defined lint || defined __GNUC__
391 # define YYUSE(e) ((void) (e))
392 #else
393 # define YYUSE(e) /* empty */
394 #endif
395
396 /* Identity function, used to suppress warnings about constant conditions. */
397 #ifndef lint
398 # define YYID(n) (n)
399 #else
400 #if (defined __STDC__ || defined __C99__FUNC__ \
401 || defined __cplusplus || defined _MSC_VER)
402 static int
403 YYID (int yyi)
404 #else
405 static int
406 YYID (yyi)
407 int yyi;
408 #endif
409 {
410 return yyi;
411 }
412 #endif
413
414 #if ! defined yyoverflow || YYERROR_VERBOSE
415
416 /* The parser invokes alloca or malloc; define the necessary symbols. */
417
418 # ifdef YYSTACK_USE_ALLOCA
419 # if YYSTACK_USE_ALLOCA
420 # ifdef __GNUC__
421 # define YYSTACK_ALLOC __builtin_alloca
422 # elif defined __BUILTIN_VA_ARG_INCR
423 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
424 # elif defined _AIX
425 # define YYSTACK_ALLOC __alloca
426 # elif defined _MSC_VER
427 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
428 # define alloca _alloca
429 # else
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 */
434 # ifndef _STDLIB_H
435 # define _STDLIB_H 1
436 # endif
437 # endif
438 # endif
439 # endif
440 # endif
441
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 */
451 # endif
452 # else
453 # define YYSTACK_ALLOC YYMALLOC
454 # define YYSTACK_FREE YYFREE
455 # ifndef YYSTACK_ALLOC_MAXIMUM
456 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
457 # endif
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 */
462 # ifndef _STDLIB_H
463 # define _STDLIB_H 1
464 # endif
465 # endif
466 # ifndef YYMALLOC
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 */
471 # endif
472 # endif
473 # ifndef YYFREE
474 # define YYFREE free
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 */
478 # endif
479 # endif
480 # endif
481 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
482
483
484 #if (! defined yyoverflow \
485 && (! defined __cplusplus \
486 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
487
488 /* A type that is properly aligned for any stack member. */
489 union yyalloc
490 {
491 yytype_int16 yyss_alloc;
492 YYSTYPE yyvs_alloc;
493 };
494
495 /* The size of the maximum gap between one aligned stack and the next. */
496 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
497
498 /* The size of an array large to enough to hold all stacks, each with
499 N elements. */
500 # define YYSTACK_BYTES(N) \
501 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
502 + YYSTACK_GAP_MAXIMUM)
503
504 /* Copy COUNT objects from FROM to TO. The source and destination do
505 not overlap. */
506 # ifndef YYCOPY
507 # if defined __GNUC__ && 1 < __GNUC__
508 # define YYCOPY(To, From, Count) \
509 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
510 # else
511 # define YYCOPY(To, From, Count) \
512 do \
513 { \
514 YYSIZE_T yyi; \
515 for (yyi = 0; yyi < (Count); yyi++) \
516 (To)[yyi] = (From)[yyi]; \
517 } \
518 while (YYID (0))
519 # endif
520 # endif
521
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
526 stack. */
527 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
528 do \
529 { \
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); \
535 } \
536 while (YYID (0))
537
538 #endif
539
540 /* YYFINAL -- State number of the termination state. */
541 #define YYFINAL 3
542 /* YYLAST -- Last index in YYTABLE. */
543 #define YYLAST 754
544
545 /* YYNTOKENS -- Number of terminals. */
546 #define YYNTOKENS 127
547 /* YYNNTS -- Number of nonterminals. */
548 #define YYNNTS 52
549 /* YYNRULES -- Number of rules. */
550 #define YYNRULES 196
551 /* YYNRULES -- Number of states. */
552 #define YYNSTATES 417
553
554 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
555 #define YYUNDEFTOK 2
556 #define YYMAXUTOK 381
557
558 #define YYTRANSLATE(YYX) \
559 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
560
561 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
562 static const yytype_uint8 yytranslate[] =
563 {
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,
602 125, 126
603 };
604
605 #if YYDEBUG
606 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
607 YYRHS. */
608 static const yytype_uint16 yyprhs[] =
609 {
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
630 };
631
632 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
633 static const yytype_int16 yyrhs[] =
634 {
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,
701 33, -1, 34, -1
702 };
703
704 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
705 static const yytype_uint16 yyrline[] =
706 {
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
727 };
728 #endif
729
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[] =
734 {
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",
760 "rule", "type", 0
761 };
762 #endif
763
764 # ifdef YYPRINT
765 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
766 token YYLEX-NUM. */
767 static const yytype_uint16 yytoknum[] =
768 {
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
782 };
783 # endif
784
785 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
786 static const yytype_uint8 yyr1[] =
787 {
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
808 };
809
810 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
811 static const yytype_uint8 yyr2[] =
812 {
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,
832 1, 3, 1, 2, 6, 1, 1
833 };
834
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[] =
839 {
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
882 };
883
884 /* YYDEFGOTO[NTERM-NUM]. */
885 static const yytype_int16 yydefgoto[] =
886 {
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,
892 252, 226
893 };
894
895 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
896 STATE-NUM. */
897 #define YYPACT_NINF -180
898 static const yytype_int16 yypact[] =
899 {
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
942 };
943
944 /* YYPGOTO[NTERM-NUM]. */
945 static const yytype_int16 yypgoto[] =
946 {
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,
952 326, -151
953 };
954
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[] =
961 {
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
1038 };
1039
1040 static const yytype_int16 yycheck[] =
1041 {
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,
1117 4, 5, 6, 7, 8
1118 };
1119
1120 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1121 symbol of state STATE-NUM. */
1122 static const yytype_uint8 yystos[] =
1123 {
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
1166 };
1167
1168 #define yyerrok (yyerrstatus = 0)
1169 #define yyclearin (yychar = YYEMPTY)
1170 #define YYEMPTY (-2)
1171 #define YYEOF 0
1172
1173 #define YYACCEPT goto yyacceptlab
1174 #define YYABORT goto yyabortlab
1175 #define YYERROR goto yyerrorlab
1176
1177
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. */
1181
1182 #define YYFAIL goto yyerrlab
1183
1184 #define YYRECOVERING() (!!yyerrstatus)
1185
1186 #define YYBACKUP(Token, Value) \
1187 do \
1188 if (yychar == YYEMPTY && yylen == 1) \
1189 { \
1190 yychar = (Token); \
1191 yylval = (Value); \
1192 yytoken = YYTRANSLATE (yychar); \
1193 YYPOPSTACK (1); \
1194 goto yybackup; \
1195 } \
1196 else \
1197 { \
1198 yyerror (YY_("syntax error: cannot back up")); \
1199 YYERROR; \
1200 } \
1201 while (YYID (0))
1202
1203
1204 #define YYTERROR 1
1205 #define YYERRCODE 256
1206
1207
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). */
1211
1212 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1213 #ifndef YYLLOC_DEFAULT
1214 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1215 do \
1216 if (YYID (N)) \
1217 { \
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; \
1222 } \
1223 else \
1224 { \
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; \
1229 } \
1230 while (YYID (0))
1231 #endif
1232
1233
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. */
1237
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)
1244 # else
1245 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1246 # endif
1247 #endif
1248
1249
1250 /* YYLEX -- calling `yylex' with the right arguments. */
1251
1252 #ifdef YYLEX_PARAM
1253 # define YYLEX yylex (YYLEX_PARAM)
1254 #else
1255 # define YYLEX yylex ()
1256 #endif
1257
1258 /* Enable debugging if requested. */
1259 #if YYDEBUG
1260
1261 # ifndef YYFPRINTF
1262 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1263 # define YYFPRINTF fprintf
1264 # endif
1265
1266 # define YYDPRINTF(Args) \
1267 do { \
1268 if (yydebug) \
1269 YYFPRINTF Args; \
1270 } while (YYID (0))
1271
1272 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1273 do { \
1274 if (yydebug) \
1275 { \
1276 YYFPRINTF (stderr, "%s ", Title); \
1277 yy_symbol_print (stderr, \
1278 Type, Value); \
1279 YYFPRINTF (stderr, "\n"); \
1280 } \
1281 } while (YYID (0))
1282
1283
1284 /*--------------------------------.
1285 | Print this symbol on YYOUTPUT. |
1286 `--------------------------------*/
1287
1288 /*ARGSUSED*/
1289 #if (defined __STDC__ || defined __C99__FUNC__ \
1290 || defined __cplusplus || defined _MSC_VER)
1291 static void
1292 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1293 #else
1294 static void
1295 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1296 FILE *yyoutput;
1297 int yytype;
1298 YYSTYPE const * const yyvaluep;
1299 #endif
1300 {
1301 if (!yyvaluep)
1302 return;
1303 # ifdef YYPRINT
1304 if (yytype < YYNTOKENS)
1305 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1306 # else
1307 YYUSE (yyoutput);
1308 # endif
1309 switch (yytype)
1310 {
1311 default:
1312 break;
1313 }
1314 }
1315
1316
1317 /*--------------------------------.
1318 | Print this symbol on YYOUTPUT. |
1319 `--------------------------------*/
1320
1321 #if (defined __STDC__ || defined __C99__FUNC__ \
1322 || defined __cplusplus || defined _MSC_VER)
1323 static void
1324 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
1325 #else
1326 static void
1327 yy_symbol_print (yyoutput, yytype, yyvaluep)
1328 FILE *yyoutput;
1329 int yytype;
1330 YYSTYPE const * const yyvaluep;
1331 #endif
1332 {
1333 if (yytype < YYNTOKENS)
1334 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
1335 else
1336 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
1337
1338 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1339 YYFPRINTF (yyoutput, ")");
1340 }
1341
1342 /*------------------------------------------------------------------.
1343 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1344 | TOP (included). |
1345 `------------------------------------------------------------------*/
1346
1347 #if (defined __STDC__ || defined __C99__FUNC__ \
1348 || defined __cplusplus || defined _MSC_VER)
1349 static void
1350 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
1351 #else
1352 static void
1353 yy_stack_print (yybottom, yytop)
1354 yytype_int16 *yybottom;
1355 yytype_int16 *yytop;
1356 #endif
1357 {
1358 YYFPRINTF (stderr, "Stack now");
1359 for (; yybottom <= yytop; yybottom++)
1360 {
1361 int yybot = *yybottom;
1362 YYFPRINTF (stderr, " %d", yybot);
1363 }
1364 YYFPRINTF (stderr, "\n");
1365 }
1366
1367 # define YY_STACK_PRINT(Bottom, Top) \
1368 do { \
1369 if (yydebug) \
1370 yy_stack_print ((Bottom), (Top)); \
1371 } while (YYID (0))
1372
1373
1374 /*------------------------------------------------.
1375 | Report that the YYRULE is going to be reduced. |
1376 `------------------------------------------------*/
1377
1378 #if (defined __STDC__ || defined __C99__FUNC__ \
1379 || defined __cplusplus || defined _MSC_VER)
1380 static void
1381 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
1382 #else
1383 static void
1384 yy_reduce_print (yyvsp, yyrule)
1385 YYSTYPE *yyvsp;
1386 int yyrule;
1387 #endif
1388 {
1389 int yynrhs = yyr2[yyrule];
1390 int yyi;
1391 unsigned long int yylno = yyrline[yyrule];
1392 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
1393 yyrule - 1, yylno);
1394 /* The symbols being reduced. */
1395 for (yyi = 0; yyi < yynrhs; yyi++)
1396 {
1397 YYFPRINTF (stderr, " $%d = ", yyi + 1);
1398 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1399 &(yyvsp[(yyi + 1) - (yynrhs)])
1400 );
1401 YYFPRINTF (stderr, "\n");
1402 }
1403 }
1404
1405 # define YY_REDUCE_PRINT(Rule) \
1406 do { \
1407 if (yydebug) \
1408 yy_reduce_print (yyvsp, Rule); \
1409 } while (YYID (0))
1410
1411 /* Nonzero means print parse trace. It is left uninitialized so that
1412 multiple parsers can coexist. */
1413 int yydebug;
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 */
1420
1421
1422 /* YYINITDEPTH -- initial size of the parser's stacks. */
1423 #ifndef YYINITDEPTH
1424 # define YYINITDEPTH 200
1425 #endif
1426
1427 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1428 if the built-in stack extension method is used).
1429
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. */
1433
1434 #ifndef YYMAXDEPTH
1435 # define YYMAXDEPTH 10000
1436 #endif
1437
1438 \f
1439
1440 #if YYERROR_VERBOSE
1441
1442 # ifndef yystrlen
1443 # if defined __GLIBC__ && defined _STRING_H
1444 # define yystrlen strlen
1445 # else
1446 /* Return the length of YYSTR. */
1447 #if (defined __STDC__ || defined __C99__FUNC__ \
1448 || defined __cplusplus || defined _MSC_VER)
1449 static YYSIZE_T
1450 yystrlen (const char *yystr)
1451 #else
1452 static YYSIZE_T
1453 yystrlen (yystr)
1454 const char *yystr;
1455 #endif
1456 {
1457 YYSIZE_T yylen;
1458 for (yylen = 0; yystr[yylen]; yylen++)
1459 continue;
1460 return yylen;
1461 }
1462 # endif
1463 # endif
1464
1465 # ifndef yystpcpy
1466 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1467 # define yystpcpy stpcpy
1468 # else
1469 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1470 YYDEST. */
1471 #if (defined __STDC__ || defined __C99__FUNC__ \
1472 || defined __cplusplus || defined _MSC_VER)
1473 static char *
1474 yystpcpy (char *yydest, const char *yysrc)
1475 #else
1476 static char *
1477 yystpcpy (yydest, yysrc)
1478 char *yydest;
1479 const char *yysrc;
1480 #endif
1481 {
1482 char *yyd = yydest;
1483 const char *yys = yysrc;
1484
1485 while ((*yyd++ = *yys++) != '\0')
1486 continue;
1487
1488 return yyd - 1;
1489 }
1490 # endif
1491 # endif
1492
1493 # ifndef yytnamerr
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
1500 would have been. */
1501 static YYSIZE_T
1502 yytnamerr (char *yyres, const char *yystr)
1503 {
1504 if (*yystr == '"')
1505 {
1506 YYSIZE_T yyn = 0;
1507 char const *yyp = yystr;
1508
1509 for (;;)
1510 switch (*++yyp)
1511 {
1512 case '\'':
1513 case ',':
1514 goto do_not_strip_quotes;
1515
1516 case '\\':
1517 if (*++yyp != '\\')
1518 goto do_not_strip_quotes;
1519 /* Fall through. */
1520 default:
1521 if (yyres)
1522 yyres[yyn] = *yyp;
1523 yyn++;
1524 break;
1525
1526 case '"':
1527 if (yyres)
1528 yyres[yyn] = '\0';
1529 return yyn;
1530 }
1531 do_not_strip_quotes: ;
1532 }
1533
1534 if (! yyres)
1535 return yystrlen (yystr);
1536
1537 return yystpcpy (yyres, yystr) - yyres;
1538 }
1539 # endif
1540
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. */
1548 static YYSIZE_T
1549 yysyntax_error (char *yyresult, int yystate, int yychar)
1550 {
1551 int yyn = yypact[yystate];
1552
1553 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
1554 return 0;
1555 else
1556 {
1557 int yytype = YYTRANSLATE (yychar);
1558 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1559 YYSIZE_T yysize = yysize0;
1560 YYSIZE_T yysize1;
1561 int yysize_overflow = 0;
1562 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1563 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1564 int yyx;
1565
1566 # if 0
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");
1574 # endif
1575 char *yyfmt;
1576 char const *yyf;
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;
1585
1586 /* Start YYX at -YYN if negative to avoid negative indexes in
1587 YYCHECK. */
1588 int yyxbegin = yyn < 0 ? -yyn : 0;
1589
1590 /* Stay within bounds of both yycheck and yytname. */
1591 int yychecklim = YYLAST - yyn + 1;
1592 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
1593 int yycount = 1;
1594
1595 yyarg[0] = yytname[yytype];
1596 yyfmt = yystpcpy (yyformat, yyunexpected);
1597
1598 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1599 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
1600 {
1601 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1602 {
1603 yycount = 1;
1604 yysize = yysize0;
1605 yyformat[sizeof yyunexpected - 1] = '\0';
1606 break;
1607 }
1608 yyarg[yycount++] = yytname[yyx];
1609 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1610 yysize_overflow |= (yysize1 < yysize);
1611 yysize = yysize1;
1612 yyfmt = yystpcpy (yyfmt, yyprefix);
1613 yyprefix = yyor;
1614 }
1615
1616 yyf = YY_(yyformat);
1617 yysize1 = yysize + yystrlen (yyf);
1618 yysize_overflow |= (yysize1 < yysize);
1619 yysize = yysize1;
1620
1621 if (yysize_overflow)
1622 return YYSIZE_MAXIMUM;
1623
1624 if (yyresult)
1625 {
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;
1630 int yyi = 0;
1631 while ((*yyp = *yyf) != '\0')
1632 {
1633 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
1634 {
1635 yyp += yytnamerr (yyp, yyarg[yyi++]);
1636 yyf += 2;
1637 }
1638 else
1639 {
1640 yyp++;
1641 yyf++;
1642 }
1643 }
1644 }
1645 return yysize;
1646 }
1647 }
1648 #endif /* YYERROR_VERBOSE */
1649 \f
1650
1651 /*-----------------------------------------------.
1652 | Release the memory associated to this symbol. |
1653 `-----------------------------------------------*/
1654
1655 /*ARGSUSED*/
1656 #if (defined __STDC__ || defined __C99__FUNC__ \
1657 || defined __cplusplus || defined _MSC_VER)
1658 static void
1659 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
1660 #else
1661 static void
1662 yydestruct (yymsg, yytype, yyvaluep)
1663 const char *yymsg;
1664 int yytype;
1665 YYSTYPE *yyvaluep;
1666 #endif
1667 {
1668 YYUSE (yyvaluep);
1669
1670 if (!yymsg)
1671 yymsg = "Deleting";
1672 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1673
1674 switch (yytype)
1675 {
1676
1677 default:
1678 break;
1679 }
1680 }
1681
1682 /* Prevent warnings from -Wmissing-prototypes. */
1683 #ifdef YYPARSE_PARAM
1684 #if defined __STDC__ || defined __cplusplus
1685 int yyparse (void *YYPARSE_PARAM);
1686 #else
1687 int yyparse ();
1688 #endif
1689 #else /* ! YYPARSE_PARAM */
1690 #if defined __STDC__ || defined __cplusplus
1691 int yyparse (void);
1692 #else
1693 int yyparse ();
1694 #endif
1695 #endif /* ! YYPARSE_PARAM */
1696
1697
1698 /* The lookahead symbol. */
1699 int yychar;
1700
1701 /* The semantic value of the lookahead symbol. */
1702 YYSTYPE yylval;
1703
1704 /* Number of syntax errors so far. */
1705 int yynerrs;
1706
1707
1708
1709 /*-------------------------.
1710 | yyparse or yypush_parse. |
1711 `-------------------------*/
1712
1713 #ifdef YYPARSE_PARAM
1714 #if (defined __STDC__ || defined __C99__FUNC__ \
1715 || defined __cplusplus || defined _MSC_VER)
1716 int
1717 yyparse (void *YYPARSE_PARAM)
1718 #else
1719 int
1720 yyparse (YYPARSE_PARAM)
1721 void *YYPARSE_PARAM;
1722 #endif
1723 #else /* ! YYPARSE_PARAM */
1724 #if (defined __STDC__ || defined __C99__FUNC__ \
1725 || defined __cplusplus || defined _MSC_VER)
1726 int
1727 yyparse (void)
1728 #else
1729 int
1730 yyparse ()
1731
1732 #endif
1733 #endif
1734 {
1735
1736
1737 int yystate;
1738 /* Number of tokens to shift before error messages enabled. */
1739 int yyerrstatus;
1740
1741 /* The stacks and their tools:
1742 `yyss': related to states.
1743 `yyvs': related to semantic values.
1744
1745 Refer to the stacks thru separate pointers, to allow yyoverflow
1746 to reallocate them elsewhere. */
1747
1748 /* The state stack. */
1749 yytype_int16 yyssa[YYINITDEPTH];
1750 yytype_int16 *yyss;
1751 yytype_int16 *yyssp;
1752
1753 /* The semantic value stack. */
1754 YYSTYPE yyvsa[YYINITDEPTH];
1755 YYSTYPE *yyvs;
1756 YYSTYPE *yyvsp;
1757
1758 YYSIZE_T yystacksize;
1759
1760 int yyn;
1761 int yyresult;
1762 /* Lookahead token as an internal (translated) token number. */
1763 int yytoken;
1764 /* The variables used to return semantic value and location from the
1765 action routines. */
1766 YYSTYPE yyval;
1767
1768 #if YYERROR_VERBOSE
1769 /* Buffer for error messages, and its allocated size. */
1770 char yymsgbuf[128];
1771 char *yymsg = yymsgbuf;
1772 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1773 #endif
1774
1775 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1776
1777 /* The number of symbols on the RHS of the reduced rule.
1778 Keep to zero when no symbol should be popped. */
1779 int yylen = 0;
1780
1781 yytoken = 0;
1782 yyss = yyssa;
1783 yyvs = yyvsa;
1784 yystacksize = YYINITDEPTH;
1785
1786 YYDPRINTF ((stderr, "Starting parse\n"));
1787
1788 yystate = 0;
1789 yyerrstatus = 0;
1790 yynerrs = 0;
1791 yychar = YYEMPTY; /* Cause a token to be read. */
1792
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. */
1797 yyssp = yyss;
1798 yyvsp = yyvs;
1799
1800 goto yysetstate;
1801
1802 /*------------------------------------------------------------.
1803 | yynewstate -- Push a new state, which is found in yystate. |
1804 `------------------------------------------------------------*/
1805 yynewstate:
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. */
1808 yyssp++;
1809
1810 yysetstate:
1811 *yyssp = yystate;
1812
1813 if (yyss + yystacksize - 1 <= yyssp)
1814 {
1815 /* Get the current used size of the three stacks, in elements. */
1816 YYSIZE_T yysize = yyssp - yyss + 1;
1817
1818 #ifdef yyoverflow
1819 {
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
1822 memory. */
1823 YYSTYPE *yyvs1 = yyvs;
1824 yytype_int16 *yyss1 = yyss;
1825
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),
1833 &yystacksize);
1834
1835 yyss = yyss1;
1836 yyvs = yyvs1;
1837 }
1838 #else /* no yyoverflow */
1839 # ifndef YYSTACK_RELOCATE
1840 goto yyexhaustedlab;
1841 # else
1842 /* Extend the stack our own way. */
1843 if (YYMAXDEPTH <= yystacksize)
1844 goto yyexhaustedlab;
1845 yystacksize *= 2;
1846 if (YYMAXDEPTH < yystacksize)
1847 yystacksize = YYMAXDEPTH;
1848
1849 {
1850 yytype_int16 *yyss1 = yyss;
1851 union yyalloc *yyptr =
1852 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1853 if (! yyptr)
1854 goto yyexhaustedlab;
1855 YYSTACK_RELOCATE (yyss_alloc, yyss);
1856 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1857 # undef YYSTACK_RELOCATE
1858 if (yyss1 != yyssa)
1859 YYSTACK_FREE (yyss1);
1860 }
1861 # endif
1862 #endif /* no yyoverflow */
1863
1864 yyssp = yyss + yysize - 1;
1865 yyvsp = yyvs + yysize - 1;
1866
1867 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1868 (unsigned long int) yystacksize));
1869
1870 if (yyss + yystacksize - 1 <= yyssp)
1871 YYABORT;
1872 }
1873
1874 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1875
1876 if (yystate == YYFINAL)
1877 YYACCEPT;
1878
1879 goto yybackup;
1880
1881 /*-----------.
1882 | yybackup. |
1883 `-----------*/
1884 yybackup:
1885
1886 /* Do appropriate processing given the current state. Read a
1887 lookahead token if we need one and don't already have one. */
1888
1889 /* First try to decide what to do without reference to lookahead token. */
1890 yyn = yypact[yystate];
1891 if (yyn == YYPACT_NINF)
1892 goto yydefault;
1893
1894 /* Not known => get a lookahead token if don't already have one. */
1895
1896 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1897 if (yychar == YYEMPTY)
1898 {
1899 YYDPRINTF ((stderr, "Reading a token: "));
1900 yychar = YYLEX;
1901 }
1902
1903 if (yychar <= YYEOF)
1904 {
1905 yychar = yytoken = YYEOF;
1906 YYDPRINTF ((stderr, "Now at end of input.\n"));
1907 }
1908 else
1909 {
1910 yytoken = YYTRANSLATE (yychar);
1911 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1912 }
1913
1914 /* If the proper action on seeing token YYTOKEN is to reduce or to
1915 detect an error, take that action. */
1916 yyn += yytoken;
1917 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1918 goto yydefault;
1919 yyn = yytable[yyn];
1920 if (yyn <= 0)
1921 {
1922 if (yyn == 0 || yyn == YYTABLE_NINF)
1923 goto yyerrlab;
1924 yyn = -yyn;
1925 goto yyreduce;
1926 }
1927
1928 /* Count tokens shifted since error; after three, turn off error
1929 status. */
1930 if (yyerrstatus)
1931 yyerrstatus--;
1932
1933 /* Shift the lookahead token. */
1934 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1935
1936 /* Discard the shifted token. */
1937 yychar = YYEMPTY;
1938
1939 yystate = yyn;
1940 *++yyvsp = yylval;
1941
1942 goto yynewstate;
1943
1944
1945 /*-----------------------------------------------------------.
1946 | yydefault -- do the default action for the current state. |
1947 `-----------------------------------------------------------*/
1948 yydefault:
1949 yyn = yydefact[yystate];
1950 if (yyn == 0)
1951 goto yyerrlab;
1952 goto yyreduce;
1953
1954
1955 /*-----------------------------.
1956 | yyreduce -- Do a reduction. |
1957 `-----------------------------*/
1958 yyreduce:
1959 /* yyn is the number of a rule to reduce with. */
1960 yylen = yyr2[yyn];
1961
1962 /* If YYLEN is nonzero, implement the default value of the action:
1963 `$$ = $1'.
1964
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];
1971
1972
1973 YY_REDUCE_PRINT (yyn);
1974 switch (yyn)
1975 {
1976 case 2:
1977
1978 /* Line 1455 of yacc.c */
1979 #line 308 "parser/faustparser.y"
1980 { (yyval.exp) = (yyvsp[(1) - (1)].exp); gResult = formatDefinitions((yyval.exp)); ;}
1981 break;
1982
1983 case 3:
1984
1985 /* Line 1455 of yacc.c */
1986 #line 311 "parser/faustparser.y"
1987 { (yyval.exp) = nil; ;}
1988 break;
1989
1990 case 4:
1991
1992 /* Line 1455 of yacc.c */
1993 #line 312 "parser/faustparser.y"
1994 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
1995 break;
1996
1997 case 5:
1998
1999 /* Line 1455 of yacc.c */
2000 #line 314 "parser/faustparser.y"
2001 { (yyval.exp) = nil; ;}
2002 break;
2003
2004 case 6:
2005
2006 /* Line 1455 of yacc.c */
2007 #line 315 "parser/faustparser.y"
2008 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
2009 break;
2010
2011 case 7:
2012
2013 /* Line 1455 of yacc.c */
2014 #line 318 "parser/faustparser.y"
2015 { (yyval.exp) = importFile((yyvsp[(3) - (5)].exp)); ;}
2016 break;
2017
2018 case 8:
2019
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; ;}
2023 break;
2024
2025 case 9:
2026
2027 /* Line 1455 of yacc.c */
2028 #line 320 "parser/faustparser.y"
2029 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
2030 break;
2031
2032 case 10:
2033
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; */ ;}
2037 break;
2038
2039 case 11:
2040
2041 /* Line 1455 of yacc.c */
2042 #line 324 "parser/faustparser.y"
2043 { (yyval.exp) = nil; ;}
2044 break;
2045
2046 case 12:
2047
2048 /* Line 1455 of yacc.c */
2049 #line 325 "parser/faustparser.y"
2050 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
2051 break;
2052
2053 case 13:
2054
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); ;}
2058 break;
2059
2060 case 14:
2061
2062 /* Line 1455 of yacc.c */
2063 #line 329 "parser/faustparser.y"
2064 { (yyval.exp) = docEqn((yyvsp[(1) - (1)].exp)); ;}
2065 break;
2066
2067 case 15:
2068
2069 /* Line 1455 of yacc.c */
2070 #line 330 "parser/faustparser.y"
2071 { (yyval.exp) = docDgm((yyvsp[(1) - (1)].exp)); ;}
2072 break;
2073
2074 case 16:
2075
2076 /* Line 1455 of yacc.c */
2077 #line 331 "parser/faustparser.y"
2078 { (yyval.exp) = docNtc(); ;}
2079 break;
2080
2081 case 17:
2082
2083 /* Line 1455 of yacc.c */
2084 #line 332 "parser/faustparser.y"
2085 { (yyval.exp) = docLst(); ;}
2086 break;
2087
2088 case 18:
2089
2090 /* Line 1455 of yacc.c */
2091 #line 333 "parser/faustparser.y"
2092 { (yyval.exp) = docMtd((yyvsp[(1) - (1)].exp)); ;}
2093 break;
2094
2095 case 19:
2096
2097 /* Line 1455 of yacc.c */
2098 #line 336 "parser/faustparser.y"
2099 { (yyval.cppstr) = new string(); ;}
2100 break;
2101
2102 case 20:
2103
2104 /* Line 1455 of yacc.c */
2105 #line 337 "parser/faustparser.y"
2106 { (yyval.cppstr) = &((yyvsp[(1) - (2)].cppstr)->append(yytext)); ;}
2107 break;
2108
2109 case 21:
2110
2111 /* Line 1455 of yacc.c */
2112 #line 340 "parser/faustparser.y"
2113 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
2114 break;
2115
2116 case 22:
2117
2118 /* Line 1455 of yacc.c */
2119 #line 343 "parser/faustparser.y"
2120 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
2121 break;
2122
2123 case 23:
2124
2125 /* Line 1455 of yacc.c */
2126 #line 346 "parser/faustparser.y"
2127 { ;}
2128 break;
2129
2130 case 24:
2131
2132 /* Line 1455 of yacc.c */
2133 #line 349 "parser/faustparser.y"
2134 { ;}
2135 break;
2136
2137 case 25:
2138
2139 /* Line 1455 of yacc.c */
2140 #line 352 "parser/faustparser.y"
2141 { ;}
2142 break;
2143
2144 case 26:
2145
2146 /* Line 1455 of yacc.c */
2147 #line 353 "parser/faustparser.y"
2148 { ;}
2149 break;
2150
2151 case 27:
2152
2153 /* Line 1455 of yacc.c */
2154 #line 356 "parser/faustparser.y"
2155 { gLstDependenciesSwitch = (yyvsp[(4) - (5)].b); ;}
2156 break;
2157
2158 case 28:
2159
2160 /* Line 1455 of yacc.c */
2161 #line 357 "parser/faustparser.y"
2162 { gStripDocSwitch = (yyvsp[(4) - (5)].b); gStripDocSwitch==true ? gStripDocSwitch=false : gStripDocSwitch=true; ;}
2163 break;
2164
2165 case 29:
2166
2167 /* Line 1455 of yacc.c */
2168 #line 358 "parser/faustparser.y"
2169 { gLstDistributedSwitch = (yyvsp[(4) - (5)].b); ;}
2170 break;
2171
2172 case 30:
2173
2174 /* Line 1455 of yacc.c */
2175 #line 361 "parser/faustparser.y"
2176 { (yyval.b) = true; ;}
2177 break;
2178
2179 case 31:
2180
2181 /* Line 1455 of yacc.c */
2182 #line 362 "parser/faustparser.y"
2183 { (yyval.b) = false; ;}
2184 break;
2185
2186 case 32:
2187
2188 /* Line 1455 of yacc.c */
2189 #line 365 "parser/faustparser.y"
2190 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
2191 break;
2192
2193 case 33:
2194
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))); ;}
2198 break;
2199
2200 case 34:
2201
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))); ;}
2205 break;
2206
2207 case 35:
2208
2209 /* Line 1455 of yacc.c */
2210 #line 370 "parser/faustparser.y"
2211 { (yyval.exp) = nil; yyerr++; ;}
2212 break;
2213
2214 case 36:
2215
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); ;}
2219 break;
2220
2221 case 37:
2222
2223 /* Line 1455 of yacc.c */
2224 #line 376 "parser/faustparser.y"
2225 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;}
2226 break;
2227
2228 case 38:
2229
2230 /* Line 1455 of yacc.c */
2231 #line 377 "parser/faustparser.y"
2232 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;}
2233 break;
2234
2235 case 39:
2236
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))); ;}
2240 break;
2241
2242 case 40:
2243
2244 /* Line 1455 of yacc.c */
2245 #line 381 "parser/faustparser.y"
2246 { (yyval.exp) = boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2247 break;
2248
2249 case 41:
2250
2251 /* Line 1455 of yacc.c */
2252 #line 382 "parser/faustparser.y"
2253 { (yyval.exp) = boxSeq((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2254 break;
2255
2256 case 42:
2257
2258 /* Line 1455 of yacc.c */
2259 #line 383 "parser/faustparser.y"
2260 { (yyval.exp) = boxSplit((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2261 break;
2262
2263 case 43:
2264
2265 /* Line 1455 of yacc.c */
2266 #line 384 "parser/faustparser.y"
2267 { (yyval.exp) = boxMerge((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2268 break;
2269
2270 case 44:
2271
2272 /* Line 1455 of yacc.c */
2273 #line 385 "parser/faustparser.y"
2274 { (yyval.exp) = boxRec((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2275 break;
2276
2277 case 45:
2278
2279 /* Line 1455 of yacc.c */
2280 #line 386 "parser/faustparser.y"
2281 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
2282 break;
2283
2284 case 46:
2285
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)); ;}
2289 break;
2290
2291 case 47:
2292
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)); ;}
2296 break;
2297
2298 case 48:
2299
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)); ;}
2303 break;
2304
2305 case 49:
2306
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)); ;}
2310 break;
2311
2312 case 50:
2313
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)); ;}
2317 break;
2318
2319 case 51:
2320
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()); ;}
2324 break;
2325
2326 case 52:
2327
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)); ;}
2331 break;
2332
2333 case 53:
2334
2335 /* Line 1455 of yacc.c */
2336 #line 396 "parser/faustparser.y"
2337 { (yyval.exp) = boxSeq((yyvsp[(1) - (2)].exp),boxPrim1(sigDelay1)); ;}
2338 break;
2339
2340 case 54:
2341
2342 /* Line 1455 of yacc.c */
2343 #line 397 "parser/faustparser.y"
2344 { (yyval.exp) = boxAccess((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
2345 break;
2346
2347 case 55:
2348
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)); ;}
2352 break;
2353
2354 case 56:
2355
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)); ;}
2359 break;
2360
2361 case 57:
2362
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)); ;}
2366 break;
2367
2368 case 58:
2369
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)); ;}
2373 break;
2374
2375 case 59:
2376
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)); ;}
2380 break;
2381
2382 case 60:
2383
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)); ;}
2387 break;
2388
2389 case 61:
2390
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)); ;}
2394 break;
2395
2396 case 62:
2397
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)); ;}
2401 break;
2402
2403 case 63:
2404
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)); ;}
2408 break;
2409
2410 case 64:
2411
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)); ;}
2415 break;
2416
2417 case 65:
2418
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)); ;}
2422 break;
2423
2424 case 66:
2425
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)); ;}
2429 break;
2430
2431 case 67:
2432
2433 /* Line 1455 of yacc.c */
2434 #line 415 "parser/faustparser.y"
2435 { (yyval.exp) = buildBoxAppl((yyvsp[(1) - (4)].exp),(yyvsp[(3) - (4)].exp)); ;}
2436 break;
2437
2438 case 68:
2439
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))); ;}
2443 break;
2444
2445 case 69:
2446
2447 /* Line 1455 of yacc.c */
2448 #line 418 "parser/faustparser.y"
2449 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
2450 break;
2451
2452 case 70:
2453
2454 /* Line 1455 of yacc.c */
2455 #line 421 "parser/faustparser.y"
2456 { (yyval.exp) = boxInt(atoi(yytext)); ;}
2457 break;
2458
2459 case 71:
2460
2461 /* Line 1455 of yacc.c */
2462 #line 422 "parser/faustparser.y"
2463 { (yyval.exp) = boxReal(atof(yytext)); ;}
2464 break;
2465
2466 case 72:
2467
2468 /* Line 1455 of yacc.c */
2469 #line 424 "parser/faustparser.y"
2470 { (yyval.exp) = boxInt (atoi(yytext)); ;}
2471 break;
2472
2473 case 73:
2474
2475 /* Line 1455 of yacc.c */
2476 #line 425 "parser/faustparser.y"
2477 { (yyval.exp) = boxReal(atof(yytext)); ;}
2478 break;
2479
2480 case 74:
2481
2482 /* Line 1455 of yacc.c */
2483 #line 427 "parser/faustparser.y"
2484 { (yyval.exp) = boxInt ( -atoi(yytext) ); ;}
2485 break;
2486
2487 case 75:
2488
2489 /* Line 1455 of yacc.c */
2490 #line 428 "parser/faustparser.y"
2491 { (yyval.exp) = boxReal( -atof(yytext) ); ;}
2492 break;
2493
2494 case 76:
2495
2496 /* Line 1455 of yacc.c */
2497 #line 430 "parser/faustparser.y"
2498 { (yyval.exp) = boxWire(); ;}
2499 break;
2500
2501 case 77:
2502
2503 /* Line 1455 of yacc.c */
2504 #line 431 "parser/faustparser.y"
2505 { (yyval.exp) = boxCut(); ;}
2506 break;
2507
2508 case 78:
2509
2510 /* Line 1455 of yacc.c */
2511 #line 433 "parser/faustparser.y"
2512 { (yyval.exp) = boxPrim1(sigDelay1); ;}
2513 break;
2514
2515 case 79:
2516
2517 /* Line 1455 of yacc.c */
2518 #line 434 "parser/faustparser.y"
2519 { (yyval.exp) = boxPrim2(sigPrefix); ;}
2520 break;
2521
2522 case 80:
2523
2524 /* Line 1455 of yacc.c */
2525 #line 436 "parser/faustparser.y"
2526 { (yyval.exp) = boxPrim1(sigIntCast); ;}
2527 break;
2528
2529 case 81:
2530
2531 /* Line 1455 of yacc.c */
2532 #line 437 "parser/faustparser.y"
2533 { (yyval.exp) = boxPrim1(sigFloatCast); ;}
2534 break;
2535
2536 case 82:
2537
2538 /* Line 1455 of yacc.c */
2539 #line 439 "parser/faustparser.y"
2540 { (yyval.exp) = boxPrim2(sigAdd); ;}
2541 break;
2542
2543 case 83:
2544
2545 /* Line 1455 of yacc.c */
2546 #line 440 "parser/faustparser.y"
2547 { (yyval.exp) = boxPrim2(sigSub); ;}
2548 break;
2549
2550 case 84:
2551
2552 /* Line 1455 of yacc.c */
2553 #line 441 "parser/faustparser.y"
2554 { (yyval.exp) = boxPrim2(sigMul); ;}
2555 break;
2556
2557 case 85:
2558
2559 /* Line 1455 of yacc.c */
2560 #line 442 "parser/faustparser.y"
2561 { (yyval.exp) = boxPrim2(sigDiv); ;}
2562 break;
2563
2564 case 86:
2565
2566 /* Line 1455 of yacc.c */
2567 #line 443 "parser/faustparser.y"
2568 { (yyval.exp) = boxPrim2(sigRem); ;}
2569 break;
2570
2571 case 87:
2572
2573 /* Line 1455 of yacc.c */
2574 #line 444 "parser/faustparser.y"
2575 { (yyval.exp) = boxPrim2(sigFixDelay); ;}
2576 break;
2577
2578 case 88:
2579
2580 /* Line 1455 of yacc.c */