00001
00002
00003
00004
00005 #define YYBISON 1
00006
00007 #define BADTOK 257
00008 #define SKIPTOK 258
00009 #define CTOK_ELIPSIS 259
00010 #define CASE 260
00011 #define DEFAULT 261
00012 #define CIF 262
00013 #define CELSE 263
00014 #define SWITCH 264
00015 #define WHILE 265
00016 #define DO 266
00017 #define CFOR 267
00018 #define GOTO 268
00019 #define CONTINUE 269
00020 #define BREAK 270
00021 #define RETURN 271
00022 #define TSEMI 272
00023 #define TLBRACE 273
00024 #define TRBRACE 274
00025 #define TCOMMA 275
00026 #define TCOLON 276
00027 #define TASSIGN 277
00028 #define TLPAREN 278
00029 #define TRPAREN 279
00030 #define TLSQBR 280
00031 #define TRSQBR 281
00032 #define TDOT 282
00033 #define TAMPERSAND 283
00034 #define TEXCL 284
00035 #define TTILDE 285
00036 #define TMINUS 286
00037 #define TPLUS 287
00038 #define TMULT 288
00039 #define TDIV 289
00040 #define TPERCENT 290
00041 #define TLT 291
00042 #define TGT 292
00043 #define TCIRC 293
00044 #define TBAR 294
00045 #define TQUEST 295
00046 #define CSIZEOF 296
00047 #define CALIGNOF 297
00048 #define ARROW_OP 298
00049 #define CTYPEDEF 299
00050 #define COFFSETOF 300
00051 #define INC_OP 301
00052 #define DEC_OP 302
00053 #define LEFT_OP 303
00054 #define RIGHT_OP 304
00055 #define LE_OP 305
00056 #define GE_OP 306
00057 #define EQ_OP 307
00058 #define NE_OP 308
00059 #define AND_OP 309
00060 #define OR_OP 310
00061 #define MUL_ASSIGN 311
00062 #define DIV_ASSIGN 312
00063 #define MOD_ASSIGN 313
00064 #define ADD_ASSIGN 314
00065 #define SUB_ASSIGN 315
00066 #define LEFT_ASSIGN 316
00067 #define RIGHT_ASSIGN 317
00068 #define AND_ASSIGN 318
00069 #define XOR_ASSIGN 319
00070 #define OR_ASSIGN 320
00071 #define CSTRUCT 321
00072 #define CUNION 322
00073 #define CENUM 323
00074 #define VA_ARG 324
00075 #define VA_DCL 325
00076 #define QGLOBALS 326
00077 #define QMODIFIES 327
00078 #define QNOMODS 328
00079 #define QCONSTANT 329
00080 #define QFUNCTION 330
00081 #define QITER 331
00082 #define QDEFINES 332
00083 #define QUSES 333
00084 #define QALLOCATES 334
00085 #define QSETS 335
00086 #define QRELEASES 336
00087 #define QPRECLAUSE 337
00088 #define QPOSTCLAUSE 338
00089 #define QALT 339
00090 #define QUNDEF 340
00091 #define QKILLED 341
00092 #define QENDMACRO 342
00093 #define LLMACRO 343
00094 #define LLMACROITER 344
00095 #define LLMACROEND 345
00096 #define TENDMACRO 346
00097 #define QSWITCHBREAK 347
00098 #define QLOOPBREAK 348
00099 #define QINNERBREAK 349
00100 #define QSAFEBREAK 350
00101 #define QINNERCONTINUE 351
00102 #define QFALLTHROUGH 352
00103 #define QLINTNOTREACHED 353
00104 #define QLINTFALLTHROUGH 354
00105 #define QLINTFALLTHRU 355
00106 #define QARGSUSED 356
00107 #define QPRINTFLIKE 357
00108 #define QLINTPRINTFLIKE 358
00109 #define QSCANFLIKE 359
00110 #define QMESSAGELIKE 360
00111 #define QNOTREACHED 361
00112 #define QCONST 362
00113 #define QVOLATILE 363
00114 #define QINLINE 364
00115 #define QEXTENSION 365
00116 #define QEXTERN 366
00117 #define QSTATIC 367
00118 #define QAUTO 368
00119 #define QREGISTER 369
00120 #define QOUT 370
00121 #define QIN 371
00122 #define QYIELD 372
00123 #define QONLY 373
00124 #define QTEMP 374
00125 #define QSHARED 375
00126 #define QREF 376
00127 #define QUNIQUE 377
00128 #define QCHECKED 378
00129 #define QUNCHECKED 379
00130 #define QCHECKEDSTRICT 380
00131 #define QCHECKMOD 381
00132 #define QKEEP 382
00133 #define QKEPT 383
00134 #define QPARTIAL 384
00135 #define QSPECIAL 385
00136 #define QOWNED 386
00137 #define QDEPENDENT 387
00138 #define QRETURNED 388
00139 #define QEXPOSED 389
00140 #define QNULL 390
00141 #define QOBSERVER 391
00142 #define QISNULL 392
00143 #define QEXITS 393
00144 #define QMAYEXIT 394
00145 #define QNEVEREXIT 395
00146 #define QTRUEEXIT 396
00147 #define QFALSEEXIT 397
00148 #define QLONG 398
00149 #define QSIGNED 399
00150 #define QUNSIGNED 400
00151 #define QSHORT 401
00152 #define QUNUSED 402
00153 #define QSEF 403
00154 #define QNOTNULL 404
00155 #define QRELNULL 405
00156 #define QABSTRACT 406
00157 #define QCONCRETE 407
00158 #define QMUTABLE 408
00159 #define QIMMUTABLE 409
00160 #define QTRUENULL 410
00161 #define QFALSENULL 411
00162 #define QEXTERNAL 412
00163 #define QREFCOUNTED 413
00164 #define QREFS 414
00165 #define QNEWREF 415
00166 #define QTEMPREF 416
00167 #define QKILLREF 417
00168 #define QRELDEF 418
00169 #define CGCHAR 419
00170 #define CBOOL 420
00171 #define CINT 421
00172 #define CGFLOAT 422
00173 #define CDOUBLE 423
00174 #define CVOID 424
00175 #define QANYTYPE 425
00176 #define QINTEGRALTYPE 426
00177 #define QUNSIGNEDINTEGRALTYPE 427
00178 #define QSIGNEDINTEGRALTYPE 428
00179 #define IDENTIFIER 429
00180 #define NEW_IDENTIFIER 430
00181 #define TYPE_NAME_OR_ID 431
00182 #define CCONSTANT 432
00183 #define ITER_NAME 433
00184 #define ITER_ENDNAME 434
00185 #define TYPE_NAME 435
00186
00187 #line 19 "cgrammar.y"
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 extern int yylex ();
00214 extern void swallowMacro (void);
00215
00216 # include "lclintMacros.nf"
00217 # include "basic.h"
00218 # include "cgrammar.h"
00219 # include "exprChecks.h"
00220
00221
00222
00223
00224 # define SHOWCSYM FALSE
00225 void yyerror (char *s);
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235 # ifdef WIN32
00236 # undef malloc
00237 # undef calloc
00238 # undef realloc
00239 # endif
00240
00241
00242 #line 74 "cgrammar.y"
00243 typedef union
00244 {
00245 lltok tok;
00246 int count;
00247 specialClauseKind sck;
00248 qual typequal;
00249 qualList tquallist;
00250 ctype ctyp;
00251 sRef sr;
00252 qtype qtyp;
00253 cstring cname;
00254 idDecl ntyp;
00255 idDeclList ntyplist;
00256 uentryList flist;
00257 uentryList entrylist;
00258 uentry entry;
00259 uentry oentry;
00260 exprNode expr;
00261 enumNameList enumnamelist;
00262 exprNodeList alist;
00263 sRefSet srset;
00264 cstringList cstringlist;
00265 } YYSTYPE;
00266 #ifndef YYDEBUG
00267 #define YYDEBUG 1
00268 #endif
00269
00270 #include <stdio.h>
00271
00272 #ifndef __cplusplus
00273 #ifndef __STDC__
00274 #define const
00275 #endif
00276 #endif
00277
00278
00279
00280 #define YYFINAL 1158
00281 #define YYFLAG -32768
00282 #define YYNTBASE 182
00283
00284 #define YYTRANSLATE(x) ((unsigned)(x) <= 435 ? yytranslate[x] : 409)
00285
00286 static const short yytranslate[] = { 0,
00287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00312 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
00313 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
00314 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
00315 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
00316 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
00317 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
00318 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
00319 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
00320 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
00321 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
00322 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
00323 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
00324 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
00325 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
00326 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
00327 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
00328 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
00329 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
00330 177, 178, 179, 180, 181
00331 };
00332
00333 #if YYDEBUG != 0
00334 static const short yyprhs[] = { 0,
00335 0, 1, 3, 5, 8, 11, 13, 15, 17, 19,
00336 21, 23, 32, 44, 45, 51, 53, 57, 59, 62,
00337 64, 71, 75, 82, 83, 90, 91, 99, 101, 108,
00338 112, 119, 120, 127, 128, 136, 137, 138, 149, 153,
00339 157, 161, 164, 166, 167, 170, 171, 174, 176, 179,
00340 181, 184, 186, 189, 191, 195, 198, 200, 202, 204,
00341 206, 208, 210, 212, 213, 216, 217, 224, 225, 232,
00342 234, 236, 237, 238, 244, 245, 251, 253, 255, 256,
00343 258, 259, 260, 264, 265, 269, 271, 273, 275, 277,
00344 279, 281, 283, 285, 287, 289, 291, 293, 295, 297,
00345 299, 301, 303, 304, 312, 313, 322, 324, 328, 329,
00346 333, 334, 338, 341, 345, 348, 351, 353, 355, 357,
00347 361, 366, 369, 373, 377, 381, 383, 385, 387, 391,
00348 393, 395, 399, 404, 407, 411, 415, 419, 421, 425,
00349 427, 429, 431, 435, 437, 439, 441, 446, 450, 455,
00350 462, 468, 474, 477, 480, 482, 486, 488, 491, 494,
00351 497, 500, 503, 506, 509, 512, 514, 516, 520, 522,
00352 532, 533, 537, 542, 545, 550, 553, 555, 560, 562,
00353 566, 570, 574, 576, 580, 584, 586, 590, 594, 596,
00354 600, 604, 608, 612, 614, 618, 622, 624, 628, 630,
00355 634, 636, 640, 642, 643, 648, 650, 651, 656, 658,
00356 659, 660, 668, 670, 674, 678, 682, 686, 690, 694,
00357 698, 702, 706, 710, 714, 716, 720, 721, 723, 725,
00358 727, 729, 731, 735, 736, 746, 747, 759, 762, 763,
00359 770, 771, 779, 784, 789, 790, 791, 794, 796, 801,
00360 802, 807, 809, 813, 818, 820, 824, 826, 828, 830,
00361 832, 834, 837, 840, 843, 846, 849, 852, 855, 858,
00362 861, 864, 867, 870, 873, 876, 879, 882, 885, 888,
00363 891, 894, 897, 900, 903, 906, 909, 912, 915, 918,
00364 921, 924, 927, 930, 933, 936, 939, 942, 945, 948,
00365 951, 954, 957, 960, 963, 966, 969, 971, 973, 975,
00366 977, 980, 983, 986, 989, 992, 995, 998, 1001, 1004,
00367 1007, 1010, 1013, 1016, 1019, 1023, 1025, 1030, 1032, 1036,
00368 1039, 1042, 1045, 1046, 1048, 1049, 1050, 1062, 1063, 1064,
00369 1076, 1083, 1090, 1091, 1092, 1103, 1104, 1105, 1116, 1122,
00370 1128, 1133, 1138, 1139, 1141, 1143, 1146, 1152, 1156, 1159,
00371 1164, 1166, 1170, 1175, 1182, 1183, 1192, 1197, 1199, 1203,
00372 1206, 1208, 1213, 1215, 1217, 1220, 1223, 1225, 1228, 1230,
00373 1233, 1235, 1237, 1239, 1242, 1244, 1247, 1250, 1254, 1256,
00374 1260, 1262, 1266, 1268, 1270, 1274, 1275, 1278, 1279, 1284,
00375 1289, 1291, 1293, 1296, 1298, 1300, 1303, 1304, 1306, 1312,
00376 1315, 1319, 1323, 1328, 1332, 1337, 1342, 1348, 1350, 1352,
00377 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372,
00378 1375, 1378, 1386, 1393, 1396, 1397, 1398, 1409, 1410, 1417,
00379 1419, 1421, 1423, 1425, 1428, 1430, 1432, 1434, 1436, 1438,
00380 1440, 1442, 1446, 1448, 1451, 1454, 1457, 1459, 1461, 1463,
00381 1465, 1467, 1469, 1471, 1473, 1475, 1477, 1481, 1483, 1485,
00382 1488, 1491, 1492, 1497, 1498, 1504, 1505, 1509, 1510, 1515,
00383 1519, 1522, 1526, 1527, 1528, 1529, 1530, 1531, 1533, 1536,
00384 1539, 1543, 1546, 1550, 1554, 1559, 1562, 1565, 1569, 1573,
00385 1578, 1580, 1583, 1585, 1588, 1590, 1593, 1595, 1598, 1600,
00386 1603, 1605, 1610, 1613, 1614, 1620, 1621, 1628, 1633, 1638,
00387 1639, 1640, 1651, 1653, 1654, 1659, 1661, 1663, 1665, 1667,
00388 1669, 1673, 1675, 1680, 1684, 1689, 1696, 1702, 1708, 1711,
00389 1714, 1716, 1719, 1722, 1725, 1728, 1731, 1734, 1737, 1740,
00390 1742, 1744, 1749, 1751, 1755, 1759, 1763, 1765, 1769, 1773,
00391 1775, 1779, 1783, 1785, 1789, 1793, 1797, 1801, 1803, 1807,
00392 1811, 1813, 1817, 1819, 1823, 1825, 1829, 1831, 1835, 1837,
00393 1841, 1843, 1844, 1845, 1853, 1855, 1859, 1863, 1867, 1871,
00394 1875, 1879, 1883, 1887, 1891, 1895, 1899, 1901, 1902, 1904,
00395 1907, 1915, 1918, 1921, 1929, 1936, 1939, 1943, 1946, 1950,
00396 1953, 1957, 1961, 1965, 1969, 1972, 1976, 1977, 1979, 1981,
00397 1983, 1985, 1987, 1989, 1991, 1993
00398 };
00399
00400 static const short yyrhs[] = { -1,
00401 183, 0, 184, 0, 183, 184, 0, 236, 405, 0,
00402 185, 0, 186, 0, 196, 0, 199, 0, 273, 0,
00403 1, 0, 75, 293, 306, 316, 306, 405, 281, 88,
00404 0, 75, 293, 306, 316, 306, 23, 281, 286, 285,
00405 405, 88, 0, 0, 76, 187, 188, 405, 88, 0,
00406 189, 0, 293, 306, 189, 0, 193, 0, 320, 193,
00407 0, 407, 0, 281, 24, 306, 316, 281, 25, 0,
00408 190, 26, 27, 0, 190, 26, 281, 272, 27, 306,
00409 0, 0, 190, 282, 24, 25, 191, 201, 0, 0,
00410 190, 282, 24, 317, 25, 192, 201, 0, 407, 0,
00411 281, 24, 306, 189, 281, 25, 0, 193, 26, 27,
00412 0, 193, 26, 281, 272, 27, 306, 0, 0, 193,
00413 282, 24, 25, 194, 203, 0, 0, 193, 282, 24,
00414 317, 25, 195, 203, 0, 0, 0, 77, 407, 24,
00415 317, 25, 197, 203, 198, 405, 88, 0, 89, 346,
00416 92, 0, 90, 333, 92, 0, 91, 334, 92, 0,
00417 89, 92, 0, 232, 0, 0, 202, 205, 0, 0,
00418 204, 206, 0, 213, 0, 207, 213, 0, 216, 0,
00419 207, 216, 0, 229, 0, 229, 207, 0, 209, 0,
00420 208, 21, 209, 0, 212, 210, 0, 406, 0, 176,
00421 0, 86, 0, 87, 0, 116, 0, 117, 0, 130,
00422 0, 0, 211, 212, 0, 0, 72, 214, 366, 405,
00423 88, 219, 0, 0, 72, 215, 208, 405, 88, 219,
00424 0, 74, 0, 220, 0, 0, 0, 72, 217, 366,
00425 405, 219, 0, 0, 72, 218, 208, 405, 219, 0,
00426 74, 0, 222, 0, 0, 220, 0, 0, 0, 73,
00427 221, 237, 0, 0, 73, 223, 238, 0, 78, 0,
00428 79, 0, 80, 0, 81, 0, 82, 0, 88, 0,
00429 88, 0, 83, 0, 84, 0, 119, 0, 137, 0,
00430 135, 0, 133, 0, 132, 0, 121, 0, 138, 0,
00431 150, 0, 0, 224, 306, 230, 243, 405, 226, 281,
00432 0, 0, 227, 306, 228, 231, 243, 405, 225, 281,
00433 0, 316, 0, 293, 306, 316, 0, 0, 19, 234,
00434 362, 0, 0, 366, 235, 355, 0, 200, 233, 0,
00435 241, 405, 88, 0, 405, 88, 0, 241, 405, 0,
00436 405, 0, 406, 0, 176, 0, 239, 26, 27, 0,
00437 239, 26, 240, 27, 0, 34, 239, 0, 24, 239,
00438 25, 0, 239, 28, 407, 0, 239, 44, 407, 0,
00439 239, 0, 178, 0, 239, 0, 241, 21, 239, 0,
00440 406, 0, 176, 0, 242, 26, 27, 0, 242, 26,
00441 240, 27, 0, 34, 242, 0, 24, 242, 25, 0,
00442 242, 28, 407, 0, 242, 44, 407, 0, 242, 0,
00443 243, 21, 242, 0, 406, 0, 176, 0, 178, 0,
00444 24, 270, 25, 0, 177, 0, 111, 0, 244, 0,
00445 245, 26, 270, 27, 0, 245, 24, 25, 0, 245,
00446 24, 246, 25, 0, 70, 24, 269, 21, 328, 25,
00447 0, 245, 306, 28, 407, 281, 0, 245, 306, 44,
00448 407, 281, 0, 245, 47, 0, 245, 48, 0, 269,
00449 0, 246, 21, 269, 0, 245, 0, 47, 247, 0,
00450 48, 247, 0, 29, 253, 0, 34, 253, 0, 33,
00451 253, 0, 32, 253, 0, 31, 253, 0, 30, 253,
00452 0, 250, 0, 249, 0, 248, 28, 407, 0, 407,
00453 0, 46, 281, 24, 328, 306, 21, 248, 25, 281,
00454 0, 0, 281, 251, 252, 0, 42, 24, 328, 25,
00455 0, 42, 247, 0, 43, 24, 328, 25, 0, 43,
00456 247, 0, 247, 0, 24, 328, 25, 253, 0, 253,
00457 0, 254, 34, 253, 0, 254, 35, 253, 0, 254,
00458 36, 253, 0, 254, 0, 255, 33, 254, 0, 255,
00459 32, 254, 0, 255, 0, 256, 49, 255, 0, 256,
00460 50, 255, 0, 256, 0, 257, 37, 256, 0, 257,
00461 38, 256, 0, 257, 51, 256, 0, 257, 52, 256,
00462 0, 257, 0, 258, 53, 257, 0, 258, 54, 257,
00463 0, 258, 0, 259, 29, 258, 0, 259, 0, 260,
00464 39, 259, 0, 260, 0, 261, 40, 260, 0, 261,
00465 0, 0, 262, 55, 263, 261, 0, 262, 0, 0,
00466 264, 56, 265, 262, 0, 264, 0, 0, 0, 264,
00467 41, 267, 270, 22, 268, 266, 0, 266, 0, 247,
00468 23, 269, 0, 247, 57, 269, 0, 247, 58, 269,
00469 0, 247, 59, 269, 0, 247, 60, 269, 0, 247,
00470 61, 269, 0, 247, 62, 269, 0, 247, 63, 269,
00471 0, 247, 64, 269, 0, 247, 65, 269, 0, 247,
00472 66, 269, 0, 269, 0, 270, 21, 269, 0, 0,
00473 270, 0, 266, 0, 274, 0, 71, 0, 279, 0,
00474 293, 281, 18, 0, 0, 293, 306, 316, 306, 275,
00475 281, 285, 18, 281, 0, 0, 293, 306, 316, 306,
00476 23, 276, 281, 286, 285, 18, 281, 0, 316, 306,
00477 0, 0, 316, 306, 23, 278, 281, 286, 0, 0,
00478 45, 293, 280, 306, 283, 281, 18, 0, 45, 293,
00479 281, 18, 0, 45, 283, 281, 18, 0, 0, 0,
00480 284, 281, 0, 277, 0, 283, 21, 306, 277, 0,
00481 0, 285, 21, 306, 277, 0, 269, 0, 19, 287,
00482 20, 0, 19, 287, 21, 20, 0, 286, 0, 287,
00483 21, 286, 0, 112, 0, 110, 0, 113, 0, 114,
00484 0, 115, 0, 108, 281, 0, 109, 281, 0, 116,
00485 281, 0, 117, 281, 0, 130, 281, 0, 131, 281,
00486 0, 132, 281, 0, 133, 281, 0, 118, 281, 0,
00487 120, 281, 0, 119, 281, 0, 128, 281, 0, 129,
00488 281, 0, 121, 281, 0, 123, 281, 0, 139, 281,
00489 0, 140, 281, 0, 142, 281, 0, 143, 281, 0,
00490 141, 281, 0, 136, 281, 0, 151, 281, 0, 134,
00491 281, 0, 135, 281, 0, 137, 281, 0, 124, 281,
00492 0, 127, 281, 0, 125, 281, 0, 126, 281, 0,
00493 156, 281, 0, 157, 281, 0, 148, 281, 0, 158,
00494 281, 0, 149, 281, 0, 152, 281, 0, 153, 281,
00495 0, 154, 281, 0, 155, 281, 0, 150, 281, 0,
00496 159, 281, 0, 160, 281, 0, 163, 281, 0, 164,
00497 281, 0, 161, 281, 0, 162, 281, 0, 147, 0,
00498 144, 0, 145, 0, 146, 0, 165, 306, 0, 167,
00499 306, 0, 166, 306, 0, 168, 306, 0, 169, 306,
00500 0, 170, 306, 0, 171, 306, 0, 172, 306, 0,
00501 173, 306, 0, 174, 306, 0, 408, 306, 0, 297,
00502 306, 0, 311, 306, 0, 290, 306, 0, 281, 293,
00503 281, 0, 295, 0, 295, 85, 294, 88, 0, 328,
00504 0, 328, 21, 294, 0, 288, 296, 0, 289, 296,
00505 0, 291, 296, 0, 0, 293, 0, 0, 0, 306,
00506 67, 407, 281, 19, 298, 359, 307, 360, 299, 20,
00507 0, 0, 0, 306, 68, 407, 281, 19, 300, 359,
00508 307, 360, 301, 20, 0, 306, 67, 407, 281, 19,
00509 20, 0, 306, 68, 407, 281, 19, 20, 0, 0,
00510 0, 306, 67, 281, 19, 302, 359, 307, 360, 303,
00511 20, 0, 0, 0, 306, 68, 281, 19, 304, 359,
00512 307, 360, 305, 20, 0, 306, 67, 281, 19, 20,
00513 0, 306, 68, 281, 19, 20, 0, 306, 67, 407,
00514 306, 0, 306, 68, 407, 306, 0, 0, 308, 0,
00515 199, 0, 307, 308, 0, 293, 306, 309, 281, 18,
00516 0, 293, 281, 18, 0, 310, 306, 0, 309, 21,
00517 310, 306, 0, 316, 0, 22, 281, 272, 0, 316,
00518 22, 281, 272, 0, 306, 69, 19, 313, 20, 281,
00519 0, 0, 306, 69, 407, 19, 312, 313, 20, 281,
00520 0, 306, 69, 407, 281, 0, 314, 0, 313, 21,
00521 314, 0, 313, 21, 0, 407, 0, 407, 23, 281,
00522 272, 0, 190, 0, 330, 0, 320, 181, 0, 320,
00523 315, 0, 190, 0, 320, 190, 0, 323, 0, 306,
00524 321, 0, 108, 0, 109, 0, 318, 0, 319, 318,
00525 0, 34, 0, 34, 319, 0, 34, 320, 0, 34,
00526 319, 320, 0, 322, 0, 322, 21, 5, 0, 407,
00527 0, 322, 21, 407, 0, 5, 0, 324, 0, 324,
00528 21, 5, 0, 0, 325, 327, 0, 0, 324, 21,
00529 326, 327, 0, 281, 293, 315, 281, 0, 407, 0,
00530 292, 0, 292, 329, 0, 320, 0, 331, 0, 320,
00531 331, 0, 0, 331, 0, 281, 24, 306, 329, 25,
00532 0, 26, 27, 0, 26, 272, 27, 0, 331, 26,
00533 27, 0, 331, 26, 272, 27, 0, 281, 24, 25,
00534 0, 281, 24, 323, 25, 0, 331, 281, 24, 25,
00535 0, 331, 281, 24, 323, 25, 0, 348, 0, 349,
00536 0, 352, 0, 355, 0, 368, 0, 371, 0, 402,
00537 0, 376, 0, 404, 0, 335, 0, 333, 0, 342,
00538 0, 335, 342, 0, 375, 335, 0, 401, 347, 11,
00539 24, 270, 25, 18, 0, 401, 347, 11, 24, 270,
00540 25, 0, 337, 342, 0, 0, 0, 13, 24, 271,
00541 18, 271, 18, 338, 271, 339, 25, 0, 0, 179,
00542 357, 24, 341, 379, 25, 0, 180, 0, 348, 0,
00543 349, 0, 352, 0, 344, 366, 0, 344, 0, 345,
00544 0, 368, 0, 343, 0, 336, 0, 340, 0, 404,
00545 0, 24, 342, 25, 0, 1, 0, 370, 342, 0,
00546 357, 19, 0, 361, 20, 0, 347, 0, 365, 0,
00547 348, 0, 349, 0, 352, 0, 356, 0, 369, 0,
00548 371, 0, 376, 0, 403, 0, 24, 347, 25, 0,
00549 404, 0, 1, 0, 407, 22, 0, 107, 332, 0,
00550 0, 6, 272, 350, 22, 0, 0, 98, 6, 272,
00551 351, 22, 0, 0, 7, 353, 22, 0, 0, 98,
00552 7, 354, 22, 0, 24, 355, 25, 0, 357, 363,
00553 0, 357, 364, 358, 0, 0, 0, 0, 0, 0,
00554 20, 0, 107, 20, 0, 367, 20, 0, 367, 107,
00555 20, 0, 366, 20, 0, 366, 107, 20, 0, 366,
00556 367, 20, 0, 366, 367, 107, 20, 0, 19, 362,
00557 0, 19, 20, 0, 19, 365, 20, 0, 19, 366,
00558 20, 0, 19, 366, 367, 20, 0, 347, 0, 365,
00559 347, 0, 273, 0, 366, 273, 0, 332, 0, 367,
00560 332, 0, 18, 0, 270, 18, 0, 18, 0, 270,
00561 18, 0, 270, 0, 8, 24, 270, 25, 0, 370,
00562 332, 0, 0, 370, 332, 9, 372, 332, 0, 0,
00563 10, 24, 270, 373, 25, 332, 0, 11, 24, 270,
00564 25, 0, 11, 24, 270, 25, 0, 0, 0, 179,
00565 377, 357, 24, 378, 379, 25, 355, 400, 358, 0,
00566 381, 0, 0, 379, 380, 21, 381, 0, 399, 0,
00567 406, 0, 177, 0, 176, 0, 178, 0, 24, 270,
00568 25, 0, 382, 0, 245, 26, 270, 27, 0, 245,
00569 24, 25, 0, 245, 24, 246, 25, 0, 70, 24,
00570 269, 21, 328, 25, 0, 245, 306, 28, 407, 281,
00571 0, 245, 306, 44, 407, 281, 0, 245, 47, 0,
00572 245, 48, 0, 383, 0, 47, 247, 0, 48, 247,
00573 0, 29, 253, 0, 34, 253, 0, 33, 253, 0,
00574 32, 253, 0, 31, 253, 0, 30, 253, 0, 250,
00575 0, 384, 0, 24, 328, 25, 253, 0, 385, 0,
00576 254, 34, 253, 0, 254, 35, 253, 0, 254, 36,
00577 253, 0, 386, 0, 255, 33, 254, 0, 255, 32,
00578 254, 0, 387, 0, 256, 49, 255, 0, 256, 50,
00579 255, 0, 388, 0, 257, 37, 256, 0, 257, 38,
00580 256, 0, 257, 51, 256, 0, 257, 52, 256, 0,
00581 389, 0, 258, 53, 257, 0, 258, 54, 257, 0,
00582 390, 0, 259, 29, 258, 0, 391, 0, 260, 39,
00583 259, 0, 392, 0, 261, 40, 260, 0, 393, 0,
00584 262, 55, 261, 0, 394, 0, 264, 56, 262, 0,
00585 395, 0, 0, 0, 264, 41, 397, 270, 22, 398,
00586 266, 0, 396, 0, 247, 23, 269, 0, 247, 57,
00587 269, 0, 247, 58, 269, 0, 247, 59, 269, 0,
00588 247, 60, 269, 0, 247, 61, 269, 0, 247, 62,
00589 269, 0, 247, 63, 269, 0, 247, 64, 269, 0,
00590 247, 65, 269, 0, 247, 66, 269, 0, 180, 0,
00591 0, 12, 0, 374, 332, 0, 401, 332, 11, 24,
00592 270, 25, 18, 0, 337, 332, 0, 374, 347, 0,
00593 401, 347, 11, 24, 270, 25, 18, 0, 401, 347,
00594 11, 24, 270, 25, 0, 337, 347, 0, 14, 407,
00595 18, 0, 15, 18, 0, 97, 15, 18, 0, 16,
00596 18, 0, 93, 16, 18, 0, 94, 16, 18, 0,
00597 95, 16, 18, 0, 96, 16, 18, 0, 17, 18,
00598 0, 17, 270, 18, 0, 0, 18, 0, 175, 0,
00599 176, 0, 179, 0, 180, 0, 406, 0, 177, 0,
00600 181, 0, 177, 0
00601 };
00602
00603 #endif
00604
00605 #if YYDEBUG != 0
00606 static const short yyrline[] = { 0,
00607 232, 233, 236, 237, 240, 241, 242, 243, 244, 245,
00608 246, 249, 251, 255, 255, 260, 266, 270, 271, 275,
00609 276, 278, 280, 284, 288, 295, 299, 305, 306, 308,
00610 310, 326, 330, 337, 341, 347, 349, 349, 353, 354,
00611 355, 356, 359, 362, 363, 366, 367, 370, 371, 374,
00612 375, 378, 379, 382, 383, 386, 389, 390, 393, 394,
00613 395, 396, 397, 400, 401, 404, 404, 407, 407, 410,
00614 414, 415, 418, 418, 421, 421, 424, 428, 429, 432,
00615 433, 436, 442, 449, 455, 462, 463, 464, 465, 466,
00616 469, 472, 475, 476, 479, 480, 481, 482, 483, 484,
00617 485, 486, 489, 495, 502, 508, 517, 523, 527, 529,
00618 533, 536, 543, 551, 552, 555, 556, 559, 560, 561,
00619 562, 563, 564, 565, 566, 570, 571, 575, 576, 579,
00620 581, 583, 584, 585, 586, 587, 589, 593, 597, 609,
00621 610, 611, 612, 613, 614, 617, 618, 619, 620, 621,
00622 622, 623, 624, 625, 628, 629, 632, 633, 634, 635,
00623 636, 637, 638, 639, 640, 641, 642, 645, 646, 649,
00624 653, 654, 657, 658, 659, 660, 663, 664, 668, 669,
00625 670, 671, 674, 675, 676, 679, 680, 681, 684, 685,
00626 686, 687, 688, 691, 692, 693, 696, 697, 700, 701,
00627 705, 706, 709, 710, 715, 721, 722, 728, 734, 735,
00628 735, 737, 740, 741, 742, 743, 744, 745, 746, 747,
00629 748, 749, 750, 751, 754, 755, 758, 759, 762, 767,
00630 768, 769, 772, 785, 789, 790, 793, 798, 799, 799,
00631 804, 805, 806, 807, 810, 813, 816, 819, 820, 823,
00632 824, 827, 828, 829, 833, 835, 844, 845, 846, 847,
00633 848, 851, 852, 853, 854, 855, 856, 857, 858, 859,
00634 860, 861, 862, 863, 864, 865, 866, 867, 868, 869,
00635 870, 871, 872, 873, 874, 875, 876, 877, 878, 879,
00636 880, 881, 882, 883, 884, 885, 886, 887, 888, 889,
00637 890, 891, 892, 893, 894, 895, 898, 899, 900, 901,
00638 904, 905, 906, 907, 908, 909, 910, 911, 912, 913,
00639 914, 915, 916, 917, 920, 924, 925, 929, 930, 934,
00640 935, 936, 939, 940, 943, 945, 947, 948, 950, 952,
00641 953, 955, 957, 959, 961, 962, 964, 966, 967, 969,
00642 971, 972, 975, 978, 979, 980, 983, 985, 989, 991,
00643 995, 996, 997, 1001, 1003, 1003, 1005, 1008, 1010, 1012,
00644 1015, 1020, 1027, 1028, 1029, 1036, 1040, 1041, 1045, 1046,
00645 1049, 1050, 1053, 1054, 1057, 1058, 1059, 1060, 1063, 1064,
00646 1067, 1068, 1071, 1072, 1073, 1076, 1076, 1077, 1078, 1081,
00647 1093, 1109, 1110, 1113, 1114, 1115, 1118, 1119, 1122, 1124,
00648 1125, 1127, 1128, 1130, 1132, 1134, 1136, 1142, 1143, 1144,
00649 1145, 1146, 1147, 1148, 1149, 1150, 1153, 1156, 1159, 1160,
00650 1164, 1166, 1168, 1170, 1174, 1175, 1177, 1181, 1183, 1185,
00651 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197,
00652 1198, 1199, 1200, 1203, 1209, 1212, 1215, 1216, 1219, 1220,
00653 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1232,
00654 1233, 1239, 1240, 1241, 1242, 1245, 1246, 1247, 1248, 1251,
00655 1252, 1256, 1259, 1262, 1265, 1268, 1271, 1274, 1275, 1276,
00656 1277, 1279, 1280, 1282, 1284, 1291, 1295, 1297, 1299, 1301,
00657 1305, 1306, 1309, 1310, 1313, 1314, 1317, 1318, 1321, 1322,
00658 1323, 1326, 1334, 1339, 1340, 1344, 1345, 1348, 1353, 1356,
00659 1357, 1358, 1366, 1367, 1367, 1371, 1372, 1373, 1384, 1391,
00660 1392, 1395, 1396, 1397, 1398, 1399, 1401, 1402, 1403, 1404,
00661 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416,
00662 1419, 1420, 1423, 1424, 1425, 1426, 1429, 1430, 1431, 1434,
00663 1435, 1436, 1439, 1440, 1441, 1442, 1443, 1446, 1447, 1448,
00664 1451, 1452, 1455, 1456, 1460, 1461, 1464, 1465, 1468, 1469,
00665 1472, 1473, 1474, 1475, 1478, 1479, 1480, 1481, 1482, 1483,
00666 1484, 1485, 1486, 1487, 1488, 1489, 1492, 1493, 1496, 1499,
00667 1501, 1503, 1507, 1508, 1510, 1512, 1515, 1516, 1517, 1519,
00668 1520, 1521, 1522, 1523, 1524, 1525, 1528, 1529, 1532, 1535,
00669 1536, 1537, 1538, 1539, 1542, 1543
00670 };
00671 #endif
00672
00673
00674 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
00675
00676 static const char * const yytname[] = { "$","error","$undefined.","BADTOK",
00677 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
00678 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
00679 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
00680 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
00681 "TBAR","TQUEST","CSIZEOF","CALIGNOF","ARROW_OP","CTYPEDEF","COFFSETOF","INC_OP",
00682 "DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP",
00683 "MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
00684 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
00685 "VA_ARG","VA_DCL","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION","QITER",
00686 "QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
00687 "QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND","TENDMACRO",
00688 "QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE","QFALLTHROUGH",
00689 "QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED","QPRINTFLIKE",
00690 "QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST","QVOLATILE",
00691 "QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT","QIN",
00692 "QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
00693 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
00694 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
00695 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
00696 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
00697 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
00698 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
00699 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","IDENTIFIER","NEW_IDENTIFIER",
00700 "TYPE_NAME_OR_ID","CCONSTANT","ITER_NAME","ITER_ENDNAME","TYPE_NAME","file",
00701 "externalDefs","externalDef","constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl",
00702 "namedDeclBase","@2","@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7",
00703 "macroDef","fcnDefHdr","optGlobMods","@8","optPlainGlobMods","@9","optGlobModsRest",
00704 "optPlainGlobModsRest","specialClauses","globIdList","globIdListExpr","globId",
00705 "globQual","optGlobQuals","optGlobModsAux","@10","@11","optPlainGlobModsAux",
00706 "@12","@13","optMods","fcnMods","@14","fcnPlainMods","@15","specialTag","endStateTag",
00707 "endSpecialTag","stateSpecialClause","specialClauseType","specialClause","@16",
00708 "@17","fcnDefHdrAux","fcnBody","@18","@19","fcnDef","locModifies","locPlainModifies",
00709 "modListExpr","mExpr","modList","specClauseListExpr","specClauseList","primaryExpr",
00710 "postfixExpr","argumentExprList","unaryExpr","fieldDesignator","offsetofExpr",
00711 "sizeofExpr","@20","sizeofExprAux","castExpr","timesExpr","plusExpr","shiftExpr",
00712 "relationalExpr","equalityExpr","bitandExpr","xorExpr","bitorExpr","andExpr",
00713 "@21","orExpr","@22","conditionalExpr","@23","@24","assignExpr","expr","optExpr",
00714 "constantExpr","initializer","instanceDecl","@25","@26","namedInitializer","@27",
00715 "typeDecl","@28","IsType","PushType","namedInitializerList","namedInitializerListAux",
00716 "optDeclarators","init","initList","storageSpecifier","typeQualifier","typeModifier",
00717 "typeSpecifier","completeType","completeTypeSpecifier","altType","completeTypeSpecifierAux",
00718 "optCompleteType","suSpc","@29","@30","@31","@32","@33","@34","@35","@36","NotType",
00719 "structDeclList","structDecl","structNamedDeclList","structNamedDecl","enumSpc",
00720 "@37","enumeratorList","enumerator","optNamedDecl","namedDecl","genericParamList",
00721 "innerMods","innerModsList","pointers","paramIdList","idList","paramTypeList",
00722 "paramList","@38","@39","paramDecl","typeExpression","abstractDecl","optAbstractDeclBase",
00723 "abstractDeclBase","stmt","iterBody","endBody","iterDefStmtList","iterDefIterationStmt",
00724 "forPred","@40","@41","partialIterStmt","@42","iterDefStmt","iterSelectionStmt",
00725 "openScope","closeScope","macroBody","stmtErr","labeledStmt","caseStmt","@43",
00726 "@44","defaultStmt","@45","@46","compoundStmt","compoundStmtErr","CreateInnerScope",
00727 "DeleteInnerScope","CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe",
00728 "compoundStmtRest","compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList",
00729 "stmtList","expressionStmt","expressionStmtErr","ifPred","selectionStmt","@47",
00730 "@48","whilePred","iterWhilePred","iterStmt","@49","@50","iterArgList","@51",
00731 "iterArgExpr","primaryIterExpr","postfixIterExpr","unaryIterExpr","castIterExpr",
00732 "timesIterExpr","plusIterExpr","shiftIterExpr","relationalIterExpr","equalityIterExpr",
00733 "bitandIterExpr","xorIterExpr","bitorIterExpr","andIterExpr","orIterExpr","conditionalIterExpr",
00734 "@52","@53","assignIterExpr","endIter","doHeader","iterationStmt","iterationStmtErr",
00735 "jumpStmt","optSemi","id","newId","typeName", NULL
00736 };
00737 #endif
00738
00739 static const short yyr1[] = { 0,
00740 182, 182, 183, 183, 184, 184, 184, 184, 184, 184,
00741 184, 185, 185, 187, 186, 188, 188, 189, 189, 190,
00742 190, 190, 190, 191, 190, 192, 190, 193, 193, 193,
00743 193, 194, 193, 195, 193, 197, 198, 196, 199, 199,
00744 199, 199, 200, 202, 201, 204, 203, 205, 205, 206,
00745 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
00746 211, 211, 211, 212, 212, 214, 213, 215, 213, 213,
00747 213, 213, 217, 216, 218, 216, 216, 216, 216, 219,
00748 219, 221, 220, 223, 222, 224, 224, 224, 224, 224,
00749 225, 226, 227, 227, 228, 228, 228, 228, 228, 228,
00750 228, 228, 230, 229, 231, 229, 232, 232, 234, 233,
00751 235, 233, 236, 237, 237, 238, 238, 239, 239, 239,
00752 239, 239, 239, 239, 239, 240, 240, 241, 241, 242,
00753 242, 242, 242, 242, 242, 242, 242, 243, 243, 244,
00754 244, 244, 244, 244, 244, 245, 245, 245, 245, 245,
00755 245, 245, 245, 245, 246, 246, 247, 247, 247, 247,
00756 247, 247, 247, 247, 247, 247, 247, 248, 248, 249,
00757 251, 250, 252, 252, 252, 252, 253, 253, 254, 254,
00758 254, 254, 255, 255, 255, 256, 256, 256, 257, 257,
00759 257, 257, 257, 258, 258, 258, 259, 259, 260, 260,
00760 261, 261, 262, 263, 262, 264, 265, 264, 266, 267,
00761 268, 266, 269, 269, 269, 269, 269, 269, 269, 269,
00762 269, 269, 269, 269, 270, 270, 271, 271, 272, 273,
00763 273, 273, 274, 275, 274, 276, 274, 277, 278, 277,
00764 280, 279, 279, 279, 281, 282, 283, 284, 284, 285,
00765 285, 286, 286, 286, 287, 287, 288, 288, 288, 288,
00766 288, 289, 289, 289, 289, 289, 289, 289, 289, 289,
00767 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
00768 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
00769 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
00770 289, 289, 289, 289, 289, 289, 290, 290, 290, 290,
00771 291, 291, 291, 291, 291, 291, 291, 291, 291, 291,
00772 291, 291, 291, 291, 292, 293, 293, 294, 294, 295,
00773 295, 295, 296, 296, 298, 299, 297, 300, 301, 297,
00774 297, 297, 302, 303, 297, 304, 305, 297, 297, 297,
00775 297, 297, 306, 307, 307, 307, 308, 308, 309, 309,
00776 310, 310, 310, 311, 312, 311, 311, 313, 313, 313,
00777 314, 314, 315, 315, 315, 315, 316, 316, 317, 317,
00778 318, 318, 319, 319, 320, 320, 320, 320, 321, 321,
00779 322, 322, 323, 323, 323, 325, 324, 326, 324, 327,
00780 327, 328, 328, 329, 329, 329, 330, 330, 331, 331,
00781 331, 331, 331, 331, 331, 331, 331, 332, 332, 332,
00782 332, 332, 332, 332, 332, 332, 333, 334, 335, 335,
00783 336, 336, 336, 336, 338, 339, 337, 341, 340, 340,
00784 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
00785 342, 342, 342, 343, 344, 345, 346, 346, 347, 347,
00786 347, 347, 347, 347, 347, 347, 347, 347, 347, 348,
00787 348, 350, 349, 351, 349, 353, 352, 354, 352, 355,
00788 355, 356, 357, 358, 359, 360, 361, 362, 362, 362,
00789 362, 362, 362, 362, 362, 363, 364, 364, 364, 364,
00790 365, 365, 366, 366, 367, 367, 368, 368, 369, 369,
00791 369, 370, 371, 372, 371, 373, 371, 374, 375, 377,
00792 378, 376, 379, 380, 379, 381, 381, 381, 381, 382,
00793 382, 383, 383, 383, 383, 383, 383, 383, 383, 383,
00794 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
00795 385, 385, 386, 386, 386, 386, 387, 387, 387, 388,
00796 388, 388, 389, 389, 389, 389, 389, 390, 390, 390,
00797 391, 391, 392, 392, 393, 393, 394, 394, 395, 395,
00798 396, 397, 398, 396, 399, 399, 399, 399, 399, 399,
00799 399, 399, 399, 399, 399, 399, 400, 400, 401, 402,
00800 402, 402, 403, 403, 403, 403, 404, 404, 404, 404,
00801 404, 404, 404, 404, 404, 404, 405, 405, 406, 407,
00802 407, 407, 407, 407, 408, 408
00803 };
00804
00805 static const short yyr2[] = { 0,
00806 0, 1, 1, 2, 2, 1, 1, 1, 1, 1,
00807 1, 8, 11, 0, 5, 1, 3, 1, 2, 1,
00808 6, 3, 6, 0, 6, 0, 7, 1, 6, 3,
00809 6, 0, 6, 0, 7, 0, 0, 10, 3, 3,
00810 3, 2, 1, 0, 2, 0, 2, 1, 2, 1,
00811 2, 1, 2, 1, 3, 2, 1, 1, 1, 1,
00812 1, 1, 1, 0, 2, 0, 6, 0, 6, 1,
00813 1, 0, 0, 5, 0, 5, 1, 1, 0, 1,
00814 0, 0, 3, 0, 3, 1, 1, 1, 1, 1,
00815 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00816 1, 1, 0, 7, 0, 8, 1, 3, 0, 3,
00817 0, 3, 2, 3, 2, 2, 1, 1, 1, 3,
00818 4, 2, 3, 3, 3, 1, 1, 1, 3, 1,
00819 1, 3, 4, 2, 3, 3, 3, 1, 3, 1,
00820 1, 1, 3, 1, 1, 1, 4, 3, 4, 6,
00821 5, 5, 2, 2, 1, 3, 1, 2, 2, 2,
00822 2, 2, 2, 2, 2, 1, 1, 3, 1, 9,
00823 0, 3, 4, 2, 4, 2, 1, 4, 1, 3,
00824 3, 3, 1, 3, 3, 1, 3, 3, 1, 3,
00825 3, 3, 3, 1, 3, 3, 1, 3, 1, 3,
00826 1, 3, 1, 0, 4, 1, 0, 4, 1, 0,
00827 0, 7, 1, 3, 3, 3, 3, 3, 3, 3,
00828 3, 3, 3, 3, 1, 3, 0, 1, 1, 1,
00829 1, 1, 3, 0, 9, 0, 11, 2, 0, 6,
00830 0, 7, 4, 4, 0, 0, 2, 1, 4, 0,
00831 4, 1, 3, 4, 1, 3, 1, 1, 1, 1,
00832 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00833 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00834 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00835 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00836 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
00837 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00838 2, 2, 2, 2, 3, 1, 4, 1, 3, 2,
00839 2, 2, 0, 1, 0, 0, 11, 0, 0, 11,
00840 6, 6, 0, 0, 10, 0, 0, 10, 5, 5,
00841 4, 4, 0, 1, 1, 2, 5, 3, 2, 4,
00842 1, 3, 4, 6, 0, 8, 4, 1, 3, 2,
00843 1, 4, 1, 1, 2, 2, 1, 2, 1, 2,
00844 1, 1, 1, 2, 1, 2, 2, 3, 1, 3,
00845 1, 3, 1, 1, 3, 0, 2, 0, 4, 4,
00846 1, 1, 2, 1, 1, 2, 0, 1, 5, 2,
00847 3, 3, 4, 3, 4, 4, 5, 1, 1, 1,
00848 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
00849 2, 7, 6, 2, 0, 0, 10, 0, 6, 1,
00850 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
00851 1, 3, 1, 2, 2, 2, 1, 1, 1, 1,
00852 1, 1, 1, 1, 1, 1, 3, 1, 1, 2,
00853 2, 0, 4, 0, 5, 0, 3, 0, 4, 3,
00854 2, 3, 0, 0, 0, 0, 0, 1, 2, 2,
00855 3, 2, 3, 3, 4, 2, 2, 3, 3, 4,
00856 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
00857 1, 4, 2, 0, 5, 0, 6, 4, 4, 0,
00858 0, 10, 1, 0, 4, 1, 1, 1, 1, 1,
00859 3, 1, 4, 3, 4, 6, 5, 5, 2, 2,
00860 1, 2, 2, 2, 2, 2, 2, 2, 2, 1,
00861 1, 4, 1, 3, 3, 3, 1, 3, 3, 1,
00862 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
00863 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
00864 1, 0, 0, 7, 1, 3, 3, 3, 3, 3,
00865 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
00866 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
00867 3, 3, 3, 3, 2, 3, 0, 1, 1, 1,
00868 1, 1, 1, 1, 1, 1
00869 };
00870
00871 static const short yydefact[] = { 0,
00872 11, 385, 353, 231, 353, 14, 0, 0, 0, 0,
00873 245, 245, 258, 257, 259, 260, 261, 245, 245, 245,
00874 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00875 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00876 245, 245, 245, 308, 309, 310, 307, 245, 245, 245,
00877 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00878 245, 245, 245, 245, 353, 353, 353, 353, 353, 353,
00879 353, 353, 353, 353, 619, 620, 624, 621, 622, 625,
00880 0, 3, 6, 7, 377, 8, 9, 353, 43, 617,
00881 10, 230, 232, 0, 333, 333, 353, 333, 353, 326,
00882 353, 0, 353, 107, 245, 623, 20, 353, 381, 382,
00883 383, 386, 387, 248, 245, 245, 241, 353, 626, 353,
00884 353, 624, 0, 469, 245, 476, 0, 0, 0, 599,
00885 0, 0, 0, 0, 245, 509, 0, 245, 245, 245,
00886 245, 245, 245, 245, 245, 245, 0, 42, 0, 0,
00887 0, 0, 0, 0, 245, 145, 141, 144, 142, 520,
00888 146, 157, 177, 167, 166, 179, 183, 186, 189, 194,
00889 197, 199, 201, 203, 206, 209, 213, 225, 511, 171,
00890 0, 0, 501, 459, 460, 461, 462, 0, 0, 463,
00891 245, 464, 0, 465, 0, 466, 468, 140, 0, 453,
00892 0, 507, 0, 483, 440, 0, 0, 0, 449, 0,
00893 450, 429, 448, 445, 446, 441, 442, 443, 0, 0,
00894 447, 0, 0, 0, 451, 428, 0, 262, 263, 264,
00895 265, 270, 272, 271, 275, 276, 287, 289, 290, 288,
00896 273, 274, 266, 267, 268, 269, 284, 285, 282, 286,
00897 277, 278, 281, 279, 280, 293, 295, 300, 283, 296,
00898 297, 298, 299, 291, 292, 294, 301, 302, 305, 306,
00899 303, 304, 311, 313, 312, 314, 315, 316, 317, 318,
00900 319, 320, 4, 245, 0, 109, 113, 503, 353, 353,
00901 618, 5, 353, 334, 330, 331, 324, 332, 0, 245,
00902 245, 322, 245, 245, 0, 323, 378, 321, 384, 388,
00903 353, 0, 247, 353, 0, 238, 245, 617, 16, 18,
00904 0, 353, 245, 28, 396, 245, 141, 144, 177, 229,
00905 472, 140, 0, 245, 245, 245, 245, 0, 608, 610,
00906 615, 0, 0, 353, 402, 0, 0, 160, 165, 164,
00907 163, 162, 161, 0, 245, 158, 159, 245, 0, 0,
00908 0, 0, 0, 245, 478, 245, 471, 245, 418, 419,
00909 420, 421, 0, 422, 423, 245, 425, 245, 424, 426,
00910 483, 245, 245, 153, 154, 0, 245, 245, 245, 245,
00911 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00912 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00913 245, 245, 245, 204, 210, 207, 510, 245, 0, 606,
00914 39, 0, 484, 502, 513, 603, 0, 470, 245, 0,
00915 0, 0, 508, 40, 430, 434, 444, 455, 456, 454,
00916 0, 0, 41, 22, 245, 396, 353, 245, 483, 504,
00917 245, 233, 108, 353, 0, 328, 0, 353, 0, 353,
00918 0, 245, 245, 244, 245, 243, 239, 353, 0, 245,
00919 0, 353, 245, 19, 393, 0, 0, 379, 394, 245,
00920 0, 0, 477, 0, 516, 0, 228, 0, 607, 616,
00921 143, 245, 245, 0, 404, 403, 405, 245, 467, 245,
00922 0, 611, 612, 613, 614, 609, 474, 0, 0, 602,
00923 353, 481, 600, 0, 0, 148, 0, 155, 0, 0,
00924 0, 214, 215, 216, 217, 218, 219, 220, 221, 222,
00925 223, 224, 180, 181, 182, 185, 184, 187, 188, 190,
00926 191, 192, 193, 195, 196, 198, 200, 202, 245, 245,
00927 245, 226, 245, 245, 172, 497, 144, 501, 0, 353,
00928 482, 514, 0, 0, 452, 438, 0, 0, 24, 0,
00929 488, 245, 505, 110, 353, 245, 353, 483, 112, 245,
00930 234, 327, 245, 343, 0, 351, 346, 0, 352, 0,
00931 368, 371, 365, 367, 249, 245, 245, 617, 15, 30,
00932 245, 396, 245, 17, 380, 389, 391, 36, 398, 353,
00933 397, 401, 473, 512, 0, 518, 245, 325, 410, 0,
00934 396, 406, 245, 0, 178, 353, 245, 0, 479, 480,
00935 496, 0, 521, 245, 149, 147, 245, 245, 205, 0,
00936 208, 245, 174, 245, 176, 498, 499, 245, 245, 245,
00937 519, 245, 245, 353, 44, 26, 489, 492, 245, 245,
00938 490, 245, 506, 0, 236, 245, 329, 349, 485, 335,
00939 350, 485, 338, 245, 370, 245, 0, 0, 245, 245,
00940 245, 0, 32, 0, 245, 0, 46, 395, 245, 407,
00941 245, 0, 411, 414, 245, 0, 412, 0, 396, 0,
00942 0, 475, 245, 245, 156, 151, 152, 211, 0, 0,
00943 500, 515, 0, 245, 245, 245, 245, 245, 245, 245,
00944 245, 245, 0, 141, 144, 142, 157, 177, 166, 183,
00945 186, 189, 194, 197, 199, 201, 203, 206, 0, 524,
00946 523, 532, 541, 551, 553, 557, 560, 563, 568, 571,
00947 573, 575, 577, 579, 581, 585, 526, 140, 0, 23,
00948 25, 72, 44, 493, 494, 245, 491, 21, 245, 250,
00949 353, 341, 485, 353, 342, 485, 364, 369, 245, 0,
00950 242, 245, 252, 240, 245, 0, 353, 46, 34, 0,
00951 390, 392, 37, 79, 399, 373, 0, 245, 407, 374,
00952 408, 517, 435, 0, 415, 413, 416, 0, 0, 150,
00953 0, 524, 245, 173, 175, 605, 0, 0, 160, 165,
00954 164, 163, 162, 161, 158, 159, 245, 245, 245, 153,
00955 154, 0, 245, 245, 245, 245, 245, 245, 245, 245,
00956 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
00957 245, 245, 245, 245, 245, 245, 245, 245, 245, 204,
00958 582, 207, 439, 0, 433, 66, 82, 70, 86, 87,
00959 88, 89, 90, 93, 94, 45, 72, 48, 71, 353,
00960 353, 52, 27, 495, 245, 0, 355, 353, 353, 354,
00961 353, 353, 353, 372, 245, 255, 0, 250, 12, 31,
00962 33, 46, 29, 617, 73, 84, 77, 47, 79, 50,
00963 78, 396, 400, 375, 376, 245, 409, 417, 0, 169,
00964 0, 483, 212, 604, 143, 245, 0, 148, 0, 0,
00965 0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
00966 594, 595, 596, 180, 181, 182, 185, 184, 187, 188,
00967 190, 191, 192, 193, 195, 196, 198, 200, 202, 578,
00968 245, 580, 245, 432, 353, 64, 617, 49, 103, 0,
00969 53, 250, 245, 353, 0, 245, 356, 344, 353, 347,
00970 353, 366, 253, 245, 617, 35, 0, 353, 64, 617,
00971 51, 245, 436, 245, 0, 601, 598, 178, 245, 149,
00972 147, 245, 245, 0, 525, 353, 59, 60, 61, 62,
00973 63, 617, 54, 64, 0, 0, 0, 119, 83, 128,
00974 617, 0, 118, 0, 95, 100, 99, 98, 97, 96,
00975 101, 102, 105, 0, 235, 245, 358, 245, 245, 353,
00976 361, 0, 336, 0, 339, 254, 256, 0, 38, 617,
00977 617, 85, 617, 117, 245, 0, 170, 168, 597, 484,
00978 0, 151, 152, 583, 0, 64, 0, 65, 58, 56,
00979 57, 0, 122, 0, 0, 0, 0, 0, 115, 0,
00980 0, 131, 138, 617, 130, 0, 245, 251, 245, 245,
00981 0, 359, 245, 345, 0, 348, 0, 13, 81, 81,
00982 116, 437, 522, 150, 245, 81, 55, 81, 123, 120,
00983 127, 126, 0, 124, 125, 129, 114, 0, 134, 0,
00984 0, 0, 0, 0, 617, 237, 362, 353, 357, 245,
00985 337, 340, 74, 80, 76, 584, 67, 69, 121, 135,
00986 132, 0, 136, 137, 139, 92, 245, 0, 360, 363,
00987 133, 104, 91, 245, 106, 0, 0, 0
00988 };
00989
00990 static const short yydefgoto[] = { 1156,
00991 81, 82, 83, 84, 121, 318, 319, 85, 655, 763,
00992 320, 788, 902, 86, 687, 904, 887, 88, 761, 762,
00993 793, 794, 876, 908, 877, 1012, 1013, 1070, 1014, 1015,
00994 878, 965, 966, 910, 988, 989, 1133, 1134, 967, 911,
00995 990, 880, 1154, 1147, 881, 1033, 882, 1024, 1086, 89,
00996 287, 447, 449, 90, 1019, 1052, 1020, 1113, 1021, 1083,
00997 1084, 161, 162, 517, 163, 919, 164, 165, 419, 555,
00998 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
00999 549, 176, 551, 177, 550, 813, 178, 206, 488, 331,
01000 288, 92, 666, 769, 114, 597, 93, 314, 180, 285,
01001 115, 116, 886, 784, 897, 95, 96, 97, 98, 345,
01002 289, 455, 100, 295, 101, 773, 1095, 776, 1097, 669,
01003 1042, 672, 1044, 102, 889, 890, 1039, 1040, 103, 677,
01004 590, 591, 798, 118, 477, 111, 112, 105, 605, 606,
01005 478, 479, 480, 689, 611, 346, 804, 800, 497, 367,
01006 207, 227, 208, 209, 368, 916, 1056, 211, 652, 212,
01007 213, 214, 215, 182, 424, 369, 370, 482, 628, 371,
01008 333, 508, 372, 187, 373, 561, 771, 978, 220, 574,
01009 512, 423, 189, 575, 576, 374, 190, 191, 375, 649,
01010 615, 376, 223, 377, 381, 704, 740, 864, 741, 742,
01011 743, 744, 745, 746, 747, 748, 749, 750, 751, 752,
01012 753, 754, 755, 756, 961, 1105, 757, 1060, 378, 379,
01013 196, 380, 292, 332, 199, 108
01014 };
01015
01016 static const short yypact[] = { 2004,
01017 -32768, 118, 5457,-32768, 6254,-32768, 781, 2949, 3313, 3313,
01018 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01019 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01020 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01021 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01022 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01023 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01024 -32768,-32768,-32768,-32768,-32768,-32768, 460,-32768,-32768,-32768,
01025 2186,-32768,-32768,-32768, 350,-32768,-32768, 5201,-32768, 123,
01026 -32768,-32768,-32768, 145, 6095, 6095,-32768, 6095, 176, 51,
01027 -32768, 557,-32768,-32768, 781,-32768,-32768,-32768,-32768,-32768,
01028 -32768, 118,-32768,-32768, 183,-32768, 176,-32768,-32768,-32768,
01029 5457,-32768, 208,-32768, 5072,-32768, 264, 271, 330,-32768,
01030 345, 781, 257, 366, 1104,-32768, 2544, 5072, 5072, 5072,
01031 5072, 5072, 5072,-32768, 5611, 5611, 382,-32768, 400, 429,
01032 436, 441, 451, 326, 4659,-32768, 483, 496,-32768, 501,
01033 -32768, 502, 884,-32768,-32768,-32768, 747, 601, 724, 650,
01034 807, 498, 459, 492, 485, 121,-32768,-32768, 313,-32768,
01035 3452, 477, 482,-32768,-32768,-32768,-32768, 533, 3088,-32768,
01036 4659,-32768, 3452,-32768, 3452,-32768,-32768, 569, 584,-32768,
01037 577,-32768, 2725, 501, 596, 338, 576, 3131,-32768, 3313,
01038 -32768,-32768,-32768, 5854,-32768,-32768,-32768,-32768, 656, 657,
01039 -32768, 3313, 3313, 3452,-32768,-32768, 592,-32768,-32768,-32768,
01040 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01041 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01042 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01043 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01044 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01045 -32768,-32768,-32768, 664, 673,-32768,-32768,-32768, 176, 5045,
01046 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 690, 559,
01047 -32768,-32768, 781, 781, 76,-32768, 350,-32768,-32768,-32768,
01048 -32768, 695,-32768,-32768, 697, 680, 559, 123,-32768, 373,
01049 693,-32768, 781,-32768, 91, 5072,-32768,-32768,-32768,-32768,
01050 -32768,-32768, 711, 5072, 5072, 5072, 1907, 735,-32768,-32768,
01051 -32768, 469, 443, 5724, 186, 718, 741,-32768,-32768,-32768,
01052 -32768,-32768,-32768, 737, 5072,-32768,-32768, 5072, 768, 770,
01053 777, 784, 802, 5072,-32768, 1933,-32768, 4659,-32768,-32768,
01054 -32768,-32768, 812,-32768,-32768, 4659,-32768, 4659,-32768,-32768,
01055 -32768, 3481, 5072,-32768,-32768, 106, 5072, 5072, 5072, 5072,
01056 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01057 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01058 5072, 5072, 5072,-32768,-32768,-32768,-32768, 5072, 842,-32768,
01059 -32768, 2363,-32768,-32768, 828,-32768, 840,-32768, 5072, 629,
01060 814, 830,-32768,-32768,-32768,-32768, 5854,-32768,-32768,-32768,
01061 2906, 847,-32768,-32768, 5072, 97, 3554, 559, 851,-32768,
01062 559,-32768, 284, 6254, 778, 856, 868, 878, 886, 878,
01063 781, 900, 559,-32768, 559,-32768,-32768,-32768, 806, 905,
01064 929,-32768, 559, 373,-32768, 781, 912,-32768, 919, 781,
01065 98, 940,-32768, 446, 946, 512, 946, 951,-32768,-32768,
01066 -32768,-32768, 1472, 948, 404,-32768, 450, 5072,-32768,-32768,
01067 954,-32768,-32768,-32768,-32768,-32768,-32768, 955, 957,-32768,
01068 3554,-32768,-32768, 975, 969,-32768, 537,-32768, 371, 781,
01069 781,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01070 -32768,-32768,-32768,-32768,-32768, 747, 747, 601, 601, 724,
01071 724, 724, 724, 650, 650, 807, 498, 459, 5072, 5072,
01072 5072,-32768, 5622, 5642,-32768,-32768, 5387,-32768, 3270, 3730,
01073 -32768,-32768, 974, 561,-32768,-32768, 977, 984,-32768, 989,
01074 -32768, 4082,-32768,-32768, 3906, 4125,-32768, 851,-32768,-32768,
01075 965,-32768,-32768, 1006, 1022,-32768, 1011, 1028,-32768, 882,
01076 -32768, 1000,-32768,-32768,-32768, 183,-32768, 137,-32768,-32768,
01077 5072, 171, 559,-32768,-32768, 1044,-32768,-32768, 1070, 6254,
01078 -32768,-32768,-32768,-32768, 1052,-32768, 1907,-32768,-32768, 1061,
01079 723, 450, 4217, 1056,-32768,-32768,-32768, 1067,-32768,-32768,
01080 -32768, 1071,-32768, 5072,-32768,-32768,-32768,-32768, 492, 888,
01081 485, 5072,-32768, 5072,-32768,-32768,-32768, 4260, 4659, 5072,
01082 -32768, 5653, 5072,-32768,-32768,-32768,-32768,-32768, 4303, 4438,
01083 -32768, 4481,-32768, 1069,-32768,-32768,-32768,-32768,-32768, 1076,
01084 -32768,-32768, 1077,-32768, 781,-32768, 781, 1087, 3366,-32768,
01085 -32768, 1081,-32768, 1084,-32768, 103,-32768,-32768, 781, 736,
01086 4659, 1092,-32768,-32768, 309, 1086,-32768, 1085, 126, 1093,
01087 1088,-32768, 5072, 5653,-32768,-32768,-32768,-32768, 1094, 1095,
01088 -32768,-32768, 563, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01089 5611, 5611, 1097, 587, 631, 634, 761, 1125, 642, 783,
01090 963, 1003, 726, 1015, 1089, 1078, 1083, 1074, 201, 1099,
01091 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01092 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 684, 685,-32768,
01093 -32768, 1157,-32768,-32768,-32768, 4616,-32768,-32768,-32768,-32768,
01094 6184,-32768,-32768, 6184,-32768,-32768,-32768,-32768, 5072, 1051,
01095 -32768, 3366,-32768,-32768, 3366, 1037,-32768,-32768,-32768, 1105,
01096 -32768,-32768,-32768, 1306,-32768, 350, 1107,-32768, 692,-32768,
01097 450,-32768,-32768, 1114,-32768,-32768,-32768, 1115, 781,-32768,
01098 704, 1124, 5072,-32768,-32768, 1135, 719, 1130, 720, 725,
01099 779, 817, 819, 825, 831, 857, 5072, 4395, 5072, 875,
01100 913, 139, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01101 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01102 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072, 5072,
01103 -32768, 5072,-32768, 1111, 1138, 72,-32768,-32768,-32768,-32768,
01104 -32768,-32768,-32768,-32768,-32768,-32768, 987,-32768,-32768,-32768,
01105 -32768, 845,-32768,-32768, 3366, 478,-32768, 176, 5271,-32768,
01106 6184, 5271, 6184,-32768,-32768,-32768, 1053,-32768,-32768,-32768,
01107 -32768,-32768,-32768, 123, 138,-32768,-32768,-32768, 990,-32768,
01108 -32768, 636,-32768,-32768,-32768, 4916,-32768,-32768, 514,-32768,
01109 1139, 851,-32768,-32768, 938, 5072, 1140, 964, 966, 390,
01110 781, 781,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01111 -32768,-32768,-32768, 985, 988, 991, 543, 983, 212, 456,
01112 354, 360, 393, 522, 398, 811, 132, 408, 260, 492,
01113 5072, 485, 5653,-32768, 5984, 62, 122,-32768,-32768, 833,
01114 -32768,-32768,-32768,-32768, 1141, 327,-32768,-32768, 5271,-32768,
01115 5271,-32768,-32768, 3227, 571,-32768, 1072, 5984, 62, 122,
01116 -32768, 617,-32768,-32768, 781,-32768, 992, 999,-32768, 1004,
01117 1007,-32768,-32768, 1062,-32768, 4889,-32768,-32768,-32768,-32768,
01118 -32768, 628,-32768, 62, 916, 60, 60,-32768,-32768, 266,
01119 665, 1079,-32768, 140,-32768,-32768,-32768,-32768,-32768,-32768,
01120 -32768,-32768,-32768, 709,-32768, 559,-32768,-32768, 1143,-32768,
01121 1146, 1149,-32768, 1150,-32768,-32768,-32768, 1090,-32768, 4732,
01122 628,-32768, 665,-32768, 579, 1148,-32768,-32768,-32768,-32768,
01123 1151, 1012, 1023,-32768, 1091, 62, 1108,-32768,-32768,-32768,
01124 -32768, 117, 266, 381, 781, 781, 60, 1109,-32768, 140,
01125 140,-32768, 336, 750,-32768, 140,-32768,-32768, 5072, 327,
01126 1153,-32768,-32768,-32768, 1155,-32768, 1161,-32768, 1119, 1119,
01127 -32768,-32768,-32768, 1025, 5072, 1119,-32768, 1119,-32768,-32768,
01128 -32768, 266, 1166,-32768,-32768, 266,-32768, 457, 336, 445,
01129 781, 781, 140, 1112, 750,-32768,-32768,-32768,-32768, 5072,
01130 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01131 -32768, 1168,-32768,-32768, 336,-32768,-32768, 1113,-32768,-32768,
01132 -32768,-32768,-32768,-32768,-32768, 1177, 1199,-32768
01133 };
01134
01135 static const short yypgoto[] = {-32768,
01136 -32768, 1123,-32768,-32768,-32768,-32768, -388, -100,-32768,-32768,
01137 883,-32768,-32768,-32768,-32768,-32768, 112,-32768, 447,-32768,
01138 -679,-32768,-32768,-32768, -693, 219, 147,-32768,-32768, 203,
01139 341,-32768,-32768, 310,-32768,-32768, -918, -659,-32768,-32768,
01140 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01141 -32768,-32768,-32768,-32768,-32768,-32768, -890, 100, 232, -942,
01142 141,-32768, -586, 397, 961,-32768,-32768, -580,-32768,-32768,
01143 581, -334, -333, -332, -331, -346, -365, -315, -532, -538,
01144 -32768, -572,-32768, -115,-32768,-32768, 1073, 1068, -534, -358,
01145 1,-32768,-32768,-32768, -461,-32768,-32768,-32768, 0, -274,
01146 767,-32768, -765, -694,-32768,-32768,-32768,-32768,-32768,-32768,
01147 165, 651,-32768, 414,-32768,-32768,-32768,-32768,-32768,-32768,
01148 -32768,-32768,-32768, 756, -674, -782,-32768, 143,-32768,-32768,
01149 565, 568, 452, 8, -401, 1132,-32768, 42,-32768,-32768,
01150 -552,-32768,-32768,-32768, 556, -287, 907,-32768, -488, 467,
01151 1240,-32768, 1030,-32768, 392,-32768,-32768,-32768,-32768, -97,
01152 -32768,-32768,-32768,-32768, 172, 1133, 1411,-32768,-32768, 1435,
01153 -32768,-32768, -357,-32768, 1336, 194, -568, -806,-32768, 745,
01154 -32768,-32768, 836, -84, -306, 6,-32768, 119, 69,-32768,
01155 -32768, 251,-32768, 476,-32768,-32768, 555,-32768, 297,-32768,
01156 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
01157 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1556,-32768,
01158 -32768, 1646, -120, 231, 90,-32768
01159 };
01160
01161
01162 #define YYLAST 6435
01163
01164
01165 static const short yytable[] = { 94,
01166 91, 595, 94, 290, 307, 507, 622, 104, 509, 330,
01167 228, 229, 641, 456, 221, 221, 639, 230, 231, 232,
01168 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
01169 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
01170 253, 254, 255, 113, 570, 471, 547, 256, 257, 258,
01171 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
01172 269, 270, 271, 272, 546, 727, 536, 537, 696, 538,
01173 539, 729, 540, 541, 542, 543, 192, 544, 545, 739,
01174 94, 91, 692, 1016, 604, 980, 568, 896, 104, 107,
01175 898, 579, 107, 1017, 461, 475, 123, 548, 299, 892,
01176 909, 475, 879, 774, 94, 431, 977, 791, 901, 977,
01177 435, 87, 436, 738, 312, 313, 315, 727, 418, 737,
01178 321, 569, 491, 729, 440, 1072, 1073, 222, 222, 437,
01179 475, 739, 985, 520, 620, 301, 344, 1118, 1119, 291,
01180 291, 1109, 1074, 354, 1075, 1016, 808, 1007, 1008, 521,
01181 807, 2, -572, 310, 291, 1017, -572, -68, -68, 680,
01182 1076, 415, 323, 1080, 99, 738, 931, 117, 293, 120,
01183 107, 737, 1043, 1081, 1045, 475, 416, 1009, 1010, 183,
01184 1145, 1135, 932, 1112, 409, 410, 1116, 1137, 971, 1138,
01185 972, 1011, 87, -245, 107, 683, 977, 469, 977, 471,
01186 684, 801, 344, 311, 891, 192, 1034, 893, 221, -245,
01187 324, 493, 626, 221, 685, 221, 979, 879, 981, 2,
01188 509, 338, 986, -75, -75, 109, 110, 221, 221, 1112,
01189 106, 325, -561, 106, 75, 1018, -561, 106, 198, 198,
01190 198, 861, 682, 401, 402, 99, -68, -68, 330, 192,
01191 75, 76, 122, 648, 78, 79, 862, 192, 193, 294,
01192 294, 192, 294, 192, 698, -353, -353, -353, 660, -353,
01193 -353, -353, -353, -353, 339, -353, -353, 75, 76, 122,
01194 -576, 78, 79, 445, -576, 322, 735, 334, 299, 1047,
01195 450, 1074, 192, 1075, 335, 456, 75, 1018, 412, 94,
01196 454, -353, 457, 459, -353, 734, -353, 453, 347, 1076,
01197 801, 106, -75, -75, 75, 1082, 94, 730, 731, 732,
01198 733, 222, 321, 962, 468, 344, 222, 960, 222, 330,
01199 417, 364, 365, 418, 493, 106, 736, 560, 735, 701,
01200 222, 222, 2, 435, 494, -353, -353, -353, 1038, -353,
01201 -353, 106, 420, 336, 709, 433, 710, 734, 418, 696,
01202 2, 1120, 106, 1121, 426, 344, 427, 198, 337, 730,
01203 731, 732, 733, -246, -564, 284, 727, 330, -564, 1122,
01204 -565, 993, 729, 340, -565, 198, 495, 193, 736, 107,
01205 739, 418, 458, 460, 462, 442, -246, 636, 470, 181,
01206 210, 210, 403, 404, 1016, 358, 107, 1110, 403, 404,
01207 418, 198, 324, -566, 1017, 359, 1001, -566, -569, 198,
01208 894, 198, -569, 198, 738, 198, 818, -245, -574, 493,
01209 737, 193, -574, 198, 405, 406, 411, 450, 198, 193,
01210 198, 403, 404, 193, 360, 193, 221, 94, 407, 408,
01211 94, 361, 198, 198, 198, 577, 362, 585, 580, 588,
01212 417, 594, 94, 418, 94, 363, 418, 491, 1016, 601,
01213 614, 1141, 321, -245, 193, 623, -562, 681, 1017, 610,
01214 -562, 1140, 1120, 194, 1121, 330, 490, 401, 402, 418,
01215 192, 618, 958, -626, 494, 973, 624, 412, 974, 454,
01216 1122, 75, 76, 122, -620, 78, 79, 330, 492, 296,
01217 957, 298, 947, 948, 323, 949, 950, -624, 951, 952,
01218 953, 954, -621, 955, 956, 382, 411, 383, 181, -353,
01219 106, 413, 418, 106, 106, 106, 616, 107, 994, 414,
01220 107, 995, -567, 959, -626, -353, -567, 106, 384, 385,
01221 592, 422, 107, 106, 107, 75, 1018, 634, 1111, 222,
01222 450, 635, 324, -559, 997, 607, 622, -559, 421, 612,
01223 403, 404, 181, -457, 1088, 450, 398, 399, 400, 664,
01224 181, 418, 454, 418, 181, 651, 181, 816, 291, 796,
01225 -623, 974, 2, 558, 210, 678, 679, 735, 198, 210,
01226 429, 210, 321, -404, 493, 428, 198, -529, 198, 637,
01227 638, -529, 194, 210, 210, 181, 734, -622, 492, 75,
01228 1018, 624, 1111, 303, 304, 305, 454, 192, 730, 731,
01229 732, 733, 401, 402, -626, -626, 706, 707, -626, -626,
01230 475, 344, 493, 344, 323, 291, 433, 736, 1066, 418,
01231 2, -528, 198, 491, -530, -528, 194, 425, -530, -353,
01232 694, -353, -550, 330, 194, 770, -550, 434, 194, -353,
01233 194, 198, 193, 777, 438, 779, 439, 198, 106, 785,
01234 786, 106, 291, 443, 790, 1077, 405, 406, 610, 797,
01235 444, 106, 324, 106, 494, 106, 446, 923, 796, 194,
01236 407, 408, 467, 106, -527, 418, 106, 452, -527, 865,
01237 106, 1061, 464, 344, 466, -245, 472, 493, 348, 349,
01238 350, 351, 352, 353, 418, 2, 1087, 475, 921, 974,
01239 1127, 799, 483, 75, 76, 122, 495, 78, 79, 418,
01240 -544, 198, 498, 925, -544, -549, -353, 694, -353, -549,
01241 106, 106, 489, 75, 76, 122, -353, 78, 79, -245,
01242 500, 493, 851, 852, 592, 499, 592, 291, 885, 2,
01243 1123, 1150, 403, 404, 690, 792, 853, 854, 612, 107,
01244 398, 399, 400, 987, 828, 502, 829, 503, -353, 198,
01245 198, 75, 76, 122, 504, 78, 79, 913, 797, -548,
01246 624, 505, 198, -548, -353, 198, 198, 830, 831, 193,
01247 -353, -353, -353, 181, -353, -353, 844, 845, 846, 506,
01248 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
01249 511, -570, 210, 106, 510, -570, 562, -547, 565, -546,
01250 799, -547, 513, -546, 514, -545, 1022, 405, 406, -545,
01251 563, -542, 297, 566, 300, -542, 302, 567, 306, 409,
01252 410, 407, 408, 308, 1048, 582, 75, 76, 122, 1054,
01253 78, 79, 914, 316, 578, 317, 583, -543, 198, 198,
01254 1006, -543, 758, 553, 554, 1065, 584, 975, 107, 198,
01255 198, 1067, 198, 599, 982, -539, -245, 194, 920, -539,
01256 1078, 674, 675, 1050, 587, 106, 387, 106, 418, 708,
01257 75, 76, 122, 573, 78, 79, 106, 386, 593, 106,
01258 106, 198, 869, 870, 871, 872, 873, 874, 875, 1099,
01259 1100, 600, 1101, -540, 758, 888, 608, -540, 888, 609,
01260 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
01261 181, 1025, 602, 1026, 307, 75, 76, 122, -531, 78,
01262 79, 613, -531, 1124, 1027, 1028, 418, 1029, 617, 1030,
01263 1031, 621, 1035, 330, 627, 94, 629, 573, 533, 534,
01264 535, 630, 1032, 1041, -534, 632, 634, 665, -534, 1136,
01265 1000, 797, 633, 1057, 847, 848, 198, 650, 454, 580,
01266 653, 1062, 1063, -558, 1148, -554, 450, -558, -555, -554,
01267 654, -556, -555, 656, 330, -556, 398, 399, 400, -552,
01268 1002, 1003, 676, -552, -535, 668, 573, -533, -535, 106,
01269 671, -533, -537, 1055, 194, 94, -537, 1089, 1091, 106,
01270 670, 573, 663, -538, 448, -536, 673, -538, 451, -536,
01271 450, 849, 850, 888, 797, 888, 888, 888, 866, 867,
01272 868, 905, 906, 907, 686, 107, 463, 855, 856, 465,
01273 895, 675, 983, 984, 688, 179, 691, 473, 625, 699,
01274 476, 107, 418, 1064, 1058, 329, 1126, 693, 702, 94,
01275 75, 1069, 1130, 768, 703, 772, 775, 1041, 329, 329,
01276 329, 329, 329, 329, 781, 356, 357, 787, 789, 803,
01277 805, 806, 810, 809, 663, 712, 858, 857, 814, 815,
01278 827, 341, 859, 863, 899, 107, 663, 326, 860, 903,
01279 912, 963, 138, 139, 140, 141, 142, 143, 917, 918,
01280 184, 216, 216, 888, 107, 888, 1152, 833, 922, 144,
01281 145, 146, 924, 1155, 926, 964, 996, 802, 1037, 1049,
01282 999, 106, 106, 1090, 1114, 1115, 1079, 1093, 1094, 1096,
01283 1129, 1059, 1102, 147, 1131, 1104, 1157, 1098, 1106, 107,
01284 1132, 834, 835, 836, 837, 838, 839, 840, 841, 842,
01285 843, 867, 1139, 758, 1151, 1108, 1117, 1023, 1158, 1146,
01286 1153, 476, 342, 283, 343, 474, 106, 1051, 581, 883,
01287 1143, 1144, 1107, 586, 156, 589, 1068, 968, 991, 1142,
01288 1023, 1053, 106, 598, 929, 106, 1125, 603, 866, 867,
01289 868, 596, 1128, 667, 869, 870, 871, 872, 873, 874,
01290 875, 780, 778, 309, 795, 1071, 1023, 1023, 179, 226,
01291 915, 496, 441, 1103, 1085, 631, 179, 559, 812, 1005,
01292 179, 0, 179, 0, 0, 0, 106, 0, 0, 184,
01293 430, 0, 0, 0, 0, 0, 0, 0, 75, 327,
01294 328, 159, 0, 0, 0, 106, 0, 0, 0, 0,
01295 0, 179, 0, 0, 0, 819, 820, 821, 822, 823,
01296 824, 0, 0, 0, 1023, 106, 106, 1023, 0, 0,
01297 1085, 1085, 0, 184, 0, 0, 1085, 0, 0, 0,
01298 106, 184, 0, 0, 329, 184, 0, 184, 0, 0,
01299 0, 0, 581, 0, 0, 216, 0, 0, 0, 0,
01300 216, 0, 216, 188, 219, 219, 0, 0, 0, 0,
01301 1023, 106, 106, 1085, 216, 216, 184, 476, 329, 329,
01302 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
01303 329, 329, 329, 329, 0, 0, 695, 905, 906, 907,
01304 0, 700, 0, 869, 870, 871, 872, 873, 874, 875,
01305 0, 0, 0, 481, 0, 0, 0, 0, 0, 0,
01306 0, 484, 485, 486, 487, 329, 0, 0, 0, 760,
01307 0, 0, 0, 0, 0, 0, 0, 0, 185, 217,
01308 217, 0, 481, 0, 944, 945, 946, 0, 0, 0,
01309 501, 0, 0, 481, 0, 0, 0, 0, 0, 0,
01310 0, 0, 186, 218, 218, 0, 0, 0, 0, 0,
01311 519, 0, 0, 329, 518, 0, 0, 0, 329, 522,
01312 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
01313 0, 0, 188, 0, 0, 0, 0, 0, 0, 0,
01314 0, 0, 832, 0, 0, 0, 0, 0, 0, 179,
01315 552, 0, 0, 0, 0, 326, 564, 0, 619, 0,
01316 138, 139, 140, 141, 142, 143, 998, 0, 0, 329,
01317 0, 329, 0, 643, 645, 0, 188, 144, 145, 146,
01318 0, 0, 0, 0, 188, 0, 0, 0, 188, 0,
01319 188, 0, 0, 0, 0, 0, 0, 0, 219, 432,
01320 0, 147, 900, 219, 0, 219, 0, 185, 0, 0,
01321 0, 0, 0, 0, 184, 0, 0, 219, 219, 188,
01322 0, 329, 0, 195, 224, 224, 0, 0, 0, 0,
01323 0, 186, 0, 216, 0, 0, 0, 0, 0, 0,
01324 0, 0, 156, 329, 0, 0, 0, 0, 0, 0,
01325 0, 185, 0, 0, 0, 0, 0, 0, 0, 185,
01326 0, 0, 0, 185, 0, 185, 0, 0, 0, 0,
01327 0, 0, 728, 217, 0, 186, 0, 640, 217, 0,
01328 217, 0, 0, 186, 0, 0, 179, 186, 0, 186,
01329 0, 0, 217, 217, 185, 969, 970, 218, 0, 0,
01330 0, 0, 218, 976, 218, 0, 75, 327, 328, 159,
01331 0, 0, 0, 197, 225, 225, 218, 218, 186, 0,
01332 0, 0, 0, 0, 728, 0, 0, 992, 0, 0,
01333 0, 0, 0, 0, 0, 329, 329, 329, 329, 329,
01334 329, 825, 826, 0, 487, 0, 0, 0, 0, 0,
01335 0, 184, 195, 0, 0, 0, 0, 0, 0, 0,
01336 0, 0, 0, 0, 0, 0, 705, 0, 0, 481,
01337 0, 481, 0, 0, 0, 0, 515, 713, 0, 0,
01338 759, 0, 0, 0, 0, 0, 0, 0, 0, 1036,
01339 0, 0, 0, 0, 0, 0, 195, 0, 0, 329,
01340 0, 0, 0, 0, 195, 0, 0, 0, 195, 0,
01341 195, 783, 0, 0, 0, 0, 0, 188, 224, 0,
01342 0, 0, 0, 224, 0, 224, 0, 0, 0, 0,
01343 811, 0, 0, 329, 0, 0, 219, 224, 224, 195,
01344 0, 817, 197, 0, 0, 0, 0, 0, 0, 0,
01345 0, 0, 0, 0, 0, 1092, 0, 0, 0, 0,
01346 0, 0, 0, 0, 329, 329, 329, 329, 329, 329,
01347 329, 329, 329, 329, 329, 329, 329, 329, 329, 329,
01348 329, 0, 329, 0, 0, 0, 197, 0, 0, 0,
01349 0, 0, 185, 0, 197, 0, 0, 0, 197, 0,
01350 197, 0, 0, 0, 0, 0, 0, 0, 225, 0,
01351 0, 217, 0, 225, 783, 225, 186, 783, 0, 0,
01352 0, 0, 0, 0, 0, 0, 0, 225, 225, 197,
01353 0, 0, 0, 0, 0, 218, 0, 0, 0, 0,
01354 0, 0, 0, 1149, 0, 0, 329, 0, 0, 0,
01355 0, 0, 0, 0, 188, 0, 930, 0, 0, 927,
01356 518, 0, 0, 0, 0, 933, 934, 935, 936, 937,
01357 938, 939, 940, 941, 942, 943, 0, 0, 0, 0,
01358 0, 0, 0, 728, -227, 0, 0, 0, 0, 0,
01359 326, 0, 0, 0, 0, 138, 139, 140, 141, 142,
01360 143, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01361 0, -483, 144, 145, 146, 0, 366, 783, 0, 0,
01362 0, 138, 139, 140, 141, 142, 143, 0, 0, 185,
01363 0, 0, 0, 0, 0, 0, 147, 195, 144, 145,
01364 146, 0, 0, 487, 0, 0, 0, 0, 0, 0,
01365 0, 0, 0, 186, 0, 0, 224, 0, 0, 0,
01366 0, 0, 147, -1, 1, 0, 0, 0, 0, 0,
01367 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
01368 0, 0, 0, 0, 0, 0, 0, -245, 1004, 0,
01369 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
01370 0, 0, 0, 156, 0, 0, 0, 0, 3, 329,
01371 0, 0, 0, 0, 0, 0, 783, 0, 0, 0,
01372 0, 0, 0, 0, 0, 329, 0, 197, 0, 0,
01373 -353, -353, -353, 0, 4, 0, 0, 0, 5, 6,
01374 7, 75, 327, 328, 159, 0, 225, 0, 0, 0,
01375 329, 0, 8, 9, 10, 0, 0, 0, 0, 0,
01376 0, 0, 0, 0, 0, 0, 0, 75, 327, 328,
01377 159, 11, 12, 13, 195, 14, 15, 16, 17, 18,
01378 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01379 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01380 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01381 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01382 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01383 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
01384 77, 0, 78, 79, 80, -2, 1, 0, 0, 0,
01385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01386 0, 0, 0, 0, 197, 0, 0, 0, 0, -245,
01387 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
01388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01389 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01391 0, 0, -353, -353, -353, 0, 4, 0, 0, 0,
01392 5, 6, 7, 0, 0, 0, 0, 0, 0, 0,
01393 0, 0, 0, 0, 8, 9, 10, 0, 0, 0,
01394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01395 0, 0, 0, 11, 12, 13, 0, 14, 15, 16,
01396 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
01397 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
01398 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
01399 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
01400 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
01401 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
01402 75, 76, 77, 124, 78, 79, 80, 0, 125, 126,
01403 127, 0, 128, 129, 130, 131, 132, 133, 134, 135,
01404 136, -483, 556, 0, 0, 0, 137, 0, 0, 0,
01405 0, 138, 139, 140, 141, 142, 143, 0, 0, 0,
01406 0, 0, 0, 0, -245, -245, 0, 3, 144, 145,
01407 146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01408 0, 0, 0, 0, 0, 0, 0, 0, 0, -353,
01409 -353, -353, 147, 4, 0, 0, 0, 0, 0, 0,
01410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01411 0, 0, 0, 0, 0, 149, 150, 151, 152, 153,
01412 154, 0, 0, 0, 0, 0, 0, 0, 0, 155,
01413 11, 12, 13, 156, 14, 15, 16, 17, 18, 19,
01414 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
01415 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
01416 0, 39, 40, 41, 42, 43, 44, 45, 46, 47,
01417 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
01418 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
01419 68, 69, 70, 71, 72, 73, 74, 75, 157, 557,
01420 159, 160, 79, 80, 124, 0, 0, 0, 0, 125,
01421 126, 127, 0, 128, 129, 130, 131, 132, 133, 134,
01422 135, 136, -483, 0, 0, 0, 0, 137, 0, 0,
01423 0, 0, 138, 139, 140, 141, 142, 143, 0, 0,
01424 0, 0, 0, 0, 0, -245, -245, 0, 0, 144,
01425 145, 146, 0, 0, 0, 0, 0, 0, 0, 0,
01426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01427 -245, -245, -245, 147, 0, 0, 0, 0, 0, 0,
01428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01429 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
01430 153, 154, 0, 0, 0, 0, 0, 0, 0, 0,
01431 155, -245, -245, -245, 156, -245, -245, -245, -245, -245,
01432 -245, -245, -245, -245, -245, 0, -245, -245, -245, -245,
01433 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01434 -245, 0, -245, -245, -245, -245, -245, -245, -245, -245,
01435 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01436 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01437 -245, -245, -245, -245, -245, -245, -245, -245, 75, 157,
01438 158, 159, 160, 79, -245, 200, 0, 0, 0, 0,
01439 125, 126, 127, 0, 0, 201, 130, 131, 132, 133,
01440 134, 135, 202, -483, -487, 0, 0, 0, 203, 0,
01441 0, 0, 0, 138, 139, 140, 141, 142, 143, 0,
01442 0, 0, 0, 0, 0, 0, -245, -245, 0, 0,
01443 144, 145, 146, 0, 0, 0, 0, 0, 0, 0,
01444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01445 0, -245, -245, -245, 147, 0, 0, 0, 0, 0,
01446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01447 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
01448 152, 153, 154, 0, 0, 0, 0, 0, 0, 0,
01449 0, 155, -245, -245, -245, 156, -245, -245, -245, -245,
01450 -245, -245, -245, -245, -245, -245, 0, -245, -245, -245,
01451 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01452 -245, -245, 0, -245, -245, -245, -245, -245, -245, -245,
01453 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01454 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
01455 -245, -245, -245, -245, -245, -245, -245, -245, -245, 75,
01456 157, 158, 159, 204, 205, -245, 200, 0, 0, 0,
01457 0, 125, 126, 127, 0, 0, 201, 130, 131, 132,
01458 133, 134, 135, 202, -431, -431, 0, 0, 0, 203,
01459 -431, 0, 0, 0, 138, 139, 140, 141, 142, 143,
01460 0, 0, 0, 0, 0, 0, 0, -245, -245, 124,
01461 0, 144, 145, 146, 125, 126, 127, 0, 128, 129,
01462 130, 131, 132, 133, 134, 135, 136, -483, 0, 0,
01463 0, 0, 137, 0, 0, 147, 0, 138, 139, 140,
01464 141, 142, 143, 0, 0, 0, 0, 0, 0, 0,
01465 -245, -245, 0, 0, 144, 145, 146, -431, 149, 150,
01466 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
01467 0, 0, 155, 0, 0, 0, 156, 0, 147, 0,
01468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01470 148, 149, 150, 151, 152, 153, 154, 0, 0, 0,
01471 0, 0, 0, 0, 0, 155, 0, 0, 0, 156,
01472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01474 75, 157, 158, 159, 204, 205, 0, 0, 124, 0,
01475 0, 0, 0, 125, 126, 127, 0, 128, 129, 130,
01476 131, 132, 133, 134, 135, 136, -483, 0, 0, 0,
01477 0, 137, 0, 0, 0, 0, 138, 139, 140, 141,
01478 142, 143, 0, 75, 157, 158, 159, 160, 79, -245,
01479 -245, 200, 0, 144, 145, 146, 125, 126, 127, 0,
01480 0, 201, 130, 131, 132, 133, 134, 135, 202, -483,
01481 -487, 0, 0, 0, 203, 0, 0, 147, 0, 138,
01482 139, 140, 141, 142, 143, 0, 0, 0, 0, 0,
01483 0, 0, -245, -245, 0, 0, 144, 145, 146, -458,
01484 149, 150, 151, 152, 153, 154, 0, 0, 0, 0,
01485 0, 0, 0, 0, 155, 0, 0, 0, 156, 0,
01486 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01488 0, 0, -427, 149, 150, 151, 152, 153, 154, 0,
01489 0, 0, 0, 0, 0, 0, 0, 155, 0, 0,
01490 0, 156, 0, 0, 0, 782, 1046, 0, 0, 0,
01491 326, 0, 0, 0, 0, 138, 139, 140, 141, 142,
01492 143, 0, 75, 157, 158, 159, 160, 79, 0, 0,
01493 124, 0, 144, 145, 146, 125, 126, 127, 0, 128,
01494 129, 130, 131, 132, 133, 134, 135, 136, -483, 646,
01495 0, 0, 0, 137, 0, 0, 147, 0, 138, 139,
01496 140, 141, 142, 143, 0, 75, 157, 158, 159, 204,
01497 205, -245, -245, 200, 0, 144, 145, 146, 125, 126,
01498 127, 0, 0, 201, 130, 131, 132, 133, 134, 135,
01499 202, -483, -487, 0, 0, 0, 203, 156, 0, 147,
01500 0, 138, 139, 140, 141, 142, 143, 0, 0, 0,
01501 0, 0, 0, 0, -245, -245, 0, 0, 144, 145,
01502 146, 0, 149, 150, 151, 152, 153, 154, 0, 0,
01503 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
01504 156, 0, 147, 0, 782, 0, 0, 0, 0, 326,
01505 0, 0, 0, 0, 138, 139, 140, 141, 142, 143,
01506 0, 75, 327, 328, 159, 149, 150, 151, 152, 153,
01507 154, 144, 145, 146, 0, 0, 0, 0, 0, 155,
01508 0, 0, 0, 156, 0, 0, 0, 0, 0, 0,
01509 0, 0, 0, 0, 0, 147, 0, 0, 0, 0,
01510 0, 0, 0, 0, 75, 157, 158, 159, 160, 79,
01511 0, 0, 124, 0, 0, 0, 0, 125, 126, 127,
01512 0, 128, 129, 130, 131, 132, 133, 134, 135, 136,
01513 -483, 0, 0, 0, 0, 137, 156, 0, 0, 0,
01514 138, 139, 140, 141, 142, 143, 0, 75, 157, 158,
01515 159, 204, 205, -245, -245, 0, 0, 144, 145, 146,
01516 0, 0, 0, 0, 326, 516, 0, 0, 0, 138,
01517 139, 140, 141, 142, 143, 0, 0, 0, 0, 0,
01518 0, 147, 0, 0, 0, 0, 144, 145, 146, 0,
01519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01520 75, 327, 328, 159, 149, 150, 151, 152, 153, 154,
01521 147, 0, 0, 0, 0, 0, 0, 0, 155, 125,
01522 126, 127, 156, 128, 129, 130, 131, 132, 133, 134,
01523 135, 202, -483, 571, 0, 0, 0, 366, 0, 0,
01524 0, 0, 138, 139, 140, 141, 142, 143, 0, 0,
01525 0, 156, 0, 0, 0, -245, -245, 0, 3, 144,
01526 145, 146, 0, 0, 0, 0, 0, 0, 0, 0,
01527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01528 0, 0, 0, 147, 4, 0, 75, 157, 158, 159,
01529 160, 79, 0, 0, 0, 0, 0, 0, 0, 0,
01530 0, 0, 0, 0, 0, 0, 149, 150, 151, 152,
01531 153, 154, 0, 0, 0, 75, 327, 328, 159, 0,
01532 572, 11, 12, 13, 156, 14, 15, 16, 17, 18,
01533 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01534 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01535 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01536 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01537 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01538 67, 68, 69, 70, 71, 72, 73, 74, 75, 157,
01539 557, 159, 160, 79, 80, 125, 126, 127, 0, 128,
01540 129, 130, 131, 132, 133, 134, 135, 202, -483, 647,
01541 0, 0, 0, 366, 0, 0, 0, 0, 138, 139,
01542 140, 141, 142, 143, 0, 0, 0, 0, 0, 0,
01543 0, -245, -245, 0, 3, 144, 145, 146, 0, 0,
01544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01545 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
01546 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01548 0, 0, 149, 150, 151, 152, 153, 154, 0, 0,
01549 0, 0, 0, 0, 0, 0, 155, 11, 12, 13,
01550 156, 14, 15, 16, 17, 18, 19, 20, 21, 22,
01551 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
01552 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
01553 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
01554 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
01555 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
01556 71, 72, 73, 74, 75, 157, 557, 159, 160, 79,
01557 80, 125, 126, 127, 0, 128, 129, 130, 131, 132,
01558 133, 134, 135, 202, -483, 658, 0, 0, 0, 366,
01559 0, 0, 0, 0, 138, 139, 140, 141, 142, 143,
01560 0, 0, 0, 0, 0, 0, 0, -245, -245, 0,
01561 3, 144, 145, 146, 0, 0, 0, 0, 0, 0,
01562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01563 0, 0, 0, 0, 0, 147, 4, 0, 0, 0,
01564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01565 0, 0, 0, 0, 0, 0, 0, 0, 149, 150,
01566 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
01567 0, 0, 659, 11, 12, 13, 156, 14, 15, 16,
01568 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
01569 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
01570 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
01571 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
01572 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
01573 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
01574 75, 157, 557, 159, 160, 79, 80, 125, 126, 127,
01575 0, 128, 129, 130, 131, 132, 133, 134, 135, 202,
01576 -483, 657, 0, 0, 0, 366, 0, 0, 0, 0,
01577 138, 139, 140, 141, 142, 143, 0, 0, 0, 0,
01578 0, 0, 0, 0, 0, 0, 0, 144, 145, 146,
01579 125, 126, 127, 0, 128, 129, 130, 131, 132, 133,
01580 134, 135, 202, -483, 661, 0, 0, 0, 366, 0,
01581 0, 147, 0, 138, 139, 140, 141, 142, 143, 0,
01582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01583 144, 145, 146, 0, 149, 150, 151, 152, 153, 154,
01584 0, 0, 0, 0, 0, 0, 0, 0, 155, 0,
01585 0, 0, 156, 0, 147, 0, 0, 0, 0, 0,
01586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01587 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
01588 152, 153, 154, 0, 0, 0, 0, 0, 0, 0,
01589 0, 662, 0, 0, 0, 156, 0, 0, 0, 0,
01590 326, 0, 0, 697, 0, 138, 139, 140, 141, 142,
01591 143, 0, 0, 0, 0, 0, 75, 157, 158, 159,
01592 160, 79, 144, 145, 146, 125, 126, 127, 0, 128,
01593 129, 130, 131, 132, 133, 134, 135, 202, -483, 711,
01594 0, 0, 0, 366, 0, 0, 147, 0, 138, 139,
01595 140, 141, 142, 143, 0, 0, 0, 0, 0, 75,
01596 157, 158, 159, 160, 79, 144, 145, 146, 125, 126,
01597 127, 0, 128, 129, 130, 131, 132, 133, 134, 135,
01598 202, -483, 764, 0, 0, 0, 366, 156, 0, 147,
01599 0, 138, 139, 140, 141, 142, 143, 0, 0, 0,
01600 0, 0, 0, 0, 0, 0, 0, 0, 144, 145,
01601 146, 0, 149, 150, 151, 152, 153, 154, 0, 0,
01602 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
01603 156, 0, 147, 0, 0, 0, 0, 0, 0, 0,
01604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01605 0, 75, 327, 328, 159, 149, 150, 151, 152, 153,
01606 154, 0, 0, 0, 0, 0, 0, 0, 0, 155,
01607 0, 0, 0, 156, 0, 0, 0, 0, 326, 928,
01608 0, 0, 0, 138, 139, 140, 141, 142, 143, 0,
01609 0, 0, 0, 0, 75, 157, 158, 159, 160, 79,
01610 144, 145, 146, 125, 126, 127, 0, 128, 129, 130,
01611 131, 132, 133, 134, 135, 202, -483, 765, 0, 0,
01612 0, 366, 0, 0, 147, 0, 138, 139, 140, 141,
01613 142, 143, 0, 0, 0, 0, 0, 75, 157, 158,
01614 159, 160, 79, 144, 145, 146, 125, 126, 127, 0,
01615 128, 129, 130, 131, 132, 133, 134, 135, 202, -483,
01616 767, 0, 0, 0, 366, 156, 0, 147, 0, 138,
01617 139, 140, 141, 142, 143, 0, 0, 0, 0, 0,
01618 0, 0, 0, 0, 0, 0, 144, 145, 146, 0,
01619 149, 150, 151, 152, 153, 154, 0, 0, 0, 0,
01620 0, 0, 0, 0, 766, 0, 0, 0, 156, 0,
01621 147, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01622 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
01623 327, 328, 159, 149, 150, 151, 152, 153, 154, 0,
01624 0, 0, 0, 0, 0, 0, 0, 155, 0, 0,
01625 0, 156, 0, 0, 0, 0, 0, 0, 0, 0,
01626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01627 0, 0, 75, 157, 158, 159, 160, 79, 0, 0,
01628 0, 125, 126, 127, 0, 128, 129, 130, 131, 132,
01629 133, 134, 135, 202, -483, 884, 0, 0, 0, 366,
01630 0, 0, 0, 0, 138, 139, 140, 141, 142, 143,
01631 0, 0, 0, 0, 0, 75, 157, 158, 159, 160,
01632 79, 144, 145, 146, 125, 126, 127, 0, 128, 129,
01633 130, 131, 132, 133, 134, 135, 202, -483, 0, 0,
01634 0, 0, 366, 0, 0, 147, 0, 138, 139, 140,
01635 141, 142, 143, 0, 0, 0, 0, 0, 0, 0,
01636 0, 0, 0, 0, 144, 145, 146, 0, 149, 150,
01637 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
01638 0, 0, 155, 0, 0, 0, 156, 0, 147, 0,
01639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01640 0, 0, 0, 0, 0, 0, 0, 0, 0, 291,
01641 0, 149, 150, 151, 152, 153, 154, 0, 0, 0,
01642 0, 0, 0, 0, 0, 155, 0, 0, 0, 156,
01643 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
01644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01645 75, 157, 158, 159, 160, 79, 0, 0, -353, -353,
01646 -353, 0, 4, 0, 0, 0, 0, 0, 0, 0,
01647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01649 0, 0, 0, 75, 157, 158, 159, 160, 79, 11,
01650 12, 13, 0, 14, 15, 16, 17, 18, 19, 20,
01651 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
01652 30, 31, 32, 33, 34, 35, 36, 37, 38, 0,
01653 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
01654 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
01655 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
01656 69, 70, 71, 72, 73, 74, 291, 0, 119, 0,
01657 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
01658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01659 0, 0, 0, 3, 0, 0, 0, 0, 0, 326,
01660 -227, 0, 0, 0, 138, 139, 140, 141, 142, 143,
01661 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
01662 0, 144, 145, 146, 0, 0, 0, 0, 0, 0,
01663 0, 0, 0, 0, 0, 0, -617, 0, 0, 0,
01664 0, 0, 0, 0, 0, 147, 0, 0, 0, 0,
01665 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
01666 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
01667 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
01668 33, 34, 35, 36, 37, 38, 156, 39, 40, 41,
01669 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
01670 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
01671 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
01672 72, 73, 74, -111, 0, 119, 0, 0, -111, 80,
01673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01674 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
01675 75, 327, 328, 159, 0, 326, 0, 0, 0, 0,
01676 138, 139, 140, 141, 142, 143, 0, 0, 0, 0,
01677 0, 0, 0, 0, 0, 4, 0, 144, 145, 146,
01678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01680 0, 147, 0, 0, 0, 0, 0, 0, 0, 0,
01681 0, 0, 11, 12, 13, 0, 14, 15, 16, 17,
01682 18, 19, 20, 21, 22, 23, 0, 24, 25, 26,
01683 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
01684 37, 38, 156, 39, 40, 41, 42, 43, 44, 45,
01685 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
01686 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
01687 66, 67, 68, 69, 70, 71, 72, 73, 74, 286,
01688 0, 119, 0, 0, 0, 80, 0, 0, 0, 0,
01689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01690 0, 0, 0, 0, 0, 3, 75, 327, 328, 159,
01691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01693 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
01694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01695 -486, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01696 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
01697 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
01698 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
01699 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
01700 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
01701 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
01702 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
01703 70, 71, 72, 73, 74, 0, 0, 119, 11, 12,
01704 13, 80, 14, 15, 16, 17, 18, 19, 20, 21,
01705 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
01706 31, 32, 33, 34, 35, 36, 37, 38, -624, 39,
01707 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
01708 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
01709 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
01710 70, 71, 72, 73, 74, 0, 0, 119, 0, 0,
01711 0, 80, 0, -626, -626, -626, 0, 0, 0, 0,
01712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01713 0, -626, 0, 0, 0, 0, 0, 0, 0, 0,
01714 -245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01715 2, 0, 0, 0, -626, -626, -626, 0, -626, -626,
01716 -626, -626, -626, -626, -626, -626, -626, -626, 0, -626,
01717 -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
01718 -626, -626, -626, -626, 0, -626, -626, -626, -626, -626,
01719 -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
01720 -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
01721 -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
01722 -626, 0, 0, 0, 11, 12, 13, -626, 14, 15,
01723 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
01724 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
01725 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
01726 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
01727 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
01728 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
01729 74, 75, 76, 77, 355, 78, 79, 80, 0, 138,
01730 139, 140, 141, 142, 143, 642, 0, 0, 0, 0,
01731 138, 139, 140, 141, 142, 143, 144, 145, 146, 0,
01732 0, 0, 0, 0, 0, 644, 0, 144, 145, 146,
01733 138, 139, 140, 141, 142, 143, 714, 0, 0, 0,
01734 147, 715, 716, 717, 718, 719, 720, 144, 145, 146,
01735 0, 147, 0, 0, 0, 0, 0, 0, 144, 721,
01736 722, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01737 0, 147, 0, 0, 0, 0, 0, 0, 0, 0,
01738 0, 156, 723, 0, 0, 0, 0, 0, 0, 0,
01739 0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
01740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01741 0, 0, 156, 0, 0, 0, 0, 0, 0, 0,
01742 0, 0, 0, 156, 0, -171, -171, 0, 0, 0,
01743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01744 0, 0, 0, 0, 0, 75, 327, 328, 159, 0,
01745 0, 0, 0, 0, 0, 0, 75, 327, 328, 159,
01746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01747 0, 0, 0, 0, 0, 0, 75, 327, 328, 159,
01748 0, 0, 0, 0, 0, 0, 0, 75, 724, 725,
01749 726, 11, 12, 13, 0, 14, 15, 16, 17, 18,
01750 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01751 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01752 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01753 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01754 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01755 67, 68, 69, 70, 71, 72, 73, 74, 3, 0,
01756 119, 0, 0, 0, 80, 0, 0, 0, 0, 0,
01757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01758 -353, -353, -353, 0, 4, 0, 0, 0, 0, 0,
01759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01762 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
01763 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01764 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01765 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01766 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01767 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01768 67, 68, 69, 70, 71, 72, 73, 74, 3, 0,
01769 119, 0, 0, 0, 80, 0, 0, 0, 0, 0,
01770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01771 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
01772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01775 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
01776 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01777 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01778 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01779 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01780 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01781 67, 68, 69, 70, 71, 72, 73, 74, 0, 0,
01782 119, -353, -353, -353, 80, 0, 0, 0, 0, 0,
01783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01786 0, 0, 11, 12, 13, 0, 14, 15, 16, 17,
01787 18, 19, 20, 21, 22, 23, 0, 24, 25, 26,
01788 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
01789 37, 38, 0, 39, 40, 41, 42, 43, 44, 45,
01790 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
01791 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
01792 66, 67, 68, 69, 70, 71, 72, 73, 74, 0,
01793 0, 119, 8, 9, 10, 80, 0, 0, 0, 0,
01794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
01795 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
01796 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01797 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01798 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01799 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01800 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01801 67, 68, 69, 70, 71, 72, 73, 74, 0, 0,
01802 119, 11, 12, 13, 80, 14, 15, 16, 17, 18,
01803 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
01804 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
01805 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
01806 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
01807 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01808 67, 68, 69, 70, 71, 72, 73, 74, 0, 0,
01809 119, 0, 0, 0, 80
01810 };
01811
01812 static const short yycheck[] = { 0,
01813 0, 463, 3, 88, 105, 364, 495, 0, 366, 125,
01814 11, 12, 551, 301, 9, 10, 549, 18, 19, 20,
01815 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
01816 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
01817 41, 42, 43, 2, 446, 320, 412, 48, 49, 50,
01818 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
01819 61, 62, 63, 64, 411, 652, 401, 402, 621, 403,
01820 404, 652, 405, 406, 407, 408, 8, 409, 410, 652,
01821 81, 81, 617, 24, 473, 892, 445, 782, 81, 0,
01822 785, 449, 3, 34, 19, 5, 7, 413, 99, 774,
01823 794, 5, 762, 672, 105, 203, 889, 5, 788, 892,
01824 208, 0, 210, 652, 115, 116, 117, 704, 21, 652,
01825 121, 25, 25, 704, 222, 1016, 1017, 9, 10, 214,
01826 5, 704, 898, 28, 493, 85, 137, 1080, 1081, 18,
01827 18, 25, 26, 144, 28, 24, 699, 86, 87, 44,
01828 25, 34, 21, 112, 18, 34, 25, 86, 87, 23,
01829 44, 41, 121, 24, 0, 704, 28, 3, 24, 5,
01830 81, 704, 979, 34, 981, 5, 56, 116, 117, 8,
01831 1123, 1100, 44, 1074, 53, 54, 1077, 1106, 882, 1108,
01832 885, 130, 81, 18, 105, 25, 979, 318, 981, 474,
01833 602, 690, 203, 21, 773, 137, 972, 776, 203, 24,
01834 121, 26, 500, 208, 603, 210, 891, 877, 893, 34,
01835 578, 132, 902, 86, 87, 108, 109, 222, 223, 1120,
01836 0, 24, 21, 3, 175, 176, 25, 7, 8, 9,
01837 10, 41, 601, 32, 33, 81, 175, 176, 364, 181,
01838 175, 176, 177, 560, 179, 180, 56, 189, 8, 95,
01839 96, 193, 98, 195, 623, 175, 176, 177, 575, 179,
01840 180, 175, 176, 177, 18, 179, 180, 175, 176, 177,
01841 21, 179, 180, 284, 25, 121, 652, 24, 289, 984,
01842 290, 26, 224, 28, 24, 583, 175, 176, 39, 300,
01843 301, 18, 303, 304, 21, 652, 23, 300, 137, 44,
01844 799, 81, 175, 176, 175, 176, 317, 652, 652, 652,
01845 652, 203, 323, 862, 317, 326, 208, 860, 210, 445,
01846 18, 6, 7, 21, 26, 105, 652, 422, 704, 627,
01847 222, 223, 34, 441, 345, 175, 176, 177, 22, 179,
01848 180, 121, 181, 24, 642, 18, 644, 704, 21, 912,
01849 34, 26, 132, 28, 193, 366, 195, 137, 24, 704,
01850 704, 704, 704, 24, 21, 26, 963, 493, 25, 44,
01851 21, 916, 963, 18, 25, 155, 345, 137, 704, 300,
01852 963, 21, 303, 304, 305, 224, 24, 27, 26, 8,
01853 9, 10, 49, 50, 24, 24, 317, 27, 49, 50,
01854 21, 181, 323, 21, 34, 16, 27, 25, 21, 189,
01855 779, 191, 25, 193, 963, 195, 714, 24, 21, 26,
01856 963, 181, 25, 203, 37, 38, 29, 437, 208, 189,
01857 210, 49, 50, 193, 16, 195, 441, 448, 51, 52,
01858 451, 16, 222, 223, 224, 448, 16, 458, 451, 460,
01859 18, 462, 463, 21, 465, 15, 21, 25, 24, 470,
01860 25, 27, 473, 24, 224, 26, 21, 598, 34, 480,
01861 25, 25, 26, 8, 28, 601, 18, 32, 33, 21,
01862 422, 492, 858, 34, 495, 18, 497, 39, 21, 500,
01863 44, 175, 176, 177, 22, 179, 180, 623, 344, 96,
01864 857, 98, 847, 848, 473, 849, 850, 22, 851, 852,
01865 853, 854, 22, 855, 856, 24, 29, 26, 137, 28,
01866 300, 40, 21, 303, 304, 305, 25, 448, 25, 55,
01867 451, 28, 21, 859, 85, 44, 25, 317, 47, 48,
01868 461, 19, 463, 323, 465, 175, 176, 21, 178, 441,
01869 560, 25, 473, 21, 922, 476, 1055, 25, 92, 480,
01870 49, 50, 181, 92, 1036, 575, 34, 35, 36, 580,
01871 189, 21, 583, 21, 193, 25, 195, 25, 18, 690,
01872 22, 21, 34, 422, 203, 596, 597, 963, 368, 208,
01873 24, 210, 603, 25, 26, 22, 376, 21, 378, 520,
01874 521, 25, 137, 222, 223, 224, 963, 22, 454, 175,
01875 176, 622, 178, 67, 68, 69, 627, 559, 963, 963,
01876 963, 963, 32, 33, 175, 176, 637, 638, 179, 180,
01877 5, 642, 26, 644, 603, 18, 18, 963, 21, 21,
01878 34, 21, 422, 25, 21, 25, 181, 191, 25, 24,
01879 25, 26, 21, 779, 189, 666, 25, 92, 193, 34,
01880 195, 441, 422, 674, 19, 676, 20, 447, 448, 680,
01881 681, 451, 18, 92, 685, 21, 37, 38, 689, 690,
01882 27, 461, 603, 463, 695, 465, 24, 813, 799, 224,
01883 51, 52, 23, 473, 21, 21, 476, 18, 25, 25,
01884 480, 999, 18, 714, 18, 24, 24, 26, 138, 139,
01885 140, 141, 142, 143, 21, 34, 18, 5, 25, 21,
01886 1089, 690, 22, 175, 176, 177, 695, 179, 180, 21,
01887 21, 511, 25, 25, 25, 21, 24, 25, 26, 25,
01888 520, 521, 18, 175, 176, 177, 34, 179, 180, 24,
01889 24, 26, 37, 38, 675, 25, 677, 18, 769, 34,
01890 21, 1130, 49, 50, 610, 686, 51, 52, 689, 690,
01891 34, 35, 36, 904, 24, 18, 26, 18, 28, 559,
01892 560, 175, 176, 177, 18, 179, 180, 798, 799, 21,
01893 801, 18, 572, 25, 44, 575, 576, 47, 48, 559,
01894 175, 176, 177, 422, 179, 180, 34, 35, 36, 18,
01895 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
01896 19, 21, 441, 603, 368, 25, 9, 21, 25, 21,
01897 799, 25, 376, 25, 378, 21, 967, 37, 38, 25,
01898 11, 21, 97, 24, 99, 25, 101, 11, 103, 53,
01899 54, 51, 52, 108, 985, 88, 175, 176, 177, 990,
01900 179, 180, 181, 118, 24, 120, 21, 21, 648, 649,
01901 965, 25, 652, 42, 43, 1006, 19, 888, 799, 659,
01902 660, 1012, 662, 88, 895, 21, 19, 422, 809, 25,
01903 1021, 20, 21, 988, 19, 675, 23, 677, 21, 22,
01904 175, 176, 177, 447, 179, 180, 686, 162, 19, 689,
01905 690, 691, 78, 79, 80, 81, 82, 83, 84, 1050,
01906 1051, 27, 1053, 21, 704, 771, 25, 25, 774, 21,
01907 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
01908 559, 119, 24, 121, 1055, 175, 176, 177, 21, 179,
01909 180, 22, 25, 1084, 132, 133, 21, 135, 18, 137,
01910 138, 24, 973, 1089, 21, 976, 22, 511, 398, 399,
01911 400, 25, 150, 976, 21, 11, 21, 23, 25, 1105,
01912 25, 992, 24, 994, 32, 33, 766, 24, 999, 992,
01913 24, 1002, 1003, 21, 1125, 21, 1006, 25, 21, 25,
01914 27, 21, 25, 25, 1130, 25, 34, 35, 36, 21,
01915 931, 932, 23, 25, 21, 20, 560, 21, 25, 799,
01916 20, 25, 21, 992, 559, 1036, 25, 1038, 1039, 809,
01917 19, 575, 576, 21, 289, 21, 19, 25, 293, 25,
01918 1050, 49, 50, 889, 1055, 891, 892, 893, 72, 73,
01919 74, 72, 73, 74, 21, 976, 311, 53, 54, 314,
01920 20, 21, 20, 21, 5, 8, 25, 322, 498, 24,
01921 325, 992, 21, 22, 995, 125, 1087, 27, 22, 1090,
01922 175, 176, 1093, 25, 24, 20, 20, 1090, 138, 139,
01923 140, 141, 142, 143, 18, 145, 146, 27, 25, 18,
01924 25, 27, 25, 21, 648, 649, 39, 29, 25, 25,
01925 24, 18, 40, 25, 88, 1036, 660, 24, 55, 25,
01926 24, 21, 29, 30, 31, 32, 33, 34, 25, 25,
01927 8, 9, 10, 979, 1055, 981, 1147, 23, 25, 46,
01928 47, 48, 18, 1154, 25, 18, 18, 691, 18, 88,
01929 21, 931, 932, 21, 1075, 1076, 88, 22, 20, 20,
01930 18, 180, 25, 70, 20, 25, 0, 88, 88, 1090,
01931 20, 57, 58, 59, 60, 61, 62, 63, 64, 65,
01932 66, 73, 27, 963, 27, 88, 88, 967, 0, 88,
01933 88, 446, 135, 81, 137, 323, 976, 989, 453, 763,
01934 1121, 1122, 1066, 458, 111, 460, 1014, 877, 909, 1120,
01935 990, 990, 992, 468, 828, 995, 1086, 472, 72, 73,
01936 74, 465, 1090, 583, 78, 79, 80, 81, 82, 83,
01937 84, 677, 675, 112, 689, 1015, 1016, 1017, 181, 10,
01938 799, 345, 223, 1060, 1024, 511, 189, 422, 704, 963,
01939 193, -1, 195, -1, -1, -1, 1036, -1, -1, 137,
01940 203, -1, -1, -1, -1, -1, -1, -1, 175, 176,
01941 177, 178, -1, -1, -1, 1055, -1, -1, -1, -1,
01942 -1, 224, -1, -1, -1, 715, 716, 717, 718, 719,
01943 720, -1, -1, -1, 1074, 1075, 1076, 1077, -1, -1,
01944 1080, 1081, -1, 181, -1, -1, 1086, -1, -1, -1,
01945 1090, 189, -1, -1, 364, 193, -1, 195, -1, -1,
01946 -1, -1, 577, -1, -1, 203, -1, -1, -1, -1,
01947 208, -1, 210, 8, 9, 10, -1, -1, -1, -1,
01948 1120, 1121, 1122, 1123, 222, 223, 224, 602, 398, 399,
01949 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
01950 410, 411, 412, 413, -1, -1, 621, 72, 73, 74,
01951 -1, 626, -1, 78, 79, 80, 81, 82, 83, 84,
01952 -1, -1, -1, 326, -1, -1, -1, -1, -1, -1,
01953 -1, 334, 335, 336, 337, 445, -1, -1, -1, 654,
01954 -1, -1, -1, -1, -1, -1, -1, -1, 8, 9,
01955 10, -1, 355, -1, 844, 845, 846, -1, -1, -1,
01956 358, -1, -1, 366, -1, -1, -1, -1, -1, -1,
01957 -1, -1, 8, 9, 10, -1, -1, -1, -1, -1,
01958 383, -1, -1, 493, 382, -1, -1, -1, 498, 387,
01959 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
01960 -1, -1, 137, -1, -1, -1, -1, -1, -1, -1,
01961 -1, -1, 727, -1, -1, -1, -1, -1, -1, 422,
01962 418, -1, -1, -1, -1, 24, 429, -1, 27, -1,
01963 29, 30, 31, 32, 33, 34, 926, -1, -1, 549,
01964 -1, 551, -1, 553, 554, -1, 181, 46, 47, 48,
01965 -1, -1, -1, -1, 189, -1, -1, -1, 193, -1,
01966 195, -1, -1, -1, -1, -1, -1, -1, 203, 204,
01967 -1, 70, 787, 208, -1, 210, -1, 137, -1, -1,
01968 -1, -1, -1, -1, 422, -1, -1, 222, 223, 224,
01969 -1, 601, -1, 8, 9, 10, -1, -1, -1, -1,
01970 -1, 137, -1, 441, -1, -1, -1, -1, -1, -1,
01971 -1, -1, 111, 623, -1, -1, -1, -1, -1, -1,
01972 -1, 181, -1, -1, -1, -1, -1, -1, -1, 189,
01973 -1, -1, -1, 193, -1, 195, -1, -1, -1, -1,
01974 -1, -1, 652, 203, -1, 181, -1, 550, 208, -1,
01975 210, -1, -1, 189, -1, -1, 559, 193, -1, 195,
01976 -1, -1, 222, 223, 224, 880, 881, 203, -1, -1,
01977 -1, -1, 208, 888, 210, -1, 175, 176, 177, 178,
01978 -1, -1, -1, 8, 9, 10, 222, 223, 224, -1,
01979 -1, -1, -1, -1, 704, -1, -1, 912, -1, -1,
01980 -1, -1, -1, -1, -1, 715, 716, 717, 718, 719,
01981 720, 721, 722, -1, 617, -1, -1, -1, -1, -1,
01982 -1, 559, 137, -1, -1, -1, -1, -1, -1, -1,
01983 -1, -1, -1, -1, -1, -1, 634, -1, -1, 642,
01984 -1, 644, -1, -1, -1, -1, 381, 650, -1, -1,
01985 653, -1, -1, -1, -1, -1, -1, -1, -1, 974,
01986 -1, -1, -1, -1, -1, -1, 181, -1, -1, 779,
01987 -1, -1, -1, -1, 189, -1, -1, -1, 193, -1,
01988 195, 679, -1, -1, -1, -1, -1, 422, 203, -1,
01989 -1, -1, -1, 208, -1, 210, -1, -1, -1, -1,
01990 703, -1, -1, 813, -1, -1, 441, 222, 223, 224,
01991 -1, 714, 137, -1, -1, -1, -1, -1, -1, -1,
01992 -1, -1, -1, -1, -1, 1040, -1, -1, -1, -1,
01993 -1, -1, -1, -1, 844, 845, 846, 847, 848, 849,
01994 850, 851, 852, 853, 854, 855, 856, 857, 858, 859,
01995 860, -1, 862, -1, -1, -1, 181, -1, -1, -1,
01996 -1, -1, 422, -1, 189, -1, -1, -1, 193, -1,
01997 195, -1, -1, -1, -1, -1, -1, -1, 203, -1,
01998 -1, 441, -1, 208, 782, 210, 422, 785, -1, -1,
01999 -1, -1, -1, -1, -1, -1, -1, 222, 223, 224,
02000 -1, -1, -1, -1, -1, 441, -1, -1, -1, -1,
02001 -1, -1, -1, 1128, -1, -1, 926, -1, -1, -1,
02002 -1, -1, -1, -1, 559, -1, 829, -1, -1, 827,
02003 828, -1, -1, -1, -1, 833, 834, 835, 836, 837,
02004 838, 839, 840, 841, 842, 843, -1, -1, -1, -1,
02005 -1, -1, -1, 963, 18, -1, -1, -1, -1, -1,
02006 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
02007 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02008 -1, 19, 46, 47, 48, -1, 24, 885, -1, -1,
02009 -1, 29, 30, 31, 32, 33, 34, -1, -1, 559,
02010 -1, -1, -1, -1, -1, -1, 70, 422, 46, 47,
02011 48, -1, -1, 916, -1, -1, -1, -1, -1, -1,
02012 -1, -1, -1, 559, -1, -1, 441, -1, -1, -1,
02013 -1, -1, 70, 0, 1, -1, -1, -1, -1, -1,
02014 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
02015 -1, -1, -1, -1, -1, -1, -1, 24, 961, -1,
02016 -1, -1, -1, -1, -1, -1, -1, 34, -1, -1,
02017 -1, -1, -1, 111, -1, -1, -1, -1, 45, 1089,
02018 -1, -1, -1, -1, -1, -1, 984, -1, -1, -1,
02019 -1, -1, -1, -1, -1, 1105, -1, 422, -1, -1,
02020 67, 68, 69, -1, 71, -1, -1, -1, 75, 76,
02021 77, 175, 176, 177, 178, -1, 441, -1, -1, -1,
02022 1130, -1, 89, 90, 91, -1, -1, -1, -1, -1,
02023 -1, -1, -1, -1, -1, -1, -1, 175, 176, 177,
02024 178, 108, 109, 110, 559, 112, 113, 114, 115, 116,
02025 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02026 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02027 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02028 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02029 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02030 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
02031 177, -1, 179, 180, 181, 0, 1, -1, -1, -1,
02032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02033 -1, -1, -1, -1, 559, -1, -1, -1, -1, 24,
02034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
02035 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02036 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02038 -1, -1, 67, 68, 69, -1, 71, -1, -1, -1,
02039 75, 76, 77, -1, -1, -1, -1, -1, -1, -1,
02040 -1, -1, -1, -1, 89, 90, 91, -1, -1, -1,
02041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02042 -1, -1, -1, 108, 109, 110, -1, 112, 113, 114,
02043 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
02044 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
02045 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
02046 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
02047 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
02048 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
02049 175, 176, 177, 1, 179, 180, 181, -1, 6, 7,
02050 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
02051 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
02052 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
02053 -1, -1, -1, -1, 42, 43, -1, 45, 46, 47,
02054 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02055 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
02056 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
02057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02058 -1, -1, -1, -1, -1, 93, 94, 95, 96, 97,
02059 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
02060 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
02061 118, 119, 120, 121, -1, 123, 124, 125, 126, 127,
02062 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
02063 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
02064 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
02065 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
02066 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
02067 178, 179, 180, 181, 1, -1, -1, -1, -1, 6,
02068 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
02069 17, 18, 19, -1, -1, -1, -1, 24, -1, -1,
02070 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
02071 -1, -1, -1, -1, -1, 42, 43, -1, -1, 46,
02072 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
02073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02074 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
02075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02076 -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
02077 97, 98, -1, -1, -1, -1, -1, -1, -1, -1,
02078 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
02079 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02080 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02081 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02082 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02083 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02084 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
02085 177, 178, 179, 180, 181, 1, -1, -1, -1, -1,
02086 6, 7, 8, -1, -1, 11, 12, 13, 14, 15,
02087 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
02088 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
02089 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
02090 46, 47, 48, -1, -1, -1, -1, -1, -1, -1,
02091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02092 -1, 67, 68, 69, 70, -1, -1, -1, -1, -1,
02093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02094 -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
02095 96, 97, 98, -1, -1, -1, -1, -1, -1, -1,
02096 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
02097 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
02098 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
02099 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
02100 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
02101 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
02102 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
02103 176, 177, 178, 179, 180, 181, 1, -1, -1, -1,
02104 -1, 6, 7, 8, -1, -1, 11, 12, 13, 14,
02105 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
02106 25, -1, -1, -1, 29, 30, 31, 32, 33, 34,
02107 -1, -1, -1, -1, -1, -1, -1, 42, 43, 1,
02108 -1, 46, 47, 48, 6, 7, 8, -1, 10, 11,
02109 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
02110 -1, -1, 24, -1, -1, 70, -1, 29, 30, 31,
02111 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
02112 42, 43, -1, -1, 46, 47, 48, 92, 93, 94,
02113 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
02114 -1, -1, 107, -1, -1, -1, 111, -1, 70, -1,
02115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02117 92, 93, 94, 95, 96, 97, 98, -1, -1, -1,
02118 -1, -1, -1, -1, -1, 107, -1, -1, -1, 111,
02119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02121 175, 176, 177, 178, 179, 180, -1, -1, 1, -1,
02122 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
02123 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
02124 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
02125 33, 34, -1, 175, 176, 177, 178, 179, 180, 42,
02126 43, 1, -1, 46, 47, 48, 6, 7, 8, -1,
02127 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
02128 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
02129 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
02130 -1, -1, 42, 43, -1, -1, 46, 47, 48, 92,
02131 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
02132 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
02133 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02135 -1, -1, 92, 93, 94, 95, 96, 97, 98, -1,
02136 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
02137 -1, 111, -1, -1, -1, 19, 20, -1, -1, -1,
02138 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
02139 34, -1, 175, 176, 177, 178, 179, 180, -1, -1,
02140 1, -1, 46, 47, 48, 6, 7, 8, -1, 10,
02141 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
02142 -1, -1, -1, 24, -1, -1, 70, -1, 29, 30,
02143 31, 32, 33, 34, -1, 175, 176, 177, 178, 179,
02144 180, 42, 43, 1, -1, 46, 47, 48, 6, 7,
02145 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
02146 18, 19, 20, -1, -1, -1, 24, 111, -1, 70,
02147 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
02148 -1, -1, -1, -1, 42, 43, -1, -1, 46, 47,
02149 48, -1, 93, 94, 95, 96, 97, 98, -1, -1,
02150 -1, -1, -1, -1, -1, -1, 107, -1, -1, -1,
02151 111, -1, 70, -1, 19, -1, -1, -1, -1, 24,
02152 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
02153 -1, 175, 176, 177, 178, 93, 94, 95, 96, 97,
02154 98, 46, 47, 48, -1, -1, -1, -1, -1, 107,
02155 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
02156 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
02157 -1, -1, -1, -1, 175, 176, 177, 178, 179, 180,
02158 -1, -1, 1, -1, -1, -1, -1, 6, 7, 8,
02159 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
02160 19, -1, -1, -1, -1, 24, 111, -1, -1, -1,
02161 29, 30, 31, 32, 33, 34, -1, 175, 176, 177,
02162 178, 179, 180, 42, 43, -1, -1, 46, 47, 48,
02163 -1, -1, -1, -1, 24, 25, -1, -1, -1, 29,
02164 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
02165 -1, 70, -1, -1, -1, -1, 46, 47, 48, -1,
02166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02167 175, 176, 177, 178, 93, 94, 95, 96, 97, 98,
02168 70, -1, -1, -1, -1, -1, -1, -1, 107, 6,
02169 7, 8, 111, 10, 11, 12, 13, 14, 15, 16,
02170 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
02171 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
02172 -1, 111, -1, -1, -1, 42, 43, -1, 45, 46,
02173 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
02174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02175 -1, -1, -1, 70, 71, -1, 175, 176, 177, 178,
02176 179, 180, -1, -1, -1, -1, -1, -1, -1, -1,
02177 -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
02178 97, 98, -1, -1, -1, 175, 176, 177, 178, -1,
02179 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
02180 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02181 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02182 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02183 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02184 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02185 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
02186 177, 178, 179, 180, 181, 6, 7, 8, -1, 10,
02187 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
02188 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
02189 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
02190 -1, 42, 43, -1, 45, 46, 47, 48, -1, -1,
02191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02192 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
02193 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02195 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
02196 -1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
02197 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
02198 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
02199 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
02200 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
02201 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
02202 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
02203 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
02204 181, 6, 7, 8, -1, 10, 11, 12, 13, 14,
02205 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
02206 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
02207 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
02208 45, 46, 47, 48, -1, -1, -1, -1, -1, -1,
02209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02210 -1, -1, -1, -1, -1, 70, 71, -1, -1, -1,
02211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02212 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
02213 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
02214 -1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
02215 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
02216 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
02217 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
02218 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
02219 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
02220 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
02221 175, 176, 177, 178, 179, 180, 181, 6, 7, 8,
02222 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
02223 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
02224 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
02225 -1, -1, -1, -1, -1, -1, -1, 46, 47, 48,
02226 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
02227 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
02228 -1, 70, -1, 29, 30, 31, 32, 33, 34, -1,
02229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02230 46, 47, 48, -1, 93, 94, 95, 96, 97, 98,
02231 -1, -1, -1, -1, -1, -1, -1, -1, 107, -1,
02232 -1, -1, 111, -1, 70, -1, -1, -1, -1, -1,
02233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02234 -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
02235 96, 97, 98, -1, -1, -1, -1, -1, -1, -1,
02236 -1, 107, -1, -1, -1, 111, -1, -1, -1, -1,
02237 24, -1, -1, 27, -1, 29, 30, 31, 32, 33,
02238 34, -1, -1, -1, -1, -1, 175, 176, 177, 178,
02239 179, 180, 46, 47, 48, 6, 7, 8, -1, 10,
02240 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
02241 -1, -1, -1, 24, -1, -1, 70, -1, 29, 30,
02242 31, 32, 33, 34, -1, -1, -1, -1, -1, 175,
02243 176, 177, 178, 179, 180, 46, 47, 48, 6, 7,
02244 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
02245 18, 19, 20, -1, -1, -1, 24, 111, -1, 70,
02246 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
02247 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
02248 48, -1, 93, 94, 95, 96, 97, 98, -1, -1,
02249 -1, -1, -1, -1, -1, -1, 107, -1, -1, -1,
02250 111, -1, 70, -1, -1, -1, -1, -1, -1, -1,
02251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02252 -1, 175, 176, 177, 178, 93, 94, 95, 96, 97,
02253 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
02254 -1, -1, -1, 111, -1, -1, -1, -1, 24, 25,
02255 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
02256 -1, -1, -1, -1, 175, 176, 177, 178, 179, 180,
02257 46, 47, 48, 6, 7, 8, -1, 10, 11, 12,
02258 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
02259 -1, 24, -1, -1, 70, -1, 29, 30, 31, 32,
02260 33, 34, -1, -1, -1, -1, -1, 175, 176, 177,
02261 178, 179, 180, 46, 47, 48, 6, 7, 8, -1,
02262 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
02263 20, -1, -1, -1, 24, 111, -1, 70, -1, 29,
02264 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
02265 -1, -1, -1, -1, -1, -1, 46, 47, 48, -1,
02266 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
02267 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
02268 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02269 -1, -1, -1, -1, -1, -1, -1, -1, -1, 175,
02270 176, 177, 178, 93, 94, 95, 96, 97, 98, -1,
02271 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
02272 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
02273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02274 -1, -1, 175, 176, 177, 178, 179, 180, -1, -1,
02275 -1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
02276 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
02277 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
02278 -1, -1, -1, -1, -1, 175, 176, 177, 178, 179,
02279 180, 46, 47, 48, 6, 7, 8, -1, 10, 11,
02280 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
02281 -1, -1, 24, -1, -1, 70, -1, 29, 30, 31,
02282 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
02283 -1, -1, -1, -1, 46, 47, 48, -1, 93, 94,
02284 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
02285 -1, -1, 107, -1, -1, -1, 111, -1, 70, -1,
02286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02287 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
02288 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
02289 -1, -1, -1, -1, -1, 107, -1, -1, -1, 111,
02290 -1, -1, -1, -1, -1, -1, 45, -1, -1, -1,
02291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02292 175, 176, 177, 178, 179, 180, -1, -1, 67, 68,
02293 69, -1, 71, -1, -1, -1, -1, -1, -1, -1,
02294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02296 -1, -1, -1, 175, 176, 177, 178, 179, 180, 108,
02297 109, 110, -1, 112, 113, 114, 115, 116, 117, 118,
02298 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
02299 129, 130, 131, 132, 133, 134, 135, 136, 137, -1,
02300 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
02301 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
02302 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
02303 169, 170, 171, 172, 173, 174, 18, -1, 177, -1,
02304 -1, -1, 181, -1, -1, -1, -1, -1, -1, -1,
02305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02306 -1, -1, -1, 45, -1, -1, -1, -1, -1, 24,
02307 25, -1, -1, -1, 29, 30, 31, 32, 33, 34,
02308 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
02309 -1, 46, 47, 48, -1, -1, -1, -1, -1, -1,
02310 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
02311 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
02312 -1, -1, -1, -1, -1, -1, 108, 109, 110, -1,
02313 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
02314 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
02315 132, 133, 134, 135, 136, 137, 111, 139, 140, 141,
02316 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
02317 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
02318 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
02319 172, 173, 174, 19, -1, 177, -1, -1, 24, 181,
02320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02321 -1, -1, -1, -1, -1, -1, -1, -1, -1, 45,
02322 175, 176, 177, 178, -1, 24, -1, -1, -1, -1,
02323 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
02324 -1, -1, -1, -1, -1, 71, -1, 46, 47, 48,
02325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02327 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
02328 -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
02329 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
02330 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
02331 136, 137, 111, 139, 140, 141, 142, 143, 144, 145,
02332 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
02333 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
02334 166, 167, 168, 169, 170, 171, 172, 173, 174, 19,
02335 -1, 177, -1, -1, -1, 181, -1, -1, -1, -1,
02336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02337 -1, -1, -1, -1, -1, 45, 175, 176, 177, 178,
02338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02339 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02340 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
02341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02342 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02343 -1, -1, -1, -1, -1, -1, -1, -1, 108, 109,
02344 110, -1, 112, 113, 114, 115, 116, 117, 118, 119,
02345 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
02346 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
02347 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
02348 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
02349 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
02350 170, 171, 172, 173, 174, -1, -1, 177, 108, 109,
02351 110, 181, 112, 113, 114, 115, 116, 117, 118, 119,
02352 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
02353 130, 131, 132, 133, 134, 135, 136, 137, 22, 139,
02354 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
02355 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
02356 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
02357 170, 171, 172, 173, 174, -1, -1, 177, -1, -1,
02358 -1, 181, -1, 67, 68, 69, -1, -1, -1, -1,
02359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02360 -1, 85, -1, -1, -1, -1, -1, -1, -1, -1,
02361 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02362 34, -1, -1, -1, 108, 109, 110, -1, 112, 113,
02363 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
02364 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
02365 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
02366 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
02367 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
02368 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
02369 174, -1, -1, -1, 108, 109, 110, 181, 112, 113,
02370 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
02371 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
02372 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
02373 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
02374 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
02375 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
02376 174, 175, 176, 177, 24, 179, 180, 181, -1, 29,
02377 30, 31, 32, 33, 34, 24, -1, -1, -1, -1,
02378 29, 30, 31, 32, 33, 34, 46, 47, 48, -1,
02379 -1, -1, -1, -1, -1, 24, -1, 46, 47, 48,
02380 29, 30, 31, 32, 33, 34, 24, -1, -1, -1,
02381 70, 29, 30, 31, 32, 33, 34, 46, 47, 48,
02382 -1, 70, -1, -1, -1, -1, -1, -1, 46, 47,
02383 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02384 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
02385 -1, 111, 70, -1, -1, -1, -1, -1, -1, -1,
02386 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
02387 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02388 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
02389 -1, -1, -1, 111, -1, 42, 43, -1, -1, -1,
02390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02391 -1, -1, -1, -1, -1, 175, 176, 177, 178, -1,
02392 -1, -1, -1, -1, -1, -1, 175, 176, 177, 178,
02393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02394 -1, -1, -1, -1, -1, -1, 175, 176, 177, 178,
02395 -1, -1, -1, -1, -1, -1, -1, 175, 176, 177,
02396 178, 108, 109, 110, -1, 112, 113, 114, 115, 116,
02397 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02398 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02399 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02400 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02401 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02402 167, 168, 169, 170, 171, 172, 173, 174, 45, -1,
02403 177, -1, -1, -1, 181, -1, -1, -1, -1, -1,
02404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02405 67, 68, 69, -1, 71, -1, -1, -1, -1, -1,
02406 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02407 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02408 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02409 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
02410 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02411 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02412 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02413 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02414 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02415 167, 168, 169, 170, 171, 172, 173, 174, 45, -1,
02416 177, -1, -1, -1, 181, -1, -1, -1, -1, -1,
02417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02418 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
02419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02422 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
02423 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02424 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02425 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02426 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02427 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02428 167, 168, 169, 170, 171, 172, 173, 174, -1, -1,
02429 177, 67, 68, 69, 181, -1, -1, -1, -1, -1,
02430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02433 -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
02434 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
02435 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
02436 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
02437 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
02438 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
02439 166, 167, 168, 169, 170, 171, 172, 173, 174, -1,
02440 -1, 177, 89, 90, 91, 181, -1, -1, -1, -1,
02441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
02442 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
02443 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02444 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02445 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02446 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02447 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02448 167, 168, 169, 170, 171, 172, 173, 174, -1, -1,
02449 177, 108, 109, 110, 181, 112, 113, 114, 115, 116,
02450 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
02451 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
02452 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
02453 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
02454 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
02455 167, 168, 169, 170, 171, 172, 173, 174, -1, -1,
02456 177, -1, -1, -1, 181
02457 };
02458
02459 #line 3 "/af10/evans/bison-1.28/share/bison.simple"
02460
02461
02462
02463
02464
02465
02466
02467
02468
02469
02470
02471
02472
02473
02474
02475
02476
02477
02478
02479
02480
02481
02482
02483
02484
02485
02486
02487
02488
02489
02490 #ifndef YYSTACK_USE_ALLOCA
02491 #ifdef alloca
02492 #define YYSTACK_USE_ALLOCA
02493 #else
02494 #ifdef __GNUC__
02495 #define YYSTACK_USE_ALLOCA
02496 #define alloca __builtin_alloca
02497 #else
02498 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
02499 #define YYSTACK_USE_ALLOCA
02500 #include <alloca.h>
02501 #else
02502
02503
02504
02505 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
02506 #if 0
02507
02508 #include <malloc.h>
02509 #endif
02510 #else
02511 #if defined(_AIX)
02512
02513
02514
02515 #pragma alloca
02516 #define YYSTACK_USE_ALLOCA
02517 #else
02518 #if 0
02519 #ifdef __hpux
02520
02521 #define YYSTACK_USE_ALLOCA
02522 #define alloca __builtin_alloca
02523 #endif
02524 #endif
02525 #endif
02526 #endif
02527 #endif
02528 #endif
02529 #endif
02530 #endif
02531
02532 #ifdef YYSTACK_USE_ALLOCA
02533 #define YYSTACK_ALLOC alloca
02534 #else
02535 #define YYSTACK_ALLOC malloc
02536 #endif
02537
02538
02539
02540
02541
02542 #define yyerrok (yyerrstatus = 0)
02543 #define yyclearin (yychar = YYEMPTY)
02544 #define YYEMPTY -2
02545 #define YYEOF 0
02546 #define YYACCEPT goto yyacceptlab
02547 #define YYABORT goto yyabortlab
02548 #define YYERROR goto yyerrlab1
02549
02550
02551
02552
02553 #define YYFAIL goto yyerrlab
02554 #define YYRECOVERING() (!!yyerrstatus)
02555 #define YYBACKUP(token, value) \
02556 do \
02557 if (yychar == YYEMPTY && yylen == 1) \
02558 { yychar = (token), yylval = (value); \
02559 yychar1 = YYTRANSLATE (yychar); \
02560 YYPOPSTACK; \
02561 goto yybackup; \
02562 } \
02563 else \
02564 { yyerror ("syntax error: cannot back up"); YYERROR; } \
02565 while (0)
02566
02567 #define YYTERROR 1
02568 #define YYERRCODE 256
02569
02570 #ifndef YYPURE
02571 #define YYLEX yylex()
02572 #endif
02573
02574 #ifdef YYPURE
02575 #ifdef YYLSP_NEEDED
02576 #ifdef YYLEX_PARAM
02577 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
02578 #else
02579 #define YYLEX yylex(&yylval, &yylloc)
02580 #endif
02581 #else
02582 #ifdef YYLEX_PARAM
02583 #define YYLEX yylex(&yylval, YYLEX_PARAM)
02584 #else
02585 #define YYLEX yylex(&yylval)
02586 #endif
02587 #endif
02588 #endif
02589
02590
02591
02592 #ifndef YYPURE
02593
02594 int yychar;
02595 YYSTYPE yylval;
02596
02597
02598 #ifdef YYLSP_NEEDED
02599 YYLTYPE yylloc;
02600
02601 #endif
02602
02603 int yynerrs;
02604 #endif
02605
02606 #if YYDEBUG != 0
02607 int yydebug;
02608
02609
02610 #endif
02611
02612
02613
02614 #ifndef YYINITDEPTH
02615 #define YYINITDEPTH 200
02616 #endif
02617
02618
02619
02620
02621 #if YYMAXDEPTH == 0
02622 #undef YYMAXDEPTH
02623 #endif
02624
02625 #ifndef YYMAXDEPTH
02626 #define YYMAXDEPTH 10000
02627 #endif
02628
02629
02630
02631
02632
02633
02634 #if __GNUC__ > 1
02635 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
02636 #else
02637 #ifndef __cplusplus
02638
02639
02640
02641 static void
02642 __yy_memcpy (to, from, count)
02643 char *to;
02644 char *from;
02645 unsigned int count;
02646 {
02647 register char *f = from;
02648 register char *t = to;
02649 register int i = count;
02650
02651 while (i-- > 0)
02652 *t++ = *f++;
02653 }
02654
02655 #else
02656
02657
02658
02659 static void
02660 __yy_memcpy (char *to, char *from, unsigned int count)
02661 {
02662 register char *t = to;
02663 register char *f = from;
02664 register int i = count;
02665
02666 while (i-- > 0)
02667 *t++ = *f++;
02668 }
02669
02670 #endif
02671 #endif
02672
02673 #line 217 "/af10/evans/bison-1.28/share/bison.simple"
02674
02675
02676
02677
02678
02679
02680
02681 #ifdef YYPARSE_PARAM
02682 #ifdef __cplusplus
02683 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
02684 #define YYPARSE_PARAM_DECL
02685 #else
02686 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
02687 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
02688 #endif
02689 #else
02690 #define YYPARSE_PARAM_ARG
02691 #define YYPARSE_PARAM_DECL
02692 #endif
02693
02694
02695 #ifdef __GNUC__
02696 #ifdef YYPARSE_PARAM
02697 int yyparse (void *);
02698 #else
02699 int yyparse (void);
02700 #endif
02701 #endif
02702
02703 int
02704 yyparse(YYPARSE_PARAM_ARG)
02705 YYPARSE_PARAM_DECL
02706 {
02707 register int yystate;
02708 register int yyn;
02709 register short *yyssp;
02710 register YYSTYPE *yyvsp;
02711 int yyerrstatus;
02712 int yychar1 = 0;
02713
02714 short yyssa[YYINITDEPTH];
02715 YYSTYPE yyvsa[YYINITDEPTH];
02716
02717 short *yyss = yyssa;
02718 YYSTYPE *yyvs = yyvsa;
02719
02720 #ifdef YYLSP_NEEDED
02721 YYLTYPE yylsa[YYINITDEPTH];
02722 YYLTYPE *yyls = yylsa;
02723 YYLTYPE *yylsp;
02724
02725 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
02726 #else
02727 #define YYPOPSTACK (yyvsp--, yyssp--)
02728 #endif
02729
02730 int yystacksize = YYINITDEPTH;
02731 int yyfree_stacks = 0;
02732
02733 #ifdef YYPURE
02734 int yychar;
02735 YYSTYPE yylval;
02736 int yynerrs;
02737 #ifdef YYLSP_NEEDED
02738 YYLTYPE yylloc;
02739 #endif
02740 #endif
02741
02742 YYSTYPE yyval;
02743
02744
02745
02746 int yylen;
02747
02748 #if YYDEBUG != 0
02749 if (yydebug)
02750 fprintf(stderr, "Starting parse\n");
02751 #endif
02752
02753 yystate = 0;
02754 yyerrstatus = 0;
02755 yynerrs = 0;
02756 yychar = YYEMPTY;
02757
02758
02759
02760
02761
02762
02763 yyssp = yyss - 1;
02764 yyvsp = yyvs;
02765 #ifdef YYLSP_NEEDED
02766 yylsp = yyls;
02767 #endif
02768
02769
02770
02771
02772 yynewstate:
02773
02774 *++yyssp = yystate;
02775
02776 if (yyssp >= yyss + yystacksize - 1)
02777 {
02778
02779
02780 YYSTYPE *yyvs1 = yyvs;
02781 short *yyss1 = yyss;
02782 #ifdef YYLSP_NEEDED
02783 YYLTYPE *yyls1 = yyls;
02784 #endif
02785
02786
02787 int size = yyssp - yyss + 1;
02788
02789 #ifdef yyoverflow
02790
02791
02792 #ifdef YYLSP_NEEDED
02793
02794
02795 yyoverflow("parser stack overflow",
02796 &yyss1, size * sizeof (*yyssp),
02797 &yyvs1, size * sizeof (*yyvsp),
02798 &yyls1, size * sizeof (*yylsp),
02799 &yystacksize);
02800 #else
02801 yyoverflow("parser stack overflow",
02802 &yyss1, size * sizeof (*yyssp),
02803 &yyvs1, size * sizeof (*yyvsp),
02804 &yystacksize);
02805 #endif
02806
02807 yyss = yyss1; yyvs = yyvs1;
02808 #ifdef YYLSP_NEEDED
02809 yyls = yyls1;
02810 #endif
02811 #else
02812
02813 if (yystacksize >= YYMAXDEPTH)
02814 {
02815 yyerror("parser stack overflow");
02816 if (yyfree_stacks)
02817 {
02818 free (yyss);
02819 free (yyvs);
02820 #ifdef YYLSP_NEEDED
02821 free (yyls);
02822 #endif
02823 }
02824 return 2;
02825 }
02826 yystacksize *= 2;
02827 if (yystacksize > YYMAXDEPTH)
02828 yystacksize = YYMAXDEPTH;
02829 #ifndef YYSTACK_USE_ALLOCA
02830 yyfree_stacks = 1;
02831 #endif
02832 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
02833 __yy_memcpy ((char *)yyss, (char *)yyss1,
02834 size * (unsigned int) sizeof (*yyssp));
02835 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
02836 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
02837 size * (unsigned int) sizeof (*yyvsp));
02838 #ifdef YYLSP_NEEDED
02839 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
02840 __yy_memcpy ((char *)yyls, (char *)yyls1,
02841 size * (unsigned int) sizeof (*yylsp));
02842 #endif
02843 #endif
02844
02845 yyssp = yyss + size - 1;
02846 yyvsp = yyvs + size - 1;
02847 #ifdef YYLSP_NEEDED
02848 yylsp = yyls + size - 1;
02849 #endif
02850
02851 #if YYDEBUG != 0
02852 if (yydebug)
02853 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
02854 #endif
02855
02856 if (yyssp >= yyss + yystacksize - 1)
02857 YYABORT;
02858 }
02859
02860 #if YYDEBUG != 0
02861 if (yydebug)
02862 fprintf(stderr, "Entering state %d\n", yystate);
02863 #endif
02864
02865 goto yybackup;
02866 yybackup:
02867
02868
02869
02870
02871
02872
02873
02874 yyn = yypact[yystate];
02875 if (yyn == YYFLAG)
02876 goto yydefault;
02877
02878
02879
02880
02881
02882
02883 if (yychar == YYEMPTY)
02884 {
02885 #if YYDEBUG != 0
02886 if (yydebug)
02887 fprintf(stderr, "Reading a token: ");
02888 #endif
02889 yychar = YYLEX;
02890 }
02891
02892
02893
02894 if (yychar <= 0)
02895 {
02896 yychar1 = 0;
02897 yychar = YYEOF;
02898
02899 #if YYDEBUG != 0
02900 if (yydebug)
02901 fprintf(stderr, "Now at end of input.\n");
02902 #endif
02903 }
02904 else
02905 {
02906 yychar1 = YYTRANSLATE(yychar);
02907
02908 #if YYDEBUG != 0
02909 if (yydebug)
02910 {
02911 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
02912
02913
02914 #ifdef YYPRINT
02915 YYPRINT (stderr, yychar, yylval);
02916 #endif
02917 fprintf (stderr, ")\n");
02918 }
02919 #endif
02920 }
02921
02922 yyn += yychar1;
02923 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
02924 goto yydefault;
02925
02926 yyn = yytable[yyn];
02927
02928
02929
02930
02931
02932
02933
02934
02935 if (yyn < 0)
02936 {
02937 if (yyn == YYFLAG)
02938 goto yyerrlab;
02939 yyn = -yyn;
02940 goto yyreduce;
02941 }
02942 else if (yyn == 0)
02943 goto yyerrlab;
02944
02945 if (yyn == YYFINAL)
02946 YYACCEPT;
02947
02948
02949
02950 #if YYDEBUG != 0
02951 if (yydebug)
02952 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
02953 #endif
02954
02955
02956 if (yychar != YYEOF)
02957 yychar = YYEMPTY;
02958
02959 *++yyvsp = yylval;
02960 #ifdef YYLSP_NEEDED
02961 *++yylsp = yylloc;
02962 #endif
02963
02964
02965 if (yyerrstatus) yyerrstatus--;
02966
02967 yystate = yyn;
02968 goto yynewstate;
02969
02970
02971 yydefault:
02972
02973 yyn = yydefact[yystate];
02974 if (yyn == 0)
02975 goto yyerrlab;
02976
02977
02978 yyreduce:
02979 yylen = yyr2[yyn];
02980 if (yylen > 0)
02981 yyval = yyvsp[1-yylen];
02982
02983 #if YYDEBUG != 0
02984 if (yydebug)
02985 {
02986 int i;
02987
02988 fprintf (stderr, "Reducing via rule %d (line %d), ",
02989 yyn, yyrline[yyn]);
02990
02991
02992 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
02993 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
02994 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
02995 }
02996 #endif
02997
02998
02999 switch (yyn) {
03000
03001 case 5:
03002 #line 240 "cgrammar.y"
03003 { uentry_clearDecl (); ;
03004 break;}
03005 case 6:
03006 #line 241 "cgrammar.y"
03007 { uentry_clearDecl (); ;
03008 break;}
03009 case 7:
03010 #line 242 "cgrammar.y"
03011 { uentry_clearDecl (); ;
03012 break;}
03013 case 8:
03014 #line 243 "cgrammar.y"
03015 { uentry_clearDecl (); ;
03016 break;}
03017 case 9:
03018 #line 244 "cgrammar.y"
03019 { uentry_clearDecl (); ;
03020 break;}
03021 case 10:
03022 #line 245 "cgrammar.y"
03023 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
03024 break;}
03025 case 11:
03026 #line 246 "cgrammar.y"
03027 { uentry_clearDecl (); ;
03028 break;}
03029 case 12:
03030 #line 250 "cgrammar.y"
03031 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
03032 break;}
03033 case 13:
03034 #line 252 "cgrammar.y"
03035 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
03036 break;}
03037 case 14:
03038 #line 255 "cgrammar.y"
03039 { context_enterFunctionDecl (); ;
03040 break;}
03041 case 15:
03042 #line 256 "cgrammar.y"
03043 { declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
03044 context_exitFunctionDecl (); ;
03045 break;}
03046 case 16:
03047 #line 261 "cgrammar.y"
03048 {
03049 qtype qint = qtype_create (ctype_int);
03050 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
03051 qtype_free (qint);
03052 ;
03053 break;}
03054 case 17:
03055 #line 267 "cgrammar.y"
03056 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
03057 break;}
03058 case 19:
03059 #line 272 "cgrammar.y"
03060 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
03061 break;}
03062 case 20:
03063 #line 275 "cgrammar.y"
03064 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
03065 break;}
03066 case 21:
03067 #line 277 "cgrammar.y"
03068 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
03069 break;}
03070 case 22:
03071 #line 279 "cgrammar.y"
03072 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
03073 break;}
03074 case 23:
03075 #line 281 "cgrammar.y"
03076 {
03077 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), exprNode_getLongValue (yyvsp[-2].expr)));
03078 ;
03079 break;}
03080 case 24:
03081 #line 285 "cgrammar.y"
03082 { setCurrentParams (uentryList_missingParams);
03083 ;
03084 break;}
03085 case 25:
03086 #line 288 "cgrammar.y"
03087 {
03088 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
03089 uentryList_makeMissingParams ());
03090
03091 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
03092 context_popLoc ();
03093 ;
03094 break;}
03095 case 26:
03096 #line 296 "cgrammar.y"
03097 { setCurrentParams (yyvsp[-1].entrylist);
03098 ;
03099 break;}
03100 case 27:
03101 #line 299 "cgrammar.y"
03102 { clearCurrentParams ();
03103 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
03104 context_popLoc ();
03105 ;
03106 break;}
03107 case 28:
03108 #line 305 "cgrammar.y"
03109 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
03110 break;}
03111 case 29:
03112 #line 307 "cgrammar.y"
03113 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
03114 break;}
03115 case 30:
03116 #line 309 "cgrammar.y"
03117 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
03118 break;}
03119 case 31:
03120 #line 311 "cgrammar.y"
03121 {
03122 int value;
03123
03124 if (exprNode_hasValue (yyvsp[-2].expr)
03125 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
03126 {
03127 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
03128 }
03129 else
03130 {
03131 value = 0;
03132 }
03133
03134 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
03135 ;
03136 break;}
03137 case 32:
03138 #line 327 "cgrammar.y"
03139 { setCurrentParams (uentryList_missingParams);
03140 ;
03141 break;}
03142 case 33:
03143 #line 330 "cgrammar.y"
03144 {
03145 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
03146 uentryList_makeMissingParams ());
03147
03148 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
03149 context_popLoc ();
03150 ;
03151 break;}
03152 case 34:
03153 #line 338 "cgrammar.y"
03154 { setCurrentParams (yyvsp[-1].entrylist);
03155 ;
03156 break;}
03157 case 35:
03158 #line 341 "cgrammar.y"
03159 { clearCurrentParams ();
03160 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
03161 context_popLoc ();
03162 ;
03163 break;}
03164 case 36:
03165 #line 348 "cgrammar.y"
03166 { setCurrentParams (yyvsp[-1].entrylist); ;
03167 break;}
03168 case 37:
03169 #line 349 "cgrammar.y"
03170 { clearCurrentParams (); ;
03171 break;}
03172 case 38:
03173 #line 350 "cgrammar.y"
03174 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
03175 break;}
03176 case 39:
03177 #line 353 "cgrammar.y"
03178 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
03179 break;}
03180 case 40:
03181 #line 354 "cgrammar.y"
03182 { exprNode_checkIterBody (yyvsp[-1].expr); ;
03183 break;}
03184 case 41:
03185 #line 355 "cgrammar.y"
03186 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
03187 break;}
03188 case 42:
03189 #line 356 "cgrammar.y"
03190 { exprChecks_checkEmptyMacroBody (); ;
03191 break;}
03192 case 43:
03193 #line 359 "cgrammar.y"
03194 { declareFunction (yyvsp[0].ntyp); ;
03195 break;}
03196 case 44:
03197 #line 362 "cgrammar.y"
03198 { setProcessingGlobMods (); ;
03199 break;}
03200 case 45:
03201 #line 363 "cgrammar.y"
03202 { clearProcessingGlobMods (); ;
03203 break;}
03204 case 46:
03205 #line 366 "cgrammar.y"
03206 { setProcessingGlobMods (); ;
03207 break;}
03208 case 47:
03209 #line 367 "cgrammar.y"
03210 { clearProcessingGlobMods (); ;
03211 break;}
03212 case 54:
03213 #line 382 "cgrammar.y"
03214 { ; ;
03215 break;}
03216 case 55:
03217 #line 383 "cgrammar.y"
03218 { ; ;
03219 break;}
03220 case 56:
03221 #line 386 "cgrammar.y"
03222 { globListAdd (yyvsp[0].sr, yyvsp[-1].tquallist); ;
03223 break;}
03224 case 57:
03225 #line 389 "cgrammar.y"
03226 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
03227 break;}
03228 case 58:
03229 #line 390 "cgrammar.y"
03230 { yyval.sr = globListUnrecognized (yyvsp[0].cname); ;
03231 break;}
03232 case 59:
03233 #line 393 "cgrammar.y"
03234 { yyval.typequal = qual_createUndef (); ;
03235 break;}
03236 case 60:
03237 #line 394 "cgrammar.y"
03238 { yyval.typequal = qual_createKilled (); ;
03239 break;}
03240 case 61:
03241 #line 395 "cgrammar.y"
03242 { yyval.typequal = qual_createOut (); ;
03243 break;}
03244 case 62:
03245 #line 396 "cgrammar.y"
03246 { yyval.typequal = qual_createIn (); ;
03247 break;}
03248 case 63:
03249 #line 397 "cgrammar.y"
03250 { yyval.typequal = qual_createPartial (); ;
03251 break;}
03252 case 64:
03253 #line 400 "cgrammar.y"
03254 { yyval.tquallist = qualList_undefined; ;
03255 break;}
03256 case 65:
03257 #line 401 "cgrammar.y"
03258 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
03259 break;}
03260 case 66:
03261 #line 404 "cgrammar.y"
03262 { setProcessingGlobalsList (); ;
03263 break;}
03264 case 67:
03265 #line 406 "cgrammar.y"
03266 { unsetProcessingGlobals (); ;
03267 break;}
03268 case 68:
03269 #line 407 "cgrammar.y"
03270 { setProcessingGlobalsList (); ;
03271 break;}
03272 case 69:
03273 #line 409 "cgrammar.y"
03274 { unsetProcessingGlobals (); ;
03275 break;}
03276 case 70:
03277 #line 411 "cgrammar.y"
03278 { setFunctionNoGlobals ();
03279 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
03280 ;
03281 break;}
03282 case 73:
03283 #line 418 "cgrammar.y"
03284 { setProcessingGlobalsList (); ;
03285 break;}
03286 case 74:
03287 #line 420 "cgrammar.y"
03288 { unsetProcessingGlobals (); ;
03289 break;}
03290 case 75:
03291 #line 421 "cgrammar.y"
03292 { setProcessingGlobalsList (); ;
03293 break;}
03294 case 76:
03295 #line 423 "cgrammar.y"
03296 { unsetProcessingGlobals (); ;
03297 break;}
03298 case 77:
03299 #line 425 "cgrammar.y"
03300 { setFunctionNoGlobals ();
03301 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
03302 ;
03303 break;}
03304 case 82:
03305 #line 437 "cgrammar.y"
03306 {
03307 context_setProtectVars (); enterParamsTemp ();
03308 sRef_setGlobalScopeSafe ();
03309 ;
03310 break;}
03311 case 83:
03312 #line 442 "cgrammar.y"
03313 {
03314 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
03315 sRef_clearGlobalScopeSafe ();
03316 context_releaseVars ();
03317 ;
03318 break;}
03319 case 84:
03320 #line 450 "cgrammar.y"
03321 {
03322 context_setProtectVars (); enterParamsTemp ();
03323 sRef_setGlobalScopeSafe ();
03324 ;
03325 break;}
03326 case 85:
03327 #line 455 "cgrammar.y"
03328 {
03329 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
03330 sRef_clearGlobalScopeSafe ();
03331 context_releaseVars ();
03332 ;
03333 break;}
03334 case 95:
03335 #line 479 "cgrammar.y"
03336 { yyval.sck = SP_ISONLY; ;
03337 break;}
03338 case 96:
03339 #line 480 "cgrammar.y"
03340 { yyval.sck = SP_ISOBSERVER; ;
03341 break;}
03342 case 97:
03343 #line 481 "cgrammar.y"
03344 { yyval.sck = SP_ISEXPOSED; ;
03345 break;}
03346 case 98:
03347 #line 482 "cgrammar.y"
03348 { yyval.sck = SP_ISDEPENDENT; ;
03349 break;}
03350 case 99:
03351 #line 483 "cgrammar.y"
03352 { yyval.sck = SP_ISOWNED; ;
03353 break;}
03354 case 100:
03355 #line 484 "cgrammar.y"
03356 { yyval.sck = SP_ISSHARED; ;
03357 break;}
03358 case 101:
03359 #line 485 "cgrammar.y"
03360 { yyval.sck = SP_ISNULL; ;
03361 break;}
03362 case 102:
03363 #line 486 "cgrammar.y"
03364 { yyval.sck = SP_ISNOTNULL; ;
03365 break;}
03366 case 103:
03367 #line 490 "cgrammar.y"
03368 {
03369 context_setProtectVars ();
03370 enterParamsTemp ();
03371 sRef_setGlobalScopeSafe ();
03372 ;
03373 break;}
03374 case 104:
03375 #line 496 "cgrammar.y"
03376 {
03377 setFunctionSpecialClause (yyvsp[-6].tok, yyvsp[-3].srset, yyvsp[-1].tok);
03378 exitParamsTemp ();
03379 sRef_clearGlobalScopeSafe ();
03380 context_releaseVars ();
03381 ;
03382 break;}
03383 case 105:
03384 #line 503 "cgrammar.y"
03385 {
03386 context_setProtectVars ();
03387 enterParamsTemp ();
03388 sRef_setGlobalScopeSafe ();
03389 ;
03390 break;}
03391 case 106:
03392 #line 509 "cgrammar.y"
03393 {
03394 setFunctionStateSpecialClause (yyvsp[-7].tok, yyvsp[-5].sck, yyvsp[-3].srset, yyvsp[-1].tok);
03395 exitParamsTemp ();
03396 sRef_clearGlobalScopeSafe ();
03397 context_releaseVars ();
03398 ;
03399 break;}
03400 case 107:
03401 #line 518 "cgrammar.y"
03402 {
03403 qtype qint = qtype_create (ctype_int);
03404 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
03405 qtype_free (qint);
03406 ;
03407 break;}
03408 case 108:
03409 #line 524 "cgrammar.y"
03410 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
03411 break;}
03412 case 109:
03413 #line 527 "cgrammar.y"
03414 { checkDoneParams (); context_enterInnerContext (); ;
03415 break;}
03416 case 110:
03417 #line 529 "cgrammar.y"
03418 {
03419 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
03420 context_exitInner (yyvsp[0].expr);
03421 ;
03422 break;}
03423 case 111:
03424 #line 534 "cgrammar.y"
03425 { doneParams (); context_enterInnerContext (); ;
03426 break;}
03427 case 112:
03428 #line 536 "cgrammar.y"
03429 {
03430 context_exitInner (yyvsp[0].expr);
03431 exprNode_checkFunctionBody (yyvsp[0].expr);
03432 yyval.expr = yyvsp[0].expr;
03433 ;
03434 break;}
03435 case 113:
03436 #line 544 "cgrammar.y"
03437 {
03438 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
03439 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
03440 context_exitFunction ();
03441 ;
03442 break;}
03443 case 114:
03444 #line 551 "cgrammar.y"
03445 { yyval.srset = yyvsp[-2].srset; ;
03446 break;}
03447 case 115:
03448 #line 552 "cgrammar.y"
03449 { yyval.srset = sRefSet_new (); ;
03450 break;}
03451 case 116:
03452 #line 555 "cgrammar.y"
03453 { yyval.srset = yyvsp[-1].srset; ;
03454 break;}
03455 case 117:
03456 #line 556 "cgrammar.y"
03457 { yyval.srset = sRefSet_new (); ;
03458 break;}
03459 case 118:
03460 #line 559 "cgrammar.y"
03461 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
03462 break;}
03463 case 119:
03464 #line 560 "cgrammar.y"
03465 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
03466 break;}
03467 case 120:
03468 #line 561 "cgrammar.y"
03469 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
03470 break;}
03471 case 121:
03472 #line 562 "cgrammar.y"
03473 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
03474 break;}
03475 case 122:
03476 #line 563 "cgrammar.y"
03477 { yyval.sr = modListPointer (yyvsp[0].sr); ;
03478 break;}
03479 case 123:
03480 #line 564 "cgrammar.y"
03481 { yyval.sr = yyvsp[-1].sr; ;
03482 break;}
03483 case 124:
03484 #line 565 "cgrammar.y"
03485 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
03486 break;}
03487 case 125:
03488 #line 566 "cgrammar.y"
03489 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
03490 break;}
03491 case 126:
03492 #line 570 "cgrammar.y"
03493 { yyval.sr = yyvsp[0].sr; ;
03494 break;}
03495 case 127:
03496 #line 571 "cgrammar.y"
03497 { yyval.sr = sRef_makeUnknown (); ;
03498 break;}
03499 case 128:
03500 #line 575 "cgrammar.y"
03501 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
03502 break;}
03503 case 129:
03504 #line 576 "cgrammar.y"
03505 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
03506 break;}
03507 case 130:
03508 #line 580 "cgrammar.y"
03509 { yyval.sr = checkSpecClausesId (yyvsp[0].entry); ;
03510 break;}
03511 case 131:
03512 #line 582 "cgrammar.y"
03513 { yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
03514 break;}
03515 case 132:
03516 #line 583 "cgrammar.y"
03517 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
03518 break;}
03519 case 133:
03520 #line 584 "cgrammar.y"
03521 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
03522 break;}
03523 case 134:
03524 #line 585 "cgrammar.y"
03525 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
03526 break;}
03527 case 135:
03528 #line 586 "cgrammar.y"
03529 { yyval.sr = yyvsp[-1].sr; ;
03530 break;}
03531 case 136:
03532 #line 587 "cgrammar.y"
03533 { cstring_markOwned (yyvsp[0].cname);
03534 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
03535 break;}
03536 case 137:
03537 #line 589 "cgrammar.y"
03538 { cstring_markOwned (yyvsp[0].cname);
03539 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
03540 break;}
03541 case 138:
03542 #line 594 "cgrammar.y"
03543 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
03544 else { yyval.srset = sRefSet_undefined; }
03545 ;
03546 break;}
03547 case 139:
03548 #line 598 "cgrammar.y"
03549 { if (sRef_isValid (yyvsp[0].sr))
03550 {
03551 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
03552 }
03553 else
03554 {
03555 yyval.srset = yyvsp[-2].srset;
03556 }
03557 ;
03558 break;}
03559 case 140:
03560 #line 609 "cgrammar.y"
03561 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
03562 break;}
03563 case 141:
03564 #line 610 "cgrammar.y"
03565 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
03566 break;}
03567 case 143:
03568 #line 612 "cgrammar.y"
03569 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
03570 break;}
03571 case 144:
03572 #line 613 "cgrammar.y"
03573 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
03574 break;}
03575 case 145:
03576 #line 614 "cgrammar.y"
03577 { yyval.expr = exprNode_makeError (); ;
03578 break;}
03579 case 147:
03580 #line 618 "cgrammar.y"
03581 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
03582 break;}
03583 case 148:
03584 #line 619 "cgrammar.y"
03585 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
03586 break;}
03587 case 149:
03588 #line 620 "cgrammar.y"
03589 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
03590 break;}
03591 case 150:
03592 #line 621 "cgrammar.y"
03593 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
03594 break;}
03595 case 151:
03596 #line 622 "cgrammar.y"
03597 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
03598 break;}
03599 case 152:
03600 #line 623 "cgrammar.y"
03601 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
03602 break;}
03603 case 153:
03604 #line 624 "cgrammar.y"
03605 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
03606 break;}
03607 case 154:
03608 #line 625 "cgrammar.y"
03609 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
03610 break;}
03611 case 155:
03612 #line 628 "cgrammar.y"
03613 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
03614 break;}
03615 case 156:
03616 #line 629 "cgrammar.y"
03617 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
03618 break;}
03619 case 158:
03620 #line 633 "cgrammar.y"
03621 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03622 break;}
03623 case 159:
03624 #line 634 "cgrammar.y"
03625 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03626 break;}
03627 case 160:
03628 #line 635 "cgrammar.y"
03629 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03630 break;}
03631 case 161:
03632 #line 636 "cgrammar.y"
03633 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03634 break;}
03635 case 162:
03636 #line 637 "cgrammar.y"
03637 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03638 break;}
03639 case 163:
03640 #line 638 "cgrammar.y"
03641 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03642 break;}
03643 case 164:
03644 #line 639 "cgrammar.y"
03645 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03646 break;}
03647 case 165:
03648 #line 640 "cgrammar.y"
03649 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
03650 break;}
03651 case 166:
03652 #line 641 "cgrammar.y"
03653 { yyval.expr = yyvsp[0].expr; ;
03654 break;}
03655 case 167:
03656 #line 642 "cgrammar.y"
03657 { yyval.expr = yyvsp[0].expr; ;
03658 break;}
03659 case 168:
03660 #line 645 "cgrammar.y"
03661 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
03662 break;}
03663 case 169:
03664 #line 646 "cgrammar.y"
03665 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
03666 break;}
03667 case 170:
03668 #line 650 "cgrammar.y"
03669 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
03670 break;}
03671 case 171:
03672 #line 653 "cgrammar.y"
03673 { context_setProtectVars (); ;
03674 break;}
03675 case 172:
03676 #line 654 "cgrammar.y"
03677 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
03678 break;}
03679 case 173:
03680 #line 657 "cgrammar.y"
03681 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
03682 break;}
03683 case 174:
03684 #line 658 "cgrammar.y"
03685 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
03686 break;}
03687 case 175:
03688 #line 659 "cgrammar.y"
03689 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
03690 break;}
03691 case 176:
03692 #line 660 "cgrammar.y"
03693 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
03694 break;}
03695 case 178:
03696 #line 665 "cgrammar.y"
03697 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
03698 break;}
03699 case 180:
03700 #line 669 "cgrammar.y"
03701 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03702 break;}
03703 case 181:
03704 #line 670 "cgrammar.y"
03705 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03706 break;}
03707 case 182:
03708 #line 671 "cgrammar.y"
03709 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03710 break;}
03711 case 184:
03712 #line 675 "cgrammar.y"
03713 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03714 break;}
03715 case 185:
03716 #line 676 "cgrammar.y"
03717 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03718 break;}
03719 case 187:
03720 #line 680 "cgrammar.y"
03721 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03722 break;}
03723 case 188:
03724 #line 681 "cgrammar.y"
03725 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03726 break;}
03727 case 190:
03728 #line 685 "cgrammar.y"
03729 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03730 break;}
03731 case 191:
03732 #line 686 "cgrammar.y"
03733 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03734 break;}
03735 case 192:
03736 #line 687 "cgrammar.y"
03737 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03738 break;}
03739 case 193:
03740 #line 688 "cgrammar.y"
03741 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03742 break;}
03743 case 195:
03744 #line 692 "cgrammar.y"
03745 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03746 break;}
03747 case 196:
03748 #line 693 "cgrammar.y"
03749 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03750 break;}
03751 case 198:
03752 #line 697 "cgrammar.y"
03753 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03754 break;}
03755 case 200:
03756 #line 701 "cgrammar.y"
03757 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03758 break;}
03759 case 202:
03760 #line 706 "cgrammar.y"
03761 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03762 break;}
03763 case 204:
03764 #line 711 "cgrammar.y"
03765 { exprNode_produceGuards (yyvsp[-1].expr);
03766 context_enterAndClause (yyvsp[-1].expr);
03767 ;
03768 break;}
03769 case 205:
03770 #line 715 "cgrammar.y"
03771 {
03772 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
03773 context_exitAndClause (yyval.expr, yyvsp[0].expr);
03774 ;
03775 break;}
03776 case 207:
03777 #line 723 "cgrammar.y"
03778 {
03779 exprNode_produceGuards (yyvsp[-1].expr);
03780 context_enterOrClause (yyvsp[-1].expr);
03781 ;
03782 break;}
03783 case 208:
03784 #line 728 "cgrammar.y"
03785 {
03786 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
03787 context_exitOrClause (yyval.expr, yyvsp[0].expr);
03788 ;
03789 break;}
03790 case 210:
03791 #line 735 "cgrammar.y"
03792 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
03793 break;}
03794 case 211:
03795 #line 736 "cgrammar.y"
03796 { context_enterFalseClause (yyvsp[-4].expr); ;
03797 break;}
03798 case 212:
03799 #line 737 "cgrammar.y"
03800 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
03801 break;}
03802 case 214:
03803 #line 741 "cgrammar.y"
03804 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03805 break;}
03806 case 215:
03807 #line 742 "cgrammar.y"
03808 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03809 break;}
03810 case 216:
03811 #line 743 "cgrammar.y"
03812 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03813 break;}
03814 case 217:
03815 #line 744 "cgrammar.y"
03816 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03817 break;}
03818 case 218:
03819 #line 745 "cgrammar.y"
03820 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03821 break;}
03822 case 219:
03823 #line 746 "cgrammar.y"
03824 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03825 break;}
03826 case 220:
03827 #line 747 "cgrammar.y"
03828 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03829 break;}
03830 case 221:
03831 #line 748 "cgrammar.y"
03832 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03833 break;}
03834 case 222:
03835 #line 749 "cgrammar.y"
03836 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03837 break;}
03838 case 223:
03839 #line 750 "cgrammar.y"
03840 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03841 break;}
03842 case 224:
03843 #line 751 "cgrammar.y"
03844 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
03845 break;}
03846 case 226:
03847 #line 755 "cgrammar.y"
03848 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
03849 break;}
03850 case 227:
03851 #line 758 "cgrammar.y"
03852 { yyval.expr = exprNode_undefined; ;
03853 break;}
03854 case 230:
03855 #line 767 "cgrammar.y"
03856 { yyval.expr = yyvsp[0].expr; ;
03857 break;}
03858 case 231:
03859 #line 768 "cgrammar.y"
03860 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
03861 break;}
03862 case 232:
03863 #line 769 "cgrammar.y"
03864 { yyval.expr = exprNode_makeError (); ;
03865 break;}
03866 case 233:
03867 #line 772 "cgrammar.y"
03868 { yyval.expr = exprNode_makeError (); ;
03869 break;}
03870 case 234:
03871 #line 786 "cgrammar.y"
03872 {
03873 setProcessingVars (yyvsp[-3].qtyp);
03874 processNamedDecl (yyvsp[-1].ntyp); ;
03875 break;}
03876 case 235:
03877 #line 789 "cgrammar.y"
03878 { unsetProcessingVars (); yyval.expr = yyvsp[-2].expr; ;
03879 break;}
03880 case 236:
03881 #line 791 "cgrammar.y"
03882 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp);
03883 ;
03884 break;}
03885 case 237:
03886 #line 794 "cgrammar.y"
03887 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
03888 unsetProcessingVars ();
03889 ;
03890 break;}
03891 case 238:
03892 #line 798 "cgrammar.y"
03893 { processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeError (); ;
03894 break;}
03895 case 239:
03896 #line 799 "cgrammar.y"
03897 { processNamedDecl (yyvsp[-2].ntyp); ;
03898 break;}
03899 case 240:
03900 #line 800 "cgrammar.y"
03901 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
03902 break;}
03903 case 241:
03904 #line 804 "cgrammar.y"
03905 { setProcessingTypedef (yyvsp[0].qtyp); ;
03906 break;}
03907 case 242:
03908 #line 805 "cgrammar.y"
03909 { unsetProcessingTypedef (); ;
03910 break;}
03911 case 243:
03912 #line 806 "cgrammar.y"
03913 { ;
03914 break;}
03915 case 244:
03916 #line 807 "cgrammar.y"
03917 { ;
03918 break;}
03919 case 245:
03920 #line 810 "cgrammar.y"
03921 { g_expectingTypeName = TRUE; ;
03922 break;}
03923 case 246:
03924 #line 813 "cgrammar.y"
03925 { g_expectingTypeName = TRUE; context_pushLoc (); ;
03926 break;}
03927 case 247:
03928 #line 816 "cgrammar.y"
03929 { ; ;
03930 break;}
03931 case 248:
03932 #line 819 "cgrammar.y"
03933 { ; ;
03934 break;}
03935 case 249:
03936 #line 820 "cgrammar.y"
03937 { ; ;
03938 break;}
03939 case 250:
03940 #line 823 "cgrammar.y"
03941 { yyval.expr = exprNode_makeError (); ;
03942 break;}
03943 case 251:
03944 #line 824 "cgrammar.y"
03945 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
03946 break;}
03947 case 253:
03948 #line 828 "cgrammar.y"
03949 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].alist); ;
03950 break;}
03951 case 254:
03952 #line 829 "cgrammar.y"
03953 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].alist); ;
03954 break;}
03955 case 255:
03956 #line 834 "cgrammar.y"
03957 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
03958 break;}
03959 case 256:
03960 #line 836 "cgrammar.y"
03961 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
03962 break;}
03963 case 257:
03964 #line 844 "cgrammar.y"
03965 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
03966 break;}
03967 case 258:
03968 #line 845 "cgrammar.y"
03969 { yyval.typequal = qual_createInline (); ;
03970 break;}
03971 case 259:
03972 #line 846 "cgrammar.y"
03973 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
03974 break;}
03975 case 260:
03976 #line 847 "cgrammar.y"
03977 { yyval.typequal = qual_createAuto (); ;
03978 break;}
03979 case 261:
03980 #line 848 "cgrammar.y"
03981 { yyval.typequal = qual_createRegister (); ;
03982 break;}
03983 case 262:
03984 #line 851 "cgrammar.y"
03985 { yyval.typequal = qual_createConst (); ;
03986 break;}
03987 case 263:
03988 #line 852 "cgrammar.y"
03989 { yyval.typequal = qual_createVolatile (); ;
03990 break;}
03991 case 264:
03992 #line 853 "cgrammar.y"
03993 { yyval.typequal = qual_createOut (); ;
03994 break;}
03995 case 265:
03996 #line 854 "cgrammar.y"
03997 { yyval.typequal = qual_createIn (); ;
03998 break;}
03999 case 266:
04000 #line 855 "cgrammar.y"
04001 { yyval.typequal = qual_createPartial (); ;
04002 break;}
04003 case 267:
04004 #line 856 "cgrammar.y"
04005 { yyval.typequal = qual_createSpecial (); ;
04006 break;}
04007 case 268:
04008 #line 857 "cgrammar.y"
04009 { yyval.typequal = qual_createOwned (); ;
04010 break;}
04011 case 269:
04012 #line 858 "cgrammar.y"
04013 { yyval.typequal = qual_createDependent (); ;
04014 break;}
04015 case 270:
04016 #line 859 "cgrammar.y"
04017 { yyval.typequal = qual_createYield (); ;
04018 break;}
04019 case 271:
04020 #line 860 "cgrammar.y"
04021 { yyval.typequal = qual_createTemp (); ;
04022 break;}
04023 case 272:
04024 #line 861 "cgrammar.y"
04025 { yyval.typequal = qual_createOnly (); ;
04026 break;}
04027 case 273:
04028 #line 862 "cgrammar.y"
04029 { yyval.typequal = qual_createKeep (); ;
04030 break;}
04031 case 274:
04032 #line 863 "cgrammar.y"
04033 { yyval.typequal = qual_createKept (); ;
04034 break;}
04035 case 275:
04036 #line 864 "cgrammar.y"
04037 { yyval.typequal = qual_createShared (); ;
04038 break;}
04039 case 276:
04040 #line 865 "cgrammar.y"
04041 { yyval.typequal = qual_createUnique (); ;
04042 break;}
04043 case 277:
04044 #line 866 "cgrammar.y"
04045 { yyval.typequal = qual_createExits (); ;
04046 break;}
04047 case 278:
04048 #line 867 "cgrammar.y"
04049 { yyval.typequal = qual_createMayExit (); ;
04050 break;}
04051 case 279:
04052 #line 868 "cgrammar.y"
04053 { yyval.typequal = qual_createTrueExit (); ;
04054 break;}
04055 case 280:
04056 #line 869 "cgrammar.y"
04057 { yyval.typequal = qual_createFalseExit (); ;
04058 break;}
04059 case 281:
04060 #line 870 "cgrammar.y"
04061 { yyval.typequal = qual_createNeverExit (); ;
04062 break;}
04063 case 282:
04064 #line 871 "cgrammar.y"
04065 { yyval.typequal = qual_createNull (); ;
04066 break;}
04067 case 283:
04068 #line 872 "cgrammar.y"
04069 { yyval.typequal = qual_createRelNull (); ;
04070 break;}
04071 case 284:
04072 #line 873 "cgrammar.y"
04073 { yyval.typequal = qual_createReturned (); ;
04074 break;}
04075 case 285:
04076 #line 874 "cgrammar.y"
04077 { yyval.typequal = qual_createExposed (); ;
04078 break;}
04079 case 286:
04080 #line 875 "cgrammar.y"
04081 { yyval.typequal = qual_createObserver (); ;
04082 break;}
04083 case 287:
04084 #line 876 "cgrammar.y"
04085 { yyval.typequal = qual_createChecked (); ;
04086 break;}
04087 case 288:
04088 #line 877 "cgrammar.y"
04089 { yyval.typequal = qual_createCheckMod (); ;
04090 break;}
04091 case 289:
04092 #line 878 "cgrammar.y"
04093 { yyval.typequal = qual_createUnchecked (); ;
04094 break;}
04095 case 290:
04096 #line 879 "cgrammar.y"
04097 { yyval.typequal = qual_createCheckedStrict (); ;
04098 break;}
04099 case 291:
04100 #line 880 "cgrammar.y"
04101 { yyval.typequal = qual_createTrueNull (); ;
04102 break;}
04103 case 292:
04104 #line 881 "cgrammar.y"
04105 { yyval.typequal = qual_createFalseNull (); ;
04106 break;}
04107 case 293:
04108 #line 882 "cgrammar.y"
04109 { yyval.typequal = qual_createUnused (); ;
04110 break;}
04111 case 294:
04112 #line 883 "cgrammar.y"
04113 { yyval.typequal = qual_createExternal (); ;
04114 break;}
04115 case 295:
04116 #line 884 "cgrammar.y"
04117 { yyval.typequal = qual_createSef (); ;
04118 break;}
04119 case 296:
04120 #line 885 "cgrammar.y"
04121 { yyval.typequal = qual_createAbstract (); ;
04122 break;}
04123 case 297:
04124 #line 886 "cgrammar.y"
04125 { yyval.typequal = qual_createConcrete (); ;
04126 break;}
04127 case 298:
04128 #line 887 "cgrammar.y"
04129 { yyval.typequal = qual_createMutable (); ;
04130 break;}
04131 case 299:
04132 #line 888 "cgrammar.y"
04133 { yyval.typequal = qual_createImmutable (); ;
04134 break;}
04135 case 300:
04136 #line 889 "cgrammar.y"
04137 { yyval.typequal = qual_createNotNull (); ;
04138 break;}
04139 case 301:
04140 #line 890 "cgrammar.y"
04141 { yyval.typequal = qual_createRefCounted (); ;
04142 break;}
04143 case 302:
04144 #line 891 "cgrammar.y"
04145 { yyval.typequal = qual_createRefs (); ;
04146 break;}
04147 case 303:
04148 #line 892 "cgrammar.y"
04149 { yyval.typequal = qual_createKillRef (); ;
04150 break;}
04151 case 304:
04152 #line 893 "cgrammar.y"
04153 { yyval.typequal = qual_createRelDef (); ;
04154 break;}
04155 case 305:
04156 #line 894 "cgrammar.y"
04157 { yyval.typequal = qual_createNewRef (); ;
04158 break;}
04159 case 306:
04160 #line 895 "cgrammar.y"
04161 { yyval.typequal = qual_createTempRef (); ;
04162 break;}
04163 case 307:
04164 #line 898 "cgrammar.y"
04165 { yyval.typequal = qual_createShort (); ;
04166 break;}
04167 case 308:
04168 #line 899 "cgrammar.y"
04169 { yyval.typequal = qual_createLong (); ;
04170 break;}
04171 case 309:
04172 #line 900 "cgrammar.y"
04173 { yyval.typequal = qual_createSigned (); ;
04174 break;}
04175 case 310:
04176 #line 901 "cgrammar.y"
04177 { yyval.typequal = qual_createUnsigned (); ;
04178 break;}
04179 case 317:
04180 #line 910 "cgrammar.y"
04181 { yyval.ctyp = ctype_unknown; ;
04182 break;}
04183 case 318:
04184 #line 911 "cgrammar.y"
04185 { yyval.ctyp = ctype_anyintegral; ;
04186 break;}
04187 case 319:
04188 #line 912 "cgrammar.y"
04189 { yyval.ctyp = ctype_unsignedintegral; ;
04190 break;}
04191 case 320:
04192 #line 913 "cgrammar.y"
04193 { yyval.ctyp = ctype_signedintegral; ;
04194 break;}
04195 case 324:
04196 #line 917 "cgrammar.y"
04197 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
04198 break;}
04199 case 325:
04200 #line 921 "cgrammar.y"
04201 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
04202 break;}
04203 case 326:
04204 #line 924 "cgrammar.y"
04205 { yyval.qtyp = yyvsp[0].qtyp; ;
04206 break;}
04207 case 327:
04208 #line 926 "cgrammar.y"
04209 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
04210 break;}
04211 case 329:
04212 #line 931 "cgrammar.y"
04213 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
04214 break;}
04215 case 330:
04216 #line 934 "cgrammar.y"
04217 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
04218 break;}
04219 case 331:
04220 #line 935 "cgrammar.y"
04221 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
04222 break;}
04223 case 332:
04224 #line 936 "cgrammar.y"
04225 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
04226 break;}
04227 case 333:
04228 #line 939 "cgrammar.y"
04229 { yyval.qtyp = qtype_unknown (); ;
04230 break;}
04231 case 334:
04232 #line 940 "cgrammar.y"
04233 { yyval.qtyp = yyvsp[0].qtyp; ;
04234 break;}
04235 case 335:
04236 #line 943 "cgrammar.y"
04237 { sRef_setGlobalScopeSafe (); ;
04238 break;}
04239 case 336:
04240 #line 945 "cgrammar.y"
04241 { sRef_clearGlobalScopeSafe (); ;
04242 break;}
04243 case 337:
04244 #line 947 "cgrammar.y"
04245 { yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
04246 break;}
04247 case 338:
04248 #line 948 "cgrammar.y"
04249 { sRef_setGlobalScopeSafe (); ;
04250 break;}
04251 case 339:
04252 #line 950 "cgrammar.y"
04253 { sRef_clearGlobalScopeSafe (); ;
04254 break;}
04255 case 340:
04256 #line 952 "cgrammar.y"
04257 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
04258 break;}
04259 case 341:
04260 #line 954 "cgrammar.y"
04261 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
04262 break;}
04263 case 342:
04264 #line 956 "cgrammar.y"
04265 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
04266 break;}
04267 case 343:
04268 #line 957 "cgrammar.y"
04269 { sRef_setGlobalScopeSafe (); ;
04270 break;}
04271 case 344:
04272 #line 959 "cgrammar.y"
04273 { sRef_clearGlobalScopeSafe (); ;
04274 break;}
04275 case 345:
04276 #line 961 "cgrammar.y"
04277 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
04278 break;}
04279 case 346:
04280 #line 962 "cgrammar.y"
04281 { sRef_setGlobalScopeSafe (); ;
04282 break;}
04283 case 347:
04284 #line 964 "cgrammar.y"
04285 { sRef_clearGlobalScopeSafe (); ;
04286 break;}
04287 case 348:
04288 #line 966 "cgrammar.y"
04289 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
04290 break;}
04291 case 349:
04292 #line 968 "cgrammar.y"
04293 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
04294 break;}
04295 case 350:
04296 #line 970 "cgrammar.y"
04297 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
04298 break;}
04299 case 351:
04300 #line 971 "cgrammar.y"
04301 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
04302 break;}
04303 case 352:
04304 #line 972 "cgrammar.y"
04305 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
04306 break;}
04307 case 353:
04308 #line 975 "cgrammar.y"
04309 { g_expectingTypeName = FALSE; ;
04310 break;}
04311 case 355:
04312 #line 979 "cgrammar.y"
04313 { yyval.flist = uentryList_undefined; ;
04314 break;}
04315 case 356:
04316 #line 980 "cgrammar.y"
04317 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
04318 break;}
04319 case 357:
04320 #line 984 "cgrammar.y"
04321 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
04322 break;}
04323 case 358:
04324 #line 986 "cgrammar.y"
04325 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
04326 break;}
04327 case 359:
04328 #line 990 "cgrammar.y"
04329 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
04330 break;}
04331 case 360:
04332 #line 992 "cgrammar.y"
04333 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
04334 break;}
04335 case 361:
04336 #line 995 "cgrammar.y"
04337 { yyval.ntyp = yyvsp[0].ntyp; ;
04338 break;}
04339 case 362:
04340 #line 996 "cgrammar.y"
04341 { yyval.ntyp = idDecl_undefined; ;
04342 break;}
04343 case 363:
04344 #line 997 "cgrammar.y"
04345 { yyval.ntyp = yyvsp[-3].ntyp; ;
04346 break;}
04347 case 364:
04348 #line 1002 "cgrammar.y"
04349 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
04350 break;}
04351 case 365:
04352 #line 1003 "cgrammar.y"
04353 { context_pushLoc (); ;
04354 break;}
04355 case 366:
04356 #line 1004 "cgrammar.y"
04357 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
04358 break;}
04359 case 367:
04360 #line 1005 "cgrammar.y"
04361 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
04362 break;}
04363 case 368:
04364 #line 1009 "cgrammar.y"
04365 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
04366 break;}
04367 case 369:
04368 #line 1011 "cgrammar.y"
04369 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
04370 break;}
04371 case 371:
04372 #line 1016 "cgrammar.y"
04373 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
04374 usymtab_supGlobalEntry (ue);
04375 yyval.cname = yyvsp[0].cname;
04376 ;
04377 break;}
04378 case 372:
04379 #line 1021 "cgrammar.y"
04380 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
04381 usymtab_supGlobalEntry (ue);
04382 yyval.cname = yyvsp[-3].cname;
04383 ;
04384 break;}
04385 case 374:
04386 #line 1028 "cgrammar.y"
04387 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
04388 break;}
04389 case 375:
04390 #line 1030 "cgrammar.y"
04391 {
04392 qtype qt = qtype_unknown ();
04393
04394 qtype_adjustPointers (yyvsp[-1].count, qt);
04395 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
04396 ;
04397 break;}
04398 case 376:
04399 #line 1037 "cgrammar.y"
04400 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
04401 break;}
04402 case 378:
04403 #line 1042 "cgrammar.y"
04404 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
04405 break;}
04406 case 379:
04407 #line 1045 "cgrammar.y"
04408 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
04409 break;}
04410 case 380:
04411 #line 1046 "cgrammar.y"
04412 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
04413 break;}
04414 case 381:
04415 #line 1049 "cgrammar.y"
04416 { ; ;
04417 break;}
04418 case 382:
04419 #line 1050 "cgrammar.y"
04420 { ; ;
04421 break;}
04422 case 383:
04423 #line 1053 "cgrammar.y"
04424 { ; ;
04425 break;}
04426 case 384:
04427 #line 1054 "cgrammar.y"
04428 { ; ;
04429 break;}
04430 case 385:
04431 #line 1057 "cgrammar.y"
04432 { yyval.count = 1; ;
04433 break;}
04434 case 386:
04435 #line 1058 "cgrammar.y"
04436 { yyval.count = 1; ;
04437 break;}
04438 case 387:
04439 #line 1059 "cgrammar.y"
04440 { yyval.count = 1 + yyvsp[0].count; ;
04441 break;}
04442 case 388:
04443 #line 1060 "cgrammar.y"
04444 { yyval.count = 1 + yyvsp[0].count; ;
04445 break;}
04446 case 390:
04447 #line 1064 "cgrammar.y"
04448 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
04449 break;}
04450 case 391:
04451 #line 1067 "cgrammar.y"
04452 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
04453 break;}
04454 case 392:
04455 #line 1068 "cgrammar.y"
04456 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
04457 break;}
04458 case 393:
04459 #line 1071 "cgrammar.y"
04460 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
04461 break;}
04462 case 395:
04463 #line 1073 "cgrammar.y"
04464 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
04465 break;}
04466 case 396:
04467 #line 1076 "cgrammar.y"
04468 { storeLoc (); ;
04469 break;}
04470 case 397:
04471 #line 1076 "cgrammar.y"
04472 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
04473 break;}
04474 case 398:
04475 #line 1077 "cgrammar.y"
04476 { storeLoc (); ;
04477 break;}
04478 case 399:
04479 #line 1078 "cgrammar.y"
04480 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
04481 break;}
04482 case 400:
04483 #line 1082 "cgrammar.y"
04484 {
04485 if (isFlipOldStyle ())
04486 {
04487 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
04488 }
04489 else
04490 {
04491 setNewStyle ();
04492 }
04493 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
04494 ;
04495 break;}
04496 case 401:
04497 #line 1094 "cgrammar.y"
04498 {
04499 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
04500
04501 if (isNewStyle ())
04502 {
04503 llparseerror (message ("Inconsistent function parameter syntax: %q",
04504 idDecl_unparse (tparam)));
04505 }
04506
04507 setFlipOldStyle ();
04508 yyval.oentry = makeCurrentParam (tparam);
04509 idDecl_free (tparam);
04510 ;
04511 break;}
04512 case 403:
04513 #line 1110 "cgrammar.y"
04514 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
04515 break;}
04516 case 404:
04517 #line 1113 "cgrammar.y"
04518 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
04519 break;}
04520 case 406:
04521 #line 1115 "cgrammar.y"
04522 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
04523 break;}
04524 case 407:
04525 #line 1118 "cgrammar.y"
04526 { yyval.ctyp = ctype_unknown; ;
04527 break;}
04528 case 409:
04529 #line 1123 "cgrammar.y"
04530 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
04531 break;}
04532 case 410:
04533 #line 1124 "cgrammar.y"
04534 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
04535 break;}
04536 case 411:
04537 #line 1126 "cgrammar.y"
04538 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
04539 break;}
04540 case 412:
04541 #line 1127 "cgrammar.y"
04542 { yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
04543 break;}
04544 case 413:
04545 #line 1129 "cgrammar.y"
04546 { yyval.ctyp = ctype_makeFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
04547 break;}
04548 case 414:
04549 #line 1131 "cgrammar.y"
04550 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
04551 break;}
04552 case 415:
04553 #line 1133 "cgrammar.y"
04554 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
04555 break;}
04556 case 416:
04557 #line 1135 "cgrammar.y"
04558 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
04559 break;}
04560 case 417:
04561 #line 1137 "cgrammar.y"
04562 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
04563 break;}
04564 case 427:
04565 #line 1153 "cgrammar.y"
04566 { yyval.expr = yyvsp[0].expr; ;
04567 break;}
04568 case 430:
04569 #line 1161 "cgrammar.y"
04570 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
04571 break;}
04572 case 431:
04573 #line 1165 "cgrammar.y"
04574 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
04575 break;}
04576 case 432:
04577 #line 1167 "cgrammar.y"
04578 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
04579 break;}
04580 case 433:
04581 #line 1169 "cgrammar.y"
04582 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
04583 break;}
04584 case 434:
04585 #line 1171 "cgrammar.y"
04586 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
04587 break;}
04588 case 435:
04589 #line 1175 "cgrammar.y"
04590 { context_setProtectVars (); ;
04591 break;}
04592 case 436:
04593 #line 1175 "cgrammar.y"
04594 { context_sizeofReleaseVars (); ;
04595 break;}
04596 case 437:
04597 #line 1177 "cgrammar.y"
04598 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
04599 context_enterForClause (yyvsp[-5].expr); ;
04600 break;}
04601 case 438:
04602 #line 1182 "cgrammar.y"
04603 { setProcessingIterVars (yyvsp[-2].entry); ;
04604 break;}
04605 case 439:
04606 #line 1184 "cgrammar.y"
04607 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].alist); ;
04608 break;}
04609 case 440:
04610 #line 1185 "cgrammar.y"
04611 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
04612 break;}
04613 case 444:
04614 #line 1191 "cgrammar.y"
04615 { yyval.expr = yyvsp[0].expr; ;
04616 break;}
04617 case 452:
04618 #line 1199 "cgrammar.y"
04619 { yyval.expr = yyvsp[-1].expr; ;
04620 break;}
04621 case 453:
04622 #line 1200 "cgrammar.y"
04623 { yyval.expr = exprNode_makeError (); ;
04624 break;}
04625 case 454:
04626 #line 1204 "cgrammar.y"
04627 {
04628 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
04629 ;
04630 break;}
04631 case 455:
04632 #line 1209 "cgrammar.y"
04633 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04634 break;}
04635 case 456:
04636 #line 1212 "cgrammar.y"
04637 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04638 break;}
04639 case 467:
04640 #line 1227 "cgrammar.y"
04641 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
04642 break;}
04643 case 469:
04644 #line 1229 "cgrammar.y"
04645 { yyval.expr = exprNode_makeError (); ;
04646 break;}
04647 case 470:
04648 #line 1232 "cgrammar.y"
04649 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
04650 break;}
04651 case 471:
04652 #line 1233 "cgrammar.y"
04653 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
04654 break;}
04655 case 472:
04656 #line 1239 "cgrammar.y"
04657 { context_enterCaseClause (yyvsp[0].expr); ;
04658 break;}
04659 case 473:
04660 #line 1240 "cgrammar.y"
04661 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
04662 break;}
04663 case 474:
04664 #line 1241 "cgrammar.y"
04665 { context_enterCaseClause (yyvsp[0].expr); ;
04666 break;}
04667 case 475:
04668 #line 1242 "cgrammar.y"
04669 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
04670 break;}
04671 case 476:
04672 #line 1245 "cgrammar.y"
04673 { context_enterCaseClause (exprNode_undefined); ;
04674 break;}
04675 case 477:
04676 #line 1246 "cgrammar.y"
04677 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
04678 break;}
04679 case 478:
04680 #line 1247 "cgrammar.y"
04681 { context_enterCaseClause (exprNode_undefined); ;
04682 break;}
04683 case 479:
04684 #line 1248 "cgrammar.y"
04685 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
04686 break;}
04687 case 480:
04688 #line 1251 "cgrammar.y"
04689 { yyval.expr = yyvsp[-1].expr; ;
04690 break;}
04691 case 481:
04692 #line 1253 "cgrammar.y"
04693 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
04694 break;}
04695 case 482:
04696 #line 1256 "cgrammar.y"
04697 { yyval.expr = yyvsp[-1].expr; ;
04698 break;}
04699 case 483:
04700 #line 1259 "cgrammar.y"
04701 { context_enterInnerContext (); ;
04702 break;}
04703 case 484:
04704 #line 1262 "cgrammar.y"
04705 { context_exitInnerPlain (); ;
04706 break;}
04707 case 485:
04708 #line 1265 "cgrammar.y"
04709 { context_enterStructInnerContext (); ;
04710 break;}
04711 case 486:
04712 #line 1268 "cgrammar.y"
04713 { context_exitStructInnerContext (); ;
04714 break;}
04715 case 487:
04716 #line 1271 "cgrammar.y"
04717 { context_exitInnerSafe (); ;
04718 break;}
04719 case 488:
04720 #line 1274 "cgrammar.y"
04721 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04722 break;}
04723 case 489:
04724 #line 1275 "cgrammar.y"
04725 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
04726 break;}
04727 case 490:
04728 #line 1276 "cgrammar.y"
04729 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
04730 break;}
04731 case 491:
04732 #line 1278 "cgrammar.y"
04733 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
04734 break;}
04735 case 492:
04736 #line 1279 "cgrammar.y"
04737 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
04738 break;}
04739 case 493:
04740 #line 1281 "cgrammar.y"
04741 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
04742 break;}
04743 case 494:
04744 #line 1283 "cgrammar.y"
04745 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
04746 break;}
04747 case 495:
04748 #line 1285 "cgrammar.y"
04749 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
04750 lltok_getLoc (yyvsp[-1].tok)));
04751 ;
04752 break;}
04753 case 496:
04754 #line 1292 "cgrammar.y"
04755 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
04756 break;}
04757 case 497:
04758 #line 1296 "cgrammar.y"
04759 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04760 break;}
04761 case 498:
04762 #line 1298 "cgrammar.y"
04763 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
04764 break;}
04765 case 499:
04766 #line 1300 "cgrammar.y"
04767 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
04768 break;}
04769 case 500:
04770 #line 1302 "cgrammar.y"
04771 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
04772 break;}
04773 case 502:
04774 #line 1306 "cgrammar.y"
04775 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
04776 break;}
04777 case 503:
04778 #line 1309 "cgrammar.y"
04779 { yyval.expr = yyvsp[0].expr; ;
04780 break;}
04781 case 504:
04782 #line 1310 "cgrammar.y"
04783 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
04784 break;}
04785 case 505:
04786 #line 1313 "cgrammar.y"
04787 { yyval.expr = yyvsp[0].expr; ;
04788 break;}
04789 case 506:
04790 #line 1314 "cgrammar.y"
04791 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
04792 break;}
04793 case 507:
04794 #line 1317 "cgrammar.y"
04795 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04796 break;}
04797 case 508:
04798 #line 1318 "cgrammar.y"
04799 { yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
04800 break;}
04801 case 509:
04802 #line 1321 "cgrammar.y"
04803 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
04804 break;}
04805 case 510:
04806 #line 1322 "cgrammar.y"
04807 { yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
04808 break;}
04809 case 511:
04810 #line 1323 "cgrammar.y"
04811 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
04812 break;}
04813 case 512:
04814 #line 1327 "cgrammar.y"
04815 { yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
04816 break;}
04817 case 513:
04818 #line 1335 "cgrammar.y"
04819 {
04820 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
04821 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
04822 ;
04823 break;}
04824 case 514:
04825 #line 1339 "cgrammar.y"
04826 { context_enterFalseClause (yyvsp[-2].expr); ;
04827 break;}
04828 case 515:
04829 #line 1340 "cgrammar.y"
04830 {
04831 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
04832 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
04833 ;
04834 break;}
04835 case 516:
04836 #line 1344 "cgrammar.y"
04837 { context_enterSwitch (yyvsp[0].expr); ;
04838 break;}
04839 case 517:
04840 #line 1345 "cgrammar.y"
04841 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
04842 break;}
04843 case 518:
04844 #line 1349 "cgrammar.y"
04845 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
04846 break;}
04847 case 519:
04848 #line 1353 "cgrammar.y"
04849 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
04850 break;}
04851 case 520:
04852 #line 1356 "cgrammar.y"
04853 { context_enterIterClause (); ;
04854 break;}
04855 case 521:
04856 #line 1357 "cgrammar.y"
04857 { setProcessingIterVars (yyvsp[-3].entry); ;
04858 break;}
04859 case 522:
04860 #line 1360 "cgrammar.y"
04861 {
04862 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].alist, yyvsp[-2].expr, yyvsp[-1].entry);
04863
04864 ;
04865 break;}
04866 case 523:
04867 #line 1366 "cgrammar.y"
04868 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
04869 break;}
04870 case 524:
04871 #line 1367 "cgrammar.y"
04872 { nextIterParam (); ;
04873 break;}
04874 case 525:
04875 #line 1368 "cgrammar.y"
04876 { yyval.alist = exprNodeList_push (yyvsp[-3].alist, yyvsp[0].expr); ;
04877 break;}
04878 case 526:
04879 #line 1371 "cgrammar.y"
04880 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
04881 break;}
04882 case 527:
04883 #line 1372 "cgrammar.y"
04884 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
04885 break;}
04886 case 528:
04887 #line 1373 "cgrammar.y"
04888 { uentry ue = coerceIterId (yyvsp[0].cname);
04889
04890 if (uentry_isValid (ue))
04891 {
04892 yyval.expr = exprNode_iterId (ue);
04893 }
04894 else
04895 {
04896 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
04897 }
04898 ;
04899 break;}
04900 case 529:
04901 #line 1384 "cgrammar.y"
04902 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
04903 break;}
04904 case 531:
04905 #line 1392 "cgrammar.y"
04906 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
04907 break;}
04908 case 533:
04909 #line 1396 "cgrammar.y"
04910 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
04911 break;}
04912 case 534:
04913 #line 1397 "cgrammar.y"
04914 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
04915 break;}
04916 case 535:
04917 #line 1398 "cgrammar.y"
04918 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
04919 break;}
04920 case 536:
04921 #line 1400 "cgrammar.y"
04922 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
04923 break;}
04924 case 537:
04925 #line 1401 "cgrammar.y"
04926 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
04927 break;}
04928 case 538:
04929 #line 1402 "cgrammar.y"
04930 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
04931 break;}
04932 case 539:
04933 #line 1403 "cgrammar.y"
04934 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
04935 break;}
04936 case 540:
04937 #line 1404 "cgrammar.y"
04938 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
04939 break;}
04940 case 542:
04941 #line 1408 "cgrammar.y"
04942 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04943 break;}
04944 case 543:
04945 #line 1409 "cgrammar.y"
04946 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04947 break;}
04948 case 544:
04949 #line 1410 "cgrammar.y"
04950 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04951 break;}
04952 case 545:
04953 #line 1411 "cgrammar.y"
04954 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04955 break;}
04956 case 546:
04957 #line 1412 "cgrammar.y"
04958 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04959 break;}
04960 case 547:
04961 #line 1413 "cgrammar.y"
04962 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04963 break;}
04964 case 548:
04965 #line 1414 "cgrammar.y"
04966 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04967 break;}
04968 case 549:
04969 #line 1415 "cgrammar.y"
04970 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
04971 break;}
04972 case 550:
04973 #line 1416 "cgrammar.y"
04974 { yyval.expr = yyvsp[0].expr; ;
04975 break;}
04976 case 552:
04977 #line 1420 "cgrammar.y"
04978 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
04979 break;}
04980 case 554:
04981 #line 1424 "cgrammar.y"
04982 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
04983 break;}
04984 case 555:
04985 #line 1425 "cgrammar.y"
04986 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
04987 break;}
04988 case 556:
04989 #line 1426 "cgrammar.y"
04990 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
04991 break;}
04992 case 558:
04993 #line 1430 "cgrammar.y"
04994 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
04995 break;}
04996 case 559:
04997 #line 1431 "cgrammar.y"
04998 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
04999 break;}
05000 case 561:
05001 #line 1435 "cgrammar.y"
05002 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05003 break;}
05004 case 562:
05005 #line 1436 "cgrammar.y"
05006 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05007 break;}
05008 case 564:
05009 #line 1440 "cgrammar.y"
05010 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05011 break;}
05012 case 565:
05013 #line 1441 "cgrammar.y"
05014 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05015 break;}
05016 case 566:
05017 #line 1442 "cgrammar.y"
05018 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05019 break;}
05020 case 567:
05021 #line 1443 "cgrammar.y"
05022 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05023 break;}
05024 case 569:
05025 #line 1447 "cgrammar.y"
05026 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05027 break;}
05028 case 570:
05029 #line 1448 "cgrammar.y"
05030 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05031 break;}
05032 case 572:
05033 #line 1452 "cgrammar.y"
05034 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05035 break;}
05036 case 574:
05037 #line 1456 "cgrammar.y"
05038 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05039 break;}
05040 case 576:
05041 #line 1461 "cgrammar.y"
05042 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05043 break;}
05044 case 578:
05045 #line 1465 "cgrammar.y"
05046 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05047 break;}
05048 case 580:
05049 #line 1469 "cgrammar.y"
05050 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05051 break;}
05052 case 582:
05053 #line 1473 "cgrammar.y"
05054 { context_enterTrueClause (yyvsp[-1].expr); ;
05055 break;}
05056 case 583:
05057 #line 1474 "cgrammar.y"
05058 { context_enterFalseClause (yyvsp[-4].expr); ;
05059 break;}
05060 case 584:
05061 #line 1475 "cgrammar.y"
05062 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
05063 break;}
05064 case 586:
05065 #line 1479 "cgrammar.y"
05066 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05067 break;}
05068 case 587:
05069 #line 1480 "cgrammar.y"
05070 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05071 break;}
05072 case 588:
05073 #line 1481 "cgrammar.y"
05074 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05075 break;}
05076 case 589:
05077 #line 1482 "cgrammar.y"
05078 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05079 break;}
05080 case 590:
05081 #line 1483 "cgrammar.y"
05082 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05083 break;}
05084 case 591:
05085 #line 1484 "cgrammar.y"
05086 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05087 break;}
05088 case 592:
05089 #line 1485 "cgrammar.y"
05090 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05091 break;}
05092 case 593:
05093 #line 1486 "cgrammar.y"
05094 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05095 break;}
05096 case 594:
05097 #line 1487 "cgrammar.y"
05098 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05099 break;}
05100 case 595:
05101 #line 1488 "cgrammar.y"
05102 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05103 break;}
05104 case 596:
05105 #line 1489 "cgrammar.y"
05106 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
05107 break;}
05108 case 597:
05109 #line 1492 "cgrammar.y"
05110 { yyval.entry = yyvsp[0].entry; ;
05111 break;}
05112 case 598:
05113 #line 1493 "cgrammar.y"
05114 { yyval.entry = uentry_undefined; ;
05115 break;}
05116 case 599:
05117 #line 1496 "cgrammar.y"
05118 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
05119 break;}
05120 case 600:
05121 #line 1500 "cgrammar.y"
05122 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
05123 break;}
05124 case 601:
05125 #line 1502 "cgrammar.y"
05126 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
05127 break;}
05128 case 602:
05129 #line 1504 "cgrammar.y"
05130 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
05131 break;}
05132 case 603:
05133 #line 1507 "cgrammar.y"
05134 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
05135 break;}
05136 case 604:
05137 #line 1509 "cgrammar.y"
05138 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
05139 break;}
05140 case 605:
05141 #line 1511 "cgrammar.y"
05142 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
05143 break;}
05144 case 606:
05145 #line 1512 "cgrammar.y"
05146 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
05147 break;}
05148 case 607:
05149 #line 1515 "cgrammar.y"
05150 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
05151 break;}
05152 case 608:
05153 #line 1516 "cgrammar.y"
05154 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
05155 break;}
05156 case 609:
05157 #line 1518 "cgrammar.y"
05158 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
05159 break;}
05160 case 610:
05161 #line 1519 "cgrammar.y"
05162 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
05163 break;}
05164 case 611:
05165 #line 1520 "cgrammar.y"
05166 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
05167 break;}
05168 case 612:
05169 #line 1521 "cgrammar.y"
05170 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
05171 break;}
05172 case 613:
05173 #line 1522 "cgrammar.y"
05174 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
05175 break;}
05176 case 614:
05177 #line 1523 "cgrammar.y"
05178 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
05179 break;}
05180 case 615:
05181 #line 1524 "cgrammar.y"
05182 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
05183 break;}
05184 case 616:
05185 #line 1525 "cgrammar.y"
05186 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
05187 break;}
05188 case 618:
05189 #line 1529 "cgrammar.y"
05190 { ; ;
05191 break;}
05192 case 621:
05193 #line 1536 "cgrammar.y"
05194 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
05195 break;}
05196 case 622:
05197 #line 1537 "cgrammar.y"
05198 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
05199 break;}
05200 case 623:
05201 #line 1538 "cgrammar.y"
05202 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
05203 break;}
05204 case 624:
05205 #line 1539 "cgrammar.y"
05206 { yyval.cname = yyvsp[0].cname; ;
05207 break;}
05208 case 626:
05209 #line 1543 "cgrammar.y"
05210 { yyval.ctyp = ctype_unknown; ;
05211 break;}
05212 }
05213
05214 #line 543 "/af10/evans/bison-1.28/share/bison.simple"
05215
05216 yyvsp -= yylen;
05217 yyssp -= yylen;
05218 #ifdef YYLSP_NEEDED
05219 yylsp -= yylen;
05220 #endif
05221
05222 #if YYDEBUG != 0
05223 if (yydebug)
05224 {
05225 short *ssp1 = yyss - 1;
05226 fprintf (stderr, "state stack now");
05227 while (ssp1 != yyssp)
05228 fprintf (stderr, " %d", *++ssp1);
05229 fprintf (stderr, "\n");
05230 }
05231 #endif
05232
05233 *++yyvsp = yyval;
05234
05235 #ifdef YYLSP_NEEDED
05236 yylsp++;
05237 if (yylen == 0)
05238 {
05239 yylsp->first_line = yylloc.first_line;
05240 yylsp->first_column = yylloc.first_column;
05241 yylsp->last_line = (yylsp-1)->last_line;
05242 yylsp->last_column = (yylsp-1)->last_column;
05243 yylsp->text = 0;
05244 }
05245 else
05246 {
05247 yylsp->last_line = (yylsp+yylen-1)->last_line;
05248 yylsp->last_column = (yylsp+yylen-1)->last_column;
05249 }
05250 #endif
05251
05252
05253
05254
05255
05256
05257 yyn = yyr1[yyn];
05258
05259 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
05260 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
05261 yystate = yytable[yystate];
05262 else
05263 yystate = yydefgoto[yyn - YYNTBASE];
05264
05265 goto yynewstate;
05266
05267 yyerrlab:
05268
05269 if (! yyerrstatus)
05270
05271 {
05272 ++yynerrs;
05273
05274 #ifdef YYERROR_VERBOSE
05275 yyn = yypact[yystate];
05276
05277 if (yyn > YYFLAG && yyn < YYLAST)
05278 {
05279 int size = 0;
05280 char *msg;
05281 int x, count;
05282
05283 count = 0;
05284
05285 for (x = (yyn < 0 ? -yyn : 0);
05286 x < (sizeof(yytname) / sizeof(char *)); x++)
05287 if (yycheck[x + yyn] == x)
05288 size += strlen(yytname[x]) + 15, count++;
05289 msg = (char *) malloc(size + 15);
05290 if (msg != 0)
05291 {
05292 strcpy(msg, "parse error");
05293
05294 if (count < 5)
05295 {
05296 count = 0;
05297 for (x = (yyn < 0 ? -yyn : 0);
05298 x < (sizeof(yytname) / sizeof(char *)); x++)
05299 if (yycheck[x + yyn] == x)
05300 {
05301 strcat(msg, count == 0 ? ", expecting `" : " or `");
05302 strcat(msg, yytname[x]);
05303 strcat(msg, "'");
05304 count++;
05305 }
05306 }
05307 yyerror(msg);
05308 free(msg);
05309 }
05310 else
05311 yyerror ("parse error; also virtual memory exceeded");
05312 }
05313 else
05314 #endif
05315 yyerror("parse error");
05316 }
05317
05318 goto yyerrlab1;
05319 yyerrlab1:
05320
05321 if (yyerrstatus == 3)
05322 {
05323
05324
05325
05326 if (yychar == YYEOF)
05327 YYABORT;
05328
05329 #if YYDEBUG != 0
05330 if (yydebug)
05331 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
05332 #endif
05333
05334 yychar = YYEMPTY;
05335 }
05336
05337
05338
05339
05340 yyerrstatus = 3;
05341
05342 goto yyerrhandle;
05343
05344 yyerrdefault:
05345
05346 #if 0
05347
05348
05349 yyn = yydefact[yystate];
05350 if (yyn) goto yydefault;
05351 #endif
05352
05353 yyerrpop:
05354
05355 if (yyssp == yyss) YYABORT;
05356 yyvsp--;
05357 yystate = *--yyssp;
05358 #ifdef YYLSP_NEEDED
05359 yylsp--;
05360 #endif
05361
05362 #if YYDEBUG != 0
05363 if (yydebug)
05364 {
05365 short *ssp1 = yyss - 1;
05366 fprintf (stderr, "Error: state stack now");
05367 while (ssp1 != yyssp)
05368 fprintf (stderr, " %d", *++ssp1);
05369 fprintf (stderr, "\n");
05370 }
05371 #endif
05372
05373 yyerrhandle:
05374
05375 yyn = yypact[yystate];
05376 if (yyn == YYFLAG)
05377 goto yyerrdefault;
05378
05379 yyn += YYTERROR;
05380 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
05381 goto yyerrdefault;
05382
05383 yyn = yytable[yyn];
05384 if (yyn < 0)
05385 {
05386 if (yyn == YYFLAG)
05387 goto yyerrpop;
05388 yyn = -yyn;
05389 goto yyreduce;
05390 }
05391 else if (yyn == 0)
05392 goto yyerrpop;
05393
05394 if (yyn == YYFINAL)
05395 YYACCEPT;
05396
05397 #if YYDEBUG != 0
05398 if (yydebug)
05399 fprintf(stderr, "Shifting error token, ");
05400 #endif
05401
05402 *++yyvsp = yylval;
05403 #ifdef YYLSP_NEEDED
05404 *++yylsp = yylloc;
05405 #endif
05406
05407 yystate = yyn;
05408 goto yynewstate;
05409
05410 yyacceptlab:
05411
05412 if (yyfree_stacks)
05413 {
05414 free (yyss);
05415 free (yyvs);
05416 #ifdef YYLSP_NEEDED
05417 free (yyls);
05418 #endif
05419 }
05420 return 0;
05421
05422 yyabortlab:
05423
05424 if (yyfree_stacks)
05425 {
05426 free (yyss);
05427 free (yyvs);
05428 #ifdef YYLSP_NEEDED
05429 free (yyls);
05430 #endif
05431 }
05432 return 1;
05433 }
05434 #line 1545 "cgrammar.y"
05435
05436
05437
05438 extern char *yytext;
05439
05440
05441 # include "bison.reset"
05442
05443 void yyerror ( char *s)
05444 {
05445 static bool givehint = FALSE;
05446
05447 if (context_inIterDef ())
05448 {
05449 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
05450 context_inFunctionName ()));
05451 }
05452 else if (context_inIterEnd ())
05453 {
05454 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
05455 context_inFunctionName ()));
05456 }
05457 else if (context_inMacro ())
05458 {
05459 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
05460 context_inFunctionName ()));
05461
05462 if (context_inMacroUnknown ())
05463 {
05464 if (!givehint)
05465 {
05466 llhint (cstring_makeLiteral
05467 ("Precede macro definition with /*@notfunction@*/ "
05468 "to suppress checking and force expansion"));
05469 givehint = TRUE;
05470 }
05471 }
05472
05473 swallowMacro ();
05474 }
05475 else
05476 {
05477 llparseerror (cstring_undefined);
05478 }
05479 }
05480
05481
05482
05483
05484
05485
05486
05487
05488
05489
05490
05491
05492