2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
51 /* < end of bison.head > */
53 /* A Bison parser, made from cgrammar.y
56 #define YYBISON 1 /* Identify Bison output. */
60 # define CTOK_ELIPSIS 259
84 # define TAMPERSAND 283
100 # define ARROW_OP 299
101 # define CTYPEDEF 300
102 # define COFFSETOF 301
106 # define RIGHT_OP 305
113 # define MUL_ASSIGN 312
114 # define DIV_ASSIGN 313
115 # define MOD_ASSIGN 314
116 # define ADD_ASSIGN 315
117 # define SUB_ASSIGN 316
118 # define LEFT_ASSIGN 317
119 # define RIGHT_ASSIGN 318
120 # define AND_ASSIGN 319
121 # define XOR_ASSIGN 320
122 # define OR_ASSIGN 321
129 # define QGLOBALS 328
130 # define QMODIFIES 329
132 # define QCONSTANT 331
133 # define QFUNCTION 332
135 # define QDEFINES 334
137 # define QALLOCATES 336
139 # define QRELEASES 338
140 # define QPRECLAUSE 339
141 # define QPOSTCLAUSE 340
142 # define QINVARIANT 341
146 # define QENDMACRO 345
148 # define LLMACROITER 347
149 # define LLMACROEND 348
150 # define TENDMACRO 349
151 # define QSWITCHBREAK 350
152 # define QLOOPBREAK 351
153 # define QINNERBREAK 352
154 # define QSAFEBREAK 353
155 # define QINNERCONTINUE 354
156 # define QFALLTHROUGH 355
157 # define QLINTNOTREACHED 356
158 # define QLINTFALLTHROUGH 357
159 # define QLINTFALLTHRU 358
160 # define QARGSUSED 359
161 # define QPRINTFLIKE 360
162 # define QLINTPRINTFLIKE 361
163 # define QSCANFLIKE 362
164 # define QMESSAGELIKE 363
165 # define QNOTREACHED 364
167 # define QRESTRICT 366
168 # define QVOLATILE 367
170 # define QEXTENSION 369
174 # define QREGISTER 373
183 # define QCHECKED 382
184 # define QUNCHECKED 383
185 # define QCHECKEDSTRICT 384
186 # define QCHECKMOD 385
189 # define QPARTIAL 388
190 # define QSPECIAL 389
192 # define QDEPENDENT 391
193 # define QRETURNED 392
194 # define QEXPOSED 393
196 # define QOBSERVER 395
199 # define QMAYEXIT 398
200 # define QNEVEREXIT 399
201 # define QTRUEEXIT 400
202 # define QFALSEEXIT 401
205 # define QUNSIGNED 404
209 # define QNOTNULL 408
210 # define QRELNULL 409
211 # define QABSTRACT 410
212 # define QCONCRETE 411
213 # define QMUTABLE 412
214 # define QIMMUTABLE 413
215 # define QTRUENULL 414
216 # define QFALSENULL 415
217 # define QEXTERNAL 416
218 # define QREFCOUNTED 417
221 # define QTEMPREF 420
222 # define QKILLREF 421
230 # define QANYTYPE 429
231 # define QINTEGRALTYPE 430
232 # define QUNSIGNEDINTEGRALTYPE 431
233 # define QSIGNEDINTEGRALTYPE 432
234 # define QNULLTERMINATED 433
235 # define QSETBUFFERSIZE 434
236 # define QSETSTRINGLENGTH 435
238 # define QMAXREAD 437
239 # define QTESTINRANGE 438
241 # define IDENTIFIER 440
242 # define NEW_IDENTIFIER 441
243 # define TYPE_NAME_OR_ID 442
244 # define CANNOTATION 443
245 # define CCONSTANT 444
246 # define ITER_NAME 445
247 # define ITER_ENDNAME 446
248 # define TYPE_NAME 447
249 # define METASTATE_NAME 448
256 ** Yacc/Bison grammar for extended ANSI C used by Splint.
258 ** original grammar by Nate Osgood ---
259 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
261 ** changes for Splint --- handle typedef names correctly
262 ** fix struct/union parsing bug (empty struct is accepted)
263 ** add productions to handle macros --- require
264 ** error correction --- main source of conflicts in grammar.
265 ** need to process initializations sequentially, L->R
267 ** production names are cryptic, so more productions fit on one line
269 ** conflicts: 87 shift/reduce, 18 reduce/reduce
270 ** most of these are due to handling macros
271 ** a few are due to handling type expressions
277 extern void yyerror (char *);
279 # include "splintMacros.nf"
281 # include "cscanner.h"
282 # include "cgrammar.h"
283 # include "exprChecks.h"
288 # define SHOWCSYM FALSE
291 ** This is necessary, or else when the bison-generated code #include's malloc.h,
292 ** there will be a parse error.
294 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
295 ** in bison-generated files under Win32.
305 #ifndef cgrammar_YYSTYPE
313 /*@dependent@*/ sRef sr;
316 /*@only@*/ functionClauseList funcclauselist;
317 /*@only@*/ functionClause funcclause;
318 /*@only@*/ flagSpec flagspec;
319 /*@only@*/ globalsClause globsclause;
320 /*@only@*/ modifiesClause modsclause;
321 /*@only@*/ warnClause warnclause;
322 /*@only@*/ stateClause stateclause;
323 /*@only@*/ pointers pointers;
324 /*@only@*/ functionConstraint fcnconstraint;
326 /*@only@*/ metaStateConstraint msconstraint;
327 /*@only@*/ metaStateSpecifier msspec;
328 /*@only@*/ metaStateExpression msexpr;
329 /*@observer@*/ metaStateInfo msinfo;
331 /*@only@*/ sRefList srlist;
332 /*@only@*/ globSet globset;
333 /*@only@*/ qtype qtyp;
334 /*@only@*/ cstring cname;
335 /*@observer@*/ annotationInfo annotation;
336 /*@only@*/ idDecl ntyp;
337 /*@only@*/ idDeclList ntyplist;
338 /*@only@*/ uentryList flist;
339 /*@owned@*/ uentryList entrylist;
340 /*@observer@*/ /*@dependent@*/ uentry entry;
341 /*@only@*/ uentry oentry;
342 /*@only@*/ exprNode expr;
343 /*@only@*/ enumNameList enumnamelist;
344 /*@only@*/ exprNodeList exprlist;
345 /*@only@*/ sRefSet srset;
346 /*@only@*/ cstringList cstringlist;
356 # define cgrammar_YYSTYPE yystype
357 # define cgrammar_YYSTYPE_IS_TRIVIAL 1
366 #define YYFLAG -32768
369 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
370 #define YYTRANSLATE(x) ((unsigned)(x) <= 448 ? yytranslate[x] : 460)
372 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
373 static const short yytranslate[] =
375 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
376 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
378 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
379 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
380 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
381 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
382 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
383 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
384 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
385 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
386 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
387 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
388 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
389 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
390 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
391 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
392 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
393 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
394 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
395 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
396 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
397 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
398 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
399 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
400 2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
401 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
402 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
403 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
404 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
405 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
406 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
407 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
408 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
409 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
410 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
411 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
412 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
413 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
414 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
415 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
416 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
417 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
418 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
419 186, 187, 188, 189, 190, 191, 192, 193, 194
423 static const short yyprhs[] =
425 0, 0, 1, 3, 5, 8, 11, 13, 15, 17,
426 19, 21, 23, 25, 34, 46, 47, 53, 55, 59,
427 61, 64, 66, 73, 77, 84, 85, 92, 93, 101,
428 103, 110, 114, 121, 122, 129, 130, 138, 139, 140,
429 151, 155, 159, 163, 166, 168, 172, 173, 178, 179,
430 184, 186, 190, 192, 194, 196, 200, 202, 206, 208,
431 210, 212, 214, 216, 218, 223, 229, 231, 233, 235,
432 237, 241, 246, 249, 253, 257, 261, 263, 265, 267,
433 268, 271, 272, 275, 277, 279, 281, 283, 285, 287,
434 289, 291, 293, 295, 297, 299, 302, 303, 308, 310,
435 313, 314, 318, 320, 324, 326, 328, 329, 332, 336,
436 339, 341, 345, 348, 349, 352, 354, 356, 358, 360,
437 362, 364, 366, 368, 370, 372, 374, 376, 378, 380,
438 382, 384, 388, 389, 393, 394, 395, 400, 403, 406,
439 408, 410, 412, 416, 421, 424, 428, 432, 436, 438,
440 440, 442, 446, 448, 450, 454, 459, 462, 466, 470,
441 474, 475, 477, 479, 483, 485, 487, 489, 493, 495,
442 497, 498, 503, 505, 510, 514, 519, 526, 532, 538,
443 541, 544, 552, 554, 558, 560, 563, 566, 569, 572,
444 575, 578, 581, 584, 586, 588, 592, 597, 599, 609,
445 610, 614, 619, 622, 627, 630, 632, 637, 639, 643,
446 647, 651, 653, 657, 661, 663, 667, 671, 673, 677,
447 681, 685, 689, 691, 695, 699, 701, 705, 707, 711,
448 713, 717, 719, 720, 725, 727, 728, 733, 735, 736,
449 737, 745, 747, 751, 755, 759, 763, 767, 771, 775,
450 779, 783, 787, 791, 793, 797, 798, 800, 802, 804,
451 806, 808, 812, 813, 823, 824, 836, 839, 840, 847,
452 848, 857, 862, 867, 868, 869, 872, 874, 879, 880,
453 885, 887, 891, 896, 899, 902, 905, 907, 910, 914,
454 917, 919, 923, 925, 927, 929, 931, 933, 936, 937,
455 944, 947, 950, 951, 958, 959, 965, 967, 969, 971,
456 973, 975, 977, 979, 981, 983, 985, 987, 989, 991,
457 993, 995, 997, 999, 1001, 1003, 1005, 1007, 1009, 1011,
458 1013, 1015, 1017, 1019, 1021, 1023, 1025, 1027, 1029, 1031,
459 1033, 1035, 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1051,
460 1053, 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1072,
461 1075, 1078, 1081, 1084, 1087, 1090, 1093, 1096, 1099, 1102,
462 1105, 1108, 1111, 1114, 1117, 1120, 1123, 1126, 1129, 1132,
463 1135, 1138, 1141, 1144, 1147, 1151, 1153, 1158, 1160, 1164,
464 1167, 1170, 1173, 1174, 1176, 1177, 1178, 1179, 1192, 1193,
465 1194, 1206, 1213, 1220, 1221, 1222, 1233, 1234, 1235, 1246,
466 1252, 1258, 1263, 1268, 1269, 1271, 1273, 1276, 1282, 1286,
467 1289, 1294, 1296, 1300, 1305, 1312, 1313, 1322, 1327, 1329,
468 1333, 1336, 1338, 1343, 1345, 1347, 1350, 1353, 1355, 1358,
469 1360, 1363, 1365, 1367, 1369, 1371, 1374, 1376, 1379, 1382,
470 1386, 1388, 1392, 1394, 1398, 1400, 1402, 1406, 1407, 1410,
471 1411, 1416, 1421, 1423, 1425, 1428, 1430, 1432, 1435, 1436,
472 1438, 1444, 1447, 1451, 1455, 1460, 1464, 1469, 1474, 1480,
473 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 1500,
474 1502, 1504, 1507, 1510, 1518, 1525, 1528, 1529, 1530, 1541,
475 1542, 1549, 1551, 1553, 1555, 1557, 1560, 1562, 1564, 1566,
476 1568, 1570, 1572, 1574, 1578, 1580, 1581, 1585, 1588, 1591,
477 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611,
478 1615, 1617, 1619, 1622, 1625, 1626, 1629, 1630, 1635, 1636,
479 1643, 1644, 1648, 1649, 1655, 1659, 1662, 1666, 1667, 1668,
480 1669, 1670, 1671, 1673, 1676, 1679, 1683, 1686, 1690, 1694,
481 1699, 1702, 1705, 1709, 1713, 1718, 1720, 1723, 1725, 1728,
482 1730, 1734, 1736, 1741, 1743, 1746, 1748, 1751, 1753, 1756,
483 1758, 1763, 1766, 1767, 1773, 1774, 1781, 1786, 1791, 1792,
484 1793, 1804, 1806, 1807, 1812, 1814, 1816, 1818, 1820, 1822,
485 1825, 1827, 1831, 1833, 1838, 1842, 1847, 1854, 1860, 1866,
486 1869, 1872, 1874, 1877, 1880, 1883, 1886, 1889, 1892, 1895,
487 1898, 1900, 1902, 1907, 1909, 1913, 1917, 1921, 1923, 1927,
488 1931, 1933, 1937, 1941, 1943, 1947, 1951, 1955, 1959, 1961,
489 1965, 1969, 1971, 1975, 1977, 1981, 1983, 1987, 1989, 1993,
490 1995, 1999, 2001, 2002, 2003, 2011, 2013, 2017, 2021, 2025,
491 2029, 2033, 2037, 2041, 2045, 2049, 2053, 2057, 2059, 2060,
492 2062, 2065, 2073, 2076, 2079, 2087, 2094, 2097, 2101, 2104,
493 2108, 2111, 2115, 2119, 2123, 2127, 2130, 2134, 2135, 2137,
494 2138, 2140, 2142, 2144, 2146, 2148, 2150, 2152, 2154, 2156,
497 static const short yyrhs[] =
499 -1, 196, 0, 197, 0, 196, 197, 0, 258, 455,
500 0, 198, 0, 199, 0, 209, 0, 212, 0, 296,
501 0, 18, 0, 1, 0, 77, 337, 351, 361, 351,
502 455, 304, 91, 0, 77, 337, 351, 361, 351, 23,
503 304, 309, 308, 455, 91, 0, 0, 78, 200, 201,
504 455, 91, 0, 202, 0, 337, 351, 202, 0, 206,
505 0, 365, 206, 0, 458, 0, 304, 24, 351, 361,
506 304, 25, 0, 203, 26, 27, 0, 203, 26, 304,
507 295, 27, 351, 0, 0, 203, 305, 24, 25, 204,
508 230, 0, 0, 203, 305, 24, 362, 25, 205, 230,
509 0, 458, 0, 304, 24, 351, 202, 304, 25, 0,
510 206, 26, 27, 0, 206, 26, 304, 295, 27, 351,
511 0, 0, 206, 305, 24, 25, 207, 231, 0, 0,
512 206, 305, 24, 362, 25, 208, 231, 0, 0, 0,
513 79, 458, 24, 362, 25, 210, 231, 211, 455, 91,
514 0, 92, 392, 95, 0, 93, 378, 95, 0, 94,
515 379, 95, 0, 92, 95, 0, 253, 0, 215, 23,
516 218, 0, 0, 227, 216, 22, 219, 0, 0, 5,
517 217, 22, 219, 0, 215, 0, 215, 40, 218, 0,
518 194, 0, 185, 0, 56, 0, 222, 220, 221, 0,
519 222, 0, 225, 224, 225, 0, 182, 0, 183, 0,
520 53, 0, 52, 0, 54, 0, 226, 0, 228, 24,
521 225, 25, 0, 24, 225, 229, 225, 25, 0, 227,
522 0, 190, 0, 457, 0, 187, 0, 227, 26, 27,
523 0, 227, 26, 190, 27, 0, 34, 227, 0, 24,
524 227, 25, 0, 227, 28, 458, 0, 227, 45, 458,
525 0, 223, 0, 33, 0, 32, 0, 0, 232, 230,
526 0, 0, 233, 231, 0, 234, 0, 238, 0, 237,
527 0, 315, 0, 318, 0, 244, 0, 235, 0, 239,
528 0, 237, 0, 316, 0, 320, 0, 245, 0, 235,
529 91, 0, 0, 74, 236, 246, 455, 0, 76, 0,
530 239, 91, 0, 0, 75, 240, 259, 0, 242, 0,
531 242, 40, 241, 0, 187, 0, 244, 0, 0, 245,
532 91, 0, 73, 241, 431, 0, 73, 241, 0, 247,
533 0, 246, 21, 247, 0, 248, 249, 0, 0, 250,
534 248, 0, 457, 0, 187, 0, 296, 0, 89, 0,
535 90, 0, 120, 0, 121, 0, 134, 0, 80, 0,
536 81, 0, 82, 0, 83, 0, 84, 0, 85, 0,
537 86, 0, 361, 0, 337, 351, 361, 0, 0, 19,
538 255, 409, 0, 0, 0, 256, 413, 257, 402, 0,
539 213, 254, 0, 262, 455, 0, 455, 0, 457, 0,
540 187, 0, 260, 26, 27, 0, 260, 26, 261, 27,
541 0, 34, 260, 0, 24, 260, 25, 0, 260, 28,
542 458, 0, 260, 45, 458, 0, 260, 0, 431, 0,
543 260, 0, 262, 21, 260, 0, 457, 0, 187, 0,
544 263, 26, 27, 0, 263, 26, 261, 27, 0, 34,
545 263, 0, 24, 263, 25, 0, 263, 28, 458, 0,
546 263, 45, 458, 0, 0, 265, 0, 263, 0, 265,
547 21, 263, 0, 457, 0, 187, 0, 431, 0, 24,
548 293, 25, 0, 188, 0, 115, 0, 0, 24, 267,
549 402, 25, 0, 266, 0, 268, 26, 293, 27, 0,
550 268, 24, 25, 0, 268, 24, 269, 25, 0, 71,
551 24, 292, 21, 373, 25, 0, 268, 351, 28, 458,
552 304, 0, 268, 351, 45, 458, 304, 0, 268, 48,
553 0, 268, 49, 0, 24, 373, 25, 19, 414, 456,
554 20, 0, 292, 0, 269, 21, 292, 0, 268, 0,
555 48, 270, 0, 49, 270, 0, 29, 276, 0, 34,
556 276, 0, 33, 276, 0, 32, 276, 0, 31, 276,
557 0, 30, 276, 0, 273, 0, 272, 0, 271, 28,
558 458, 0, 271, 26, 293, 27, 0, 458, 0, 47,
559 304, 24, 373, 351, 21, 271, 25, 304, 0, 0,
560 304, 274, 275, 0, 42, 24, 373, 25, 0, 42,
561 270, 0, 43, 24, 373, 25, 0, 43, 270, 0,
562 270, 0, 24, 373, 25, 276, 0, 276, 0, 277,
563 34, 276, 0, 277, 35, 276, 0, 277, 36, 276,
564 0, 277, 0, 278, 33, 277, 0, 278, 32, 277,
565 0, 278, 0, 279, 50, 278, 0, 279, 51, 278,
566 0, 279, 0, 280, 37, 279, 0, 280, 38, 279,
567 0, 280, 52, 279, 0, 280, 53, 279, 0, 280,
568 0, 281, 54, 280, 0, 281, 55, 280, 0, 281,
569 0, 282, 29, 281, 0, 282, 0, 283, 39, 282,
570 0, 283, 0, 284, 40, 283, 0, 284, 0, 0,
571 285, 56, 286, 284, 0, 285, 0, 0, 287, 57,
572 288, 285, 0, 287, 0, 0, 0, 287, 41, 290,
573 293, 22, 291, 289, 0, 289, 0, 270, 23, 292,
574 0, 270, 58, 292, 0, 270, 59, 292, 0, 270,
575 60, 292, 0, 270, 61, 292, 0, 270, 62, 292,
576 0, 270, 63, 292, 0, 270, 64, 292, 0, 270,
577 65, 292, 0, 270, 66, 292, 0, 270, 67, 292,
578 0, 292, 0, 293, 21, 292, 0, 0, 293, 0,
579 289, 0, 297, 0, 72, 0, 302, 0, 337, 304,
580 18, 0, 0, 337, 351, 361, 351, 298, 304, 308,
581 18, 304, 0, 0, 337, 351, 361, 351, 23, 299,
582 304, 309, 308, 18, 304, 0, 361, 351, 0, 0,
583 361, 351, 23, 301, 304, 309, 0, 0, 46, 337,
584 303, 351, 306, 304, 243, 18, 0, 46, 337, 304,
585 18, 0, 46, 306, 304, 18, 0, 0, 0, 307,
586 304, 0, 300, 0, 306, 21, 351, 300, 0, 0,
587 308, 21, 351, 300, 0, 292, 0, 19, 313, 20,
588 0, 19, 313, 21, 20, 0, 310, 309, 0, 311,
589 23, 0, 458, 22, 0, 312, 0, 311, 312, 0,
590 26, 295, 27, 0, 28, 458, 0, 309, 0, 313,
591 21, 309, 0, 116, 0, 114, 0, 117, 0, 118,
592 0, 119, 0, 316, 91, 0, 0, 251, 351, 317,
593 265, 455, 304, 0, 320, 91, 0, 252, 351, 0,
594 0, 319, 326, 321, 264, 455, 304, 0, 0, 319,
595 322, 323, 455, 304, 0, 221, 0, 214, 0, 143,
596 0, 144, 0, 146, 0, 147, 0, 145, 0, 128,
597 0, 131, 0, 129, 0, 130, 0, 136, 0, 137,
598 0, 122, 0, 124, 0, 123, 0, 132, 0, 133,
599 0, 125, 0, 127, 0, 140, 0, 142, 0, 155,
600 0, 154, 0, 139, 0, 141, 0, 179, 0, 189,
601 0, 138, 0, 153, 0, 152, 0, 162, 0, 160,
602 0, 161, 0, 156, 0, 157, 0, 158, 0, 159,
603 0, 163, 0, 164, 0, 167, 0, 168, 0, 165,
604 0, 166, 0, 151, 0, 148, 0, 149, 0, 150,
605 0, 120, 0, 121, 0, 134, 0, 135, 0, 111,
606 304, 0, 113, 304, 0, 112, 304, 0, 333, 304,
607 0, 326, 304, 0, 324, 304, 0, 327, 304, 0,
608 325, 304, 0, 329, 304, 0, 328, 304, 0, 330,
609 304, 0, 331, 304, 0, 169, 351, 0, 171, 351,
610 0, 170, 351, 0, 172, 351, 0, 173, 351, 0,
611 174, 351, 0, 175, 351, 0, 176, 351, 0, 177,
612 351, 0, 178, 351, 0, 459, 351, 0, 342, 351,
613 0, 356, 351, 0, 332, 351, 0, 304, 337, 304,
614 0, 339, 0, 339, 88, 338, 91, 0, 373, 0,
615 373, 21, 338, 0, 314, 340, 0, 334, 340, 0,
616 335, 340, 0, 0, 337, 0, 0, 0, 0, 351,
617 68, 458, 304, 19, 343, 406, 352, 407, 344, 20,
618 341, 0, 0, 0, 351, 69, 458, 304, 19, 345,
619 406, 352, 407, 346, 20, 0, 351, 68, 458, 304,
620 19, 20, 0, 351, 69, 458, 304, 19, 20, 0,
621 0, 0, 351, 68, 304, 19, 347, 406, 352, 407,
622 348, 20, 0, 0, 0, 351, 69, 304, 19, 349,
623 406, 352, 407, 350, 20, 0, 351, 68, 304, 19,
624 20, 0, 351, 69, 304, 19, 20, 0, 351, 68,
625 458, 351, 0, 351, 69, 458, 351, 0, 0, 353,
626 0, 212, 0, 352, 353, 0, 337, 351, 354, 304,
627 18, 0, 337, 304, 18, 0, 355, 351, 0, 354,
628 21, 355, 351, 0, 361, 0, 22, 304, 295, 0,
629 361, 22, 304, 295, 0, 351, 70, 19, 358, 20,
630 304, 0, 0, 351, 70, 458, 19, 357, 358, 20,
631 304, 0, 351, 70, 458, 304, 0, 359, 0, 358,
632 21, 359, 0, 358, 21, 0, 458, 0, 458, 23,
633 304, 295, 0, 203, 0, 375, 0, 365, 193, 0,
634 365, 360, 0, 203, 0, 365, 203, 0, 368, 0,
635 351, 366, 0, 111, 0, 112, 0, 113, 0, 363,
636 0, 364, 363, 0, 34, 0, 34, 364, 0, 34,
637 365, 0, 34, 364, 365, 0, 367, 0, 367, 21,
638 5, 0, 458, 0, 367, 21, 458, 0, 5, 0,
639 369, 0, 369, 21, 5, 0, 0, 370, 372, 0,
640 0, 369, 21, 371, 372, 0, 304, 337, 360, 304,
641 0, 458, 0, 336, 0, 336, 374, 0, 365, 0,
642 376, 0, 365, 376, 0, 0, 376, 0, 304, 24,
643 351, 374, 25, 0, 26, 27, 0, 26, 295, 27,
644 0, 376, 26, 27, 0, 376, 26, 295, 27, 0,
645 304, 24, 25, 0, 304, 24, 368, 25, 0, 376,
646 304, 24, 25, 0, 376, 304, 24, 368, 25, 0,
647 394, 0, 396, 0, 399, 0, 402, 0, 417, 0,
648 420, 0, 452, 0, 425, 0, 454, 0, 380, 0,
649 378, 0, 387, 0, 380, 387, 0, 424, 380, 0,
650 451, 393, 11, 24, 293, 25, 18, 0, 451, 393,
651 11, 24, 293, 25, 0, 382, 387, 0, 0, 0,
652 13, 24, 294, 18, 294, 18, 383, 294, 384, 25,
653 0, 0, 191, 404, 24, 386, 428, 25, 0, 192,
654 0, 394, 0, 396, 0, 399, 0, 390, 413, 0,
655 390, 0, 391, 0, 417, 0, 388, 0, 381, 0,
656 385, 0, 454, 0, 24, 387, 25, 0, 1, 0,
657 0, 419, 389, 387, 0, 404, 19, 0, 408, 20,
658 0, 393, 0, 412, 0, 394, 0, 396, 0, 399,
659 0, 403, 0, 418, 0, 420, 0, 425, 0, 453,
660 0, 24, 393, 25, 0, 454, 0, 1, 0, 458,
661 22, 0, 110, 377, 0, 0, 101, 395, 0, 0,
662 6, 295, 397, 22, 0, 0, 101, 395, 6, 295,
663 398, 22, 0, 0, 7, 400, 22, 0, 0, 101,
664 395, 7, 401, 22, 0, 24, 402, 25, 0, 404,
665 410, 0, 404, 411, 405, 0, 0, 0, 0, 0,
666 0, 20, 0, 110, 20, 0, 416, 20, 0, 416,
667 110, 20, 0, 413, 20, 0, 413, 110, 20, 0,
668 413, 416, 20, 0, 413, 416, 110, 20, 0, 19,
669 409, 0, 19, 20, 0, 19, 412, 20, 0, 19,
670 413, 20, 0, 19, 413, 416, 20, 0, 393, 0,
671 412, 393, 0, 296, 0, 413, 296, 0, 415, 0,
672 414, 21, 415, 0, 292, 0, 19, 414, 456, 20,
673 0, 377, 0, 416, 377, 0, 18, 0, 293, 18,
674 0, 18, 0, 293, 18, 0, 293, 0, 8, 24,
675 293, 25, 0, 419, 377, 0, 0, 419, 377, 9,
676 421, 377, 0, 0, 10, 24, 293, 422, 25, 377,
677 0, 11, 24, 293, 25, 0, 11, 24, 293, 25,
678 0, 0, 0, 191, 426, 404, 24, 427, 428, 25,
679 402, 450, 405, 0, 430, 0, 0, 428, 429, 21,
680 430, 0, 449, 0, 457, 0, 188, 0, 187, 0,
681 190, 0, 431, 190, 0, 431, 0, 24, 293, 25,
682 0, 432, 0, 268, 26, 293, 27, 0, 268, 24,
683 25, 0, 268, 24, 269, 25, 0, 71, 24, 292,
684 21, 373, 25, 0, 268, 351, 28, 458, 304, 0,
685 268, 351, 45, 458, 304, 0, 268, 48, 0, 268,
686 49, 0, 433, 0, 48, 270, 0, 49, 270, 0,
687 29, 276, 0, 34, 276, 0, 33, 276, 0, 32,
688 276, 0, 31, 276, 0, 30, 276, 0, 273, 0,
689 434, 0, 24, 373, 25, 276, 0, 435, 0, 277,
690 34, 276, 0, 277, 35, 276, 0, 277, 36, 276,
691 0, 436, 0, 278, 33, 277, 0, 278, 32, 277,
692 0, 437, 0, 279, 50, 278, 0, 279, 51, 278,
693 0, 438, 0, 280, 37, 279, 0, 280, 38, 279,
694 0, 280, 52, 279, 0, 280, 53, 279, 0, 439,
695 0, 281, 54, 280, 0, 281, 55, 280, 0, 440,
696 0, 282, 29, 281, 0, 441, 0, 283, 39, 282,
697 0, 442, 0, 284, 40, 283, 0, 443, 0, 285,
698 56, 284, 0, 444, 0, 287, 57, 285, 0, 445,
699 0, 0, 0, 287, 41, 447, 293, 22, 448, 289,
700 0, 446, 0, 270, 23, 292, 0, 270, 58, 292,
701 0, 270, 59, 292, 0, 270, 60, 292, 0, 270,
702 61, 292, 0, 270, 62, 292, 0, 270, 63, 292,
703 0, 270, 64, 292, 0, 270, 65, 292, 0, 270,
704 66, 292, 0, 270, 67, 292, 0, 192, 0, 0,
705 12, 0, 423, 377, 0, 451, 377, 11, 24, 293,
706 25, 18, 0, 382, 377, 0, 423, 393, 0, 451,
707 393, 11, 24, 293, 25, 18, 0, 451, 393, 11,
708 24, 293, 25, 0, 382, 393, 0, 14, 458, 18,
709 0, 15, 18, 0, 100, 15, 18, 0, 16, 18,
710 0, 96, 16, 18, 0, 97, 16, 18, 0, 98,
711 16, 18, 0, 99, 16, 18, 0, 17, 18, 0,
712 17, 293, 18, 0, 0, 18, 0, 0, 21, 0,
713 186, 0, 187, 0, 191, 0, 192, 0, 457, 0,
714 188, 0, 193, 0, 188, 0, 44, 24, 293, 25,
715 0, 44, 24, 373, 25, 0
721 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
722 static const short yyrline[] =
724 0, 324, 325, 328, 329, 332, 333, 334, 335, 336,
725 337, 338, 339, 342, 344, 348, 348, 356, 362, 366,
726 367, 371, 372, 374, 376, 393, 393, 411, 411, 425,
727 426, 428, 432, 449, 449, 461, 461, 474, 474, 474,
728 482, 483, 484, 485, 488, 491, 495, 495, 500, 500,
729 507, 508, 511, 516, 517, 520, 521, 524, 529, 530,
730 533, 534, 535, 538, 539, 540, 545, 546, 549, 551,
731 553, 555, 564, 566, 568, 570, 586, 590, 591, 598,
732 599, 607, 609, 613, 614, 615, 616, 617, 618, 621,
733 622, 623, 624, 625, 626, 629, 632, 632, 640, 643,
734 646, 646, 660, 662, 666, 669, 670, 673, 676, 682,
735 686, 687, 690, 693, 694, 697, 698, 699, 702, 703,
736 704, 705, 706, 709, 710, 711, 712, 713, 716, 717,
737 720, 727, 731, 731, 737, 737, 737, 747, 757, 758,
738 761, 762, 763, 764, 765, 766, 767, 768, 772, 773,
739 777, 778, 781, 783, 785, 786, 787, 788, 789, 791,
740 795, 796, 799, 803, 815, 816, 817, 818, 819, 820,
741 821, 821, 826, 827, 828, 829, 830, 831, 832, 833,
742 834, 835, 839, 840, 843, 844, 845, 846, 847, 848,
743 849, 850, 851, 852, 853, 856, 857, 859, 862, 867,
744 867, 871, 872, 873, 874, 877, 878, 882, 883, 884,
745 885, 888, 889, 890, 893, 894, 895, 898, 899, 900,
746 901, 902, 905, 906, 907, 910, 911, 914, 915, 919,
747 920, 923, 924, 924, 935, 936, 936, 948, 949, 949,
748 949, 954, 955, 956, 957, 958, 959, 960, 961, 962,
749 963, 964, 965, 968, 969, 972, 973, 976, 981, 982,
750 983, 986, 1000, 1000, 1011, 1011, 1019, 1024, 1024, 1028,
751 1028, 1031, 1032, 1035, 1038, 1041, 1044, 1045, 1048, 1049,
752 1052, 1053, 1054, 1055, 1062, 1063, 1067, 1068, 1071, 1072,
753 1075, 1077, 1086, 1087, 1088, 1089, 1090, 1093, 1096, 1096,
754 1111, 1114, 1117, 1117, 1131, 1131, 1162, 1163, 1166, 1167,
755 1168, 1169, 1170, 1173, 1174, 1175, 1176, 1179, 1180, 1181,
756 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191,
757 1192, 1193, 1194, 1195, 1199, 1200, 1203, 1204, 1207, 1208,
758 1211, 1212, 1213, 1214, 1217, 1218, 1219, 1220, 1221, 1222,
759 1225, 1226, 1227, 1228, 1231, 1232, 1233, 1234, 1237, 1238,
760 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
761 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
762 1265, 1266, 1267, 1268, 1271, 1275, 1276, 1280, 1281, 1285,
763 1286, 1287, 1290, 1291, 1295, 1300, 1300, 1300, 1306, 1306,
764 1306, 1311, 1313, 1315, 1315, 1315, 1320, 1320, 1320, 1325,
765 1327, 1329, 1330, 1333, 1336, 1337, 1338, 1341, 1343, 1347,
766 1349, 1353, 1354, 1355, 1359, 1361, 1361, 1363, 1366, 1368,
767 1370, 1373, 1378, 1385, 1386, 1387, 1393, 1397, 1398, 1402,
768 1403, 1406, 1407, 1408, 1411, 1412, 1415, 1416, 1417, 1418,
769 1421, 1422, 1425, 1426, 1429, 1430, 1431, 1434, 1434, 1435,
770 1435, 1439, 1451, 1467, 1468, 1471, 1472, 1473, 1476, 1477,
771 1480, 1482, 1483, 1485, 1486, 1488, 1490, 1492, 1494, 1500,
772 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1512, 1515,
773 1518, 1519, 1523, 1525, 1527, 1529, 1533, 1533, 1533, 1540,
774 1540, 1544, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554,
775 1555, 1556, 1557, 1558, 1559, 1562, 1562, 1568, 1571, 1574,
776 1575, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
777 1587, 1588, 1591, 1592, 1599, 1600, 1606, 1606, 1608, 1608,
778 1612, 1612, 1614, 1614, 1618, 1619, 1623, 1626, 1629, 1632,
779 1635, 1638, 1641, 1642, 1643, 1644, 1646, 1647, 1649, 1651,
780 1657, 1661, 1663, 1665, 1667, 1671, 1672, 1675, 1676, 1679,
781 1680, 1683, 1684, 1687, 1688, 1691, 1692, 1695, 1696, 1697,
782 1700, 1713, 1718, 1718, 1723, 1723, 1727, 1732, 1735, 1735,
783 1735, 1745, 1746, 1746, 1750, 1751, 1752, 1763, 1770, 1771,
784 1774, 1775, 1778, 1779, 1780, 1781, 1782, 1784, 1785, 1786,
785 1787, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798,
786 1799, 1802, 1803, 1806, 1807, 1808, 1809, 1812, 1813, 1814,
787 1817, 1818, 1819, 1822, 1823, 1824, 1825, 1826, 1829, 1830,
788 1831, 1834, 1835, 1838, 1839, 1843, 1844, 1847, 1848, 1851,
789 1852, 1855, 1856, 1856, 1856, 1861, 1862, 1863, 1864, 1865,
790 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1875, 1876, 1879,
791 1882, 1884, 1886, 1890, 1891, 1893, 1895, 1898, 1899, 1900,
792 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1911, 1912, 1915,
793 1916, 1919, 1922, 1923, 1924, 1925, 1926, 1929, 1930, 1931,
799 #if (YYDEBUG) || defined YYERROR_VERBOSE
801 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
802 static const char *const yytname[] =
804 "$", "error", "$undefined.", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS", "CASE",
805 "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR", "GOTO",
806 "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE", "TCOMMA",
807 "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR", "TDOT",
808 "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT", "TDIV",
809 "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
810 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
811 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
812 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
813 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
814 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
815 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
816 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
817 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT",
818 "QUNDEF", "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER",
819 "LLMACROEND", "TENDMACRO", "QSWITCHBREAK", "QLOOPBREAK", "QINNERBREAK",
820 "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH", "QLINTNOTREACHED",
821 "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED", "QPRINTFLIKE",
822 "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE", "QNOTREACHED",
823 "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE", "QEXTENSION", "QEXTERN",
824 "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN", "QYIELD", "QONLY",
825 "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED", "QUNCHECKED",
826 "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT", "QPARTIAL", "QSPECIAL",
827 "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED", "QNULL", "QOBSERVER",
828 "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT", "QTRUEEXIT",
829 "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT", "QUNUSED",
830 "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QCONCRETE", "QMUTABLE",
831 "QIMMUTABLE", "QTRUENULL", "QFALSENULL", "QEXTERNAL", "QREFCOUNTED",
832 "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF", "QRELDEF", "CGCHAR",
833 "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID", "QANYTYPE",
834 "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE", "QSIGNEDINTEGRALTYPE",
835 "QNULLTERMINATED", "QSETBUFFERSIZE", "QSETSTRINGLENGTH", "QMAXSET",
836 "QMAXREAD", "QTESTINRANGE", "TCAND", "IDENTIFIER", "NEW_IDENTIFIER",
837 "TYPE_NAME_OR_ID", "CANNOTATION", "CCONSTANT", "ITER_NAME",
838 "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME", "file", "externalDefs",
839 "externalDef", "constantDecl", "fcnDecl", "@1", "plainFcn",
840 "plainNamedDecl", "namedDeclBase", "@2", "@3", "plainNamedDeclBase",
841 "@4", "@5", "iterDecl", "@6", "@7", "macroDef", "fcnDefHdr",
842 "metaStateConstraint", "metaStateSpecifier", "@8", "@9",
843 "metaStateExpression", "metaStateName", "constraintSeperator",
844 "BufConstraintList", "BufConstraint", "bufferModifier", "relationalOp",
845 "BufConstraintExpr", "BufConstraintTerm", "BufConstraintSrefExpr",
846 "BufUnaryOp", "BufBinaryOp", "functionClauses", "functionClausesPlain",
847 "functionClause", "functionClausePlain", "globalsClause",
848 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
849 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
850 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
851 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
852 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
853 "modListExpr", "mExpr", "modList", "specClauseListExpr",
854 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
855 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
856 "offsetofExpr", "sizeofExpr", "@16", "sizeofExprAux", "castExpr",
857 "timesExpr", "plusExpr", "shiftExpr", "relationalExpr", "equalityExpr",
858 "bitandExpr", "xorExpr", "bitorExpr", "andExpr", "@17", "orExpr", "@18",
859 "conditionalExpr", "@19", "@20", "assignExpr", "expr", "optExpr",
860 "constantExpr", "initializer", "instanceDecl", "@21", "@22",
861 "namedInitializer", "@23", "typeDecl", "@24", "IsType", "PushType",
862 "namedInitializerList", "namedInitializerListAux", "optDeclarators",
863 "init", "designation", "designatorList", "designator", "initList",
864 "storageSpecifier", "stateClause", "stateClausePlain", "@25",
865 "conditionClause", "startConditionClause", "conditionClausePlain",
866 "@26", "@27", "functionConstraint", "exitsQualifier", "checkQualifier",
867 "stateQualifier", "paramQualifier", "visibilityQualifier",
868 "returnQualifier", "typedefQualifier", "refcountQualifier",
869 "typeModifier", "definedQualifier", "typeQualifier", "typeSpecifier",
870 "completeType", "completeTypeSpecifier", "altType",
871 "completeTypeSpecifierAux", "optCompleteType", "optStructInvariant",
872 "suSpc", "@28", "@29", "@30", "@31", "@32", "@33", "@34", "@35",
873 "NotType", "structDeclList", "structDecl", "structNamedDeclList",
874 "structNamedDecl", "enumSpc", "@36", "enumeratorList", "enumerator",
875 "optNamedDecl", "namedDecl", "genericParamList", "innerMods",
876 "innerModsList", "pointers", "paramIdList", "idList", "paramTypeList",
877 "paramList", "@37", "@38", "paramDecl", "typeExpression",
878 "abstractDecl", "optAbstractDeclBase", "abstractDeclBase", "stmt",
879 "iterBody", "endBody", "iterDefStmtList", "iterDefIterationStmt",
880 "forPred", "@39", "@40", "partialIterStmt", "@41", "iterDefStmt",
881 "iterSelectionStmt", "@42", "openScope", "closeScope", "macroBody",
882 "stmtErr", "labeledStmt", "optExtraFallThroughs", "caseStmt", "@43",
883 "@44", "defaultStmt", "@45", "@46", "compoundStmt", "compoundStmtErr",
884 "CreateInnerScope", "DeleteInnerScope", "CreateStructInnerScope",
885 "DeleteStructInnerScope", "DeleteInnerScopeSafe", "compoundStmtRest",
886 "compoundStmtAux", "compoundStmtAuxErr", "stmtListErr",
887 "initializerList", "typeInitializerList", "typeInitializer", "stmtList",
888 "expressionStmt", "expressionStmtErr", "ifPred", "selectionStmt", "@47",
889 "@48", "whilePred", "iterWhilePred", "iterStmt", "@49", "@50",
890 "iterArgList", "@51", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
891 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
892 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
893 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
894 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@52", "@53",
895 "assignIterExpr", "endIter", "doHeader", "iterationStmt",
896 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
901 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
902 static const short yyr1[] =
904 0, 195, 195, 196, 196, 197, 197, 197, 197, 197,
905 197, 197, 197, 198, 198, 200, 199, 201, 201, 202,
906 202, 203, 203, 203, 203, 204, 203, 205, 203, 206,
907 206, 206, 206, 207, 206, 208, 206, 210, 211, 209,
908 212, 212, 212, 212, 213, 214, 216, 215, 217, 215,
909 218, 218, 219, 220, 220, 221, 221, 222, 223, 223,
910 224, 224, 224, 225, 225, 225, 226, 226, 227, 227,
911 227, 227, 227, 227, 227, 227, 228, 229, 229, 230,
912 230, 231, 231, 232, 232, 232, 232, 232, 232, 233,
913 233, 233, 233, 233, 233, 234, 236, 235, 237, 238,
914 240, 239, 241, 241, 242, 243, 243, 244, 245, 245,
915 246, 246, 247, 248, 248, 249, 249, 249, 250, 250,
916 250, 250, 250, 251, 251, 251, 251, 251, 252, 252,
917 253, 253, 255, 254, 256, 257, 254, 258, 259, 259,
918 260, 260, 260, 260, 260, 260, 260, 260, 261, 261,
919 262, 262, 263, 263, 263, 263, 263, 263, 263, 263,
920 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
921 267, 266, 268, 268, 268, 268, 268, 268, 268, 268,
922 268, 268, 269, 269, 270, 270, 270, 270, 270, 270,
923 270, 270, 270, 270, 270, 271, 271, 271, 272, 274,
924 273, 275, 275, 275, 275, 276, 276, 277, 277, 277,
925 277, 278, 278, 278, 279, 279, 279, 280, 280, 280,
926 280, 280, 281, 281, 281, 282, 282, 283, 283, 284,
927 284, 285, 286, 285, 287, 288, 287, 289, 290, 291,
928 289, 292, 292, 292, 292, 292, 292, 292, 292, 292,
929 292, 292, 292, 293, 293, 294, 294, 295, 296, 296,
930 296, 297, 298, 297, 299, 297, 300, 301, 300, 303,
931 302, 302, 302, 304, 305, 306, 307, 307, 308, 308,
932 309, 309, 309, 309, 310, 310, 311, 311, 312, 312,
933 313, 313, 314, 314, 314, 314, 314, 315, 317, 316,
934 318, 319, 321, 320, 322, 320, 323, 323, 324, 324,
935 324, 324, 324, 325, 325, 325, 325, 326, 326, 326,
936 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
937 326, 326, 326, 326, 327, 327, 328, 328, 329, 329,
938 330, 330, 330, 330, 331, 331, 331, 331, 331, 331,
939 332, 332, 332, 332, 333, 333, 333, 333, 334, 334,
940 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
941 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
942 335, 335, 335, 335, 336, 337, 337, 338, 338, 339,
943 339, 339, 340, 340, 341, 343, 344, 342, 345, 346,
944 342, 342, 342, 347, 348, 342, 349, 350, 342, 342,
945 342, 342, 342, 351, 352, 352, 352, 353, 353, 354,
946 354, 355, 355, 355, 356, 357, 356, 356, 358, 358,
947 358, 359, 359, 360, 360, 360, 360, 361, 361, 362,
948 362, 363, 363, 363, 364, 364, 365, 365, 365, 365,
949 366, 366, 367, 367, 368, 368, 368, 370, 369, 371,
950 369, 372, 372, 373, 373, 374, 374, 374, 375, 375,
951 376, 376, 376, 376, 376, 376, 376, 376, 376, 377,
952 377, 377, 377, 377, 377, 377, 377, 377, 378, 379,
953 380, 380, 381, 381, 381, 381, 383, 384, 382, 386,
954 385, 385, 387, 387, 387, 387, 387, 387, 387, 387,
955 387, 387, 387, 387, 387, 389, 388, 390, 391, 392,
956 392, 393, 393, 393, 393, 393, 393, 393, 393, 393,
957 393, 393, 394, 394, 395, 395, 397, 396, 398, 396,
958 400, 399, 401, 399, 402, 402, 403, 404, 405, 406,
959 407, 408, 409, 409, 409, 409, 409, 409, 409, 409,
960 410, 411, 411, 411, 411, 412, 412, 413, 413, 414,
961 414, 415, 415, 416, 416, 417, 417, 418, 418, 418,
962 419, 420, 421, 420, 422, 420, 423, 424, 426, 427,
963 425, 428, 429, 428, 430, 430, 430, 430, 431, 431,
964 432, 432, 433, 433, 433, 433, 433, 433, 433, 433,
965 433, 434, 434, 434, 434, 434, 434, 434, 434, 434,
966 434, 435, 435, 436, 436, 436, 436, 437, 437, 437,
967 438, 438, 438, 439, 439, 439, 439, 439, 440, 440,
968 440, 441, 441, 442, 442, 443, 443, 444, 444, 445,
969 445, 446, 447, 448, 446, 449, 449, 449, 449, 449,
970 449, 449, 449, 449, 449, 449, 449, 450, 450, 451,
971 452, 452, 452, 453, 453, 453, 453, 454, 454, 454,
972 454, 454, 454, 454, 454, 454, 454, 455, 455, 456,
973 456, 457, 458, 458, 458, 458, 458, 459, 459, 459,
977 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
978 static const short yyr2[] =
980 0, 0, 1, 1, 2, 2, 1, 1, 1, 1,
981 1, 1, 1, 8, 11, 0, 5, 1, 3, 1,
982 2, 1, 6, 3, 6, 0, 6, 0, 7, 1,
983 6, 3, 6, 0, 6, 0, 7, 0, 0, 10,
984 3, 3, 3, 2, 1, 3, 0, 4, 0, 4,
985 1, 3, 1, 1, 1, 3, 1, 3, 1, 1,
986 1, 1, 1, 1, 4, 5, 1, 1, 1, 1,
987 3, 4, 2, 3, 3, 3, 1, 1, 1, 0,
988 2, 0, 2, 1, 1, 1, 1, 1, 1, 1,
989 1, 1, 1, 1, 1, 2, 0, 4, 1, 2,
990 0, 3, 1, 3, 1, 1, 0, 2, 3, 2,
991 1, 3, 2, 0, 2, 1, 1, 1, 1, 1,
992 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
993 1, 3, 0, 3, 0, 0, 4, 2, 2, 1,
994 1, 1, 3, 4, 2, 3, 3, 3, 1, 1,
995 1, 3, 1, 1, 3, 4, 2, 3, 3, 3,
996 0, 1, 1, 3, 1, 1, 1, 3, 1, 1,
997 0, 4, 1, 4, 3, 4, 6, 5, 5, 2,
998 2, 7, 1, 3, 1, 2, 2, 2, 2, 2,
999 2, 2, 2, 1, 1, 3, 4, 1, 9, 0,
1000 3, 4, 2, 4, 2, 1, 4, 1, 3, 3,
1001 3, 1, 3, 3, 1, 3, 3, 1, 3, 3,
1002 3, 3, 1, 3, 3, 1, 3, 1, 3, 1,
1003 3, 1, 0, 4, 1, 0, 4, 1, 0, 0,
1004 7, 1, 3, 3, 3, 3, 3, 3, 3, 3,
1005 3, 3, 3, 1, 3, 0, 1, 1, 1, 1,
1006 1, 3, 0, 9, 0, 11, 2, 0, 6, 0,
1007 8, 4, 4, 0, 0, 2, 1, 4, 0, 4,
1008 1, 3, 4, 2, 2, 2, 1, 2, 3, 2,
1009 1, 3, 1, 1, 1, 1, 1, 2, 0, 6,
1010 2, 2, 0, 6, 0, 5, 1, 1, 1, 1,
1011 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1012 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1013 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1014 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1015 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
1016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1017 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1018 2, 2, 2, 2, 3, 1, 4, 1, 3, 2,
1019 2, 2, 0, 1, 0, 0, 0, 12, 0, 0,
1020 11, 6, 6, 0, 0, 10, 0, 0, 10, 5,
1021 5, 4, 4, 0, 1, 1, 2, 5, 3, 2,
1022 4, 1, 3, 4, 6, 0, 8, 4, 1, 3,
1023 2, 1, 4, 1, 1, 2, 2, 1, 2, 1,
1024 2, 1, 1, 1, 1, 2, 1, 2, 2, 3,
1025 1, 3, 1, 3, 1, 1, 3, 0, 2, 0,
1026 4, 4, 1, 1, 2, 1, 1, 2, 0, 1,
1027 5, 2, 3, 3, 4, 3, 4, 4, 5, 1,
1028 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1029 1, 2, 2, 7, 6, 2, 0, 0, 10, 0,
1030 6, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1031 1, 1, 1, 3, 1, 0, 3, 2, 2, 1,
1032 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1033 1, 1, 2, 2, 0, 2, 0, 4, 0, 6,
1034 0, 3, 0, 5, 3, 2, 3, 0, 0, 0,
1035 0, 0, 1, 2, 2, 3, 2, 3, 3, 4,
1036 2, 2, 3, 3, 4, 1, 2, 1, 2, 1,
1037 3, 1, 4, 1, 2, 1, 2, 1, 2, 1,
1038 4, 2, 0, 5, 0, 6, 4, 4, 0, 0,
1039 10, 1, 0, 4, 1, 1, 1, 1, 1, 2,
1040 1, 3, 1, 4, 3, 4, 6, 5, 5, 2,
1041 2, 1, 2, 2, 2, 2, 2, 2, 2, 2,
1042 1, 1, 4, 1, 3, 3, 3, 1, 3, 3,
1043 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
1044 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
1045 3, 1, 0, 0, 7, 1, 3, 3, 3, 3,
1046 3, 3, 3, 3, 3, 3, 3, 1, 0, 1,
1047 2, 7, 2, 2, 7, 6, 2, 3, 2, 3,
1048 2, 3, 3, 3, 3, 2, 3, 0, 1, 0,
1049 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
1053 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
1054 doesn't specify something else to do. Zero means the default is an
1056 static const short yydefact[] =
1058 0, 12, 11, 446, 0, 413, 259, 413, 15, 0,
1059 0, 0, 0, 273, 273, 273, 293, 292, 294, 295,
1060 296, 354, 355, 319, 321, 320, 324, 325, 313, 315,
1061 316, 314, 322, 323, 356, 357, 317, 318, 334, 330,
1062 326, 331, 327, 308, 309, 312, 310, 311, 351, 352,
1063 353, 350, 336, 335, 329, 328, 340, 341, 342, 343,
1064 338, 339, 337, 344, 345, 348, 349, 346, 347, 413,
1065 413, 413, 413, 413, 413, 413, 413, 413, 413, 332,
1066 691, 692, 696, 333, 693, 694, 697, 0, 3, 6,
1067 7, 437, 8, 9, 134, 44, 687, 10, 258, 260,
1068 0, 392, 273, 273, 273, 273, 273, 273, 273, 273,
1069 413, 273, 392, 392, 413, 385, 413, 0, 413, 130,
1070 273, 695, 21, 413, 441, 442, 443, 444, 447, 448,
1071 273, 276, 273, 273, 269, 413, 698, 413, 413, 696,
1072 0, 531, 273, 540, 0, 0, 0, 669, 0, 0,
1073 0, 0, 273, 577, 0, 273, 273, 273, 273, 273,
1074 273, 273, 273, 273, 0, 43, 0, 0, 0, 0,
1075 0, 534, 273, 169, 165, 168, 598, 588, 172, 184,
1076 205, 194, 193, 207, 211, 214, 217, 222, 225, 227,
1077 229, 231, 234, 237, 241, 253, 579, 199, 0, 0,
1078 565, 521, 522, 523, 524, 0, 0, 525, 273, 526,
1079 0, 527, 166, 0, 528, 530, 164, 0, 514, 0,
1080 575, 0, 547, 501, 0, 0, 0, 510, 0, 511,
1081 490, 509, 506, 507, 502, 503, 504, 0, 0, 508,
1082 515, 0, 0, 512, 489, 0, 358, 360, 359, 370,
1083 372, 371, 373, 374, 375, 376, 377, 378, 379, 4,
1084 273, 0, 132, 137, 413, 688, 5, 413, 393, 389,
1085 363, 365, 362, 364, 367, 366, 368, 369, 383, 361,
1086 390, 391, 0, 273, 273, 381, 273, 273, 0, 382,
1087 438, 380, 445, 449, 273, 165, 168, 0, 413, 463,
1088 0, 164, 413, 0, 275, 413, 0, 266, 273, 687,
1089 17, 19, 0, 413, 273, 29, 457, 205, 257, 536,
1090 0, 273, 273, 273, 273, 0, 678, 680, 685, 0,
1091 547, 0, 0, 0, 187, 192, 191, 190, 189, 188,
1092 0, 273, 185, 186, 273, 0, 0, 0, 0, 0,
1093 534, 0, 273, 533, 273, 479, 480, 481, 482, 0,
1094 483, 484, 273, 486, 273, 485, 487, 547, 273, 273,
1095 179, 180, 0, 273, 273, 273, 273, 273, 273, 273,
1096 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
1097 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
1098 232, 238, 235, 578, 273, 0, 676, 40, 0, 548,
1099 566, 581, 673, 599, 0, 532, 273, 0, 0, 0,
1100 576, 41, 491, 495, 567, 413, 505, 517, 518, 0,
1101 0, 0, 42, 23, 273, 457, 413, 413, 273, 261,
1102 131, 413, 0, 387, 0, 413, 0, 413, 0, 273,
1103 0, 699, 273, 273, 0, 465, 464, 466, 700, 273,
1104 272, 273, 271, 267, 413, 0, 273, 0, 413, 273,
1105 20, 454, 0, 0, 439, 455, 273, 0, 541, 0,
1106 584, 0, 256, 0, 677, 686, 547, 0, 167, 273,
1107 529, 273, 0, 0, 681, 682, 683, 684, 679, 535,
1108 273, 542, 0, 672, 413, 545, 670, 0, 0, 174,
1109 0, 182, 0, 0, 0, 242, 243, 244, 245, 246,
1110 247, 248, 249, 250, 251, 252, 208, 209, 210, 213,
1111 212, 215, 216, 218, 219, 220, 221, 223, 224, 226,
1112 228, 230, 273, 273, 273, 254, 273, 273, 200, 561,
1113 698, 565, 0, 413, 546, 582, 0, 0, 513, 499,
1114 273, 568, 516, 0, 0, 25, 0, 552, 273, 573,
1115 133, 413, 273, 547, 273, 262, 386, 273, 403, 0,
1116 411, 406, 0, 412, 0, 428, 431, 425, 427, 384,
1117 471, 0, 457, 467, 273, 0, 277, 273, 273, 687,
1118 16, 31, 273, 457, 273, 18, 440, 450, 452, 37,
1119 459, 413, 458, 462, 537, 580, 0, 586, 273, 171,
1120 273, 206, 413, 0, 273, 538, 0, 544, 560, 0,
1121 589, 273, 175, 173, 273, 273, 233, 0, 236, 273,
1122 202, 273, 204, 562, 563, 273, 273, 273, 587, 273,
1123 413, 273, 413, 79, 27, 553, 556, 273, 273, 554,
1124 273, 574, 136, 0, 264, 273, 388, 409, 549, 395,
1125 410, 549, 398, 273, 430, 273, 0, 472, 475, 273,
1126 0, 473, 0, 457, 106, 273, 273, 273, 0, 33,
1127 0, 273, 0, 81, 456, 273, 468, 273, 0, 273,
1128 571, 689, 569, 0, 0, 0, 543, 273, 273, 183,
1129 177, 178, 239, 0, 0, 564, 583, 0, 273, 273,
1130 273, 273, 273, 273, 273, 273, 273, 0, 165, 168,
1131 184, 205, 193, 211, 214, 217, 222, 225, 227, 229,
1132 231, 234, 0, 592, 591, 166, 602, 611, 621, 623,
1133 627, 630, 633, 638, 641, 643, 645, 647, 649, 651,
1134 655, 594, 164, 0, 24, 0, 96, 100, 98, 123,
1135 124, 125, 126, 127, 128, 129, 26, 79, 83, 0,
1136 85, 84, 0, 88, 0, 413, 413, 86, 0, 87,
1137 304, 0, 79, 557, 558, 273, 555, 22, 273, 278,
1138 413, 401, 549, 413, 402, 549, 424, 429, 273, 0,
1139 0, 476, 474, 477, 0, 0, 105, 273, 273, 0,
1140 280, 268, 273, 0, 286, 0, 273, 0, 413, 81,
1141 35, 0, 451, 453, 38, 81, 89, 91, 90, 94,
1142 92, 93, 460, 433, 0, 273, 468, 434, 469, 585,
1143 496, 689, 273, 0, 0, 176, 539, 0, 592, 273,
1144 201, 203, 675, 0, 0, 187, 192, 191, 190, 189,
1145 188, 185, 186, 273, 273, 273, 179, 180, 0, 273,
1146 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
1147 273, 273, 273, 273, 273, 273, 273, 273, 273, 273,
1148 273, 273, 273, 273, 273, 273, 232, 652, 235, 500,
1149 0, 494, 104, 109, 102, 113, 687, 80, 95, 99,
1150 107, 298, 301, 297, 0, 302, 300, 28, 559, 273,
1151 0, 415, 413, 413, 414, 413, 413, 413, 432, 273,
1152 470, 478, 270, 290, 0, 0, 289, 283, 284, 287,
1153 285, 278, 13, 32, 34, 81, 30, 687, 82, 457,
1154 461, 435, 436, 273, 0, 570, 181, 0, 197, 0,
1155 547, 240, 674, 167, 273, 0, 174, 0, 0, 0,
1156 0, 656, 657, 658, 659, 660, 661, 662, 663, 664,
1157 665, 666, 208, 209, 210, 213, 212, 215, 216, 218,
1158 219, 220, 221, 223, 224, 226, 228, 230, 648, 273,
1159 650, 273, 493, 108, 0, 118, 119, 120, 121, 122,
1160 687, 110, 413, 113, 0, 0, 141, 101, 150, 687,
1161 139, 140, 0, 48, 0, 0, 58, 59, 69, 67,
1162 307, 0, 306, 56, 76, 0, 63, 66, 0, 687,
1163 68, 160, 278, 273, 413, 0, 273, 416, 404, 413,
1164 407, 413, 426, 281, 273, 288, 687, 36, 0, 273,
1165 497, 572, 273, 273, 0, 671, 668, 206, 273, 175,
1166 173, 273, 273, 0, 593, 103, 113, 97, 116, 112,
1167 117, 115, 114, 0, 144, 0, 0, 0, 0, 138,
1168 0, 0, 153, 162, 687, 152, 0, 0, 66, 0,
1169 72, 0, 54, 53, 0, 61, 60, 62, 0, 0,
1170 0, 0, 0, 0, 273, 687, 161, 0, 263, 273,
1171 418, 273, 273, 413, 421, 0, 396, 0, 399, 282,
1172 291, 0, 39, 273, 0, 198, 0, 195, 667, 548,
1173 0, 177, 178, 653, 111, 145, 142, 148, 0, 149,
1174 146, 147, 151, 0, 156, 0, 0, 0, 0, 273,
1175 0, 78, 77, 0, 73, 0, 50, 45, 46, 55,
1176 66, 57, 70, 0, 74, 75, 0, 0, 305, 273,
1177 273, 279, 273, 273, 0, 419, 273, 405, 0, 408,
1178 0, 14, 498, 196, 590, 176, 273, 143, 157, 154,
1179 0, 158, 159, 163, 299, 52, 49, 0, 0, 71,
1180 47, 64, 303, 265, 422, 413, 417, 273, 394, 400,
1181 654, 155, 65, 51, 420, 423, 397, 0, 0, 0
1184 static const short yydefgoto[] =
1186 1237, 87, 88, 89, 90, 138, 309, 310, 91, 653,
1187 792, 311, 829, 955, 92, 693, 957, 931, 94, 1040,
1188 1176, 1122, 1106, 1177, 1216, 1114, 1042, 1043, 1044, 1118,
1189 1045, 1046, 1180, 1048, 1173, 776, 834, 777, 835, 778,
1190 836, 915, 837, 781, 838, 916, 913, 914, 815, 783,
1191 784, 1020, 1021, 1022, 1089, 1023, 785, 786, 95, 263,
1192 436, 264, 573, 96, 1027, 1157, 1158, 1029, 1103, 1125,
1193 1104, 178, 330, 179, 510, 180, 967, 181, 182, 405,
1194 548, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1195 192, 542, 193, 544, 194, 543, 859, 195, 224, 483,
1196 319, 424, 98, 665, 798, 131, 598, 99, 305, 197,
1197 261, 132, 133, 930, 821, 822, 823, 824, 944, 101,
1198 787, 840, 1032, 789, 790, 841, 1051, 924, 1049, 102,
1199 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1200 113, 299, 425, 442, 115, 269, 1236, 116, 802, 1198,
1201 805, 1200, 668, 1135, 671, 1137, 117, 933, 934, 1132,
1202 1133, 118, 676, 584, 585, 845, 135, 473, 127, 128,
1203 120, 606, 607, 474, 475, 476, 695, 612, 332, 810,
1204 847, 457, 353, 225, 245, 226, 227, 354, 963, 1144,
1205 229, 649, 230, 231, 429, 232, 233, 199, 410, 355,
1206 351, 356, 477, 705, 357, 320, 626, 358, 204, 359,
1207 554, 800, 1058, 238, 570, 505, 409, 206, 571, 701,
1208 702, 572, 360, 207, 208, 361, 646, 616, 362, 241,
1209 363, 367, 708, 743, 910, 744, 212, 746, 747, 748,
1210 749, 750, 751, 752, 753, 754, 755, 756, 757, 758,
1211 759, 760, 1009, 1206, 761, 1149, 364, 365, 214, 366,
1212 266, 853, 301, 217, 123
1215 static const short yypact[] =
1217 2065,-32768,-32768, 384, 46, 5282,-32768, 6580,-32768, 798,
1218 3278, 3580, 3580,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1221 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1222 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1223 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1224 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1225 -32768,-32768, 637,-32768,-32768,-32768,-32768, 2295,-32768,-32768,
1226 -32768, 413,-32768,-32768, 103,-32768, 79,-32768,-32768,-32768,
1227 109, 6172,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1228 -32768,-32768, 6172, 6172, 128, 70,-32768, 891,-32768,-32768,
1229 798,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 384,-32768,
1230 5564,-32768, 183,-32768, 128,-32768,-32768,-32768, 5282,-32768,
1231 162,-32768, 5564,-32768, 201, 231, 240,-32768, 280, 798,
1232 293, 303, 1612,-32768, 2681, 5564, 5564, 5564, 5564, 5564,
1233 5564,-32768, 5585, 5585, 333,-32768, 357, 385, 395, 428,
1234 448, 404, 4793,-32768, 527, 556,-32768, 571,-32768, 848,
1235 1096,-32768,-32768,-32768, 1019, 244, 59, 471, 279, 526,
1236 557, 560, 565, 139,-32768,-32768, 126,-32768, 3625, 519,
1237 567,-32768,-32768,-32768,-32768, 645, 3323,-32768, 4793,-32768,
1238 3625,-32768, 460, 3625,-32768,-32768, 664, 710,-32768, 719,
1239 -32768, 2874, 571, 715, 368, 674, 3429,-32768, 3580,-32768,
1240 -32768,-32768, 5900,-32768,-32768,-32768,-32768, 783, 769,-32768,
1241 -32768, 3580, 3625,-32768,-32768, 756,-32768,-32768,-32768,-32768,
1242 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1243 836, 917,-32768,-32768, 6444,-32768,-32768,-32768,-32768,-32768,
1244 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1245 -32768,-32768, 863, 765,-32768,-32768, 798, 798, 523,-32768,
1246 413,-32768,-32768,-32768, 3368,-32768,-32768, 351, 5764, 393,
1247 843,-32768,-32768, 912,-32768,-32768, 958, 886, 765, 79,
1248 -32768, 425, 954,-32768, 798,-32768, 302,-32768,-32768,-32768,
1249 978, 5564, 5564, 5564, 1885, 1000,-32768,-32768,-32768, 462,
1250 985, 242, 995, 1001,-32768,-32768,-32768,-32768,-32768,-32768,
1251 1009, 3368,-32768,-32768, 5564, 1020, 1025, 1028, 1030, 1039,
1252 404, 451, 3519,-32768, 4793,-32768,-32768,-32768,-32768, 1040,
1253 -32768,-32768, 4793,-32768, 4793,-32768,-32768,-32768, 5452, 5564,
1254 -32768,-32768, 134, 5564, 5564, 5564, 5564, 5564, 5564, 5564,
1255 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564,
1256 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564,
1257 -32768,-32768,-32768,-32768, 5564, 389,-32768,-32768, 2488,-32768,
1258 -32768, 1054,-32768,-32768, 1057,-32768, 5564, 457, 1047, 1055,
1259 -32768,-32768,-32768,-32768,-32768, 128, 5900,-32768,-32768, 3580,
1260 3172, 1071,-32768,-32768, 5564, 87, 3731, 4876, 765,-32768,
1261 681, 6580, 992, 1067, 1072, 1073, 1074, 1073, 798, 1080,
1262 375,-32768,-32768, 5463, 1066, 653,-32768, 770,-32768, 765,
1263 -32768, 765,-32768,-32768,-32768, 1021, 1086, 1092,-32768, 765,
1264 425,-32768, 798, 1097,-32768, 1103, 798, 1105,-32768, 495,
1265 1104, 588, 1104, 1110,-32768,-32768, 985, 1106,-32768, 4698,
1266 -32768,-32768, 1107, 1109,-32768,-32768,-32768,-32768,-32768,-32768,
1267 5564,-32768, 1113,-32768, 3731,-32768,-32768, 1123, 1111,-32768,
1268 640,-32768, 263, 798, 798,-32768,-32768,-32768,-32768,-32768,
1269 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1019,
1270 1019, 244, 244, 59, 59, 59, 59, 471, 471, 279,
1271 526, 557, 5564, 5564, 5564,-32768, 5596, 5628,-32768,-32768,
1272 3067,-32768, 3474, 3919,-32768,-32768, 1115, 673,-32768,-32768,
1273 765,-32768,-32768, 1116, 1114,-32768, 1117,-32768, 4295,-32768,
1274 -32768, 4107, 4340, 985,-32768, 1122,-32768,-32768, 1126, 1128,
1275 -32768, 1132, 1129,-32768, 506,-32768, 1130,-32768,-32768,-32768,
1276 -32768, 1137, 507, 770, 5495, 1145,-32768, 183,-32768, 273,
1277 -32768,-32768, 5564, 234, 765,-32768,-32768, 1150,-32768,-32768,
1278 1167, 6580,-32768,-32768,-32768,-32768, 1149,-32768, 1885,-32768,
1279 5202,-32768,-32768, 1170,-32768,-32768, 1168,-32768,-32768, 1172,
1280 -32768, 5564,-32768,-32768,-32768,-32768, 560, 470, 565, 3368,
1281 -32768, 3368,-32768,-32768,-32768, 4446, 4793, 5564,-32768, 5684,
1282 -32768, 5564,-32768, 922,-32768,-32768,-32768, 4491, 4597,-32768,
1283 4642,-32768,-32768, 1169,-32768,-32768,-32768,-32768,-32768, 1177,
1284 -32768,-32768, 1179,-32768, 798,-32768, 798,-32768,-32768, 214,
1285 1176,-32768, 1180, 210, 1119, 916,-32768,-32768, 1182,-32768,
1286 1178,-32768, 315, 922,-32768, 798, 419, 4793, 1186, 5202,
1287 -32768, 1185,-32768, 1190, 1188, 1193,-32768, 5564, 5684,-32768,
1288 -32768,-32768,-32768, 1192, 1195,-32768,-32768, 682, 3368, 5564,
1289 5564, 5564, 5564, 5564, 5564, 5585, 5585, 1197, 713, 788,
1290 943, 1121, 790, 1051, 742, 514, 745, 578, 1194, 1189,
1291 1187, 1174, 170, 1200,-32768, 33,-32768,-32768,-32768,-32768,
1292 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1293 -32768,-32768, 791, 793,-32768, 1044,-32768,-32768,-32768,-32768,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 922,-32768, 1141,
1295 -32768,-32768, 1142,-32768, 1143,-32768,-32768,-32768, 1146,-32768,
1296 2137, 1147, 922,-32768,-32768, 4748,-32768,-32768,-32768,-32768,
1297 6308,-32768,-32768, 6308,-32768,-32768,-32768,-32768, 5564, 800,
1298 1211,-32768,-32768,-32768, 1214, 1222,-32768, 916, 5564, 798,
1299 -32768,-32768, 916, 777,-32768, 1219, 916, 1151,-32768, 922,
1300 -32768, 1218,-32768,-32768,-32768, 922,-32768,-32768,-32768,-32768,
1301 -32768,-32768,-32768, 413, 1221,-32768, 646,-32768, 770,-32768,
1302 -32768, 1185, 1985, 1226, 798,-32768,-32768, 820, 1229, 5564,
1303 1170, 1170, 1239, 828, 1234, 844, 845, 850, 857, 859,
1304 867, 873, 874, 5564, 5484, 5564, 880, 887, 157, 5564,
1305 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564,
1306 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564, 5564,
1307 5564, 5564, 5564, 5564, 5564, 5564, 5564,-32768, 5564,-32768,
1308 1240, 1244,-32768, 1075, 1224, 235, 248,-32768,-32768,-32768,
1309 -32768,-32768,-32768,-32768, 558,-32768,-32768,-32768,-32768, 916,
1310 623,-32768, 128, 5036,-32768, 6308, 5036, 6308,-32768,-32768,
1311 -32768,-32768,-32768,-32768, 815, 1241,-32768,-32768,-32768,-32768,
1312 -32768,-32768,-32768,-32768,-32768, 922,-32768, 79,-32768, 593,
1313 -32768,-32768,-32768, 5516, 1246,-32768,-32768, 1016,-32768, 1251,
1314 985,-32768,-32768, 890, 4698, 1249, 898, 906, 291, 798,
1315 798,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768, 918, 937, 945, 736, 947, 497, 555, 105,
1317 533, 631, 714, 668, 725, 86, 638, 328, 560, 5564,
1318 565, 5684,-32768, 460, 1044,-32768,-32768,-32768,-32768,-32768,
1319 695,-32768, 6036, 235, 45, 45,-32768,-32768, 575, 705,
1320 -32768,-32768, 111,-32768, 894, 212,-32768,-32768,-32768,-32768,
1321 -32768, 1250,-32768, -3,-32768, 976,-32768, 489, 1248, 79,
1322 -32768, 111,-32768,-32768,-32768, 1256, 656,-32768,-32768, 5036,
1323 -32768, 5036,-32768,-32768, 3127,-32768, 733,-32768, 1184, 600,
1324 -32768,-32768,-32768, 5564, 798,-32768, 1098, 952,-32768, 989,
1325 991,-32768,-32768, 911,-32768,-32768, 235,-32768,-32768,-32768,
1326 -32768,-32768,-32768, 78, 575, 160, 798, 798, 45,-32768,
1327 111, 111,-32768, 602, 809,-32768, 1266, 961, 145, 212,
1328 603, 154,-32768,-32768, 894,-32768,-32768,-32768, 894, 30,
1329 798, 798, 1267, 894,-32768, 79, 1270, 885,-32768, 765,
1330 -32768,-32768, 1271,-32768, 1272, 1276,-32768, 1277,-32768,-32768,
1331 -32768, 1208,-32768, 734, 1275,-32768, 295,-32768,-32768,-32768,
1332 1278, 994, 996,-32768,-32768,-32768,-32768, 575, 1274, 460,
1333 -32768,-32768, 575, 549, 602, 532, 798, 798, 111,-32768,
1334 1108,-32768,-32768, 894,-32768, 145, 1264,-32768, 603,-32768,
1335 603,-32768,-32768, 1279,-32768,-32768, 1108, 1280,-32768,-32768,
1336 -32768,-32768, 5564, 656, 1290,-32768,-32768,-32768, 1289,-32768,
1337 1291,-32768,-32768,-32768,-32768, 1002, 5564,-32768,-32768,-32768,
1338 1283,-32768,-32768, 602,-32768,-32768,-32768, 1287, 154,-32768,
1339 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 5564,-32768,-32768,
1340 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1314, 1315,-32768
1343 static const short yypgoto[] =
1345 -32768,-32768, 1230,-32768,-32768,-32768,-32768, -361, -94,-32768,
1346 -32768, 1004,-32768,-32768,-32768,-32768,-32768, 77,-32768,-32768,
1347 392,-32768,-32768, 102, 135,-32768, 208,-32768,-32768,-32768,
1348 -970,-32768, -858,-32768,-32768, -627, -698,-32768,-32768,-32768,
1349 -548,-32768, -448,-32768, -325,-32768, 309,-32768,-32768, 641,
1350 -646,-32768, 238, 305,-32768,-32768,-32768,-32768,-32768,-32768,
1351 -32768,-32768,-32768,-32768,-32768, -864, 161,-32768, -1005,-32768,
1352 278,-32768,-32768, -609, 458, 1093,-32768,-32768, -607,-32768,
1353 -32768, -84, -343, -356, -275, -357, -360, -369, -395, -492,
1354 -513,-32768, -587,-32768, -117,-32768,-32768, 903, 1412, -570,
1355 -402, 28,-32768,-32768,-32768, -456,-32768,-32768,-32768, 753,
1356 -251, 870,-32768, -886, -732,-32768,-32768, 510,-32768,-32768,
1357 -32768, -322,-32768,-32768,-32768, -311,-32768,-32768,-32768,-32768,
1358 -32768, 544,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1359 -32768,-32768, 1, 758,-32768, 953,-32768,-32768,-32768,-32768,
1360 -32768,-32768,-32768,-32768,-32768,-32768, -55, -736, -852,-32768,
1361 143,-32768,-32768, 662, 665, 494, 2, -379, 1213,-32768,
1362 4,-32768,-32768, -549,-32768,-32768,-32768, 647, -103, 1045,
1363 -32768, -431, 862, 1331,-32768, 1112,-32768, 117,-32768,-32768,
1364 -32768,-32768, -135,-32768,-32768,-32768,-32768,-32768, 20, 258,
1365 997, 1165,-32768,-32768, 1458,-32768,-32768, -317,-32768, 1139,
1366 199, -588, -599,-32768, 851,-32768,-32768, 946, -186, 657,
1367 512, -428, 140,-32768, 156, 39,-32768,-32768, 165,-32768,
1368 181,-32768,-32768, 650,-32768, 348, -608,-32768,-32768,-32768,
1369 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1370 -32768,-32768,-32768,-32768,-32768,-32768, 1518,-32768,-32768, 1639,
1371 -273, 511, 0, 441,-32768
1378 static const short yytable[] =
1380 121, 114, 119, 596, 541, 121, 134, 129, 137, 121,
1381 216, 216, 216, 487, 249, 250, 251, 252, 253, 254,
1382 255, 256, 257, 258, 593, 318, 290, 300, 97, 540,
1383 200, 638, 564, 531, 532, 502, 465, 539, 537, 538,
1384 730, 745, 732, 680, 529, 530, 426, 839, 698, 209,
1385 636, 591, 1028, 1112, -600, 278, 566, 1182, -600, 283,
1386 467, 285, 742, 289, 1107, 1066, 1047, 936, 291, 1024,
1387 130, 334, 335, 336, 337, 338, 339, 93, 437, 1025,
1388 307, 1057, 308, 803, 1057, 943, 418, 121, 114, 119,
1389 947, 422, 471, 423, 951, 1163, 1164, 265, 625, 730,
1390 745, 732, 268, 1155, 1095, 779, 1096, -642, 605, 389,
1391 390, -642, 565, 268, 268, 97, 533, 534, 535, 536,
1392 121, 742, 262, 1097, 372, 645, -634, 198, 228, 228,
1393 -634, 954, 293, 267, 814, 1100, 741, 958, 121, 313,
1394 395, 396, 314, 658, 403, 1101, -273, 404, 1181, 121,
1395 917, 239, 239, 1187, 216, 389, 390, 740, 284, 1033,
1396 1093, 1094, 513, 1213, 93, 927, 1127, 240, 240, 502,
1397 1174, 1119, 216, 1120, 333, 210, 1108, 1110, 1109, 514,
1398 401, 443, 1113, 839, 1024, 979, 316, 1156, 1035, 839,
1399 1121, 211, 682, 209, 1025, 741, 402, 1052, 216, 1059,
1400 688, 1061, 980, 1217, 302, 780, 216, 1057, 216, 1057,
1401 216, 907, 438, 216, 935, 471, 740, 937, 406, 467,
1402 1183, 216, 553, 413, 690, 321, 216, 908, 216, 779,
1403 412, 80, 1026, 414, 1162, 813, 1109, 209, 492, 471,
1404 453, 216, 216, 691, 779, 209, 1035, 459, 3, 209,
1405 461, 1175, 209, 1178, 739, 322, 662, 1067, 469, 689,
1406 403, 472, 431, 404, 323, 848, 265, 488, 201, 234,
1407 234, 198, 1024, -413, -413, -413, 387, 388, -413, -413,
1408 738, 209, 1025, 121, 404, 440, 121, 121, 121, 737,
1409 633, 265, 736, 734, 562, 422, 686, 80, 1102, 452,
1410 526, 527, 528, 455, 324, 1013, 733, 471, 121, 839,
1411 464, 326, 404, 739, 121, 198, 404, 318, 1080, 210,
1412 832, 327, 1203, 198, 1015, 1016, 687, 198, 782, 780,
1413 198, 788, 1140, 395, 396, 211, 318, 1060, 228, 738,
1414 80, 1038, 791, 228, 780, 228, 80, 1026, 737, -646,
1415 176, 736, 734, -646, 216, 1017, 1018, 344, 228, 198,
1416 1178, 239, 216, 210, 216, 733, 239, 398, 239, 1019,
1417 560, 210, 404, 345, 735, 210, 451, 240, 210, 211,
1418 472, 239, 240, 318, 240, 575, 420, 211, 622, 404,
1419 580, 211, 583, 1070, 211, 1010, 404, 240, 80, 1038,
1420 488, 346, 730, 745, 732, 621, 938, 210, 216, 599,
1421 680, 347, 201, 604, 1008, 848, 945, -273, 3, 453,
1422 -413, -413, -413, 211, 742, -413, -413, 3, 551, 216,
1423 216, 546, 547, 735, 80, 1026, 216, -274, 121, 260,
1424 574, 122, 452, -273, 348, 453, 122, 209, 121, -274,
1425 140, 466, 782, 3, 561, 788, 201, 500, 501, 121,
1426 1136, 121, 1138, 349, 201, 561, 791, 782, 201, 121,
1427 788, 201, 121, 314, 443, 420, 121, 318, 404, 234,
1428 485, 791, 488, 404, 234, 318, 234, 1159, -413, -413,
1429 -413, 404, 712, -413, -413, 124, 125, 126, 741, 234,
1430 201, 80, 81, 139, 216, 350, 84, 85, 391, 392,
1431 1007, -46, 471, 121, 121, 1119, 404, 1120, -631, 740,
1432 615, 704, -631, 393, 394, 198, 673, 674, 122, 387,
1433 388, -413, 678, -413, 1121, 1006, 713, 679, 714, 997,
1434 998, -413, 448, 1005, 1003, 1004, 228, 228, 472, -692,
1435 995, 996, 216, 216, -635, 397, 1024, 1159, -635, 1209,
1436 121, 122, 650, 1033, 895, 896, 1025, 703, 216, 239,
1437 239, 216, 216, 210, 1208, 1165, -632, 1166, -696, 315,
1438 -632, 561, 1034, 389, 390, 240, 240, 387, 388, 211,
1439 325, 209, 1035, -693, 1167, 575, 398, 764, 471, 561,
1440 399, 1095, 843, 1096, 121, 80, 81, 139, 314, 404,
1441 84, 85, 696, 617, 407, 864, 739, -413, 678, -413,
1442 1097, 400, 999, 1000, 1001, 1002, 453, -413, 1165, 1119,
1443 1166, 1120, 901, 902, 3, 865, 866, 867, 868, 869,
1444 870, 1053, 738, 1030, 1054, 216, 216, 1167, 1121, 762,
1445 413, 737, -636, 1076, 736, 734, -636, 216, 216, -644,
1446 216, 631, -519, -644, 408, 632, 201, 397, 733, 198,
1447 -273, -698, 453, 1191, 121, 878, 121, -273, 1131, 453,
1448 3, 389, 390, 455, 1068, 216, -695, 234, 234, -639,
1449 3, 318, 121, -639, 404, 121, 121, 216, 648, -413,
1450 846, 318, -413, 404, -413, 391, 392, 862, 762, 80,
1451 81, 139, 593, 265, 84, 85, 1086, 210, 80, 1026,
1452 393, 394, 176, 265, 122, -698, 1098, 445, 447, 449,
1453 921, 922, 415, 211, -597, -637, 735, -694, -597, -637,
1454 1036, 1037, 971, 416, 80, 1038, -640, 1087, 1039, 122,
1455 -640, 265, 843, 100, 1054, 315, 1099, -629, 100, -465,
1456 453, -629, 391, 392, 389, 390, 246, 247, 248, 421,
1457 384, 385, 386, 953, 893, 894, 1124, 393, 394, -413,
1458 -413, -413, 897, 898, -413, -413, 80, 81, 139, 428,
1459 1224, 84, 85, 1141, -273, 216, 594, 899, 900, 3,
1460 948, 932, 427, 818, 932, 819, 992, 993, 994, -596,
1461 201, -620, -595, -596, 404, -620, -595, 216, 911, 121,
1462 939, 674, 216, -698, -698, 1235, 216, 265, -698, -698,
1463 1168, 1169, 80, 81, 139, 1063, 1064, 84, 85, 961,
1464 100, 404, 80, 81, 139, 969, 121, 84, 85, 404,
1465 846, 432, 1189, 973, 121, 270, 271, 272, 273, 274,
1466 275, 276, 277, 433, 279, -614, -619, 282, 458, -614,
1467 -619, -618, 368, 100, 369, -618, -413, 1056, -617, 122,
1468 -616, 439, -617, 298, -616, 303, 304, 306, -615, 586,
1469 1077, 312, -615, -413, -612, -613, 370, 371, -612, -613,
1470 122, -609, 122, 1190, 1069, -609, 1054, 298, -610, 463,
1471 315, -601, -610, 608, 340, -601, 1031, 613, 1034, -604,
1472 80, 81, 139, -604, 1050, 84, 85, 631, 1035, 216,
1473 460, 1079, 404, 1153, 932, 817, 932, 932, 932, -624,
1474 294, 435, 818, -624, 819, 155, 156, 157, 158, 159,
1475 160, 80, 81, 139, 634, 635, 84, 85, -625, 286,
1476 287, 288, -625, 161, 162, 163, -626, 874, -628, 875,
1477 -626, -413, -628, -622, 298, 1150, 462, -622, 468, 121,
1478 121, 384, 385, 386, 80, 81, 139, 164, -413, 84,
1479 85, 876, 877, 1171, 1172, 765, 766, 767, 768, 1129,
1480 478, 122, 769, 770, 771, 772, 773, 774, 775, 486,
1481 -605, 762, -603, 434, -605, -607, -603, -608, 484, -607,
1482 489, -608, 1091, -606, 1031, 1031, 490, -606, 1115, 1116,
1483 1117, 173, 1105, 491, 1050, 1050, 100, 441, 494, 444,
1484 446, 1072, 1073, 495, 1074, 315, 496, 298, 497, 290,
1485 1090, 1105, 454, 384, 385, 386, 121, 498, 1134, 504,
1486 932, 100, 932, 555, 216, 280, 281, 312, 556, 121,
1487 411, 574, 558, 1143, 121, 318, 1036, 1037, 1195, 559,
1488 80, 1038, 563, 576, 1039, 890, 891, 892, 577, 1230,
1489 592, 578, -273, 581, 298, 1031, 121, 121, 1031, 587,
1490 1105, 1105, 80, 174, 175, 298, 176, 84, 85, 1050,
1491 318, 1050, 600, 601, 1050, 586, 603, 586, 1050, 373,
1492 121, 121, 609, 1050, 610, 404, 825, 614, 618, 121,
1493 624, 619, 623, 833, 629, 630, 613, 122, 627, 647,
1494 651, 652, 654, 121, 879, 664, 667, 669, 672, 205,
1495 237, 237, 670, 675, 374, 375, 376, 377, 378, 379,
1496 380, 381, 382, 383, 677, 1031, 121, 121, 1105, 683,
1497 1234, 692, 694, 1050, 697, 202, 235, 235, 282, 880,
1498 881, 882, 883, 884, 885, 886, 887, 888, 889, 620,
1499 706, 100, 765, 121, 797, 1134, 707, 801, 579, 804,
1500 582, 811, 588, 830, 850, 589, 852, 812, 454, 828,
1501 595, 854, 100, 855, 100, 856, 503, 860, 1050, 602,
1502 861, 873, 312, 903, 506, 909, 507, 905, 904, 611,
1503 906, 912, 918, 919, 920, 317, 940, 923, 926, 941,
1504 942, 950, 952, 956, 441, 959, 966, 493, 317, 317,
1505 317, 317, 317, 317, 970, 342, 343, 972, 825, 974,
1506 946, 1011, 1012, 825, 1014, 176, 1071, 825, 1065, 1075,
1507 1078, 511, 1123, 1111, 1130, 1142, 515, 516, 517, 518,
1508 519, 520, 521, 522, 523, 524, 525, 122, 1170, 1186,
1509 1148, 1168, 1193, 205, 1196, 968, 1197, 1199, 569, 1201,
1510 1202, 1207, 1215, 1205, 1218, 1221, 1219, 545, 1226, 1228,
1511 1231, 1229, 1232, 100, 1238, 1239, 1041, 259, 470, 202,
1512 1233, 1220, 1179, 1085, 1154, 816, 1210, 663, 1092, 1126,
1513 441, 597, 977, 949, 925, 666, 1225, 205, 809, 807,
1514 962, 292, 842, 244, 456, 205, 595, 499, 1204, 205,
1515 684, 685, 205, 430, 552, 628, 851, 312, 858, 1084,
1516 237, 419, 964, 202, 965, 237, 569, 237, 0, 0,
1517 825, 202, 0, 0, 0, 202, 0, 441, 202, 0,
1518 237, 205, 0, 0, 0, 0, 235, 710, 711, 0,
1519 0, 235, 298, 235, 298, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 235, 202, 0, 0,
1521 0, 0, 0, 0, 0, 569, 0, 0, 799, 0,
1522 1081, 1082, 196, 0, 0, 0, 806, 0, 808, 0,
1523 0, 0, 454, 569, 661, 0, 0, 0, 0, 826,
1524 827, 0, 0, 0, 831, 0, 0, 0, 611, 844,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 203, 236,
1527 236, 298, 0, 0, 0, 0, 0, 317, 317, 317,
1528 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1529 317, 317, 317, 0, 0, 0, 0, 122, 0, 0,
1530 0, 0, 0, 0, 0, 825, 508, 661, 716, 0,
1531 122, 0, 0, 0, 0, 1147, 0, 0, 0, 0,
1532 661, 0, 0, 700, 0, 0, 0, 317, 213, 242,
1533 242, 0, 0, 0, 709, 0, 0, 1160, 1161, 0,
1534 0, 0, 297, 0, 0, 0, 317, 205, 0, 0,
1535 0, 929, 0, 0, 0, 0, 0, 0, 0, 849,
1536 0, 1184, 1185, 0, 329, 0, 331, 0, 237, 237,
1537 122, 0, 0, 202, 0, 0, 0, 0, 0, 0,
1538 0, 0, 317, 0, 122, 0, 0, 0, 820, 0,
1539 0, 0, 0, 317, 235, 235, 0, 0, 960, 844,
1540 0, 595, 700, 0, 0, 0, 0, 1211, 1212, 0,
1541 196, 0, 203, 0, 0, 0, 0, 0, 196, 0,
1542 0, 0, 196, 0, 0, 196, 0, 0, 0, 0,
1543 328, 0, 0, 417, 122, 317, 294, 317, 0, 640,
1544 642, 155, 156, 157, 158, 159, 160, 0, 0, 215,
1545 243, 243, 0, 0, 196, 0, 203, 0, 0, 161,
1546 162, 163, 0, 0, 203, 0, 0, 0, 203, 0,
1547 0, 203, 213, 0, 0, 0, 0, 0, 0, 236,
1548 0, 0, 0, 164, 236, 1055, 236, 317, 0, 0,
1549 0, 205, 1062, 0, 0, 317, 0, 0, 0, 236,
1550 203, 0, 0, 0, 0, 0, 450, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 213, 202, 0, 0,
1552 820, 0, 0, 0, 213, 820, 0, 173, 213, 820,
1553 0, 213, 0, 479, 480, 481, 482, 0, 0, 242,
1554 0, 0, 731, 0, 242, 0, 242, 0, 0, 0,
1555 0, 0, 0, 450, 0, 700, 0, 0, 0, 242,
1556 213, 0, 0, 0, 450, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 975, 511, 0, 0,
1558 0, 512, 981, 982, 983, 984, 985, 986, 987, 988,
1559 989, 990, 991, 215, 0, 0, 0, 0, 80, 295,
1560 296, 731, 176, 0, 0, 0, 1128, 0, 0, 100,
1561 0, 0, 317, 317, 317, 317, 317, 317, 871, 872,
1562 196, 0, 844, 0, 0, 1145, 0, 0, 557, 0,
1563 0, 441, 820, 0, 1151, 1152, 0, 215, 0, 0,
1564 0, 0, 0, 0, 0, 215, 0, 0, 0, 215,
1565 0, 0, 215, 0, 0, 0, 0, 0, 0, 0,
1566 243, 0, 0, 0, 0, 243, 203, 243, 0, 0,
1567 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0,
1568 243, 215, 100, 0, 1192, 1194, 0, 236, 236, 0,
1569 0, 0, 0, 0, 0, 0, 844, 0, 0, 0,
1570 0, 317, 0, -255, 0, 0, 0, 0, 0, 294,
1571 0, 317, 0, 0, 155, 156, 157, 158, 159, 160,
1572 0, 0, 1214, 0, 0, 0, 213, 0, 0, 0,
1573 0, 0, 161, 162, 163, 0, 0, 0, 0, 0,
1574 0, 0, 1222, 1223, 0, 0, 100, 242, 242, 1227,
1575 0, 0, 317, 0, 0, 637, 164, 0, 0, 0,
1576 0, 0, 0, 0, 196, 0, 0, 820, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 317, 317, 317, 317, 317, 317, 317,
1579 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1580 173, 317, 0, 0, 699, -690, 0, 0, 0, 294,
1581 203, 0, 0, 0, 155, 156, 157, 158, 159, 160,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 482, 0, 161, 162, 163, 0, 0, 0, 0, 0,
1584 0, 0, 0, 0, 0, 0, 0, 215, 0, 0,
1585 0, 450, 0, 450, 0, 0, 164, 0, 0, 717,
1586 0, 0, 0, 763, 0, -1, 1, 317, 243, 243,
1587 213, 80, 295, 296, 0, 176, 0, 0, 0, 0,
1588 0, 0, 0, 2, 0, 0, 0, 0, 0, -273,
1589 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
1590 173, 0, 0, 0, 731, 0, 0, 0, 0, 4,
1591 0, 5, 0, 0, 0, 0, 0, 0, 0, 857,
1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593 863, 0, 0, -413, -413, -413, 0, 6, 0, 0,
1594 0, 0, 7, 8, 9, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 0, 10, 11, 12,
1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 0, 80, 295, 296, 0, 176, 13, 14, 15, 16,
1598 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1599 26, 215, 27, 28, 29, 30, 31, 32, 33, 34,
1600 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1601 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1602 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1603 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1604 75, 76, 77, 78, 79, 0, 0, 0, 0, 0,
1605 0, 80, 81, 82, 83, 0, 84, 85, 86, 23,
1606 24, 25, 26, 0, 27, 0, 0, 0, 0, 32,
1607 33, 0, 0, 36, 37, 0, 39, 40, 41, 42,
1608 0, 0, 0, 0, 0, 317, 0, 978, 0, 0,
1609 0, 54, 55, 0, 0, -2, 1, 0, 0, 317,
1610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 0, 0, 2, 0, 0, 79, 0, 0, -273,
1612 317, 0, 0, 0, 0, 0, 83, 0, 0, 3,
1613 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
1614 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616 0, 0, 0, -413, -413, -413, 0, 6, 0, 0,
1617 0, 0, 7, 8, 9, 482, 0, 0, 0, 0,
1618 0, 0, 0, 0, 0, 0, 0, 10, 11, 12,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
1621 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1622 26, 1083, 27, 28, 29, 30, 31, 32, 33, 34,
1623 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1624 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1625 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1626 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1627 75, 76, 77, 78, 79, 0, 0, 0, 0, 0,
1628 0, 80, 81, 82, 83, 1146, 84, 85, 86, 141,
1629 0, 0, 0, 0, 142, 143, 144, 0, 145, 146,
1630 147, 148, 149, 150, 151, 152, 153, -547, 549, 0,
1631 0, 0, 154, 0, 0, 0, 0, 155, 156, 157,
1632 158, 159, 160, 0, 0, 0, 0, 0, 0, 0,
1633 -273, -273, 4, 0, 5, 161, 162, 163, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 0, 0, 0, 0, -413, -413, -413, 164,
1636 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 166, 167, 168, 169, 170, 171,
1639 0, 0, 0, 0, 0, 0, 0, 0, 172, 13,
1640 14, 15, 16, 173, 17, 18, 19, 20, 21, 22,
1641 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
1642 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1643 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1644 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1645 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1646 72, 73, 74, 75, 76, 77, 78, 79, 0, 0,
1647 0, 0, 0, 0, 80, 174, 550, 83, 176, 177,
1648 85, 86, 141, 0, 0, 0, 0, 142, 143, 144,
1649 0, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1650 -170, 0, 0, 0, 0, 154, 0, 0, 0, 0,
1651 155, 156, 157, 158, 159, 160, 0, 0, 0, 0,
1652 0, 0, 0, -273, -273, -273, 0, 0, 161, 162,
1653 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, -273,
1655 -273, -273, 164, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 166, 167, 168,
1658 169, 170, 171, 0, 0, 0, 0, 0, 0, 0,
1659 0, 172, -273, -273, -273, -273, 173, -273, -273, -273,
1660 -273, -273, -273, -273, -273, -273, -273, 0, -273, -273,
1661 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1662 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1663 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1664 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1665 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1666 -273, 0, 0, 0, 0, 0, 0, 80, 174, 175,
1667 -273, 176, 177, 85, -273, 218, 0, 0, 0, 0,
1668 142, 143, 144, 0, 0, 219, 147, 148, 149, 150,
1669 151, 152, 220, -170, -551, 0, 0, 0, 221, 0,
1670 0, 0, 0, 155, 156, 157, 158, 159, 160, 0,
1671 0, 0, 0, 0, 0, 0, -273, -273, -273, 0,
1672 0, 161, 162, 163, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, -273, -273, -273, 164, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 166, 167, 168, 169, 170, 171, 0, 0, 0, 0,
1678 0, 0, 0, 0, 172, -273, -273, -273, -273, 173,
1679 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1680 0, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1681 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1682 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1683 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1684 -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
1685 -273, -273, -273, -273, 0, 0, 0, 0, 0, 0,
1686 80, 174, 175, -273, 176, 222, 223, -273, -168, 0,
1687 0, 0, 0, -168, -168, -168, 0, -168, -168, -168,
1688 -168, -168, -168, -168, -168, -168, -168, -168, -168, -696,
1689 -168, -168, 0, -168, 0, -168, -168, -168, -168, -168,
1690 -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
1691 -168, 0, -168, 0, -168, -168, -168, -168, -168, -168,
1692 -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
1693 -168, -168, -168, -168, -168, 0, 0, 0, -168, 0,
1694 0, 0, 0, 0, 0, 0, 817, 1139, 0, 0,
1695 0, 294, 0, 818, 0, 819, 155, 156, 157, 158,
1696 159, 160, 0, -168, -168, -168, -168, -168, -168, 0,
1697 0, 0, 0, 218, 161, 162, 163, -168, 142, 143,
1698 144, 0, -168, 219, 147, 148, 149, 150, 151, 152,
1699 220, -492, -492, 0, 0, 0, 221, -492, 164, 0,
1700 0, 155, 156, 157, 158, 159, 160, 0, 0, 0,
1701 0, 0, 0, 0, -273, -273, 0, 0, 0, 161,
1702 162, 163, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 173, 164, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, -168, -168, -168, 0, -168, -168, -168,
1706 0, 0, 0, 0, 0, 0, 0, -492, 166, 167,
1707 168, 169, 170, 171, 0, 0, 0, 0, 0, 141,
1708 0, 0, 172, 0, 142, 143, 144, 173, 145, 146,
1709 147, 148, 149, 150, 151, 152, 153, -547, 0, 0,
1710 0, 0, 154, 0, 0, 0, 0, 155, 156, 157,
1711 158, 159, 160, 80, 174, 175, 0, 176, 84, 85,
1712 -273, -273, 0, 0, 141, 161, 162, 163, 0, 142,
1713 143, 144, 0, 145, 146, 147, 148, 149, 150, 151,
1714 152, 153, -547, 0, 0, 0, 0, 154, 0, 164,
1715 0, 0, 155, 156, 157, 158, 159, 160, 80, 174,
1716 175, 0, 176, 222, 223, -273, -273, 0, 0, 0,
1717 161, 162, 163, 165, 166, 167, 168, 169, 170, 171,
1718 0, 0, 0, 0, 0, 0, 0, -170, 172, 0,
1719 0, 0, 294, 173, 164, 0, 0, 155, 156, 157,
1720 158, 159, 160, 0, 0, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 161, 162, 163, -520, 166,
1722 167, 168, 169, 170, 171, 0, 0, 0, 0, 0,
1723 218, 0, 0, 172, 0, 142, 143, 144, 173, 164,
1724 219, 147, 148, 149, 150, 151, 152, 220, -547, -551,
1725 0, 0, 0, 221, 0, 0, 0, 0, 155, 156,
1726 157, 158, 159, 160, 80, 174, 175, 0, 176, 177,
1727 85, -273, -273, 0, 0, 141, 161, 162, 163, 0,
1728 142, 143, 144, 173, 145, 146, 147, 148, 149, 150,
1729 151, 152, 153, -547, 643, 0, 0, 0, 154, 0,
1730 164, 0, 0, 155, 156, 157, 158, 159, 160, 80,
1731 174, 175, 0, 176, 177, 85, -273, -273, 0, 0,
1732 0, 161, 162, 163, -488, 166, 167, 168, 169, 170,
1733 171, 0, 0, 0, 0, 0, 0, 0, -170, 172,
1734 0, 0, 0, 352, 173, 164, 0, 0, 155, 156,
1735 157, 158, 159, 160, 80, 295, 296, 0, 176, 0,
1736 0, 0, 0, 0, 0, 0, 161, 162, 163, 0,
1737 166, 167, 168, 169, 170, 171, 0, 0, 0, 0,
1738 0, 218, 0, 0, 172, 0, 142, 143, 144, 173,
1739 164, 219, 147, 148, 149, 150, 151, 152, 220, -547,
1740 -551, 0, 0, 0, 221, 0, 0, 0, 0, 155,
1741 156, 157, 158, 159, 160, 80, 174, 175, 0, 176,
1742 222, 223, -273, -273, 0, 0, 141, 161, 162, 163,
1743 0, 142, 143, 144, 173, 145, 146, 147, 148, 149,
1744 150, 151, 152, 153, -547, 0, 0, 0, 0, 154,
1745 0, 164, 0, 0, 155, 156, 157, 158, 159, 160,
1746 80, 174, 175, 0, 176, 177, 85, -273, -273, 0,
1747 0, 0, 161, 162, 163, 0, 166, 167, 168, 169,
1748 170, 171, 0, 0, 0, 0, 0, 0, 0, 0,
1749 172, 0, 0, 0, 0, 173, 164, 0, 0, 0,
1750 0, 0, 0, 0, 0, 80, 295, 296, 0, 176,
1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 166, 167, 168, 169, 170, 171, 0, 0, 0,
1753 0, 0, 0, 0, 0, 172, 0, 142, 143, 144,
1754 173, 145, 146, 147, 148, 149, 150, 151, 152, 220,
1755 -547, 567, 0, 0, 0, 352, 0, 0, 0, 0,
1756 155, 156, 157, 158, 159, 160, 80, 174, 175, 0,
1757 176, 222, 223, -273, -273, 4, 0, 5, 161, 162,
1758 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 164, 6, 0, 0, 0, 0, 0, 0,
1761 0, 80, 174, 175, 0, 176, 177, 85, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 166, 167, 168,
1763 169, 170, 171, 0, 0, 0, 0, 0, 0, 0,
1764 0, 568, 13, 14, 15, 16, 173, 17, 18, 19,
1765 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
1766 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1767 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1768 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1769 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1770 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1771 79, 0, 0, 0, 0, 0, 0, 80, 174, 550,
1772 83, 176, 177, 85, 86, 142, 143, 144, 0, 145,
1773 146, 147, 148, 149, 150, 151, 152, 220, -547, 644,
1774 0, 0, 0, 352, 0, 0, 0, 0, 155, 156,
1775 157, 158, 159, 160, 0, 0, 0, 0, 0, 0,
1776 0, -273, -273, 4, 0, 5, 161, 162, 163, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 164, 6, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 166, 167, 168, 169, 170,
1782 171, 0, 0, 0, 0, 0, 0, 0, 0, 172,
1783 13, 14, 15, 16, 173, 17, 18, 19, 20, 21,
1784 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
1785 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1786 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1787 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1788 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1789 71, 72, 73, 74, 75, 76, 77, 78, 79, 0,
1790 0, 0, 0, 0, 0, 80, 174, 550, 83, 176,
1791 177, 85, 86, 142, 143, 144, 0, 145, 146, 147,
1792 148, 149, 150, 151, 152, 220, -547, 656, 0, 0,
1793 0, 352, 0, 0, 0, 0, 155, 156, 157, 158,
1794 159, 160, 0, 0, 0, 0, 0, 0, 0, -273,
1795 -273, 4, 0, 5, 161, 162, 163, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 164, 6,
1798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 166, 167, 168, 169, 170, 171, 0,
1801 0, 0, 0, 0, 0, 0, 0, 657, 13, 14,
1802 15, 16, 173, 17, 18, 19, 20, 21, 22, 23,
1803 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
1804 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1805 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1806 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1807 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1808 73, 74, 75, 76, 77, 78, 79, 0, 0, 0,
1809 0, 0, 0, 80, 174, 550, 83, 176, 177, 85,
1810 86, 142, 143, 144, 0, 145, 146, 147, 148, 149,
1811 150, 151, 152, 220, -547, 655, 0, 0, 0, 352,
1812 0, 0, 0, 0, 155, 156, 157, 158, 159, 160,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 0, 0, 161, 162, 163, 0, 142, 143, 144, 0,
1815 145, 146, 147, 148, 149, 150, 151, 152, 220, -547,
1816 659, 0, 0, 0, 352, 0, 164, 0, 0, 155,
1817 156, 157, 158, 159, 160, 0, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 161, 162, 163,
1819 0, 166, 167, 168, 169, 170, 171, 0, 0, 0,
1820 0, 0, 0, 0, 0, 172, 0, 0, 0, 0,
1821 173, 164, 0, 0, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 166, 167, 168, 169,
1824 170, 171, 0, 0, 0, 0, 0, 0, 0, 0,
1825 660, 0, 142, 143, 144, 173, 145, 146, 147, 148,
1826 149, 150, 151, 152, 220, -547, 715, 0, 0, 0,
1827 352, 0, 0, 0, 0, 155, 156, 157, 158, 159,
1828 160, 80, 174, 175, 0, 176, 177, 85, 0, 0,
1829 0, 0, 0, 161, 162, 163, 0, 142, 143, 144,
1830 0, 145, 146, 147, 148, 149, 150, 151, 152, 220,
1831 -547, 793, 0, 0, 0, 352, 0, 164, 0, 0,
1832 155, 156, 157, 158, 159, 160, 80, 174, 175, 0,
1833 176, 177, 85, 0, 0, 0, 0, 0, 161, 162,
1834 163, 0, 166, 167, 168, 169, 170, 171, 0, 0,
1835 0, 0, 0, 0, 0, 0, 172, 0, 0, 0,
1836 0, 173, 164, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 166, 167, 168,
1839 169, 170, 171, 0, 0, 0, 0, 0, 0, 0,
1840 0, 172, 0, 142, 143, 144, 173, 145, 146, 147,
1841 148, 149, 150, 151, 152, 220, -547, 794, 0, 0,
1842 0, 352, 0, 0, 0, 0, 155, 156, 157, 158,
1843 159, 160, 80, 174, 175, 0, 176, 177, 85, 0,
1844 0, 0, 0, 0, 161, 162, 163, 0, 142, 143,
1845 144, 0, 145, 146, 147, 148, 149, 150, 151, 152,
1846 220, -547, 796, 0, 0, 0, 352, 0, 164, 0,
1847 0, 155, 156, 157, 158, 159, 160, 80, 174, 175,
1848 0, 176, 177, 85, 0, 0, 0, 0, 0, 161,
1849 162, 163, 0, 166, 167, 168, 169, 170, 171, 0,
1850 0, 0, 0, 0, 0, 0, 0, 795, 0, 0,
1851 0, 0, 173, 164, 0, 0, 0, 620, 0, 0,
1852 0, 0, 294, 0, 0, 0, 0, 155, 156, 157,
1853 158, 159, 160, 0, 0, 0, 0, 0, 166, 167,
1854 168, 169, 170, 171, 0, 161, 162, 163, 0, 0,
1855 0, 0, 172, 0, 142, 143, 144, 173, 145, 146,
1856 147, 148, 149, 150, 151, 152, 220, -547, 928, 164,
1857 0, 0, 352, 0, 0, 0, 0, 155, 156, 157,
1858 158, 159, 160, 80, 174, 175, 0, 176, 177, 85,
1859 0, 0, 0, 0, 0, 161, 162, 163, 0, 142,
1860 143, 144, 0, 145, 146, 147, 148, 149, 150, 151,
1861 152, 220, -547, 173, 0, 0, 0, 352, 0, 164,
1862 0, 0, 155, 156, 157, 158, 159, 160, 80, 174,
1863 175, 0, 176, 177, 85, 0, 0, 0, 0, 0,
1864 161, 162, 163, 0, 166, 167, 168, 169, 170, 171,
1865 0, 0, 0, 0, 0, 0, 0, 0, 172, 0,
1866 0, 0, 0, 173, 164, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 80, 295, 296, 0, 176, 166,
1869 167, 168, 169, 170, 171, -135, 0, 0, 0, 0,
1870 -135, 0, 0, 172, 0, 0, 0, 0, 173, 0,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 4, 0, 5, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 80, 174, 175, 0, 176, 177,
1874 85, 0, 0, 0, 0, 0, 0, 0, 6, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,
1878 174, 175, 0, 176, 177, 85, 0, 13, 14, 15,
1879 16, 0, 17, 18, 19, 20, 21, 22, 23, 24,
1880 25, 26, 0, 27, 28, 29, 30, 31, 32, 33,
1881 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1882 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1883 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1884 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1885 74, 75, 76, 77, 78, 79, -550, 0, 0, 0,
1886 0, 0, 0, 0, 136, 83, 0, 0, 0, 86,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 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, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 13, 14, 15,
1895 16, 0, 17, 18, 19, 20, 21, 22, 23, 24,
1896 25, 26, 0, 27, 28, 29, 30, 31, 32, 33,
1897 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1898 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1899 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1900 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1901 74, 75, 76, 77, 78, 79, 0, 0, 0, 0,
1902 0, 699, 0, 0, 136, 83, 294, 0, 0, 86,
1903 0, 155, 156, 157, 158, 159, 160, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 161,
1905 162, 163, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907 0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910 0, 0, 0, 0, 0, 0, -273, 0, 0, 0,
1911 0, 0, 0, 0, 0, 0, 3, 173, 0, 0,
1912 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 80, 295,
1919 296, 0, 176, 13, 14, 15, 16, 0, 17, 18,
1920 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
1921 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1922 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1923 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1924 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1925 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1926 78, 79, 0, 0, 0, 0, 0, 0, 80, 81,
1927 82, 83, 0, 84, 85, 86, 294, 509, 0, 0,
1928 0, 155, 156, 157, 158, 159, 160, 294, 0, 0,
1929 590, 0, 155, 156, 157, 158, 159, 160, 0, 161,
1930 162, 163, 0, 0, 0, 0, 0, 0, 294, 976,
1931 161, 162, 163, 155, 156, 157, 158, 159, 160, 294,
1932 0, 0, 681, 164, 155, 156, 157, 158, 159, 160,
1933 0, 161, 162, 163, 164, 0, 0, 0, 0, 0,
1934 294, -255, 161, 162, 163, 155, 156, 157, 158, 159,
1935 160, 0, 0, 0, 0, 164, 0, 0, 0, 0,
1936 0, 0, 0, 161, 162, 163, 164, 173, 0, 0,
1937 0, 0, 0, 0, 0, 0, 0, 0, 173, 0,
1938 0, 0, 0, 0, 0, 0, 0, 164, 294, 0,
1939 0, 0, 0, 155, 156, 157, 158, 159, 160, 173,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 341,
1941 173, 161, 162, 163, 155, 156, 157, 158, 159, 160,
1942 639, 0, 0, 0, 0, 155, 156, 157, 158, 159,
1943 160, 173, 161, 162, 163, 164, 0, 0, 80, 295,
1944 296, 0, 176, 161, 162, 163, 0, 0, 0, 80,
1945 295, 296, 641, 176, 0, 0, 164, 155, 156, 157,
1946 158, 159, 160, 0, 0, 0, 0, 164, 0, 0,
1947 80, 295, 296, 0, 176, 161, 162, 163, 0, 173,
1948 0, 80, 295, 296, 0, 176, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 0, 0, 0, 0, 164,
1950 173, 0, 80, 295, 296, 0, 176, 0, 718, 0,
1951 0, 173, 0, 719, 720, 721, 722, 723, 724, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 161, 725, 726, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 173, 0, 0, 0, 0, 0, 0,
1955 80, 295, 296, 0, 176, 727, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957 0, 80, 295, 296, 0, 176, 0, 0, 0, 0,
1958 0, 0, 80, 295, 296, 0, 176, 0, 0, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 173,
1960 0, 0, 0, 0, 0, 0, -199, -199, 4, 0,
1961 0, 0, 0, 0, 80, 295, 296, 0, 176, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 80, 728, 729, 0, 176, 13, 14, 15, 16, 0,
1968 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1969 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1970 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1971 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1972 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1973 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1974 76, 77, 78, 79, 4, 0, 5, 0, 0, 0,
1975 0, 0, 136, 83, 0, 0, 0, 86, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, -413, -413,
1977 -413, 0, 6, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
1982 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
1983 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1984 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1985 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1986 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1987 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1988 4, 0, 5, 0, 0, 0, 0, 0, 136, 83,
1989 0, 0, 0, 86, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 13, 14, 15,
1995 16, 0, 17, 18, 19, 20, 21, 22, 23, 24,
1996 25, 26, 0, 27, 28, 29, 30, 31, 32, 33,
1997 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1998 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1999 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2000 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2001 74, 75, 76, 77, 78, 79, 4, 0, 0, 0,
2002 0, 0, 80, 1088, 136, 83, 0, 0, 0, 86,
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2004 -413, -413, -413, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2009 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2010 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2011 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2012 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2013 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2014 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2015 78, 79, 4, 0, 0, 0, 0, 0, 0, 0,
2016 136, 83, 0, 0, 0, 86, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
2022 14, 15, 16, 0, 17, 18, 19, 20, 21, 22,
2023 23, 24, 25, 26, 0, 27, 28, 29, 30, 31,
2024 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2025 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2026 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2027 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2028 72, 73, 74, 75, 76, 77, 78, 79, 4, 0,
2029 5, 0, 0, 0, 0, 0, 136, 83, 0, 0,
2030 0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 13, 14, 15, 16, 0,
2036 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2037 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2038 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2039 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2040 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2041 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2042 76, 77, 78, 79, 4, 0, 0, 0, 0, 0,
2043 0, 0, 136, 83, 0, 0, 0, 86, 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, 0, 0, 0, 0, 0,
2048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2050 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2051 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2052 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2053 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2054 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2055 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2056 0, 0, 0, 0, 0, 0, 0, 0, 136, 83,
2060 static const short yycheck[] =
2062 0, 0, 0, 459, 399, 5, 5, 3, 7, 9,
2063 10, 11, 12, 330, 69, 70, 71, 72, 73, 74,
2064 75, 76, 77, 78, 455, 142, 120, 130, 0, 398,
2065 10, 544, 434, 389, 390, 352, 309, 397, 395, 396,
2066 649, 649, 649, 592, 387, 388, 232, 693, 618, 10,
2067 542, 453, 916, 56, 21, 110, 435, 27, 25, 114,
2068 311, 116, 649, 118, 1034, 951, 924, 803, 123, 24,
2069 24, 155, 156, 157, 158, 159, 160, 0, 264, 34,
2070 135, 933, 137, 671, 936, 817, 221, 87, 87, 87,
2071 822, 226, 5, 228, 826, 1100, 1101, 18, 500, 708,
2072 708, 708, 101, 25, 26, 653, 28, 21, 469, 50,
2073 51, 25, 25, 112, 113, 87, 391, 392, 393, 394,
2074 120, 708, 19, 45, 179, 553, 21, 10, 11, 12,
2075 25, 829, 128, 24, 683, 24, 649, 835, 138, 138,
2076 54, 55, 138, 571, 18, 34, 18, 21, 1118, 149,
2077 777, 11, 12, 1123, 154, 50, 51, 649, 88, 5,
2078 1024, 1025, 28, 1168, 87, 792, 1052, 11, 12, 486,
2079 25, 26, 172, 28, 154, 10, 1034, 1035, 24, 45,
2080 41, 284, 185, 829, 24, 28, 24, 27, 34, 835,
2081 45, 10, 594, 154, 34, 708, 57, 929, 198, 935,
2082 602, 937, 45, 1173, 21, 653, 206, 1059, 208, 1061,
2083 210, 41, 267, 213, 802, 5, 708, 805, 198, 470,
2084 190, 221, 408, 190, 603, 24, 226, 57, 228, 777,
2085 210, 186, 187, 213, 1098, 25, 24, 198, 341, 5,
2086 26, 241, 242, 604, 792, 206, 34, 302, 34, 210,
2087 305, 1109, 213, 1111, 649, 24, 573, 955, 313, 25,
2088 18, 316, 242, 21, 24, 696, 18, 25, 10, 11,
2089 12, 154, 24, 186, 187, 188, 32, 33, 191, 192,
2090 649, 242, 34, 283, 21, 283, 286, 287, 288, 649,
2091 27, 18, 649, 649, 429, 430, 23, 186, 187, 298,
2092 384, 385, 386, 299, 24, 913, 649, 5, 308, 955,
2093 308, 18, 21, 708, 314, 198, 21, 434, 27, 154,
2094 5, 18, 27, 206, 89, 90, 599, 210, 653, 777,
2095 213, 653, 1064, 54, 55, 154, 453, 936, 221, 708,
2096 186, 187, 653, 226, 792, 228, 186, 187, 708, 21,
2097 190, 708, 708, 25, 354, 120, 121, 24, 241, 242,
2098 1218, 221, 362, 198, 364, 708, 226, 39, 228, 134,
2099 425, 206, 21, 16, 649, 210, 25, 221, 213, 198,
2100 435, 241, 226, 500, 228, 440, 18, 206, 491, 21,
2101 445, 210, 447, 963, 213, 908, 21, 241, 186, 187,
2102 25, 16, 1011, 1011, 1011, 489, 808, 242, 408, 464,
2103 959, 16, 154, 468, 906, 846, 818, 24, 34, 26,
2104 186, 187, 188, 242, 1011, 191, 192, 34, 408, 429,
2105 430, 42, 43, 708, 186, 187, 436, 24, 438, 26,
2106 438, 0, 441, 24, 16, 26, 5, 408, 448, 24,
2107 9, 26, 777, 34, 426, 777, 198, 6, 7, 459,
2108 1059, 461, 1061, 15, 206, 437, 777, 792, 210, 469,
2109 792, 213, 472, 469, 577, 18, 476, 594, 21, 221,
2110 18, 792, 25, 21, 226, 602, 228, 1095, 186, 187,
2111 188, 21, 22, 191, 192, 111, 112, 113, 1011, 241,
2112 242, 186, 187, 188, 504, 101, 191, 192, 37, 38,
2113 905, 22, 5, 513, 514, 26, 21, 28, 21, 1011,
2114 25, 624, 25, 52, 53, 408, 20, 21, 87, 32,
2115 33, 24, 25, 26, 45, 904, 639, 592, 641, 895,
2116 896, 34, 19, 903, 901, 902, 429, 430, 603, 22,
2117 893, 894, 552, 553, 21, 29, 24, 1165, 25, 27,
2118 560, 120, 560, 5, 50, 51, 34, 622, 568, 429,
2119 430, 571, 572, 408, 25, 26, 21, 28, 22, 138,
2120 25, 553, 24, 50, 51, 429, 430, 32, 33, 408,
2121 149, 552, 34, 22, 45, 650, 39, 652, 5, 571,
2122 40, 26, 696, 28, 604, 186, 187, 188, 604, 21,
2123 191, 192, 611, 25, 95, 718, 1011, 24, 25, 26,
2124 45, 56, 897, 898, 899, 900, 26, 34, 26, 26,
2125 28, 28, 54, 55, 34, 719, 720, 721, 722, 723,
2126 724, 18, 1011, 916, 21, 645, 646, 45, 45, 649,
2127 190, 1011, 21, 970, 1011, 1011, 25, 657, 658, 21,
2128 660, 21, 95, 25, 19, 25, 408, 29, 1011, 552,
2129 24, 34, 26, 1129, 674, 730, 676, 24, 22, 26,
2130 34, 50, 51, 679, 957, 685, 22, 429, 430, 21,
2131 34, 808, 692, 25, 21, 695, 696, 697, 25, 18,
2132 696, 818, 21, 21, 23, 37, 38, 25, 708, 186,
2133 187, 188, 1143, 18, 191, 192, 21, 552, 186, 187,
2134 52, 53, 190, 18, 283, 88, 21, 286, 287, 288,
2135 785, 786, 22, 552, 21, 21, 1011, 22, 25, 25,
2136 182, 183, 859, 24, 186, 187, 21, 1020, 190, 308,
2137 25, 18, 846, 0, 21, 314, 1029, 21, 5, 25,
2138 26, 25, 37, 38, 50, 51, 13, 14, 15, 95,
2139 34, 35, 36, 828, 32, 33, 1049, 52, 53, 186,
2140 187, 188, 37, 38, 191, 192, 186, 187, 188, 20,
2141 1192, 191, 192, 1066, 24, 795, 26, 52, 53, 34,
2142 23, 800, 19, 26, 803, 28, 890, 891, 892, 21,
2143 552, 21, 21, 25, 21, 25, 25, 817, 25, 819,
2144 20, 21, 822, 186, 187, 1227, 826, 18, 191, 192,
2145 21, 1104, 186, 187, 188, 20, 21, 191, 192, 193,
2146 87, 21, 186, 187, 188, 25, 846, 191, 192, 21,
2147 846, 95, 1125, 25, 854, 102, 103, 104, 105, 106,
2148 107, 108, 109, 27, 111, 21, 21, 114, 25, 25,
2149 25, 21, 24, 120, 26, 25, 28, 932, 21, 438,
2150 21, 18, 25, 130, 25, 132, 133, 134, 21, 448,
2151 974, 138, 25, 45, 21, 21, 48, 49, 25, 25,
2152 459, 21, 461, 18, 959, 25, 21, 154, 21, 23,
2153 469, 21, 25, 472, 161, 25, 916, 476, 24, 21,
2154 186, 187, 188, 25, 924, 191, 192, 21, 34, 929,
2155 18, 25, 21, 22, 933, 19, 935, 936, 937, 21,
2156 24, 24, 26, 25, 28, 29, 30, 31, 32, 33,
2157 34, 186, 187, 188, 513, 514, 191, 192, 21, 68,
2158 69, 70, 25, 47, 48, 49, 21, 24, 21, 26,
2159 25, 28, 25, 21, 221, 1078, 18, 25, 24, 979,
2160 980, 34, 35, 36, 186, 187, 188, 71, 45, 191,
2161 192, 48, 49, 32, 33, 73, 74, 75, 76, 1054,
2162 22, 560, 80, 81, 82, 83, 84, 85, 86, 24,
2163 21, 1011, 21, 260, 25, 21, 25, 21, 18, 25,
2164 25, 25, 1022, 21, 1024, 1025, 25, 25, 52, 53,
2165 54, 115, 1032, 24, 1034, 1035, 283, 284, 18, 286,
2166 287, 25, 26, 18, 28, 604, 18, 294, 18, 1143,
2167 1022, 1051, 299, 34, 35, 36, 1056, 18, 1056, 19,
2168 1059, 308, 1061, 9, 1064, 112, 113, 314, 11, 1069,
2169 208, 1069, 25, 1069, 1074, 1192, 182, 183, 1133, 24,
2170 186, 187, 11, 91, 190, 34, 35, 36, 21, 1206,
2171 24, 19, 19, 19, 341, 1095, 1096, 1097, 1098, 19,
2172 1100, 1101, 186, 187, 188, 352, 190, 191, 192, 1109,
2173 1227, 1111, 91, 27, 1114, 674, 24, 676, 1118, 23,
2174 1120, 1121, 25, 1123, 21, 21, 685, 22, 18, 1129,
2175 21, 25, 25, 692, 11, 24, 695, 696, 25, 24,
2176 24, 27, 25, 1143, 23, 23, 20, 19, 19, 10,
2177 11, 12, 20, 23, 58, 59, 60, 61, 62, 63,
2178 64, 65, 66, 67, 27, 1165, 1166, 1167, 1168, 24,
2179 1225, 21, 5, 1173, 25, 10, 11, 12, 425, 58,
2180 59, 60, 61, 62, 63, 64, 65, 66, 67, 19,
2181 22, 438, 73, 1193, 25, 1193, 24, 20, 445, 20,
2182 447, 25, 449, 25, 18, 452, 21, 27, 455, 27,
2183 457, 21, 459, 25, 461, 22, 354, 25, 1218, 466,
2184 25, 24, 469, 29, 362, 25, 364, 40, 39, 476,
2185 56, 187, 91, 91, 91, 142, 25, 91, 91, 25,
2186 18, 22, 91, 25, 491, 24, 20, 344, 155, 156,
2187 157, 158, 159, 160, 25, 162, 163, 18, 817, 25,
2188 819, 21, 18, 822, 40, 190, 20, 826, 27, 18,
2189 21, 368, 24, 23, 18, 91, 373, 374, 375, 376,
2190 377, 378, 379, 380, 381, 382, 383, 846, 22, 22,
2191 192, 21, 21, 154, 22, 854, 20, 20, 436, 91,
2192 25, 27, 194, 25, 40, 25, 27, 404, 18, 20,
2193 27, 20, 25, 560, 0, 0, 924, 87, 314, 154,
2194 1218, 1186, 1114, 1014, 1086, 684, 1165, 574, 1023, 1051,
2195 577, 461, 874, 823, 790, 577, 1193, 198, 676, 674,
2196 846, 128, 695, 12, 299, 206, 593, 350, 1149, 210,
2197 597, 598, 213, 241, 408, 504, 699, 604, 708, 1011,
2198 221, 222, 851, 198, 852, 226, 504, 228, -1, -1,
2199 929, 206, -1, -1, -1, 210, -1, 624, 213, -1,
2200 241, 242, -1, -1, -1, -1, 221, 634, 635, -1,
2201 -1, 226, 639, 228, 641, -1, -1, -1, -1, -1,
2202 -1, -1, -1, -1, -1, -1, 241, 242, -1, -1,
2203 -1, -1, -1, -1, -1, 553, -1, -1, 665, -1,
2204 979, 980, 10, -1, -1, -1, 673, -1, 675, -1,
2205 -1, -1, 679, 571, 572, -1, -1, -1, -1, 686,
2206 687, -1, -1, -1, 691, -1, -1, -1, 695, 696,
2207 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, 10, 11,
2209 12, 718, -1, -1, -1, -1, -1, 384, 385, 386,
2210 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
2211 397, 398, 399, -1, -1, -1, -1, 1056, -1, -1,
2212 -1, -1, -1, -1, -1, 1064, 367, 645, 646, -1,
2213 1069, -1, -1, -1, -1, 1074, -1, -1, -1, -1,
2214 658, -1, -1, 620, -1, -1, -1, 434, 10, 11,
2215 12, -1, -1, -1, 631, -1, -1, 1096, 1097, -1,
2216 -1, -1, 130, -1, -1, -1, 453, 408, -1, -1,
2217 -1, 798, -1, -1, -1, -1, -1, -1, -1, 697,
2218 -1, 1120, 1121, -1, 152, -1, 154, -1, 429, 430,
2219 1129, -1, -1, 408, -1, -1, -1, -1, -1, -1,
2220 -1, -1, 489, -1, 1143, -1, -1, -1, 685, -1,
2221 -1, -1, -1, 500, 429, 430, -1, -1, 845, 846,
2222 -1, 848, 699, -1, -1, -1, -1, 1166, 1167, -1,
2223 198, -1, 154, -1, -1, -1, -1, -1, 206, -1,
2224 -1, -1, 210, -1, -1, 213, -1, -1, -1, -1,
2225 18, -1, -1, 221, 1193, 542, 24, 544, -1, 546,
2226 547, 29, 30, 31, 32, 33, 34, -1, -1, 10,
2227 11, 12, -1, -1, 242, -1, 198, -1, -1, 47,
2228 48, 49, -1, -1, 206, -1, -1, -1, 210, -1,
2229 -1, 213, 154, -1, -1, -1, -1, -1, -1, 221,
2230 -1, -1, -1, 71, 226, 932, 228, 594, -1, -1,
2231 -1, 552, 939, -1, -1, 602, -1, -1, -1, 241,
2232 242, -1, -1, -1, -1, -1, 294, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, 198, 552, -1, -1,
2234 817, -1, -1, -1, 206, 822, -1, 115, 210, 826,
2235 -1, 213, -1, 321, 322, 323, 324, -1, -1, 221,
2236 -1, -1, 649, -1, 226, -1, 228, -1, -1, -1,
2237 -1, -1, -1, 341, -1, 852, -1, -1, -1, 241,
2238 242, -1, -1, -1, 352, -1, -1, -1, -1, -1,
2239 -1, -1, -1, -1, -1, -1, 873, 874, -1, -1,
2240 -1, 369, 879, 880, 881, 882, 883, 884, 885, 886,
2241 887, 888, 889, 154, -1, -1, -1, -1, 186, 187,
2242 188, 708, 190, -1, -1, -1, 1053, -1, -1, 1056,
2243 -1, -1, 719, 720, 721, 722, 723, 724, 725, 726,
2244 408, -1, 1069, -1, -1, 1072, -1, -1, 416, -1,
2245 -1, 1078, 929, -1, 1081, 1082, -1, 198, -1, -1,
2246 -1, -1, -1, -1, -1, 206, -1, -1, -1, 210,
2247 -1, -1, 213, -1, -1, -1, -1, -1, -1, -1,
2248 221, -1, -1, -1, -1, 226, 408, 228, -1, -1,
2249 -1, -1, -1, -1, -1, -1, -1, 1124, -1, -1,
2250 241, 242, 1129, -1, 1131, 1132, -1, 429, 430, -1,
2251 -1, -1, -1, -1, -1, -1, 1143, -1, -1, -1,
2252 -1, 808, -1, 18, -1, -1, -1, -1, -1, 24,
2253 -1, 818, -1, -1, 29, 30, 31, 32, 33, 34,
2254 -1, -1, 1169, -1, -1, -1, 408, -1, -1, -1,
2255 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2256 -1, -1, 1189, 1190, -1, -1, 1193, 429, 430, 1196,
2257 -1, -1, 859, -1, -1, 543, 71, -1, -1, -1,
2258 -1, -1, -1, -1, 552, -1, -1, 1064, -1, -1,
2259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2260 -1, -1, -1, 890, 891, 892, 893, 894, 895, 896,
2261 897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
2262 115, 908, -1, -1, 19, 20, -1, -1, -1, 24,
2263 552, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2265 618, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, 408, -1, -1,
2267 -1, 639, -1, 641, -1, -1, 71, -1, -1, 647,
2268 -1, -1, -1, 651, -1, 0, 1, 974, 429, 430,
2269 552, 186, 187, 188, -1, 190, -1, -1, -1, -1,
2270 -1, -1, -1, 18, -1, -1, -1, -1, -1, 24,
2271 -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
2272 115, -1, -1, -1, 1011, -1, -1, -1, -1, 44,
2273 -1, 46, -1, -1, -1, -1, -1, -1, -1, 707,
2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 718, -1, -1, 68, 69, 70, -1, 72, -1, -1,
2276 -1, -1, 77, 78, 79, -1, -1, -1, -1, -1,
2277 -1, -1, -1, -1, -1, -1, -1, 92, 93, 94,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, 186, 187, 188, -1, 190, 111, 112, 113, 114,
2280 -1, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2281 125, 552, 127, 128, 129, 130, 131, 132, 133, 134,
2282 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2283 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2284 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2285 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2286 175, 176, 177, 178, 179, -1, -1, -1, -1, -1,
2287 -1, 186, 187, 188, 189, -1, 191, 192, 193, 122,
2288 123, 124, 125, -1, 127, -1, -1, -1, -1, 132,
2289 133, -1, -1, 136, 137, -1, 139, 140, 141, 142,
2290 -1, -1, -1, -1, -1, 1192, -1, 875, -1, -1,
2291 -1, 154, 155, -1, -1, 0, 1, -1, -1, 1206,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, 18, -1, -1, 179, -1, -1, 24,
2294 1227, -1, -1, -1, -1, -1, 189, -1, -1, 34,
2295 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2296 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2298 -1, -1, -1, 68, 69, 70, -1, 72, -1, -1,
2299 -1, -1, 77, 78, 79, 963, -1, -1, -1, -1,
2300 -1, -1, -1, -1, -1, -1, -1, 92, 93, 94,
2301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2302 -1, -1, -1, -1, -1, -1, 111, 112, 113, 114,
2303 -1, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2304 125, 1009, 127, 128, 129, 130, 131, 132, 133, 134,
2305 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2306 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2307 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2308 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2309 175, 176, 177, 178, 179, -1, -1, -1, -1, -1,
2310 -1, 186, 187, 188, 189, 1073, 191, 192, 193, 1,
2311 -1, -1, -1, -1, 6, 7, 8, -1, 10, 11,
2312 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2313 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2314 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2315 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
2316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2317 -1, -1, -1, -1, -1, -1, 68, 69, 70, 71,
2318 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2319 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2320 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
2321 -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
2322 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2323 122, 123, 124, 125, -1, 127, 128, 129, 130, 131,
2324 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2325 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2326 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2327 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2328 172, 173, 174, 175, 176, 177, 178, 179, -1, -1,
2329 -1, -1, -1, -1, 186, 187, 188, 189, 190, 191,
2330 192, 193, 1, -1, -1, -1, -1, 6, 7, 8,
2331 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2332 19, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2333 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2334 -1, -1, -1, 42, 43, 44, -1, -1, 47, 48,
2335 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2337 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
2338 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2339 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2340 99, 100, 101, -1, -1, -1, -1, -1, -1, -1,
2341 -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2342 119, 120, 121, 122, 123, 124, 125, -1, 127, 128,
2343 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2344 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2345 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2346 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2347 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2348 179, -1, -1, -1, -1, -1, -1, 186, 187, 188,
2349 189, 190, 191, 192, 193, 1, -1, -1, -1, -1,
2350 6, 7, 8, -1, -1, 11, 12, 13, 14, 15,
2351 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2352 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2353 -1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
2354 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2355 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2356 -1, -1, 68, 69, 70, 71, -1, -1, -1, -1,
2357 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2359 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
2360 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,
2361 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2362 -1, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2363 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2364 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2365 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2366 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2367 176, 177, 178, 179, -1, -1, -1, -1, -1, -1,
2368 186, 187, 188, 189, 190, 191, 192, 193, 1, -1,
2369 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2370 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2371 23, 24, -1, 26, -1, 28, 29, 30, 31, 32,
2372 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2373 43, -1, 45, -1, 47, 48, 49, 50, 51, 52,
2374 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2375 63, 64, 65, 66, 67, -1, -1, -1, 71, -1,
2376 -1, -1, -1, -1, -1, -1, 19, 20, -1, -1,
2377 -1, 24, -1, 26, -1, 28, 29, 30, 31, 32,
2378 33, 34, -1, 96, 97, 98, 99, 100, 101, -1,
2379 -1, -1, -1, 1, 47, 48, 49, 110, 6, 7,
2380 8, -1, 115, 11, 12, 13, 14, 15, 16, 17,
2381 18, 19, 20, -1, -1, -1, 24, 25, 71, -1,
2382 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2383 -1, -1, -1, -1, 42, 43, -1, -1, -1, 47,
2384 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, 115, 71, -1, -1, -1, -1, -1, -1,
2387 -1, -1, -1, 186, 187, 188, -1, 190, 191, 192,
2388 -1, -1, -1, -1, -1, -1, -1, 95, 96, 97,
2389 98, 99, 100, 101, -1, -1, -1, -1, -1, 1,
2390 -1, -1, 110, -1, 6, 7, 8, 115, 10, 11,
2391 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2392 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2393 32, 33, 34, 186, 187, 188, -1, 190, 191, 192,
2394 42, 43, -1, -1, 1, 47, 48, 49, -1, 6,
2395 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2396 17, 18, 19, -1, -1, -1, -1, 24, -1, 71,
2397 -1, -1, 29, 30, 31, 32, 33, 34, 186, 187,
2398 188, -1, 190, 191, 192, 42, 43, -1, -1, -1,
2399 47, 48, 49, 95, 96, 97, 98, 99, 100, 101,
2400 -1, -1, -1, -1, -1, -1, -1, 19, 110, -1,
2401 -1, -1, 24, 115, 71, -1, -1, 29, 30, 31,
2402 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2403 -1, -1, -1, -1, -1, 47, 48, 49, 95, 96,
2404 97, 98, 99, 100, 101, -1, -1, -1, -1, -1,
2405 1, -1, -1, 110, -1, 6, 7, 8, 115, 71,
2406 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2407 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2408 31, 32, 33, 34, 186, 187, 188, -1, 190, 191,
2409 192, 42, 43, -1, -1, 1, 47, 48, 49, -1,
2410 6, 7, 8, 115, 10, 11, 12, 13, 14, 15,
2411 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2412 71, -1, -1, 29, 30, 31, 32, 33, 34, 186,
2413 187, 188, -1, 190, 191, 192, 42, 43, -1, -1,
2414 -1, 47, 48, 49, 95, 96, 97, 98, 99, 100,
2415 101, -1, -1, -1, -1, -1, -1, -1, 19, 110,
2416 -1, -1, -1, 24, 115, 71, -1, -1, 29, 30,
2417 31, 32, 33, 34, 186, 187, 188, -1, 190, -1,
2418 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
2419 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
2420 -1, 1, -1, -1, 110, -1, 6, 7, 8, 115,
2421 71, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2422 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2423 30, 31, 32, 33, 34, 186, 187, 188, -1, 190,
2424 191, 192, 42, 43, -1, -1, 1, 47, 48, 49,
2425 -1, 6, 7, 8, 115, 10, 11, 12, 13, 14,
2426 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
2427 -1, 71, -1, -1, 29, 30, 31, 32, 33, 34,
2428 186, 187, 188, -1, 190, 191, 192, 42, 43, -1,
2429 -1, -1, 47, 48, 49, -1, 96, 97, 98, 99,
2430 100, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2431 110, -1, -1, -1, -1, 115, 71, -1, -1, -1,
2432 -1, -1, -1, -1, -1, 186, 187, 188, -1, 190,
2433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2434 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
2435 -1, -1, -1, -1, -1, 110, -1, 6, 7, 8,
2436 115, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2437 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2438 29, 30, 31, 32, 33, 34, 186, 187, 188, -1,
2439 190, 191, 192, 42, 43, 44, -1, 46, 47, 48,
2440 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2442 -1, -1, 71, 72, -1, -1, -1, -1, -1, -1,
2443 -1, 186, 187, 188, -1, 190, 191, 192, -1, -1,
2444 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2445 99, 100, 101, -1, -1, -1, -1, -1, -1, -1,
2446 -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2447 119, 120, 121, 122, 123, 124, 125, -1, 127, 128,
2448 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2449 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2450 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2451 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2452 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2453 179, -1, -1, -1, -1, -1, -1, 186, 187, 188,
2454 189, 190, 191, 192, 193, 6, 7, 8, -1, 10,
2455 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2456 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2457 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2458 -1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
2459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2461 71, 72, -1, -1, -1, -1, -1, -1, -1, -1,
2462 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2463 -1, -1, -1, -1, -1, 96, 97, 98, 99, 100,
2464 101, -1, -1, -1, -1, -1, -1, -1, -1, 110,
2465 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2466 121, 122, 123, 124, 125, -1, 127, 128, 129, 130,
2467 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2468 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2469 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2470 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2471 171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
2472 -1, -1, -1, -1, -1, 186, 187, 188, 189, 190,
2473 191, 192, 193, 6, 7, 8, -1, 10, 11, 12,
2474 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2475 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2476 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2477 43, 44, -1, 46, 47, 48, 49, -1, -1, -1,
2478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2479 -1, -1, -1, -1, -1, -1, -1, -1, 71, 72,
2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2482 -1, -1, -1, 96, 97, 98, 99, 100, 101, -1,
2483 -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
2484 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2485 123, 124, 125, -1, 127, 128, 129, 130, 131, 132,
2486 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2487 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2488 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2489 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2490 173, 174, 175, 176, 177, 178, 179, -1, -1, -1,
2491 -1, -1, -1, 186, 187, 188, 189, 190, 191, 192,
2492 193, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2493 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2494 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2496 -1, -1, 47, 48, 49, -1, 6, 7, 8, -1,
2497 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2498 20, -1, -1, -1, 24, -1, 71, -1, -1, 29,
2499 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2500 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2501 -1, 96, 97, 98, 99, 100, 101, -1, -1, -1,
2502 -1, -1, -1, -1, -1, 110, -1, -1, -1, -1,
2503 115, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
2506 100, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2507 110, -1, 6, 7, 8, 115, 10, 11, 12, 13,
2508 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2509 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2510 34, 186, 187, 188, -1, 190, 191, 192, -1, -1,
2511 -1, -1, -1, 47, 48, 49, -1, 6, 7, 8,
2512 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2513 19, 20, -1, -1, -1, 24, -1, 71, -1, -1,
2514 29, 30, 31, 32, 33, 34, 186, 187, 188, -1,
2515 190, 191, 192, -1, -1, -1, -1, -1, 47, 48,
2516 49, -1, 96, 97, 98, 99, 100, 101, -1, -1,
2517 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
2518 -1, 115, 71, -1, -1, -1, -1, -1, -1, -1,
2519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2520 -1, -1, -1, -1, -1, -1, -1, 96, 97, 98,
2521 99, 100, 101, -1, -1, -1, -1, -1, -1, -1,
2522 -1, 110, -1, 6, 7, 8, 115, 10, 11, 12,
2523 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2524 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2525 33, 34, 186, 187, 188, -1, 190, 191, 192, -1,
2526 -1, -1, -1, -1, 47, 48, 49, -1, 6, 7,
2527 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2528 18, 19, 20, -1, -1, -1, 24, -1, 71, -1,
2529 -1, 29, 30, 31, 32, 33, 34, 186, 187, 188,
2530 -1, 190, 191, 192, -1, -1, -1, -1, -1, 47,
2531 48, 49, -1, 96, 97, 98, 99, 100, 101, -1,
2532 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
2533 -1, -1, 115, 71, -1, -1, -1, 19, -1, -1,
2534 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2535 32, 33, 34, -1, -1, -1, -1, -1, 96, 97,
2536 98, 99, 100, 101, -1, 47, 48, 49, -1, -1,
2537 -1, -1, 110, -1, 6, 7, 8, 115, 10, 11,
2538 12, 13, 14, 15, 16, 17, 18, 19, 20, 71,
2539 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2540 32, 33, 34, 186, 187, 188, -1, 190, 191, 192,
2541 -1, -1, -1, -1, -1, 47, 48, 49, -1, 6,
2542 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2543 17, 18, 19, 115, -1, -1, -1, 24, -1, 71,
2544 -1, -1, 29, 30, 31, 32, 33, 34, 186, 187,
2545 188, -1, 190, 191, 192, -1, -1, -1, -1, -1,
2546 47, 48, 49, -1, 96, 97, 98, 99, 100, 101,
2547 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
2548 -1, -1, -1, 115, 71, -1, -1, -1, -1, -1,
2549 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2550 -1, -1, -1, -1, 186, 187, 188, -1, 190, 96,
2551 97, 98, 99, 100, 101, 19, -1, -1, -1, -1,
2552 24, -1, -1, 110, -1, -1, -1, -1, 115, -1,
2553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2554 44, -1, 46, -1, -1, -1, -1, -1, -1, -1,
2555 -1, -1, -1, -1, 186, 187, 188, -1, 190, 191,
2556 192, -1, -1, -1, -1, -1, -1, -1, 72, -1,
2557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2558 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2559 -1, -1, -1, -1, -1, -1, -1, -1, -1, 186,
2560 187, 188, -1, 190, 191, 192, -1, 111, 112, 113,
2561 114, -1, 116, 117, 118, 119, 120, 121, 122, 123,
2562 124, 125, -1, 127, 128, 129, 130, 131, 132, 133,
2563 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2564 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2565 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2566 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2567 174, 175, 176, 177, 178, 179, 20, -1, -1, -1,
2568 -1, -1, -1, -1, 188, 189, -1, -1, -1, 193,
2569 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2570 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2573 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2575 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2576 -1, -1, -1, -1, -1, -1, -1, 111, 112, 113,
2577 114, -1, 116, 117, 118, 119, 120, 121, 122, 123,
2578 124, 125, -1, 127, 128, 129, 130, 131, 132, 133,
2579 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2580 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2581 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2582 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2583 174, 175, 176, 177, 178, 179, -1, -1, -1, -1,
2584 -1, 19, -1, -1, 188, 189, 24, -1, -1, 193,
2585 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2586 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2587 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2589 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2590 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2591 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2592 -1, -1, -1, -1, -1, -1, 24, -1, -1, -1,
2593 -1, -1, -1, -1, -1, -1, 34, 115, -1, -1,
2594 -1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
2595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2596 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2598 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2599 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2600 -1, -1, -1, -1, -1, -1, -1, -1, 186, 187,
2601 188, -1, 190, 111, 112, 113, 114, -1, 116, 117,
2602 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
2603 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2604 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2605 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2606 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2607 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2608 178, 179, -1, -1, -1, -1, -1, -1, 186, 187,
2609 188, 189, -1, 191, 192, 193, 24, 25, -1, -1,
2610 -1, 29, 30, 31, 32, 33, 34, 24, -1, -1,
2611 27, -1, 29, 30, 31, 32, 33, 34, -1, 47,
2612 48, 49, -1, -1, -1, -1, -1, -1, 24, 25,
2613 47, 48, 49, 29, 30, 31, 32, 33, 34, 24,
2614 -1, -1, 27, 71, 29, 30, 31, 32, 33, 34,
2615 -1, 47, 48, 49, 71, -1, -1, -1, -1, -1,
2616 24, 25, 47, 48, 49, 29, 30, 31, 32, 33,
2617 34, -1, -1, -1, -1, 71, -1, -1, -1, -1,
2618 -1, -1, -1, 47, 48, 49, 71, 115, -1, -1,
2619 -1, -1, -1, -1, -1, -1, -1, -1, 115, -1,
2620 -1, -1, -1, -1, -1, -1, -1, 71, 24, -1,
2621 -1, -1, -1, 29, 30, 31, 32, 33, 34, 115,
2622 -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
2623 115, 47, 48, 49, 29, 30, 31, 32, 33, 34,
2624 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2625 34, 115, 47, 48, 49, 71, -1, -1, 186, 187,
2626 188, -1, 190, 47, 48, 49, -1, -1, -1, 186,
2627 187, 188, 24, 190, -1, -1, 71, 29, 30, 31,
2628 32, 33, 34, -1, -1, -1, -1, 71, -1, -1,
2629 186, 187, 188, -1, 190, 47, 48, 49, -1, 115,
2630 -1, 186, 187, 188, -1, 190, -1, -1, -1, -1,
2631 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2632 115, -1, 186, 187, 188, -1, 190, -1, 24, -1,
2633 -1, 115, -1, 29, 30, 31, 32, 33, 34, -1,
2634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2635 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2636 -1, -1, -1, 115, -1, -1, -1, -1, -1, -1,
2637 186, 187, 188, -1, 190, 71, -1, -1, -1, -1,
2638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2639 -1, 186, 187, 188, -1, 190, -1, -1, -1, -1,
2640 -1, -1, 186, 187, 188, -1, 190, -1, -1, -1,
2641 -1, -1, -1, -1, -1, -1, -1, -1, -1, 115,
2642 -1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
2643 -1, -1, -1, -1, 186, 187, 188, -1, 190, -1,
2644 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2649 186, 187, 188, -1, 190, 111, 112, 113, 114, -1,
2650 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2651 -1, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2652 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2653 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2654 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2655 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2656 176, 177, 178, 179, 44, -1, 46, -1, -1, -1,
2657 -1, -1, 188, 189, -1, -1, -1, 193, -1, -1,
2658 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2659 70, -1, 72, -1, -1, -1, -1, -1, -1, -1,
2660 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2661 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2663 -1, 111, 112, 113, 114, -1, 116, 117, 118, 119,
2664 120, 121, 122, 123, 124, 125, -1, 127, 128, 129,
2665 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2666 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2667 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2668 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2669 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2670 44, -1, 46, -1, -1, -1, -1, -1, 188, 189,
2671 -1, -1, -1, 193, -1, -1, -1, -1, -1, -1,
2672 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
2673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, -1, -1, -1, -1, -1, 111, 112, 113,
2677 114, -1, 116, 117, 118, 119, 120, 121, 122, 123,
2678 124, 125, -1, 127, 128, 129, 130, 131, 132, 133,
2679 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2680 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2681 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2682 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2683 174, 175, 176, 177, 178, 179, 44, -1, -1, -1,
2684 -1, -1, 186, 187, 188, 189, -1, -1, -1, 193,
2685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2686 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2687 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2690 -1, -1, -1, 111, 112, 113, 114, -1, 116, 117,
2691 118, 119, 120, 121, 122, 123, 124, 125, -1, 127,
2692 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2693 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2694 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2695 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2696 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2697 178, 179, 44, -1, -1, -1, -1, -1, -1, -1,
2698 188, 189, -1, -1, -1, 193, -1, -1, -1, -1,
2699 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2702 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
2703 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
2704 112, 113, 114, -1, 116, 117, 118, 119, 120, 121,
2705 122, 123, 124, 125, -1, 127, 128, 129, 130, 131,
2706 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2707 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2708 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2709 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2710 172, 173, 174, 175, 176, 177, 178, 179, 44, -1,
2711 46, -1, -1, -1, -1, -1, 188, 189, -1, -1,
2712 -1, 193, -1, -1, -1, -1, -1, -1, -1, -1,
2713 -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
2714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2715 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2717 -1, -1, -1, -1, -1, 111, 112, 113, 114, -1,
2718 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2719 -1, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2720 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2721 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2722 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2723 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2724 176, 177, 178, 179, 44, -1, -1, -1, -1, -1,
2725 -1, -1, 188, 189, -1, -1, -1, 193, -1, -1,
2726 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2727 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2731 -1, 111, 112, 113, 114, -1, 116, 117, 118, 119,
2732 120, 121, 122, 123, 124, 125, -1, 127, 128, 129,
2733 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
2734 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2735 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2736 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2737 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
2738 -1, -1, -1, -1, -1, -1, -1, -1, 188, 189,
2741 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2743 /* Skeleton output parser for bison,
2745 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
2748 This program is free software; you can redistribute it and/or modify
2749 it under the terms of the GNU General Public License as published by
2750 the Free Software Foundation; either version 2, or (at your option)
2753 This program is distributed in the hope that it will be useful,
2754 but WITHOUT ANY WARRANTY; without even the implied warranty of
2755 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2756 GNU General Public License for more details.
2758 You should have received a copy of the GNU General Public License
2759 along with this program; if not, write to the Free Software
2760 Foundation, Inc., 59 Temple Place - Suite 330,
2761 Boston, MA 02111-1307, USA. */
2763 /* As a special exception, when this file is copied by Bison into a
2764 Bison output file, you may use that output file without restriction.
2765 This special exception was added by the Free Software Foundation
2766 in version 1.24 of Bison. */
2768 /* This is the parser code that is written into each bison parser when
2769 the %semantic_parser declaration is not specified in the grammar.
2770 It was written by Richard Stallman by simplifying the hairy parser
2771 used when %semantic_parser is specified. */
2773 /* All symbols defined below should begin with yy or YY, to avoid
2774 infringing on user name space. This should be done even for local
2775 variables, as they might otherwise be expanded by user macros.
2776 There are some unavoidable exceptions within include files to
2777 define necessary library symbols; they are noted "INFRINGES ON
2778 USER NAME SPACE" below. */
2780 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
2782 /* The parser invokes alloca or malloc; define the necessary symbols. */
2784 # if YYSTACK_USE_ALLOCA
2785 # define YYSTACK_ALLOC alloca
2787 # ifndef YYSTACK_USE_ALLOCA
2788 # if defined (alloca) || defined (_ALLOCA_H)
2789 # define YYSTACK_ALLOC alloca
2792 # define YYSTACK_ALLOC __builtin_alloca
2798 # ifdef YYSTACK_ALLOC
2799 /* Pacify GCC's `empty if-body' warning. */
2800 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
2802 # if defined (__STDC__) || defined (__cplusplus)
2803 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
2804 # define YYSIZE_T size_t
2806 # define YYSTACK_ALLOC malloc
2807 # define YYSTACK_FREE free
2809 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
2812 #if (! defined (yyoverflow) \
2813 && (! defined (__cplusplus) \
2814 || (YYLTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
2816 /* A type that is properly aligned for any stack member. */
2820 cgrammar_YYSTYPE yyvs;
2826 /* The size of the maximum gap between one aligned stack and the next. */
2827 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
2829 /* The size of an array large to enough to hold all stacks, each with
2832 # define YYSTACK_BYTES(N) \
2833 ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE) + sizeof (YYLTYPE)) \
2834 + 2 * YYSTACK_GAP_MAX)
2836 # define YYSTACK_BYTES(N) \
2837 ((N) * (sizeof (short) + sizeof (cgrammar_YYSTYPE)) \
2841 /* Copy COUNT objects from FROM to TO. The source and destination do
2845 # define YYCOPY(To, From, Count) \
2846 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
2848 # define YYCOPY(To, From, Count) \
2851 register YYSIZE_T yyi; \
2852 for (yyi = 0; yyi < (Count); yyi++) \
2853 (To)[yyi] = (From)[yyi]; \
2859 /* Relocate STACK from its old location to the new one. The
2860 local variables YYSIZE and YYSTACKSIZE give the old and new number of
2861 elements in the stack, and YYPTR gives the new location of the
2862 stack. Advance YYPTR to a properly aligned location for the next
2864 # define YYSTACK_RELOCATE(Stack) \
2867 YYSIZE_T yynewbytes; \
2868 YYCOPY (&yyptr->Stack, Stack, yysize); \
2869 Stack = &yyptr->Stack; \
2870 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
2871 yyptr += yynewbytes / sizeof (*yyptr); \
2878 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
2879 # define YYSIZE_T __SIZE_TYPE__
2881 #if ! defined (YYSIZE_T) && defined (size_t)
2882 # define YYSIZE_T size_t
2884 #if ! defined (YYSIZE_T)
2885 # if defined (__STDC__) || defined (__cplusplus)
2886 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
2887 # define YYSIZE_T size_t
2890 #if ! defined (YYSIZE_T)
2891 # define YYSIZE_T unsigned int
2894 #define yyerrok (yyerrstatus = 0)
2895 #define yyclearin (yychar = YYEMPTY)
2898 #define YYACCEPT goto yyacceptlab
2899 #define YYABORT goto yyabortlab
2900 #define YYERROR goto yyerrlab1
2901 /* Like YYERROR except do call yyerror. This remains here temporarily
2902 to ease the transition to the new meaning of YYERROR, for GCC.
2903 Once GCC version 2 has supplanted version 1, this can go. */
2904 #define YYFAIL goto yyerrlab
2905 #define YYRECOVERING() (!!yyerrstatus)
2906 #define YYBACKUP(Token, Value) \
2908 if (yychar == YYEMPTY && yylen == 1) \
2912 yychar1 = YYTRANSLATE (yychar); \
2918 yyerror ("syntax error: cannot back up"); \
2924 #define YYERRCODE 256
2927 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
2930 When YYLLOC_DEFAULT is run, CURRENT is set the location of the
2931 first token. By default, to implement support for ranges, extend
2932 its range to the last symbol. */
2934 #ifndef YYLLOC_DEFAULT
2935 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2936 Current.last_line = Rhs[N].last_line; \
2937 Current.last_column = Rhs[N].last_column;
2941 /* YYLEX -- calling `yylex' with the right arguments. */
2946 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2948 # define YYLEX yylex (&yylval, &yylloc)
2950 # else /* !YYLSP_NEEDED */
2952 # define YYLEX yylex (&yylval, YYLEX_PARAM)
2954 # define YYLEX yylex (&yylval)
2956 # endif /* !YYLSP_NEEDED */
2958 # define YYLEX yylex ()
2959 #endif /* !YYPURE */
2962 /* Enable debugging if requested. */
2966 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2967 # define YYFPRINTF fprintf
2970 # define YYDPRINTF(Args) \
2975 /* Nonzero means print parse trace. It is left uninitialized so that
2976 multiple parsers can coexist. */
2978 #else /* !YYDEBUG */
2979 # define YYDPRINTF(Args)
2980 #endif /* !YYDEBUG */
2982 /* YYINITDEPTH -- initial size of the parser's stacks. */
2984 # define YYINITDEPTH 200
2987 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2988 if the built-in stack extension method is used).
2990 Do not make this value too large; the results are undefined if
2991 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2992 evaluated with infinite-precision integer arithmetic. */
2999 # define YYMAXDEPTH 10000
3002 #ifdef YYERROR_VERBOSE
3005 # if defined (__GLIBC__) && defined (_STRING_H)
3006 # define yystrlen strlen
3008 /* Return the length of YYSTR. */
3010 # if defined (__STDC__) || defined (__cplusplus)
3011 yystrlen (const char *yystr)
3017 register const char *yys = yystr;
3019 while (*yys++ != '\0')
3022 return yys - yystr - 1;
3028 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
3029 # define yystpcpy stpcpy
3031 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3034 # if defined (__STDC__) || defined (__cplusplus)
3035 yystpcpy (char *yydest, const char *yysrc)
3037 yystpcpy (yydest, yysrc)
3042 register char *yyd = yydest;
3043 register const char *yys = yysrc;
3045 while ((*yyd++ = *yys++) != '\0')
3056 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3057 into yyparse. The argument should have type void *.
3058 It should actually point to an object.
3059 Grammar actions can access the variable by casting it
3060 to the proper pointer type. */
3062 #ifdef YYPARSE_PARAM
3063 # if defined (__STDC__) || defined (__cplusplus)
3064 # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3065 # define YYPARSE_PARAM_DECL
3067 # define YYPARSE_PARAM_ARG YYPARSE_PARAM
3068 # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3070 #else /* !YYPARSE_PARAM */
3071 # define YYPARSE_PARAM_ARG
3072 # define YYPARSE_PARAM_DECL
3073 #endif /* !YYPARSE_PARAM */
3075 /* Prevent warning if -Wstrict-prototypes. */
3077 # ifdef YYPARSE_PARAM
3078 int yyparse (void *);
3084 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
3085 variables are global, or local to YYPARSE. */
3087 #define YY_DECL_NON_LSP_VARIABLES \
3088 /* The lookahead symbol. */ \
3091 /* The semantic value of the lookahead symbol. */ \
3092 cgrammar_YYSTYPE yylval; \
3094 /* Number of parse errors so far. */ \
3098 # define YY_DECL_VARIABLES \
3099 YY_DECL_NON_LSP_VARIABLES \
3101 /* Location data for the lookahead symbol. */ \
3104 # define YY_DECL_VARIABLES \
3105 YY_DECL_NON_LSP_VARIABLES
3109 /* If nonreentrant, generate the variables here. */
3113 #endif /* !YYPURE */
3116 yyparse (YYPARSE_PARAM_ARG)
3119 /* If reentrant, generate the variables here. */
3122 #endif /* !YYPURE */
3124 register int yystate;
3127 /* Number of tokens to shift before error messages enabled. */
3129 /* Lookahead token as an internal (translated) token number. */
3132 /* Three stacks and their tools:
3133 `yyss': related to states,
3134 `yyvs': related to semantic values,
3135 `yyls': related to locations.
3137 Refer to the stacks thru separate pointers, to allow yyoverflow
3138 to reallocate them elsewhere. */
3140 /* The state stack. */
3141 short yyssa[YYINITDEPTH];
3142 short *yyss = yyssa;
3143 register short *yyssp;
3145 /* The semantic value stack. */
3146 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
3147 cgrammar_YYSTYPE *yyvs = yyvsa;
3148 register cgrammar_YYSTYPE *yyvsp;
3151 /* The location stack. */
3152 YYLTYPE yylsa[YYINITDEPTH];
3153 YYLTYPE *yyls = yylsa;
3158 # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3160 # define YYPOPSTACK (yyvsp--, yyssp--)
3163 YYSIZE_T yystacksize = YYINITDEPTH;
3166 /* The variables used to return semantic value and location from the
3168 cgrammar_YYSTYPE yyval;
3173 /* When reducing, the number of symbols on the RHS of the reduced
3177 YYDPRINTF ((stderr, "Starting parse\n"));
3182 yychar = YYEMPTY; /* Cause a token to be read. */
3184 /* Initialize stack pointers.
3185 Waste one element of value and location stack
3186 so that they stay on the same level as the state stack.
3187 The wasted elements are never initialized. */
3196 /*------------------------------------------------------------.
3197 | yynewstate -- Push a new state, which is found in yystate. |
3198 `------------------------------------------------------------*/
3200 /* In all cases, when you get here, the value and location stacks
3201 have just been pushed. so pushing a state here evens the stacks.
3208 if (yyssp >= yyss + yystacksize - 1)
3210 /* Get the current used size of the three stacks, in elements. */
3211 YYSIZE_T yysize = yyssp - yyss + 1;
3215 /* Give user a chance to reallocate the stack. Use copies of
3216 these so that the &'s don't force the real ones into
3218 cgrammar_YYSTYPE *yyvs1 = yyvs;
3219 short *yyss1 = yyss;
3221 /* Each stack pointer address is followed by the size of the
3222 data in use in that stack, in bytes. */
3224 YYLTYPE *yyls1 = yyls;
3225 /* This used to be a conditional around just the two extra args,
3226 but that might be undefined if yyoverflow is a macro. */
3227 yyoverflow ("parser stack overflow",
3228 &yyss1, yysize * sizeof (*yyssp),
3229 &yyvs1, yysize * sizeof (*yyvsp),
3230 &yyls1, yysize * sizeof (*yylsp),
3234 yyoverflow ("parser stack overflow",
3235 &yyss1, yysize * sizeof (*yyssp),
3236 &yyvs1, yysize * sizeof (*yyvsp),
3242 #else /* no yyoverflow */
3243 # ifndef YYSTACK_RELOCATE
3246 /* Extend the stack our own way. */
3247 if (yystacksize >= YYMAXDEPTH)
3250 if (yystacksize > YYMAXDEPTH)
3251 yystacksize = YYMAXDEPTH;
3254 short *yyss1 = yyss;
3255 union yyalloc *yyptr =
3256 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3259 YYSTACK_RELOCATE (yyss);
3260 YYSTACK_RELOCATE (yyvs);
3262 YYSTACK_RELOCATE (yyls);
3264 # undef YYSTACK_RELOCATE
3266 YYSTACK_FREE (yyss1);
3269 #endif /* no yyoverflow */
3271 yyssp = yyss + yysize - 1;
3272 yyvsp = yyvs + yysize - 1;
3274 yylsp = yyls + yysize - 1;
3277 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3278 (unsigned long int) yystacksize));
3280 if (yyssp >= yyss + yystacksize - 1)
3284 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3294 /* Do appropriate processing given the current state. */
3295 /* Read a lookahead token if we need one and don't already have one. */
3298 /* First try to decide what to do without reference to lookahead token. */
3300 yyn = yypact[yystate];
3304 /* Not known => get a lookahead token if don't already have one. */
3306 /* yychar is either YYEMPTY or YYEOF
3307 or a valid token in external form. */
3309 if (yychar == YYEMPTY)
3311 YYDPRINTF ((stderr, "Reading a token: "));
3315 /* Convert token to internal form (in yychar1) for indexing tables with */
3317 if (yychar <= 0) /* This means end of input. */
3320 yychar = YYEOF; /* Don't call YYLEX any more */
3322 YYDPRINTF ((stderr, "Now at end of input.\n"));
3326 yychar1 = YYTRANSLATE (yychar);
3329 /* We have to keep this `#if YYDEBUG', since we use variables
3330 which are defined only if `YYDEBUG' is set. */
3333 YYFPRINTF (stderr, "Next token is %d (%s",
3334 yychar, yytname[yychar1]);
3335 /* Give the individual parser a way to print the precise
3336 meaning of a token, for further debugging info. */
3338 YYPRINT (stderr, yychar, yylval);
3340 YYFPRINTF (stderr, ")\n");
3346 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3351 /* yyn is what to do for this token type in this state.
3352 Negative => reduce, -yyn is rule number.
3353 Positive => shift, yyn is new state.
3354 New state is final state => don't bother to shift,
3355 just return success.
3356 0, or most negative number => error. */
3371 /* Shift the lookahead token. */
3372 YYDPRINTF ((stderr, "Shifting token %d (%s), ",
3373 yychar, yytname[yychar1]));
3375 /* Discard the token being shifted unless it is eof. */
3376 if (yychar != YYEOF)
3384 /* Count tokens shifted since error; after three, turn off error
3393 /*-----------------------------------------------------------.
3394 | yydefault -- do the default action for the current state. |
3395 `-----------------------------------------------------------*/
3397 yyn = yydefact[yystate];
3403 /*-----------------------------.
3404 | yyreduce -- Do a reduction. |
3405 `-----------------------------*/
3407 /* yyn is the number of a rule to reduce with. */
3410 /* If YYLEN is nonzero, implement the default value of the action:
3413 Otherwise, the following line sets YYVAL to the semantic value of
3414 the lookahead token. This behavior is undocumented and Bison
3415 users should not rely upon it. Assigning to YYVAL
3416 unconditionally makes the parser a bit smaller, and it avoids a
3417 GCC warning that YYVAL may be used uninitialized. */
3418 yyval = yyvsp[1-yylen];
3421 /* Similarly for the default location. Let the user run additional
3422 commands if for instance locations are ranges. */
3423 yyloc = yylsp[1-yylen];
3424 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3428 /* We have to keep this `#if YYDEBUG', since we use variables which
3429 are defined only if `YYDEBUG' is set. */
3434 YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
3437 /* Print the symbols being reduced, and their result. */
3438 for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
3439 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
3440 YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3447 { context_checkGlobalScope (); ;
3450 { context_checkGlobalScope (); ;
3453 { uentry_clearDecl (); ;
3456 { uentry_clearDecl (); ;
3459 { uentry_clearDecl (); ;
3462 { uentry_clearDecl (); ;
3465 { uentry_clearDecl (); ;
3468 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3471 { uentry_clearDecl (); lltok_free (yyvsp[0].tok); /* evans 2002-02-08: okay to have a null statement */ ;
3474 { uentry_clearDecl (); ;
3477 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); lltok_free2 (yyvsp[-7].tok, yyvsp[0].tok); ;
3480 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr); lltok_free3 (yyvsp[-10].tok, yyvsp[-5].tok, yyvsp[0].tok); ;
3483 { context_enterFunctionHeader (); ;
3487 declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3488 context_exitFunctionHeader ();
3489 lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); /*!*/
3494 qtype qint = qtype_create (ctype_int);
3495 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3500 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3503 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
3506 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3509 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3512 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3516 exprNode_findValue (yyvsp[-2].expr);
3517 idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3519 if (exprNode_hasValue (yyvsp[-2].expr))
3521 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp),
3522 exprNode_getLongValue (yyvsp[-2].expr)));
3526 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp)));
3529 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3533 { setCurrentParams (uentryList_missingParams); ;
3536 { /* need to support globals and modifies here! */
3537 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3538 uentryList_makeMissingParams ());
3540 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3542 /*drl 7/25/01 added*/
3543 setImplictfcnConstraints();
3545 /* functionClauseList_ImplictConstraints($6); */
3547 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3549 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3553 { setCurrentParams (yyvsp[-1].entrylist); ;
3557 setImplictfcnConstraints ();
3558 /* functionClauseList_ImplictConstraints($7);*/
3559 clearCurrentParams ();
3560 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3561 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3563 lltok_free2 (yyvsp[-4].tok, yyvsp[-2].tok);
3567 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3570 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); lltok_free2 (yyvsp[-4].tok, yyvsp[0].tok); ;
3573 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp)));
3574 lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok);
3581 if (exprNode_hasValue (yyvsp[-2].expr)
3582 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3584 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3591 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3592 lltok_free2 (yyvsp[-4].tok, yyvsp[-1].tok);
3596 { setCurrentParams (uentryList_missingParams); ;
3600 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3601 uentryList_makeMissingParams ());
3603 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3604 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3606 lltok_free2 (yyvsp[-3].tok, yyvsp[-2].tok);
3610 { setCurrentParams (yyvsp[-1].entrylist); ;
3614 clearCurrentParams ();
3615 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3616 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3618 lltok_free (yyvsp[-4].tok);
3619 /*!! lltok_free2 ($3, $5); */
3623 { setCurrentParams (yyvsp[-1].entrylist); ;
3626 { clearCurrentParams (); ;
3629 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist);
3630 lltok_free3 (yyvsp[-9].tok, yyvsp[-7].tok, yyvsp[-5].tok);
3634 { exprNode_checkMacroBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3637 { exprNode_checkIterBody (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
3640 { exprNode_checkIterEnd (yyvsp[-1].expr); lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok);;
3643 { exprChecks_checkEmptyMacroBody (); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
3646 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3649 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3652 { cscanner_expectingMetaStateName (); ;
3655 { cscanner_clearExpectingMetaStateName ();
3656 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo);
3657 lltok_free (yyvsp[-1].tok);
3661 { cscanner_expectingMetaStateName (); ;
3664 { cscanner_clearExpectingMetaStateName ();
3665 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo);
3666 lltok_free2 (yyvsp[-3].tok, yyvsp[-1].tok);
3670 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3673 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); lltok_free (yyvsp[-1].tok); ;
3676 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3679 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3683 yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3684 DPRINTF(("Done BufConstraint1\n")); ;
3687 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3691 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3692 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3695 { yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;
3698 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3701 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3704 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3707 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3713 t = cstring_toCharsSafe (exprNode_unparse($3));
3716 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3720 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3723 { yyval.sr = yyvsp[-1].sr; ;
3726 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3729 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3732 { yyval.funcclauselist = functionClauseList_new (); ;
3735 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3738 { yyval.funcclauselist = functionClauseList_new (); ;
3741 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3744 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3747 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3750 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3753 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3756 { yyval.funcclause = yyvsp[0].funcclause; ;
3759 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3762 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3765 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3768 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3771 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3774 { yyval.funcclause = yyvsp[0].funcclause; ;
3777 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3780 { yyval.globsclause = yyvsp[-1].globsclause; ;
3783 { setProcessingGlobalsList (); ;
3787 unsetProcessingGlobals ();
3788 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
3792 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3795 { yyval.modsclause = yyvsp[-1].modsclause; ;
3799 context_setProtectVars (); enterParamsTemp ();
3800 sRef_setGlobalScopeSafe ();
3806 sRef_clearGlobalScopeSafe ();
3807 context_releaseVars ();
3808 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3812 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3815 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3818 { yyval.warnclause = warnClause_undefined; ;
3821 { yyval.warnclause = yyvsp[-1].warnclause; ;
3825 llassert (exprNode_knownStringValue (yyvsp[0].expr));
3826 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
3827 exprNode_free (yyvsp[0].expr);
3831 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3834 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3837 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3840 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3843 { yyval.tquallist = qualList_undefined; ;
3846 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3849 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3852 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3855 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3858 { yyval.typequal = qual_createUndef (); ;
3861 { yyval.typequal = qual_createKilled (); ;
3864 { yyval.typequal = qual_createOut (); ;
3867 { yyval.typequal = qual_createIn (); ;
3870 { yyval.typequal = qual_createPartial (); ;
3874 /**!!! deal with fred; fred (int); declarations! **/
3875 qtype qint = qtype_create (ctype_int);
3876 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3881 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3884 { checkDoneParams (); context_enterInnerContext (); ;
3888 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3889 context_exitInner (yyvsp[0].expr);
3893 { context_enterOldStyleScope (); ;
3896 { oldStyleDoneParams (); context_enterInnerContext (); ;
3900 exprNode_checkFunctionBody (yyvsp[0].expr);
3901 yyval.expr = yyvsp[0].expr; /* oldstyle */
3902 context_exitInner (yyvsp[0].expr);
3907 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3908 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3911 context_exitFunction ();
3915 { yyval.srset = yyvsp[-1].srset; ;
3918 { yyval.srset = sRefSet_new (); ;
3921 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3924 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3927 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3930 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3933 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3936 { yyval.sr = yyvsp[-1].sr; ;
3939 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3942 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3945 { yyval.sr = yyvsp[0].sr; ;
3948 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3951 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3954 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3957 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
3960 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3963 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3966 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3969 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3972 { yyval.sr = yyvsp[-1].sr; ;
3975 { cstring_markOwned (yyvsp[0].cname);
3976 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3979 { cstring_markOwned (yyvsp[0].cname);
3980 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3983 { yyval.srset = sRefSet_undefined ;
3986 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3987 else { yyval.srset = sRefSet_undefined; }
3991 { if (sRef_isValid (yyvsp[0].sr))
3993 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3997 yyval.srset = yyvsp[-2].srset;
4002 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
4005 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
4008 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4011 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
4014 { yyval.expr = exprNode_makeError (); ;
4017 { exprChecks_inCompoundStatementExpression (); ;
4020 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
4023 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4026 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4029 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
4032 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4035 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4038 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4041 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4044 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4047 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
4050 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4053 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4056 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4059 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4062 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4065 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4068 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4071 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4074 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4077 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4080 { yyval.expr = yyvsp[0].expr; ;
4083 { yyval.expr = yyvsp[0].expr; ;
4086 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); lltok_free (yyvsp[-1].tok); ;
4089 { yyval.cstringlist = yyvsp[-3].cstringlist; lltok_free2 (yyvsp[-2].tok, yyvsp[0].tok); ;
4092 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
4095 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist);
4096 lltok_free3 (yyvsp[-8].tok, yyvsp[-6].tok, yyvsp[-3].tok); lltok_free (yyvsp[-1].tok); ;
4099 { context_setProtectVars (); ;
4102 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
4105 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;
4108 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4111 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); lltok_free3 (yyvsp[-3].tok, yyvsp[-2].tok, yyvsp[0].tok); ;
4114 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); lltok_free (yyvsp[-1].tok); ;
4117 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); lltok_free (yyvsp[-1].tok); ;
4120 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4123 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4126 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4129 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4132 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4135 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4138 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4141 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4144 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4147 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4150 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4153 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4156 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4159 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4162 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4165 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4168 { exprNode_produceGuards (yyvsp[-1].expr);
4169 context_enterAndClause (yyvsp[-1].expr);
4174 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4175 context_exitAndClause (yyval.expr, yyvsp[0].expr);
4180 exprNode_produceGuards (yyvsp[-1].expr);
4181 context_enterOrClause (yyvsp[-1].expr);
4186 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4187 context_exitOrClause (yyval.expr, yyvsp[0].expr);
4191 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4194 { context_enterFalseClause (yyvsp[-4].expr); ;
4197 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4200 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4203 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4206 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4209 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4212 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4215 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4218 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4221 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4224 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4227 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4230 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4233 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4236 { yyval.expr = exprNode_undefined; ;
4239 { yyval.expr = yyvsp[0].expr; ;
4242 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
4245 { yyval.expr = exprNode_makeError (); ;
4248 { yyval.expr = exprNode_makeError (); ;
4252 setProcessingVars (yyvsp[-3].qtyp);
4253 processNamedDecl (yyvsp[-1].ntyp);
4258 unsetProcessingVars ();
4259 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp);
4260 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4264 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4267 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
4268 unsetProcessingVars ();
4273 processNamedDecl (yyvsp[-1].ntyp);
4274 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4278 { processNamedDecl (yyvsp[-2].ntyp); ;
4281 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4284 { setProcessingTypedef (yyvsp[0].qtyp); ;
4287 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4290 { /* in the ANSI grammar, semantics unclear */ ;
4293 { /* in the ANSI grammar, semantics unclear */ ;
4296 { g_expectingTypeName = TRUE; ;
4299 { g_expectingTypeName = TRUE; context_pushLoc (); ;
4302 { yyval.exprlist = yyvsp[-1].exprlist; ;
4305 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4308 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4311 { yyval.expr = exprNode_makeError (); ;
4314 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4317 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); lltok_free (yyvsp[0].tok); ;
4320 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); lltok_free2 (yyvsp[-1].tok, yyvsp[0].tok); ;
4323 { yyval.expr = exprNode_undefined; ;
4326 { yyval.expr = yyvsp[-1].expr; ;
4329 { yyval.expr = exprNode_undefined;
4330 /* gcc extension, obsolete since 2.5 */ ;
4333 { yyval.expr = exprNode_undefined; ;
4336 { yyval.expr = exprNode_undefined; ;
4339 { yyval.expr = exprNode_undefined; ;
4342 { yyval.expr = exprNode_undefined; ;
4345 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4348 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4351 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4354 { yyval.typequal = qual_createInline (); ;
4357 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4360 { yyval.typequal = qual_createAuto (); ;
4363 { yyval.typequal = qual_createRegister (); ;
4366 { yyval.stateclause = yyvsp[-1].stateclause; ;
4370 context_setProtectVars ();
4372 sRef_setGlobalScopeSafe ();
4378 sRef_clearGlobalScopeSafe ();
4379 context_releaseVars ();
4380 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4384 { yyval.funcclause = yyvsp[-1].funcclause; ;
4387 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4391 context_exitFunctionHeader ();
4392 context_setProtectVars ();
4394 sRef_setGlobalScopeSafe ();
4400 sRef_clearGlobalScopeSafe ();
4401 context_releaseVars ();
4402 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4407 context_setProtectVars ();
4409 sRef_setGlobalScopeSafe ();
4414 context_exitFunctionHeader ();
4416 sRef_clearGlobalScopeSafe ();
4417 context_releaseVars ();
4418 DPRINTF (("done optGlobBufConstraintsAux\n"));
4420 if (lltok_isEnsures (yyvsp[-4].tok))
4422 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4424 else if (lltok_isRequires (yyvsp[-4].tok))
4426 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4433 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4437 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4440 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4443 { yyval.typequal = qual_createExits (); ;
4446 { yyval.typequal = qual_createMayExit (); ;
4449 { yyval.typequal = qual_createTrueExit (); ;
4452 { yyval.typequal = qual_createFalseExit (); ;
4455 { yyval.typequal = qual_createNeverExit (); ;
4458 { yyval.typequal = qual_createChecked (); ;
4461 { yyval.typequal = qual_createCheckMod (); ;
4464 { yyval.typequal = qual_createUnchecked (); ;
4467 { yyval.typequal = qual_createCheckedStrict (); ;
4470 { yyval.typequal = qual_createOwned (); ;
4473 { yyval.typequal = qual_createDependent (); ;
4476 { yyval.typequal = qual_createYield (); ;
4479 { yyval.typequal = qual_createTemp (); ;
4482 { yyval.typequal = qual_createOnly (); ;
4485 { yyval.typequal = qual_createKeep (); ;
4488 { yyval.typequal = qual_createKept (); ;
4491 { yyval.typequal = qual_createShared (); ;
4494 { yyval.typequal = qual_createUnique (); ;
4497 { yyval.typequal = qual_createNull (); ;
4500 { yyval.typequal = qual_createIsNull (); ;
4503 { yyval.typequal = qual_createRelNull (); ;
4506 { yyval.typequal = qual_createNotNull (); ;
4509 { yyval.typequal = qual_createExposed (); ;
4512 { yyval.typequal = qual_createObserver (); ;
4515 { yyval.typequal = qual_createNullTerminated (); ;
4518 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4521 { yyval.typequal = qual_createReturned (); ;
4524 { yyval.typequal = qual_createSef (); ;
4527 { yyval.typequal = qual_createUnused (); ;
4530 { yyval.typequal = qual_createExternal (); ;
4533 { yyval.typequal = qual_createTrueNull (); ;
4536 { yyval.typequal = qual_createFalseNull (); ;
4539 { yyval.typequal = qual_createAbstract (); ;
4542 { yyval.typequal = qual_createConcrete (); ;
4545 { yyval.typequal = qual_createMutable (); ;
4548 { yyval.typequal = qual_createImmutable (); ;
4551 { yyval.typequal = qual_createRefCounted (); ;
4554 { yyval.typequal = qual_createRefs (); ;
4557 { yyval.typequal = qual_createKillRef (); ;
4560 { yyval.typequal = qual_createRelDef (); ;
4563 { yyval.typequal = qual_createNewRef (); ;
4566 { yyval.typequal = qual_createTempRef (); ;
4569 { yyval.typequal = qual_createShort (); ;
4572 { yyval.typequal = qual_createLong (); ;
4575 { yyval.typequal = qual_createSigned (); ;
4578 { yyval.typequal = qual_createUnsigned (); ;
4581 { yyval.typequal = qual_createOut (); ;
4584 { yyval.typequal = qual_createIn (); ;
4587 { yyval.typequal = qual_createPartial (); ;
4590 { yyval.typequal = qual_createSpecial (); ;
4593 { yyval.typequal = qual_createConst (); ;
4596 { yyval.typequal = qual_createVolatile (); ;
4599 { yyval.typequal = qual_createRestrict (); ;
4602 { yyval.typequal = yyvsp[-1].typequal; ;
4605 { yyval.typequal = yyvsp[-1].typequal; ;
4608 { yyval.typequal = yyvsp[-1].typequal; ;
4611 { yyval.typequal = yyvsp[-1].typequal; ;
4614 { yyval.typequal = yyvsp[-1].typequal; ;
4617 { yyval.typequal = yyvsp[-1].typequal; ;
4620 { yyval.typequal = yyvsp[-1].typequal; ;
4623 { yyval.typequal = yyvsp[-1].typequal; ;
4626 { yyval.typequal = yyvsp[-1].typequal; ;
4629 { yyval.ctyp = ctype_makeAnytype (); ;
4632 { yyval.ctyp = ctype_anyintegral; ;
4635 { yyval.ctyp = ctype_unsignedintegral; ;
4638 { yyval.ctyp = ctype_signedintegral; ;
4641 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4644 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4647 { yyval.qtyp = yyvsp[0].qtyp; ;
4650 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4653 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4656 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4659 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4662 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4665 { yyval.qtyp = qtype_unknown (); ;
4668 { yyval.qtyp = yyvsp[0].qtyp; ;
4671 { yyval.conL = constraintList_undefined; ;
4674 { sRef_setGlobalScopeSafe (); ;
4677 { sRef_clearGlobalScopeSafe (); ;
4680 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); setGlobalStructInfo(ct, yyvsp[0].conL); yyval.ctyp = ct; ;
4683 { sRef_setGlobalScopeSafe (); ;
4686 { sRef_clearGlobalScopeSafe (); ;
4689 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4692 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4695 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4698 { sRef_setGlobalScopeSafe (); ;
4701 { sRef_clearGlobalScopeSafe (); ;
4704 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4707 { sRef_setGlobalScopeSafe (); ;
4710 { sRef_clearGlobalScopeSafe (); ;
4713 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4716 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4719 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4722 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4725 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4728 { g_expectingTypeName = FALSE; ;
4731 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4734 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4737 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4740 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4743 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4746 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4749 { yyval.ntyp = yyvsp[0].ntyp; ;
4752 { yyval.ntyp = idDecl_undefined; ;
4755 { yyval.ntyp = yyvsp[-3].ntyp; ;
4758 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4761 { context_pushLoc (); ;
4764 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4767 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4770 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4773 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4776 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4777 usymtab_supGlobalEntry (ue);
4778 yyval.cname = yyvsp[0].cname;
4782 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4783 usymtab_supGlobalEntry (ue);
4784 yyval.cname = yyvsp[-3].cname;
4788 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4792 qtype qt = qtype_unknown ();
4793 qtype_adjustPointers (yyvsp[-1].pointers, qt);
4794 yyval.ntyp = idDecl_create (cstring_copy (cscanner_observeLastIdentifier ()), qt);
4798 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4801 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].pointers, idDecl_getTyp (yyval.ntyp)); ;
4804 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4807 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4810 { yyval.typequal = qual_createConst (); ;
4813 { yyval.typequal = qual_createRestrict (); ;
4816 { yyval.typequal = qual_createVolatile (); ;
4819 { yyval.tquallist = qualList_single (yyvsp[0].typequal); ;
4822 { yyval.tquallist = qualList_add (yyvsp[-1].tquallist, yyvsp[0].typequal); ;
4825 { yyval.pointers = pointers_create (yyvsp[0].tok); ;
4828 { yyval.pointers = pointers_createMods (yyvsp[-1].tok, yyvsp[0].tquallist); ;
4831 { yyval.pointers = pointers_extend (pointers_create (yyvsp[-1].tok), yyvsp[0].pointers); ;
4834 { yyval.pointers = pointers_extend (pointers_createMods (yyvsp[-2].tok, yyvsp[-1].tquallist), yyvsp[0].pointers); ;
4837 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4840 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4843 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4846 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4849 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4855 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4861 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4865 if (isFlipOldStyle ())
4867 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4873 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4878 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4882 llparseerror (message ("Inconsistent function parameter syntax: %q",
4883 idDecl_unparse (tparam)));
4887 yyval.oentry = makeCurrentParam (tparam);
4888 idDecl_free (tparam);
4892 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4895 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].pointers, ctype_unknown); ;
4898 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].pointers, yyvsp[0].ctyp); ;
4901 { yyval.ctyp = ctype_unknown; ;
4904 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4907 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4910 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4913 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
4916 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4919 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4922 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4925 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4928 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4931 { yyval.expr = yyvsp[0].expr; ;
4934 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4937 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4940 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4943 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4946 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4949 { context_setProtectVars (); ;
4952 { context_sizeofReleaseVars (); ;
4955 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4956 context_enterForClause (yyvsp[-5].expr); ;
4959 { setProcessingIterVars (yyvsp[-2].entry); ;
4962 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
4965 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4968 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
4971 { yyval.expr = yyvsp[-1].expr; ;
4974 { yyval.expr = exprNode_makeError (); ;
4977 { exprNode_checkIfPred (yyvsp[0].expr); ;
4980 { /* don't: context_exitTrueClause ($1, $2); */
4981 yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr);
4985 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4988 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4991 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4994 { yyval.expr = exprNode_makeError (); ;
4997 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
5000 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
5009 { context_enterCaseClause (yyvsp[0].expr); ;
5012 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
5015 { context_enterCaseClause (yyvsp[0].expr); ;
5018 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
5021 { context_enterCaseClause (exprNode_undefined); ;
5024 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
5027 { context_enterCaseClause (exprNode_undefined); ;
5030 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
5033 { yyval.expr = yyvsp[-1].expr; ;
5036 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
5039 { yyval.expr = yyvsp[-1].expr; ;
5042 { context_enterInnerContext (); ;
5045 { context_exitInnerPlain (); ;
5048 { context_enterStructInnerContext (); ;
5051 { context_exitStructInnerContext (); ;
5054 { context_exitInnerSafe (); ;
5057 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5060 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
5063 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5066 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5069 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5072 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5075 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5078 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
5079 lltok_getLoc (yyvsp[-1].tok)));
5083 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
5086 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5089 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5092 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5095 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5098 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5101 { yyval.expr = yyvsp[0].expr; ;
5104 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5107 { yyval.expr = yyvsp[0].expr; ;
5110 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
5113 { yyval.expr = yyvsp[0].expr; ;
5116 { yyval.expr = yyvsp[-2].expr; ;
5119 { yyval.expr = yyvsp[0].expr; ;
5122 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5125 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5128 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5131 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5134 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5137 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
5141 exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr);
5142 exprNode_checkIfPred (yyvsp[-1].expr);
5143 yyval.expr = yyvsp[-1].expr;
5148 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5149 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5153 { context_enterFalseClause (yyvsp[-2].expr); ;
5157 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5158 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5162 { context_enterSwitch (yyvsp[0].expr); ;
5165 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5168 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5171 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5174 { context_enterIterClause (); ;
5177 { setProcessingIterVars (yyvsp[-3].entry); ;
5181 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
5186 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
5189 { nextIterParam (); ;
5192 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
5195 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5198 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5201 { uentry ue = coerceIterId (yyvsp[0].cname);
5203 if (uentry_isValid (ue))
5205 yyval.expr = exprNode_iterId (ue);
5209 yyval.expr = exprNode_iterNewId (cstring_copy (cscanner_observeLastIdentifier ()));
5214 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5217 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
5220 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5223 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5226 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5229 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
5232 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5235 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5238 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5241 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5244 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5247 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5250 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5253 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5256 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5259 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5262 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5265 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5268 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5271 { yyval.expr = yyvsp[0].expr; ;
5274 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5277 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5280 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5283 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5286 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5289 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5292 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5295 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5298 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5301 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5304 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5307 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5310 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5313 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5316 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5319 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5322 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5325 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5328 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5331 { context_enterTrueClause (yyvsp[-1].expr); ;
5334 { context_enterFalseClause (yyvsp[-4].expr); ;
5337 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5340 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5343 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5346 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5349 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5352 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5355 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5358 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5361 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5364 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5367 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5370 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5373 { yyval.entry = yyvsp[0].entry; ;
5376 { yyval.entry = uentry_undefined; ;
5379 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5382 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5385 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5388 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5391 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5394 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5397 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5400 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5403 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5406 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5409 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5412 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5415 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5418 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5421 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5424 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5427 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5430 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5439 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5442 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5445 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5448 { yyval.cname = yyvsp[0].cname; ;
5451 { yyval.ctyp = ctype_unknown; ;
5454 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5457 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5472 short *yyssp1 = yyss - 1;
5473 YYFPRINTF (stderr, "state stack now");
5474 while (yyssp1 != yyssp)
5475 YYFPRINTF (stderr, " %d", *++yyssp1);
5476 YYFPRINTF (stderr, "\n");
5485 /* Now `shift' the result of the reduction. Determine what state
5486 that goes to, based on the state we popped back to and the rule
5487 number reduced by. */
5491 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5492 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5493 yystate = yytable[yystate];
5495 yystate = yydefgoto[yyn - YYNTBASE];
5500 /*------------------------------------.
5501 | yyerrlab -- here on detecting error |
5502 `------------------------------------*/
5504 /* If not already recovering from an error, report this error. */
5509 #ifdef YYERROR_VERBOSE
5510 yyn = yypact[yystate];
5512 if (yyn > YYFLAG && yyn < YYLAST)
5514 YYSIZE_T yysize = 0;
5519 /* Start YYX at -YYN if negative to avoid negative indexes in
5521 for (yyx = yyn < 0 ? -yyn : 0;
5522 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
5523 if (yycheck[yyx + yyn] == yyx)
5524 yysize += yystrlen (yytname[yyx]) + 15, yycount++;
5525 yysize += yystrlen ("parse error, unexpected ") + 1;
5526 yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
5527 yymsg = (char *) YYSTACK_ALLOC (yysize);
5530 char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
5531 yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
5536 for (yyx = yyn < 0 ? -yyn : 0;
5537 yyx < (int) (sizeof (yytname) / sizeof (char *));
5539 if (yycheck[yyx + yyn] == yyx)
5541 const char *yyq = ! yycount ? ", expecting " : " or ";
5542 yyp = yystpcpy (yyp, yyq);
5543 yyp = yystpcpy (yyp, yytname[yyx]);
5548 YYSTACK_FREE (yymsg);
5551 yyerror ("parse error; also virtual memory exhausted");
5554 #endif /* defined (YYERROR_VERBOSE) */
5555 yyerror ("parse error");
5560 /*--------------------------------------------------.
5561 | yyerrlab1 -- error raised explicitly by an action |
5562 `--------------------------------------------------*/
5564 if (yyerrstatus == 3)
5566 /* If just tried and failed to reuse lookahead token after an
5567 error, discard it. */
5569 /* return failure if at end of input */
5570 if (yychar == YYEOF)
5572 YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
5573 yychar, yytname[yychar1]));
5577 /* Else will try to reuse lookahead token after shifting the error
5580 yyerrstatus = 3; /* Each real token shifted decrements this */
5585 /*-------------------------------------------------------------------.
5586 | yyerrdefault -- current state does not do anything special for the |
5588 `-------------------------------------------------------------------*/
5591 /* This is wrong; only states that explicitly want error tokens
5592 should shift them. */
5594 /* If its default is to accept any token, ok. Otherwise pop it. */
5595 yyn = yydefact[yystate];
5601 /*---------------------------------------------------------------.
5602 | yyerrpop -- pop the current state because it cannot handle the |
5604 `---------------------------------------------------------------*/
5617 short *yyssp1 = yyss - 1;
5618 YYFPRINTF (stderr, "Error: state stack now");
5619 while (yyssp1 != yyssp)
5620 YYFPRINTF (stderr, " %d", *++yyssp1);
5621 YYFPRINTF (stderr, "\n");
5629 yyn = yypact[yystate];
5634 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5651 YYDPRINTF ((stderr, "Shifting error token, "));
5662 /*-------------------------------------.
5663 | yyacceptlab -- YYACCEPT comes here. |
5664 `-------------------------------------*/
5669 /*-----------------------------------.
5670 | yyabortlab -- YYABORT comes here. |
5671 `-----------------------------------*/
5676 /*---------------------------------------------.
5677 | yyoverflowab -- parser overflow comes here. |
5678 `---------------------------------------------*/
5680 yyerror ("parser stack overflow");
5687 YYSTACK_FREE (yyss);
5693 /*@-redecl@*/ /*@-namechecks@*/
5694 extern char *yytext;
5695 /*@=redecl@*/ /*@=namechecks@*/
5697 # include "bison.reset"
5699 void yyerror (/*@unused@*/ char *s)
5701 static bool givehint = FALSE;
5703 if (context_inIterDef ())
5705 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5706 context_inFunctionName ()));
5708 else if (context_inIterEnd ())
5710 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5711 context_inFunctionName ()));
5713 else if (context_inMacro ())
5715 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5716 context_inFunctionName ()));
5718 if (context_inUnknownMacro ())
5722 llhint (cstring_makeLiteral
5723 ("Precede macro definition with /*@notfunction@*/ "
5724 "to suppress checking and force expansion"));
5729 cscanner_swallowMacro ();
5730 context_exitAllClausesQuiet ();
5734 llparseerror (cstring_undefined);
5750 ** Resets all flags in bison.head
5772 /*@=evalorderuncon@*/
5781 /*@=elseifcomplete@*/
5785 /*@=readonlytrans@*/
5788 /*@=systemunrecog@*/
5789 /*@=dependenttrans@*/
5790 /*@=unqualifiedtrans@*/
5794 /*drl added 11/27/2001*/