2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
55 /* < end of bison.head > */
57 /* A Bison parser, made from cgrammar.y
60 #define YYBISON 1 /* Identify Bison output. */
64 # define CTOK_ELIPSIS 259
88 # define TAMPERSAND 283
102 # define CALIGNOF 297
104 # define ARROW_OP 299
105 # define CTYPEDEF 300
106 # define COFFSETOF 301
110 # define RIGHT_OP 305
117 # define MUL_ASSIGN 312
118 # define DIV_ASSIGN 313
119 # define MOD_ASSIGN 314
120 # define ADD_ASSIGN 315
121 # define SUB_ASSIGN 316
122 # define LEFT_ASSIGN 317
123 # define RIGHT_ASSIGN 318
124 # define AND_ASSIGN 319
125 # define XOR_ASSIGN 320
126 # define OR_ASSIGN 321
133 # define QGLOBALS 328
134 # define QMODIFIES 329
136 # define QCONSTANT 331
137 # define QFUNCTION 332
139 # define QDEFINES 334
141 # define QALLOCATES 336
143 # define QRELEASES 338
144 # define QPRECLAUSE 339
145 # define QPOSTCLAUSE 340
146 # define QINVARIANT 341
150 # define QENDMACRO 345
152 # define LLMACROITER 347
153 # define LLMACROEND 348
154 # define TENDMACRO 349
155 # define QSWITCHBREAK 350
156 # define QLOOPBREAK 351
157 # define QINNERBREAK 352
158 # define QSAFEBREAK 353
159 # define QINNERCONTINUE 354
160 # define QFALLTHROUGH 355
161 # define QLINTNOTREACHED 356
162 # define QLINTFALLTHROUGH 357
163 # define QLINTFALLTHRU 358
164 # define QARGSUSED 359
165 # define QPRINTFLIKE 360
166 # define QLINTPRINTFLIKE 361
167 # define QSCANFLIKE 362
168 # define QMESSAGELIKE 363
169 # define QNOTREACHED 364
171 # define QRESTRICT 366
172 # define QVOLATILE 367
174 # define QEXTENSION 369
178 # define QREGISTER 373
187 # define QCHECKED 382
188 # define QUNCHECKED 383
189 # define QCHECKEDSTRICT 384
190 # define QCHECKMOD 385
193 # define QPARTIAL 388
194 # define QSPECIAL 389
196 # define QDEPENDENT 391
197 # define QRETURNED 392
198 # define QEXPOSED 393
200 # define QOBSERVER 395
203 # define QMAYEXIT 398
204 # define QNEVEREXIT 399
205 # define QTRUEEXIT 400
206 # define QFALSEEXIT 401
209 # define QUNSIGNED 404
213 # define QNOTNULL 408
214 # define QRELNULL 409
215 # define QABSTRACT 410
216 # define QNUMABSTRACT 411
217 # define QCONCRETE 412
218 # define QMUTABLE 413
219 # define QIMMUTABLE 414
220 # define QTRUENULL 415
221 # define QFALSENULL 416
222 # define QEXTERNAL 417
223 # define QREFCOUNTED 418
226 # define QTEMPREF 421
227 # define QKILLREF 422
235 # define QANYTYPE 430
236 # define QINTEGRALTYPE 431
237 # define QUNSIGNEDINTEGRALTYPE 432
238 # define QSIGNEDINTEGRALTYPE 433
239 # define QNULLTERMINATED 434
240 # define QSETBUFFERSIZE 435
241 # define QSETSTRINGLENGTH 436
243 # define QMAXREAD 438
244 # define QTESTINRANGE 439
246 # define IDENTIFIER 441
247 # define NEW_IDENTIFIER 442
248 # define TYPE_NAME_OR_ID 443
249 # define CANNOTATION 444
250 # define CCONSTANT 445
251 # define ITER_NAME 446
252 # define ITER_ENDNAME 447
253 # define TYPE_NAME 448
254 # define METASTATE_NAME 449
261 ** Yacc/Bison grammar for extended ANSI C used by Splint.
263 ** original grammar by Nate Osgood ---
264 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
266 ** changes for Splint --- handle typedef names correctly
267 ** fix struct/union parsing bug (empty struct is accepted)
268 ** add productions to handle macros --- require
269 ** error correction --- main source of conflicts in grammar.
270 ** need to process initializations sequentially, L->R
272 ** production names are cryptic, so more productions fit on one line
274 ** conflicts: 87 shift/reduce, 18 reduce/reduce
275 ** most of these are due to handling macros
276 ** a few are due to handling type expressions
282 extern void yyerror (char *);
284 # include "splintMacros.nf"
286 # include "cscanner.h"
287 # include "cscannerHelp.h"
288 # include "cgrammar.h"
289 # include "exprChecks.h"
294 # define SHOWCSYM FALSE
297 ** This is necessary, or else when the bison-generated code #include's malloc.h,
298 ** there will be a parse error.
300 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
301 ** in bison-generated files under Win32.
311 #ifndef cgrammar_YYSTYPE
319 /*@dependent@*/ sRef sr;
322 /*@only@*/ functionClauseList funcclauselist;
323 /*@only@*/ functionClause funcclause;
324 /*@only@*/ flagSpec flagspec;
325 /*@only@*/ globalsClause globsclause;
326 /*@only@*/ modifiesClause modsclause;
327 /*@only@*/ warnClause warnclause;
328 /*@only@*/ stateClause stateclause;
329 /*@only@*/ pointers pointers;
330 /*@only@*/ functionConstraint fcnconstraint;
332 /*@only@*/ metaStateConstraint msconstraint;
333 /*@only@*/ metaStateSpecifier msspec;
334 /*@only@*/ metaStateExpression msexpr;
335 /*@observer@*/ metaStateInfo msinfo;
337 /*@only@*/ sRefList srlist;
338 /*@only@*/ globSet globset;
339 /*@only@*/ qtype qtyp;
340 /*@only@*/ cstring cname;
341 /*@observer@*/ annotationInfo annotation;
342 /*@only@*/ idDecl ntyp;
343 /*@only@*/ idDeclList ntyplist;
344 /*@only@*/ uentryList flist;
345 /*@owned@*/ uentryList entrylist;
346 /*@observer@*/ /*@dependent@*/ uentry entry;
347 /*@only@*/ uentry oentry;
348 /*@only@*/ exprNode expr;
349 /*@only@*/ enumNameList enumnamelist;
350 /*@only@*/ exprNodeList exprlist;
351 /*@only@*/ sRefSet srset;
352 /*@only@*/ cstringList cstringlist;
362 # define cgrammar_YYSTYPE yystype
363 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
372 #define YYFLAG -32768
375 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
376 #define YYTRANSLATE(x) ((unsigned)(x) <= 449 ? yytranslate[x] : 466)
378 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
379 static const short yytranslate[] =
381 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
382 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
384 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
385 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
387 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
388 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
389 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
390 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
391 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
392 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
393 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
394 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
395 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
398 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
399 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
400 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
401 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
402 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
403 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
404 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
405 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
406 2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
407 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
408 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
409 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
410 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
411 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
412 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
413 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
414 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
415 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
416 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
417 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
418 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
419 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
420 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
421 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
422 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
423 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
424 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
425 186, 187, 188, 189, 190, 191, 192, 193, 194, 195
429 static const short yyprhs[] =
431 0, 0, 1, 3, 5, 8, 11, 13, 15, 17,
432 19, 21, 23, 25, 34, 46, 47, 53, 55, 59,
433 61, 64, 66, 73, 77, 84, 85, 92, 93, 101,
434 103, 110, 114, 121, 122, 129, 130, 138, 139, 140,
435 151, 155, 159, 163, 166, 168, 172, 173, 178, 179,
436 184, 186, 190, 192, 194, 196, 200, 202, 206, 208,
437 210, 212, 214, 216, 218, 223, 229, 231, 233, 235,
438 237, 241, 246, 249, 253, 257, 261, 263, 265, 267,
439 268, 271, 272, 275, 277, 279, 281, 283, 285, 287,
440 289, 291, 293, 295, 297, 299, 302, 303, 308, 310,
441 313, 314, 318, 320, 324, 326, 328, 329, 332, 336,
442 339, 341, 345, 348, 349, 352, 354, 356, 358, 360,
443 362, 364, 366, 368, 370, 372, 374, 376, 378, 380,
444 382, 384, 388, 389, 393, 394, 395, 400, 403, 406,
445 408, 410, 412, 414, 418, 423, 426, 430, 434, 438,
446 440, 442, 444, 448, 450, 452, 456, 461, 464, 468,
447 472, 476, 477, 479, 481, 485, 487, 489, 491, 495,
448 497, 499, 500, 505, 507, 512, 516, 521, 528, 534,
449 540, 543, 546, 554, 556, 560, 562, 565, 568, 571,
450 574, 577, 580, 583, 586, 590, 592, 596, 601, 603,
451 613, 614, 618, 619, 620, 625, 628, 633, 636, 638,
452 643, 645, 649, 653, 657, 659, 663, 667, 669, 673,
453 677, 679, 683, 687, 691, 695, 697, 701, 705, 707,
454 711, 713, 717, 719, 723, 725, 726, 731, 733, 734,
455 739, 741, 742, 743, 751, 753, 757, 761, 765, 769,
456 773, 777, 781, 785, 789, 793, 797, 799, 803, 804,
457 806, 808, 810, 812, 814, 818, 819, 829, 830, 842,
458 844, 846, 849, 850, 857, 858, 867, 872, 877, 878,
459 879, 882, 884, 889, 892, 894, 899, 900, 905, 907,
460 911, 916, 919, 922, 925, 927, 930, 934, 937, 939,
461 943, 945, 947, 949, 951, 953, 956, 957, 964, 967,
462 970, 971, 978, 979, 985, 987, 989, 991, 993, 995,
463 997, 999, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015,
464 1017, 1019, 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035,
465 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055,
466 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075,
467 1077, 1079, 1081, 1083, 1085, 1087, 1089, 1091, 1094, 1097,
468 1100, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
469 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
470 1160, 1163, 1166, 1169, 1173, 1175, 1180, 1182, 1186, 1189,
471 1192, 1195, 1196, 1198, 1199, 1200, 1201, 1214, 1215, 1216,
472 1228, 1235, 1242, 1243, 1244, 1255, 1256, 1257, 1268, 1274,
473 1280, 1285, 1290, 1291, 1293, 1295, 1298, 1304, 1308, 1311,
474 1316, 1318, 1322, 1327, 1334, 1335, 1344, 1349, 1351, 1355,
475 1358, 1360, 1365, 1367, 1369, 1372, 1375, 1377, 1380, 1382,
476 1385, 1387, 1389, 1391, 1393, 1396, 1398, 1401, 1404, 1408,
477 1410, 1414, 1416, 1420, 1422, 1424, 1428, 1429, 1432, 1433,
478 1438, 1443, 1445, 1447, 1450, 1452, 1454, 1457, 1458, 1460,
479 1466, 1469, 1473, 1477, 1482, 1486, 1491, 1496, 1502, 1504,
480 1506, 1508, 1510, 1512, 1514, 1516, 1518, 1520, 1522, 1524,
481 1526, 1529, 1532, 1540, 1547, 1550, 1551, 1552, 1563, 1564,
482 1571, 1573, 1575, 1577, 1579, 1582, 1584, 1586, 1588, 1590,
483 1592, 1594, 1596, 1600, 1602, 1603, 1607, 1610, 1613, 1615,
484 1617, 1619, 1621, 1623, 1625, 1627, 1629, 1631, 1633, 1637,
485 1639, 1641, 1644, 1647, 1648, 1651, 1652, 1657, 1658, 1665,
486 1666, 1670, 1671, 1677, 1681, 1684, 1688, 1689, 1690, 1691,
487 1692, 1693, 1695, 1698, 1701, 1705, 1708, 1712, 1716, 1721,
488 1724, 1727, 1731, 1735, 1740, 1742, 1745, 1747, 1750, 1752,
489 1756, 1758, 1763, 1765, 1768, 1770, 1773, 1775, 1778, 1780,
490 1785, 1788, 1789, 1795, 1796, 1803, 1808, 1813, 1814, 1815,
491 1826, 1828, 1829, 1834, 1836, 1838, 1840, 1842, 1844, 1847,
492 1849, 1853, 1855, 1860, 1864, 1869, 1876, 1882, 1888, 1891,
493 1894, 1896, 1899, 1902, 1905, 1908, 1911, 1914, 1917, 1920,
494 1922, 1924, 1929, 1931, 1935, 1939, 1943, 1945, 1949, 1953,
495 1955, 1959, 1963, 1965, 1969, 1973, 1977, 1981, 1983, 1987,
496 1991, 1993, 1997, 1999, 2003, 2005, 2009, 2011, 2015, 2017,
497 2021, 2023, 2024, 2025, 2033, 2035, 2039, 2043, 2047, 2051,
498 2055, 2059, 2063, 2067, 2071, 2075, 2079, 2081, 2082, 2084,
499 2087, 2095, 2098, 2101, 2109, 2116, 2119, 2123, 2126, 2130,
500 2133, 2137, 2141, 2145, 2149, 2152, 2156, 2157, 2159, 2160,
501 2162, 2164, 2166, 2168, 2170, 2172, 2174, 2176, 2178, 2183
503 static const short yyrhs[] =
505 -1, 197, 0, 198, 0, 197, 198, 0, 259, 461,
506 0, 199, 0, 200, 0, 210, 0, 213, 0, 299,
507 0, 18, 0, 1, 0, 77, 343, 357, 367, 357,
508 461, 308, 91, 0, 77, 343, 357, 367, 357, 23,
509 308, 315, 314, 461, 91, 0, 0, 78, 201, 202,
510 461, 91, 0, 203, 0, 343, 357, 203, 0, 207,
511 0, 371, 207, 0, 464, 0, 308, 24, 357, 367,
512 308, 25, 0, 204, 26, 27, 0, 204, 26, 308,
513 298, 27, 357, 0, 0, 204, 309, 24, 25, 205,
514 231, 0, 0, 204, 309, 24, 368, 25, 206, 231,
515 0, 464, 0, 308, 24, 357, 203, 308, 25, 0,
516 207, 26, 27, 0, 207, 26, 308, 298, 27, 357,
517 0, 0, 207, 309, 24, 25, 208, 232, 0, 0,
518 207, 309, 24, 368, 25, 209, 232, 0, 0, 0,
519 79, 464, 24, 368, 25, 211, 232, 212, 461, 91,
520 0, 92, 398, 95, 0, 93, 384, 95, 0, 94,
521 385, 95, 0, 92, 95, 0, 254, 0, 216, 23,
522 219, 0, 0, 228, 217, 22, 220, 0, 0, 5,
523 218, 22, 220, 0, 216, 0, 216, 40, 219, 0,
524 195, 0, 186, 0, 56, 0, 223, 221, 222, 0,
525 223, 0, 226, 225, 226, 0, 183, 0, 184, 0,
526 53, 0, 52, 0, 54, 0, 227, 0, 229, 24,
527 226, 25, 0, 24, 226, 230, 226, 25, 0, 228,
528 0, 191, 0, 463, 0, 188, 0, 228, 26, 27,
529 0, 228, 26, 191, 27, 0, 34, 228, 0, 24,
530 228, 25, 0, 228, 28, 464, 0, 228, 45, 464,
531 0, 224, 0, 33, 0, 32, 0, 0, 233, 231,
532 0, 0, 234, 232, 0, 235, 0, 239, 0, 238,
533 0, 321, 0, 324, 0, 245, 0, 236, 0, 240,
534 0, 238, 0, 322, 0, 326, 0, 246, 0, 236,
535 91, 0, 0, 74, 237, 247, 461, 0, 76, 0,
536 240, 91, 0, 0, 75, 241, 260, 0, 243, 0,
537 243, 40, 242, 0, 188, 0, 245, 0, 0, 246,
538 91, 0, 73, 242, 437, 0, 73, 242, 0, 248,
539 0, 247, 21, 248, 0, 249, 250, 0, 0, 251,
540 249, 0, 463, 0, 188, 0, 299, 0, 89, 0,
541 90, 0, 120, 0, 121, 0, 134, 0, 80, 0,
542 81, 0, 82, 0, 83, 0, 84, 0, 85, 0,
543 86, 0, 367, 0, 343, 357, 367, 0, 0, 19,
544 256, 415, 0, 0, 0, 257, 419, 258, 408, 0,
545 214, 255, 0, 263, 461, 0, 461, 0, 463, 0,
546 188, 0, 189, 0, 261, 26, 27, 0, 261, 26,
547 262, 27, 0, 34, 261, 0, 24, 261, 25, 0,
548 261, 28, 464, 0, 261, 45, 464, 0, 261, 0,
549 437, 0, 261, 0, 263, 21, 261, 0, 463, 0,
550 188, 0, 264, 26, 27, 0, 264, 26, 262, 27,
551 0, 34, 264, 0, 24, 264, 25, 0, 264, 28,
552 464, 0, 264, 45, 464, 0, 0, 266, 0, 264,
553 0, 266, 21, 264, 0, 463, 0, 188, 0, 437,
554 0, 24, 296, 25, 0, 189, 0, 115, 0, 0,
555 24, 268, 408, 25, 0, 267, 0, 269, 26, 296,
556 27, 0, 269, 24, 25, 0, 269, 24, 270, 25,
557 0, 71, 24, 295, 21, 379, 25, 0, 269, 357,
558 28, 464, 308, 0, 269, 357, 45, 464, 308, 0,
559 269, 48, 0, 269, 49, 0, 24, 379, 25, 19,
560 420, 462, 20, 0, 295, 0, 270, 21, 295, 0,
561 269, 0, 48, 271, 0, 49, 271, 0, 29, 279,
562 0, 34, 279, 0, 33, 279, 0, 32, 279, 0,
563 31, 279, 0, 30, 279, 0, 276, 274, 277, 0,
564 273, 0, 272, 28, 464, 0, 272, 26, 296, 27,
565 0, 464, 0, 47, 308, 24, 379, 357, 21, 272,
566 25, 308, 0, 0, 308, 275, 278, 0, 0, 0,
567 42, 24, 379, 25, 0, 42, 271, 0, 43, 24,
568 379, 25, 0, 43, 271, 0, 271, 0, 24, 379,
569 25, 279, 0, 279, 0, 280, 34, 279, 0, 280,
570 35, 279, 0, 280, 36, 279, 0, 280, 0, 281,
571 33, 280, 0, 281, 32, 280, 0, 281, 0, 282,
572 50, 281, 0, 282, 51, 281, 0, 282, 0, 283,
573 37, 282, 0, 283, 38, 282, 0, 283, 52, 282,
574 0, 283, 53, 282, 0, 283, 0, 284, 54, 283,
575 0, 284, 55, 283, 0, 284, 0, 285, 29, 284,
576 0, 285, 0, 286, 39, 285, 0, 286, 0, 287,
577 40, 286, 0, 287, 0, 0, 288, 56, 289, 287,
578 0, 288, 0, 0, 290, 57, 291, 288, 0, 290,
579 0, 0, 0, 290, 41, 293, 296, 22, 294, 292,
580 0, 292, 0, 271, 23, 295, 0, 271, 58, 295,
581 0, 271, 59, 295, 0, 271, 60, 295, 0, 271,
582 61, 295, 0, 271, 62, 295, 0, 271, 63, 295,
583 0, 271, 64, 295, 0, 271, 65, 295, 0, 271,
584 66, 295, 0, 271, 67, 295, 0, 295, 0, 296,
585 21, 295, 0, 0, 296, 0, 292, 0, 300, 0,
586 72, 0, 306, 0, 343, 308, 18, 0, 0, 343,
587 357, 367, 357, 301, 308, 314, 18, 308, 0, 0,
588 343, 357, 367, 357, 23, 302, 308, 315, 314, 18,
589 308, 0, 304, 0, 194, 0, 367, 357, 0, 0,
590 367, 357, 23, 305, 308, 315, 0, 0, 46, 343,
591 307, 357, 312, 308, 244, 18, 0, 46, 343, 308,
592 18, 0, 46, 310, 308, 18, 0, 0, 0, 311,
593 308, 0, 304, 0, 310, 21, 357, 304, 0, 313,
594 308, 0, 303, 0, 312, 21, 357, 303, 0, 0,
595 314, 21, 357, 304, 0, 295, 0, 19, 319, 20,
596 0, 19, 319, 21, 20, 0, 316, 315, 0, 317,
597 23, 0, 464, 22, 0, 318, 0, 317, 318, 0,
598 26, 298, 27, 0, 28, 464, 0, 315, 0, 319,
599 21, 315, 0, 116, 0, 114, 0, 117, 0, 118,
600 0, 119, 0, 322, 91, 0, 0, 252, 357, 323,
601 266, 461, 308, 0, 326, 91, 0, 253, 357, 0,
602 0, 325, 332, 327, 265, 461, 308, 0, 0, 325,
603 328, 329, 461, 308, 0, 222, 0, 215, 0, 143,
604 0, 144, 0, 146, 0, 147, 0, 145, 0, 128,
605 0, 131, 0, 129, 0, 130, 0, 136, 0, 137,
606 0, 122, 0, 124, 0, 123, 0, 132, 0, 133,
607 0, 125, 0, 127, 0, 140, 0, 142, 0, 155,
608 0, 154, 0, 139, 0, 141, 0, 180, 0, 190,
609 0, 138, 0, 153, 0, 152, 0, 163, 0, 161,
610 0, 162, 0, 156, 0, 157, 0, 158, 0, 159,
611 0, 160, 0, 164, 0, 165, 0, 168, 0, 169,
612 0, 166, 0, 167, 0, 151, 0, 148, 0, 149,
613 0, 150, 0, 120, 0, 121, 0, 134, 0, 135,
614 0, 111, 308, 0, 113, 308, 0, 112, 308, 0,
615 339, 308, 0, 332, 308, 0, 330, 308, 0, 333,
616 308, 0, 331, 308, 0, 335, 308, 0, 334, 308,
617 0, 336, 308, 0, 337, 308, 0, 170, 357, 0,
618 172, 357, 0, 171, 357, 0, 173, 357, 0, 174,
619 357, 0, 175, 357, 0, 176, 357, 0, 177, 357,
620 0, 178, 357, 0, 179, 357, 0, 465, 357, 0,
621 348, 357, 0, 362, 357, 0, 338, 357, 0, 308,
622 343, 308, 0, 345, 0, 345, 88, 344, 91, 0,
623 379, 0, 379, 21, 344, 0, 320, 346, 0, 340,
624 346, 0, 341, 346, 0, 0, 343, 0, 0, 0,
625 0, 357, 68, 464, 308, 19, 349, 412, 358, 413,
626 350, 20, 347, 0, 0, 0, 357, 69, 464, 308,
627 19, 351, 412, 358, 413, 352, 20, 0, 357, 68,
628 464, 308, 19, 20, 0, 357, 69, 464, 308, 19,
629 20, 0, 0, 0, 357, 68, 308, 19, 353, 412,
630 358, 413, 354, 20, 0, 0, 0, 357, 69, 308,
631 19, 355, 412, 358, 413, 356, 20, 0, 357, 68,
632 308, 19, 20, 0, 357, 69, 308, 19, 20, 0,
633 357, 68, 464, 357, 0, 357, 69, 464, 357, 0,
634 0, 359, 0, 213, 0, 358, 359, 0, 343, 357,
635 360, 308, 18, 0, 343, 308, 18, 0, 361, 357,
636 0, 360, 21, 361, 357, 0, 367, 0, 22, 308,
637 298, 0, 367, 22, 308, 298, 0, 357, 70, 19,
638 364, 20, 308, 0, 0, 357, 70, 464, 19, 363,
639 364, 20, 308, 0, 357, 70, 464, 308, 0, 365,
640 0, 364, 21, 365, 0, 364, 21, 0, 464, 0,
641 464, 23, 308, 298, 0, 204, 0, 381, 0, 371,
642 194, 0, 371, 366, 0, 204, 0, 371, 204, 0,
643 374, 0, 357, 372, 0, 111, 0, 112, 0, 113,
644 0, 369, 0, 370, 369, 0, 34, 0, 34, 370,
645 0, 34, 371, 0, 34, 370, 371, 0, 373, 0,
646 373, 21, 5, 0, 464, 0, 373, 21, 464, 0,
647 5, 0, 375, 0, 375, 21, 5, 0, 0, 376,
648 378, 0, 0, 375, 21, 377, 378, 0, 308, 343,
649 366, 308, 0, 464, 0, 342, 0, 342, 380, 0,
650 371, 0, 382, 0, 371, 382, 0, 0, 382, 0,
651 308, 24, 357, 380, 25, 0, 26, 27, 0, 26,
652 298, 27, 0, 382, 26, 27, 0, 382, 26, 298,
653 27, 0, 308, 24, 25, 0, 308, 24, 374, 25,
654 0, 382, 308, 24, 25, 0, 382, 308, 24, 374,
655 25, 0, 400, 0, 402, 0, 405, 0, 408, 0,
656 423, 0, 426, 0, 458, 0, 431, 0, 460, 0,
657 386, 0, 384, 0, 393, 0, 386, 393, 0, 430,
658 386, 0, 457, 399, 11, 24, 296, 25, 18, 0,
659 457, 399, 11, 24, 296, 25, 0, 388, 393, 0,
660 0, 0, 13, 24, 297, 18, 297, 18, 389, 297,
661 390, 25, 0, 0, 192, 410, 24, 392, 434, 25,
662 0, 193, 0, 400, 0, 402, 0, 405, 0, 396,
663 419, 0, 396, 0, 397, 0, 423, 0, 394, 0,
664 387, 0, 391, 0, 460, 0, 24, 393, 25, 0,
665 1, 0, 0, 425, 395, 393, 0, 410, 19, 0,
666 414, 20, 0, 399, 0, 418, 0, 400, 0, 402,
667 0, 405, 0, 409, 0, 424, 0, 426, 0, 431,
668 0, 459, 0, 24, 399, 25, 0, 460, 0, 1,
669 0, 464, 22, 0, 110, 383, 0, 0, 101, 401,
670 0, 0, 6, 298, 403, 22, 0, 0, 101, 401,
671 6, 298, 404, 22, 0, 0, 7, 406, 22, 0,
672 0, 101, 401, 7, 407, 22, 0, 24, 408, 25,
673 0, 410, 416, 0, 410, 417, 411, 0, 0, 0,
674 0, 0, 0, 20, 0, 110, 20, 0, 422, 20,
675 0, 422, 110, 20, 0, 419, 20, 0, 419, 110,
676 20, 0, 419, 422, 20, 0, 419, 422, 110, 20,
677 0, 19, 415, 0, 19, 20, 0, 19, 418, 20,
678 0, 19, 419, 20, 0, 19, 419, 422, 20, 0,
679 399, 0, 418, 399, 0, 299, 0, 419, 299, 0,
680 421, 0, 420, 21, 421, 0, 295, 0, 19, 420,
681 462, 20, 0, 383, 0, 422, 383, 0, 18, 0,
682 296, 18, 0, 18, 0, 296, 18, 0, 296, 0,
683 8, 24, 296, 25, 0, 425, 383, 0, 0, 425,
684 383, 9, 427, 383, 0, 0, 10, 24, 296, 428,
685 25, 383, 0, 11, 24, 296, 25, 0, 11, 24,
686 296, 25, 0, 0, 0, 192, 432, 410, 24, 433,
687 434, 25, 408, 456, 411, 0, 436, 0, 0, 434,
688 435, 21, 436, 0, 455, 0, 463, 0, 189, 0,
689 188, 0, 191, 0, 437, 191, 0, 437, 0, 24,
690 296, 25, 0, 438, 0, 269, 26, 296, 27, 0,
691 269, 24, 25, 0, 269, 24, 270, 25, 0, 71,
692 24, 295, 21, 379, 25, 0, 269, 357, 28, 464,
693 308, 0, 269, 357, 45, 464, 308, 0, 269, 48,
694 0, 269, 49, 0, 439, 0, 48, 271, 0, 49,
695 271, 0, 29, 279, 0, 34, 279, 0, 33, 279,
696 0, 32, 279, 0, 31, 279, 0, 30, 279, 0,
697 274, 0, 440, 0, 24, 379, 25, 279, 0, 441,
698 0, 280, 34, 279, 0, 280, 35, 279, 0, 280,
699 36, 279, 0, 442, 0, 281, 33, 280, 0, 281,
700 32, 280, 0, 443, 0, 282, 50, 281, 0, 282,
701 51, 281, 0, 444, 0, 283, 37, 282, 0, 283,
702 38, 282, 0, 283, 52, 282, 0, 283, 53, 282,
703 0, 445, 0, 284, 54, 283, 0, 284, 55, 283,
704 0, 446, 0, 285, 29, 284, 0, 447, 0, 286,
705 39, 285, 0, 448, 0, 287, 40, 286, 0, 449,
706 0, 288, 56, 287, 0, 450, 0, 290, 57, 288,
707 0, 451, 0, 0, 0, 290, 41, 453, 296, 22,
708 454, 292, 0, 452, 0, 271, 23, 295, 0, 271,
709 58, 295, 0, 271, 59, 295, 0, 271, 60, 295,
710 0, 271, 61, 295, 0, 271, 62, 295, 0, 271,
711 63, 295, 0, 271, 64, 295, 0, 271, 65, 295,
712 0, 271, 66, 295, 0, 271, 67, 295, 0, 193,
713 0, 0, 12, 0, 429, 383, 0, 457, 383, 11,
714 24, 296, 25, 18, 0, 388, 383, 0, 429, 399,
715 0, 457, 399, 11, 24, 296, 25, 18, 0, 457,
716 399, 11, 24, 296, 25, 0, 388, 399, 0, 14,
717 464, 18, 0, 15, 18, 0, 100, 15, 18, 0,
718 16, 18, 0, 96, 16, 18, 0, 97, 16, 18,
719 0, 98, 16, 18, 0, 99, 16, 18, 0, 17,
720 18, 0, 17, 296, 18, 0, 0, 18, 0, 0,
721 21, 0, 187, 0, 188, 0, 192, 0, 193, 0,
722 463, 0, 189, 0, 194, 0, 189, 0, 44, 24,
723 296, 25, 0, 44, 24, 379, 25, 0
729 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
730 static const short yyrline[] =
732 0, 325, 326, 330, 331, 335, 336, 337, 338, 339,
733 340, 341, 342, 346, 348, 353, 353, 362, 368, 373,
734 374, 379, 380, 382, 384, 401, 401, 432, 432, 462,
735 463, 465, 469, 486, 486, 498, 498, 512, 512, 512,
736 521, 522, 523, 524, 528, 532, 537, 537, 542, 542,
737 550, 551, 555, 561, 562, 566, 567, 571, 577, 578,
738 582, 583, 584, 588, 589, 590, 596, 597, 601, 603,
739 605, 607, 616, 618, 620, 622, 639, 643, 644, 651,
740 652, 661, 663, 668, 669, 670, 671, 672, 673, 677,
741 678, 679, 680, 681, 682, 686, 690, 690, 699, 703,
742 707, 707, 722, 724, 729, 733, 734, 738, 742, 748,
743 753, 754, 758, 762, 763, 767, 768, 769, 773, 774,
744 775, 776, 777, 781, 782, 783, 784, 785, 789, 790,
745 794, 801, 806, 806, 812, 812, 812, 823, 834, 835,
746 839, 840, 841, 842, 843, 844, 845, 846, 847, 851,
747 852, 857, 858, 862, 864, 866, 867, 868, 869, 870,
748 872, 877, 878, 882, 888, 901, 902, 903, 904, 905,
749 906, 907, 907, 913, 914, 915, 916, 917, 918, 919,
750 920, 921, 922, 927, 928, 932, 933, 934, 935, 936,
751 937, 938, 939, 940, 941, 942, 946, 947, 949, 953,
752 959, 959, 963, 966, 970, 971, 972, 973, 979, 980,
753 985, 986, 987, 988, 992, 993, 994, 998, 999, 1000,
754 1004, 1005, 1006, 1007, 1008, 1012, 1013, 1014, 1018, 1019,
755 1023, 1024, 1028, 1029, 1033, 1034, 1034, 1046, 1047, 1047,
756 1060, 1061, 1061, 1061, 1067, 1068, 1069, 1070, 1071, 1072,
757 1073, 1074, 1075, 1076, 1077, 1078, 1082, 1083, 1087, 1088,
758 1092, 1098, 1099, 1100, 1104, 1118, 1118, 1129, 1129, 1138,
759 1139, 1143, 1148, 1148, 1153, 1153, 1156, 1157, 1161, 1165,
760 1169, 1173, 1174, 1178, 1182, 1183, 1187, 1188, 1192, 1193,
761 1194, 1195, 1203, 1204, 1209, 1210, 1214, 1215, 1219, 1221,
762 1231, 1232, 1233, 1234, 1235, 1239, 1243, 1243, 1259, 1263,
763 1267, 1267, 1281, 1281, 1313, 1314, 1318, 1319, 1320, 1321,
764 1322, 1326, 1327, 1328, 1329, 1333, 1334, 1335, 1336, 1337,
765 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347,
766 1348, 1349, 1353, 1354, 1358, 1359, 1363, 1364, 1368, 1369,
767 1370, 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1381, 1385,
768 1386, 1387, 1388, 1392, 1393, 1394, 1395, 1399, 1400, 1401,
769 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1418,
770 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428,
771 1429, 1430, 1431, 1435, 1440, 1441, 1446, 1447, 1452, 1453,
772 1454, 1458, 1459, 1463, 1470, 1470, 1470, 1476, 1476, 1476,
773 1481, 1483, 1485, 1485, 1485, 1490, 1490, 1490, 1495, 1497,
774 1499, 1500, 1504, 1508, 1509, 1510, 1514, 1516, 1521, 1523,
775 1528, 1529, 1530, 1535, 1537, 1537, 1539, 1543, 1545, 1547,
776 1551, 1556, 1564, 1565, 1566, 1572, 1577, 1578, 1583, 1584,
777 1588, 1589, 1590, 1594, 1595, 1599, 1600, 1601, 1602, 1606,
778 1607, 1611, 1612, 1616, 1617, 1618, 1622, 1622, 1623, 1623,
779 1628, 1640, 1657, 1658, 1662, 1663, 1664, 1668, 1669, 1673,
780 1675, 1676, 1678, 1679, 1681, 1683, 1685, 1687, 1694, 1695,
781 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1707, 1711, 1715,
782 1716, 1721, 1723, 1725, 1727, 1732, 1732, 1732, 1740, 1740,
783 1744, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756,
784 1757, 1758, 1759, 1760, 1764, 1764, 1771, 1775, 1779, 1780,
785 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793,
786 1794, 1798, 1799, 1807, 1808, 1815, 1815, 1817, 1817, 1822,
787 1822, 1824, 1824, 1829, 1830, 1835, 1839, 1843, 1847, 1851,
788 1855, 1859, 1860, 1861, 1862, 1864, 1865, 1867, 1869, 1876,
789 1881, 1883, 1885, 1887, 1892, 1893, 1897, 1898, 1902, 1903,
790 1907, 1908, 1912, 1913, 1917, 1918, 1922, 1923, 1924, 1928,
791 1942, 1947, 1947, 1952, 1952, 1957, 1963, 1967, 1967, 1967,
792 1978, 1979, 1979, 1984, 1985, 1986, 1997, 2005, 2006, 2010,
793 2011, 2015, 2016, 2017, 2018, 2019, 2021, 2022, 2023, 2024,
794 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037,
795 2041, 2042, 2046, 2047, 2048, 2049, 2053, 2054, 2055, 2059,
796 2060, 2061, 2065, 2066, 2067, 2068, 2069, 2073, 2074, 2075,
797 2079, 2080, 2084, 2085, 2089, 2090, 2094, 2095, 2099, 2100,
798 2104, 2105, 2105, 2105, 2111, 2112, 2113, 2114, 2115, 2116,
799 2117, 2118, 2119, 2120, 2121, 2122, 2126, 2127, 2131, 2135,
800 2137, 2139, 2144, 2145, 2147, 2149, 2153, 2154, 2155, 2157,
801 2158, 2159, 2160, 2161, 2162, 2163, 2167, 2168, 2172, 2173,
802 2177, 2181, 2182, 2183, 2184, 2185, 2189, 2190, 2191, 2192
807 #if (YYDEBUG) || defined YYERROR_VERBOSE
809 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
810 static const char *const yytname[] =
812 "$", "error", "$undefined.", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS", "CASE",
813 "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR", "GOTO",
814 "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE", "TCOMMA",
815 "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR", "TDOT",
816 "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT", "TDIV",
817 "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
818 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
819 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
820 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
821 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
822 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
823 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
824 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
825 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT",
826 "QUNDEF", "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER",
827 "LLMACROEND", "TENDMACRO", "QSWITCHBREAK", "QLOOPBREAK", "QINNERBREAK",
828 "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH", "QLINTNOTREACHED",
829 "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED", "QPRINTFLIKE",
830 "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE", "QNOTREACHED",
831 "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE", "QEXTENSION", "QEXTERN",
832 "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN", "QYIELD", "QONLY",
833 "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED", "QUNCHECKED",
834 "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT", "QPARTIAL", "QSPECIAL",
835 "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED", "QNULL", "QOBSERVER",
836 "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT", "QTRUEEXIT",
837 "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT", "QUNUSED",
838 "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QNUMABSTRACT",
839 "QCONCRETE", "QMUTABLE", "QIMMUTABLE", "QTRUENULL", "QFALSENULL",
840 "QEXTERNAL", "QREFCOUNTED", "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF",
841 "QRELDEF", "CGCHAR", "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID",
842 "QANYTYPE", "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE",
843 "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", "QSETBUFFERSIZE",
844 "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", "QTESTINRANGE", "TCAND",
845 "IDENTIFIER", "NEW_IDENTIFIER", "TYPE_NAME_OR_ID", "CANNOTATION",
846 "CCONSTANT", "ITER_NAME", "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME",
847 "file", "externalDefs", "externalDef", "constantDecl", "fcnDecl", "@1",
848 "plainFcn", "plainNamedDecl", "namedDeclBase", "@2", "@3",
849 "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7", "macroDef",
850 "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier", "@8", "@9",
851 "metaStateExpression", "metaStateName", "constraintSeperator",
852 "BufConstraintList", "BufConstraint", "bufferModifier", "relationalOp",
853 "BufConstraintExpr", "BufConstraintTerm", "BufConstraintSrefExpr",
854 "BufUnaryOp", "BufBinaryOp", "functionClauses", "functionClausesPlain",
855 "functionClause", "functionClausePlain", "globalsClause",
856 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
857 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
858 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
859 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
860 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
861 "modListExpr", "mExpr", "modList", "specClauseListExpr",
862 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
863 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
864 "offsetofExpr", "sizeofExpr", "@16", "processSizeof",
865 "endprocessSizeof", "sizeofExprAux", "castExpr", "timesExpr",
866 "plusExpr", "shiftExpr", "relationalExpr", "equalityExpr", "bitandExpr",
867 "xorExpr", "bitorExpr", "andExpr", "@17", "orExpr", "@18",
868 "conditionalExpr", "@19", "@20", "assignExpr", "expr", "optExpr",
869 "constantExpr", "initializer", "instanceDecl", "@21", "@22",
870 "namedInitializerType", "namedInitializer", "@23", "typeDecl", "@24",
871 "IsType", "PushType", "namedInitializerList", "namedInitializerListAux",
872 "namedInitializerTypeList", "namedInitializerTypeListAux",
873 "optDeclarators", "init", "designation", "designatorList", "designator",
874 "initList", "storageSpecifier", "stateClause", "stateClausePlain",
875 "@25", "conditionClause", "startConditionClause",
876 "conditionClausePlain", "@26", "@27", "functionConstraint",
877 "exitsQualifier", "checkQualifier", "stateQualifier", "paramQualifier",
878 "visibilityQualifier", "returnQualifier", "typedefQualifier",
879 "refcountQualifier", "typeModifier", "definedQualifier",
880 "typeQualifier", "typeSpecifier", "completeType",
881 "completeTypeSpecifier", "altType", "completeTypeSpecifierAux",
882 "optCompleteType", "optStructInvariant", "suSpc", "@28", "@29", "@30",
883 "@31", "@32", "@33", "@34", "@35", "NotType", "structDeclList",
884 "structDecl", "structNamedDeclList", "structNamedDecl", "enumSpc",
885 "@36", "enumeratorList", "enumerator", "optNamedDecl", "namedDecl",
886 "genericParamList", "innerMods", "innerModsList", "pointers",
887 "paramIdList", "idList", "paramTypeList", "paramList", "@37", "@38",
888 "paramDecl", "typeExpression", "abstractDecl", "optAbstractDeclBase",
889 "abstractDeclBase", "stmt", "iterBody", "endBody", "iterDefStmtList",
890 "iterDefIterationStmt", "forPred", "@39", "@40", "partialIterStmt",
891 "@41", "iterDefStmt", "iterSelectionStmt", "@42", "openScope",
892 "closeScope", "macroBody", "stmtErr", "labeledStmt",
893 "optExtraFallThroughs", "caseStmt", "@43", "@44", "defaultStmt", "@45",
894 "@46", "compoundStmt", "compoundStmtErr", "CreateInnerScope",
895 "DeleteInnerScope", "CreateStructInnerScope", "DeleteStructInnerScope",
896 "DeleteInnerScopeSafe", "compoundStmtRest", "compoundStmtAux",
897 "compoundStmtAuxErr", "stmtListErr", "initializerList",
898 "typeInitializerList", "typeInitializer", "stmtList", "expressionStmt",
899 "expressionStmtErr", "ifPred", "selectionStmt", "@47", "@48",
900 "whilePred", "iterWhilePred", "iterStmt", "@49", "@50", "iterArgList",
901 "@51", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
902 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
903 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
904 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
905 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@52", "@53",
906 "assignIterExpr", "endIter", "doHeader", "iterationStmt",
907 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
912 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
913 static const short yyr1[] =
915 0, 196, 196, 197, 197, 198, 198, 198, 198, 198,
916 198, 198, 198, 199, 199, 201, 200, 202, 202, 203,
917 203, 204, 204, 204, 204, 205, 204, 206, 204, 207,
918 207, 207, 207, 208, 207, 209, 207, 211, 212, 210,
919 213, 213, 213, 213, 214, 215, 217, 216, 218, 216,
920 219, 219, 220, 221, 221, 222, 222, 223, 224, 224,
921 225, 225, 225, 226, 226, 226, 227, 227, 228, 228,
922 228, 228, 228, 228, 228, 228, 229, 230, 230, 231,
923 231, 232, 232, 233, 233, 233, 233, 233, 233, 234,
924 234, 234, 234, 234, 234, 235, 237, 236, 238, 239,
925 241, 240, 242, 242, 243, 244, 244, 245, 246, 246,
926 247, 247, 248, 249, 249, 250, 250, 250, 251, 251,
927 251, 251, 251, 252, 252, 252, 252, 252, 253, 253,
928 254, 254, 256, 255, 257, 258, 255, 259, 260, 260,
929 261, 261, 261, 261, 261, 261, 261, 261, 261, 262,
930 262, 263, 263, 264, 264, 264, 264, 264, 264, 264,
931 264, 265, 265, 266, 266, 267, 267, 267, 267, 267,
932 267, 268, 267, 269, 269, 269, 269, 269, 269, 269,
933 269, 269, 269, 270, 270, 271, 271, 271, 271, 271,
934 271, 271, 271, 271, 271, 271, 272, 272, 272, 273,
935 275, 274, 276, 277, 278, 278, 278, 278, 279, 279,
936 280, 280, 280, 280, 281, 281, 281, 282, 282, 282,
937 283, 283, 283, 283, 283, 284, 284, 284, 285, 285,
938 286, 286, 287, 287, 288, 289, 288, 290, 291, 290,
939 292, 293, 294, 292, 295, 295, 295, 295, 295, 295,
940 295, 295, 295, 295, 295, 295, 296, 296, 297, 297,
941 298, 299, 299, 299, 300, 301, 300, 302, 300, 303,
942 303, 304, 305, 304, 307, 306, 306, 306, 308, 309,
943 310, 311, 311, 312, 313, 313, 314, 314, 315, 315,
944 315, 315, 316, 316, 317, 317, 318, 318, 319, 319,
945 320, 320, 320, 320, 320, 321, 323, 322, 324, 325,
946 327, 326, 328, 326, 329, 329, 330, 330, 330, 330,
947 330, 331, 331, 331, 331, 332, 332, 332, 332, 332,
948 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
949 332, 332, 333, 333, 334, 334, 335, 335, 336, 336,
950 336, 336, 336, 337, 337, 337, 337, 337, 337, 338,
951 338, 338, 338, 339, 339, 339, 339, 340, 340, 340,
952 340, 340, 340, 340, 340, 340, 340, 340, 340, 341,
953 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
954 341, 341, 341, 342, 343, 343, 344, 344, 345, 345,
955 345, 346, 346, 347, 349, 350, 348, 351, 352, 348,
956 348, 348, 353, 354, 348, 355, 356, 348, 348, 348,
957 348, 348, 357, 358, 358, 358, 359, 359, 360, 360,
958 361, 361, 361, 362, 363, 362, 362, 364, 364, 364,
959 365, 365, 366, 366, 366, 366, 367, 367, 368, 368,
960 369, 369, 369, 370, 370, 371, 371, 371, 371, 372,
961 372, 373, 373, 374, 374, 374, 376, 375, 377, 375,
962 378, 378, 379, 379, 380, 380, 380, 381, 381, 382,
963 382, 382, 382, 382, 382, 382, 382, 382, 383, 383,
964 383, 383, 383, 383, 383, 383, 383, 384, 385, 386,
965 386, 387, 387, 387, 387, 389, 390, 388, 392, 391,
966 391, 393, 393, 393, 393, 393, 393, 393, 393, 393,
967 393, 393, 393, 393, 395, 394, 396, 397, 398, 398,
968 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
969 399, 400, 400, 401, 401, 403, 402, 404, 402, 406,
970 405, 407, 405, 408, 408, 409, 410, 411, 412, 413,
971 414, 415, 415, 415, 415, 415, 415, 415, 415, 416,
972 417, 417, 417, 417, 418, 418, 419, 419, 420, 420,
973 421, 421, 422, 422, 423, 423, 424, 424, 424, 425,
974 426, 427, 426, 428, 426, 429, 430, 432, 433, 431,
975 434, 435, 434, 436, 436, 436, 436, 437, 437, 438,
976 438, 439, 439, 439, 439, 439, 439, 439, 439, 439,
977 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
978 441, 441, 442, 442, 442, 442, 443, 443, 443, 444,
979 444, 444, 445, 445, 445, 445, 445, 446, 446, 446,
980 447, 447, 448, 448, 449, 449, 450, 450, 451, 451,
981 452, 453, 454, 452, 455, 455, 455, 455, 455, 455,
982 455, 455, 455, 455, 455, 455, 456, 456, 457, 458,
983 458, 458, 459, 459, 459, 459, 460, 460, 460, 460,
984 460, 460, 460, 460, 460, 460, 461, 461, 462, 462,
985 463, 464, 464, 464, 464, 464, 465, 465, 465, 465
988 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
989 static const short yyr2[] =
991 0, 0, 1, 1, 2, 2, 1, 1, 1, 1,
992 1, 1, 1, 8, 11, 0, 5, 1, 3, 1,
993 2, 1, 6, 3, 6, 0, 6, 0, 7, 1,
994 6, 3, 6, 0, 6, 0, 7, 0, 0, 10,
995 3, 3, 3, 2, 1, 3, 0, 4, 0, 4,
996 1, 3, 1, 1, 1, 3, 1, 3, 1, 1,
997 1, 1, 1, 1, 4, 5, 1, 1, 1, 1,
998 3, 4, 2, 3, 3, 3, 1, 1, 1, 0,
999 2, 0, 2, 1, 1, 1, 1, 1, 1, 1,
1000 1, 1, 1, 1, 1, 2, 0, 4, 1, 2,
1001 0, 3, 1, 3, 1, 1, 0, 2, 3, 2,
1002 1, 3, 2, 0, 2, 1, 1, 1, 1, 1,
1003 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1004 1, 3, 0, 3, 0, 0, 4, 2, 2, 1,
1005 1, 1, 1, 3, 4, 2, 3, 3, 3, 1,
1006 1, 1, 3, 1, 1, 3, 4, 2, 3, 3,
1007 3, 0, 1, 1, 3, 1, 1, 1, 3, 1,
1008 1, 0, 4, 1, 4, 3, 4, 6, 5, 5,
1009 2, 2, 7, 1, 3, 1, 2, 2, 2, 2,
1010 2, 2, 2, 2, 3, 1, 3, 4, 1, 9,
1011 0, 3, 0, 0, 4, 2, 4, 2, 1, 4,
1012 1, 3, 3, 3, 1, 3, 3, 1, 3, 3,
1013 1, 3, 3, 3, 3, 1, 3, 3, 1, 3,
1014 1, 3, 1, 3, 1, 0, 4, 1, 0, 4,
1015 1, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1016 3, 3, 3, 3, 3, 3, 1, 3, 0, 1,
1017 1, 1, 1, 1, 3, 0, 9, 0, 11, 1,
1018 1, 2, 0, 6, 0, 8, 4, 4, 0, 0,
1019 2, 1, 4, 2, 1, 4, 0, 4, 1, 3,
1020 4, 2, 2, 2, 1, 2, 3, 2, 1, 3,
1021 1, 1, 1, 1, 1, 2, 0, 6, 2, 2,
1022 0, 6, 0, 5, 1, 1, 1, 1, 1, 1,
1023 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1024 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1025 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1026 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1027 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
1028 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1029 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1030 2, 2, 2, 3, 1, 4, 1, 3, 2, 2,
1031 2, 0, 1, 0, 0, 0, 12, 0, 0, 11,
1032 6, 6, 0, 0, 10, 0, 0, 10, 5, 5,
1033 4, 4, 0, 1, 1, 2, 5, 3, 2, 4,
1034 1, 3, 4, 6, 0, 8, 4, 1, 3, 2,
1035 1, 4, 1, 1, 2, 2, 1, 2, 1, 2,
1036 1, 1, 1, 1, 2, 1, 2, 2, 3, 1,
1037 3, 1, 3, 1, 1, 3, 0, 2, 0, 4,
1038 4, 1, 1, 2, 1, 1, 2, 0, 1, 5,
1039 2, 3, 3, 4, 3, 4, 4, 5, 1, 1,
1040 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1041 2, 2, 7, 6, 2, 0, 0, 10, 0, 6,
1042 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
1043 1, 1, 3, 1, 0, 3, 2, 2, 1, 1,
1044 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1045 1, 2, 2, 0, 2, 0, 4, 0, 6, 0,
1046 3, 0, 5, 3, 2, 3, 0, 0, 0, 0,
1047 0, 1, 2, 2, 3, 2, 3, 3, 4, 2,
1048 2, 3, 3, 4, 1, 2, 1, 2, 1, 3,
1049 1, 4, 1, 2, 1, 2, 1, 2, 1, 4,
1050 2, 0, 5, 0, 6, 4, 4, 0, 0, 10,
1051 1, 0, 4, 1, 1, 1, 1, 1, 2, 1,
1052 3, 1, 4, 3, 4, 6, 5, 5, 2, 2,
1053 1, 2, 2, 2, 2, 2, 2, 2, 2, 1,
1054 1, 4, 1, 3, 3, 3, 1, 3, 3, 1,
1055 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
1056 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
1057 1, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1058 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
1059 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
1060 3, 3, 3, 3, 2, 3, 0, 1, 0, 1,
1061 1, 1, 1, 1, 1, 1, 1, 1, 4, 4
1064 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
1065 doesn't specify something else to do. Zero means the default is an
1067 static const short yydefact[] =
1069 0, 12, 11, 455, 0, 422, 262, 422, 15, 0,
1070 0, 0, 0, 278, 278, 278, 301, 300, 302, 303,
1071 304, 363, 364, 327, 329, 328, 332, 333, 321, 323,
1072 324, 322, 330, 331, 365, 366, 325, 326, 342, 338,
1073 334, 339, 335, 316, 317, 320, 318, 319, 360, 361,
1074 362, 359, 344, 343, 337, 336, 348, 349, 350, 351,
1075 352, 346, 347, 345, 353, 354, 357, 358, 355, 356,
1076 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1077 340, 700, 701, 705, 341, 702, 703, 706, 0, 3,
1078 6, 7, 446, 8, 9, 134, 44, 696, 10, 261,
1079 263, 0, 401, 278, 278, 278, 278, 278, 278, 278,
1080 278, 422, 278, 401, 401, 422, 394, 422, 0, 422,
1081 130, 278, 704, 21, 422, 450, 451, 452, 453, 456,
1082 457, 278, 281, 278, 278, 274, 422, 707, 422, 422,
1083 705, 0, 540, 202, 549, 0, 0, 0, 678, 0,
1084 0, 0, 0, 202, 586, 0, 202, 202, 202, 202,
1085 202, 202, 278, 202, 202, 0, 43, 0, 0, 0,
1086 0, 0, 543, 202, 170, 166, 169, 607, 597, 173,
1087 185, 208, 195, 278, 210, 214, 217, 220, 225, 228,
1088 230, 232, 234, 237, 240, 244, 256, 588, 0, 0,
1089 574, 530, 531, 532, 533, 0, 0, 534, 202, 535,
1090 0, 536, 167, 0, 537, 539, 165, 0, 523, 0,
1091 584, 0, 556, 510, 0, 0, 0, 519, 0, 520,
1092 499, 518, 515, 516, 511, 512, 513, 0, 0, 517,
1093 524, 0, 0, 521, 498, 0, 367, 369, 368, 379,
1094 381, 380, 382, 383, 384, 385, 386, 387, 388, 4,
1095 278, 0, 132, 137, 422, 697, 5, 422, 402, 398,
1096 372, 374, 371, 373, 376, 375, 377, 378, 392, 370,
1097 399, 400, 0, 278, 278, 390, 278, 278, 0, 391,
1098 447, 389, 454, 458, 278, 166, 169, 0, 422, 472,
1099 0, 165, 422, 0, 280, 422, 0, 271, 278, 696,
1100 17, 19, 0, 422, 278, 29, 466, 208, 260, 545,
1101 0, 202, 202, 202, 202, 0, 687, 689, 694, 0,
1102 556, 0, 0, 0, 188, 193, 192, 191, 190, 189,
1103 0, 278, 186, 187, 202, 0, 0, 0, 0, 0,
1104 543, 0, 278, 542, 202, 488, 489, 490, 491, 0,
1105 492, 493, 202, 495, 202, 494, 496, 556, 202, 202,
1106 180, 181, 0, 202, 202, 202, 202, 202, 202, 202,
1107 202, 202, 202, 202, 203, 200, 202, 202, 202, 202,
1108 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1109 202, 202, 235, 241, 238, 587, 202, 685, 40, 0,
1110 557, 575, 590, 682, 608, 0, 541, 202, 0, 0,
1111 0, 585, 41, 500, 504, 576, 422, 514, 526, 527,
1112 0, 0, 0, 42, 23, 202, 466, 422, 422, 278,
1113 264, 131, 0, 396, 0, 422, 0, 422, 0, 278,
1114 0, 708, 278, 202, 0, 474, 473, 475, 709, 278,
1115 277, 278, 276, 272, 422, 0, 278, 0, 422, 278,
1116 20, 463, 0, 0, 448, 464, 278, 0, 550, 0,
1117 593, 0, 259, 0, 686, 695, 556, 0, 168, 202,
1118 538, 278, 0, 0, 690, 691, 692, 693, 688, 544,
1119 202, 551, 0, 681, 422, 554, 679, 0, 0, 175,
1120 0, 183, 0, 0, 0, 245, 246, 247, 248, 249,
1121 250, 251, 252, 253, 254, 255, 194, 0, 211, 212,
1122 213, 216, 215, 218, 219, 221, 222, 223, 224, 226,
1123 227, 229, 231, 233, 202, 202, 202, 257, 570, 707,
1124 574, 0, 422, 555, 591, 0, 0, 522, 508, 278,
1125 577, 525, 0, 0, 25, 0, 561, 202, 582, 133,
1126 422, 202, 556, 278, 265, 395, 278, 412, 0, 420,
1127 415, 0, 421, 0, 437, 440, 434, 436, 393, 480,
1128 0, 466, 476, 202, 0, 282, 270, 284, 269, 278,
1129 278, 278, 696, 16, 31, 202, 466, 278, 18, 449,
1130 459, 461, 37, 468, 422, 467, 471, 546, 589, 0,
1131 595, 202, 172, 202, 209, 422, 0, 278, 547, 0,
1132 553, 569, 0, 598, 202, 176, 174, 278, 278, 202,
1133 202, 201, 236, 0, 239, 571, 572, 202, 202, 202,
1134 596, 202, 422, 202, 422, 79, 27, 562, 565, 202,
1135 202, 563, 202, 583, 136, 0, 267, 278, 397, 418,
1136 558, 404, 419, 558, 407, 278, 439, 278, 0, 481,
1137 484, 278, 0, 482, 0, 466, 422, 106, 283, 202,
1138 278, 278, 0, 33, 0, 278, 0, 81, 465, 278,
1139 477, 202, 0, 202, 580, 698, 578, 0, 0, 0,
1140 552, 202, 202, 184, 178, 179, 278, 205, 278, 207,
1141 242, 573, 592, 0, 278, 202, 202, 202, 202, 202,
1142 202, 202, 202, 0, 166, 169, 185, 208, 629, 214,
1143 217, 220, 225, 228, 230, 232, 234, 237, 0, 601,
1144 600, 167, 611, 620, 630, 632, 636, 639, 642, 647,
1145 650, 652, 654, 656, 658, 660, 664, 603, 165, 0,
1146 24, 0, 96, 100, 98, 123, 124, 125, 126, 127,
1147 128, 129, 26, 79, 83, 0, 85, 84, 0, 88,
1148 0, 422, 422, 86, 0, 87, 312, 0, 79, 566,
1149 567, 202, 564, 22, 278, 286, 422, 410, 558, 422,
1150 411, 558, 433, 438, 202, 0, 0, 485, 483, 486,
1151 0, 278, 0, 105, 202, 202, 0, 288, 273, 202,
1152 0, 294, 0, 202, 0, 422, 81, 35, 0, 460,
1153 462, 38, 81, 89, 91, 90, 94, 92, 93, 469,
1154 442, 0, 278, 477, 443, 478, 594, 505, 698, 202,
1155 0, 0, 177, 548, 0, 601, 0, 0, 202, 684,
1156 0, 0, 188, 193, 192, 191, 190, 189, 186, 187,
1157 202, 202, 202, 180, 181, 0, 202, 202, 202, 202,
1158 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1159 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1160 202, 202, 202, 202, 661, 202, 509, 0, 503, 104,
1161 109, 102, 113, 696, 80, 95, 99, 107, 306, 309,
1162 305, 0, 310, 308, 28, 568, 202, 0, 424, 422,
1163 422, 423, 422, 422, 422, 441, 278, 479, 487, 285,
1164 275, 298, 0, 0, 297, 291, 292, 295, 293, 286,
1165 13, 32, 34, 81, 30, 696, 82, 466, 470, 444,
1166 445, 202, 0, 579, 182, 0, 198, 0, 556, 204,
1167 206, 243, 683, 168, 202, 0, 175, 0, 0, 0,
1168 0, 665, 666, 667, 668, 669, 670, 671, 672, 673,
1169 674, 675, 211, 212, 213, 216, 215, 218, 219, 221,
1170 222, 223, 224, 226, 227, 229, 231, 233, 657, 202,
1171 659, 202, 502, 108, 0, 118, 119, 120, 121, 122,
1172 696, 110, 422, 113, 0, 0, 141, 142, 101, 151,
1173 696, 139, 140, 0, 48, 0, 0, 58, 59, 69,
1174 67, 315, 0, 314, 56, 76, 0, 63, 66, 0,
1175 696, 68, 161, 286, 278, 422, 0, 278, 425, 413,
1176 422, 416, 422, 435, 289, 202, 296, 696, 36, 0,
1177 278, 506, 581, 278, 202, 0, 680, 677, 209, 278,
1178 176, 174, 278, 278, 0, 602, 103, 113, 97, 116,
1179 112, 117, 115, 114, 0, 145, 0, 0, 0, 0,
1180 138, 0, 0, 154, 163, 696, 153, 0, 0, 66,
1181 0, 72, 0, 54, 53, 0, 61, 60, 62, 0,
1182 0, 0, 0, 0, 0, 278, 696, 162, 0, 266,
1183 278, 427, 278, 278, 422, 430, 0, 405, 0, 408,
1184 290, 299, 0, 39, 278, 0, 199, 0, 196, 676,
1185 557, 0, 178, 179, 662, 111, 146, 143, 149, 0,
1186 150, 147, 148, 152, 0, 157, 0, 0, 0, 0,
1187 278, 0, 78, 77, 0, 73, 0, 50, 45, 46,
1188 55, 66, 57, 70, 0, 74, 75, 0, 0, 313,
1189 278, 278, 287, 202, 278, 0, 428, 278, 414, 0,
1190 417, 0, 14, 507, 197, 599, 177, 202, 144, 158,
1191 155, 0, 159, 160, 164, 307, 52, 49, 0, 0,
1192 71, 47, 64, 311, 268, 431, 422, 426, 202, 403,
1193 409, 663, 156, 65, 51, 429, 432, 406, 0, 0,
1197 static const short yydefgoto[] =
1199 1248, 88, 89, 90, 91, 139, 309, 310, 92, 655,
1200 798, 311, 836, 963, 93, 697, 965, 938, 95, 1051,
1201 1187, 1133, 1117, 1188, 1227, 1125, 1053, 1054, 1055, 1129,
1202 1056, 1057, 1191, 1059, 1184, 782, 841, 783, 842, 784,
1203 843, 922, 844, 787, 845, 923, 920, 921, 822, 789,
1204 790, 1030, 1031, 1032, 1100, 1033, 791, 792, 96, 263,
1205 437, 264, 572, 97, 1038, 1168, 1169, 1040, 1114, 1136,
1206 1115, 179, 330, 180, 510, 181, 975, 182, 738, 527,
1207 183, 526, 641, 184, 185, 186, 187, 188, 189, 190,
1208 191, 192, 193, 544, 194, 546, 195, 545, 868, 196,
1209 224, 483, 319, 425, 99, 667, 804, 597, 598, 601,
1210 100, 305, 101, 261, 133, 134, 599, 600, 937, 828,
1211 829, 830, 831, 952, 102, 793, 847, 1043, 795, 796,
1212 848, 1062, 931, 1060, 103, 104, 105, 106, 107, 108,
1213 109, 110, 111, 112, 113, 114, 299, 426, 442, 116,
1214 269, 1247, 117, 808, 1209, 811, 1211, 670, 1146, 673,
1215 1148, 118, 940, 941, 1143, 1144, 119, 678, 583, 584,
1216 852, 136, 473, 128, 129, 121, 609, 610, 474, 475,
1217 476, 699, 615, 332, 816, 854, 457, 353, 225, 245,
1218 226, 227, 354, 971, 1155, 229, 651, 230, 231, 430,
1219 232, 233, 199, 411, 355, 351, 356, 477, 709, 357,
1220 320, 629, 358, 204, 359, 553, 806, 1069, 238, 569,
1221 505, 410, 206, 570, 705, 706, 571, 360, 207, 208,
1222 361, 648, 619, 362, 241, 363, 367, 712, 749, 917,
1223 750, 212, 752, 753, 754, 755, 756, 757, 758, 759,
1224 760, 761, 762, 763, 764, 765, 766, 1019, 1217, 767,
1225 1160, 364, 365, 214, 366, 266, 860, 301, 217, 124
1228 static const short yypact[] =
1230 2068,-32768,-32768, 483, 105, 5486,-32768, 6707,-32768, 662,
1231 3246, 3668, 3668,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1232 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1233 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1234 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1235 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1236 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1237 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1238 -32768,-32768,-32768, 535,-32768,-32768,-32768,-32768, 2263,-32768,
1239 -32768,-32768, 93,-32768,-32768, 64,-32768, 124,-32768,-32768,
1240 -32768, 138, 6296,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1241 -32768,-32768,-32768, 6296, 6296, 160, 109,-32768, 681,-32768,
1242 -32768, 662,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 483,
1243 -32768, 5653,-32768, 167,-32768, 160,-32768,-32768,-32768, 5486,
1244 -32768, 185,-32768, 5775,-32768, 193, 300, 446,-32768, 459,
1245 662, 366, 423, 1684,-32768, 2647, 5775, 5775, 5775, 5775,
1246 5775, 5775,-32768, 5804, 5804, 488,-32768, 515, 523, 529,
1247 564, 578, 497, 4945,-32768, 608, 624,-32768, 641,-32768,
1248 834, 1223,-32768,-32768,-32768, 1005, 38, 402, 605, 465,
1249 643, 645, 671, 642, 97,-32768,-32768, 444, 3774, 625,
1250 699,-32768,-32768,-32768,-32768, 803, 3352,-32768, 4945,-32768,
1251 3774,-32768, 639, 3774,-32768,-32768, 819, 837,-32768, 842,
1252 -32768, 2841, 641, 854, 481, 799, 3457,-32768, 3668,-32768,
1253 -32768,-32768, 6022,-32768,-32768,-32768,-32768, 877, 895,-32768,
1254 -32768, 3668, 3774,-32768,-32768, 825,-32768,-32768,-32768,-32768,
1255 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1256 878, 903,-32768,-32768, 6570,-32768,-32768,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1258 -32768,-32768, 951, 864,-32768,-32768, 662, 662, 186,-32768,
1259 93,-32768,-32768,-32768, 3412,-32768,-32768, 204, 6707, 380,
1260 956,-32768,-32768, 975,-32768,-32768, 976, 965, 864, 124,
1261 -32768, 717, 994,-32768, 662,-32768, 158,-32768,-32768,-32768,
1262 978, 5775, 5775, 5775, 3095, 1015,-32768,-32768,-32768, 715,
1263 1013, 777, 1025, 1036,-32768,-32768,-32768,-32768,-32768,-32768,
1264 1039, 3412,-32768,-32768, 5775, 1047, 1048, 1051, 1052, 1053,
1265 497, 555, 3623,-32768, 4945,-32768,-32768,-32768,-32768, 1054,
1266 -32768,-32768, 4945,-32768, 4945,-32768,-32768,-32768, 5674, 5775,
1267 -32768,-32768, 87, 5775, 5775, 5775, 5775, 5775, 5775, 5775,
1268 5775, 5775, 5775, 5775,-32768,-32768, 5775, 5775, 5775, 5775,
1269 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775,
1270 5775, 5775,-32768,-32768,-32768,-32768, 5775,-32768,-32768, 2453,
1271 -32768,-32768, 1063,-32768,-32768, 1065,-32768, 5775, 849, 1049,
1272 1055,-32768,-32768,-32768,-32768,-32768, 160, 6022,-32768,-32768,
1273 3668, 3140, 1066,-32768,-32768, 5775, 396, 3880, 5028, 864,
1274 -32768, 316, 987, 1061, 1068, 1070, 1073, 1070, 662, 1074,
1275 222,-32768,-32768, 5685, 1071, 753,-32768, 1018,-32768, 864,
1276 -32768, 791,-32768,-32768,-32768, 1006, 1069, 1077,-32768, 864,
1277 717,-32768, 662, 1080,-32768, 1081, 662, 1088,-32768, 248,
1278 1092, 328, 1092, 1096,-32768,-32768, 1013, 1090,-32768, 5377,
1279 -32768,-32768, 1091, 1098,-32768,-32768,-32768,-32768,-32768,-32768,
1280 5775,-32768, 1099,-32768, 3880,-32768,-32768, 1106, 1097,-32768,
1281 344,-32768, 321, 662, 662,-32768,-32768,-32768,-32768,-32768,
1282 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 561,-32768,-32768,
1283 -32768, 1005, 1005, 38, 38, 402, 402, 402, 402, 605,
1284 605, 465, 643, 645, 5775, 5775, 5775,-32768,-32768, 3035,
1285 -32768, 3563, 4069,-32768,-32768, 1109, 361,-32768,-32768, 864,
1286 -32768,-32768, 1112, 1103,-32768, 1113,-32768, 4447,-32768,-32768,
1287 4258, 4492, 1013,-32768, 1100,-32768,-32768, 1119, 1122,-32768,
1288 1126, 1128,-32768, 554,-32768, 1125,-32768,-32768,-32768,-32768,
1289 1130, 765, 1018, 5717, 1129,-32768,-32768,-32768,-32768, 1131,
1290 -32768,-32768, 294,-32768,-32768, 5775, 482, 864,-32768,-32768,
1291 1134,-32768,-32768, 1153, 6707,-32768,-32768,-32768,-32768, 1135,
1292 -32768, 3095,-32768, 5404,-32768,-32768, 1142,-32768,-32768, 1140,
1293 -32768,-32768, 1139,-32768, 5775,-32768,-32768,-32768,-32768, 5853,
1294 5883,-32768, 671, 617, 642,-32768,-32768, 4598, 4945, 5775,
1295 -32768, 5941,-32768, 5775,-32768, 1376,-32768,-32768,-32768, 4643,
1296 4749,-32768, 4794,-32768,-32768, 1141,-32768,-32768,-32768,-32768,
1297 -32768, 1144,-32768,-32768, 1148,-32768, 662,-32768, 662,-32768,
1298 -32768, 35, 1146,-32768, 1145, 80,-32768, 1101,-32768, 1961,
1299 -32768,-32768, 1154,-32768, 1150,-32768, 258, 1376,-32768, 662,
1300 737, 4945, 1162, 5404,-32768, 1161,-32768, 1164, 1158, 1147,
1301 -32768, 5775, 5941,-32768,-32768,-32768, 3412,-32768, 3412,-32768,
1302 -32768,-32768,-32768, 372, 3412, 5775, 5775, 5775, 5775, 5775,
1303 5775, 5804, 5804, 1163, 397, 417, 916, 1279,-32768, 1024,
1304 623, 563, 679, 636, 1157, 1149, 1155, 1133, 111, 1165,
1305 -32768, 23,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1306 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 450, 525,
1307 -32768, 1003,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1308 -32768,-32768,-32768, 1376,-32768, 1102,-32768,-32768, 1107,-32768,
1309 1108,-32768,-32768,-32768, 1110,-32768, 4443, 1111, 1376,-32768,
1310 -32768, 4900,-32768,-32768,-32768,-32768, 6433,-32768,-32768, 6433,
1311 -32768,-32768,-32768,-32768, 5775, 767, 1169,-32768,-32768,-32768,
1312 1175, 791, 1185,-32768, 1961, 5775, 662,-32768,-32768, 1961,
1313 752,-32768, 1187, 1961, 1120,-32768, 1376,-32768, 1188,-32768,
1314 -32768,-32768, 1376,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1315 93, 1190,-32768, 810,-32768, 1018,-32768,-32768, 1161, 5356,
1316 1192, 662,-32768,-32768, 591, 1191, 1194, 1195, 5775, 1197,
1317 603, 1199, 652, 688, 741, 772, 807, 821, 850, 852,
1318 5775, 5706, 5775, 870, 896, 268, 5775, 5775, 5775, 5775,
1319 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775,
1320 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775, 5775,
1321 5775, 5775, 5775, 5775,-32768, 5775,-32768, 1200, 1209,-32768,
1322 1026, 1198, 10, 141,-32768,-32768,-32768,-32768,-32768,-32768,
1323 -32768, 581,-32768,-32768,-32768,-32768, 1961, 802,-32768, 160,
1324 5189,-32768, 6433, 5189, 6433,-32768,-32768,-32768,-32768,-32768,
1325 -32768,-32768, 913, 1201,-32768,-32768,-32768,-32768,-32768,-32768,
1326 -32768,-32768,-32768, 1376,-32768, 124,-32768, 700,-32768,-32768,
1327 -32768, 5749, 1211,-32768,-32768, 942,-32768, 1214, 1013, 1142,
1328 1142,-32768,-32768, 897, 5377, 1213, 907, 929, 360, 662,
1329 662,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1330 -32768,-32768, 935, 961, 970, 556, 658, 723, 806, 61,
1331 338, 443, 485, 471, 629, 81, 476, 59, 671, 5775,
1332 642, 5941,-32768, 639, 1003,-32768,-32768,-32768,-32768,-32768,
1333 885,-32768, 6159, 10, 236, 236,-32768,-32768,-32768, 391,
1334 930,-32768,-32768, 133,-32768, 298, 247,-32768,-32768,-32768,
1335 -32768,-32768, 1216,-32768, -9,-32768, 832,-32768, 96, 1212,
1336 124,-32768, 133,-32768,-32768,-32768, 1219, 619,-32768,-32768,
1337 5189,-32768, 5189,-32768,-32768, 1902,-32768, 1008,-32768, 1166,
1338 676,-32768,-32768,-32768, 5775, 662,-32768, 1059, 980,-32768,
1339 985, 986,-32768,-32768, 936,-32768,-32768, 10,-32768,-32768,
1340 -32768,-32768,-32768,-32768, 100, 391, 713, 662, 662, 236,
1341 -32768, 133, 133,-32768, 512, 1009,-32768, 1218, 1022, 332,
1342 247, 527, 69,-32768,-32768, 298,-32768,-32768,-32768, 298,
1343 29, 662, 662, 1220, 298,-32768, 124, 1224, 1010,-32768,
1344 864,-32768,-32768, 1227,-32768, 1222, 1221,-32768, 1235,-32768,
1345 -32768,-32768, 1171,-32768, 784, 1239,-32768, 422,-32768,-32768,
1346 -32768, 1241, 992, 998,-32768,-32768,-32768,-32768, 391, 1233,
1347 639,-32768,-32768, 391, 592, 512, 758, 662, 662, 133,
1348 -32768, 1072,-32768,-32768, 298,-32768, 332, 1228,-32768, 527,
1349 -32768, 527,-32768,-32768, 1242,-32768,-32768, 1072, 1246,-32768,
1350 -32768,-32768,-32768, 5775, 619, 1254,-32768,-32768,-32768, 1255,
1351 -32768, 1256,-32768,-32768,-32768,-32768, 999, 5775,-32768,-32768,
1352 -32768, 1247,-32768,-32768, 512,-32768,-32768,-32768, 1252, 69,
1353 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5775,-32768,
1354 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1291, 1292,
1358 static const short yypgoto[] =
1360 -32768,-32768, 1208,-32768,-32768,-32768,-32768, -437, -118,-32768,
1361 -32768, 983,-32768,-32768,-32768,-32768,-32768, 68,-32768,-32768,
1362 367,-32768,-32768, 70, 103,-32768, 176,-32768,-32768,-32768,
1363 -768,-32768, -898,-32768,-32768, -688, -745,-32768,-32768,-32768,
1364 -634,-32768, -604,-32768, -582,-32768, 279,-32768,-32768, 626,
1365 -647,-32768, 207, 283,-32768,-32768,-32768,-32768,-32768,-32768,
1366 -32768,-32768,-32768,-32768,-32768, -842, 142,-32768, -1052,-32768,
1367 257,-32768,-32768, -611, 439, 1151,-32768,-32768, 1138,-32768,
1368 -32768,-32768,-32768, -94, -372, -376, -341, -360, -369, -377,
1369 -356, -505, -500,-32768, -608,-32768, -68,-32768,-32768, 949,
1370 1012, -599, -422, 6,-32768,-32768,-32768, 526, -3,-32768,
1371 -32768,-32768, 804, -270,-32768,-32768,-32768,-32768, -910, -737,
1372 -32768,-32768, 518,-32768,-32768,-32768, -579,-32768,-32768,-32768,
1373 -494,-32768,-32768,-32768,-32768,-32768, 553,-32768,-32768,-32768,
1374 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 72, 774,-32768,
1375 861,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1376 -32768, 161, -689, -806,-32768, 148,-32768,-32768, 678, 682,
1377 501, 1, -410, 1230,-32768, 4,-32768,-32768, -577,-32768,
1378 -32768,-32768, 661, -97, 1058,-32768, -451, 136, 1349,-32768,
1379 1121,-32768, 170,-32768,-32768,-32768,-32768, -112,-32768,-32768,
1380 -32768,-32768,-32768, 113, 1037, 1019, 1196,-32768,-32768, 1356,
1381 -32768,-32768, -310,-32768, 532, 203, -560, -643,-32768, 866,
1382 -32768,-32768, 962, -207, 669, 506, -386, 24,-32768, 179,
1383 17,-32768,-32768, 48,-32768, 305,-32768,-32768, 663,-32768,
1384 352, -622,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1385 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1386 -32768, 1403,-32768,-32768, 1479, -301, 516, 0, 19,-32768
1393 static const short yytable[] =
1395 122, 120, 132, 290, 592, 122, 98, 130, 465, 122,
1396 216, 216, 216, 563, 682, 533, 534, 531, 532, 123,
1397 487, 785, 702, 542, 123, 427, 565, 209, 141, 751,
1398 541, 590, 608, 1058, 300, 239, 239, 539, 540, 642,
1399 736, 467, 502, 748, -609, 543, 644, 1123, -609, 1077,
1400 846, 786, 535, 536, 537, 538, 1193, 438, 210, 1174,
1401 1175, 453, 334, 335, 336, 337, 338, 339, 94, 3,
1402 389, 390, 115, 788, 1044, 318, 794, 135, 628, 138,
1403 -655, 1039, -643, 262, -655, 471, -643, 951, 122, 120,
1404 751, 962, 955, 1120, 98, 924, 959, 966, 400, 1025,
1405 1026, 736, -651, 1046, 748, 819, -651, 123, 820, 419,
1406 934, 391, 392, 809, 423, 513, 424, -279, -46, 260,
1407 943, 122, 1130, 200, 1131, 1166, 1106, 1224, 1107, 131,
1408 1027, 1028, 514, 293, 1068, 397, 398, 1068, 403, 122,
1409 123, 1132, 265, 314, 1029, 1108, 746, 1119, 1121, 785,
1410 122, 747, 914, 1138, 404, 216, 94, 1111, 315, 265,
1411 115, 797, 267, 471, 785, 1034, 647, 1112, 915, 325,
1412 695, 684, 209, 216, 268, 1035, 502, 1124, -278, 786,
1413 198, 228, 228, 692, 660, 268, 268, 443, 302, 846,
1414 240, 240, 1104, 1105, 786, 846, 694, 284, 216, 1063,
1415 467, 788, 552, 210, 794, 448, 216, 746, 216, 316,
1416 216, 313, 747, 216, 414, 209, 788, 321, 1078, 794,
1417 1194, 216, 1186, 209, 1189, 406, 216, 209, 216, 451,
1418 209, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1419 258, 216, 216, 406, 492, 239, 210, 488, 942, 855,
1420 239, 944, 239, 1070, 210, 1072, 81, 1049, 210, 209,
1421 1034, 210, 664, 839, 1068, 239, 1068, 1173, 333, 406,
1422 1035, 1120, 278, 618, 744, 740, 283, 1118, 285, 739,
1423 289, 1046, 743, 122, 441, 291, 122, 122, 122, 797,
1424 210, 742, 528, 529, 530, 745, 989, 307, 1023, 308,
1425 1071, 691, 123, 455, 797, 445, 447, 449, 122, 464,
1426 741, 407, 265, 990, 122, 211, 846, 690, 561, 423,
1427 81, 1113, 1045, 413, 322, 198, 415, 123, 81, 1036,
1428 1037, 1189, 1046, 315, -422, 744, 740, -422, 1151, -422,
1429 739, 372, 406, 743, 412, -422, -422, -422, 636, 406,
1430 -422, -422, 742, 620, 216, 432, 745, 1185, 1130, -644,
1431 1131, 1192, 216, -644, 216, 634, 1198, 318, 198, 635,
1432 452, 741, 1081, 81, 82, 140, 198, 1132, 85, 86,
1433 198, 406, 406, 198, 326, 318, 650, 1091, 391, 392,
1434 682, 228, 945, 406, 625, 624, 228, 869, 228, 751,
1435 240, 471, 855, 953, -278, 240, 453, 240, 1018, 216,
1436 736, 228, 198, 748, 3, 1020, 1228, 1106, -606, 1107,
1437 240, 564, -606, 81, 1036, 1037, 209, 1147, 439, 1149,
1438 216, 216, 318, 560, 81, 1049, 1108, 216, -605, 122,
1439 573, 327, -605, 406, 560, 81, 82, 140, 122, 1214,
1440 85, 86, 391, 392, 239, 239, 595, 210, 123, 122,
1441 211, 122, 405, 459, -645, 406, 461, 585, -645, 122,
1442 323, -604, 122, 314, 469, -604, 122, 472, 123, 443,
1443 123, 1047, 1048, 324, 1170, 81, 1049, 471, 315, 1050,
1444 503, 611, -648, 391, 392, 616, -648, -653, 506, 421,
1445 507, -653, 406, 211, 216, 399, -646, 693, 393, 394,
1446 -646, 211, 344, 122, 122, 211, 746, 3, 211, 397,
1447 398, 747, 550, 395, 396, 318, 1007, 1008, 1005, 1006,
1448 708, 345, 637, 638, 1016, 391, 392, 318, 1176, 346,
1449 1177, 1015, 205, 237, 237, 347, 406, 211, 1013, 1014,
1450 918, 216, 216, 1130, 1170, 1131, 1017, 1178, 560, 122,
1451 652, 500, 501, 1009, 1010, 1011, 1012, 216, 209, -707,
1452 216, 216, 1132, 568, 675, 676, 560, -638, 123, 198,
1453 348, -638, 850, -422, -422, -422, 1044, 559, -422, -422,
1454 386, 387, 388, 349, 125, 126, 127, 472, 350, 210,
1455 228, 228, 574, 639, 640, 1045, 579, 122, 582, 240,
1456 240, 314, 406, 902, 903, 1046, 977, 1219, 1176, 866,
1457 1177, 867, 1041, -707, 406, 602, 315, 871, 983, 607,
1458 -701, 872, 873, 874, 875, 876, 877, 1178, 406, 720,
1459 568, 1142, 393, 394, 744, 740, -705, 216, 216, 739,
1460 -649, 768, 743, 3, -649, 900, 901, 395, 396, 216,
1461 216, 742, 216, -702, 1079, 745, 393, 394, 1087, -422,
1462 -422, -422, 399, -623, -422, -422, 122, -623, 122, -637,
1463 741, 395, 396, -637, 400, 455, 700, 205, 568, 216,
1464 908, 909, 386, 387, 388, 585, 122, 585, 402, 122,
1465 122, 216, 453, 592, 853, 471, 568, 663, 832, -628,
1466 3, 401, 768, -628, 211, 840, 904, 905, 616, 123,
1467 408, 198, -707, -707, -422, 680, -422, -707, -707, 1098,
1468 205, 906, 907, 485, -422, 850, 406, 1034, 205, 1110,
1469 1167, -279, 205, 466, -640, 205, 318, 1035, -640, 286,
1470 287, 288, 681, 237, 420, 389, 390, 318, 237, 1135,
1471 237, -278, -627, 453, 1047, 1048, -627, 472, 81, 1049,
1472 471, 3, 1050, 237, 205, 956, 1152, -278, 825, 453,
1473 826, 1235, 1034, 663, 722, 1220, 707, 946, 676, -422,
1474 680, -422, 1035, -626, -528, 405, 663, -626, 406, -422,
1475 981, 216, 488, 1002, 1003, 1004, 81, 82, 140, -474,
1476 453, 85, 86, 574, 1180, 770, 1246, 246, 247, 248,
1477 1064, 122, 409, 1065, 216, 3, 122, -641, -625, 216,
1478 414, -641, -625, 216, -278, 1200, 453, 856, 389, 390,
1479 123, -704, -624, 832, 3, 954, -624, 821, 832, 81,
1480 82, 140, 832, 122, 85, 86, 211, 853, 368, 416,
1481 369, 122, -422, 81, 82, 140, 417, 421, 85, 86,
1482 406, -621, 123, -622, 488, -621, -703, -622, 939, -422,
1483 976, 939, 370, 371, 1126, 1127, 1128, -422, -422, -422,
1484 1088, -618, -422, -422, 422, -618, 428, 885, 3, 508,
1485 81, 1036, 1037, 265, 177, 434, 1097, 270, 271, 272,
1486 273, 274, 275, 276, 277, 429, 279, -619, -610, 282,
1487 433, -619, -610, 1042, 81, 82, 140, 436, -613, 85,
1488 86, 1061, -613, 1074, 1075, 298, 216, 303, 304, 306,
1489 881, 205, 882, 312, -422, 81, 1036, 1037, 265, 177,
1490 634, 1109, 928, 929, 1090, 832, -633, 406, 1164, 298,
1491 -633, -422, 237, 237, 883, 884, 340, 1083, 1084, 440,
1492 1085, 81, 82, 140, 280, 281, 85, 86, 81, 82,
1493 140, 458, -634, 85, 86, 596, -634, 385, 463, 122,
1494 122, -635, 1161, 460, 462, -635, 961, 81, 82, 140,
1495 478, -631, 85, 86, 969, -631, -614, -612, 1092, 1093,
1496 -614, -612, 939, -616, 939, 939, 939, -616, 468, -617,
1497 -615, 768, 197, -617, -615, 298, 265, 265, 1201, 1065,
1498 1179, 1065, 1102, 484, 1042, 1042, 290, 486, 1101, 386,
1499 387, 388, -278, 1116, 593, 1061, 1061, 201, 234, 234,
1500 489, 81, 82, 140, 1182, 1183, 85, 86, 897, 898,
1501 899, 490, 1116, 491, 435, 494, 495, 122, 1145, 496,
1502 497, 498, 554, 504, 557, 216, 555, 562, 575, 558,
1503 122, 573, 576, 205, 1154, 122, 123, 577, 298, -278,
1504 444, 446, 580, 586, 832, 591, 604, 603, 298, 123,
1505 1067, 606, 613, 454, 1158, 612, 1042, 122, 122, 1042,
1506 617, 1116, 1116, 406, 621, 622, 626, 632, 312, 627,
1507 1061, 633, 1061, 666, 630, 1061, 1171, 1172, 1080, 1061,
1508 654, 122, 122, 649, 1061, 318, 653, 1202, 656, 669,
1509 122, 671, 939, 297, 939, 298, 672, 674, 677, 1241,
1510 1195, 1196, 686, 685, 122, 696, 298, 679, 698, 123,
1511 701, 623, 710, 711, 807, 329, 803, 331, 810, 863,
1512 318, 817, 818, 123, 771, 837, 1042, 122, 122, 1116,
1513 857, 835, 859, 862, 1061, 861, 910, 880, 911, 913,
1514 916, 919, 201, 925, 947, 912, 1222, 1223, 926, 927,
1515 948, 930, 933, 950, 122, 1145, 202, 235, 235, 958,
1516 197, 960, 974, 964, 967, 982, 978, 177, 197, 979,
1517 980, 1021, 197, 123, 984, 197, 1140, 1022, 1076, 1061,
1518 282, 1082, 1086, 418, 1089, 201, 1134, 1141, 1024, 1122,
1519 1181, 1208, 1197, 201, 1207, 1179, 373, 201, 1204, 578,
1520 201, 581, 1159, 587, 197, 1210, 588, 1153, 234, 454,
1521 1218, 594, 1212, 234, 1213, 234, 1216, 1226, 1229, 1230,
1522 605, 1232, 1237, 312, 1242, 1239, 1240, 1243, 234, 201,
1523 614, 374, 375, 376, 377, 378, 379, 380, 381, 382,
1524 383, 1249, 1250, 493, 317, 298, 259, 470, 1052, 1244,
1525 1231, 1190, 886, 1096, 1165, 1206, 450, 317, 317, 317,
1526 317, 317, 317, 823, 342, 343, 1103, 511, 1221, 1137,
1527 987, 384, 515, 516, 517, 518, 519, 520, 521, 522,
1528 523, 524, 525, 479, 480, 481, 482, 887, 888, 889,
1529 890, 891, 892, 893, 894, 895, 896, 949, 957, 932,
1530 668, 202, 1236, 450, 970, 547, 815, 456, 813, 292,
1531 849, 244, 431, 1215, 450, 973, 203, 236, 236, 499,
1532 631, 551, 858, 1095, 972, 865, 0, 665, 0, 0,
1533 298, 512, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 202, 0, 594, 1245, 0, 0,
1535 0, 0, 202, 687, 688, 689, 202, 0, 0, 202,
1536 0, 312, 0, 213, 242, 242, 0, 235, 0, 0,
1537 0, 197, 235, 0, 235, 0, 0, 0, 0, 556,
1538 0, 298, 0, 0, 0, 0, 0, 235, 202, 0,
1539 0, 714, 715, 0, 0, 0, 201, 0, 0, 771,
1540 772, 773, 774, 0, 0, 385, 775, 776, 777, 778,
1541 779, 780, 781, 0, 0, 0, 0, 234, 234, 0,
1542 0, 805, 0, 0, 0, 0, 0, 0, 0, 812,
1543 0, 814, 0, 0, 0, 454, 0, 0, 0, 215,
1544 243, 243, 0, 0, 833, 834, 0, 0, 0, 838,
1545 0, 0, 0, 614, 851, 0, 0, 0, 0, 0,
1546 0, 203, 0, 0, 0, 0, 385, 0, 0, 0,
1547 298, 0, 298, 0, 0, 0, 0, 0, 298, 0,
1548 0, 0, 0, 0, 0, 0, 0, 317, 317, 317,
1549 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1550 317, 317, 317, 0, 203, 0, 0, 643, 213, 0,
1551 0, 0, 203, 197, 0, 0, 203, 0, 0, 203,
1552 0, 0, 704, 0, 0, 0, 0, 236, 0, 0,
1553 0, 0, 236, 713, 236, 0, 317, 0, 201, 0,
1554 0, 0, 0, 0, 0, 0, 0, 236, 203, 0,
1555 0, 213, 0, 0, 317, 202, 0, 0, 936, 213,
1556 0, 0, 0, 213, 0, 0, 213, 0, 0, 0,
1557 0, 0, 0, 0, 242, 0, 235, 235, 0, 242,
1558 0, 242, 0, 482, 215, 0, 0, 0, 827, 0,
1559 317, 0, 0, 0, 242, 213, 0, 0, 0, 0,
1560 0, 317, 704, 0, 0, 0, 968, 851, 0, 594,
1561 0, 723, 0, 0, 0, 769, 0, 0, 0, 0,
1562 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
1563 0, 0, 0, 0, 0, 215, 0, 0, 0, 215,
1564 0, 0, 215, 0, 0, 317, 0, 317, 0, 0,
1565 243, 0, 328, 0, 0, 243, 0, 243, 294, 0,
1566 0, 0, 0, 156, 157, 158, 159, 160, 161, 0,
1567 243, 215, 0, 864, 0, 0, 0, 0, 450, 0,
1568 450, 162, 163, 164, 0, 0, 870, 0, 0, 0,
1569 0, 0, 0, 1066, 317, 0, 0, 202, 0, 0,
1570 1073, 0, 0, 0, 0, 165, 317, 0, 0, 0,
1571 0, 0, 0, 0, 0, 203, 0, 0, 0, 0,
1572 0, 0, 0, 827, 0, 0, 0, 0, 827, 0,
1573 0, 0, 827, 0, 0, 0, 236, 236, 0, 0,
1574 717, 719, 0, 0, 0, 0, 0, 0, 0, 174,
1575 0, 0, 737, 0, 0, 0, 0, 0, 704, 0,
1576 0, 0, 213, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 385, 0, 0, 0, 985,
1578 511, 0, 0, 242, 242, 991, 992, 993, 994, 995,
1579 996, 997, 998, 999, 1000, 1001, 0, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 737, 0, 0, 0, 0, 1139, 0,
1582 0, 81, 295, 296, 0, 177, 317, 317, 317, 317,
1583 317, 317, 878, 879, 851, 827, 0, 1156, 215, 0,
1584 0, 0, 0, 298, 988, 0, 1162, 1163, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 203, 0, 243,
1586 243, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 0, 824, 1150, 0, 0, 0, 294, 0, 825, 0,
1588 826, 156, 157, 158, 159, 160, 161, 0, 0, 1199,
1589 0, 0, 0, 0, 0, 0, 1203, 1205, 0, 162,
1590 163, 164, 0, 0, 213, 0, 0, 0, 851, 0,
1591 0, 0, 0, 0, 0, 317, 0, 0, 0, 0,
1592 0, 0, 0, 165, 0, 0, 317, 0, 0, 0,
1593 824, 0, 0, 482, 1225, 294, 0, 825, 0, 826,
1594 156, 157, 158, 159, 160, 161, 0, 0, 0, 0,
1595 0, 0, 0, 0, 1233, 1234, 0, 0, 162, 163,
1596 164, 1238, 0, 0, 0, 0, 0, 174, 0, 317,
1597 0, 0, 0, 0, 827, 0, 0, 0, 0, 0,
1598 215, 1094, 165, 0, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 317, 317,
1600 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1601 317, 317, 317, 317, 317, 0, 317, 0, -1, 1,
1602 0, 0, 0, 0, 0, 0, 174, 0, 0, 0,
1603 0, 0, 0, 0, 0, 0, 2, 0, 0, 81,
1604 175, 176, -278, 177, 85, 86, 1157, 0, 0, 0,
1605 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 4, 0, 5, 0, 0, 0, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1608 0, 0, 0, 0, 0, 317, -422, -422, -422, 0,
1609 6, 0, 0, 0, 0, 7, 8, 9, 81, 175,
1610 176, 0, 177, 85, 86, 0, 0, 0, 0, 0,
1611 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 737, 0, 0, 0, 0, 0, 0, 13,
1613 14, 15, 16, 0, 17, 18, 19, 20, 21, 22,
1614 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
1615 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1616 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1617 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1618 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1619 72, 73, 74, 75, 76, 77, 78, 79, 80, 0,
1620 0, 0, 0, 0, 0, 81, 82, 83, 84, 0,
1621 85, 86, 87, -2, 1, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1623 0, 2, 0, 0, 0, 0, 0, -278, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
1625 0, 0, 0, 0, 0, 0, 0, 4, 0, 5,
1626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, -422, -422, -422, 0, 6, 0, 0, 0, 0,
1629 7, 8, 9, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 317, 10, 11, 12, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
1632 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
1633 18, 19, 20, 21, 22, 23, 24, 25, 26, 317,
1634 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1635 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1636 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1637 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1638 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1639 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
1640 81, 82, 83, 84, 142, 85, 86, 87, 0, 143,
1641 144, 145, 0, 146, 147, 148, 149, 150, 151, 152,
1642 153, 154, -556, 548, 0, 0, 0, 155, 0, 0,
1643 0, 0, 156, 157, 158, 159, 160, 161, 0, 0,
1644 0, 0, 0, 0, 0, -202, -202, 4, 0, 5,
1645 162, 163, 164, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1647 0, -422, -422, -422, 165, 6, 0, 0, 0, 0,
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1650 168, 169, 170, 171, 172, 0, 0, 0, 0, 0,
1651 0, 0, 0, 173, 13, 14, 15, 16, 174, 17,
1652 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
1653 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1654 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1655 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1656 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1657 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1658 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
1659 81, 175, 549, 84, 177, 178, 86, 87, 142, 0,
1660 0, 0, 0, 143, 144, 145, 0, 146, 147, 148,
1661 149, 150, 151, 152, 153, 154, -171, 0, 0, 0,
1662 0, 155, 0, 0, 0, 0, 156, 157, 158, 159,
1663 160, 161, 0, 0, 0, 0, 0, 0, 0, -202,
1664 -202, -278, 0, 0, 162, 163, 164, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, -278, -278, -278, 165, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 167, 168, 169, 170, 171, 172, 0,
1670 0, 0, 0, 0, 0, 0, 0, 173, -278, -278,
1671 -278, -278, 174, -278, -278, -278, -278, -278, -278, -278,
1672 -278, -278, -278, 0, -278, -278, -278, -278, -278, -278,
1673 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1674 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1675 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1676 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1677 -278, -278, -278, -278, -278, -278, -278, -278, 0, 0,
1678 0, 0, 0, 0, 81, 175, 176, -278, 177, 178,
1679 86, -278, 218, 0, 0, 0, 0, 143, 144, 145,
1680 0, 0, 219, 148, 149, 150, 151, 152, 153, 220,
1681 -171, -560, 0, 0, 0, 221, 0, 0, 0, 0,
1682 156, 157, 158, 159, 160, 161, 0, 0, 0, 0,
1683 0, 0, 0, -202, -202, -278, 0, 0, 162, 163,
1684 164, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, -278,
1686 -278, -278, 165, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 167, 168, 169,
1689 170, 171, 172, 0, 0, 0, 0, 0, 0, 0,
1690 0, 173, -278, -278, -278, -278, 174, -278, -278, -278,
1691 -278, -278, -278, -278, -278, -278, -278, 0, -278, -278,
1692 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1693 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1694 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1695 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1696 -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
1697 -278, -278, 0, 0, 0, 0, 0, 0, 81, 175,
1698 176, -278, 177, 222, 223, -278, -169, 0, 0, 0,
1699 0, -169, -169, -169, 0, -169, -169, -169, -169, -169,
1700 -169, -169, -169, -169, -169, -169, -169, -705, -169, -169,
1701 0, -169, 0, -169, -169, -169, -169, -169, -169, -169,
1702 -169, -169, -169, -169, -169, -169, -169, -169, -169, 0,
1703 -169, 0, -169, -169, -169, -169, -169, -169, -169, -169,
1704 -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
1705 -169, -169, -169, 0, 0, 0, -169, 0, 0, 0,
1706 0, 0, 0, -258, 0, 0, 0, 0, 0, 294,
1707 0, 0, 0, 0, 156, 157, 158, 159, 160, 161,
1708 0, -169, -169, -169, -169, -169, -169, 0, 0, 0,
1709 0, 218, 162, 163, 164, -169, 143, 144, 145, 0,
1710 -169, 219, 148, 149, 150, 151, 152, 153, 220, -501,
1711 -501, 0, 0, 0, 221, -501, 165, 0, 0, 156,
1712 157, 158, 159, 160, 161, 0, 0, 0, 0, 0,
1713 0, 0, -202, -202, 0, 0, 0, 162, 163, 164,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 174, 165, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, -169, -169, -169, 0, -169, -169, -169, 0,
1718 0, 0, 0, 0, 0, -501, 167, 168, 169, 170,
1719 171, 172, 0, 0, 0, 0, 0, 142, 0, 0,
1720 173, 0, 143, 144, 145, 174, 146, 147, 148, 149,
1721 150, 151, 152, 153, 154, -556, 0, 0, 0, 0,
1722 155, 0, 0, 0, 0, 156, 157, 158, 159, 160,
1723 161, 0, 81, 295, 296, 0, 177, 0, -202, -202,
1724 0, 0, 0, 162, 163, 164, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 0, 0, 0, 0, 165, 0, 0,
1727 0, 0, 0, 0, 0, 0, 0, 81, 175, 176,
1728 0, 177, 222, 223, 0, 0, 0, 0, 0, 0,
1729 0, 166, 167, 168, 169, 170, 171, 172, 0, 0,
1730 0, 0, 0, 142, 0, 0, 173, 0, 143, 144,
1731 145, 174, 146, 147, 148, 149, 150, 151, 152, 153,
1732 154, -556, 0, 0, 0, 0, 155, 0, 0, 0,
1733 0, 156, 157, 158, 159, 160, 161, 0, 0, 0,
1734 0, 0, 0, 0, -202, -202, 0, 0, 0, 162,
1735 163, 164, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1737 0, 0, 0, 165, 0, 0, 0, 0, 0, 0,
1738 0, -171, 0, 81, 175, 176, 294, 177, 178, 86,
1739 0, 156, 157, 158, 159, 160, 161, -529, 167, 168,
1740 169, 170, 171, 172, -202, -202, 0, 0, 218, 162,
1741 163, 164, 173, 143, 144, 145, 0, 174, 219, 148,
1742 149, 150, 151, 152, 153, 220, -556, -560, 0, 0,
1743 0, 221, 0, 165, 0, 0, 156, 157, 158, 159,
1744 160, 161, 0, 0, 0, 0, 0, 0, 0, -202,
1745 -202, 0, 0, 0, 162, 163, 164, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 174, 165, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
1749 175, 176, 0, 177, 178, 86, 0, 0, 0, 0,
1750 0, 0, -497, 167, 168, 169, 170, 171, 172, 0,
1751 0, 0, 0, 0, 142, 0, 0, 173, 0, 143,
1752 144, 145, 174, 146, 147, 148, 149, 150, 151, 152,
1753 153, 154, -556, 645, 0, 0, 0, 155, 0, 0,
1754 0, 0, 156, 157, 158, 159, 160, 161, 0, 81,
1755 295, 296, 0, 177, 0, -202, -202, 0, 0, 0,
1756 162, 163, 164, 0, 0, 0, 0, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 0, 165, 0, 0, 0, 0, 0,
1759 0, 0, -171, 0, 81, 175, 176, 352, 177, 222,
1760 223, 0, 156, 157, 158, 159, 160, 161, 0, 167,
1761 168, 169, 170, 171, 172, -202, -202, 0, 0, 218,
1762 162, 163, 164, 173, 143, 144, 145, 0, 174, 219,
1763 148, 149, 150, 151, 152, 153, 220, -556, -560, 0,
1764 0, 0, 221, 0, 165, 0, 0, 156, 157, 158,
1765 159, 160, 161, 0, 0, 0, 0, 0, 0, 0,
1766 -202, -202, 0, 0, 0, 162, 163, 164, 0, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 174, 165,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 81, 175, 176, 0, 177, 178, 86, 0, 0, 0,
1771 0, 0, 0, 0, 167, 168, 169, 170, 171, 172,
1772 0, 0, 0, 0, 0, 142, 0, 0, 173, 0,
1773 143, 144, 145, 174, 146, 147, 148, 149, 150, 151,
1774 152, 153, 154, -556, 0, 0, 0, 0, 155, 0,
1775 0, 0, 0, 156, 157, 158, 159, 160, 161, 0,
1776 81, 295, 296, 0, 177, 0, -202, -202, 0, 0,
1777 0, 162, 163, 164, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 81, 175, 176, 0, 177,
1781 222, 223, 0, 0, 0, 0, 0, 0, 0, 0,
1782 167, 168, 169, 170, 171, 172, 0, 0, 0, 0,
1783 0, 0, 0, 0, 173, 0, 143, 144, 145, 174,
1784 146, 147, 148, 149, 150, 151, 152, 153, 220, -556,
1785 566, 0, 0, 0, 352, 0, 0, 0, 0, 156,
1786 157, 158, 159, 160, 161, 0, 0, 0, 0, 0,
1787 0, 0, -202, -202, 4, 0, 5, 162, 163, 164,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 165, 6, 0, 0, 0, 0, 0, 0, 0,
1791 0, 81, 175, 176, 0, 177, 178, 86, 0, 0,
1792 0, 0, 0, 0, 0, 0, 167, 168, 169, 170,
1793 171, 172, 0, 0, 0, 0, 0, 0, 0, 0,
1794 567, 13, 14, 15, 16, 174, 17, 18, 19, 20,
1795 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
1796 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1797 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1798 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1799 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1800 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1801 80, 0, 0, 0, 0, 0, 0, 81, 175, 549,
1802 84, 177, 178, 86, 87, 143, 144, 145, 0, 146,
1803 147, 148, 149, 150, 151, 152, 153, 220, -556, 646,
1804 0, 0, 0, 352, 0, 0, 0, 0, 156, 157,
1805 158, 159, 160, 161, 0, 0, 0, 0, 0, 0,
1806 0, -202, -202, 4, 0, 5, 162, 163, 164, 0,
1807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 165, 6, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 167, 168, 169, 170, 171,
1812 172, 0, 0, 0, 0, 0, 0, 0, 0, 173,
1813 13, 14, 15, 16, 174, 17, 18, 19, 20, 21,
1814 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
1815 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1816 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1817 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1818 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1819 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1820 0, 0, 0, 0, 0, 0, 81, 175, 549, 84,
1821 177, 178, 86, 87, 143, 144, 145, 0, 146, 147,
1822 148, 149, 150, 151, 152, 153, 220, -556, 658, 0,
1823 0, 0, 352, 0, 0, 0, 0, 156, 157, 158,
1824 159, 160, 161, 0, 0, 0, 0, 0, 0, 0,
1825 -202, -202, 4, 0, 5, 162, 163, 164, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
1828 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 167, 168, 169, 170, 171, 172,
1831 0, 0, 0, 0, 0, 0, 0, 0, 659, 13,
1832 14, 15, 16, 174, 17, 18, 19, 20, 21, 22,
1833 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
1834 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1835 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1836 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1837 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1838 72, 73, 74, 75, 76, 77, 78, 79, 80, 0,
1839 0, 0, 0, 0, 0, 81, 175, 549, 84, 177,
1840 178, 86, 87, 143, 144, 145, 0, 146, 147, 148,
1841 149, 150, 151, 152, 153, 220, -556, 657, 0, 0,
1842 0, 352, 0, 0, 0, 0, 156, 157, 158, 159,
1843 160, 161, 0, 0, 0, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 162, 163, 164, 0, 143, 144,
1845 145, 0, 146, 147, 148, 149, 150, 151, 152, 153,
1846 220, -556, 661, 0, 0, 0, 352, 0, 165, 0,
1847 0, 156, 157, 158, 159, 160, 161, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 162,
1849 163, 164, 0, 167, 168, 169, 170, 171, 172, 0,
1850 0, 0, 0, 0, 0, 0, 0, 173, 0, 0,
1851 0, 0, 174, 165, 0, 23, 24, 25, 26, 0,
1852 27, 0, 0, 0, 0, 32, 33, 0, 0, 36,
1853 37, 0, 39, 40, 41, 42, 0, 0, 167, 168,
1854 169, 170, 171, 172, 0, 0, 0, 54, 55, 0,
1855 0, 0, 662, 0, 143, 144, 145, 174, 146, 147,
1856 148, 149, 150, 151, 152, 153, 220, -556, 721, 0,
1857 0, 0, 352, 80, 0, 0, 0, 156, 157, 158,
1858 159, 160, 161, 84, 81, 175, 176, 0, 177, 178,
1859 86, 0, 0, 0, 0, 162, 163, 164, 0, 143,
1860 144, 145, 0, 146, 147, 148, 149, 150, 151, 152,
1861 153, 220, -556, 799, 0, 0, 0, 352, 0, 165,
1862 0, 0, 156, 157, 158, 159, 160, 161, 0, 81,
1863 175, 176, 0, 177, 178, 86, 0, 0, 0, 0,
1864 162, 163, 164, 0, 167, 168, 169, 170, 171, 172,
1865 0, 0, 0, 0, 0, 0, 0, 0, 173, 0,
1866 0, 0, 0, 174, 165, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1869 168, 169, 170, 171, 172, 0, 0, 0, 0, 0,
1870 0, 0, 0, 173, 0, 143, 144, 145, 174, 146,
1871 147, 148, 149, 150, 151, 152, 153, 220, -556, 800,
1872 0, 0, 0, 352, 0, 0, 0, 0, 156, 157,
1873 158, 159, 160, 161, 0, 81, 175, 176, 0, 177,
1874 178, 86, 0, 0, 0, 0, 162, 163, 164, 0,
1875 143, 144, 145, 0, 146, 147, 148, 149, 150, 151,
1876 152, 153, 220, -556, 802, 0, 0, 0, 352, 0,
1877 165, 0, 0, 156, 157, 158, 159, 160, 161, 0,
1878 81, 175, 176, 0, 177, 178, 86, 0, 0, 0,
1879 0, 162, 163, 164, 0, 167, 168, 169, 170, 171,
1880 172, 0, 0, 0, 0, 0, 0, 0, 0, 801,
1881 0, 0, 0, 0, 174, 165, 0, 0, 0, 0,
1882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 167, 168, 169, 170, 171, 172, 0, 0, 0, 0,
1885 0, 0, 0, 0, 173, 0, 143, 144, 145, 174,
1886 146, 147, 148, 149, 150, 151, 152, 153, 220, -556,
1887 935, 0, 0, 0, 352, 0, 0, 0, 0, 156,
1888 157, 158, 159, 160, 161, 0, 81, 175, 176, 0,
1889 177, 178, 86, 0, 0, 0, 0, 162, 163, 164,
1890 0, 143, 144, 145, 0, 146, 147, 148, 149, 150,
1891 151, 152, 153, 220, -556, 0, 0, 0, 0, 352,
1892 0, 165, 0, 0, 156, 157, 158, 159, 160, 161,
1893 0, 81, 175, 176, 0, 177, 178, 86, 0, 0,
1894 0, 0, 162, 163, 164, 0, 167, 168, 169, 170,
1895 171, 172, 0, 0, 0, 0, 0, 0, 0, 0,
1896 173, 0, 0, 0, 0, 174, 165, 0, 0, 0,
1897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899 0, 167, 168, 169, 170, 171, 172, -135, 0, 0,
1900 0, 0, -135, 0, 0, 173, 0, 0, 0, 0,
1901 174, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 4, 0, 5, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 81, 175, 176,
1904 0, 177, 178, 86, 0, 0, 0, 0, 0, 0,
1905 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908 0, 0, 81, 175, 176, 0, 177, 178, 86, 13,
1909 14, 15, 16, 0, 17, 18, 19, 20, 21, 22,
1910 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
1911 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1912 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1913 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1914 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1915 72, 73, 74, 75, 76, 77, 78, 79, 80, -559,
1916 0, 0, 0, 0, 0, 0, 0, 137, 84, 0,
1917 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1925 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
1926 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
1927 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1928 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1929 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1930 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1931 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1932 0, 0, 0, 0, 0, 703, -699, 0, 137, 84,
1933 294, 0, 0, 87, 0, 156, 157, 158, 159, 160,
1934 161, 0, 0, 0, 0, 0, 623, 0, 0, 0,
1935 0, 294, 0, 162, 163, 164, 156, 157, 158, 159,
1936 160, 161, 0, 0, 0, 0, 0, 0, 0, 0,
1937 0, 0, 0, 703, 162, 163, 164, 165, 294, 0,
1938 0, 0, 0, 156, 157, 158, 159, 160, 161, 0,
1939 0, 0, 0, 0, 0, 0, 0, 0, 165, 0,
1940 0, 162, 163, 164, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 174, 0, 0, 0, 165, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944 0, 0, 174, 0, 0, 0, 0, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946 -278, 0, 0, 0, 0, 0, 0, 0, 0, 174,
1947 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 81, 295, 296, 0, 177, 0, 0,
1950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 81, 295, 296, 0, 177, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 81, 295, 296, 0, 177, 0, 13, 14, 15,
1955 16, 0, 17, 18, 19, 20, 21, 22, 23, 24,
1956 25, 26, 0, 27, 28, 29, 30, 31, 32, 33,
1957 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1958 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1959 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1960 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1961 74, 75, 76, 77, 78, 79, 80, 0, 0, 0,
1962 0, 0, 0, 81, 82, 83, 84, 294, 85, 86,
1963 87, 0, 156, 157, 158, 159, 160, 161, 0, 0,
1964 0, 0, 0, 0, 0, -202, -202, 0, 294, 509,
1965 162, 163, 164, 156, 157, 158, 159, 160, 161, 294,
1966 0, 0, 589, 0, 156, 157, 158, 159, 160, 161,
1967 0, 162, 163, 164, 165, 0, 0, 0, 0, 0,
1968 294, 986, 162, 163, 164, 156, 157, 158, 159, 160,
1969 161, 294, 0, 0, 683, 165, 156, 157, 158, 159,
1970 160, 161, 0, 162, 163, 164, 165, 0, 0, 0,
1971 0, 0, 0, 0, 162, 163, 164, 0, 174, 0,
1972 0, 0, 0, 294, -258, 0, 0, 165, 156, 157,
1973 158, 159, 160, 161, 0, 0, 0, 0, 165, 174,
1974 0, 0, 0, 0, 0, 0, 162, 163, 164, 294,
1975 174, 0, 0, 0, 156, 157, 158, 159, 160, 161,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 165, 174, 162, 163, 164, 0, 0, 0, 341, 0,
1978 0, 0, 174, 156, 157, 158, 159, 160, 161, 0,
1979 81, 295, 296, 0, 177, 0, 165, 0, 0, 0,
1980 0, 162, 163, 164, 0, 0, 0, 0, 0, 0,
1981 0, 81, 295, 296, 174, 177, 0, 0, 0, 0,
1982 0, 0, 81, 295, 296, 165, 177, 716, 0, 0,
1983 0, 0, 156, 157, 158, 159, 160, 161, 0, 0,
1984 174, 0, 0, 81, 295, 296, 0, 177, 0, 0,
1985 162, 163, 164, 0, 81, 295, 296, 718, 177, 0,
1986 0, 0, 156, 157, 158, 159, 160, 161, 0, 174,
1987 0, 0, 0, 0, 165, 0, 0, 0, 0, 0,
1988 162, 163, 164, 0, 0, 0, 81, 295, 296, 0,
1989 177, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 165, 0, 0, 0, 0, 0,
1991 0, 0, 81, 295, 296, 724, 177, 0, 174, 0,
1992 725, 726, 727, 728, 729, 730, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 162, 731,
1994 732, 81, 295, 296, 0, 177, 0, 0, 174, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 733, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1999 81, 295, 296, 0, 177, 0, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 174, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 4, 0, 5, 0,
2002 81, 295, 296, 0, 177, 0, 0, 0, 0, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 -422, -422, -422, 0, 6, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 81, 734,
2008 735, 0, 177, 13, 14, 15, 16, 0, 17, 18,
2009 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2010 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2011 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2012 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2013 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2014 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2015 78, 79, 80, 4, 0, 5, 0, 0, 0, 0,
2016 0, 137, 84, 0, 0, 0, 87, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2023 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2024 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2025 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2026 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2027 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2028 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2029 4, 0, 0, 0, 0, 0, 81, 1099, 137, 84,
2030 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, -422, -422, -422, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 13, 14, 15,
2036 16, 0, 17, 18, 19, 20, 21, 22, 23, 24,
2037 25, 26, 0, 27, 28, 29, 30, 31, 32, 33,
2038 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2039 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2040 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2041 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2042 74, 75, 76, 77, 78, 79, 80, 4, 0, 0,
2043 0, 0, 0, 0, 0, 137, 84, 0, 0, 0,
2044 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 10, 11, 12, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2050 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2051 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2052 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2053 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2054 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2055 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2056 77, 78, 79, 80, 4, 0, 5, 0, 0, 0,
2057 0, 0, 137, 84, 0, 0, 0, 87, 0, 0,
2058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2059 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2064 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2065 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2066 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2067 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2068 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2069 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2070 80, 4, 0, 0, 0, 0, 0, 0, 0, 137,
2071 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2077 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2078 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2079 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2080 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2081 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2082 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2083 73, 74, 75, 76, 77, 78, 79, 80, 0, 0,
2084 0, 0, 0, 0, 0, 0, 137, 84, 0, 0,
2088 static const short yycheck[] =
2090 0, 0, 5, 121, 455, 5, 0, 3, 309, 9,
2091 10, 11, 12, 435, 591, 391, 392, 389, 390, 0,
2092 330, 655, 621, 400, 5, 232, 436, 10, 9, 651,
2093 399, 453, 469, 931, 131, 11, 12, 397, 398, 544,
2094 651, 311, 352, 651, 21, 401, 546, 56, 25, 959,
2095 697, 655, 393, 394, 395, 396, 27, 264, 10, 1111,
2096 1112, 26, 156, 157, 158, 159, 160, 161, 0, 34,
2097 32, 33, 0, 655, 5, 143, 655, 5, 500, 7,
2098 21, 923, 21, 19, 25, 5, 25, 824, 88, 88,
2099 712, 836, 829, 24, 88, 783, 833, 842, 39, 89,
2100 90, 712, 21, 34, 712, 25, 25, 88, 685, 221,
2101 798, 50, 51, 673, 226, 28, 228, 24, 22, 26,
2102 809, 121, 26, 10, 28, 25, 26, 1179, 28, 24,
2103 120, 121, 45, 129, 940, 54, 55, 943, 41, 139,
2104 121, 45, 18, 139, 134, 45, 651, 1045, 1046, 783,
2105 150, 651, 41, 1063, 57, 155, 88, 24, 139, 18,
2106 88, 655, 24, 5, 798, 24, 552, 34, 57, 150,
2107 607, 593, 155, 173, 102, 34, 486, 186, 18, 783,
2108 10, 11, 12, 605, 570, 113, 114, 284, 21, 836,
2109 11, 12, 1034, 1035, 798, 842, 606, 88, 198, 936,
2110 470, 783, 409, 155, 783, 19, 206, 712, 208, 24,
2111 210, 139, 712, 213, 191, 198, 798, 24, 963, 798,
2112 191, 221, 1120, 206, 1122, 21, 226, 210, 228, 25,
2113 213, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2114 79, 241, 242, 21, 341, 221, 198, 25, 808, 700,
2115 226, 811, 228, 942, 206, 944, 187, 188, 210, 242,
2116 24, 213, 572, 5, 1070, 241, 1072, 1109, 155, 21,
2117 34, 24, 111, 25, 651, 651, 115, 1045, 117, 651,
2118 119, 34, 651, 283, 283, 124, 286, 287, 288, 783,
2119 242, 651, 386, 387, 388, 651, 28, 136, 920, 138,
2120 943, 602, 283, 299, 798, 286, 287, 288, 308, 308,
2121 651, 198, 18, 45, 314, 10, 963, 23, 430, 431,
2122 187, 188, 24, 210, 24, 155, 213, 308, 187, 188,
2123 189, 1229, 34, 314, 18, 712, 712, 21, 1075, 23,
2124 712, 180, 21, 712, 208, 187, 188, 189, 27, 21,
2125 192, 193, 712, 25, 354, 242, 712, 25, 26, 21,
2126 28, 1129, 362, 25, 364, 21, 1134, 435, 198, 25,
2127 298, 712, 971, 187, 188, 189, 206, 45, 192, 193,
2128 210, 21, 21, 213, 18, 453, 25, 27, 50, 51,
2129 967, 221, 814, 21, 491, 489, 226, 25, 228, 1021,
2130 221, 5, 853, 825, 24, 226, 26, 228, 913, 409,
2131 1021, 241, 242, 1021, 34, 915, 1184, 26, 21, 28,
2132 241, 25, 25, 187, 188, 189, 409, 1070, 267, 1072,
2133 430, 431, 500, 427, 187, 188, 45, 437, 21, 439,
2134 439, 18, 25, 21, 438, 187, 188, 189, 448, 27,
2135 192, 193, 50, 51, 430, 431, 459, 409, 439, 459,
2136 155, 461, 18, 302, 21, 21, 305, 448, 25, 469,
2137 24, 21, 472, 469, 313, 25, 476, 316, 459, 576,
2138 461, 183, 184, 24, 1106, 187, 188, 5, 469, 191,
2139 354, 472, 21, 50, 51, 476, 25, 21, 362, 18,
2140 364, 25, 21, 198, 504, 29, 21, 25, 37, 38,
2141 25, 206, 24, 513, 514, 210, 1021, 34, 213, 54,
2142 55, 1021, 409, 52, 53, 593, 902, 903, 900, 901,
2143 627, 16, 513, 514, 911, 50, 51, 605, 26, 16,
2144 28, 910, 10, 11, 12, 16, 21, 242, 908, 909,
2145 25, 551, 552, 26, 1176, 28, 912, 45, 552, 559,
2146 559, 6, 7, 904, 905, 906, 907, 567, 551, 34,
2147 570, 571, 45, 437, 20, 21, 570, 21, 559, 409,
2148 16, 25, 700, 187, 188, 189, 5, 426, 192, 193,
2149 34, 35, 36, 15, 111, 112, 113, 436, 101, 551,
2150 430, 431, 441, 42, 43, 24, 445, 607, 447, 430,
2151 431, 607, 21, 50, 51, 34, 25, 25, 26, 716,
2152 28, 718, 923, 88, 21, 464, 607, 724, 25, 468,
2153 22, 725, 726, 727, 728, 729, 730, 45, 21, 22,
2154 504, 22, 37, 38, 1021, 1021, 22, 647, 648, 1021,
2155 21, 651, 1021, 34, 25, 32, 33, 52, 53, 659,
2156 660, 1021, 662, 22, 965, 1021, 37, 38, 978, 187,
2157 188, 189, 29, 21, 192, 193, 676, 25, 678, 21,
2158 1021, 52, 53, 25, 39, 681, 614, 155, 552, 689,
2159 54, 55, 34, 35, 36, 676, 696, 678, 56, 699,
2160 700, 701, 26, 1154, 700, 5, 570, 571, 689, 21,
2161 34, 40, 712, 25, 409, 696, 37, 38, 699, 700,
2162 95, 551, 187, 188, 24, 25, 26, 192, 193, 1030,
2163 198, 52, 53, 18, 34, 853, 21, 24, 206, 1040,
2164 27, 24, 210, 26, 21, 213, 814, 34, 25, 68,
2165 69, 70, 591, 221, 222, 32, 33, 825, 226, 1060,
2166 228, 24, 21, 26, 183, 184, 25, 606, 187, 188,
2167 5, 34, 191, 241, 242, 23, 1077, 24, 26, 26,
2168 28, 1203, 24, 647, 648, 27, 625, 20, 21, 24,
2169 25, 26, 34, 21, 95, 18, 660, 25, 21, 34,
2170 868, 801, 25, 897, 898, 899, 187, 188, 189, 25,
2171 26, 192, 193, 652, 1115, 654, 1238, 13, 14, 15,
2172 18, 821, 19, 21, 824, 34, 826, 21, 21, 829,
2173 191, 25, 25, 833, 24, 1136, 26, 701, 32, 33,
2174 821, 22, 21, 824, 34, 826, 25, 686, 829, 187,
2175 188, 189, 833, 853, 192, 193, 551, 853, 24, 22,
2176 26, 861, 28, 187, 188, 189, 24, 18, 192, 193,
2177 21, 21, 853, 21, 25, 25, 22, 25, 806, 45,
2178 861, 809, 48, 49, 52, 53, 54, 187, 188, 189,
2179 984, 21, 192, 193, 95, 25, 19, 736, 34, 367,
2180 187, 188, 189, 18, 191, 27, 21, 103, 104, 105,
2181 106, 107, 108, 109, 110, 20, 112, 21, 21, 115,
2182 95, 25, 25, 923, 187, 188, 189, 24, 21, 192,
2183 193, 931, 25, 20, 21, 131, 936, 133, 134, 135,
2184 24, 409, 26, 139, 28, 187, 188, 189, 18, 191,
2185 21, 21, 791, 792, 25, 936, 21, 21, 22, 155,
2186 25, 45, 430, 431, 48, 49, 162, 25, 26, 18,
2187 28, 187, 188, 189, 113, 114, 192, 193, 187, 188,
2188 189, 25, 21, 192, 193, 194, 25, 183, 23, 989,
2189 990, 21, 1089, 18, 18, 25, 835, 187, 188, 189,
2190 22, 21, 192, 193, 194, 25, 21, 21, 989, 990,
2191 25, 25, 940, 21, 942, 943, 944, 25, 24, 21,
2192 21, 1021, 10, 25, 25, 221, 18, 18, 18, 21,
2193 21, 21, 1032, 18, 1034, 1035, 1154, 24, 1032, 34,
2194 35, 36, 24, 1043, 26, 1045, 1046, 10, 11, 12,
2195 25, 187, 188, 189, 32, 33, 192, 193, 34, 35,
2196 36, 25, 1062, 24, 260, 18, 18, 1067, 1067, 18,
2197 18, 18, 9, 19, 25, 1075, 11, 11, 91, 24,
2198 1080, 1080, 21, 551, 1080, 1085, 1067, 19, 284, 19,
2199 286, 287, 19, 19, 1075, 24, 27, 91, 294, 1080,
2200 939, 24, 21, 299, 1085, 25, 1106, 1107, 1108, 1109,
2201 22, 1111, 1112, 21, 18, 25, 25, 11, 314, 21,
2202 1120, 24, 1122, 23, 25, 1125, 1107, 1108, 967, 1129,
2203 27, 1131, 1132, 24, 1134, 1203, 24, 1140, 25, 20,
2204 1140, 19, 1070, 131, 1072, 341, 20, 19, 23, 1217,
2205 1131, 1132, 21, 24, 1154, 21, 352, 27, 5, 1140,
2206 25, 19, 22, 24, 20, 153, 25, 155, 20, 22,
2207 1238, 25, 27, 1154, 73, 25, 1176, 1177, 1178, 1179,
2208 18, 27, 21, 25, 1184, 21, 29, 24, 39, 56,
2209 25, 188, 155, 91, 25, 40, 1177, 1178, 91, 91,
2210 25, 91, 91, 18, 1204, 1204, 10, 11, 12, 22,
2211 198, 91, 20, 25, 24, 18, 25, 191, 206, 25,
2212 25, 21, 210, 1204, 25, 213, 1065, 18, 27, 1229,
2213 426, 20, 18, 221, 21, 198, 24, 18, 40, 23,
2214 22, 20, 22, 206, 22, 21, 23, 210, 21, 445,
2215 213, 447, 193, 449, 242, 20, 452, 91, 221, 455,
2216 27, 457, 91, 226, 25, 228, 25, 195, 40, 27,
2217 466, 25, 18, 469, 27, 20, 20, 25, 241, 242,
2218 476, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2219 67, 0, 0, 344, 143, 491, 88, 314, 931, 1229,
2220 1197, 1125, 23, 1024, 1097, 1144, 294, 156, 157, 158,
2221 159, 160, 161, 687, 163, 164, 1033, 368, 1176, 1062,
2222 881, 183, 373, 374, 375, 376, 377, 378, 379, 380,
2223 381, 382, 383, 321, 322, 323, 324, 58, 59, 60,
2224 61, 62, 63, 64, 65, 66, 67, 821, 830, 796,
2225 576, 155, 1204, 341, 853, 406, 678, 299, 676, 129,
2226 699, 12, 241, 1160, 352, 859, 10, 11, 12, 350,
2227 504, 409, 703, 1021, 858, 712, -1, 573, -1, -1,
2228 576, 369, -1, -1, -1, -1, -1, -1, -1, -1,
2229 -1, -1, -1, -1, 198, -1, 592, 1236, -1, -1,
2230 -1, -1, 206, 599, 600, 601, 210, -1, -1, 213,
2231 -1, 607, -1, 10, 11, 12, -1, 221, -1, -1,
2232 -1, 409, 226, -1, 228, -1, -1, -1, -1, 417,
2233 -1, 627, -1, -1, -1, -1, -1, 241, 242, -1,
2234 -1, 637, 638, -1, -1, -1, 409, -1, -1, 73,
2235 74, 75, 76, -1, -1, 651, 80, 81, 82, 83,
2236 84, 85, 86, -1, -1, -1, -1, 430, 431, -1,
2237 -1, 667, -1, -1, -1, -1, -1, -1, -1, 675,
2238 -1, 677, -1, -1, -1, 681, -1, -1, -1, 10,
2239 11, 12, -1, -1, 690, 691, -1, -1, -1, 695,
2240 -1, -1, -1, 699, 700, -1, -1, -1, -1, -1,
2241 -1, 155, -1, -1, -1, -1, 712, -1, -1, -1,
2242 716, -1, 718, -1, -1, -1, -1, -1, 724, -1,
2243 -1, -1, -1, -1, -1, -1, -1, 386, 387, 388,
2244 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
2245 399, 400, 401, -1, 198, -1, -1, 545, 155, -1,
2246 -1, -1, 206, 551, -1, -1, 210, -1, -1, 213,
2247 -1, -1, 623, -1, -1, -1, -1, 221, -1, -1,
2248 -1, -1, 226, 634, 228, -1, 435, -1, 551, -1,
2249 -1, -1, -1, -1, -1, -1, -1, 241, 242, -1,
2250 -1, 198, -1, -1, 453, 409, -1, -1, 804, 206,
2251 -1, -1, -1, 210, -1, -1, 213, -1, -1, -1,
2252 -1, -1, -1, -1, 221, -1, 430, 431, -1, 226,
2253 -1, 228, -1, 621, 155, -1, -1, -1, 689, -1,
2254 489, -1, -1, -1, 241, 242, -1, -1, -1, -1,
2255 -1, 500, 703, -1, -1, -1, 852, 853, -1, 855,
2256 -1, 649, -1, -1, -1, 653, -1, -1, -1, -1,
2257 -1, -1, -1, -1, -1, -1, -1, 198, -1, -1,
2258 -1, -1, -1, -1, -1, 206, -1, -1, -1, 210,
2259 -1, -1, 213, -1, -1, 544, -1, 546, -1, -1,
2260 221, -1, 18, -1, -1, 226, -1, 228, 24, -1,
2261 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2262 241, 242, -1, 711, -1, -1, -1, -1, 716, -1,
2263 718, 47, 48, 49, -1, -1, 724, -1, -1, -1,
2264 -1, -1, -1, 939, 593, -1, -1, 551, -1, -1,
2265 946, -1, -1, -1, -1, 71, 605, -1, -1, -1,
2266 -1, -1, -1, -1, -1, 409, -1, -1, -1, -1,
2267 -1, -1, -1, 824, -1, -1, -1, -1, 829, -1,
2268 -1, -1, 833, -1, -1, -1, 430, 431, -1, -1,
2269 639, 640, -1, -1, -1, -1, -1, -1, -1, 115,
2270 -1, -1, 651, -1, -1, -1, -1, -1, 859, -1,
2271 -1, -1, 409, -1, -1, -1, -1, -1, -1, -1,
2272 -1, -1, -1, -1, -1, 1021, -1, -1, -1, 880,
2273 881, -1, -1, 430, 431, 886, 887, 888, 889, 890,
2274 891, 892, 893, 894, 895, 896, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, 712, -1, -1, -1, -1, 1064, -1,
2277 -1, 187, 188, 189, -1, 191, 725, 726, 727, 728,
2278 729, 730, 731, 732, 1080, 936, -1, 1083, 409, -1,
2279 -1, -1, -1, 1089, 882, -1, 1092, 1093, -1, -1,
2280 -1, -1, -1, -1, -1, -1, -1, 551, -1, 430,
2281 431, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2282 -1, 19, 20, -1, -1, -1, 24, -1, 26, -1,
2283 28, 29, 30, 31, 32, 33, 34, -1, -1, 1135,
2284 -1, -1, -1, -1, -1, -1, 1142, 1143, -1, 47,
2285 48, 49, -1, -1, 551, -1, -1, -1, 1154, -1,
2286 -1, -1, -1, -1, -1, 814, -1, -1, -1, -1,
2287 -1, -1, -1, 71, -1, -1, 825, -1, -1, -1,
2288 19, -1, -1, 971, 1180, 24, -1, 26, -1, 28,
2289 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2290 -1, -1, -1, -1, 1200, 1201, -1, -1, 47, 48,
2291 49, 1207, -1, -1, -1, -1, -1, 115, -1, 868,
2292 -1, -1, -1, -1, 1075, -1, -1, -1, -1, -1,
2293 551, 1019, 71, -1, -1, -1, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, -1, -1, 897, 898,
2295 899, 900, 901, 902, 903, 904, 905, 906, 907, 908,
2296 909, 910, 911, 912, 913, -1, 915, -1, 0, 1,
2297 -1, -1, -1, -1, -1, -1, 115, -1, -1, -1,
2298 -1, -1, -1, -1, -1, -1, 18, -1, -1, 187,
2299 188, 189, 24, 191, 192, 193, 1084, -1, -1, -1,
2300 -1, -1, 34, -1, -1, -1, -1, -1, -1, -1,
2301 -1, -1, 44, -1, 46, -1, -1, -1, -1, -1,
2302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, 984, 68, 69, 70, -1,
2304 72, -1, -1, -1, -1, 77, 78, 79, 187, 188,
2305 189, -1, 191, 192, 193, -1, -1, -1, -1, -1,
2306 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
2307 -1, -1, 1021, -1, -1, -1, -1, -1, -1, 111,
2308 112, 113, 114, -1, 116, 117, 118, 119, 120, 121,
2309 122, 123, 124, 125, -1, 127, 128, 129, 130, 131,
2310 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2311 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2312 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2313 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2314 172, 173, 174, 175, 176, 177, 178, 179, 180, -1,
2315 -1, -1, -1, -1, -1, 187, 188, 189, 190, -1,
2316 192, 193, 194, 0, 1, -1, -1, -1, -1, -1,
2317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2318 -1, 18, -1, -1, -1, -1, -1, 24, -1, -1,
2319 -1, -1, -1, -1, -1, -1, -1, 34, -1, -1,
2320 -1, -1, -1, -1, -1, -1, -1, 44, -1, 46,
2321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2323 -1, 68, 69, 70, -1, 72, -1, -1, -1, -1,
2324 77, 78, 79, -1, -1, -1, -1, -1, -1, -1,
2325 -1, -1, -1, -1, 1203, 92, 93, 94, -1, -1,
2326 -1, -1, -1, -1, -1, -1, -1, -1, 1217, -1,
2327 -1, -1, -1, -1, 111, 112, 113, 114, -1, 116,
2328 117, 118, 119, 120, 121, 122, 123, 124, 125, 1238,
2329 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2330 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2331 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2332 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2333 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2334 177, 178, 179, 180, -1, -1, -1, -1, -1, -1,
2335 187, 188, 189, 190, 1, 192, 193, 194, -1, 6,
2336 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2337 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2338 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2339 -1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
2340 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2341 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2342 -1, 68, 69, 70, 71, 72, -1, -1, -1, -1,
2343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2344 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
2345 97, 98, 99, 100, 101, -1, -1, -1, -1, -1,
2346 -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
2347 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
2348 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2349 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2350 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2351 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2352 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2353 177, 178, 179, 180, -1, -1, -1, -1, -1, -1,
2354 187, 188, 189, 190, 191, 192, 193, 194, 1, -1,
2355 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2356 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2357 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2358 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2359 43, 44, -1, -1, 47, 48, 49, -1, -1, -1,
2360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2361 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
2362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2364 -1, -1, -1, 96, 97, 98, 99, 100, 101, -1,
2365 -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
2366 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2367 123, 124, 125, -1, 127, 128, 129, 130, 131, 132,
2368 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2369 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2370 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2371 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2372 173, 174, 175, 176, 177, 178, 179, 180, -1, -1,
2373 -1, -1, -1, -1, 187, 188, 189, 190, 191, 192,
2374 193, 194, 1, -1, -1, -1, -1, 6, 7, 8,
2375 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2376 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2377 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2378 -1, -1, -1, 42, 43, 44, -1, -1, 47, 48,
2379 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2381 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2384 99, 100, 101, -1, -1, -1, -1, -1, -1, -1,
2385 -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2386 119, 120, 121, 122, 123, 124, 125, -1, 127, 128,
2387 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2388 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2389 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2390 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2391 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2392 179, 180, -1, -1, -1, -1, -1, -1, 187, 188,
2393 189, 190, 191, 192, 193, 194, 1, -1, -1, -1,
2394 -1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2395 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2396 -1, 26, -1, 28, 29, 30, 31, 32, 33, 34,
2397 35, 36, 37, 38, 39, 40, 41, 42, 43, -1,
2398 45, -1, 47, 48, 49, 50, 51, 52, 53, 54,
2399 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2400 65, 66, 67, -1, -1, -1, 71, -1, -1, -1,
2401 -1, -1, -1, 18, -1, -1, -1, -1, -1, 24,
2402 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2403 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
2404 -1, 1, 47, 48, 49, 110, 6, 7, 8, -1,
2405 115, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2406 20, -1, -1, -1, 24, 25, 71, -1, -1, 29,
2407 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2408 -1, -1, 42, 43, -1, -1, -1, 47, 48, 49,
2409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2410 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2411 115, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2412 -1, -1, 187, 188, 189, -1, 191, 192, 193, -1,
2413 -1, -1, -1, -1, -1, 95, 96, 97, 98, 99,
2414 100, 101, -1, -1, -1, -1, -1, 1, -1, -1,
2415 110, -1, 6, 7, 8, 115, 10, 11, 12, 13,
2416 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2417 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2418 34, -1, 187, 188, 189, -1, 191, -1, 42, 43,
2419 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2421 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2422 -1, -1, -1, -1, -1, -1, -1, 187, 188, 189,
2423 -1, 191, 192, 193, -1, -1, -1, -1, -1, -1,
2424 -1, 95, 96, 97, 98, 99, 100, 101, -1, -1,
2425 -1, -1, -1, 1, -1, -1, 110, -1, 6, 7,
2426 8, 115, 10, 11, 12, 13, 14, 15, 16, 17,
2427 18, 19, -1, -1, -1, -1, 24, -1, -1, -1,
2428 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2429 -1, -1, -1, -1, 42, 43, -1, -1, -1, 47,
2430 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2432 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2433 -1, 19, -1, 187, 188, 189, 24, 191, 192, 193,
2434 -1, 29, 30, 31, 32, 33, 34, 95, 96, 97,
2435 98, 99, 100, 101, 42, 43, -1, -1, 1, 47,
2436 48, 49, 110, 6, 7, 8, -1, 115, 11, 12,
2437 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2438 -1, 24, -1, 71, -1, -1, 29, 30, 31, 32,
2439 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2440 43, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, -1, -1, 115, 71, -1,
2443 -1, -1, -1, -1, -1, -1, -1, -1, -1, 187,
2444 188, 189, -1, 191, 192, 193, -1, -1, -1, -1,
2445 -1, -1, 95, 96, 97, 98, 99, 100, 101, -1,
2446 -1, -1, -1, -1, 1, -1, -1, 110, -1, 6,
2447 7, 8, 115, 10, 11, 12, 13, 14, 15, 16,
2448 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2449 -1, -1, 29, 30, 31, 32, 33, 34, -1, 187,
2450 188, 189, -1, 191, -1, 42, 43, -1, -1, -1,
2451 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2452 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2453 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2454 -1, -1, 19, -1, 187, 188, 189, 24, 191, 192,
2455 193, -1, 29, 30, 31, 32, 33, 34, -1, 96,
2456 97, 98, 99, 100, 101, 42, 43, -1, -1, 1,
2457 47, 48, 49, 110, 6, 7, 8, -1, 115, 11,
2458 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2459 -1, -1, 24, -1, 71, -1, -1, 29, 30, 31,
2460 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2461 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2462 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2463 -1, -1, -1, -1, -1, -1, -1, -1, 115, 71,
2464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2465 187, 188, 189, -1, 191, 192, 193, -1, -1, -1,
2466 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
2467 -1, -1, -1, -1, -1, 1, -1, -1, 110, -1,
2468 6, 7, 8, 115, 10, 11, 12, 13, 14, 15,
2469 16, 17, 18, 19, -1, -1, -1, -1, 24, -1,
2470 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2471 187, 188, 189, -1, 191, -1, 42, 43, -1, -1,
2472 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2473 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2474 -1, -1, -1, -1, -1, 71, -1, -1, -1, -1,
2475 -1, -1, -1, -1, -1, 187, 188, 189, -1, 191,
2476 192, 193, -1, -1, -1, -1, -1, -1, -1, -1,
2477 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
2478 -1, -1, -1, -1, 110, -1, 6, 7, 8, 115,
2479 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2480 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2481 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2482 -1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
2483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2485 -1, 71, 72, -1, -1, -1, -1, -1, -1, -1,
2486 -1, 187, 188, 189, -1, 191, 192, 193, -1, -1,
2487 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
2488 100, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2489 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2490 120, 121, 122, 123, 124, 125, -1, 127, 128, 129,
2491 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2492 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2493 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2494 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2495 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2496 180, -1, -1, -1, -1, -1, -1, 187, 188, 189,
2497 190, 191, 192, 193, 194, 6, 7, 8, -1, 10,
2498 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2499 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2500 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2501 -1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
2502 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2504 71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2506 -1, -1, -1, -1, -1, 96, 97, 98, 99, 100,
2507 101, -1, -1, -1, -1, -1, -1, -1, -1, 110,
2508 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2509 121, 122, 123, 124, 125, -1, 127, 128, 129, 130,
2510 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2511 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2512 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2513 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2514 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2515 -1, -1, -1, -1, -1, -1, 187, 188, 189, 190,
2516 191, 192, 193, 194, 6, 7, 8, -1, 10, 11,
2517 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2518 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2519 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2520 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2522 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2523 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2525 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
2526 -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
2527 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2528 122, 123, 124, 125, -1, 127, 128, 129, 130, 131,
2529 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2530 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2531 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2532 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2533 172, 173, 174, 175, 176, 177, 178, 179, 180, -1,
2534 -1, -1, -1, -1, -1, 187, 188, 189, 190, 191,
2535 192, 193, 194, 6, 7, 8, -1, 10, 11, 12,
2536 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2537 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2538 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2539 -1, -1, -1, -1, 47, 48, 49, -1, 6, 7,
2540 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2541 18, 19, 20, -1, -1, -1, 24, -1, 71, -1,
2542 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2544 48, 49, -1, 96, 97, 98, 99, 100, 101, -1,
2545 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
2546 -1, -1, 115, 71, -1, 122, 123, 124, 125, -1,
2547 127, -1, -1, -1, -1, 132, 133, -1, -1, 136,
2548 137, -1, 139, 140, 141, 142, -1, -1, 96, 97,
2549 98, 99, 100, 101, -1, -1, -1, 154, 155, -1,
2550 -1, -1, 110, -1, 6, 7, 8, 115, 10, 11,
2551 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2552 -1, -1, 24, 180, -1, -1, -1, 29, 30, 31,
2553 32, 33, 34, 190, 187, 188, 189, -1, 191, 192,
2554 193, -1, -1, -1, -1, 47, 48, 49, -1, 6,
2555 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2556 17, 18, 19, 20, -1, -1, -1, 24, -1, 71,
2557 -1, -1, 29, 30, 31, 32, 33, 34, -1, 187,
2558 188, 189, -1, 191, 192, 193, -1, -1, -1, -1,
2559 47, 48, 49, -1, 96, 97, 98, 99, 100, 101,
2560 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
2561 -1, -1, -1, 115, 71, -1, -1, -1, -1, -1,
2562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2563 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
2564 97, 98, 99, 100, 101, -1, -1, -1, -1, -1,
2565 -1, -1, -1, 110, -1, 6, 7, 8, 115, 10,
2566 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2567 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2568 31, 32, 33, 34, -1, 187, 188, 189, -1, 191,
2569 192, 193, -1, -1, -1, -1, 47, 48, 49, -1,
2570 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2571 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2572 71, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2573 187, 188, 189, -1, 191, 192, 193, -1, -1, -1,
2574 -1, 47, 48, 49, -1, 96, 97, 98, 99, 100,
2575 101, -1, -1, -1, -1, -1, -1, -1, -1, 110,
2576 -1, -1, -1, -1, 115, 71, -1, -1, -1, -1,
2577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2578 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2579 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
2580 -1, -1, -1, -1, 110, -1, 6, 7, 8, 115,
2581 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2582 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2583 30, 31, 32, 33, 34, -1, 187, 188, 189, -1,
2584 191, 192, 193, -1, -1, -1, -1, 47, 48, 49,
2585 -1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2586 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
2587 -1, 71, -1, -1, 29, 30, 31, 32, 33, 34,
2588 -1, 187, 188, 189, -1, 191, 192, 193, -1, -1,
2589 -1, -1, 47, 48, 49, -1, 96, 97, 98, 99,
2590 100, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2591 110, -1, -1, -1, -1, 115, 71, -1, -1, -1,
2592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2594 -1, 96, 97, 98, 99, 100, 101, 19, -1, -1,
2595 -1, -1, 24, -1, -1, 110, -1, -1, -1, -1,
2596 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, 44, -1, 46, -1, -1, -1, -1, -1,
2598 -1, -1, -1, -1, -1, -1, -1, 187, 188, 189,
2599 -1, 191, 192, 193, -1, -1, -1, -1, -1, -1,
2600 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2603 -1, -1, 187, 188, 189, -1, 191, 192, 193, 111,
2604 112, 113, 114, -1, 116, 117, 118, 119, 120, 121,
2605 122, 123, 124, 125, -1, 127, 128, 129, 130, 131,
2606 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2607 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2608 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2609 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2610 172, 173, 174, 175, 176, 177, 178, 179, 180, 20,
2611 -1, -1, -1, -1, -1, -1, -1, 189, 190, -1,
2612 -1, -1, 194, -1, -1, -1, -1, -1, -1, -1,
2613 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2616 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2617 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2618 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2620 111, 112, 113, 114, -1, 116, 117, 118, 119, 120,
2621 121, 122, 123, 124, 125, -1, 127, 128, 129, 130,
2622 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2623 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2624 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2625 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2626 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2627 -1, -1, -1, -1, -1, 19, 20, -1, 189, 190,
2628 24, -1, -1, 194, -1, 29, 30, 31, 32, 33,
2629 34, -1, -1, -1, -1, -1, 19, -1, -1, -1,
2630 -1, 24, -1, 47, 48, 49, 29, 30, 31, 32,
2631 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2632 -1, -1, -1, 19, 47, 48, 49, 71, 24, -1,
2633 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2634 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
2635 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2636 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2637 -1, 115, -1, -1, -1, 71, -1, -1, -1, -1,
2638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2639 -1, -1, 115, -1, -1, -1, -1, -1, -1, -1,
2640 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2641 24, -1, -1, -1, -1, -1, -1, -1, -1, 115,
2642 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2643 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2644 -1, -1, -1, 187, 188, 189, -1, 191, -1, -1,
2645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2646 -1, -1, -1, -1, 187, 188, 189, -1, 191, -1,
2647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2649 -1, 187, 188, 189, -1, 191, -1, 111, 112, 113,
2650 114, -1, 116, 117, 118, 119, 120, 121, 122, 123,
2651 124, 125, -1, 127, 128, 129, 130, 131, 132, 133,
2652 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2653 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2654 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2655 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2656 174, 175, 176, 177, 178, 179, 180, -1, -1, -1,
2657 -1, -1, -1, 187, 188, 189, 190, 24, 192, 193,
2658 194, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2659 -1, -1, -1, -1, -1, 42, 43, -1, 24, 25,
2660 47, 48, 49, 29, 30, 31, 32, 33, 34, 24,
2661 -1, -1, 27, -1, 29, 30, 31, 32, 33, 34,
2662 -1, 47, 48, 49, 71, -1, -1, -1, -1, -1,
2663 24, 25, 47, 48, 49, 29, 30, 31, 32, 33,
2664 34, 24, -1, -1, 27, 71, 29, 30, 31, 32,
2665 33, 34, -1, 47, 48, 49, 71, -1, -1, -1,
2666 -1, -1, -1, -1, 47, 48, 49, -1, 115, -1,
2667 -1, -1, -1, 24, 25, -1, -1, 71, 29, 30,
2668 31, 32, 33, 34, -1, -1, -1, -1, 71, 115,
2669 -1, -1, -1, -1, -1, -1, 47, 48, 49, 24,
2670 115, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2671 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2672 71, 115, 47, 48, 49, -1, -1, -1, 24, -1,
2673 -1, -1, 115, 29, 30, 31, 32, 33, 34, -1,
2674 187, 188, 189, -1, 191, -1, 71, -1, -1, -1,
2675 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2676 -1, 187, 188, 189, 115, 191, -1, -1, -1, -1,
2677 -1, -1, 187, 188, 189, 71, 191, 24, -1, -1,
2678 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2679 115, -1, -1, 187, 188, 189, -1, 191, -1, -1,
2680 47, 48, 49, -1, 187, 188, 189, 24, 191, -1,
2681 -1, -1, 29, 30, 31, 32, 33, 34, -1, 115,
2682 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2683 47, 48, 49, -1, -1, -1, 187, 188, 189, -1,
2684 191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2685 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2686 -1, -1, 187, 188, 189, 24, 191, -1, 115, -1,
2687 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2689 49, 187, 188, 189, -1, 191, -1, -1, 115, -1,
2690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2691 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2694 187, 188, 189, -1, 191, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, 115, -1, -1, -1,
2696 -1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
2697 187, 188, 189, -1, 191, -1, -1, -1, -1, -1,
2698 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2699 68, 69, 70, -1, 72, -1, -1, -1, -1, -1,
2700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2702 -1, -1, -1, -1, -1, -1, -1, -1, 187, 188,
2703 189, -1, 191, 111, 112, 113, 114, -1, 116, 117,
2704 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
2705 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2706 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2707 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2708 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2709 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2710 178, 179, 180, 44, -1, 46, -1, -1, -1, -1,
2711 -1, 189, 190, -1, -1, -1, 194, -1, -1, -1,
2712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2713 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
2714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2715 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2717 111, 112, 113, 114, -1, 116, 117, 118, 119, 120,
2718 121, 122, 123, 124, 125, -1, 127, 128, 129, 130,
2719 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2720 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2721 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2722 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2723 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2724 44, -1, -1, -1, -1, -1, 187, 188, 189, 190,
2725 -1, -1, -1, 194, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, 68, 69, 70, -1, -1, -1,
2727 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, 111, 112, 113,
2731 114, -1, 116, 117, 118, 119, 120, 121, 122, 123,
2732 124, 125, -1, 127, 128, 129, 130, 131, 132, 133,
2733 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2734 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2735 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2736 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2737 174, 175, 176, 177, 178, 179, 180, 44, -1, -1,
2738 -1, -1, -1, -1, -1, 189, 190, -1, -1, -1,
2739 194, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2741 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2742 -1, -1, -1, -1, -1, 92, 93, 94, -1, -1,
2743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2744 -1, -1, -1, -1, 111, 112, 113, 114, -1, 116,
2745 117, 118, 119, 120, 121, 122, 123, 124, 125, -1,
2746 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2747 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2748 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2749 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2750 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2751 177, 178, 179, 180, 44, -1, 46, -1, -1, -1,
2752 -1, -1, 189, 190, -1, -1, -1, 194, -1, -1,
2753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2754 -1, -1, 72, -1, -1, -1, -1, -1, -1, -1,
2755 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2756 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2757 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2758 -1, 111, 112, 113, 114, -1, 116, 117, 118, 119,
2759 120, 121, 122, 123, 124, 125, -1, 127, 128, 129,
2760 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2761 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2762 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2763 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2764 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2765 180, 44, -1, -1, -1, -1, -1, -1, -1, 189,
2766 190, -1, -1, -1, 194, -1, -1, -1, -1, -1,
2767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2769 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2771 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2772 113, 114, -1, 116, 117, 118, 119, 120, 121, 122,
2773 123, 124, 125, -1, 127, 128, 129, 130, 131, 132,
2774 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2775 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2776 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2777 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2778 173, 174, 175, 176, 177, 178, 179, 180, -1, -1,
2779 -1, -1, -1, -1, -1, -1, 189, 190, -1, -1,
2782 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2784 /* Skeleton output parser for bison,
2786 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
2789 This program is free software; you can redistribute it and/or modify
2790 it under the terms of the GNU General Public License as published by
2791 the Free Software Foundation; either version 2, or (at your option)
2794 This program is distributed in the hope that it will be useful,
2795 but WITHOUT ANY WARRANTY; without even the implied warranty of
2796 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2797 GNU General Public License for more details.
2799 You should have received a copy of the GNU General Public License
2800 along with this program; if not, write to the Free Software
2801 Foundation, Inc., 59 Temple Place - Suite 330,
2802 Boston, MA 02111-1307, USA. */
2804 /* As a special exception, when this file is copied by Bison into a
2805 Bison output file, you may use that output file without restriction.
2806 This special exception was added by the Free Software Foundation
2807 in version 1.24 of Bison. */
2809 /* This is the parser code that is written into each bison parser when
2810 the %semantic_parser declaration is not specified in the grammar.
2811 It was written by Richard Stallman by simplifying the hairy parser
2812 used when %semantic_parser is specified. */
2814 /* All symbols defined below should begin with yy or YY, to avoid
2815 infringing on user name space. This should be done even for local
2816 variables, as they might otherwise be expanded by user macros.
2817 There are some unavoidable exceptions within include files to
2818 define necessary library symbols; they are noted "INFRINGES ON
2819 USER NAME SPACE" below. */
2821 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
2823 /* The parser invokes alloca or malloc; define the necessary symbols. */
2825 # if YYSTACK_USE_ALLOCA
2826 # define YYSTACK_ALLOC alloca
2828 # ifndef YYSTACK_USE_ALLOCA
2829 # if defined (alloca) || defined (_ALLOCA_H)
2830 # define YYSTACK_ALLOC alloca
2833 # define YYSTACK_ALLOC __builtin_alloca
2839 # ifdef YYSTACK_ALLOC
2840 /* Pacify GCC's `empty if-body' warning. */
2841 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
2843 # if defined (__STDC__) || defined (__cplusplus)
2844 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
2845 # define YYSIZE_T size_t
2847 # define YYSTACK_ALLOC malloc
2848 # define YYSTACK_FREE free
2850 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
2853 #if (! defined (yyoverflow) \
2854 && (! defined (__cplusplus) \
2855 || (YYLTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
2857 /* A type that is properly aligned for any stack member. */
2861 cgrammar_YYSTYPE yyvs;
2867 /* The size of the maximum gap between one aligned stack and the next. */
2868 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
2870 /* The size of an array large to enough to hold all stacks, each with
2873 # define YYSTACK_BYTES(N) \
2874 ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE) + sizeof (YYLTYPE)) \
2875 + 2 * YYSTACK_GAP_MAX)
2877 # define YYSTACK_BYTES(N) \
2878 ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE)) \
2882 /* Copy COUNT objects from FROM to TO. The source and destination do
2886 # define YYCOPY(To, From, Count) \
2887 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
2889 # define YYCOPY(To, From, Count) \
2892 register YYSIZE_T yyi; \
2893 for (yyi = 0; yyi < (Count); yyi++) \
2894 (To)[yyi] = (From)[yyi]; \
2900 /* Relocate STACK from its old location to the new one. The
2901 local variables YYSIZE and YYSTACKSIZE give the old and new number of
2902 elements in the stack, and YYPTR gives the new location of the
2903 stack. Advance YYPTR to a properly aligned location for the next
2905 # define YYSTACK_RELOCATE(Stack) \
2908 YYSIZE_T yynewbytes; \
2909 YYCOPY (&yyptr->Stack, Stack, yysize); \
2910 Stack = &yyptr->Stack; \
2911 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
2912 yyptr += yynewbytes / sizeof (*yyptr); \
2919 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
2920 # define YYSIZE_T __SIZE_TYPE__
2922 #if ! defined (YYSIZE_T) && defined (size_t)
2923 # define YYSIZE_T size_t
2925 #if ! defined (YYSIZE_T)
2926 # if defined (__STDC__) || defined (__cplusplus)
2927 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2928 # define YYSIZE_T size_t
2931 #if ! defined (YYSIZE_T)
2932 # define YYSIZE_T unsigned int
2935 #define yyerrok (yyerrstatus = 0)
2936 #define yyclearin (yychar = YYEMPTY)
2939 #define YYACCEPT goto yyacceptlab
2940 #define YYABORT goto yyabortlab
2941 #define YYERROR goto yyerrlab1
2942 /* Like YYERROR except do call yyerror. This remains here temporarily
2943 to ease the transition to the new meaning of YYERROR, for GCC.
2944 Once GCC version 2 has supplanted version 1, this can go. */
2945 #define YYFAIL goto yyerrlab
2946 #define YYRECOVERING() (!!yyerrstatus)
2947 #define YYBACKUP(Token, Value) \
2949 if (yychar == YYEMPTY && yylen == 1) \
2953 yychar1 = YYTRANSLATE (yychar); \
2959 yyerror ("syntax error: cannot back up"); \
2965 #define YYERRCODE 256
2968 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
2971 When YYLLOC_DEFAULT is run, CURRENT is set the location of the
2972 first token. By default, to implement support for ranges, extend
2973 its range to the last symbol. */
2975 #ifndef YYLLOC_DEFAULT
2976 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2977 Current.last_line = Rhs[N].last_line; \
2978 Current.last_column = Rhs[N].last_column;
2982 /* YYLEX -- calling `yylex' with the right arguments. */
2987 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2989 # define YYLEX yylex (&yylval, &yylloc)
2991 # else /* !YYLSP_NEEDED */
2993 # define YYLEX yylex (&yylval, YYLEX_PARAM)
2995 # define YYLEX yylex (&yylval)
2997 # endif /* !YYLSP_NEEDED */
2999 # define YYLEX yylex ()
3000 #endif /* !YYPURE */
3003 /* Enable debugging if requested. */
3007 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3008 # define YYFPRINTF fprintf
3011 # define YYDPRINTF(Args) \
3016 /* Nonzero means print parse trace. It is left uninitialized so that
3017 multiple parsers can coexist. */
3019 #else /* !YYDEBUG */
3020 # define YYDPRINTF(Args)
3021 #endif /* !YYDEBUG */
3023 /* YYINITDEPTH -- initial size of the parser's stacks. */
3025 # define YYINITDEPTH 200
3028 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3029 if the built-in stack extension method is used).
3031 Do not make this value too large; the results are undefined if
3032 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
3033 evaluated with infinite-precision integer arithmetic. */
3040 # define YYMAXDEPTH 10000
3043 #ifdef YYERROR_VERBOSE
3046 # if defined (__GLIBC__) && defined (_STRING_H)
3047 # define yystrlen strlen
3049 /* Return the length of YYSTR. */
3051 # if defined (__STDC__) || defined (__cplusplus)
3052 yystrlen (const char *yystr)
3058 register const char *yys = yystr;
3060 while (*yys++ != '\0')
3063 return yys - yystr - 1;
3069 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
3070 # define yystpcpy stpcpy
3072 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3075 # if defined (__STDC__) || defined (__cplusplus)
3076 yystpcpy (char *yydest, const char *yysrc)
3078 yystpcpy (yydest, yysrc)
3083 register char *yyd = yydest;
3084 register const char *yys = yysrc;
3086 while ((*yyd++ = *yys++) != '\0')
3097 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3098 into yyparse. The argument should have type void *.
3099 It should actually point to an object.
3100 Grammar actions can access the variable by casting it
3101 to the proper pointer type. */
3103 #ifdef YYPARSE_PARAM
3104 # if defined (__STDC__) || defined (__cplusplus)
3105 # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3106 # define YYPARSE_PARAM_DECL
3108 # define YYPARSE_PARAM_ARG YYPARSE_PARAM
3109 # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3111 #else /* !YYPARSE_PARAM */
3112 # define YYPARSE_PARAM_ARG
3113 # define YYPARSE_PARAM_DECL
3114 #endif /* !YYPARSE_PARAM */
3116 /* Prevent warning if -Wstrict-prototypes. */
3118 # ifdef YYPARSE_PARAM
3119 int yyparse (void *);
3125 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
3126 variables are global, or local to YYPARSE. */
3128 #define YY_DECL_NON_LSP_VARIABLES \
3129 /* The lookahead symbol. */ \
3132 /* The semantic value of the lookahead symbol. */ \
3133 cgrammar_YYSTYPE yylval; \
3135 /* Number of parse errors so far. */ \
3139 # define YY_DECL_VARIABLES \
3140 YY_DECL_NON_LSP_VARIABLES \
3142 /* Location data for the lookahead symbol. */ \
3145 # define YY_DECL_VARIABLES \
3146 YY_DECL_NON_LSP_VARIABLES
3150 /* If nonreentrant, generate the variables here. */
3154 #endif /* !YYPURE */
3157 yyparse (YYPARSE_PARAM_ARG)
3160 /* If reentrant, generate the variables here. */
3163 #endif /* !YYPURE */
3165 register int yystate;
3168 /* Number of tokens to shift before error messages enabled. */
3170 /* Lookahead token as an internal (translated) token number. */
3173 /* Three stacks and their tools:
3174 `yyss': related to states,
3175 `yyvs': related to semantic values,
3176 `yyls': related to locations.
3178 Refer to the stacks thru separate pointers, to allow yyoverflow
3179 to reallocate them elsewhere. */
3181 /* The state stack. */
3182 short yyssa[YYINITDEPTH];
3183 short *yyss = yyssa;
3184 register short *yyssp;
3186 /* The semantic value stack. */
3187 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
3188 cgrammar_YYSTYPE *yyvs = yyvsa;
3189 register cgrammar_YYSTYPE *yyvsp;
3192 /* The location stack. */
3193 YYLTYPE yylsa[YYINITDEPTH];
3194 YYLTYPE *yyls = yylsa;
3199 # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3201 # define YYPOPSTACK (yyvsp--, yyssp--)
3204 YYSIZE_T yystacksize = YYINITDEPTH;
3207 /* The variables used to return semantic value and location from the
3209 cgrammar_YYSTYPE yyval;
3214 /* When reducing, the number of symbols on the RHS of the reduced
3218 YYDPRINTF ((stderr, "Starting parse\n"));
3223 yychar = YYEMPTY; /* Cause a token to be read. */
3225 /* Initialize stack pointers.
3226 Waste one element of value and location stack
3227 so that they stay on the same level as the state stack.
3228 The wasted elements are never initialized. */
3237 /*------------------------------------------------------------.
3238 | yynewstate -- Push a new state, which is found in yystate. |
3239 `------------------------------------------------------------*/
3241 /* In all cases, when you get here, the value and location stacks
3242 have just been pushed. so pushing a state here evens the stacks.
3249 if (yyssp >= yyss + yystacksize - 1)
3251 /* Get the current used size of the three stacks, in elements. */
3252 YYSIZE_T yysize = yyssp - yyss + 1;
3256 /* Give user a chance to reallocate the stack. Use copies of
3257 these so that the &'s don't force the real ones into
3259 cgrammar_YYSTYPE *yyvs1 = yyvs;
3260 short *yyss1 = yyss;
3262 /* Each stack pointer address is followed by the size of the
3263 data in use in that stack, in bytes. */
3265 YYLTYPE *yyls1 = yyls;
3266 /* This used to be a conditional around just the two extra args,
3267 but that might be undefined if yyoverflow is a macro. */
3268 yyoverflow ("parser stack overflow",
3269 &yyss1, yysize * sizeof (*yyssp),
3270 &yyvs1, yysize * sizeof (*yyvsp),
3271 &yyls1, yysize * sizeof (*yylsp),
3275 yyoverflow ("parser stack overflow",
3276 &yyss1, yysize * sizeof (*yyssp),
3277 &yyvs1, yysize * sizeof (*yyvsp),
3283 #else /* no yyoverflow */
3284 # ifndef YYSTACK_RELOCATE
3287 /* Extend the stack our own way. */
3288 if (yystacksize >= YYMAXDEPTH)
3291 if (yystacksize > YYMAXDEPTH)
3292 yystacksize = YYMAXDEPTH;
3295 short *yyss1 = yyss;
3296 union yyalloc *yyptr =
3297 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3300 YYSTACK_RELOCATE (yyss);
3301 YYSTACK_RELOCATE (yyvs);
3303 YYSTACK_RELOCATE (yyls);
3305 # undef YYSTACK_RELOCATE
3307 YYSTACK_FREE (yyss1);
3310 #endif /* no yyoverflow */
3312 yyssp = yyss + yysize - 1;
3313 yyvsp = yyvs + yysize - 1;
3315 yylsp = yyls + yysize - 1;
3318 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3319 (unsigned long int) yystacksize));
3321 if (yyssp >= yyss + yystacksize - 1)
3325 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3335 /* Do appropriate processing given the current state. */
3336 /* Read a lookahead token if we need one and don't already have one. */
3339 /* First try to decide what to do without reference to lookahead token. */
3341 yyn = yypact[yystate];
3345 /* Not known => get a lookahead token if don't already have one. */
3347 /* yychar is either YYEMPTY or YYEOF
3348 or a valid token in external form. */
3350 if (yychar == YYEMPTY)
3352 YYDPRINTF ((stderr, "Reading a token: "));
3356 /* Convert token to internal form (in yychar1) for indexing tables with */
3358 if (yychar <= 0) /* This means end of input. */
3361 yychar = YYEOF; /* Don't call YYLEX any more */
3363 YYDPRINTF ((stderr, "Now at end of input.\n"));
3367 yychar1 = YYTRANSLATE (yychar);
3370 /* We have to keep this `#if YYDEBUG', since we use variables
3371 which are defined only if `YYDEBUG' is set. */
3374 YYFPRINTF (stderr, "Next token is %d (%s",
3375 yychar, yytname[yychar1]);
3376 /* Give the individual parser a way to print the precise
3377 meaning of a token, for further debugging info. */
3379 YYPRINT (stderr, yychar, yylval);
3381 YYFPRINTF (stderr, ")\n");
3387 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3392 /* yyn is what to do for this token type in this state.
3393 Negative => reduce, -yyn is rule number.
3394 Positive => shift, yyn is new state.
3395 New state is final state => don't bother to shift,
3396 just return success.
3397 0, or most negative number => error. */
3412 /* Shift the lookahead token. */
3413 YYDPRINTF ((stderr, "Shifting token %d (%s), ",
3414 yychar, yytname[yychar1]));
3416 /* Discard the token being shifted unless it is eof. */
3417 if (yychar != YYEOF)
3425 /* Count tokens shifted since error; after three, turn off error
3434 /*-----------------------------------------------------------.
3435 | yydefault -- do the default action for the current state. |
3436 `-----------------------------------------------------------*/
3438 yyn = yydefact[yystate];
3444 /*-----------------------------.
3445 | yyreduce -- Do a reduction. |
3446 `-----------------------------*/
3448 /* yyn is the number of a rule to reduce with. */
3451 /* If YYLEN is nonzero, implement the default value of the action:
3454 Otherwise, the following line sets YYVAL to the semantic value of
3455 the lookahead token. This behavior is undocumented and Bison
3456 users should not rely upon it. Assigning to YYVAL
3457 unconditionally makes the parser a bit smaller, and it avoids a
3458 GCC warning that YYVAL may be used uninitialized. */
3459 yyval = yyvsp[1-yylen];
3462 /* Similarly for the default location. Let the user run additional
3463 commands if for instance locations are ranges. */
3464 yyloc = yylsp[1-yylen];
3465 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3469 /* We have to keep this `#if YYDEBUG', since we use variables which
3470 are defined only if `YYDEBUG' is set. */
3475 YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
3478 /* Print the symbols being reduced, and their result. */
3479 for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
3480 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
3481 YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3488 { context_checkGlobalScope (); ;
3491 { context_checkGlobalScope (); ;
3494 { uentry_clearDecl (); ;
3497 { uentry_clearDecl (); ;
3500 { uentry_clearDecl (); ;
3503 { uentry_clearDecl (); ;
3506 { uentry_clearDecl (); ;
3509 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3512 { uentry_clearDecl (); lltok_free (yyvsp[0].tok); /* evans 2002-02-08: okay to have a null statement */ ;
3515 { uentry_clearDecl (); ;
3518 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); lltok_free2 (yyvsp[-7].tok, yyvsp[0].tok); ;
3521 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr); lltok_free3 (yyvsp[-10].tok, yyvsp[-5].tok, yyvsp[0].tok); ;
3524 { context_enterFunctionHeader (); ;
3528 declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3529 context_exitFunctionHeader ();
3530 lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); /*!*/
3535 qtype qint = qtype_create (ctype_int);
3536 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3541 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3544 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
3547 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3550 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3553 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3557 exprNode_findValue (yyvsp[-2].expr);
3558 idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3560 if (exprNode_hasValue (yyvsp[-2].expr))
3562 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp),
3563 exprNode_getLongValue (yyvsp[-2].expr)));
3567 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp)));
3570 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3574 { setCurrentParams (uentryList_missingParams); ;
3577 { /* need to support globals and modifies here! */
3578 functionClauseList fcl;
3579 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3580 uentryList_makeMissingParams ());
3582 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3584 /*drl 7/25/01 added*/
3585 setImplictfcnConstraints();
3587 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
3588 functionClauseList_unparse(yyvsp[0].funcclauselist)
3592 fcl = functionClauseList_setImplictConstraints(yyvsp[0].funcclauselist);
3594 idDecl_addClauses (yyval.ntyp, fcl);
3596 DPRINTF((message("1 added fuctionClause List: %s to the Id",
3597 functionClauseList_unparse(fcl)
3603 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3607 { setCurrentParams (yyvsp[-1].entrylist); ;
3611 functionClauseList fcl;
3612 setImplictfcnConstraints ();
3613 clearCurrentParams ();
3614 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3616 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
3617 functionClauseList_unparse(yyvsp[0].funcclauselist)
3621 fcl = functionClauseList_setImplictConstraints(yyvsp[0].funcclauselist);
3623 idDecl_addClauses (yyval.ntyp, fcl);
3625 DPRINTF((message("added fuctionClause List: %s to the Id",
3626 functionClauseList_unparse(fcl)
3632 lltok_free2 (yyvsp[-4].tok, yyvsp[-2].tok);
3636 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3639 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3642 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp)));
3643 lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok);
3650 if (exprNode_hasValue (yyvsp[-2].expr)
3651 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3653 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3660 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3661 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3665 { setCurrentParams (uentryList_missingParams); ;
3669 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3670 uentryList_makeMissingParams ());
3672 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3673 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3675 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3679 { setCurrentParams (yyvsp[-1].entrylist); ;
3683 clearCurrentParams ();
3684 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3685 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3687 lltok_free (yyvsp[-4].tok);
3688 /*!! lltok_free2 ($3, $5); */
3692 { setCurrentParams (yyvsp[-1].entrylist); ;
3695 { clearCurrentParams (); ;
3698 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist);
3699 lltok_free3 (yyvsp[-9].tok, yyvsp[-7].tok, yyvsp[-5].tok);
3703 { exprNode_checkMacroBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3706 { exprNode_checkIterBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3709 { exprNode_checkIterEnd (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok);;
3712 { exprChecks_checkEmptyMacroBody (); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3715 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3718 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3721 { cscannerHelp_expectingMetaStateName (); ;
3724 { cscannerHelp_clearExpectingMetaStateName ();
3725 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo);
3726 lltok_free (yyvsp[-1].tok);
3730 { cscannerHelp_expectingMetaStateName (); ;
3733 { cscannerHelp_clearExpectingMetaStateName ();
3734 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo);
3735 lltok_free2 (yyvsp[-3].tok, yyvsp[-1].tok);
3739 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3742 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3745 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3748 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3752 yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3753 DPRINTF(("Done BufConstraint1\n")); ;
3756 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3760 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3761 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3764 { yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;
3767 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3770 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3773 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3776 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3782 t = cstring_toCharsSafe (exprNode_unparse($3));
3785 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3789 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3792 { yyval.sr = yyvsp[-1].sr; ;
3795 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3798 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3801 { yyval.funcclauselist = functionClauseList_new (); ;
3804 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3807 { yyval.funcclauselist = functionClauseList_new (); ;
3810 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3813 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3816 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3819 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3822 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3825 { yyval.funcclause = yyvsp[0].funcclause; ;
3828 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3831 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3834 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3837 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3840 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3843 { yyval.funcclause = yyvsp[0].funcclause; ;
3846 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3849 { yyval.globsclause = yyvsp[-1].globsclause; ;
3852 { setProcessingGlobalsList (); ;
3856 unsetProcessingGlobals ();
3857 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
3861 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3864 { yyval.modsclause = yyvsp[-1].modsclause; ;
3868 context_setProtectVars (); enterParamsTemp ();
3869 sRef_setGlobalScopeSafe ();
3875 sRef_clearGlobalScopeSafe ();
3876 context_releaseVars ();
3877 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3881 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3884 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3887 { yyval.warnclause = warnClause_undefined; ;
3890 { yyval.warnclause = yyvsp[-1].warnclause; ;
3894 llassert (exprNode_knownStringValue (yyvsp[0].expr));
3895 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
3896 exprNode_free (yyvsp[0].expr);
3900 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3903 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3906 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3909 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3912 { yyval.tquallist = qualList_undefined; ;
3915 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3918 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3921 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3924 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3927 { yyval.typequal = qual_createUndef (); ;
3930 { yyval.typequal = qual_createKilled (); ;
3933 { yyval.typequal = qual_createOut (); ;
3936 { yyval.typequal = qual_createIn (); ;
3939 { yyval.typequal = qual_createPartial (); ;
3943 /**!!! deal with fred; fred (int); declarations! **/
3944 qtype qint = qtype_create (ctype_int);
3945 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3950 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3953 { checkDoneParams (); context_enterInnerContext (); ;
3957 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3958 context_exitInner (yyvsp[0].expr);
3962 { context_enterOldStyleScope (); ;
3965 { oldStyleDoneParams (); context_enterInnerContext (); ;
3969 exprNode_checkFunctionBody (yyvsp[0].expr);
3970 yyval.expr = yyvsp[0].expr; /* oldstyle */
3971 context_exitInner (yyvsp[0].expr);
3976 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3977 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3980 context_exitFunction ();
3984 { yyval.srset = yyvsp[-1].srset; ;
3987 { yyval.srset = sRefSet_new (); ;
3990 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3993 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3996 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3999 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
4002 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
4005 { yyval.sr = modListPointer (yyvsp[0].sr); ;
4008 { yyval.sr = yyvsp[-1].sr; ;
4011 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
4014 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
4017 { yyval.sr = yyvsp[0].sr; ;
4020 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
4023 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
4026 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
4029 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
4032 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
4035 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
4038 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
4041 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
4044 { yyval.sr = yyvsp[-1].sr; ;
4047 { cstring_markOwned (yyvsp[0].cname);
4048 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
4051 { cstring_markOwned (yyvsp[0].cname);
4052 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
4055 { DPRINTF ((message("Empty optSpecClauseList") )); yyval.srset = sRefSet_undefined ;
4058 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
4060 DPRINTF((message("returning sRefSEt_undefined ") ));
4061 yyval.srset = sRefSet_undefined; }
4065 { if (sRef_isValid (yyvsp[0].sr))
4067 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
4071 yyval.srset = yyvsp[-2].srset;
4076 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
4079 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
4082 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4085 { yyval.expr = exprNode_fromIdentifier (cscannerHelp_coerceId (yyvsp[0].cname)); ;
4088 { yyval.expr = exprNode_makeError (); ;
4091 { exprChecks_inCompoundStatementExpression (); ;
4094 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
4097 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4100 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4103 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
4106 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4109 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4112 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4115 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4118 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4121 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
4124 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4127 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4130 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4133 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4136 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4139 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4142 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4145 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4148 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4151 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4154 { yyval.expr = yyvsp[-1].expr; ;
4157 { yyval.expr = yyvsp[0].expr; ;
4160 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); lltok_free (yyvsp[-1].tok); ;
4163 { yyval.cstringlist = yyvsp[-3].cstringlist; lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
4166 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
4169 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist);
4170 lltok_free3 (yyvsp[-8].tok, yyvsp[-6].tok, yyvsp[-3].tok); lltok_free (yyvsp[-1].tok); ;
4173 { context_setProtectVars (); ;
4176 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
4179 {context_enterSizeof();
4182 {context_leaveSizeof();
4185 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;
4188 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4191 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;
4194 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4197 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); lltok_free (yyvsp[-1].tok); ;
4200 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4203 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4206 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4209 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4212 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4215 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4218 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4221 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4224 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4227 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4230 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4233 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4236 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4239 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4242 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4245 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4248 { exprNode_produceGuards (yyvsp[-1].expr);
4249 context_enterAndClause (yyvsp[-1].expr);
4254 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4255 context_exitAndClause (yyval.expr, yyvsp[0].expr);
4260 exprNode_produceGuards (yyvsp[-1].expr);
4261 context_enterOrClause (yyvsp[-1].expr);
4266 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4267 context_exitOrClause (yyval.expr, yyvsp[0].expr);
4271 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4274 { context_enterFalseClause (yyvsp[-4].expr); ;
4277 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4280 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4283 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4286 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4289 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4292 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4295 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4298 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4301 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4304 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4307 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4310 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4313 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4316 { yyval.expr = exprNode_undefined; ;
4319 { yyval.expr = yyvsp[0].expr; ;
4322 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
4325 { yyval.expr = exprNode_makeError (); ;
4328 { yyval.expr = exprNode_makeError (); ;
4332 setProcessingVars (yyvsp[-3].qtyp);
4333 processNamedDecl (yyvsp[-1].ntyp);
4338 unsetProcessingVars ();
4339 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp);
4340 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4344 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4347 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
4348 unsetProcessingVars ();
4352 { yyval.expr = yyvsp[0].expr; ;
4355 { yyval.expr = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId (yyvsp[0].ctyp))); ;
4359 processNamedDecl (yyvsp[-1].ntyp);
4360 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4364 { processNamedDecl (yyvsp[-2].ntyp); ;
4367 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4370 { setProcessingTypedef (yyvsp[0].qtyp); ;
4373 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4376 { /* in the ANSI grammar, semantics unclear */ ;
4379 { /* in the ANSI grammar, semantics unclear */ ;
4382 { cscannerHelp_setExpectingTypeName (); ;
4385 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;
4388 { yyval.exprlist = yyvsp[-1].exprlist; ;
4391 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4394 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4397 { yyval.exprlist = yyvsp[-1].exprlist; ;
4400 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4403 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4406 { yyval.expr = exprNode_makeError (); ;
4409 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4412 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); lltok_free (yyvsp[0].tok); ;
4415 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
4418 { yyval.expr = exprNode_undefined; ;
4421 { yyval.expr = yyvsp[-1].expr; ;
4424 { yyval.expr = exprNode_undefined;
4425 /* gcc extension, obsolete since 2.5 */ ;
4428 { yyval.expr = exprNode_undefined; ;
4431 { yyval.expr = exprNode_undefined; ;
4434 { yyval.expr = exprNode_undefined; ;
4437 { yyval.expr = exprNode_undefined; ;
4440 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4443 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4446 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4449 { yyval.typequal = qual_createInline (); ;
4452 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4455 { yyval.typequal = qual_createAuto (); ;
4458 { yyval.typequal = qual_createRegister (); ;
4461 { yyval.stateclause = yyvsp[-1].stateclause; ;
4465 context_setProtectVars ();
4467 sRef_setGlobalScopeSafe ();
4473 sRef_clearGlobalScopeSafe ();
4474 context_releaseVars ();
4475 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4479 { yyval.funcclause = yyvsp[-1].funcclause; ;
4482 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4486 context_exitFunctionHeader ();
4487 context_setProtectVars ();
4489 sRef_setGlobalScopeSafe ();
4495 sRef_clearGlobalScopeSafe ();
4496 context_releaseVars ();
4497 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4502 context_setProtectVars ();
4504 sRef_setGlobalScopeSafe ();
4509 context_exitFunctionHeader ();
4511 sRef_clearGlobalScopeSafe ();
4512 context_releaseVars ();
4513 DPRINTF (("done optGlobBufConstraintsAux\n"));
4515 if (lltok_isEnsures (yyvsp[-4].tok))
4517 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4519 else if (lltok_isRequires (yyvsp[-4].tok))
4521 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4528 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4532 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4535 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4538 { yyval.typequal = qual_createExits (); ;
4541 { yyval.typequal = qual_createMayExit (); ;
4544 { yyval.typequal = qual_createTrueExit (); ;
4547 { yyval.typequal = qual_createFalseExit (); ;
4550 { yyval.typequal = qual_createNeverExit (); ;
4553 { yyval.typequal = qual_createChecked (); ;
4556 { yyval.typequal = qual_createCheckMod (); ;
4559 { yyval.typequal = qual_createUnchecked (); ;
4562 { yyval.typequal = qual_createCheckedStrict (); ;
4565 { yyval.typequal = qual_createOwned (); ;
4568 { yyval.typequal = qual_createDependent (); ;
4571 { yyval.typequal = qual_createYield (); ;
4574 { yyval.typequal = qual_createTemp (); ;
4577 { yyval.typequal = qual_createOnly (); ;
4580 { yyval.typequal = qual_createKeep (); ;
4583 { yyval.typequal = qual_createKept (); ;
4586 { yyval.typequal = qual_createShared (); ;
4589 { yyval.typequal = qual_createUnique (); ;
4592 { yyval.typequal = qual_createNull (); ;
4595 { yyval.typequal = qual_createIsNull (); ;
4598 { yyval.typequal = qual_createRelNull (); ;
4601 { yyval.typequal = qual_createNotNull (); ;
4604 { yyval.typequal = qual_createExposed (); ;
4607 { yyval.typequal = qual_createObserver (); ;
4610 { yyval.typequal = qual_createNullTerminated (); ;
4613 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4616 { yyval.typequal = qual_createReturned (); ;
4619 { yyval.typequal = qual_createSef (); ;
4622 { yyval.typequal = qual_createUnused (); ;
4625 { yyval.typequal = qual_createExternal (); ;
4628 { yyval.typequal = qual_createTrueNull (); ;
4631 { yyval.typequal = qual_createFalseNull (); ;
4634 { yyval.typequal = qual_createAbstract (); ;
4637 { yyval.typequal = qual_createNumAbstract (); ;
4640 { yyval.typequal = qual_createConcrete (); ;
4643 { yyval.typequal = qual_createMutable (); ;
4646 { yyval.typequal = qual_createImmutable (); ;
4649 { yyval.typequal = qual_createRefCounted (); ;
4652 { yyval.typequal = qual_createRefs (); ;
4655 { yyval.typequal = qual_createKillRef (); ;
4658 { yyval.typequal = qual_createRelDef (); ;
4661 { yyval.typequal = qual_createNewRef (); ;
4664 { yyval.typequal = qual_createTempRef (); ;
4667 { yyval.typequal = qual_createShort (); ;
4670 { yyval.typequal = qual_createLong (); ;
4673 { yyval.typequal = qual_createSigned (); ;
4676 { yyval.typequal = qual_createUnsigned (); ;
4679 { yyval.typequal = qual_createOut (); ;
4682 { yyval.typequal = qual_createIn (); ;
4685 { yyval.typequal = qual_createPartial (); ;
4688 { yyval.typequal = qual_createSpecial (); ;
4691 { yyval.typequal = qual_createConst (); ;
4694 { yyval.typequal = qual_createVolatile (); ;
4697 { yyval.typequal = qual_createRestrict (); ;
4700 { yyval.typequal = yyvsp[-1].typequal; ;
4703 { yyval.typequal = yyvsp[-1].typequal; ;
4706 { yyval.typequal = yyvsp[-1].typequal; ;
4709 { yyval.typequal = yyvsp[-1].typequal; ;
4712 { yyval.typequal = yyvsp[-1].typequal; ;
4715 { yyval.typequal = yyvsp[-1].typequal; ;
4718 { yyval.typequal = yyvsp[-1].typequal; ;
4721 { yyval.typequal = yyvsp[-1].typequal; ;
4724 { yyval.typequal = yyvsp[-1].typequal; ;
4727 { yyval.ctyp = ctype_makeAnytype (); ;
4730 { yyval.ctyp = ctype_anyintegral; ;
4733 { yyval.ctyp = ctype_unsignedintegral; ;
4736 { yyval.ctyp = ctype_signedintegral; ;
4739 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4742 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4745 { yyval.qtyp = yyvsp[0].qtyp; ;
4748 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4751 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4754 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4757 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4760 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4763 { yyval.qtyp = qtype_unknown (); ;
4766 { yyval.qtyp = yyvsp[0].qtyp; ;
4769 { yyval.conL = constraintList_undefined; ;
4772 { sRef_setGlobalScopeSafe (); ;
4775 { sRef_clearGlobalScopeSafe (); ;
4778 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); context_setGlobalStructInfo(ct, yyvsp[0].conL); yyval.ctyp = ct; ;
4781 { sRef_setGlobalScopeSafe (); ;
4784 { sRef_clearGlobalScopeSafe (); ;
4787 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4790 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4793 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4796 { sRef_setGlobalScopeSafe (); ;
4799 { sRef_clearGlobalScopeSafe (); ;
4802 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4805 { sRef_setGlobalScopeSafe (); ;
4808 { sRef_clearGlobalScopeSafe (); ;
4811 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4814 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4817 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4820 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4823 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4826 { cscannerHelp_clearExpectingTypeName (); ;
4829 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4832 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4835 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4838 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4841 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4844 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4847 { yyval.ntyp = yyvsp[0].ntyp; ;
4850 { yyval.ntyp = idDecl_undefined; ;
4853 { yyval.ntyp = yyvsp[-3].ntyp; ;
4856 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4859 { context_pushLoc (); ;
4862 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4865 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4868 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4871 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4874 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4875 usymtab_supGlobalEntry (ue);
4876 yyval.cname = yyvsp[0].cname;
4880 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4881 usymtab_supGlobalEntry (ue);
4882 yyval.cname = yyvsp[-3].cname;
4886 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4890 qtype qt = qtype_unknown ();
4891 qtype_adjustPointers (yyvsp[-1].pointers, qt);
4892 yyval.ntyp = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
4896 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4899 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4902 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4905 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4908 { yyval.typequal = qual_createConst (); ;
4911 { yyval.typequal = qual_createRestrict (); ;
4914 { yyval.typequal = qual_createVolatile (); ;
4917 { yyval.tquallist = qualList_single (yyvsp[0].typequal); ;
4920 { yyval.tquallist = qualList_add (yyvsp[-1].tquallist, yyvsp[0].typequal); ;
4923 { yyval.pointers = pointers_create (yyvsp[0].tok); ;
4926 { yyval.pointers = pointers_createMods (yyvsp[-1].tok, yyvsp[0].tquallist); ;
4929 { yyval.pointers = pointers_extend (pointers_create (yyvsp[-1].tok), yyvsp[0].pointers); ;
4932 { yyval.pointers = pointers_extend (pointers_createMods (yyvsp[-2].tok, yyvsp[-1].tquallist), yyvsp[0].pointers); ;
4935 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4938 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4941 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4944 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4947 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4953 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4959 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4963 if (isFlipOldStyle ())
4965 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4971 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4976 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4980 llparseerror (message ("Inconsistent function parameter syntax: %q",
4981 idDecl_unparse (tparam)));
4985 yyval.oentry = makeCurrentParam (tparam);
4986 idDecl_free (tparam);
4990 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4993 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].pointers, ctype_unknown); ;
4996 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].pointers, yyvsp[0].ctyp); ;
4999 { yyval.ctyp = ctype_unknown; ;
5002 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
5005 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
5008 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
5011 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
5014 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
5017 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
5020 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
5023 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
5026 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
5029 { yyval.expr = yyvsp[0].expr; ;
5032 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5035 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
5038 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
5041 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5044 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
5047 { context_setProtectVars (); ;
5050 { context_sizeofReleaseVars (); ;
5053 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
5054 context_enterForClause (yyvsp[-5].expr); ;
5057 { setProcessingIterVars (yyvsp[-2].entry); ;
5060 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
5063 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
5066 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
5069 { yyval.expr = yyvsp[-1].expr; ;
5072 { yyval.expr = exprNode_makeError (); ;
5075 { exprNode_checkIfPred (yyvsp[0].expr); ;
5078 { /* don't: context_exitTrueClause ($1, $2); */
5079 yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr);
5083 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5086 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5089 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5092 { yyval.expr = exprNode_makeError (); ;
5095 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
5098 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
5107 { context_enterCaseClause (yyvsp[0].expr); ;
5110 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
5113 { context_enterCaseClause (yyvsp[0].expr); ;
5116 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
5119 { context_enterCaseClause (exprNode_undefined); ;
5122 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
5125 { context_enterCaseClause (exprNode_undefined); ;
5128 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
5131 { yyval.expr = yyvsp[-1].expr; ;
5134 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
5137 { yyval.expr = yyvsp[-1].expr; ;
5140 { context_enterInnerContext (); ;
5143 { context_exitInnerPlain (); ;
5146 { context_enterStructInnerContext (); ;
5149 { context_exitStructInnerContext (); ;
5152 { context_exitInnerSafe (); ;
5155 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5158 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
5161 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5164 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5167 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5170 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5173 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5176 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
5177 lltok_getLoc (yyvsp[-1].tok)));
5181 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
5184 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5187 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5190 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5193 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5196 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5199 { yyval.expr = yyvsp[0].expr; ;
5202 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5205 { yyval.expr = yyvsp[0].expr; ;
5208 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
5211 { yyval.expr = yyvsp[0].expr; ;
5214 { yyval.expr = yyvsp[-2].expr; ;
5217 { yyval.expr = yyvsp[0].expr; ;
5220 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5223 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5226 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5229 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5232 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5235 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
5239 exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr);
5240 exprNode_checkIfPred (yyvsp[-1].expr);
5241 yyval.expr = yyvsp[-1].expr;
5246 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5247 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5251 { context_enterFalseClause (yyvsp[-2].expr); ;
5255 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5256 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5260 { context_enterSwitch (yyvsp[0].expr); ;
5263 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5266 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5269 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5272 { context_enterIterClause (); ;
5275 { setProcessingIterVars (yyvsp[-3].entry); ;
5279 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
5284 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
5287 { nextIterParam (); ;
5290 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
5293 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5296 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5299 { uentry ue = cscannerHelp_coerceIterId (yyvsp[0].cname);
5301 if (uentry_isValid (ue))
5303 yyval.expr = exprNode_iterId (ue);
5307 yyval.expr = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
5312 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5315 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
5318 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5321 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5324 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5327 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
5330 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5333 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5336 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5339 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5342 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5345 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5348 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5351 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5354 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5357 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5360 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5363 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5366 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5369 { yyval.expr = yyvsp[0].expr; ;
5372 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5375 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5378 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5381 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5384 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5387 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5390 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5393 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5396 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5399 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5402 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5405 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5408 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5411 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5414 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5417 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5420 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5423 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5426 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5429 { context_enterTrueClause (yyvsp[-1].expr); ;
5432 { context_enterFalseClause (yyvsp[-4].expr); ;
5435 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5438 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5441 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5444 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5447 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5450 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5453 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5456 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5459 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5462 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5465 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5468 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5471 { yyval.entry = yyvsp[0].entry; ;
5474 { yyval.entry = uentry_undefined; ;
5477 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5480 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5483 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5486 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5489 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5492 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5495 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5498 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5501 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5504 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5507 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5510 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5513 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5516 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5519 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5522 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5525 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5528 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5537 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5540 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5543 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5546 { yyval.cname = yyvsp[0].cname; ;
5549 { yyval.ctyp = ctype_unknown; ;
5552 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5555 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5570 short *yyssp1 = yyss - 1;
5571 YYFPRINTF (stderr, "state stack now");
5572 while (yyssp1 != yyssp)
5573 YYFPRINTF (stderr, " %d", *++yyssp1);
5574 YYFPRINTF (stderr, "\n");
5583 /* Now `shift' the result of the reduction. Determine what state
5584 that goes to, based on the state we popped back to and the rule
5585 number reduced by. */
5589 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5590 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5591 yystate = yytable[yystate];
5593 yystate = yydefgoto[yyn - YYNTBASE];
5598 /*------------------------------------.
5599 | yyerrlab -- here on detecting error |
5600 `------------------------------------*/
5602 /* If not already recovering from an error, report this error. */
5607 #ifdef YYERROR_VERBOSE
5608 yyn = yypact[yystate];
5610 if (yyn > YYFLAG && yyn < YYLAST)
5612 YYSIZE_T yysize = 0;
5617 /* Start YYX at -YYN if negative to avoid negative indexes in
5619 for (yyx = yyn < 0 ? -yyn : 0;
5620 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
5621 if (yycheck[yyx + yyn] == yyx)
5622 yysize += yystrlen (yytname[yyx]) + 15, yycount++;
5623 yysize += yystrlen ("parse error, unexpected ") + 1;
5624 yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
5625 yymsg = (char *) YYSTACK_ALLOC (yysize);
5628 char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
5629 yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
5634 for (yyx = yyn < 0 ? -yyn : 0;
5635 yyx < (int) (sizeof (yytname) / sizeof (char *));
5637 if (yycheck[yyx + yyn] == yyx)
5639 const char *yyq = ! yycount ? ", expecting " : " or ";
5640 yyp = yystpcpy (yyp, yyq);
5641 yyp = yystpcpy (yyp, yytname[yyx]);
5646 YYSTACK_FREE (yymsg);
5649 yyerror ("parse error; also virtual memory exhausted");
5652 #endif /* defined (YYERROR_VERBOSE) */
5653 yyerror ("parse error");
5658 /*--------------------------------------------------.
5659 | yyerrlab1 -- error raised explicitly by an action |
5660 `--------------------------------------------------*/
5662 if (yyerrstatus == 3)
5664 /* If just tried and failed to reuse lookahead token after an
5665 error, discard it. */
5667 /* return failure if at end of input */
5668 if (yychar == YYEOF)
5670 YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
5671 yychar, yytname[yychar1]));
5675 /* Else will try to reuse lookahead token after shifting the error
5678 yyerrstatus = 3; /* Each real token shifted decrements this */
5683 /*-------------------------------------------------------------------.
5684 | yyerrdefault -- current state does not do anything special for the |
5686 `-------------------------------------------------------------------*/
5689 /* This is wrong; only states that explicitly want error tokens
5690 should shift them. */
5692 /* If its default is to accept any token, ok. Otherwise pop it. */
5693 yyn = yydefact[yystate];
5699 /*---------------------------------------------------------------.
5700 | yyerrpop -- pop the current state because it cannot handle the |
5702 `---------------------------------------------------------------*/
5715 short *yyssp1 = yyss - 1;
5716 YYFPRINTF (stderr, "Error: state stack now");
5717 while (yyssp1 != yyssp)
5718 YYFPRINTF (stderr, " %d", *++yyssp1);
5719 YYFPRINTF (stderr, "\n");
5727 yyn = yypact[yystate];
5732 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5749 YYDPRINTF ((stderr, "Shifting error token, "));
5760 /*-------------------------------------.
5761 | yyacceptlab -- YYACCEPT comes here. |
5762 `-------------------------------------*/
5767 /*-----------------------------------.
5768 | yyabortlab -- YYABORT comes here. |
5769 `-----------------------------------*/
5774 /*---------------------------------------------.
5775 | yyoverflowab -- parser overflow comes here. |
5776 `---------------------------------------------*/
5778 yyerror ("parser stack overflow");
5785 YYSTACK_FREE (yyss);
5791 /*@-redecl@*/ /*@-namechecks@*/
5792 extern char *yytext;
5793 /*@=redecl@*/ /*@=namechecks@*/
5795 # include "bison.reset"
5797 void yyerror (/*@unused@*/ char *s)
5799 static bool givehint = FALSE;
5801 if (context_inIterDef ())
5803 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5804 context_inFunctionName ()));
5806 else if (context_inIterEnd ())
5808 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5809 context_inFunctionName ()));
5811 else if (context_inMacro ())
5813 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5814 context_inFunctionName ()));
5816 if (context_inUnknownMacro ())
5820 llhint (cstring_makeLiteral
5821 ("Precede macro definition with /*@notfunction@*/ "
5822 "to suppress checking and force expansion"));
5827 cscannerHelp_swallowMacro ();
5828 context_exitAllClausesQuiet ();
5832 llparseerror (cstring_undefined);
5848 ** Resets all flags in bison.head
5870 /*@=evalorderuncon@*/
5879 /*@=elseifcomplete@*/
5883 /*@=readonlytrans@*/
5886 /*@=systemunrecog@*/
5887 /*@=dependenttrans@*/
5888 /*@=unqualifiedtrans@*/
5892 /*drl added 11/27/2001*/
5895 /*drl added 12/11/2002*/