00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #define YYBISON 1
00047
00048
00049 #define YYBISON_VERSION "2.4.1"
00050
00051
00052 #define YYSKELETON_NAME "yacc.c"
00053
00054
00055 #define YYPURE 0
00056
00057
00058 #define YYPUSH 0
00059
00060
00061 #define YYPULL 1
00062
00063
00064 #define YYLSP_NEEDED 0
00065
00066
00067
00068
00069
00070
00071 #line 5 "parser/faustparser.y"
00072
00073
00074 #include "tree.hh"
00075 #include "xtended.hh"
00076 #include "boxes.hh"
00077 #include "prim2.hh"
00078 #include "signals.hh"
00079 #include "errormsg.hh"
00080 #include "sourcereader.hh"
00081 #include "doc.hh"
00082 #include "ppbox.hh"
00083
00084 #include <string>
00085 #include <list>
00086
00087 #define YYDEBUG 1
00088 #define YYERROR_VERBOSE 1
00089 #define YYMAXDEPTH 100000
00090
00091 using namespace std;
00092
00093 extern char* yytext;
00094 extern const char* yyfilename;
00095 extern int yylineno;
00096 extern int yyerr;
00097 extern Tree gResult;
00098 extern bool gStripDocSwitch;
00099 extern bool gLstDependenciesSwitch;
00100 extern bool gLstDistributedSwitch;
00101 extern bool gLstMdocTagsSwitch;
00102
00103 extern map<Tree, set<Tree> > gMetaDataSet;
00104 extern vector<Tree> gDocVector;
00105
00106
00107 int yylex();
00108
00109 Tree unquote(char* str)
00110 {
00111
00112 char buf[512];
00113 int j=0;
00114
00115 if (str[0] == '"') {
00116
00117 for (int i=1; j<511 && str[i];) {
00118 buf[j++] = str[i++];
00119 }
00120
00121 if (j>0) buf[j-1] = 0;
00122 } else {
00123 for (int i=0; j<511 && str[i];) {
00124 buf[j++] = str[i++];
00125 }
00126 }
00127 buf[j] = 0;
00128
00129 return tree(buf);
00130
00131 }
00132
00133
00134
00135
00136 #line 137 "parser/faustparser.cpp"
00137
00138
00139 #ifndef YYDEBUG
00140 # define YYDEBUG 0
00141 #endif
00142
00143
00144 #ifdef YYERROR_VERBOSE
00145 # undef YYERROR_VERBOSE
00146 # define YYERROR_VERBOSE 1
00147 #else
00148 # define YYERROR_VERBOSE 0
00149 #endif
00150
00151
00152 #ifndef YYTOKEN_TABLE
00153 # define YYTOKEN_TABLE 0
00154 #endif
00155
00156
00157
00158 #ifndef YYTOKENTYPE
00159 # define YYTOKENTYPE
00160
00161
00162 enum yytokentype {
00163 WITH = 258,
00164 MIX = 259,
00165 SPLIT = 260,
00166 SEQ = 261,
00167 PAR = 262,
00168 REC = 263,
00169 NE = 264,
00170 GE = 265,
00171 GT = 266,
00172 EQ = 267,
00173 LE = 268,
00174 LT = 269,
00175 OR = 270,
00176 SUB = 271,
00177 ADD = 272,
00178 RSH = 273,
00179 LSH = 274,
00180 XOR = 275,
00181 AND = 276,
00182 MOD = 277,
00183 DIV = 278,
00184 MUL = 279,
00185 POWOP = 280,
00186 FDELAY = 281,
00187 DELAY1 = 282,
00188 DOT = 283,
00189 APPL = 284,
00190 MEM = 285,
00191 PREFIX = 286,
00192 INTCAST = 287,
00193 FLOATCAST = 288,
00194 FFUNCTION = 289,
00195 FCONSTANT = 290,
00196 FVARIABLE = 291,
00197 BUTTON = 292,
00198 CHECKBOX = 293,
00199 VSLIDER = 294,
00200 HSLIDER = 295,
00201 NENTRY = 296,
00202 VGROUP = 297,
00203 HGROUP = 298,
00204 TGROUP = 299,
00205 HBARGRAPH = 300,
00206 VBARGRAPH = 301,
00207 ATTACH = 302,
00208 ACOS = 303,
00209 ASIN = 304,
00210 ATAN = 305,
00211 ATAN2 = 306,
00212 COS = 307,
00213 SIN = 308,
00214 TAN = 309,
00215 EXP = 310,
00216 LOG = 311,
00217 LOG10 = 312,
00218 POWFUN = 313,
00219 SQRT = 314,
00220 ABS = 315,
00221 MIN = 316,
00222 MAX = 317,
00223 FMOD = 318,
00224 REMAINDER = 319,
00225 FLOOR = 320,
00226 CEIL = 321,
00227 RINT = 322,
00228 RDTBL = 323,
00229 RWTBL = 324,
00230 SELECT2 = 325,
00231 SELECT3 = 326,
00232 INT = 327,
00233 FLOAT = 328,
00234 LAMBDA = 329,
00235 WIRE = 330,
00236 CUT = 331,
00237 ENDDEF = 332,
00238 VIRG = 333,
00239 LPAR = 334,
00240 RPAR = 335,
00241 LBRAQ = 336,
00242 RBRAQ = 337,
00243 LCROC = 338,
00244 RCROC = 339,
00245 DEF = 340,
00246 IMPORT = 341,
00247 COMPONENT = 342,
00248 LIBRARY = 343,
00249 ENVIRONMENT = 344,
00250 IPAR = 345,
00251 ISEQ = 346,
00252 ISUM = 347,
00253 IPROD = 348,
00254 STRING = 349,
00255 FSTRING = 350,
00256 IDENT = 351,
00257 EXTRA = 352,
00258 DECLARE = 353,
00259 CASE = 354,
00260 ARROW = 355,
00261 BDOC = 356,
00262 EDOC = 357,
00263 BEQN = 358,
00264 EEQN = 359,
00265 BDGM = 360,
00266 EDGM = 361,
00267 BLST = 362,
00268 ELST = 363,
00269 BMETADATA = 364,
00270 EMETADATA = 365,
00271 DOCCHAR = 366,
00272 NOTICE = 367,
00273 LISTING = 368,
00274 LSTTRUE = 369,
00275 LSTFALSE = 370,
00276 LSTDEPENDENCIES = 371,
00277 LSTMDOCTAGS = 372,
00278 LSTDISTRIBUTED = 373,
00279 LSTEQ = 374,
00280 LSTQ = 375
00281 };
00282 #endif
00283
00284
00285
00286 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
00287 typedef union YYSTYPE
00288 {
00289
00290
00291 #line 69 "parser/faustparser.y"
00292
00293 CTree* exp;
00294 char* str;
00295 string* cppstr;
00296 bool b;
00297
00298
00299
00300
00301 #line 302 "parser/faustparser.cpp"
00302 } YYSTYPE;
00303 # define YYSTYPE_IS_TRIVIAL 1
00304 # define yystype YYSTYPE
00305 # define YYSTYPE_IS_DECLARED 1
00306 #endif
00307
00308
00309
00310
00311
00312
00313 #line 314 "parser/faustparser.cpp"
00314
00315 #ifdef short
00316 # undef short
00317 #endif
00318
00319 #ifdef YYTYPE_UINT8
00320 typedef YYTYPE_UINT8 yytype_uint8;
00321 #else
00322 typedef unsigned char yytype_uint8;
00323 #endif
00324
00325 #ifdef YYTYPE_INT8
00326 typedef YYTYPE_INT8 yytype_int8;
00327 #elif (defined __STDC__ || defined __C99__FUNC__ \
00328 || defined __cplusplus || defined _MSC_VER)
00329 typedef signed char yytype_int8;
00330 #else
00331 typedef short int yytype_int8;
00332 #endif
00333
00334 #ifdef YYTYPE_UINT16
00335 typedef YYTYPE_UINT16 yytype_uint16;
00336 #else
00337 typedef unsigned short int yytype_uint16;
00338 #endif
00339
00340 #ifdef YYTYPE_INT16
00341 typedef YYTYPE_INT16 yytype_int16;
00342 #else
00343 typedef short int yytype_int16;
00344 #endif
00345
00346 #ifndef YYSIZE_T
00347 # ifdef __SIZE_TYPE__
00348 # define YYSIZE_T __SIZE_TYPE__
00349 # elif defined size_t
00350 # define YYSIZE_T size_t
00351 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
00352 || defined __cplusplus || defined _MSC_VER)
00353 # include <stddef.h>
00354 # define YYSIZE_T size_t
00355 # else
00356 # define YYSIZE_T unsigned int
00357 # endif
00358 #endif
00359
00360 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
00361
00362 #ifndef YY_
00363 # if YYENABLE_NLS
00364 # if ENABLE_NLS
00365 # include <libintl.h>
00366 # define YY_(msgid) dgettext ("bison-runtime", msgid)
00367 # endif
00368 # endif
00369 # ifndef YY_
00370 # define YY_(msgid) msgid
00371 # endif
00372 #endif
00373
00374
00375 #if ! defined lint || defined __GNUC__
00376 # define YYUSE(e) ((void) (e))
00377 #else
00378 # define YYUSE(e)
00379 #endif
00380
00381
00382 #ifndef lint
00383 # define YYID(n) (n)
00384 #else
00385 #if (defined __STDC__ || defined __C99__FUNC__ \
00386 || defined __cplusplus || defined _MSC_VER)
00387 static int
00388 YYID (int yyi)
00389 #else
00390 static int
00391 YYID (yyi)
00392 int yyi;
00393 #endif
00394 {
00395 return yyi;
00396 }
00397 #endif
00398
00399 #if ! defined yyoverflow || YYERROR_VERBOSE
00400
00401
00402
00403 # ifdef YYSTACK_USE_ALLOCA
00404 # if YYSTACK_USE_ALLOCA
00405 # ifdef __GNUC__
00406 # define YYSTACK_ALLOC __builtin_alloca
00407 # elif defined __BUILTIN_VA_ARG_INCR
00408 # include <alloca.h>
00409 # elif defined _AIX
00410 # define YYSTACK_ALLOC __alloca
00411 # elif defined _MSC_VER
00412 # include <malloc.h>
00413 # define alloca _alloca
00414 # else
00415 # define YYSTACK_ALLOC alloca
00416 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00417 || defined __cplusplus || defined _MSC_VER)
00418 # include <stdlib.h>
00419 # ifndef _STDLIB_H
00420 # define _STDLIB_H 1
00421 # endif
00422 # endif
00423 # endif
00424 # endif
00425 # endif
00426
00427 # ifdef YYSTACK_ALLOC
00428
00429 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
00430 # ifndef YYSTACK_ALLOC_MAXIMUM
00431
00432
00433
00434
00435 # define YYSTACK_ALLOC_MAXIMUM 4032
00436 # endif
00437 # else
00438 # define YYSTACK_ALLOC YYMALLOC
00439 # define YYSTACK_FREE YYFREE
00440 # ifndef YYSTACK_ALLOC_MAXIMUM
00441 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
00442 # endif
00443 # if (defined __cplusplus && ! defined _STDLIB_H \
00444 && ! ((defined YYMALLOC || defined malloc) \
00445 && (defined YYFREE || defined free)))
00446 # include <stdlib.h>
00447 # ifndef _STDLIB_H
00448 # define _STDLIB_H 1
00449 # endif
00450 # endif
00451 # ifndef YYMALLOC
00452 # define YYMALLOC malloc
00453 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00454 || defined __cplusplus || defined _MSC_VER)
00455 void *malloc (YYSIZE_T);
00456 # endif
00457 # endif
00458 # ifndef YYFREE
00459 # define YYFREE free
00460 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
00461 || defined __cplusplus || defined _MSC_VER)
00462 void free (void *);
00463 # endif
00464 # endif
00465 # endif
00466 #endif
00467
00468
00469 #if (! defined yyoverflow \
00470 && (! defined __cplusplus \
00471 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
00472
00473
00474 union yyalloc
00475 {
00476 yytype_int16 yyss_alloc;
00477 YYSTYPE yyvs_alloc;
00478 };
00479
00480
00481 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
00482
00483
00484
00485 # define YYSTACK_BYTES(N) \
00486 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
00487 + YYSTACK_GAP_MAXIMUM)
00488
00489
00490
00491 # ifndef YYCOPY
00492 # if defined __GNUC__ && 1 < __GNUC__
00493 # define YYCOPY(To, From, Count) \
00494 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00495 # else
00496 # define YYCOPY(To, From, Count) \
00497 do \
00498 { \
00499 YYSIZE_T yyi; \
00500 for (yyi = 0; yyi < (Count); yyi++) \
00501 (To)[yyi] = (From)[yyi]; \
00502 } \
00503 while (YYID (0))
00504 # endif
00505 # endif
00506
00507
00508
00509
00510
00511
00512 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
00513 do \
00514 { \
00515 YYSIZE_T yynewbytes; \
00516 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
00517 Stack = &yyptr->Stack_alloc; \
00518 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
00519 yyptr += yynewbytes / sizeof (*yyptr); \
00520 } \
00521 while (YYID (0))
00522
00523 #endif
00524
00525
00526 #define YYFINAL 3
00527
00528 #define YYLAST 600
00529
00530
00531 #define YYNTOKENS 121
00532
00533 #define YYNNTS 52
00534
00535 #define YYNRULES 188
00536
00537 #define YYNSTATES 406
00538
00539
00540 #define YYUNDEFTOK 2
00541 #define YYMAXUTOK 375
00542
00543 #define YYTRANSLATE(YYX) \
00544 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
00545
00546
00547 static const yytype_uint8 yytranslate[] =
00548 {
00549 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00550 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00552 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00553 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00555 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00574 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
00575 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
00576 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
00577 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
00578 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
00579 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
00580 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
00581 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
00582 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
00583 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
00584 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
00585 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
00586 115, 116, 117, 118, 119, 120
00587 };
00588
00589 #if YYDEBUG
00590
00591
00592 static const yytype_uint16 yyprhs[] =
00593 {
00594 0, 0, 3, 5, 6, 9, 10, 13, 19, 24,
00595 26, 30, 31, 34, 36, 38, 40, 42, 44, 46,
00596 47, 50, 54, 58, 60, 64, 65, 68, 74, 80,
00597 86, 88, 90, 94, 102, 107, 110, 112, 114, 118,
00598 124, 128, 132, 136, 140, 144, 146, 150, 154, 158,
00599 162, 166, 170, 174, 177, 181, 185, 189, 193, 197,
00600 201, 205, 209, 213, 217, 221, 225, 230, 235, 237,
00601 239, 241, 244, 247, 250, 253, 255, 257, 259, 261,
00602 263, 265, 267, 269, 271, 273, 275, 277, 279, 281,
00603 283, 285, 287, 289, 291, 293, 295, 297, 299, 301,
00604 303, 305, 307, 309, 311, 313, 315, 317, 319, 321,
00605 323, 325, 327, 329, 331, 333, 335, 337, 339, 341,
00606 343, 345, 347, 349, 351, 353, 356, 360, 369, 374,
00607 376, 378, 380, 385, 390, 395, 397, 399, 401, 403,
00608 405, 407, 409, 411, 413, 415, 417, 419, 421, 423,
00609 425, 427, 429, 433, 437, 441, 445, 449, 451, 453,
00610 455, 457, 459, 468, 477, 486, 495, 504, 512, 520,
00611 525, 530, 543, 556, 569, 576, 583, 590, 599, 608,
00612 614, 619, 621, 623, 627, 629, 632, 639, 641
00613 };
00614
00615
00616 static const yytype_int16 yyrhs[] =
00617 {
00618 122, 0, -1, 123, -1, -1, 123, 125, -1, -1,
00619 124, 137, -1, 86, 79, 148, 80, 77, -1, 98,
00620 144, 147, 77, -1, 137, -1, 101, 126, 102, -1,
00621 -1, 126, 127, -1, 128, -1, 129, -1, 130, -1,
00622 131, -1, 132, -1, 136, -1, -1, 128, 111, -1,
00623 103, 140, 104, -1, 105, 140, 106, -1, 112, -1,
00624 107, 133, 108, -1, -1, 133, 134, -1, 116, 119,
00625 120, 135, 120, -1, 117, 119, 120, 135, 120, -1,
00626 118, 119, 120, 135, 120, -1, 114, -1, 115, -1,
00627 109, 144, 110, -1, 138, 79, 145, 80, 85, 140,
00628 77, -1, 138, 85, 140, 77, -1, 1, 77, -1,
00629 143, -1, 143, -1, 139, 7, 143, -1, 140, 3,
00630 81, 124, 82, -1, 140, 7, 140, -1, 140, 6,
00631 140, -1, 140, 5, 140, -1, 140, 4, 140, -1,
00632 140, 8, 140, -1, 141, -1, 141, 17, 141, -1,
00633 141, 16, 141, -1, 141, 24, 141, -1, 141, 23,
00634 141, -1, 141, 22, 141, -1, 141, 25, 141, -1,
00635 141, 26, 141, -1, 141, 27, -1, 141, 28, 143,
00636 -1, 141, 21, 141, -1, 141, 15, 141, -1, 141,
00637 20, 141, -1, 141, 19, 141, -1, 141, 18, 141,
00638 -1, 141, 14, 141, -1, 141, 13, 141, -1, 141,
00639 11, 141, -1, 141, 10, 141, -1, 141, 12, 141,
00640 -1, 141, 9, 141, -1, 141, 79, 145, 80, -1,
00641 141, 83, 124, 84, -1, 142, -1, 72, -1, 73,
00642 -1, 17, 72, -1, 17, 73, -1, 16, 72, -1,
00643 16, 73, -1, 75, -1, 76, -1, 30, -1, 31,
00644 -1, 32, -1, 33, -1, 17, -1, 16, -1, 24,
00645 -1, 23, -1, 22, -1, 26, -1, 21, -1, 15,
00646 -1, 20, -1, 19, -1, 18, -1, 14, -1, 13,
00647 -1, 11, -1, 10, -1, 12, -1, 9, -1, 47,
00648 -1, 48, -1, 49, -1, 50, -1, 51, -1, 52,
00649 -1, 53, -1, 54, -1, 55, -1, 56, -1, 57,
00650 -1, 25, -1, 58, -1, 59, -1, 60, -1, 61,
00651 -1, 62, -1, 63, -1, 64, -1, 65, -1, 66,
00652 -1, 67, -1, 68, -1, 69, -1, 70, -1, 71,
00653 -1, 143, -1, 16, 143, -1, 79, 140, 80, -1,
00654 74, 79, 139, 80, 28, 79, 140, 80, -1, 99,
00655 81, 170, 82, -1, 154, -1, 155, -1, 156, -1,
00656 87, 79, 148, 80, -1, 88, 79, 148, 80, -1,
00657 89, 81, 124, 82, -1, 157, -1, 158, -1, 159,
00658 -1, 160, -1, 161, -1, 162, -1, 163, -1, 164,
00659 -1, 165, -1, 166, -1, 150, -1, 151, -1, 152,
00660 -1, 153, -1, 96, -1, 96, -1, 146, -1, 145,
00661 7, 146, -1, 146, 6, 146, -1, 146, 5, 146,
00662 -1, 146, 4, 146, -1, 146, 8, 146, -1, 141,
00663 -1, 94, -1, 94, -1, 94, -1, 95, -1, 90,
00664 79, 143, 7, 146, 7, 140, 80, -1, 91, 79,
00665 143, 7, 146, 7, 140, 80, -1, 92, 79, 143,
00666 7, 146, 7, 140, 80, -1, 93, 79, 143, 7,
00667 146, 7, 140, 80, -1, 34, 79, 167, 7, 149,
00668 7, 147, 80, -1, 35, 79, 172, 144, 7, 149,
00669 80, -1, 36, 79, 172, 144, 7, 149, 80, -1,
00670 37, 79, 148, 80, -1, 38, 79, 148, 80, -1,
00671 39, 79, 148, 7, 146, 7, 146, 7, 146, 7,
00672 146, 80, -1, 40, 79, 148, 7, 146, 7, 146,
00673 7, 146, 7, 146, 80, -1, 41, 79, 148, 7,
00674 146, 7, 146, 7, 146, 7, 146, 80, -1, 42,
00675 79, 148, 7, 140, 80, -1, 43, 79, 148, 7,
00676 140, 80, -1, 44, 79, 148, 7, 140, 80, -1,
00677 46, 79, 148, 7, 146, 7, 146, 80, -1, 45,
00678 79, 148, 7, 146, 7, 146, 80, -1, 172, 168,
00679 79, 169, 80, -1, 172, 168, 79, 80, -1, 96,
00680 -1, 172, -1, 169, 7, 172, -1, 171, -1, 170,
00681 171, -1, 79, 145, 80, 100, 140, 77, -1, 32,
00682 -1, 33, -1
00683 };
00684
00685
00686 static const yytype_uint16 yyrline[] =
00687 {
00688 0, 292, 292, 295, 296, 298, 299, 302, 303, 304,
00689 305, 308, 309, 312, 313, 314, 315, 316, 317, 320,
00690 321, 324, 327, 330, 333, 336, 337, 340, 341, 342,
00691 345, 346, 349, 352, 353, 354, 357, 360, 361, 364,
00692 365, 366, 367, 368, 369, 370, 373, 374, 375, 376,
00693 377, 378, 379, 380, 381, 383, 384, 385, 387, 388,
00694 390, 391, 392, 393, 394, 395, 397, 398, 400, 403,
00695 404, 406, 407, 409, 410, 412, 413, 415, 416, 418,
00696 419, 421, 422, 423, 424, 425, 426, 428, 429, 430,
00697 432, 433, 435, 436, 437, 438, 439, 440, 442, 444,
00698 445, 446, 447, 448, 449, 450, 452, 453, 454, 455,
00699 456, 457, 459, 460, 461, 463, 464, 466, 467, 468,
00700 471, 472, 474, 475, 477, 478, 480, 481, 484, 486,
00701 487, 488, 489, 490, 491, 493, 494, 495, 496, 497,
00702 498, 499, 500, 501, 502, 504, 505, 506, 507, 511,
00703 514, 519, 520, 523, 524, 525, 526, 527, 530, 533,
00704 536, 537, 542, 546, 550, 554, 561, 565, 568, 573,
00705 576, 579, 582, 585, 588, 591, 594, 598, 601, 607,
00706 608, 611, 614, 615, 618, 619, 622, 626, 627
00707 };
00708 #endif
00709
00710 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
00711
00712
00713 static const char *const yytname[] =
00714 {
00715 "$end", "error", "$undefined", "WITH", "MIX", "SPLIT", "SEQ", "PAR",
00716 "REC", "NE", "GE", "GT", "EQ", "LE", "LT", "OR", "SUB", "ADD", "RSH",
00717 "LSH", "XOR", "AND", "MOD", "DIV", "MUL", "POWOP", "FDELAY", "DELAY1",
00718 "DOT", "APPL", "MEM", "PREFIX", "INTCAST", "FLOATCAST", "FFUNCTION",
00719 "FCONSTANT", "FVARIABLE", "BUTTON", "CHECKBOX", "VSLIDER", "HSLIDER",
00720 "NENTRY", "VGROUP", "HGROUP", "TGROUP", "HBARGRAPH", "VBARGRAPH",
00721 "ATTACH", "ACOS", "ASIN", "ATAN", "ATAN2", "COS", "SIN", "TAN", "EXP",
00722 "LOG", "LOG10", "POWFUN", "SQRT", "ABS", "MIN", "MAX", "FMOD",
00723 "REMAINDER", "FLOOR", "CEIL", "RINT", "RDTBL", "RWTBL", "SELECT2",
00724 "SELECT3", "INT", "FLOAT", "LAMBDA", "WIRE", "CUT", "ENDDEF", "VIRG",
00725 "LPAR", "RPAR", "LBRAQ", "RBRAQ", "LCROC", "RCROC", "DEF", "IMPORT",
00726 "COMPONENT", "LIBRARY", "ENVIRONMENT", "IPAR", "ISEQ", "ISUM", "IPROD",
00727 "STRING", "FSTRING", "IDENT", "EXTRA", "DECLARE", "CASE", "ARROW",
00728 "BDOC", "EDOC", "BEQN", "EEQN", "BDGM", "EDGM", "BLST", "ELST",
00729 "BMETADATA", "EMETADATA", "DOCCHAR", "NOTICE", "LISTING", "LSTTRUE",
00730 "LSTFALSE", "LSTDEPENDENCIES", "LSTMDOCTAGS", "LSTDISTRIBUTED", "LSTEQ",
00731 "LSTQ", "$accept", "program", "stmtlist", "deflist", "statement", "doc",
00732 "docelem", "doctxt", "doceqn", "docdgm", "docntc", "doclst",
00733 "lstattrlist", "lstattrdef", "lstattrval", "docmtd", "definition",
00734 "defname", "params", "expression", "infixexp", "primitive", "ident",
00735 "name", "arglist", "argument", "string", "uqstring", "fstring", "fpar",
00736 "fseq", "fsum", "fprod", "ffunction", "fconst", "fvariable", "button",
00737 "checkbox", "vslider", "hslider", "nentry", "vgroup", "hgroup", "tgroup",
00738 "vbargraph", "hbargraph", "signature", "fun", "typelist", "rulelist",
00739 "rule", "type", 0
00740 };
00741 #endif
00742
00743 # ifdef YYPRINT
00744
00745
00746 static const yytype_uint16 yytoknum[] =
00747 {
00748 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
00749 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
00750 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
00751 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
00752 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
00753 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
00754 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
00755 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
00756 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
00757 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
00758 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
00759 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
00760 375
00761 };
00762 # endif
00763
00764
00765 static const yytype_uint8 yyr1[] =
00766 {
00767 0, 121, 122, 123, 123, 124, 124, 125, 125, 125,
00768 125, 126, 126, 127, 127, 127, 127, 127, 127, 128,
00769 128, 129, 130, 131, 132, 133, 133, 134, 134, 134,
00770 135, 135, 136, 137, 137, 137, 138, 139, 139, 140,
00771 140, 140, 140, 140, 140, 140, 141, 141, 141, 141,
00772 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
00773 141, 141, 141, 141, 141, 141, 141, 141, 141, 142,
00774 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00775 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00776 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00777 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00778 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00779 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00780 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
00781 142, 142, 142, 142, 142, 142, 142, 142, 142, 143,
00782 144, 145, 145, 146, 146, 146, 146, 146, 147, 148,
00783 149, 149, 150, 151, 152, 153, 154, 155, 156, 157,
00784 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
00785 167, 168, 169, 169, 170, 170, 171, 172, 172
00786 };
00787
00788
00789 static const yytype_uint8 yyr2[] =
00790 {
00791 0, 2, 1, 0, 2, 0, 2, 5, 4, 1,
00792 3, 0, 2, 1, 1, 1, 1, 1, 1, 0,
00793 2, 3, 3, 1, 3, 0, 2, 5, 5, 5,
00794 1, 1, 3, 7, 4, 2, 1, 1, 3, 5,
00795 3, 3, 3, 3, 3, 1, 3, 3, 3, 3,
00796 3, 3, 3, 2, 3, 3, 3, 3, 3, 3,
00797 3, 3, 3, 3, 3, 3, 4, 4, 1, 1,
00798 1, 2, 2, 2, 2, 1, 1, 1, 1, 1,
00799 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00801 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00803 1, 1, 1, 1, 1, 2, 3, 8, 4, 1,
00804 1, 1, 4, 4, 4, 1, 1, 1, 1, 1,
00805 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00806 1, 1, 3, 3, 3, 3, 3, 1, 1, 1,
00807 1, 1, 8, 8, 8, 8, 8, 7, 7, 4,
00808 4, 12, 12, 12, 6, 6, 6, 8, 8, 5,
00809 4, 1, 1, 3, 1, 2, 6, 1, 1
00810 };
00811
00812
00813
00814
00815 static const yytype_uint8 yydefact[] =
00816 {
00817 3, 0, 0, 1, 0, 0, 149, 0, 11, 4,
00818 9, 0, 36, 35, 0, 150, 0, 19, 0, 0,
00819 159, 0, 158, 0, 10, 0, 0, 25, 0, 23,
00820 12, 13, 14, 15, 16, 17, 18, 97, 95, 94,
00821 96, 93, 92, 88, 82, 81, 91, 90, 89, 87,
00822 85, 84, 83, 109, 86, 77, 78, 79, 80, 0,
00823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00824 0, 0, 98, 99, 100, 101, 102, 103, 104, 105,
00825 106, 107, 108, 110, 111, 112, 113, 114, 115, 116,
00826 117, 118, 119, 120, 121, 122, 123, 69, 70, 0,
00827 75, 76, 0, 0, 0, 0, 0, 0, 0, 0,
00828 0, 157, 68, 124, 0, 151, 145, 146, 147, 148,
00829 129, 130, 131, 135, 136, 137, 138, 139, 140, 141,
00830 142, 143, 144, 0, 45, 0, 8, 0, 0, 0,
00831 0, 20, 73, 74, 125, 71, 72, 0, 0, 0,
00832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00833 0, 0, 0, 0, 5, 0, 0, 0, 0, 0,
00834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00835 0, 0, 0, 0, 0, 0, 0, 0, 53, 0,
00836 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
00837 0, 0, 0, 0, 34, 7, 21, 22, 24, 0,
00838 0, 0, 26, 32, 187, 188, 0, 0, 0, 0,
00839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00840 0, 37, 126, 0, 0, 0, 0, 0, 0, 0,
00841 0, 0, 184, 65, 63, 62, 64, 61, 60, 56,
00842 47, 46, 59, 58, 57, 55, 50, 49, 48, 51,
00843 52, 54, 0, 0, 152, 0, 155, 154, 153, 156,
00844 5, 43, 42, 41, 40, 44, 0, 0, 0, 0,
00845 181, 0, 0, 0, 169, 170, 0, 0, 0, 0,
00846 0, 0, 0, 0, 0, 0, 132, 133, 134, 6,
00847 0, 0, 0, 0, 0, 128, 185, 66, 67, 0,
00848 0, 0, 0, 0, 160, 161, 0, 0, 0, 0,
00849 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,
00850 0, 0, 0, 0, 0, 33, 39, 30, 31, 0,
00851 0, 0, 0, 180, 0, 182, 0, 0, 0, 0,
00852 0, 174, 175, 176, 0, 0, 0, 0, 0, 0,
00853 0, 0, 27, 28, 29, 0, 0, 179, 167, 168,
00854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00855 0, 166, 183, 0, 0, 0, 178, 177, 127, 162,
00856 163, 164, 165, 186, 0, 0, 0, 0, 0, 0,
00857 0, 0, 0, 171, 172, 173
00858 };
00859
00860
00861 static const yytype_int16 yydefgoto[] =
00862 {
00863 -1, 1, 2, 235, 9, 17, 30, 31, 32, 33,
00864 34, 35, 139, 212, 339, 36, 299, 11, 230, 133,
00865 111, 112, 113, 16, 114, 115, 23, 21, 316, 116,
00866 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
00867 127, 128, 129, 130, 131, 132, 216, 281, 344, 241,
00868 242, 217
00869 };
00870
00871
00872
00873 #define YYPACT_NINF -189
00874 static const yytype_int16 yypact[] =
00875 {
00876 -189, 36, 8, -189, -66, -25, -189, -9, -189, -189,
00877 -189, 13, -189, -189, -4, -189, 3, 178, 342, 342,
00878 -189, 30, -189, 60, -189, 342, 342, -189, -9, -189,
00879 -189, 31, -189, -189, -189, -189, -189, -189, -189, -189,
00880 -189, -189, -189, -189, 23, -29, -189, -189, -189, -189,
00881 -189, -189, -189, -189, -189, -189, -189, -189, -189, 172,
00882 183, 195, 200, 203, 205, 210, 212, 214, 220, 226,
00883 248, 249, -189, -189, -189, -189, -189, -189, -189, -189,
00884 -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
00885 -189, -189, -189, -189, -189, -189, -189, -189, -189, 252,
00886 -189, -189, 342, 253, 254, 118, 257, 270, 292, 340,
00887 225, 440, -189, -189, 19, 296, -189, -189, -189, -189,
00888 -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
00889 -189, -189, -189, 25, 440, 241, -189, 17, 11, 61,
00890 219, -189, -189, -189, -189, -189, -189, 101, 101, 101,
00891 -4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
00892 273, 43, -4, -4, -189, 273, 273, 273, 273, 341,
00893 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
00894 342, 342, 342, 342, 342, 342, 342, 342, -189, 273,
00895 342, -189, 342, 343, 342, 342, 342, 342, 344, 342,
00896 342, 342, 342, 342, -189, -189, -189, -189, -189, 308,
00897 317, 320, -189, -189, -189, -189, 430, 349, -9, -9,
00898 360, 367, 441, 487, 488, 489, 490, 507, 508, 509,
00899 27, -189, -189, 437, 442, 4, 513, 514, 522, 523,
00900 342, 6, -189, 454, 454, 454, 454, 454, 454, 465,
00901 465, 465, 190, 190, 190, 190, 190, 190, 190, 41,
00902 209, -189, 38, 9, 296, 342, 95, 95, 524, -189,
00903 -189, 133, 133, 120, 526, -189, 411, 415, 416, 107,
00904 -189, 464, 538, 539, -189, -189, 342, 342, 342, 342,
00905 342, 342, 342, 342, 273, 519, -189, -189, -189, -189,
00906 342, 342, 342, 342, 45, -189, -189, -189, -189, 73,
00907 26, 89, 89, 89, -189, -189, 582, 116, 107, 107,
00908 260, 318, 495, 52, 58, 67, 500, 505, -189, 511,
00909 520, 534, 545, 550, 491, -189, -189, -189, -189, 472,
00910 473, 474, 3, -189, 46, -189, 515, 516, 342, 342,
00911 342, -189, -189, -189, 342, 342, 342, 342, 342, 342,
00912 342, 342, -189, -189, -189, 517, 101, -189, -189, -189,
00913 555, 560, 565, 239, 255, 168, 206, 217, 227, 250,
00914 108, -189, -189, 342, 342, 342, -189, -189, -189, -189,
00915 -189, -189, -189, -189, 570, 575, 580, 342, 342, 342,
00916 290, 418, 438, -189, -189, -189
00917 };
00918
00919
00920 static const yytype_int16 yypgoto[] =
00921 {
00922 -189, -189, -189, -188, -189, -189, -189, -189, -189, -189,
00923 -189, -189, -189, -189, -74, -189, 596, -189, -189, -13,
00924 -19, -189, 40, -24, -149, -157, 258, 158, -69, -189,
00925 -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
00926 -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
00927 358, -147
00928 };
00929
00930
00931
00932
00933
00934 #define YYTABLE_NINF -3
00935 static const yytype_int16 yytable[] =
00936 {
00937 134, 218, 219, 263, 140, 4, 134, 134, -2, 4,
00938 4, 13, 137, 138, 198, 199, 200, 201, 202, 203,
00939 198, 199, 200, 201, 202, 203, 192, 4, 198, 199,
00940 200, 201, 202, 203, 294, 264, 3, 266, 267, 268,
00941 269, 262, 12, 145, 146, 192, 198, 199, 200, 201,
00942 202, 203, 192, 366, 14, 198, 199, 200, 201, 202,
00943 203, 198, 199, 200, 201, 202, 203, 187, 188, 189,
00944 198, 199, 200, 201, 202, 203, 198, 199, 200, 201,
00945 202, 203, 310, 134, 144, 240, 298, 15, 305, 161,
00946 20, 304, 18, 308, 5, 142, 143, 22, 19, 193,
00947 6, 196, 204, 197, 6, 6, 7, 295, 336, 8,
00948 135, 198, 199, 200, 201, 202, 203, 207, 307, 6,
00949 190, 206, 6, 232, 191, 334, 367, 202, 203, 320,
00950 321, 322, 351, 214, 215, 326, 327, 136, 352, 201,
00951 202, 203, 141, 330, 331, 332, 333, 353, 214, 215,
00952 335, 243, 244, 245, 246, 247, 248, 249, 250, 251,
00953 252, 253, 254, 255, 256, 257, 258, 259, 260, 208,
00954 345, 198, 199, 200, 201, 202, 203, 209, 210, 211,
00955 134, 134, 134, 134, 134, 393, 271, 272, 273, 274,
00956 275, 370, 371, 372, 282, 283, 343, 373, 374, 164,
00957 231, 314, 315, 337, 338, 236, 237, 238, 239, 198,
00958 199, 200, 201, 202, 203, 186, 187, 188, 189, 382,
00959 198, 199, 200, 201, 202, 203, 394, 395, 396, 261,
00960 198, 199, 200, 201, 202, 203, 188, 189, 340, 341,
00961 400, 401, 402, 194, 195, 196, 134, 197, 388, 346,
00962 347, 147, 309, 198, 199, 200, 201, 202, 203, 194,
00963 195, 196, 148, 197, 194, 195, 196, 348, 197, 190,
00964 134, 134, 134, 191, 149, 12, 323, 324, 325, 150,
00965 24, 25, 151, 26, 152, 27, 389, 28, 190, 153,
00966 29, 154, 191, 155, 194, 195, 196, 390, 197, 156,
00967 194, 195, 196, 12, 197, 157, 169, 391, 220, 221,
00968 222, 223, 224, 225, 226, 227, 228, 229, 205, 386,
00969 233, 234, 194, 195, 196, 349, 197, 158, 159, 213,
00970 392, 160, 162, 163, 328, 387, 165, 134, 134, 134,
00971 134, 134, 134, 375, 376, 377, 378, 379, 380, 166,
00972 12, 37, 38, 39, 40, 41, 42, 43, 44, 45,
00973 46, 47, 48, 49, 50, 51, 52, 53, 54, 6,
00974 403, 167, 55, 56, 57, 58, 59, 60, 61, 62,
00975 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
00976 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
00977 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
00978 93, 94, 95, 96, 97, 98, 99, 100, 101, 168,
00979 240, 102, 194, 195, 196, 270, 197, 276, 265, 103,
00980 104, 105, 106, 107, 108, 109, 277, 279, 6, 278,
00981 284, 110, 194, 195, 196, 280, 197, 285, 286, 170,
00982 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
00983 181, 182, 183, 184, 185, 186, 187, 188, 189, 176,
00984 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
00985 187, 188, 189, 179, 180, 181, 182, 183, 184, 185,
00986 186, 187, 188, 189, 287, 288, 289, 290, 404, 194,
00987 195, 196, 350, 197, 194, 195, 196, 354, 197, 194,
00988 195, 196, 355, 197, 291, 292, 293, 296, 405, 190,
00989 300, 301, 297, 191, 194, 195, 196, 357, 197, 302,
00990 303, 311, 197, 190, 203, 312, 313, 191, 194, 195,
00991 196, 358, 197, 317, 190, 318, 319, 329, 191, 194,
00992 195, 196, 359, 197, 194, 195, 196, 360, 197, 194,
00993 195, 196, 383, 197, 194, 195, 196, 384, 197, 194,
00994 195, 196, 385, 197, 194, 195, 196, 397, 197, 194,
00995 195, 196, 398, 197, 194, 195, 196, 399, 197, 342,
00996 356, 361, 362, 363, 364, 368, 369, 381, 10, 306,
00997 365
00998 };
00999
01000 static const yytype_uint16 yycheck[] =
01001 {
01002 19, 148, 149, 191, 28, 1, 25, 26, 0, 1,
01003 1, 77, 25, 26, 3, 4, 5, 6, 7, 8,
01004 3, 4, 5, 6, 7, 8, 7, 1, 3, 4,
01005 5, 6, 7, 8, 7, 192, 0, 194, 195, 196,
01006 197, 190, 2, 72, 73, 7, 3, 4, 5, 6,
01007 7, 8, 7, 7, 79, 3, 4, 5, 6, 7,
01008 8, 3, 4, 5, 6, 7, 8, 26, 27, 28,
01009 3, 4, 5, 6, 7, 8, 3, 4, 5, 6,
01010 7, 8, 270, 102, 44, 79, 82, 96, 82, 102,
01011 94, 240, 79, 84, 86, 72, 73, 94, 85, 80,
01012 96, 6, 77, 8, 96, 96, 98, 80, 82, 101,
01013 80, 3, 4, 5, 6, 7, 8, 106, 80, 96,
01014 79, 104, 96, 80, 83, 80, 80, 7, 8, 286,
01015 287, 288, 80, 32, 33, 292, 293, 77, 80, 6,
01016 7, 8, 111, 300, 301, 302, 303, 80, 32, 33,
01017 77, 170, 171, 172, 173, 174, 175, 176, 177, 178,
01018 179, 180, 181, 182, 183, 184, 185, 186, 187, 108,
01019 317, 3, 4, 5, 6, 7, 8, 116, 117, 118,
01020 199, 200, 201, 202, 203, 77, 199, 200, 201, 202,
01021 203, 348, 349, 350, 218, 219, 80, 354, 355, 81,
01022 160, 94, 95, 114, 115, 165, 166, 167, 168, 3,
01023 4, 5, 6, 7, 8, 25, 26, 27, 28, 366,
01024 3, 4, 5, 6, 7, 8, 383, 384, 385, 189,
01025 3, 4, 5, 6, 7, 8, 27, 28, 312, 313,
01026 397, 398, 399, 4, 5, 6, 265, 8, 80, 318,
01027 319, 79, 265, 3, 4, 5, 6, 7, 8, 4,
01028 5, 6, 79, 8, 4, 5, 6, 7, 8, 79,
01029 289, 290, 291, 83, 79, 235, 289, 290, 291, 79,
01030 102, 103, 79, 105, 79, 107, 80, 109, 79, 79,
01031 112, 79, 83, 79, 4, 5, 6, 80, 8, 79,
01032 4, 5, 6, 263, 8, 79, 81, 80, 150, 151,
01033 152, 153, 154, 155, 156, 157, 158, 159, 77, 80,
01034 162, 163, 4, 5, 6, 7, 8, 79, 79, 110,
01035 80, 79, 79, 79, 294, 80, 79, 356, 357, 358,
01036 359, 360, 361, 356, 357, 358, 359, 360, 361, 79,
01037 310, 9, 10, 11, 12, 13, 14, 15, 16, 17,
01038 18, 19, 20, 21, 22, 23, 24, 25, 26, 96,
01039 80, 79, 30, 31, 32, 33, 34, 35, 36, 37,
01040 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
01041 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
01042 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
01043 68, 69, 70, 71, 72, 73, 74, 75, 76, 79,
01044 79, 79, 4, 5, 6, 81, 8, 119, 85, 87,
01045 88, 89, 90, 91, 92, 93, 119, 7, 96, 119,
01046 80, 99, 4, 5, 6, 96, 8, 80, 7, 9,
01047 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
01048 20, 21, 22, 23, 24, 25, 26, 27, 28, 15,
01049 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
01050 26, 27, 28, 18, 19, 20, 21, 22, 23, 24,
01051 25, 26, 27, 28, 7, 7, 7, 7, 80, 4,
01052 5, 6, 7, 8, 4, 5, 6, 7, 8, 4,
01053 5, 6, 7, 8, 7, 7, 7, 80, 80, 79,
01054 7, 7, 80, 83, 4, 5, 6, 7, 8, 7,
01055 7, 120, 8, 79, 8, 120, 120, 83, 4, 5,
01056 6, 7, 8, 79, 79, 7, 7, 28, 83, 4,
01057 5, 6, 7, 8, 4, 5, 6, 7, 8, 4,
01058 5, 6, 7, 8, 4, 5, 6, 7, 8, 4,
01059 5, 6, 7, 8, 4, 5, 6, 7, 8, 4,
01060 5, 6, 7, 8, 4, 5, 6, 7, 8, 7,
01061 79, 100, 120, 120, 120, 80, 80, 80, 2, 241,
01062 342
01063 };
01064
01065
01066
01067 static const yytype_uint8 yystos[] =
01068 {
01069 0, 122, 123, 0, 1, 86, 96, 98, 101, 125,
01070 137, 138, 143, 77, 79, 96, 144, 126, 79, 85,
01071 94, 148, 94, 147, 102, 103, 105, 107, 109, 112,
01072 127, 128, 129, 130, 131, 132, 136, 9, 10, 11,
01073 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
01074 22, 23, 24, 25, 26, 30, 31, 32, 33, 34,
01075 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
01076 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
01077 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
01078 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
01079 75, 76, 79, 87, 88, 89, 90, 91, 92, 93,
01080 99, 141, 142, 143, 145, 146, 150, 151, 152, 153,
01081 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
01082 164, 165, 166, 140, 141, 80, 77, 140, 140, 133,
01083 144, 111, 72, 73, 143, 72, 73, 79, 79, 79,
01084 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
01085 79, 140, 79, 79, 81, 79, 79, 79, 79, 81,
01086 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
01087 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
01088 79, 83, 7, 80, 4, 5, 6, 8, 3, 4,
01089 5, 6, 7, 8, 77, 77, 104, 106, 108, 116,
01090 117, 118, 134, 110, 32, 33, 167, 172, 172, 172,
01091 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
01092 139, 143, 80, 148, 148, 124, 143, 143, 143, 143,
01093 79, 170, 171, 141, 141, 141, 141, 141, 141, 141,
01094 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
01095 141, 143, 145, 124, 146, 85, 146, 146, 146, 146,
01096 81, 140, 140, 140, 140, 140, 119, 119, 119, 7,
01097 96, 168, 144, 144, 80, 80, 7, 7, 7, 7,
01098 7, 7, 7, 7, 7, 80, 80, 80, 82, 137,
01099 7, 7, 7, 7, 145, 82, 171, 80, 84, 140,
01100 124, 120, 120, 120, 94, 95, 149, 79, 7, 7,
01101 146, 146, 146, 140, 140, 140, 146, 146, 143, 28,
01102 146, 146, 146, 146, 80, 77, 82, 114, 115, 135,
01103 135, 135, 7, 80, 169, 172, 149, 149, 7, 7,
01104 7, 80, 80, 80, 7, 7, 79, 7, 7, 7,
01105 7, 100, 120, 120, 120, 147, 7, 80, 80, 80,
01106 146, 146, 146, 146, 146, 140, 140, 140, 140, 140,
01107 140, 80, 172, 7, 7, 7, 80, 80, 80, 80,
01108 80, 80, 80, 77, 146, 146, 146, 7, 7, 7,
01109 146, 146, 146, 80, 80, 80
01110 };
01111
01112 #define yyerrok (yyerrstatus = 0)
01113 #define yyclearin (yychar = YYEMPTY)
01114 #define YYEMPTY (-2)
01115 #define YYEOF 0
01116
01117 #define YYACCEPT goto yyacceptlab
01118 #define YYABORT goto yyabortlab
01119 #define YYERROR goto yyerrorlab
01120
01121
01122
01123
01124
01125
01126 #define YYFAIL goto yyerrlab
01127
01128 #define YYRECOVERING() (!!yyerrstatus)
01129
01130 #define YYBACKUP(Token, Value) \
01131 do \
01132 if (yychar == YYEMPTY && yylen == 1) \
01133 { \
01134 yychar = (Token); \
01135 yylval = (Value); \
01136 yytoken = YYTRANSLATE (yychar); \
01137 YYPOPSTACK (1); \
01138 goto yybackup; \
01139 } \
01140 else \
01141 { \
01142 yyerror (YY_("syntax error: cannot back up")); \
01143 YYERROR; \
01144 } \
01145 while (YYID (0))
01146
01147
01148 #define YYTERROR 1
01149 #define YYERRCODE 256
01150
01151
01152
01153
01154
01155
01156 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
01157 #ifndef YYLLOC_DEFAULT
01158 # define YYLLOC_DEFAULT(Current, Rhs, N) \
01159 do \
01160 if (YYID (N)) \
01161 { \
01162 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
01163 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
01164 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
01165 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
01166 } \
01167 else \
01168 { \
01169 (Current).first_line = (Current).last_line = \
01170 YYRHSLOC (Rhs, 0).last_line; \
01171 (Current).first_column = (Current).last_column = \
01172 YYRHSLOC (Rhs, 0).last_column; \
01173 } \
01174 while (YYID (0))
01175 #endif
01176
01177
01178
01179
01180
01181
01182 #ifndef YY_LOCATION_PRINT
01183 # if YYLTYPE_IS_TRIVIAL
01184 # define YY_LOCATION_PRINT(File, Loc) \
01185 fprintf (File, "%d.%d-%d.%d", \
01186 (Loc).first_line, (Loc).first_column, \
01187 (Loc).last_line, (Loc).last_column)
01188 # else
01189 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
01190 # endif
01191 #endif
01192
01193
01194
01195
01196 #ifdef YYLEX_PARAM
01197 # define YYLEX yylex (YYLEX_PARAM)
01198 #else
01199 # define YYLEX yylex ()
01200 #endif
01201
01202
01203 #if YYDEBUG
01204
01205 # ifndef YYFPRINTF
01206 # include <stdio.h>
01207 # define YYFPRINTF fprintf
01208 # endif
01209
01210 # define YYDPRINTF(Args) \
01211 do { \
01212 if (yydebug) \
01213 YYFPRINTF Args; \
01214 } while (YYID (0))
01215
01216 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
01217 do { \
01218 if (yydebug) \
01219 { \
01220 YYFPRINTF (stderr, "%s ", Title); \
01221 yy_symbol_print (stderr, \
01222 Type, Value); \
01223 YYFPRINTF (stderr, "\n"); \
01224 } \
01225 } while (YYID (0))
01226
01227
01228
01229
01230
01231
01232
01233 #if (defined __STDC__ || defined __C99__FUNC__ \
01234 || defined __cplusplus || defined _MSC_VER)
01235 static void
01236 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
01237 #else
01238 static void
01239 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
01240 FILE *yyoutput;
01241 int yytype;
01242 YYSTYPE const * const yyvaluep;
01243 #endif
01244 {
01245 if (!yyvaluep)
01246 return;
01247 # ifdef YYPRINT
01248 if (yytype < YYNTOKENS)
01249 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
01250 # else
01251 YYUSE (yyoutput);
01252 # endif
01253 switch (yytype)
01254 {
01255 default:
01256 break;
01257 }
01258 }
01259
01260
01261
01262
01263
01264
01265 #if (defined __STDC__ || defined __C99__FUNC__ \
01266 || defined __cplusplus || defined _MSC_VER)
01267 static void
01268 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
01269 #else
01270 static void
01271 yy_symbol_print (yyoutput, yytype, yyvaluep)
01272 FILE *yyoutput;
01273 int yytype;
01274 YYSTYPE const * const yyvaluep;
01275 #endif
01276 {
01277 if (yytype < YYNTOKENS)
01278 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
01279 else
01280 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
01281
01282 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
01283 YYFPRINTF (yyoutput, ")");
01284 }
01285
01286
01287
01288
01289
01290
01291 #if (defined __STDC__ || defined __C99__FUNC__ \
01292 || defined __cplusplus || defined _MSC_VER)
01293 static void
01294 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
01295 #else
01296 static void
01297 yy_stack_print (yybottom, yytop)
01298 yytype_int16 *yybottom;
01299 yytype_int16 *yytop;
01300 #endif
01301 {
01302 YYFPRINTF (stderr, "Stack now");
01303 for (; yybottom <= yytop; yybottom++)
01304 {
01305 int yybot = *yybottom;
01306 YYFPRINTF (stderr, " %d", yybot);
01307 }
01308 YYFPRINTF (stderr, "\n");
01309 }
01310
01311 # define YY_STACK_PRINT(Bottom, Top) \
01312 do { \
01313 if (yydebug) \
01314 yy_stack_print ((Bottom), (Top)); \
01315 } while (YYID (0))
01316
01317
01318
01319
01320
01321
01322 #if (defined __STDC__ || defined __C99__FUNC__ \
01323 || defined __cplusplus || defined _MSC_VER)
01324 static void
01325 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
01326 #else
01327 static void
01328 yy_reduce_print (yyvsp, yyrule)
01329 YYSTYPE *yyvsp;
01330 int yyrule;
01331 #endif
01332 {
01333 int yynrhs = yyr2[yyrule];
01334 int yyi;
01335 unsigned long int yylno = yyrline[yyrule];
01336 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
01337 yyrule - 1, yylno);
01338
01339 for (yyi = 0; yyi < yynrhs; yyi++)
01340 {
01341 YYFPRINTF (stderr, " $%d = ", yyi + 1);
01342 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
01343 &(yyvsp[(yyi + 1) - (yynrhs)])
01344 );
01345 YYFPRINTF (stderr, "\n");
01346 }
01347 }
01348
01349 # define YY_REDUCE_PRINT(Rule) \
01350 do { \
01351 if (yydebug) \
01352 yy_reduce_print (yyvsp, Rule); \
01353 } while (YYID (0))
01354
01355
01356
01357 int yydebug;
01358 #else
01359 # define YYDPRINTF(Args)
01360 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
01361 # define YY_STACK_PRINT(Bottom, Top)
01362 # define YY_REDUCE_PRINT(Rule)
01363 #endif
01364
01365
01366
01367 #ifndef YYINITDEPTH
01368 # define YYINITDEPTH 200
01369 #endif
01370
01371
01372
01373
01374
01375
01376
01377
01378 #ifndef YYMAXDEPTH
01379 # define YYMAXDEPTH 10000
01380 #endif
01381
01382
01383
01384 #if YYERROR_VERBOSE
01385
01386 # ifndef yystrlen
01387 # if defined __GLIBC__ && defined _STRING_H
01388 # define yystrlen strlen
01389 # else
01390
01391 #if (defined __STDC__ || defined __C99__FUNC__ \
01392 || defined __cplusplus || defined _MSC_VER)
01393 static YYSIZE_T
01394 yystrlen (const char *yystr)
01395 #else
01396 static YYSIZE_T
01397 yystrlen (yystr)
01398 const char *yystr;
01399 #endif
01400 {
01401 YYSIZE_T yylen;
01402 for (yylen = 0; yystr[yylen]; yylen++)
01403 continue;
01404 return yylen;
01405 }
01406 # endif
01407 # endif
01408
01409 # ifndef yystpcpy
01410 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
01411 # define yystpcpy stpcpy
01412 # else
01413
01414
01415 #if (defined __STDC__ || defined __C99__FUNC__ \
01416 || defined __cplusplus || defined _MSC_VER)
01417 static char *
01418 yystpcpy (char *yydest, const char *yysrc)
01419 #else
01420 static char *
01421 yystpcpy (yydest, yysrc)
01422 char *yydest;
01423 const char *yysrc;
01424 #endif
01425 {
01426 char *yyd = yydest;
01427 const char *yys = yysrc;
01428
01429 while ((*yyd++ = *yys++) != '\0')
01430 continue;
01431
01432 return yyd - 1;
01433 }
01434 # endif
01435 # endif
01436
01437 # ifndef yytnamerr
01438
01439
01440
01441
01442
01443
01444
01445 static YYSIZE_T
01446 yytnamerr (char *yyres, const char *yystr)
01447 {
01448 if (*yystr == '"')
01449 {
01450 YYSIZE_T yyn = 0;
01451 char const *yyp = yystr;
01452
01453 for (;;)
01454 switch (*++yyp)
01455 {
01456 case '\'':
01457 case ',':
01458 goto do_not_strip_quotes;
01459
01460 case '\\':
01461 if (*++yyp != '\\')
01462 goto do_not_strip_quotes;
01463
01464 default:
01465 if (yyres)
01466 yyres[yyn] = *yyp;
01467 yyn++;
01468 break;
01469
01470 case '"':
01471 if (yyres)
01472 yyres[yyn] = '\0';
01473 return yyn;
01474 }
01475 do_not_strip_quotes: ;
01476 }
01477
01478 if (! yyres)
01479 return yystrlen (yystr);
01480
01481 return yystpcpy (yyres, yystr) - yyres;
01482 }
01483 # endif
01484
01485
01486
01487
01488
01489
01490
01491
01492 static YYSIZE_T
01493 yysyntax_error (char *yyresult, int yystate, int yychar)
01494 {
01495 int yyn = yypact[yystate];
01496
01497 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
01498 return 0;
01499 else
01500 {
01501 int yytype = YYTRANSLATE (yychar);
01502 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
01503 YYSIZE_T yysize = yysize0;
01504 YYSIZE_T yysize1;
01505 int yysize_overflow = 0;
01506 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
01507 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
01508 int yyx;
01509
01510 # if 0
01511
01512
01513 YY_("syntax error, unexpected %s");
01514 YY_("syntax error, unexpected %s, expecting %s");
01515 YY_("syntax error, unexpected %s, expecting %s or %s");
01516 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
01517 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
01518 # endif
01519 char *yyfmt;
01520 char const *yyf;
01521 static char const yyunexpected[] = "syntax error, unexpected %s";
01522 static char const yyexpecting[] = ", expecting %s";
01523 static char const yyor[] = " or %s";
01524 char yyformat[sizeof yyunexpected
01525 + sizeof yyexpecting - 1
01526 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
01527 * (sizeof yyor - 1))];
01528 char const *yyprefix = yyexpecting;
01529
01530
01531
01532 int yyxbegin = yyn < 0 ? -yyn : 0;
01533
01534
01535 int yychecklim = YYLAST - yyn + 1;
01536 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
01537 int yycount = 1;
01538
01539 yyarg[0] = yytname[yytype];
01540 yyfmt = yystpcpy (yyformat, yyunexpected);
01541
01542 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
01543 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
01544 {
01545 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
01546 {
01547 yycount = 1;
01548 yysize = yysize0;
01549 yyformat[sizeof yyunexpected - 1] = '\0';
01550 break;
01551 }
01552 yyarg[yycount++] = yytname[yyx];
01553 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
01554 yysize_overflow |= (yysize1 < yysize);
01555 yysize = yysize1;
01556 yyfmt = yystpcpy (yyfmt, yyprefix);
01557 yyprefix = yyor;
01558 }
01559
01560 yyf = YY_(yyformat);
01561 yysize1 = yysize + yystrlen (yyf);
01562 yysize_overflow |= (yysize1 < yysize);
01563 yysize = yysize1;
01564
01565 if (yysize_overflow)
01566 return YYSIZE_MAXIMUM;
01567
01568 if (yyresult)
01569 {
01570
01571
01572
01573 char *yyp = yyresult;
01574 int yyi = 0;
01575 while ((*yyp = *yyf) != '\0')
01576 {
01577 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
01578 {
01579 yyp += yytnamerr (yyp, yyarg[yyi++]);
01580 yyf += 2;
01581 }
01582 else
01583 {
01584 yyp++;
01585 yyf++;
01586 }
01587 }
01588 }
01589 return yysize;
01590 }
01591 }
01592 #endif
01593
01594
01595
01596
01597
01598
01599
01600 #if (defined __STDC__ || defined __C99__FUNC__ \
01601 || defined __cplusplus || defined _MSC_VER)
01602 static void
01603 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
01604 #else
01605 static void
01606 yydestruct (yymsg, yytype, yyvaluep)
01607 const char *yymsg;
01608 int yytype;
01609 YYSTYPE *yyvaluep;
01610 #endif
01611 {
01612 YYUSE (yyvaluep);
01613
01614 if (!yymsg)
01615 yymsg = "Deleting";
01616 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
01617
01618 switch (yytype)
01619 {
01620
01621 default:
01622 break;
01623 }
01624 }
01625
01626
01627 #ifdef YYPARSE_PARAM
01628 #if defined __STDC__ || defined __cplusplus
01629 int yyparse (void *YYPARSE_PARAM);
01630 #else
01631 int yyparse ();
01632 #endif
01633 #else
01634 #if defined __STDC__ || defined __cplusplus
01635 int yyparse (void);
01636 #else
01637 int yyparse ();
01638 #endif
01639 #endif
01640
01641
01642
01643 int yychar;
01644
01645
01646 YYSTYPE yylval;
01647
01648
01649 int yynerrs;
01650
01651
01652
01653
01654
01655
01656
01657 #ifdef YYPARSE_PARAM
01658 #if (defined __STDC__ || defined __C99__FUNC__ \
01659 || defined __cplusplus || defined _MSC_VER)
01660 int
01661 yyparse (void *YYPARSE_PARAM)
01662 #else
01663 int
01664 yyparse (YYPARSE_PARAM)
01665 void *YYPARSE_PARAM;
01666 #endif
01667 #else
01668 #if (defined __STDC__ || defined __C99__FUNC__ \
01669 || defined __cplusplus || defined _MSC_VER)
01670 int
01671 yyparse (void)
01672 #else
01673 int
01674 yyparse ()
01675
01676 #endif
01677 #endif
01678 {
01679
01680
01681 int yystate;
01682
01683 int yyerrstatus;
01684
01685
01686
01687
01688
01689
01690
01691
01692
01693 yytype_int16 yyssa[YYINITDEPTH];
01694 yytype_int16 *yyss;
01695 yytype_int16 *yyssp;
01696
01697
01698 YYSTYPE yyvsa[YYINITDEPTH];
01699 YYSTYPE *yyvs;
01700 YYSTYPE *yyvsp;
01701
01702 YYSIZE_T yystacksize;
01703
01704 int yyn;
01705 int yyresult;
01706
01707 int yytoken;
01708
01709
01710 YYSTYPE yyval;
01711
01712 #if YYERROR_VERBOSE
01713
01714 char yymsgbuf[128];
01715 char *yymsg = yymsgbuf;
01716 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
01717 #endif
01718
01719 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
01720
01721
01722
01723 int yylen = 0;
01724
01725 yytoken = 0;
01726 yyss = yyssa;
01727 yyvs = yyvsa;
01728 yystacksize = YYINITDEPTH;
01729
01730 YYDPRINTF ((stderr, "Starting parse\n"));
01731
01732 yystate = 0;
01733 yyerrstatus = 0;
01734 yynerrs = 0;
01735 yychar = YYEMPTY;
01736
01737
01738
01739
01740
01741 yyssp = yyss;
01742 yyvsp = yyvs;
01743
01744 goto yysetstate;
01745
01746
01747
01748
01749 yynewstate:
01750
01751
01752 yyssp++;
01753
01754 yysetstate:
01755 *yyssp = yystate;
01756
01757 if (yyss + yystacksize - 1 <= yyssp)
01758 {
01759
01760 YYSIZE_T yysize = yyssp - yyss + 1;
01761
01762 #ifdef yyoverflow
01763 {
01764
01765
01766
01767 YYSTYPE *yyvs1 = yyvs;
01768 yytype_int16 *yyss1 = yyss;
01769
01770
01771
01772
01773
01774 yyoverflow (YY_("memory exhausted"),
01775 &yyss1, yysize * sizeof (*yyssp),
01776 &yyvs1, yysize * sizeof (*yyvsp),
01777 &yystacksize);
01778
01779 yyss = yyss1;
01780 yyvs = yyvs1;
01781 }
01782 #else
01783 # ifndef YYSTACK_RELOCATE
01784 goto yyexhaustedlab;
01785 # else
01786
01787 if (YYMAXDEPTH <= yystacksize)
01788 goto yyexhaustedlab;
01789 yystacksize *= 2;
01790 if (YYMAXDEPTH < yystacksize)
01791 yystacksize = YYMAXDEPTH;
01792
01793 {
01794 yytype_int16 *yyss1 = yyss;
01795 union yyalloc *yyptr =
01796 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
01797 if (! yyptr)
01798 goto yyexhaustedlab;
01799 YYSTACK_RELOCATE (yyss_alloc, yyss);
01800 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
01801 # undef YYSTACK_RELOCATE
01802 if (yyss1 != yyssa)
01803 YYSTACK_FREE (yyss1);
01804 }
01805 # endif
01806 #endif
01807
01808 yyssp = yyss + yysize - 1;
01809 yyvsp = yyvs + yysize - 1;
01810
01811 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
01812 (unsigned long int) yystacksize));
01813
01814 if (yyss + yystacksize - 1 <= yyssp)
01815 YYABORT;
01816 }
01817
01818 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
01819
01820 if (yystate == YYFINAL)
01821 YYACCEPT;
01822
01823 goto yybackup;
01824
01825
01826
01827
01828 yybackup:
01829
01830
01831
01832
01833
01834 yyn = yypact[yystate];
01835 if (yyn == YYPACT_NINF)
01836 goto yydefault;
01837
01838
01839
01840
01841 if (yychar == YYEMPTY)
01842 {
01843 YYDPRINTF ((stderr, "Reading a token: "));
01844 yychar = YYLEX;
01845 }
01846
01847 if (yychar <= YYEOF)
01848 {
01849 yychar = yytoken = YYEOF;
01850 YYDPRINTF ((stderr, "Now at end of input.\n"));
01851 }
01852 else
01853 {
01854 yytoken = YYTRANSLATE (yychar);
01855 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
01856 }
01857
01858
01859
01860 yyn += yytoken;
01861 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
01862 goto yydefault;
01863 yyn = yytable[yyn];
01864 if (yyn <= 0)
01865 {
01866 if (yyn == 0 || yyn == YYTABLE_NINF)
01867 goto yyerrlab;
01868 yyn = -yyn;
01869 goto yyreduce;
01870 }
01871
01872
01873
01874 if (yyerrstatus)
01875 yyerrstatus--;
01876
01877
01878 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
01879
01880
01881 yychar = YYEMPTY;
01882
01883 yystate = yyn;
01884 *++yyvsp = yylval;
01885
01886 goto yynewstate;
01887
01888
01889
01890
01891
01892 yydefault:
01893 yyn = yydefact[yystate];
01894 if (yyn == 0)
01895 goto yyerrlab;
01896 goto yyreduce;
01897
01898
01899
01900
01901
01902 yyreduce:
01903
01904 yylen = yyr2[yyn];
01905
01906
01907
01908
01909
01910
01911
01912
01913
01914 yyval = yyvsp[1-yylen];
01915
01916
01917 YY_REDUCE_PRINT (yyn);
01918 switch (yyn)
01919 {
01920 case 2:
01921
01922
01923 #line 292 "parser/faustparser.y"
01924 { (yyval.exp) = (yyvsp[(1) - (1)].exp); gResult = formatDefinitions((yyval.exp)); ;}
01925 break;
01926
01927 case 3:
01928
01929
01930 #line 295 "parser/faustparser.y"
01931 { (yyval.exp) = nil; ;}
01932 break;
01933
01934 case 4:
01935
01936
01937 #line 296 "parser/faustparser.y"
01938 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
01939 break;
01940
01941 case 5:
01942
01943
01944 #line 298 "parser/faustparser.y"
01945 { (yyval.exp) = nil; ;}
01946 break;
01947
01948 case 6:
01949
01950
01951 #line 299 "parser/faustparser.y"
01952 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
01953 break;
01954
01955 case 7:
01956
01957
01958 #line 302 "parser/faustparser.y"
01959 { (yyval.exp) = importFile((yyvsp[(3) - (5)].exp)); ;}
01960 break;
01961
01962 case 8:
01963
01964
01965 #line 303 "parser/faustparser.y"
01966 { declareMetadata((yyvsp[(2) - (4)].exp),(yyvsp[(3) - (4)].exp)); (yyval.exp) = nil; ;}
01967 break;
01968
01969 case 9:
01970
01971
01972 #line 304 "parser/faustparser.y"
01973 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
01974 break;
01975
01976 case 10:
01977
01978
01979 #line 305 "parser/faustparser.y"
01980 { declareDoc((yyvsp[(2) - (3)].exp)); (yyval.exp) = nil; ;}
01981 break;
01982
01983 case 11:
01984
01985
01986 #line 308 "parser/faustparser.y"
01987 { (yyval.exp) = nil; ;}
01988 break;
01989
01990 case 12:
01991
01992
01993 #line 309 "parser/faustparser.y"
01994 { (yyval.exp) = cons ((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
01995 break;
01996
01997 case 13:
01998
01999
02000 #line 312 "parser/faustparser.y"
02001 { (yyval.exp) = docTxt((yyvsp[(1) - (1)].cppstr)->c_str()); delete (yyvsp[(1) - (1)].cppstr); ;}
02002 break;
02003
02004 case 14:
02005
02006
02007 #line 313 "parser/faustparser.y"
02008 { (yyval.exp) = docEqn((yyvsp[(1) - (1)].exp)); ;}
02009 break;
02010
02011 case 15:
02012
02013
02014 #line 314 "parser/faustparser.y"
02015 { (yyval.exp) = docDgm((yyvsp[(1) - (1)].exp)); ;}
02016 break;
02017
02018 case 16:
02019
02020
02021 #line 315 "parser/faustparser.y"
02022 { (yyval.exp) = docNtc(); ;}
02023 break;
02024
02025 case 17:
02026
02027
02028 #line 316 "parser/faustparser.y"
02029 { (yyval.exp) = docLst(); ;}
02030 break;
02031
02032 case 18:
02033
02034
02035 #line 317 "parser/faustparser.y"
02036 { (yyval.exp) = docMtd((yyvsp[(1) - (1)].exp)); ;}
02037 break;
02038
02039 case 19:
02040
02041
02042 #line 320 "parser/faustparser.y"
02043 { (yyval.cppstr) = new string(); ;}
02044 break;
02045
02046 case 20:
02047
02048
02049 #line 321 "parser/faustparser.y"
02050 { (yyval.cppstr) = &((yyvsp[(1) - (2)].cppstr)->append(yytext)); ;}
02051 break;
02052
02053 case 21:
02054
02055
02056 #line 324 "parser/faustparser.y"
02057 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
02058 break;
02059
02060 case 22:
02061
02062
02063 #line 327 "parser/faustparser.y"
02064 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
02065 break;
02066
02067 case 23:
02068
02069
02070 #line 330 "parser/faustparser.y"
02071 { ;}
02072 break;
02073
02074 case 24:
02075
02076
02077 #line 333 "parser/faustparser.y"
02078 { ;}
02079 break;
02080
02081 case 25:
02082
02083
02084 #line 336 "parser/faustparser.y"
02085 { ;}
02086 break;
02087
02088 case 26:
02089
02090
02091 #line 337 "parser/faustparser.y"
02092 { ;}
02093 break;
02094
02095 case 27:
02096
02097
02098 #line 340 "parser/faustparser.y"
02099 { gLstDependenciesSwitch = (yyvsp[(4) - (5)].b); ;}
02100 break;
02101
02102 case 28:
02103
02104
02105 #line 341 "parser/faustparser.y"
02106 { gStripDocSwitch = (yyvsp[(4) - (5)].b); gStripDocSwitch==true ? gStripDocSwitch=false : gStripDocSwitch=true; ;}
02107 break;
02108
02109 case 29:
02110
02111
02112 #line 342 "parser/faustparser.y"
02113 { gLstDistributedSwitch = (yyvsp[(4) - (5)].b); ;}
02114 break;
02115
02116 case 30:
02117
02118
02119 #line 345 "parser/faustparser.y"
02120 { (yyval.b) = true; ;}
02121 break;
02122
02123 case 31:
02124
02125
02126 #line 346 "parser/faustparser.y"
02127 { (yyval.b) = false; ;}
02128 break;
02129
02130 case 32:
02131
02132
02133 #line 349 "parser/faustparser.y"
02134 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
02135 break;
02136
02137 case 33:
02138
02139
02140 #line 352 "parser/faustparser.y"
02141 { (yyval.exp) = cons((yyvsp[(1) - (7)].exp),cons((yyvsp[(3) - (7)].exp),(yyvsp[(6) - (7)].exp))); ;}
02142 break;
02143
02144 case 34:
02145
02146
02147 #line 353 "parser/faustparser.y"
02148 { (yyval.exp) = cons((yyvsp[(1) - (4)].exp),cons(nil,(yyvsp[(3) - (4)].exp))); ;}
02149 break;
02150
02151 case 35:
02152
02153
02154 #line 354 "parser/faustparser.y"
02155 { (yyval.exp) = nil; yyerr++; ;}
02156 break;
02157
02158 case 36:
02159
02160
02161 #line 357 "parser/faustparser.y"
02162 { (yyval.exp)=(yyvsp[(1) - (1)].exp); setDefProp((yyvsp[(1) - (1)].exp), yyfilename, yylineno); ;}
02163 break;
02164
02165 case 37:
02166
02167
02168 #line 360 "parser/faustparser.y"
02169 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;}
02170 break;
02171
02172 case 38:
02173
02174
02175 #line 361 "parser/faustparser.y"
02176 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;}
02177 break;
02178
02179 case 39:
02180
02181
02182 #line 364 "parser/faustparser.y"
02183 { (yyval.exp) = boxWithLocalDef((yyvsp[(1) - (5)].exp),formatDefinitions((yyvsp[(4) - (5)].exp))); ;}
02184 break;
02185
02186 case 40:
02187
02188
02189 #line 365 "parser/faustparser.y"
02190 { (yyval.exp) = boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02191 break;
02192
02193 case 41:
02194
02195
02196 #line 366 "parser/faustparser.y"
02197 { (yyval.exp) = boxSeq((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02198 break;
02199
02200 case 42:
02201
02202
02203 #line 367 "parser/faustparser.y"
02204 { (yyval.exp) = boxSplit((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02205 break;
02206
02207 case 43:
02208
02209
02210 #line 368 "parser/faustparser.y"
02211 { (yyval.exp) = boxMerge((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02212 break;
02213
02214 case 44:
02215
02216
02217 #line 369 "parser/faustparser.y"
02218 { (yyval.exp) = boxRec((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02219 break;
02220
02221 case 45:
02222
02223
02224 #line 370 "parser/faustparser.y"
02225 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02226 break;
02227
02228 case 46:
02229
02230
02231 #line 373 "parser/faustparser.y"
02232 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigAdd)); ;}
02233 break;
02234
02235 case 47:
02236
02237
02238 #line 374 "parser/faustparser.y"
02239 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigSub)); ;}
02240 break;
02241
02242 case 48:
02243
02244
02245 #line 375 "parser/faustparser.y"
02246 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigMul)); ;}
02247 break;
02248
02249 case 49:
02250
02251
02252 #line 376 "parser/faustparser.y"
02253 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigDiv)); ;}
02254 break;
02255
02256 case 50:
02257
02258
02259 #line 377 "parser/faustparser.y"
02260 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigRem)); ;}
02261 break;
02262
02263 case 51:
02264
02265
02266 #line 378 "parser/faustparser.y"
02267 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),gPowPrim->box()); ;}
02268 break;
02269
02270 case 52:
02271
02272
02273 #line 379 "parser/faustparser.y"
02274 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigFixDelay)); ;}
02275 break;
02276
02277 case 53:
02278
02279
02280 #line 380 "parser/faustparser.y"
02281 { (yyval.exp) = boxSeq((yyvsp[(1) - (2)].exp),boxPrim1(sigDelay1)); ;}
02282 break;
02283
02284 case 54:
02285
02286
02287 #line 381 "parser/faustparser.y"
02288 { (yyval.exp) = boxAccess((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02289 break;
02290
02291 case 55:
02292
02293
02294 #line 383 "parser/faustparser.y"
02295 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigAND)); ;}
02296 break;
02297
02298 case 56:
02299
02300
02301 #line 384 "parser/faustparser.y"
02302 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigOR)); ;}
02303 break;
02304
02305 case 57:
02306
02307
02308 #line 385 "parser/faustparser.y"
02309 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigXOR)); ;}
02310 break;
02311
02312 case 58:
02313
02314
02315 #line 387 "parser/faustparser.y"
02316 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLeftShift)); ;}
02317 break;
02318
02319 case 59:
02320
02321
02322 #line 388 "parser/faustparser.y"
02323 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigRightShift)); ;}
02324 break;
02325
02326 case 60:
02327
02328
02329 #line 390 "parser/faustparser.y"
02330 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLT)); ;}
02331 break;
02332
02333 case 61:
02334
02335
02336 #line 391 "parser/faustparser.y"
02337 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigLE)); ;}
02338 break;
02339
02340 case 62:
02341
02342
02343 #line 392 "parser/faustparser.y"
02344 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigGT)); ;}
02345 break;
02346
02347 case 63:
02348
02349
02350 #line 393 "parser/faustparser.y"
02351 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigGE)); ;}
02352 break;
02353
02354 case 64:
02355
02356
02357 #line 394 "parser/faustparser.y"
02358 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigEQ)); ;}
02359 break;
02360
02361 case 65:
02362
02363
02364 #line 395 "parser/faustparser.y"
02365 { (yyval.exp) = boxSeq(boxPar((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)),boxPrim2(sigNE)); ;}
02366 break;
02367
02368 case 66:
02369
02370
02371 #line 397 "parser/faustparser.y"
02372 { (yyval.exp) = buildBoxAppl((yyvsp[(1) - (4)].exp),(yyvsp[(3) - (4)].exp)); ;}
02373 break;
02374
02375 case 67:
02376
02377
02378 #line 398 "parser/faustparser.y"
02379 { (yyval.exp) = boxModifLocalDef((yyvsp[(1) - (4)].exp),formatDefinitions((yyvsp[(3) - (4)].exp))); ;}
02380 break;
02381
02382 case 68:
02383
02384
02385 #line 400 "parser/faustparser.y"
02386 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02387 break;
02388
02389 case 69:
02390
02391
02392 #line 403 "parser/faustparser.y"
02393 { (yyval.exp) = boxInt(atoi(yytext)); ;}
02394 break;
02395
02396 case 70:
02397
02398
02399 #line 404 "parser/faustparser.y"
02400 { (yyval.exp) = boxReal(atof(yytext)); ;}
02401 break;
02402
02403 case 71:
02404
02405
02406 #line 406 "parser/faustparser.y"
02407 { (yyval.exp) = boxInt (atoi(yytext)); ;}
02408 break;
02409
02410 case 72:
02411
02412
02413 #line 407 "parser/faustparser.y"
02414 { (yyval.exp) = boxReal(atof(yytext)); ;}
02415 break;
02416
02417 case 73:
02418
02419
02420 #line 409 "parser/faustparser.y"
02421 { (yyval.exp) = boxInt ( -atoi(yytext) ); ;}
02422 break;
02423
02424 case 74:
02425
02426
02427 #line 410 "parser/faustparser.y"
02428 { (yyval.exp) = boxReal( -atof(yytext) ); ;}
02429 break;
02430
02431 case 75:
02432
02433
02434 #line 412 "parser/faustparser.y"
02435 { (yyval.exp) = boxWire(); ;}
02436 break;
02437
02438 case 76:
02439
02440
02441 #line 413 "parser/faustparser.y"
02442 { (yyval.exp) = boxCut(); ;}
02443 break;
02444
02445 case 77:
02446
02447
02448 #line 415 "parser/faustparser.y"
02449 { (yyval.exp) = boxPrim1(sigDelay1); ;}
02450 break;
02451
02452 case 78:
02453
02454
02455 #line 416 "parser/faustparser.y"
02456 { (yyval.exp) = boxPrim2(sigPrefix); ;}
02457 break;
02458
02459 case 79:
02460
02461
02462 #line 418 "parser/faustparser.y"
02463 { (yyval.exp) = boxPrim1(sigIntCast); ;}
02464 break;
02465
02466 case 80:
02467
02468
02469 #line 419 "parser/faustparser.y"
02470 { (yyval.exp) = boxPrim1(sigFloatCast); ;}
02471 break;
02472
02473 case 81:
02474
02475
02476 #line 421 "parser/faustparser.y"
02477 { (yyval.exp) = boxPrim2(sigAdd); ;}
02478 break;
02479
02480 case 82:
02481
02482
02483 #line 422 "parser/faustparser.y"
02484 { (yyval.exp) = boxPrim2(sigSub); ;}
02485 break;
02486
02487 case 83:
02488
02489
02490 #line 423 "parser/faustparser.y"
02491 { (yyval.exp) = boxPrim2(sigMul); ;}
02492 break;
02493
02494 case 84:
02495
02496
02497 #line 424 "parser/faustparser.y"
02498 { (yyval.exp) = boxPrim2(sigDiv); ;}
02499 break;
02500
02501 case 85:
02502
02503
02504 #line 425 "parser/faustparser.y"
02505 { (yyval.exp) = boxPrim2(sigRem); ;}
02506 break;
02507
02508 case 86:
02509
02510
02511 #line 426 "parser/faustparser.y"
02512 { (yyval.exp) = boxPrim2(sigFixDelay); ;}
02513 break;
02514
02515 case 87:
02516
02517
02518 #line 428 "parser/faustparser.y"
02519 { (yyval.exp) = boxPrim2(sigAND); ;}
02520 break;
02521
02522 case 88:
02523
02524
02525 #line 429 "parser/faustparser.y"
02526 { (yyval.exp) = boxPrim2(sigOR); ;}
02527 break;
02528
02529 case 89:
02530
02531
02532 #line 430 "parser/faustparser.y"
02533 { (yyval.exp) = boxPrim2(sigXOR); ;}
02534 break;
02535
02536 case 90:
02537
02538
02539 #line 432 "parser/faustparser.y"
02540 { (yyval.exp) = boxPrim2(sigLeftShift); ;}
02541 break;
02542
02543 case 91:
02544
02545
02546 #line 433 "parser/faustparser.y"
02547 { (yyval.exp) = boxPrim2(sigRightShift); ;}
02548 break;
02549
02550 case 92:
02551
02552
02553 #line 435 "parser/faustparser.y"
02554 { (yyval.exp) = boxPrim2(sigLT); ;}
02555 break;
02556
02557 case 93:
02558
02559
02560 #line 436 "parser/faustparser.y"
02561 { (yyval.exp) = boxPrim2(sigLE); ;}
02562 break;
02563
02564 case 94:
02565
02566
02567 #line 437 "parser/faustparser.y"
02568 { (yyval.exp) = boxPrim2(sigGT); ;}
02569 break;
02570
02571 case 95:
02572
02573
02574 #line 438 "parser/faustparser.y"
02575 { (yyval.exp) = boxPrim2(sigGE); ;}
02576 break;
02577
02578 case 96:
02579
02580
02581 #line 439 "parser/faustparser.y"
02582 { (yyval.exp) = boxPrim2(sigEQ); ;}
02583 break;
02584
02585 case 97:
02586
02587
02588 #line 440 "parser/faustparser.y"
02589 { (yyval.exp) = boxPrim2(sigNE); ;}
02590 break;
02591
02592 case 98:
02593
02594
02595 #line 442 "parser/faustparser.y"
02596 { (yyval.exp) = boxPrim2(sigAttach); ;}
02597 break;
02598
02599 case 99:
02600
02601
02602 #line 444 "parser/faustparser.y"
02603 { (yyval.exp) = gAcosPrim->box(); ;}
02604 break;
02605
02606 case 100:
02607
02608
02609 #line 445 "parser/faustparser.y"
02610 { (yyval.exp) = gAsinPrim->box(); ;}
02611 break;
02612
02613 case 101:
02614
02615
02616 #line 446 "parser/faustparser.y"
02617 { (yyval.exp) = gAtanPrim->box(); ;}
02618 break;
02619
02620 case 102:
02621
02622
02623 #line 447 "parser/faustparser.y"
02624 { (yyval.exp) = gAtan2Prim->box(); ;}
02625 break;
02626
02627 case 103:
02628
02629
02630 #line 448 "parser/faustparser.y"
02631 { (yyval.exp) = gCosPrim->box(); ;}
02632 break;
02633
02634 case 104:
02635
02636
02637 #line 449 "parser/faustparser.y"
02638 { (yyval.exp) = gSinPrim->box(); ;}
02639 break;
02640
02641 case 105:
02642
02643
02644 #line 450 "parser/faustparser.y"
02645 { (yyval.exp) = gTanPrim->box(); ;}
02646 break;
02647
02648 case 106:
02649
02650
02651 #line 452 "parser/faustparser.y"
02652 { (yyval.exp) = gExpPrim->box(); ;}
02653 break;
02654
02655 case 107:
02656
02657
02658 #line 453 "parser/faustparser.y"
02659 { (yyval.exp) = gLogPrim->box(); ;}
02660 break;
02661
02662 case 108:
02663
02664
02665 #line 454 "parser/faustparser.y"
02666 { (yyval.exp) = gLog10Prim->box(); ;}
02667 break;
02668
02669 case 109:
02670
02671
02672 #line 455 "parser/faustparser.y"
02673 { (yyval.exp) = gPowPrim->box(); ;}
02674 break;
02675
02676 case 110:
02677
02678
02679 #line 456 "parser/faustparser.y"
02680 { (yyval.exp) = gPowPrim->box(); ;}
02681 break;
02682
02683 case 111:
02684
02685
02686 #line 457 "parser/faustparser.y"
02687 { (yyval.exp) = gSqrtPrim->box(); ;}
02688 break;
02689
02690 case 112:
02691
02692
02693 #line 459 "parser/faustparser.y"
02694 { (yyval.exp) = gAbsPrim->box(); ;}
02695 break;
02696
02697 case 113:
02698
02699
02700 #line 460 "parser/faustparser.y"
02701 { (yyval.exp) = gMinPrim->box(); ;}
02702 break;
02703
02704 case 114:
02705
02706
02707 #line 461 "parser/faustparser.y"
02708 { (yyval.exp) = gMaxPrim->box(); ;}
02709 break;
02710
02711 case 115:
02712
02713
02714 #line 463 "parser/faustparser.y"
02715 { (yyval.exp) = gFmodPrim->box(); ;}
02716 break;
02717
02718 case 116:
02719
02720
02721 #line 464 "parser/faustparser.y"
02722 { (yyval.exp) = gRemainderPrim->box(); ;}
02723 break;
02724
02725 case 117:
02726
02727
02728 #line 466 "parser/faustparser.y"
02729 { (yyval.exp) = gFloorPrim->box(); ;}
02730 break;
02731
02732 case 118:
02733
02734
02735 #line 467 "parser/faustparser.y"
02736 { (yyval.exp) = gCeilPrim->box(); ;}
02737 break;
02738
02739 case 119:
02740
02741
02742 #line 468 "parser/faustparser.y"
02743 { (yyval.exp) = gRintPrim->box(); ;}
02744 break;
02745
02746 case 120:
02747
02748
02749 #line 471 "parser/faustparser.y"
02750 { (yyval.exp) = boxPrim3(sigReadOnlyTable); ;}
02751 break;
02752
02753 case 121:
02754
02755
02756 #line 472 "parser/faustparser.y"
02757 { (yyval.exp) = boxPrim5(sigWriteReadTable); ;}
02758 break;
02759
02760 case 122:
02761
02762
02763 #line 474 "parser/faustparser.y"
02764 { (yyval.exp) = boxPrim3(sigSelect2); ;}
02765 break;
02766
02767 case 123:
02768
02769
02770 #line 475 "parser/faustparser.y"
02771 { (yyval.exp) = boxPrim4(sigSelect3); ;}
02772 break;
02773
02774 case 124:
02775
02776
02777 #line 477 "parser/faustparser.y"
02778 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02779 break;
02780
02781 case 125:
02782
02783
02784 #line 478 "parser/faustparser.y"
02785 { (yyval.exp) = boxSeq(boxPar(boxInt(0),(yyvsp[(2) - (2)].exp)),boxPrim2(sigSub)); ;}
02786 break;
02787
02788 case 126:
02789
02790
02791 #line 480 "parser/faustparser.y"
02792 { (yyval.exp) = (yyvsp[(2) - (3)].exp); ;}
02793 break;
02794
02795 case 127:
02796
02797
02798 #line 482 "parser/faustparser.y"
02799 { (yyval.exp) = buildBoxAbstr((yyvsp[(3) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
02800 break;
02801
02802 case 128:
02803
02804
02805 #line 484 "parser/faustparser.y"
02806 { (yyval.exp) = boxCase(checkRulelist((yyvsp[(3) - (4)].exp))); ;}
02807 break;
02808
02809 case 129:
02810
02811
02812 #line 486 "parser/faustparser.y"
02813 { (yyval.exp) = boxFFun((yyvsp[(1) - (1)].exp)); ;}
02814 break;
02815
02816 case 130:
02817
02818
02819 #line 487 "parser/faustparser.y"
02820 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02821 break;
02822
02823 case 131:
02824
02825
02826 #line 488 "parser/faustparser.y"
02827 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02828 break;
02829
02830 case 132:
02831
02832
02833 #line 489 "parser/faustparser.y"
02834 { (yyval.exp) = boxComponent((yyvsp[(3) - (4)].exp)); ;}
02835 break;
02836
02837 case 133:
02838
02839
02840 #line 490 "parser/faustparser.y"
02841 { (yyval.exp) = boxLibrary((yyvsp[(3) - (4)].exp)); ;}
02842 break;
02843
02844 case 134:
02845
02846
02847 #line 491 "parser/faustparser.y"
02848 { (yyval.exp) = boxWithLocalDef(boxEnvironment(),formatDefinitions((yyvsp[(3) - (4)].exp))); ;}
02849 break;
02850
02851 case 135:
02852
02853
02854 #line 493 "parser/faustparser.y"
02855 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02856 break;
02857
02858 case 136:
02859
02860
02861 #line 494 "parser/faustparser.y"
02862 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02863 break;
02864
02865 case 137:
02866
02867
02868 #line 495 "parser/faustparser.y"
02869 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02870 break;
02871
02872 case 138:
02873
02874
02875 #line 496 "parser/faustparser.y"
02876 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02877 break;
02878
02879 case 139:
02880
02881
02882 #line 497 "parser/faustparser.y"
02883 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02884 break;
02885
02886 case 140:
02887
02888
02889 #line 498 "parser/faustparser.y"
02890 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02891 break;
02892
02893 case 141:
02894
02895
02896 #line 499 "parser/faustparser.y"
02897 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02898 break;
02899
02900 case 142:
02901
02902
02903 #line 500 "parser/faustparser.y"
02904 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02905 break;
02906
02907 case 143:
02908
02909
02910 #line 501 "parser/faustparser.y"
02911 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02912 break;
02913
02914 case 144:
02915
02916
02917 #line 502 "parser/faustparser.y"
02918 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02919 break;
02920
02921 case 145:
02922
02923
02924 #line 504 "parser/faustparser.y"
02925 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02926 break;
02927
02928 case 146:
02929
02930
02931 #line 505 "parser/faustparser.y"
02932 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02933 break;
02934
02935 case 147:
02936
02937
02938 #line 506 "parser/faustparser.y"
02939 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02940 break;
02941
02942 case 148:
02943
02944
02945 #line 507 "parser/faustparser.y"
02946 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
02947 break;
02948
02949 case 149:
02950
02951
02952 #line 511 "parser/faustparser.y"
02953 { (yyval.exp) = boxIdent(yytext); ;}
02954 break;
02955
02956 case 150:
02957
02958
02959 #line 514 "parser/faustparser.y"
02960 { (yyval.exp) = tree(yytext); ;}
02961 break;
02962
02963 case 151:
02964
02965
02966 #line 519 "parser/faustparser.y"
02967 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;}
02968 break;
02969
02970 case 152:
02971
02972
02973 #line 520 "parser/faustparser.y"
02974 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;}
02975 break;
02976
02977 case 153:
02978
02979
02980 #line 523 "parser/faustparser.y"
02981 { (yyval.exp) = boxSeq((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02982 break;
02983
02984 case 154:
02985
02986
02987 #line 524 "parser/faustparser.y"
02988 { (yyval.exp) = boxSplit((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02989 break;
02990
02991 case 155:
02992
02993
02994 #line 525 "parser/faustparser.y"
02995 { (yyval.exp) = boxMerge((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
02996 break;
02997
02998 case 156:
02999
03000
03001 #line 526 "parser/faustparser.y"
03002 { (yyval.exp) = boxRec((yyvsp[(1) - (3)].exp),(yyvsp[(3) - (3)].exp)); ;}
03003 break;
03004
03005 case 157:
03006
03007
03008 #line 527 "parser/faustparser.y"
03009 { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
03010 break;
03011
03012 case 158:
03013
03014
03015 #line 530 "parser/faustparser.y"
03016 { (yyval.exp) = tree(yytext); ;}
03017 break;
03018
03019 case 159:
03020
03021
03022 #line 533 "parser/faustparser.y"
03023 { (yyval.exp) = unquote(yytext); ;}
03024 break;
03025
03026 case 160:
03027
03028
03029 #line 536 "parser/faustparser.y"
03030 { (yyval.exp) = tree(yytext); ;}
03031 break;
03032
03033 case 161:
03034
03035
03036 #line 537 "parser/faustparser.y"
03037 { (yyval.exp) = tree(yytext); ;}
03038 break;
03039
03040 case 162:
03041
03042
03043 #line 543 "parser/faustparser.y"
03044 { (yyval.exp) = boxIPar((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03045 break;
03046
03047 case 163:
03048
03049
03050 #line 547 "parser/faustparser.y"
03051 { (yyval.exp) = boxISeq((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03052 break;
03053
03054 case 164:
03055
03056
03057 #line 551 "parser/faustparser.y"
03058 { (yyval.exp) = boxISum((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03059 break;
03060
03061 case 165:
03062
03063
03064 #line 555 "parser/faustparser.y"
03065 { (yyval.exp) = boxIProd((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03066 break;
03067
03068 case 166:
03069
03070
03071 #line 562 "parser/faustparser.y"
03072 { (yyval.exp) = ffunction((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03073 break;
03074
03075 case 167:
03076
03077
03078 #line 566 "parser/faustparser.y"
03079 { (yyval.exp) = boxFConst((yyvsp[(3) - (7)].exp),(yyvsp[(4) - (7)].exp),(yyvsp[(6) - (7)].exp)); ;}
03080 break;
03081
03082 case 168:
03083
03084
03085 #line 569 "parser/faustparser.y"
03086 { (yyval.exp) = boxFVar((yyvsp[(3) - (7)].exp),(yyvsp[(4) - (7)].exp),(yyvsp[(6) - (7)].exp)); ;}
03087 break;
03088
03089 case 169:
03090
03091
03092 #line 573 "parser/faustparser.y"
03093 { (yyval.exp) = boxButton((yyvsp[(3) - (4)].exp)); ;}
03094 break;
03095
03096 case 170:
03097
03098
03099 #line 576 "parser/faustparser.y"
03100 { (yyval.exp) = boxCheckbox((yyvsp[(3) - (4)].exp)); ;}
03101 break;
03102
03103 case 171:
03104
03105
03106 #line 580 "parser/faustparser.y"
03107 { (yyval.exp) = boxVSlider((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;}
03108 break;
03109
03110 case 172:
03111
03112
03113 #line 583 "parser/faustparser.y"
03114 { (yyval.exp) = boxHSlider((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;}
03115 break;
03116
03117 case 173:
03118
03119
03120 #line 586 "parser/faustparser.y"
03121 { (yyval.exp) = boxNumEntry((yyvsp[(3) - (12)].exp),(yyvsp[(5) - (12)].exp),(yyvsp[(7) - (12)].exp),(yyvsp[(9) - (12)].exp),(yyvsp[(11) - (12)].exp)); ;}
03122 break;
03123
03124 case 174:
03125
03126
03127 #line 589 "parser/faustparser.y"
03128 { (yyval.exp) = boxVGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
03129 break;
03130
03131 case 175:
03132
03133
03134 #line 592 "parser/faustparser.y"
03135 { (yyval.exp) = boxHGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
03136 break;
03137
03138 case 176:
03139
03140
03141 #line 595 "parser/faustparser.y"
03142 { (yyval.exp) = boxTGroup((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
03143 break;
03144
03145 case 177:
03146
03147
03148 #line 599 "parser/faustparser.y"
03149 { (yyval.exp) = boxVBargraph((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03150 break;
03151
03152 case 178:
03153
03154
03155 #line 602 "parser/faustparser.y"
03156 { (yyval.exp) = boxHBargraph((yyvsp[(3) - (8)].exp),(yyvsp[(5) - (8)].exp),(yyvsp[(7) - (8)].exp)); ;}
03157 break;
03158
03159 case 179:
03160
03161
03162 #line 607 "parser/faustparser.y"
03163 { (yyval.exp) = cons((yyvsp[(1) - (5)].exp), cons((yyvsp[(2) - (5)].exp), (yyvsp[(4) - (5)].exp))); ;}
03164 break;
03165
03166 case 180:
03167
03168
03169 #line 608 "parser/faustparser.y"
03170 { (yyval.exp) = cons((yyvsp[(1) - (4)].exp), cons((yyvsp[(2) - (4)].exp), nil)); ;}
03171 break;
03172
03173 case 181:
03174
03175
03176 #line 611 "parser/faustparser.y"
03177 { (yyval.exp) = tree(yytext); ;}
03178 break;
03179
03180 case 182:
03181
03182
03183 #line 614 "parser/faustparser.y"
03184 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;}
03185 break;
03186
03187 case 183:
03188
03189
03190 #line 615 "parser/faustparser.y"
03191 { (yyval.exp) = cons((yyvsp[(3) - (3)].exp),(yyvsp[(1) - (3)].exp)); ;}
03192 break;
03193
03194 case 184:
03195
03196
03197 #line 618 "parser/faustparser.y"
03198 { (yyval.exp) = cons((yyvsp[(1) - (1)].exp),nil); ;}
03199 break;
03200
03201 case 185:
03202
03203
03204 #line 619 "parser/faustparser.y"
03205 { (yyval.exp) = cons((yyvsp[(2) - (2)].exp),(yyvsp[(1) - (2)].exp)); ;}
03206 break;
03207
03208 case 186:
03209
03210
03211 #line 623 "parser/faustparser.y"
03212 { (yyval.exp) = cons((yyvsp[(2) - (6)].exp),(yyvsp[(5) - (6)].exp)); ;}
03213 break;
03214
03215 case 187:
03216
03217
03218 #line 626 "parser/faustparser.y"
03219 { (yyval.exp) = tree(0); ;}
03220 break;
03221
03222 case 188:
03223
03224
03225 #line 627 "parser/faustparser.y"
03226 { (yyval.exp) = tree(1); ;}
03227 break;
03228
03229
03230
03231
03232 #line 3233 "parser/faustparser.cpp"
03233 default: break;
03234 }
03235 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
03236
03237 YYPOPSTACK (yylen);
03238 yylen = 0;
03239 YY_STACK_PRINT (yyss, yyssp);
03240
03241 *++yyvsp = yyval;
03242
03243
03244
03245
03246
03247 yyn = yyr1[yyn];
03248
03249 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
03250 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
03251 yystate = yytable[yystate];
03252 else
03253 yystate = yydefgoto[yyn - YYNTOKENS];
03254
03255 goto yynewstate;
03256
03257
03258
03259
03260
03261 yyerrlab:
03262
03263 if (!yyerrstatus)
03264 {
03265 ++yynerrs;
03266 #if ! YYERROR_VERBOSE
03267 yyerror (YY_("syntax error"));
03268 #else
03269 {
03270 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
03271 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
03272 {
03273 YYSIZE_T yyalloc = 2 * yysize;
03274 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
03275 yyalloc = YYSTACK_ALLOC_MAXIMUM;
03276 if (yymsg != yymsgbuf)
03277 YYSTACK_FREE (yymsg);
03278 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
03279 if (yymsg)
03280 yymsg_alloc = yyalloc;
03281 else
03282 {
03283 yymsg = yymsgbuf;
03284 yymsg_alloc = sizeof yymsgbuf;
03285 }
03286 }
03287
03288 if (0 < yysize && yysize <= yymsg_alloc)
03289 {
03290 (void) yysyntax_error (yymsg, yystate, yychar);
03291 yyerror (yymsg);
03292 }
03293 else
03294 {
03295 yyerror (YY_("syntax error"));
03296 if (yysize != 0)
03297 goto yyexhaustedlab;
03298 }
03299 }
03300 #endif
03301 }
03302
03303
03304
03305 if (yyerrstatus == 3)
03306 {
03307
03308
03309
03310 if (yychar <= YYEOF)
03311 {
03312
03313 if (yychar == YYEOF)
03314 YYABORT;
03315 }
03316 else
03317 {
03318 yydestruct ("Error: discarding",
03319 yytoken, &yylval);
03320 yychar = YYEMPTY;
03321 }
03322 }
03323
03324
03325
03326 goto yyerrlab1;
03327
03328
03329
03330
03331
03332 yyerrorlab:
03333
03334
03335
03336
03337 if ( 0)
03338 goto yyerrorlab;
03339
03340
03341
03342 YYPOPSTACK (yylen);
03343 yylen = 0;
03344 YY_STACK_PRINT (yyss, yyssp);
03345 yystate = *yyssp;
03346 goto yyerrlab1;
03347
03348
03349
03350
03351
03352 yyerrlab1:
03353 yyerrstatus = 3;
03354
03355 for (;;)
03356 {
03357 yyn = yypact[yystate];
03358 if (yyn != YYPACT_NINF)
03359 {
03360 yyn += YYTERROR;
03361 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
03362 {
03363 yyn = yytable[yyn];
03364 if (0 < yyn)
03365 break;
03366 }
03367 }
03368
03369
03370 if (yyssp == yyss)
03371 YYABORT;
03372
03373
03374 yydestruct ("Error: popping",
03375 yystos[yystate], yyvsp);
03376 YYPOPSTACK (1);
03377 yystate = *yyssp;
03378 YY_STACK_PRINT (yyss, yyssp);
03379 }
03380
03381 *++yyvsp = yylval;
03382
03383
03384
03385 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
03386
03387 yystate = yyn;
03388 goto yynewstate;
03389
03390
03391
03392
03393
03394 yyacceptlab:
03395 yyresult = 0;
03396 goto yyreturn;
03397
03398
03399
03400
03401 yyabortlab:
03402 yyresult = 1;
03403 goto yyreturn;
03404
03405 #if !defined(yyoverflow) || YYERROR_VERBOSE
03406
03407
03408
03409 yyexhaustedlab:
03410 yyerror (YY_("memory exhausted"));
03411 yyresult = 2;
03412
03413 #endif
03414
03415 yyreturn:
03416 if (yychar != YYEMPTY)
03417 yydestruct ("Cleanup: discarding lookahead",
03418 yytoken, &yylval);
03419
03420
03421 YYPOPSTACK (yylen);
03422 YY_STACK_PRINT (yyss, yyssp);
03423 while (yyssp != yyss)
03424 {
03425 yydestruct ("Cleanup: popping",
03426 yystos[*yyssp], yyvsp);
03427 YYPOPSTACK (1);
03428 }
03429 #ifndef yyoverflow
03430 if (yyss != yyssa)
03431 YYSTACK_FREE (yyss);
03432 #endif
03433 #if YYERROR_VERBOSE
03434 if (yymsg != yymsgbuf)
03435 YYSTACK_FREE (yymsg);
03436 #endif
03437
03438 return YYID (yyresult);
03439 }
03440
03441
03442
03443
03444 #line 630 "parser/faustparser.y"
03445
03446
03447