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