2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
46 /*drl added 11/27/2001*/
48 /*@-arrayboundsread@*/
49 /* < end of bison.head > */
52 /* A Bison parser, made from cgrammar.y
53 by GNU Bison version 1.28 */
55 #define YYBISON 1 /* Identify Bison output. */
59 #define CTOK_ELIPSIS 259
83 #define TAMPERSAND 283
100 #define COFFSETOF 300
111 #define MUL_ASSIGN 311
112 #define DIV_ASSIGN 312
113 #define MOD_ASSIGN 313
114 #define ADD_ASSIGN 314
115 #define SUB_ASSIGN 315
116 #define LEFT_ASSIGN 316
117 #define RIGHT_ASSIGN 317
118 #define AND_ASSIGN 318
119 #define XOR_ASSIGN 319
120 #define OR_ASSIGN 320
128 #define QMODIFIES 328
130 #define QCONSTANT 330
131 #define QFUNCTION 331
135 #define QALLOCATES 335
137 #define QRELEASES 337
138 #define QPRECLAUSE 338
139 #define QPOSTCLAUSE 339
143 #define QENDMACRO 343
145 #define LLMACROITER 345
146 #define LLMACROEND 346
147 #define TENDMACRO 347
148 #define QSWITCHBREAK 348
149 #define QLOOPBREAK 349
150 #define QINNERBREAK 350
151 #define QSAFEBREAK 351
152 #define QINNERCONTINUE 352
153 #define QFALLTHROUGH 353
154 #define QLINTNOTREACHED 354
155 #define QLINTFALLTHROUGH 355
156 #define QLINTFALLTHRU 356
157 #define QARGSUSED 357
158 #define QPRINTFLIKE 358
159 #define QLINTPRINTFLIKE 359
160 #define QSCANFLIKE 360
161 #define QMESSAGELIKE 361
162 #define QNOTREACHED 362
164 #define QVOLATILE 364
166 #define QEXTENSION 366
170 #define QREGISTER 370
180 #define QUNCHECKED 380
181 #define QCHECKEDSTRICT 381
182 #define QCHECKMOD 382
188 #define QDEPENDENT 388
189 #define QRETURNED 389
192 #define QOBSERVER 392
196 #define QNEVEREXIT 396
197 #define QTRUEEXIT 397
198 #define QFALSEEXIT 398
201 #define QUNSIGNED 401
207 #define QABSTRACT 407
208 #define QCONCRETE 408
210 #define QIMMUTABLE 410
211 #define QTRUENULL 411
212 #define QFALSENULL 412
213 #define QEXTERNAL 413
214 #define QREFCOUNTED 414
227 #define QINTEGRALTYPE 427
228 #define QUNSIGNEDINTEGRALTYPE 428
229 #define QSIGNEDINTEGRALTYPE 429
230 #define QNULLTERMINATED 430
231 #define QSETBUFFERSIZE 431
232 #define QSETSTRINGLENGTH 432
235 #define QTESTINRANGE 435
237 #define IDENTIFIER 437
238 #define NEW_IDENTIFIER 438
239 #define TYPE_NAME_OR_ID 439
240 #define CANNOTATION 440
241 #define CCONSTANT 441
242 #define ITER_NAME 442
243 #define ITER_ENDNAME 443
244 #define TYPE_NAME 444
245 #define METASTATE_NAME 445
247 #line 19 "cgrammar.y"
253 ** Yacc/Bison grammar for extended ANSI C used by LCLint.
255 ** original grammar by Nate Osgood ---
256 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
258 ** changes for LCLint --- handle typedef names correctly
259 ** fix struct/union parsing bug (empty struct is accepted)
260 ** add productions to handle macros --- require
261 ** error correction --- main source of conflicts in grammar.
262 ** need to process initializations sequentially, L->R
264 ** production names are cryptic, so more productions fit on one line
266 ** conflicts: 87 shift/reduce, 18 reduce/reduce
267 ** most of these are due to handling macros
268 ** a few are due to handling type expressions
274 extern void swallowMacro (void);
275 extern void yyerror (char *);
277 # include "lclintMacros.nf"
279 # include "cscanner.h"
280 # include "cgrammar.h"
281 # include "exprChecks.h"
286 # define SHOWCSYM FALSE
289 ** This is necessary, or else when the bison-generated code #include's malloc.h,
290 ** there will be a parse error.
292 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
293 ** in bison-generated files under Win32.
303 #line 75 "cgrammar.y"
311 /*@dependent@*/ sRef sr;
314 /*@only@*/ functionClauseList funcclauselist;
315 /*@only@*/ functionClause funcclause;
316 /*@only@*/ flagSpec flagspec;
317 /*@only@*/ globalsClause globsclause;
318 /*@only@*/ modifiesClause modsclause;
319 /*@only@*/ warnClause warnclause;
320 /*@only@*/ stateClause stateclause;
322 /*@only@*/ functionConstraint fcnconstraint;
324 /*@only@*/ metaStateConstraint msconstraint;
325 /*@only@*/ metaStateSpecifier msspec;
326 /*@only@*/ metaStateExpression msexpr;
327 /*@observer@*/ metaStateInfo msinfo;
329 /*@only@*/ sRefList srlist;
330 /*@only@*/ globSet globset;
331 /*@only@*/ qtype qtyp;
332 /*@only@*/ cstring cname;
333 /*@observer@*/ annotationInfo annotation;
334 /*@only@*/ idDecl ntyp;
335 /*@only@*/ idDeclList ntyplist;
336 /*@only@*/ uentryList flist;
337 /*@owned@*/ uentryList entrylist;
338 /*@observer@*/ /*@dependent@*/ uentry entry;
339 /*@only@*/ uentry oentry;
340 /*@only@*/ exprNode expr;
341 /*@only@*/ enumNameList enumnamelist;
342 /*@only@*/ exprNodeList exprlist;
343 /*@only@*/ sRefSet srset;
344 /*@only@*/ cstringList cstringlist;
369 #define YYFLAG -32768
372 #define YYTRANSLATE(x) ((unsigned)(x) <= 445 ? yytranslate[x] : 446)
374 static const short yytranslate[] = { 0,
375 2, 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, 1, 3, 4, 5, 6,
401 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
402 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
403 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
404 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
405 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
406 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
407 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
408 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
409 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
410 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
411 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
412 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
413 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
414 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
415 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
416 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
417 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
418 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
419 187, 188, 189, 190, 191
423 static const short yyprhs[] = { 0,
424 0, 1, 3, 5, 8, 11, 13, 15, 17, 19,
425 21, 23, 32, 44, 45, 51, 53, 57, 59, 62,
426 64, 71, 75, 82, 83, 90, 91, 99, 101, 108,
427 112, 119, 120, 127, 128, 136, 137, 138, 149, 153,
428 157, 161, 164, 166, 170, 171, 176, 177, 182, 184,
429 188, 190, 194, 196, 200, 202, 204, 206, 208, 210,
430 212, 217, 223, 225, 227, 229, 231, 235, 240, 243,
431 247, 251, 255, 257, 259, 261, 262, 265, 266, 269,
432 271, 273, 275, 277, 279, 281, 283, 285, 287, 289,
433 291, 293, 296, 297, 302, 304, 307, 308, 312, 314,
434 318, 320, 322, 323, 326, 330, 333, 335, 339, 342,
435 343, 346, 348, 350, 352, 354, 356, 358, 360, 362,
436 364, 366, 368, 370, 372, 374, 376, 378, 382, 383,
437 387, 388, 389, 394, 397, 400, 402, 404, 406, 410,
438 415, 418, 422, 426, 430, 432, 434, 436, 440, 442,
439 444, 448, 453, 456, 460, 464, 468, 469, 471, 473,
440 477, 479, 481, 483, 487, 489, 491, 493, 498, 502,
441 507, 514, 520, 526, 529, 532, 534, 538, 540, 543,
442 546, 549, 552, 555, 558, 561, 564, 566, 568, 572,
443 574, 584, 585, 589, 594, 597, 602, 605, 607, 612,
444 614, 618, 622, 626, 628, 632, 636, 638, 642, 646,
445 648, 652, 656, 660, 664, 666, 670, 674, 676, 680,
446 682, 686, 688, 692, 694, 695, 700, 702, 703, 708,
447 710, 711, 712, 720, 722, 726, 730, 734, 738, 742,
448 746, 750, 754, 758, 762, 766, 768, 772, 773, 775,
449 777, 779, 781, 783, 787, 788, 798, 799, 811, 814,
450 815, 822, 823, 832, 837, 842, 843, 844, 847, 849,
451 854, 855, 860, 862, 866, 871, 873, 877, 879, 881,
452 883, 885, 887, 890, 893, 894, 901, 904, 907, 908,
453 915, 916, 922, 924, 926, 928, 930, 932, 934, 936,
454 938, 940, 942, 944, 946, 948, 950, 952, 954, 956,
455 958, 960, 962, 964, 966, 968, 970, 972, 974, 976,
456 978, 980, 982, 984, 986, 988, 990, 992, 994, 996,
457 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016,
458 1018, 1020, 1022, 1024, 1026, 1029, 1032, 1035, 1038, 1041,
459 1044, 1047, 1050, 1053, 1056, 1059, 1062, 1065, 1068, 1071,
460 1074, 1077, 1080, 1083, 1086, 1089, 1092, 1095, 1098, 1101,
461 1105, 1107, 1112, 1114, 1118, 1121, 1124, 1127, 1128, 1130,
462 1131, 1132, 1144, 1145, 1146, 1158, 1165, 1172, 1173, 1174,
463 1185, 1186, 1187, 1198, 1204, 1210, 1215, 1220, 1221, 1223,
464 1225, 1228, 1234, 1238, 1241, 1246, 1248, 1252, 1257, 1264,
465 1265, 1274, 1279, 1281, 1285, 1288, 1290, 1295, 1297, 1299,
466 1302, 1305, 1307, 1310, 1312, 1315, 1317, 1319, 1321, 1324,
467 1326, 1329, 1332, 1336, 1338, 1342, 1344, 1348, 1350, 1352,
468 1356, 1357, 1360, 1361, 1366, 1371, 1373, 1375, 1378, 1380,
469 1382, 1385, 1386, 1388, 1394, 1397, 1401, 1405, 1410, 1414,
470 1419, 1424, 1430, 1432, 1434, 1436, 1438, 1440, 1442, 1444,
471 1446, 1448, 1450, 1452, 1454, 1457, 1460, 1468, 1475, 1478,
472 1479, 1480, 1491, 1492, 1499, 1501, 1503, 1505, 1507, 1510,
473 1512, 1514, 1516, 1518, 1520, 1522, 1524, 1528, 1530, 1533,
474 1536, 1539, 1541, 1543, 1545, 1547, 1549, 1551, 1553, 1555,
475 1557, 1559, 1563, 1565, 1567, 1570, 1573, 1574, 1579, 1580,
476 1586, 1587, 1591, 1592, 1597, 1601, 1604, 1608, 1609, 1610,
477 1611, 1612, 1613, 1615, 1618, 1621, 1625, 1628, 1632, 1636,
478 1641, 1644, 1647, 1651, 1655, 1660, 1662, 1665, 1667, 1670,
479 1672, 1675, 1677, 1680, 1682, 1685, 1687, 1692, 1695, 1696,
480 1702, 1703, 1710, 1715, 1720, 1721, 1722, 1733, 1735, 1736,
481 1741, 1743, 1745, 1747, 1749, 1751, 1754, 1756, 1760, 1762,
482 1767, 1771, 1776, 1783, 1789, 1795, 1798, 1801, 1803, 1806,
483 1809, 1812, 1815, 1818, 1821, 1824, 1827, 1829, 1831, 1836,
484 1838, 1842, 1846, 1850, 1852, 1856, 1860, 1862, 1866, 1870,
485 1872, 1876, 1880, 1884, 1888, 1890, 1894, 1898, 1900, 1904,
486 1906, 1910, 1912, 1916, 1918, 1922, 1924, 1928, 1930, 1931,
487 1932, 1940, 1942, 1946, 1950, 1954, 1958, 1962, 1966, 1970,
488 1974, 1978, 1982, 1986, 1988, 1989, 1991, 1994, 2002, 2005,
489 2008, 2016, 2023, 2026, 2030, 2033, 2037, 2040, 2044, 2048,
490 2052, 2056, 2059, 2063, 2064, 2066, 2068, 2070, 2072, 2074,
494 static const short yyrhs[] = { -1,
495 193, 0, 194, 0, 193, 194, 0, 254, 442, 0,
496 195, 0, 196, 0, 206, 0, 209, 0, 291, 0,
497 1, 0, 76, 329, 342, 352, 342, 442, 299, 89,
498 0, 76, 329, 342, 352, 342, 23, 299, 304, 303,
499 442, 89, 0, 0, 77, 197, 198, 442, 89, 0,
500 199, 0, 329, 342, 199, 0, 203, 0, 356, 203,
501 0, 444, 0, 299, 24, 342, 352, 299, 25, 0,
502 200, 26, 27, 0, 200, 26, 299, 290, 27, 342,
503 0, 0, 200, 300, 24, 25, 201, 226, 0, 0,
504 200, 300, 24, 353, 25, 202, 226, 0, 444, 0,
505 299, 24, 342, 199, 299, 25, 0, 203, 26, 27,
506 0, 203, 26, 299, 290, 27, 342, 0, 0, 203,
507 300, 24, 25, 204, 227, 0, 0, 203, 300, 24,
508 353, 25, 205, 227, 0, 0, 0, 78, 444, 24,
509 353, 25, 207, 227, 208, 442, 89, 0, 90, 382,
510 93, 0, 91, 369, 93, 0, 92, 370, 93, 0,
511 90, 93, 0, 249, 0, 212, 23, 215, 0, 0,
512 223, 213, 22, 216, 0, 0, 5, 214, 22, 216,
513 0, 212, 0, 212, 40, 215, 0, 191, 0, 218,
514 182, 217, 0, 218, 0, 221, 220, 221, 0, 179,
515 0, 180, 0, 52, 0, 51, 0, 53, 0, 222,
516 0, 224, 24, 221, 25, 0, 24, 221, 225, 221,
517 25, 0, 223, 0, 187, 0, 443, 0, 184, 0,
518 223, 26, 27, 0, 223, 26, 187, 27, 0, 34,
519 223, 0, 24, 223, 25, 0, 223, 28, 444, 0,
520 223, 44, 444, 0, 219, 0, 33, 0, 32, 0,
521 0, 228, 226, 0, 0, 229, 227, 0, 230, 0,
522 234, 0, 233, 0, 307, 0, 310, 0, 240, 0,
523 231, 0, 235, 0, 233, 0, 308, 0, 312, 0,
524 241, 0, 231, 89, 0, 0, 73, 232, 242, 442,
525 0, 75, 0, 235, 89, 0, 0, 74, 236, 255,
526 0, 238, 0, 238, 40, 237, 0, 184, 0, 240,
527 0, 0, 241, 89, 0, 72, 237, 418, 0, 72,
528 237, 0, 243, 0, 242, 21, 243, 0, 244, 245,
529 0, 0, 246, 244, 0, 443, 0, 184, 0, 291,
530 0, 87, 0, 88, 0, 117, 0, 118, 0, 131,
531 0, 79, 0, 80, 0, 81, 0, 82, 0, 83,
532 0, 84, 0, 85, 0, 352, 0, 329, 342, 352,
533 0, 0, 19, 251, 398, 0, 0, 0, 252, 402,
534 253, 391, 0, 210, 250, 0, 258, 442, 0, 442,
535 0, 443, 0, 184, 0, 256, 26, 27, 0, 256,
536 26, 257, 27, 0, 34, 256, 0, 24, 256, 25,
537 0, 256, 28, 444, 0, 256, 44, 444, 0, 256,
538 0, 418, 0, 256, 0, 258, 21, 256, 0, 443,
539 0, 184, 0, 259, 26, 27, 0, 259, 26, 257,
540 27, 0, 34, 259, 0, 24, 259, 25, 0, 259,
541 28, 444, 0, 259, 44, 444, 0, 0, 261, 0,
542 259, 0, 261, 21, 259, 0, 443, 0, 184, 0,
543 418, 0, 24, 288, 25, 0, 185, 0, 112, 0,
544 262, 0, 263, 26, 288, 27, 0, 263, 24, 25,
545 0, 263, 24, 264, 25, 0, 70, 24, 287, 21,
546 364, 25, 0, 263, 342, 28, 444, 299, 0, 263,
547 342, 44, 444, 299, 0, 263, 47, 0, 263, 48,
548 0, 287, 0, 264, 21, 287, 0, 263, 0, 47,
549 265, 0, 48, 265, 0, 29, 271, 0, 34, 271,
550 0, 33, 271, 0, 32, 271, 0, 31, 271, 0,
551 30, 271, 0, 268, 0, 267, 0, 266, 28, 444,
552 0, 444, 0, 46, 299, 24, 364, 342, 21, 266,
553 25, 299, 0, 0, 299, 269, 270, 0, 42, 24,
554 364, 25, 0, 42, 265, 0, 43, 24, 364, 25,
555 0, 43, 265, 0, 265, 0, 24, 364, 25, 271,
556 0, 271, 0, 272, 34, 271, 0, 272, 35, 271,
557 0, 272, 36, 271, 0, 272, 0, 273, 33, 272,
558 0, 273, 32, 272, 0, 273, 0, 274, 49, 273,
559 0, 274, 50, 273, 0, 274, 0, 275, 37, 274,
560 0, 275, 38, 274, 0, 275, 51, 274, 0, 275,
561 52, 274, 0, 275, 0, 276, 53, 275, 0, 276,
562 54, 275, 0, 276, 0, 277, 29, 276, 0, 277,
563 0, 278, 39, 277, 0, 278, 0, 279, 40, 278,
564 0, 279, 0, 0, 280, 55, 281, 279, 0, 280,
565 0, 0, 282, 56, 283, 280, 0, 282, 0, 0,
566 0, 282, 41, 285, 288, 22, 286, 284, 0, 284,
567 0, 265, 23, 287, 0, 265, 57, 287, 0, 265,
568 58, 287, 0, 265, 59, 287, 0, 265, 60, 287,
569 0, 265, 61, 287, 0, 265, 62, 287, 0, 265,
570 63, 287, 0, 265, 64, 287, 0, 265, 65, 287,
571 0, 265, 66, 287, 0, 287, 0, 288, 21, 287,
572 0, 0, 288, 0, 284, 0, 292, 0, 71, 0,
573 297, 0, 329, 299, 18, 0, 0, 329, 342, 352,
574 342, 293, 299, 303, 18, 299, 0, 0, 329, 342,
575 352, 342, 23, 294, 299, 304, 303, 18, 299, 0,
576 352, 342, 0, 0, 352, 342, 23, 296, 299, 304,
577 0, 0, 45, 329, 298, 342, 301, 299, 239, 18,
578 0, 45, 329, 299, 18, 0, 45, 301, 299, 18,
579 0, 0, 0, 302, 299, 0, 295, 0, 301, 21,
580 342, 295, 0, 0, 303, 21, 342, 295, 0, 287,
581 0, 19, 305, 20, 0, 19, 305, 21, 20, 0,
582 304, 0, 305, 21, 304, 0, 113, 0, 111, 0,
583 114, 0, 115, 0, 116, 0, 176, 299, 0, 308,
584 89, 0, 0, 247, 342, 309, 261, 442, 299, 0,
585 312, 89, 0, 248, 342, 0, 0, 311, 318, 313,
586 260, 442, 299, 0, 0, 311, 314, 315, 442, 299,
587 0, 217, 0, 211, 0, 140, 0, 141, 0, 143,
588 0, 144, 0, 142, 0, 125, 0, 128, 0, 126,
589 0, 127, 0, 133, 0, 134, 0, 119, 0, 121,
590 0, 120, 0, 129, 0, 130, 0, 122, 0, 124,
591 0, 137, 0, 139, 0, 152, 0, 151, 0, 136,
592 0, 138, 0, 176, 0, 186, 0, 135, 0, 150,
593 0, 149, 0, 159, 0, 157, 0, 158, 0, 153,
594 0, 154, 0, 155, 0, 156, 0, 160, 0, 161,
595 0, 164, 0, 165, 0, 162, 0, 163, 0, 148,
596 0, 145, 0, 146, 0, 147, 0, 117, 0, 118,
597 0, 131, 0, 132, 0, 109, 299, 0, 110, 299,
598 0, 325, 299, 0, 318, 299, 0, 316, 299, 0,
599 319, 299, 0, 317, 299, 0, 321, 299, 0, 320,
600 299, 0, 322, 299, 0, 323, 299, 0, 166, 342,
601 0, 168, 342, 0, 167, 342, 0, 169, 342, 0,
602 170, 342, 0, 171, 342, 0, 172, 342, 0, 173,
603 342, 0, 174, 342, 0, 175, 342, 0, 445, 342,
604 0, 333, 342, 0, 347, 342, 0, 324, 342, 0,
605 299, 329, 299, 0, 331, 0, 331, 86, 330, 89,
606 0, 364, 0, 364, 21, 330, 0, 306, 332, 0,
607 326, 332, 0, 327, 332, 0, 0, 329, 0, 0,
608 0, 342, 67, 444, 299, 19, 334, 395, 343, 396,
609 335, 20, 0, 0, 0, 342, 68, 444, 299, 19,
610 336, 395, 343, 396, 337, 20, 0, 342, 67, 444,
611 299, 19, 20, 0, 342, 68, 444, 299, 19, 20,
612 0, 0, 0, 342, 67, 299, 19, 338, 395, 343,
613 396, 339, 20, 0, 0, 0, 342, 68, 299, 19,
614 340, 395, 343, 396, 341, 20, 0, 342, 67, 299,
615 19, 20, 0, 342, 68, 299, 19, 20, 0, 342,
616 67, 444, 342, 0, 342, 68, 444, 342, 0, 0,
617 344, 0, 209, 0, 343, 344, 0, 329, 342, 345,
618 299, 18, 0, 329, 299, 18, 0, 346, 342, 0,
619 345, 21, 346, 342, 0, 352, 0, 22, 299, 290,
620 0, 352, 22, 299, 290, 0, 342, 69, 19, 349,
621 20, 299, 0, 0, 342, 69, 444, 19, 348, 349,
622 20, 299, 0, 342, 69, 444, 299, 0, 350, 0,
623 349, 21, 350, 0, 349, 21, 0, 444, 0, 444,
624 23, 299, 290, 0, 200, 0, 366, 0, 356, 190,
625 0, 356, 351, 0, 200, 0, 356, 200, 0, 359,
626 0, 342, 357, 0, 109, 0, 110, 0, 354, 0,
627 355, 354, 0, 34, 0, 34, 355, 0, 34, 356,
628 0, 34, 355, 356, 0, 358, 0, 358, 21, 5,
629 0, 444, 0, 358, 21, 444, 0, 5, 0, 360,
630 0, 360, 21, 5, 0, 0, 361, 363, 0, 0,
631 360, 21, 362, 363, 0, 299, 329, 351, 299, 0,
632 444, 0, 328, 0, 328, 365, 0, 356, 0, 367,
633 0, 356, 367, 0, 0, 367, 0, 299, 24, 342,
634 365, 25, 0, 26, 27, 0, 26, 290, 27, 0,
635 367, 26, 27, 0, 367, 26, 290, 27, 0, 299,
636 24, 25, 0, 299, 24, 359, 25, 0, 367, 299,
637 24, 25, 0, 367, 299, 24, 359, 25, 0, 384,
638 0, 385, 0, 388, 0, 391, 0, 404, 0, 407,
639 0, 439, 0, 412, 0, 441, 0, 371, 0, 369,
640 0, 378, 0, 371, 378, 0, 411, 371, 0, 438,
641 383, 11, 24, 288, 25, 18, 0, 438, 383, 11,
642 24, 288, 25, 0, 373, 378, 0, 0, 0, 13,
643 24, 289, 18, 289, 18, 374, 289, 375, 25, 0,
644 0, 188, 393, 24, 377, 415, 25, 0, 189, 0,
645 384, 0, 385, 0, 388, 0, 380, 402, 0, 380,
646 0, 381, 0, 404, 0, 379, 0, 372, 0, 376,
647 0, 441, 0, 24, 378, 25, 0, 1, 0, 406,
648 378, 0, 393, 19, 0, 397, 20, 0, 383, 0,
649 401, 0, 384, 0, 385, 0, 388, 0, 392, 0,
650 405, 0, 407, 0, 412, 0, 440, 0, 24, 383,
651 25, 0, 441, 0, 1, 0, 444, 22, 0, 108,
652 368, 0, 0, 6, 290, 386, 22, 0, 0, 99,
653 6, 290, 387, 22, 0, 0, 7, 389, 22, 0,
654 0, 99, 7, 390, 22, 0, 24, 391, 25, 0,
655 393, 399, 0, 393, 400, 394, 0, 0, 0, 0,
656 0, 0, 20, 0, 108, 20, 0, 403, 20, 0,
657 403, 108, 20, 0, 402, 20, 0, 402, 108, 20,
658 0, 402, 403, 20, 0, 402, 403, 108, 20, 0,
659 19, 398, 0, 19, 20, 0, 19, 401, 20, 0,
660 19, 402, 20, 0, 19, 402, 403, 20, 0, 383,
661 0, 401, 383, 0, 291, 0, 402, 291, 0, 368,
662 0, 403, 368, 0, 18, 0, 288, 18, 0, 18,
663 0, 288, 18, 0, 288, 0, 8, 24, 288, 25,
664 0, 406, 368, 0, 0, 406, 368, 9, 408, 368,
665 0, 0, 10, 24, 288, 409, 25, 368, 0, 11,
666 24, 288, 25, 0, 11, 24, 288, 25, 0, 0,
667 0, 188, 413, 393, 24, 414, 415, 25, 391, 437,
668 394, 0, 417, 0, 0, 415, 416, 21, 417, 0,
669 436, 0, 443, 0, 185, 0, 184, 0, 187, 0,
670 418, 187, 0, 418, 0, 24, 288, 25, 0, 419,
671 0, 263, 26, 288, 27, 0, 263, 24, 25, 0,
672 263, 24, 264, 25, 0, 70, 24, 287, 21, 364,
673 25, 0, 263, 342, 28, 444, 299, 0, 263, 342,
674 44, 444, 299, 0, 263, 47, 0, 263, 48, 0,
675 420, 0, 47, 265, 0, 48, 265, 0, 29, 271,
676 0, 34, 271, 0, 33, 271, 0, 32, 271, 0,
677 31, 271, 0, 30, 271, 0, 268, 0, 421, 0,
678 24, 364, 25, 271, 0, 422, 0, 272, 34, 271,
679 0, 272, 35, 271, 0, 272, 36, 271, 0, 423,
680 0, 273, 33, 272, 0, 273, 32, 272, 0, 424,
681 0, 274, 49, 273, 0, 274, 50, 273, 0, 425,
682 0, 275, 37, 274, 0, 275, 38, 274, 0, 275,
683 51, 274, 0, 275, 52, 274, 0, 426, 0, 276,
684 53, 275, 0, 276, 54, 275, 0, 427, 0, 277,
685 29, 276, 0, 428, 0, 278, 39, 277, 0, 429,
686 0, 279, 40, 278, 0, 430, 0, 280, 55, 279,
687 0, 431, 0, 282, 56, 280, 0, 432, 0, 0,
688 0, 282, 41, 434, 288, 22, 435, 284, 0, 433,
689 0, 265, 23, 287, 0, 265, 57, 287, 0, 265,
690 58, 287, 0, 265, 59, 287, 0, 265, 60, 287,
691 0, 265, 61, 287, 0, 265, 62, 287, 0, 265,
692 63, 287, 0, 265, 64, 287, 0, 265, 65, 287,
693 0, 265, 66, 287, 0, 189, 0, 0, 12, 0,
694 410, 368, 0, 438, 368, 11, 24, 288, 25, 18,
695 0, 373, 368, 0, 410, 383, 0, 438, 383, 11,
696 24, 288, 25, 18, 0, 438, 383, 11, 24, 288,
697 25, 0, 373, 383, 0, 14, 444, 18, 0, 15,
698 18, 0, 98, 15, 18, 0, 16, 18, 0, 94,
699 16, 18, 0, 95, 16, 18, 0, 96, 16, 18,
700 0, 97, 16, 18, 0, 17, 18, 0, 17, 288,
701 18, 0, 0, 18, 0, 183, 0, 184, 0, 188,
702 0, 189, 0, 443, 0, 185, 0, 190, 0, 185,
709 static const short yyrline[] = { 0,
710 313, 314, 317, 318, 321, 322, 323, 324, 325, 326,
711 327, 330, 332, 336, 336, 343, 349, 353, 354, 358,
712 359, 361, 363, 375, 378, 388, 391, 399, 400, 402,
713 404, 420, 423, 431, 434, 442, 444, 444, 448, 449,
714 450, 451, 454, 457, 461, 461, 464, 464, 469, 470,
715 473, 478, 479, 482, 487, 488, 491, 492, 493, 496,
716 497, 498, 503, 504, 507, 509, 511, 513, 522, 524,
717 526, 528, 544, 548, 549, 556, 557, 565, 567, 571,
718 572, 573, 574, 575, 576, 579, 580, 581, 582, 583,
719 584, 587, 590, 591, 598, 601, 604, 610, 618, 620,
720 624, 627, 628, 631, 634, 640, 644, 645, 648, 651,
721 652, 655, 656, 657, 660, 661, 662, 663, 664, 667,
722 668, 669, 670, 671, 674, 675, 678, 684, 688, 690,
723 694, 695, 697, 704, 714, 715, 718, 719, 720, 721,
724 722, 723, 724, 725, 729, 730, 734, 735, 738, 740,
725 742, 743, 744, 745, 746, 748, 752, 753, 756, 760,
726 772, 773, 774, 775, 776, 777, 780, 781, 782, 783,
727 784, 785, 786, 787, 788, 791, 792, 795, 796, 797,
728 798, 799, 800, 801, 802, 803, 804, 805, 808, 809,
729 812, 816, 817, 820, 821, 822, 823, 826, 827, 831,
730 832, 833, 834, 837, 838, 839, 842, 843, 844, 847,
731 848, 849, 850, 851, 854, 855, 856, 859, 860, 863,
732 864, 868, 869, 872, 873, 878, 884, 885, 891, 897,
733 898, 898, 900, 903, 904, 905, 906, 907, 908, 909,
734 910, 911, 912, 913, 914, 917, 918, 921, 922, 925,
735 930, 931, 932, 935, 949, 954, 960, 962, 968, 973,
736 973, 977, 978, 980, 981, 984, 987, 990, 993, 994,
737 997, 998, 1001, 1002, 1003, 1007, 1009, 1018, 1019, 1020,
738 1021, 1022, 1024, 1028, 1031, 1037, 1046, 1049, 1052, 1059,
739 1066, 1072, 1097, 1098, 1101, 1102, 1103, 1104, 1105, 1108,
740 1109, 1110, 1111, 1114, 1115, 1116, 1117, 1118, 1119, 1120,
741 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
742 1134, 1135, 1138, 1139, 1142, 1143, 1146, 1147, 1148, 1149,
743 1152, 1153, 1154, 1155, 1156, 1157, 1160, 1161, 1162, 1163,
744 1166, 1167, 1168, 1169, 1172, 1173, 1174, 1175, 1176, 1177,
745 1178, 1179, 1180, 1181, 1182, 1189, 1190, 1191, 1192, 1193,
746 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1205,
747 1209, 1210, 1214, 1215, 1219, 1220, 1221, 1224, 1225, 1228,
748 1230, 1232, 1233, 1235, 1237, 1238, 1240, 1242, 1244, 1246,
749 1247, 1248, 1251, 1252, 1254, 1256, 1257, 1260, 1263, 1264,
750 1265, 1268, 1270, 1274, 1276, 1280, 1281, 1282, 1286, 1288,
751 1288, 1290, 1293, 1295, 1297, 1300, 1305, 1312, 1313, 1314,
752 1321, 1325, 1326, 1330, 1331, 1334, 1335, 1338, 1339, 1342,
753 1343, 1344, 1345, 1348, 1349, 1352, 1353, 1356, 1357, 1358,
754 1361, 1361, 1362, 1363, 1366, 1378, 1394, 1395, 1398, 1399,
755 1400, 1403, 1404, 1407, 1409, 1410, 1412, 1413, 1415, 1417,
756 1419, 1421, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
757 1435, 1450, 1453, 1456, 1457, 1461, 1463, 1465, 1467, 1471,
758 1472, 1474, 1478, 1480, 1482, 1485, 1486, 1487, 1488, 1489,
759 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1500, 1506,
760 1509, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522,
761 1523, 1524, 1525, 1526, 1529, 1530, 1536, 1537, 1538, 1539,
762 1542, 1543, 1544, 1545, 1548, 1549, 1553, 1556, 1559, 1562,
763 1565, 1568, 1571, 1572, 1573, 1574, 1576, 1577, 1579, 1581,
764 1587, 1591, 1593, 1595, 1597, 1601, 1602, 1605, 1606, 1609,
765 1610, 1613, 1614, 1617, 1618, 1619, 1622, 1630, 1635, 1636,
766 1640, 1641, 1644, 1649, 1652, 1653, 1654, 1662, 1663, 1663,
767 1667, 1668, 1669, 1680, 1687, 1688, 1691, 1692, 1695, 1696,
768 1697, 1698, 1699, 1701, 1702, 1703, 1704, 1707, 1708, 1709,
769 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1719, 1720, 1723,
770 1724, 1725, 1726, 1729, 1730, 1731, 1734, 1735, 1736, 1739,
771 1740, 1741, 1742, 1743, 1746, 1747, 1748, 1751, 1752, 1755,
772 1756, 1760, 1761, 1764, 1765, 1768, 1769, 1772, 1773, 1774,
773 1775, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786,
774 1787, 1788, 1789, 1792, 1793, 1796, 1799, 1801, 1803, 1807,
775 1808, 1810, 1812, 1815, 1816, 1817, 1819, 1820, 1821, 1822,
776 1823, 1824, 1825, 1828, 1829, 1832, 1835, 1836, 1837, 1838,
782 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
784 static const char * const yytname[] = { "$","error","$undefined.","BADTOK",
785 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
786 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
787 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
788 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
789 "TBAR","TQUEST","CSIZEOF","CALIGNOF","ARROW_OP","CTYPEDEF","COFFSETOF","INC_OP",
790 "DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP",
791 "MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
792 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
793 "VA_ARG","VA_DCL","QWARN","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION",
794 "QITER","QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
795 "QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND","TENDMACRO",
796 "QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE","QFALLTHROUGH",
797 "QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED","QPRINTFLIKE",
798 "QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST","QVOLATILE",
799 "QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT","QIN",
800 "QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
801 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
802 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
803 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
804 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
805 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
806 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
807 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
808 "QSETBUFFERSIZE","QSETSTRINGLENGTH","QMAXSET","QMAXREAD","QTESTINRANGE","TCAND",
809 "IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID","CANNOTATION","CCONSTANT","ITER_NAME",
810 "ITER_ENDNAME","TYPE_NAME","METASTATE_NAME","file","externalDefs","externalDef",
811 "constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2",
812 "@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr",
813 "metaStateConstraint","metaStateSpecifier","@8","@9","metaStateExpression","metaStateName",
814 "BufConstraintList","BufConstraint","bufferModifier","relationalOp","BufConstraintExpr",
815 "BufConstraintTerm","BufConstraintSrefExpr","BufUnaryOp","BufBinaryOp","functionClauses",
816 "functionClausesPlain","functionClause","functionClausePlain","globalsClause",
817 "globalsClausePlain","@10","nomodsClause","modifiesClause","modifiesClausePlain",
818 "@11","flagSpec","flagId","optWarnClause","warnClause","warnClausePlain","globIdList",
819 "globIdListExpr","optGlobQuals","globId","globQual","stateTag","conditionTag",
820 "fcnDefHdrAux","fcnBody","@12","@13","@14","fcnDef","locModifies","modListExpr",
821 "mExpr","modList","specClauseListExpr","optSpecClauseList","specClauseList",
822 "primaryExpr","postfixExpr","argumentExprList","unaryExpr","fieldDesignator",
823 "offsetofExpr","sizeofExpr","@15","sizeofExprAux","castExpr","timesExpr","plusExpr",
824 "shiftExpr","relationalExpr","equalityExpr","bitandExpr","xorExpr","bitorExpr",
825 "andExpr","@16","orExpr","@17","conditionalExpr","@18","@19","assignExpr","expr",
826 "optExpr","constantExpr","initializer","instanceDecl","@20","@21","namedInitializer",
827 "@22","typeDecl","@23","IsType","PushType","namedInitializerList","namedInitializerListAux",
828 "optDeclarators","init","initList","storageSpecifier","stateClause","stateClausePlain",
829 "@24","conditionClause","startConditionClause","conditionClausePlain","@25",
830 "@26","functionConstraint","exitsQualifier","checkQualifier","stateQualifier",
831 "paramQualifier","visibilityQualifier","returnQualifier","typedefQualifier",
832 "refcountQualifier","typeModifier","definedQualifier","typeQualifier","typeSpecifier",
833 "completeType","completeTypeSpecifier","altType","completeTypeSpecifierAux",
834 "optCompleteType","suSpc","@27","@28","@29","@30","@31","@32","@33","@34","NotType",
835 "structDeclList","structDecl","structNamedDeclList","structNamedDecl","enumSpc",
836 "@35","enumeratorList","enumerator","optNamedDecl","namedDecl","genericParamList",
837 "innerMods","innerModsList","pointers","paramIdList","idList","paramTypeList",
838 "paramList","@36","@37","paramDecl","typeExpression","abstractDecl","optAbstractDeclBase",
839 "abstractDeclBase","stmt","iterBody","endBody","iterDefStmtList","iterDefIterationStmt",
840 "forPred","@38","@39","partialIterStmt","@40","iterDefStmt","iterSelectionStmt",
841 "openScope","closeScope","macroBody","stmtErr","labeledStmt","caseStmt","@41",
842 "@42","defaultStmt","@43","@44","compoundStmt","compoundStmtErr","CreateInnerScope",
843 "DeleteInnerScope","CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe",
844 "compoundStmtRest","compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList",
845 "stmtList","expressionStmt","expressionStmtErr","ifPred","selectionStmt","@45",
846 "@46","whilePred","iterWhilePred","iterStmt","@47","@48","iterArgList","@49",
847 "iterArgExpr","cconstantExpr","primaryIterExpr","postfixIterExpr","unaryIterExpr",
848 "castIterExpr","timesIterExpr","plusIterExpr","shiftIterExpr","relationalIterExpr",
849 "equalityIterExpr","bitandIterExpr","xorIterExpr","bitorIterExpr","andIterExpr",
850 "orIterExpr","conditionalIterExpr","@50","@51","assignIterExpr","endIter","doHeader",
851 "iterationStmt","iterationStmtErr","jumpStmt","optSemi","id","newId","typeName", NULL
855 static const short yyr1[] = { 0,
856 192, 192, 193, 193, 194, 194, 194, 194, 194, 194,
857 194, 195, 195, 197, 196, 198, 198, 199, 199, 200,
858 200, 200, 200, 201, 200, 202, 200, 203, 203, 203,
859 203, 204, 203, 205, 203, 207, 208, 206, 209, 209,
860 209, 209, 210, 211, 213, 212, 214, 212, 215, 215,
861 216, 217, 217, 218, 219, 219, 220, 220, 220, 221,
862 221, 221, 222, 222, 223, 223, 223, 223, 223, 223,
863 223, 223, 224, 225, 225, 226, 226, 227, 227, 228,
864 228, 228, 228, 228, 228, 229, 229, 229, 229, 229,
865 229, 230, 232, 231, 233, 234, 236, 235, 237, 237,
866 238, 239, 239, 240, 241, 241, 242, 242, 243, 244,
867 244, 245, 245, 245, 246, 246, 246, 246, 246, 247,
868 247, 247, 247, 247, 248, 248, 249, 249, 251, 250,
869 252, 253, 250, 254, 255, 255, 256, 256, 256, 256,
870 256, 256, 256, 256, 257, 257, 258, 258, 259, 259,
871 259, 259, 259, 259, 259, 259, 260, 260, 261, 261,
872 262, 262, 262, 262, 262, 262, 263, 263, 263, 263,
873 263, 263, 263, 263, 263, 264, 264, 265, 265, 265,
874 265, 265, 265, 265, 265, 265, 265, 265, 266, 266,
875 267, 269, 268, 270, 270, 270, 270, 271, 271, 272,
876 272, 272, 272, 273, 273, 273, 274, 274, 274, 275,
877 275, 275, 275, 275, 276, 276, 276, 277, 277, 278,
878 278, 279, 279, 280, 281, 280, 282, 283, 282, 284,
879 285, 286, 284, 287, 287, 287, 287, 287, 287, 287,
880 287, 287, 287, 287, 287, 288, 288, 289, 289, 290,
881 291, 291, 291, 292, 293, 292, 294, 292, 295, 296,
882 295, 298, 297, 297, 297, 299, 300, 301, 302, 302,
883 303, 303, 304, 304, 304, 305, 305, 306, 306, 306,
884 306, 306, -1, 307, 309, 308, 310, 311, 313, 312,
885 314, 312, 315, 315, 316, 316, 316, 316, 316, 317,
886 317, 317, 317, 318, 318, 318, 318, 318, 318, 318,
887 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
888 319, 319, 320, 320, 321, 321, 322, 322, 322, 322,
889 323, 323, 323, 323, 323, 323, 324, 324, 324, 324,
890 325, 325, 325, 325, 326, 326, 326, 326, 326, 326,
891 326, 326, 326, 326, 326, 327, 327, 327, 327, 327,
892 327, 327, 327, 327, 327, 327, 327, 327, 327, 328,
893 329, 329, 330, 330, 331, 331, 331, 332, 332, 334,
894 335, 333, 336, 337, 333, 333, 333, 338, 339, 333,
895 340, 341, 333, 333, 333, 333, 333, 342, 343, 343,
896 343, 344, 344, 345, 345, 346, 346, 346, 347, 348,
897 347, 347, 349, 349, 349, 350, 350, 351, 351, 351,
898 351, 352, 352, 353, 353, 354, 354, 355, 355, 356,
899 356, 356, 356, 357, 357, 358, 358, 359, 359, 359,
900 361, 360, 362, 360, 363, 363, 364, 364, 365, 365,
901 365, 366, 366, 367, 367, 367, 367, 367, 367, 367,
902 367, 367, 368, 368, 368, 368, 368, 368, 368, 368,
903 368, 369, 370, 371, 371, 372, 372, 372, 372, 374,
904 375, 373, 377, 376, 376, 378, 378, 378, 378, 378,
905 378, 378, 378, 378, 378, 378, 378, 378, 379, 380,
906 381, 382, 382, 383, 383, 383, 383, 383, 383, 383,
907 383, 383, 383, 383, 384, 384, 386, 385, 387, 385,
908 389, 388, 390, 388, 391, 391, 392, 393, 394, 395,
909 396, 397, 398, 398, 398, 398, 398, 398, 398, 398,
910 399, 400, 400, 400, 400, 401, 401, 402, 402, 403,
911 403, 404, 404, 405, 405, 405, 406, 407, 408, 407,
912 409, 407, 410, 411, 413, 414, 412, 415, 416, 415,
913 417, 417, 417, 417, 418, 418, 419, 419, 420, 420,
914 420, 420, 420, 420, 420, 420, 420, 421, 421, 421,
915 421, 421, 421, 421, 421, 421, 421, 422, 422, 423,
916 423, 423, 423, 424, 424, 424, 425, 425, 425, 426,
917 426, 426, 426, 426, 427, 427, 427, 428, 428, 429,
918 429, 430, 430, 431, 431, 432, 432, 433, 434, 435,
919 433, 436, 436, 436, 436, 436, 436, 436, 436, 436,
920 436, 436, 436, 437, 437, 438, 439, 439, 439, 440,
921 440, 440, 440, 441, 441, 441, 441, 441, 441, 441,
922 441, 441, 441, 442, 442, 443, 444, 444, 444, 444,
926 static const short yyr2[] = { 0,
927 0, 1, 1, 2, 2, 1, 1, 1, 1, 1,
928 1, 8, 11, 0, 5, 1, 3, 1, 2, 1,
929 6, 3, 6, 0, 6, 0, 7, 1, 6, 3,
930 6, 0, 6, 0, 7, 0, 0, 10, 3, 3,
931 3, 2, 1, 3, 0, 4, 0, 4, 1, 3,
932 1, 3, 1, 3, 1, 1, 1, 1, 1, 1,
933 4, 5, 1, 1, 1, 1, 3, 4, 2, 3,
934 3, 3, 1, 1, 1, 0, 2, 0, 2, 1,
935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
936 1, 2, 0, 4, 1, 2, 0, 3, 1, 3,
937 1, 1, 0, 2, 3, 2, 1, 3, 2, 0,
938 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
939 1, 1, 1, 1, 1, 1, 1, 3, 0, 3,
940 0, 0, 4, 2, 2, 1, 1, 1, 3, 4,
941 2, 3, 3, 3, 1, 1, 1, 3, 1, 1,
942 3, 4, 2, 3, 3, 3, 0, 1, 1, 3,
943 1, 1, 1, 3, 1, 1, 1, 4, 3, 4,
944 6, 5, 5, 2, 2, 1, 3, 1, 2, 2,
945 2, 2, 2, 2, 2, 2, 1, 1, 3, 1,
946 9, 0, 3, 4, 2, 4, 2, 1, 4, 1,
947 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
948 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
949 3, 1, 3, 1, 0, 4, 1, 0, 4, 1,
950 0, 0, 7, 1, 3, 3, 3, 3, 3, 3,
951 3, 3, 3, 3, 3, 1, 3, 0, 1, 1,
952 1, 1, 1, 3, 0, 9, 0, 11, 2, 0,
953 6, 0, 8, 4, 4, 0, 0, 2, 1, 4,
954 0, 4, 1, 3, 4, 1, 3, 1, 1, 1,
955 1, 1, 2, 2, 0, 6, 2, 2, 0, 6,
956 0, 5, 1, 1, 1, 1, 1, 1, 1, 1,
957 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
958 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
959 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
960 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
961 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
962 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
963 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
964 1, 4, 1, 3, 2, 2, 2, 0, 1, 0,
965 0, 11, 0, 0, 11, 6, 6, 0, 0, 10,
966 0, 0, 10, 5, 5, 4, 4, 0, 1, 1,
967 2, 5, 3, 2, 4, 1, 3, 4, 6, 0,
968 8, 4, 1, 3, 2, 1, 4, 1, 1, 2,
969 2, 1, 2, 1, 2, 1, 1, 1, 2, 1,
970 2, 2, 3, 1, 3, 1, 3, 1, 1, 3,
971 0, 2, 0, 4, 4, 1, 1, 2, 1, 1,
972 2, 0, 1, 5, 2, 3, 3, 4, 3, 4,
973 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
974 1, 1, 1, 1, 2, 2, 7, 6, 2, 0,
975 0, 10, 0, 6, 1, 1, 1, 1, 2, 1,
976 1, 1, 1, 1, 1, 1, 3, 1, 2, 2,
977 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
978 1, 3, 1, 1, 2, 2, 0, 4, 0, 5,
979 0, 3, 0, 4, 3, 2, 3, 0, 0, 0,
980 0, 0, 1, 2, 2, 3, 2, 3, 3, 4,
981 2, 2, 3, 3, 4, 1, 2, 1, 2, 1,
982 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
983 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
984 1, 1, 1, 1, 1, 2, 1, 3, 1, 4,
985 3, 4, 6, 5, 5, 2, 2, 1, 2, 2,
986 2, 2, 2, 2, 2, 2, 1, 1, 4, 1,
987 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
988 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
989 3, 1, 3, 1, 3, 1, 3, 1, 0, 0,
990 7, 1, 3, 3, 3, 3, 3, 3, 3, 3,
991 3, 3, 3, 1, 0, 1, 2, 7, 2, 2,
992 7, 6, 2, 3, 2, 3, 2, 3, 3, 3,
993 3, 2, 3, 0, 1, 1, 1, 1, 1, 1,
997 static const short yydefact[] = { 0,
998 11, 430, 398, 252, 398, 14, 0, 0, 0, 0,
999 266, 266, 279, 278, 280, 281, 282, 341, 342, 306,
1000 308, 307, 311, 312, 300, 302, 303, 301, 309, 310,
1001 343, 344, 304, 305, 321, 317, 313, 318, 314, 295,
1002 296, 299, 297, 298, 338, 339, 340, 337, 323, 322,
1003 316, 315, 327, 328, 329, 330, 325, 326, 324, 331,
1004 332, 335, 336, 333, 334, 398, 398, 398, 398, 398,
1005 398, 398, 398, 398, 398, 319, 666, 667, 671, 320,
1006 668, 669, 672, 0, 3, 6, 7, 422, 8, 9,
1007 131, 43, 664, 10, 251, 253, 0, 378, 266, 266,
1008 266, 266, 266, 266, 266, 266, 398, 266, 378, 378,
1009 398, 371, 398, 0, 398, 127, 266, 670, 20, 398,
1010 426, 427, 428, 431, 432, 269, 266, 266, 262, 398,
1011 673, 398, 398, 671, 0, 514, 266, 521, 0, 0,
1012 0, 646, 0, 0, 0, 0, 266, 554, 0, 266,
1013 266, 266, 266, 266, 266, 266, 266, 266, 0, 42,
1014 0, 0, 0, 0, 0, 0, 266, 166, 162, 165,
1015 575, 565, 167, 178, 198, 188, 187, 200, 204, 207,
1016 210, 215, 218, 220, 222, 224, 227, 230, 234, 246,
1017 556, 192, 0, 0, 546, 504, 505, 506, 507, 0,
1018 0, 508, 266, 509, 0, 510, 163, 0, 511, 513,
1019 161, 0, 498, 0, 552, 0, 528, 485, 0, 0,
1020 0, 494, 0, 495, 474, 493, 490, 491, 486, 487,
1021 488, 0, 0, 492, 0, 0, 0, 496, 473, 0,
1022 345, 346, 356, 358, 357, 359, 360, 361, 362, 363,
1023 364, 365, 4, 266, 0, 129, 134, 398, 665, 5,
1024 398, 379, 375, 349, 351, 348, 350, 353, 352, 354,
1025 355, 369, 347, 376, 377, 0, 266, 266, 367, 266,
1026 266, 0, 368, 423, 366, 429, 433, 398, 0, 268,
1027 398, 0, 259, 266, 664, 16, 18, 0, 398, 266,
1028 28, 441, 266, 162, 165, 198, 250, 517, 161, 0,
1029 266, 266, 266, 266, 0, 655, 657, 662, 0, 0,
1030 398, 447, 0, 0, 181, 186, 185, 184, 183, 182,
1031 0, 266, 179, 180, 266, 0, 0, 0, 0, 0,
1032 266, 523, 266, 516, 266, 463, 464, 465, 466, 0,
1033 467, 468, 266, 470, 266, 469, 471, 528, 266, 266,
1034 174, 175, 0, 266, 266, 266, 266, 266, 266, 266,
1035 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1036 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1037 225, 231, 228, 555, 266, 0, 653, 39, 0, 529,
1038 547, 558, 650, 576, 0, 515, 266, 0, 0, 0,
1039 553, 40, 475, 479, 548, 398, 489, 500, 501, 499,
1040 0, 0, 41, 22, 266, 441, 398, 398, 266, 254,
1041 128, 398, 0, 373, 0, 398, 0, 398, 0, 266,
1042 266, 265, 266, 264, 260, 398, 0, 266, 0, 398,
1043 266, 19, 438, 0, 0, 424, 439, 266, 0, 0,
1044 522, 0, 561, 0, 249, 0, 654, 663, 164, 266,
1045 266, 0, 449, 448, 450, 266, 512, 266, 0, 658,
1046 659, 660, 661, 656, 519, 0, 0, 649, 398, 526,
1047 647, 0, 0, 169, 0, 176, 0, 0, 0, 235,
1048 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1049 201, 202, 203, 206, 205, 208, 209, 211, 212, 213,
1050 214, 216, 217, 219, 221, 223, 266, 266, 266, 247,
1051 266, 266, 193, 542, 165, 546, 0, 398, 527, 559,
1052 0, 0, 497, 483, 266, 549, 0, 0, 24, 0,
1053 533, 266, 550, 130, 398, 266, 528, 266, 255, 372,
1054 266, 388, 0, 396, 391, 0, 397, 0, 413, 416,
1055 410, 412, 270, 266, 266, 664, 15, 30, 266, 441,
1056 266, 17, 425, 434, 436, 36, 443, 398, 442, 446,
1057 518, 557, 0, 563, 266, 370, 455, 0, 441, 451,
1058 266, 0, 199, 398, 266, 0, 524, 525, 541, 0,
1059 566, 266, 170, 168, 266, 266, 226, 0, 229, 266,
1060 195, 266, 197, 543, 544, 266, 266, 266, 564, 266,
1061 398, 266, 398, 76, 26, 534, 537, 266, 266, 535,
1062 266, 551, 528, 133, 0, 257, 266, 374, 394, 530,
1063 380, 395, 530, 383, 266, 415, 266, 0, 103, 266,
1064 266, 266, 0, 32, 0, 266, 0, 78, 440, 266,
1065 452, 266, 0, 456, 459, 266, 0, 457, 0, 441,
1066 0, 0, 520, 266, 266, 177, 172, 173, 232, 0,
1067 0, 545, 560, 0, 266, 266, 266, 266, 266, 266,
1068 266, 266, 266, 0, 162, 165, 178, 198, 187, 204,
1069 207, 210, 215, 218, 220, 222, 224, 227, 0, 569,
1070 568, 163, 579, 588, 598, 600, 604, 607, 610, 615,
1071 618, 620, 622, 624, 626, 628, 632, 571, 161, 0,
1072 23, 0, 93, 97, 95, 120, 121, 122, 123, 124,
1073 125, 126, 25, 76, 80, 0, 82, 81, 0, 85,
1074 0, 398, 398, 83, 0, 84, 291, 0, 76, 538,
1075 539, 266, 536, 21, 266, 271, 398, 386, 530, 398,
1076 387, 530, 409, 414, 266, 0, 0, 102, 266, 273,
1077 261, 266, 0, 398, 78, 34, 0, 435, 437, 37,
1078 78, 86, 88, 87, 91, 89, 90, 444, 418, 0,
1079 266, 452, 419, 453, 562, 480, 0, 460, 458, 461,
1080 0, 0, 171, 0, 569, 266, 194, 196, 652, 0,
1081 0, 181, 186, 185, 184, 183, 182, 179, 180, 266,
1082 266, 266, 174, 175, 0, 266, 266, 266, 266, 266,
1083 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1084 266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1085 266, 266, 225, 629, 228, 484, 0, 478, 101, 106,
1086 99, 110, 664, 77, 92, 96, 104, 285, 288, 284,
1087 0, 289, 287, 27, 540, 266, 0, 400, 398, 398,
1088 399, 398, 398, 398, 417, 266, 263, 276, 0, 271,
1089 12, 31, 33, 78, 29, 664, 79, 441, 445, 420,
1090 421, 266, 454, 462, 0, 190, 0, 528, 233, 651,
1091 164, 266, 0, 169, 0, 0, 0, 0, 633, 634,
1092 635, 636, 637, 638, 639, 640, 641, 642, 643, 201,
1093 202, 203, 206, 205, 208, 209, 211, 212, 213, 214,
1094 216, 217, 219, 221, 223, 625, 266, 627, 266, 477,
1095 105, 0, 115, 116, 117, 118, 119, 664, 107, 398,
1096 110, 0, 0, 138, 98, 147, 664, 136, 137, 0,
1097 47, 0, 0, 55, 56, 66, 64, 294, 0, 293,
1098 53, 73, 0, 60, 63, 0, 664, 65, 157, 271,
1099 266, 398, 0, 266, 401, 389, 398, 392, 398, 411,
1100 274, 266, 664, 35, 0, 266, 481, 266, 0, 648,
1101 645, 199, 266, 170, 168, 266, 266, 0, 570, 100,
1102 110, 94, 113, 109, 114, 112, 111, 0, 141, 0,
1103 0, 0, 0, 135, 0, 0, 150, 159, 664, 149,
1104 0, 0, 63, 0, 69, 0, 0, 58, 57, 59,
1105 0, 0, 0, 0, 0, 0, 266, 664, 158, 0,
1106 256, 266, 403, 266, 266, 398, 406, 0, 381, 0,
1107 384, 275, 277, 0, 38, 266, 0, 191, 189, 644,
1108 529, 0, 172, 173, 630, 108, 142, 139, 145, 0,
1109 146, 143, 144, 148, 0, 153, 0, 0, 0, 0,
1110 266, 0, 75, 74, 0, 70, 0, 49, 44, 45,
1111 52, 63, 54, 67, 0, 71, 72, 0, 0, 292,
1112 266, 266, 272, 266, 266, 0, 404, 266, 390, 0,
1113 393, 0, 13, 482, 567, 171, 266, 140, 154, 151,
1114 0, 155, 156, 160, 286, 51, 48, 0, 0, 68,
1115 46, 61, 290, 258, 407, 398, 402, 266, 382, 385,
1116 631, 152, 62, 50, 405, 408, 0, 0, 0
1119 static const short yydefgoto[] = { 1187,
1120 84, 85, 86, 87, 133, 295, 296, 88, 634, 769,
1121 297, 795, 914, 89, 668, 916, 898, 91, 998, 1128,
1122 1075, 1061, 1129, 1167, 1000, 1001, 1002, 1071, 1003, 1004,
1123 1132, 1006, 1125, 753, 800, 754, 801, 755, 802, 882,
1124 803, 758, 804, 883, 880, 881, 787, 760, 761, 978,
1125 979, 980, 1044, 981, 762, 763, 92, 257, 427, 258,
1126 557, 93, 985, 1109, 1110, 987, 1058, 1078, 1059, 173,
1127 174, 495, 175, 925, 176, 177, 396, 533, 178, 179,
1128 180, 181, 182, 183, 184, 185, 186, 187, 527, 188,
1129 529, 189, 528, 826, 190, 219, 466, 308, 415, 95,
1130 647, 775, 126, 575, 96, 291, 192, 255, 127, 128,
1131 897, 791, 909, 98, 764, 806, 990, 766, 767, 807,
1132 1009, 891, 1007, 99, 100, 101, 102, 103, 104, 105,
1133 106, 107, 108, 109, 110, 322, 416, 433, 112, 263,
1134 113, 779, 1150, 782, 1152, 650, 1088, 653, 1090, 114,
1135 900, 901, 1085, 1086, 115, 658, 568, 569, 811, 130,
1136 455, 123, 124, 117, 583, 584, 456, 457, 458, 670,
1137 589, 323, 817, 813, 475, 344, 220, 240, 221, 222,
1138 345, 922, 1097, 224, 630, 225, 226, 227, 228, 194,
1139 401, 346, 347, 460, 606, 348, 310, 486, 349, 199,
1140 350, 539, 777, 1016, 233, 554, 490, 400, 201, 555,
1141 556, 351, 202, 203, 352, 627, 593, 353, 236, 354,
1142 358, 685, 720, 877, 721, 207, 723, 724, 725, 726,
1143 727, 728, 729, 730, 731, 732, 733, 734, 735, 736,
1144 737, 967, 1157, 738, 1101, 355, 356, 209, 357, 260,
1148 static const short yypact[] = { 2108,
1149 -32768, 259, 5207,-32768, 6305,-32768, 338, 3085, 3424, 3424,
1150 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1151 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1152 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1153 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1154 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1155 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1156 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 659,-32768,
1157 -32768,-32768,-32768, 2286,-32768,-32768,-32768, 452,-32768,-32768,
1158 50,-32768, 84,-32768,-32768,-32768, 96, 6140,-32768,-32768,
1159 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6140, 6140,
1160 166, 87,-32768, 739,-32768,-32768, 338,-32768,-32768,-32768,
1161 -32768,-32768,-32768, 259,-32768,-32768, 171,-32768, 166,-32768,
1162 -32768,-32768, 5207,-32768, 196,-32768, 5436,-32768, 227, 237,
1163 245,-32768, 268, 338, 281, 290, 1173,-32768, 2662, 5436,
1164 5436, 5436, 5436, 5436, 5436,-32768, 5465, 5465, 289,-32768,
1165 316, 336, 347, 362, 375, 135, 4651,-32768, 398, 404,
1166 -32768, 416,-32768, 895, 852,-32768,-32768,-32768, 426, 133,
1167 639, 782, 710, 474, 472, 478, 481, 185,-32768,-32768,
1168 191,-32768, 3467, 454, 457,-32768,-32768,-32768,-32768, 535,
1169 3233,-32768, 4651,-32768, 3467,-32768, 372, 3467,-32768,-32768,
1170 547, 562,-32768, 587,-32768, 2852, 416, 594, 429, 528,
1171 3276,-32768, 3424,-32768,-32768,-32768, 5766,-32768,-32768,-32768,
1172 -32768, 618, 609,-32768, 3424, 3424, 3467,-32768,-32768, 550,
1173 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1174 -32768,-32768,-32768, 626, 635,-32768,-32768, 6030,-32768,-32768,
1175 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768, 646, 534,-32768,-32768, 338,
1177 338, 302,-32768, 452,-32768,-32768,-32768,-32768, 665,-32768,
1178 -32768, 688, 645, 534, 84,-32768, 468, 690,-32768, 338,
1179 -32768, 228, 5436,-32768,-32768,-32768,-32768,-32768,-32768, 704,
1180 5436, 5436, 5436, 1889, 724,-32768,-32768,-32768, 512, 359,
1181 5634, 89, 744, 753,-32768,-32768,-32768,-32768,-32768,-32768,
1182 762, 5436,-32768,-32768, 5436, 798, 800, 811, 826, 836,
1183 5436,-32768, 1978,-32768, 4651,-32768,-32768,-32768,-32768, 847,
1184 -32768,-32768, 4651,-32768, 4651,-32768,-32768,-32768, 1106, 5436,
1185 -32768,-32768, 64, 5436, 5436, 5436, 5436, 5436, 5436, 5436,
1186 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436,
1187 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436,
1188 -32768,-32768,-32768,-32768, 5436, 781,-32768,-32768, 2472,-32768,
1189 -32768, 791,-32768,-32768, 879,-32768, 5436, 367, 900, 896,
1190 -32768,-32768,-32768,-32768,-32768, 166, 5766,-32768,-32768,-32768,
1191 3042, 919,-32768,-32768, 5436, 65, 3615, 4732, 534,-32768,
1192 386, 6305, 855, 915, 931, 948, 953, 948, 338, 959,
1193 534,-32768, 534,-32768,-32768,-32768, 892, 962, 963,-32768,
1194 534, 468,-32768, 338, 969,-32768, 981, 338, 333, 984,
1195 -32768, 385, 1023, 393, 1023, 1030,-32768,-32768,-32768,-32768,
1196 5218, 1007, 538,-32768, 650, 5436,-32768,-32768, 1028,-32768,
1197 -32768,-32768,-32768,-32768,-32768, 1032, 1034,-32768, 3615,-32768,
1198 -32768, 1046, 1036,-32768, 394,-32768, 288, 338, 338,-32768,
1199 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1200 -32768,-32768,-32768, 426, 426, 133, 133, 639, 639, 639,
1201 639, 782, 782, 710, 474, 472, 5436, 5436, 5436,-32768,
1202 5485, 5496,-32768,-32768, 4965,-32768, 2022, 3800,-32768,-32768,
1203 1037, 403,-32768,-32768, 534,-32768, 1039, 1038,-32768, 1043,
1204 -32768, 4170,-32768,-32768, 3985, 4213, 1045,-32768, 1049,-32768,
1205 -32768, 1055, 1058,-32768, 1061, 1065,-32768, 676,-32768, 1062,
1206 -32768,-32768,-32768, 171,-32768, 98,-32768,-32768, 5436, 213,
1207 534,-32768,-32768, 1066,-32768,-32768, 1081, 6305,-32768,-32768,
1208 -32768,-32768, 1063,-32768, 1889,-32768,-32768, 1064, 369, 650,
1209 5380, 1069,-32768,-32768,-32768, 1067,-32768,-32768,-32768, 1079,
1210 -32768, 5436,-32768,-32768,-32768,-32768, 478, 839, 481, 5436,
1211 -32768, 5436,-32768,-32768,-32768, 4316, 4651, 5436,-32768, 5555,
1212 -32768, 5436,-32768, 938,-32768,-32768,-32768, 4359, 4462,-32768,
1213 4505,-32768, 1045,-32768, 1082,-32768,-32768,-32768,-32768,-32768,
1214 1084,-32768,-32768, 1088,-32768, 338,-32768, 338, 1041, 5128,
1215 -32768,-32768, 1083,-32768, 1086,-32768, 247, 938,-32768, 338,
1216 591, 4651, 1096,-32768,-32768, 127, 1090,-32768, 1089, 82,
1217 1100, 1097,-32768, 5436, 5555,-32768,-32768,-32768,-32768, 1098,
1218 1101,-32768,-32768, 456, 5436, 5436, 5436, 5436, 5436, 5436,
1219 5436, 5465, 5465, 1085, 488, 507, 960, 1187, 523, 999,
1220 841, 856, 830, 874, 1099, 1094, 1102, 1092, 202, 1109,
1221 -32768, 10,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1222 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 532, 557,
1223 -32768, 964,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1224 -32768,-32768,-32768, 938,-32768, 1054,-32768,-32768, 1057,-32768,
1225 1060,-32768,-32768,-32768, 1068,-32768, 2185, 1070, 938,-32768,
1226 -32768, 4608,-32768,-32768,-32768,-32768, 6227,-32768,-32768, 6227,
1227 -32768,-32768,-32768,-32768, 5436, 932, 1126,-32768, 5128,-32768,
1228 -32768, 5128, 1071,-32768, 938,-32768, 1130,-32768,-32768,-32768,
1229 938,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 452, 1127,
1230 -32768, 668,-32768, 650,-32768,-32768, 1131,-32768,-32768,-32768,
1231 1147, 338,-32768, 577, 1149, 5436,-32768,-32768, 1159, 589,
1232 1153, 598, 615, 670, 678, 684, 711, 719, 745, 5436,
1233 5391, 5436, 763, 768, 120, 5436, 5436, 5436, 5436, 5436,
1234 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436,
1235 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436, 5436,
1236 5436, 5436, 5436,-32768, 5436,-32768, 1158, 1162,-32768, 994,
1237 1142, 269, 76,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1238 155,-32768,-32768,-32768,-32768, 5128, 582,-32768, 166, 4810,
1239 -32768, 6227, 4810, 6227,-32768,-32768,-32768,-32768, 1004,-32768,
1240 -32768,-32768,-32768, 938,-32768, 84,-32768, 546,-32768,-32768,
1241 -32768, 5411,-32768,-32768, 424,-32768, 1165, 1045,-32768,-32768,
1242 788, 5436, 1164, 815, 901, 320, 338, 338,-32768,-32768,
1243 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 924,
1244 926, 934, 716, 844, 463, 908, 597, 630, 718, 752,
1245 825, 834, 93, 350, 118, 478, 5436, 481, 5555,-32768,
1246 372, 964,-32768,-32768,-32768,-32768,-32768, 610,-32768, 5898,
1247 269, 88, 88,-32768,-32768, 75, 627,-32768,-32768, 103,
1248 -32768, 541, 153,-32768,-32768,-32768,-32768,-32768, 1163,-32768,
1249 1008,-32768, 985,-32768, 108, 1168, 84,-32768, 103,-32768,
1250 -32768,-32768, 1176, 527,-32768,-32768, 4810,-32768, 4810,-32768,
1251 -32768, 1794, 866,-32768, 1107, 643,-32768,-32768, 338,-32768,
1252 1006, 941,-32768, 949, 952,-32768,-32768, 1019,-32768,-32768,
1253 269,-32768,-32768,-32768,-32768,-32768,-32768, 431, 75, 410,
1254 338, 338, 88,-32768, 103, 103,-32768, 275, 871,-32768,
1255 1178, 1010, 551, 153, 318, 72, 541,-32768,-32768,-32768,
1256 541, 20, 338, 338, 1179, 541,-32768, 84, 1177, 886,
1257 -32768, 534,-32768,-32768, 1188,-32768, 1186, 1191,-32768, 1193,
1258 -32768,-32768,-32768, 1125,-32768, 607, 1192,-32768,-32768,-32768,
1259 -32768, 1197, 974, 975,-32768,-32768,-32768,-32768, 75, 1189,
1260 372,-32768,-32768, 75, 656, 275, 421, 338, 338, 103,
1261 -32768, 1035,-32768,-32768, 541,-32768, 551, 1183,-32768, 318,
1262 -32768, 318,-32768,-32768, 1198,-32768,-32768, 1035, 1202,-32768,
1263 -32768,-32768,-32768, 5436, 527, 1212,-32768,-32768,-32768, 1211,
1264 -32768, 1213,-32768,-32768,-32768, 980, 5436,-32768,-32768,-32768,
1265 1205,-32768,-32768, 275,-32768,-32768,-32768, 1209, 72,-32768,
1266 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 5436,-32768,-32768,
1267 -32768,-32768,-32768,-32768,-32768,-32768, 1236, 1237,-32768
1270 static const short yypgoto[] = {-32768,
1271 -32768, 1154,-32768,-32768,-32768,-32768, -400, -105,-32768,-32768,
1272 939,-32768,-32768,-32768,-32768,-32768, 54,-32768,-32768, 351,
1273 -32768,-32768, 86, 119, 174,-32768,-32768,-32768, -947,-32768,
1274 -842,-32768,-32768, -444, -728,-32768,-32768,-32768, -586,-32768,
1275 -558,-32768, -556,-32768, 284,-32768,-32768, 599, -639,-32768,
1276 219, 280,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1277 -32768,-32768,-32768, -828, 145,-32768, -957,-32768, 254,-32768,
1278 -605, 423, 1013,-32768,-32768, -603,-32768,-32768, -111, -356,
1279 -362, -325, -334, -373, -363, -357, -490, -505,-32768, -602,
1280 -32768, -99,-32768,-32768, 529, 1216, -579, -339, 5,-32768,
1281 -32768,-32768, -430,-32768,-32768,-32768, 654, -261, 822,-32768,
1282 -822, -727,-32768,-32768,-32768, -539,-32768,-32768,-32768, -525,
1283 -32768,-32768,-32768,-32768,-32768, 499,-32768,-32768,-32768,-32768,
1284 -32768,-32768,-32768,-32768,-32768,-32768, 61, 706,-32768, 937,
1285 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 399,
1286 -730, -772,-32768, 123,-32768,-32768, 613, 616, 461, 13,
1287 -380, 1151,-32768, 2,-32768,-32768, -569,-32768,-32768,-32768,
1288 608, -272, 955,-32768, -472, 36, 1272,-32768, 1047,-32768,
1289 1271,-32768,-32768,-32768,-32768, -142,-32768,-32768,-32768,-32768,
1290 168, 1436, 1525,-32768,-32768, 1596,-32768,-32768, -329,-32768,
1291 1091, 186, -597, -713,-32768, 797,-32768,-32768, 889, -195,
1292 -470, 62,-32768, 95, 9,-32768,-32768, 26,-32768, 83,
1293 -32768,-32768, 612,-32768, 325, -610,-32768,-32768,-32768,-32768,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1295 -32768,-32768,-32768,-32768,-32768, 1694,-32768,-32768, 1748, -274,
1303 static const short yytable[] = { 118,
1304 600, 485, 118, 125, 94, 434, 118, 211, 211, 211,
1305 573, 284, 116, 487, 524, 673, 204, 516, 517, 722,
1306 447, 514, 515, 619, 707, 525, 709, 719, 805, 677,
1307 -577, 417, 526, 205, -577, 449, 617, 307, 325, 326,
1308 327, 328, 329, 330, 1062, 550, 1134, 756, 1005, 903,
1309 582, 522, 523, 90, 986, 780, 518, 519, 520, 521,
1310 111, 908, 428, 129, 910, 132, 913, 626, 256, 453,
1311 234, 234, 917, 409, 722, 757, 991, 759, 413, 707,
1312 414, 709, 719, 118, 639, 548, 453, 1023, 94, 549,
1313 206, 498, 420, 259, 765, 1064, 116, 1115, 1116, 982,
1314 1050, 259, 1051, 235, 235, 993, 820, 499, 768, 983,
1315 821, 982, -266, -619, 471, 259, 118, -619, 1052, 261,
1316 661, 983, 2, 1133, 718, 287, 1055, 1015, 1139, -45,
1317 1015, 598, 118, 1072, 300, 1073, 1056, 90, -623, 717,
1318 341, 342, -623, 118, 111, 386, 387, 937, 211, 1063,
1319 1065, 1074, 471, 1048, 1049, 805, 389, 204, 262, 991,
1320 2, 805, 1164, 938, 378, 379, 211, 756, 1010, 262,
1321 262, 1017, 278, 1019, 205, 195, 1064, 1168, 992, 718,
1322 666, 902, 756, -266, 904, 1024, 993, 1080, 993, 1018,
1323 449, 288, 211, 299, 717, 757, 404, 759, 814, 665,
1324 211, 204, 211, 538, 211, 604, 1135, 211, 394, 204,
1325 757, 395, 759, 204, 765, 211, 204, 453, 205, 302,
1326 211, 1127, 211, 1130, 1114, 392, 205, 644, 768, 765,
1327 205, 206, 453, 205, 211, 211, 211, 664, 402, 663,
1328 393, 307, 874, 768, 1015, 204, 1015, -398, -398, -398,
1329 311, 798, -398, -398, 77, 996, 714, 875, 77, 984,
1330 312, 679, 205, 511, 512, 513, 715, 711, 313, 971,
1331 77, 984, 716, 710, 805, 206, 118, 234, 413, 118,
1332 118, 118, 234, 206, 234, 77, 1057, 206, 434, 431,
1333 206, 314, 2, 118, 1093, 713, 234, 234, 316, 118,
1334 1117, 662, 1118, 1089, 712, 1091, 446, 317, 395, 884,
1335 235, 714, 335, 487, 614, 235, 324, 235, 1119, 206,
1336 439, 715, 711, 473, 894, 307, 1130, 716, 710, 235,
1337 235, 336, 682, 994, 995, 77, 996, 77, 996, 814,
1338 395, 997, 1027, 1072, 211, 1073, 1035, 690, 677, 691,
1339 713, 337, 211, 395, 211, 973, 974, 469, 722, 712,
1340 397, 1074, 338, 707, 603, 709, 719, 121, 122, 968,
1341 -621, 307, 403, 453, -621, 405, 394, 339, 388, 395,
1342 488, 470, 966, 469, 411, 975, 976, 395, 491, 340,
1343 492, 469, -398, 675, -398, -398, -398, -398, 211, 977,
1344 -398, -398, -398, -398, 422, 395, -398, 204, -398, 592,
1345 -398, -398, -398, 395, 612, -398, -398, 594, 613, -667,
1346 211, 546, 831, 395, 205, -671, 211, 629, 118, 77,
1347 78, 134, 546, 982, 81, 82, 1108, -668, 118, 1111,
1348 118, 558, 118, 983, 982, 905, 411, 1160, 1028, 395,
1349 118, 1029, 300, 118, 983, 1107, 1050, 118, 1051, 375,
1350 376, 377, 553, 718, 243, 244, 245, 246, 247, 248,
1351 249, 250, 251, 252, 1052, -267, 395, 254, 717, 307,
1352 829, 206, 234, -608, 77, 78, 134, -608, 211, 81,
1353 82, -267, 470, 448, 378, 379, 963, 118, 118, 955,
1354 956, 307, 388, 953, 954, 272, 1111, 964, -574, 277,
1355 389, 279, -574, 283, 965, 235, 119, 390, 285, 119,
1356 77, 78, 134, 135, 553, 81, 82, -573, 293, 468,
1357 294, -573, 395, 961, 962, 391, 211, 211, 957, 958,
1358 959, 960, 546, -597, 118, 204, 398, -597, 1084, -502,
1359 453, 211, -572, 399, 211, 211, -572, 631, 404, 546,
1360 2, -266, 205, 471, 992, 809, 536, 2, -670, -398,
1361 675, -398, 363, 553, 993, 1126, 1072, 395, 1073, -398,
1362 118, 878, 300, 406, 832, 833, 834, 835, 836, 837,
1363 553, 642, 77, 984, 1074, 714, 171, 395, 1031, 1011,
1364 119, 927, 1012, 77, 984, 715, 711, 171, 988, 395,
1365 407, 716, 710, 931, -266, -669, 471, -611, -591, 206,
1366 412, -611, -591, 600, 2, 211, 211, 259, 419, 739,
1367 1041, -449, 471, 119, 713, -596, 418, 211, 211, -596,
1368 211, 1025, 423, 712, 259, 380, 381, 1053, 671, 301,
1369 -612, 1143, 424, 97, -612, 118, 97, 118, 426, 429,
1370 315, 642, 693, 430, 241, 242, 118, 445, 471, 118,
1371 118, 211, 812, -266, 642, 601, 2, 473, 380, 381,
1372 1159, 1117, 442, 1118, 739, 307, 441, 380, 381, 443,
1373 -595, -266, -673, 471, -595, 655, 656, 451, -594, 1119,
1374 454, 2, -594, 1042, -593, 444, 809, 815, -593, 77,
1375 78, 134, 1054, 450, 81, 82, 77, 78, 134, 994,
1376 995, 81, 82, 77, 996, 461, 929, 997, -398, -398,
1377 -398, -592, 1077, -398, -398, -592, -606, 97, -613, -589,
1378 -606, 467, -613, -589, -673, 950, 951, 952, 1094, 375,
1379 376, 377, 264, 265, 266, 267, 268, 269, 270, 271,
1380 1102, 273, 386, 387, 276, -590, 380, 381, 476, -590,
1381 97, 211, -614, 77, 78, 134, -614, 477, 81, 82,
1382 289, 290, 292, -586, 1121, 478, 298, -586, -587, 77,
1383 78, 134, -587, 119, 81, 82, 436, 438, 440, 540,
1384 380, 381, 321, 1141, 1175, 280, 281, 282, -578, 331,
1385 119, 118, -578, 812, 545, 480, 301, 481, 382, 383,
1386 1032, 118, 531, 532, 454, 77, 78, 134, 482, 559,
1387 81, 82, 384, 385, 564, -581, 567, 899, 1186, -581,
1388 899, -673, -673, 483, 576, -616, -673, -673, 581, -616,
1389 77, 78, 134, 484, -617, 81, 82, 920, -617, 395,
1390 689, 382, 383, 479, -605, 489, 864, 865, -605, 321,
1391 382, 383, 860, 861, 364, 384, 385, 375, 376, 377,
1392 866, 867, 989, 259, 384, 385, 1012, 496, 259, 541,
1393 1008, 1120, 500, 501, 502, 503, 504, 505, 506, 507,
1394 508, 509, 510, 1142, 862, 863, 1012, 425, 365, 366,
1395 367, 368, 369, 370, 371, 372, 373, 374, 359, 544,
1396 360, 612, -398, 530, 543, 1034, 868, 869, -609, 547,
1397 97, 432, -609, 435, 437, 561, 118, 118, -398, 378,
1398 379, 361, 362, 560, -601, 119, -602, 97, -601, 562,
1399 -602, 906, 656, 298, -603, 570, 321, 119, -603, 119,
1400 899, -599, 899, 899, 899, -599, -266, 301, 739, -582,
1401 585, 565, -580, -582, 590, 472, -580, 571, 454, 1046,
1402 577, 989, 989, 841, 1045, 842, 580, -398, 578, 1060,
1403 284, 1008, 1008, 586, -584, -585, 321, 676, -584, -585,
1404 -583, 587, 681, -398, -583, 591, 843, 844, 1060, 742,
1405 743, 744, 745, 118, 615, 616, 746, 747, 748, 749,
1406 750, 751, 752, 1021, 1022, 118, 1087, 1096, 118, 559,
1407 599, 741, 857, 858, 859, 1068, 1069, 1070, 558, 395,
1408 1105, 1123, 1124, 395, 307, 274, 275, 595, 605, 989,
1409 118, 118, 989, 607, 1060, 1060, 610, 1181, 608, 611,
1410 628, 119, 632, 1008, 633, 1008, 1008, 635, 643, 276,
1411 1008, 646, 118, 118, 649, 1008, 651, 899, 307, 899,
1412 652, 118, 97, 654, 657, 669, 667, 672, 683, 563,
1413 674, 566, 680, 572, 97, 118, 97, 301, 200, 232,
1414 232, 579, 684, 778, 298, 845, 774, 781, 840, 794,
1415 796, 588, 742, 816, 818, 819, 989, 118, 118, 1060,
1416 822, 823, 827, 596, 1008, 828, 472, 870, 602, 303,
1417 494, 432, 871, 876, 150, 151, 152, 153, 154, 155,
1418 686, 872, 885, 907, 118, 886, 873, 879, 887, 306,
1419 918, 156, 157, 158, 915, 923, 890, 1087, 893, 911,
1420 888, 889, 306, 306, 306, 306, 306, 306, 1008, 333,
1421 334, 924, 570, 928, 570, 159, 930, 932, 969, 970,
1422 171, 972, 1030, 799, 1033, 1066, 590, 119, 790, 1067,
1423 318, 1076, 912, 1083, 1100, 1095, 303, 1120, 97, 1122,
1424 1138, 150, 151, 152, 153, 154, 155, 1148, 1145, 846,
1425 1149, 645, 1151, 1153, 432, 1158, 1154, 168, 156, 157,
1426 158, 1156, 1169, 191, 1170, 1166, 1172, 659, 660, 1177,
1427 1179, 1182, 1180, 1183, 298, 1188, 1189, 253, 452, 200,
1428 1131, 999, 159, 847, 848, 849, 850, 851, 852, 853,
1429 854, 855, 856, 602, 1184, 1040, 1171, 788, 432, 1106,
1430 1047, 1161, 1079, 935, 574, 892, 648, 1176, 687, 688,
1431 786, 784, 921, 321, 286, 321, 474, 808, 193, 223,
1432 223, 239, 421, 200, 168, 609, 1155, 537, 77, 304,
1433 305, 200, 171, 1039, 0, 200, 825, 1014, 200, 0,
1434 776, 0, 0, 0, 0, 0, 232, 410, 783, 0,
1435 785, 232, 0, 232, 792, 793, 1026, 790, 0, 797,
1436 790, 0, 0, 588, 810, 232, 232, 200, 119, 472,
1437 0, 0, 0, 0, 0, 0, 0, 0, 926, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 321, 0,
1439 0, 0, 0, 306, 0, 77, 304, 305, 0, 171,
1440 0, 0, 319, 0, 320, 0, 0, 0, 933, 496,
1441 0, 0, 0, 0, 939, 940, 941, 942, 943, 944,
1442 945, 946, 947, 948, 949, 0, 0, 306, 306, 306,
1443 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1444 306, 306, 306, 0, 0, 0, 0, 0, 191, 0,
1445 1082, 0, 0, 0, 0, 0, 191, 0, 0, 193,
1446 191, 0, 0, 191, 790, 0, 0, 0, 896, 0,
1447 0, 408, 0, 0, 0, 0, 0, 306, 0, 0,
1448 0, 0, 0, 196, 229, 229, 0, 0, 493, 0,
1449 0, 0, 191, 1036, 1037, 0, 0, 0, 0, 0,
1450 0, 0, 0, 193, 919, 810, 0, 602, 0, 0,
1451 0, 193, 0, 0, 0, 193, 0, 0, 193, 0,
1452 0, 0, 0, 306, 1147, 0, 223, 0, 306, 200,
1453 0, 223, 0, 223, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 223, 223, 193, 0, 0,
1455 0, 232, 0, 0, 0, 0, 0, 0, 459, 0,
1456 0, 0, 0, 0, 0, 0, 462, 463, 464, 465,
1457 119, 0, 197, 230, 230, 0, 0, 0, 0, 306,
1458 0, 306, 119, 621, 623, 1099, 0, 459, 0, 0,
1459 790, 0, 1013, 0, 0, 0, 0, 0, 459, 1020,
1460 0, 0, 0, 0, 0, 0, 0, 1112, 1113, 0,
1461 0, 0, 0, 0, 1185, 497, 0, 0, 0, 0,
1462 0, 0, 0, 0, 196, 0, 0, 0, 0, 1136,
1463 1137, 306, 0, 0, 0, 0, 0, 0, 119, 0,
1464 0, 0, 0, 198, 231, 231, 0, 0, 0, 0,
1465 0, 0, 119, 306, 191, 0, 0, 0, 0, 0,
1466 0, 0, 542, 0, 0, 0, 0, 200, 196, 0,
1467 0, 0, 0, 0, 1162, 1163, 196, 0, 0, 0,
1468 196, 0, 708, 196, 0, 0, 0, 0, 0, 0,
1469 0, 229, 0, 0, 0, 0, 229, 0, 229, 0,
1470 0, 119, 0, 0, 1081, 0, 0, 97, 0, 193,
1471 229, 229, 196, 197, 0, 0, 0, 0, 0, 810,
1472 0, 1098, 0, 0, 0, 0, 432, 0, 0, 1103,
1473 1104, 223, 0, 0, 0, 0, 0, 708, 0, 0,
1474 0, 208, 237, 237, 0, 0, 0, 0, 306, 306,
1475 306, 306, 306, 306, 838, 839, 0, 197, 0, 0,
1476 0, 0, 0, 0, 0, 197, 0, 0, 0, 197,
1477 1140, 0, 197, 0, 0, 97, 0, 1144, 1146, 0,
1478 230, 0, 0, 618, 198, 230, 0, 230, 0, 810,
1479 0, 0, 191, 0, 0, 210, 238, 238, 0, 230,
1480 230, 197, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0, 198, 0,
1483 0, 0, 0, 0, 1173, 1174, 198, 306, 97, 0,
1484 198, 1178, 0, 198, 0, 0, 0, 193, 0, 0,
1485 465, 231, 789, 1092, 0, 0, 231, 303, 231, 0,
1486 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1487 231, 231, 198, 0, 196, 459, 0, 459, 306, 156,
1488 157, 158, 208, 694, 0, 0, 0, 740, 0, 0,
1489 0, 0, 0, 0, 0, 0, 229, 0, 0, 0,
1490 0, 0, 0, 159, 0, 0, 0, 0, 0, 306,
1491 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
1492 306, 306, 306, 306, 306, 306, 208, 306, 0, 0,
1493 0, 0, 0, 0, 208, 0, 210, 0, 208, 824,
1494 0, 208, 0, 0, 0, 168, -248, 0, 0, 237,
1495 830, 0, 303, 0, 237, 0, 237, 150, 151, 152,
1496 153, 154, 155, 197, 0, 0, 0, 0, 237, 237,
1497 208, 0, 0, 0, 156, 157, 158, 0, 0, 0,
1498 210, 0, 0, 0, 306, 230, 0, 0, 210, 0,
1499 0, 0, 210, 0, 0, 210, 0, 0, 159, 0,
1500 0, 0, 0, 238, 0, 0, 0, 0, 238, 0,
1501 238, 0, 196, 0, 0, 0, 77, 304, 305, 0,
1502 171, 708, 238, 238, 210, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 198, 0, -528, 0, 0, 0,
1504 168, 343, 0, 0, 0, 0, 150, 151, 152, 153,
1505 154, 155, 0, 0, 0, 0, 231, 0, 0, 0,
1506 0, 0, 136, 156, 157, 158, 0, 137, 138, 139,
1507 0, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1508 -528, 624, 0, 0, 0, 149, 0, 159, 0, 0,
1509 150, 151, 152, 153, 154, 155, 0, 936, 0, 0,
1510 0, 197, 0, -266, -266, 0, 0, 156, 157, 158,
1511 0, 77, 304, 305, 0, 171, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
1513 0, 159, 208, 0, 0, 0, 0, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, -1, 1, 0,
1515 0, 0, 0, 0, 237, 161, 162, 163, 164, 165,
1516 166, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1517 0, -266, 198, 168, 0, 0, 0, 465, 0, 0,
1518 0, 2, 0, 0, 0, 0, 210, 0, 0, 0,
1519 0, 0, 3, 0, 0, 0, 306, 0, 0, 0,
1520 77, 304, 305, 0, 171, 0, 0, 0, 238, 306,
1521 0, 0, 0, 0, -398, -398, -398, 0, 4, 0,
1522 0, 0, 1038, 5, 6, 7, 0, 0, 0, 0,
1523 306, 0, 0, 0, 0, 0, 0, 8, 9, 10,
1524 0, 0, 0, 0, 77, 169, 170, 0, 171, 172,
1525 82, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1526 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1527 208, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1528 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1529 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1530 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1531 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1532 73, 74, 75, 76, 210, -2, 1, 0, 0, 0,
1533 77, 78, 79, 80, 0, 81, 82, 83, 0, 0,
1534 0, 0, 0, 20, 21, 22, 23, 0, 24, -266,
1535 0, 0, 0, 29, 30, 0, 0, 33, 34, 2,
1536 36, 37, 38, 39, 0, 0, 0, 0, 0, 0,
1537 3, 0, 0, 0, 0, 51, 52, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1539 0, 0, -398, -398, -398, 0, 4, 0, 0, 0,
1540 76, 5, 6, 7, 0, 0, 0, 0, 0, 0,
1541 80, 0, 0, 0, 0, 8, 9, 10, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 11, 12, 13, 0, 14, 15,
1544 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1545 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1546 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1547 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1548 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1549 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1550 75, 76, 0, 0, 0, 0, 0, 0, 77, 78,
1551 79, 80, 136, 81, 82, 83, 0, 137, 138, 139,
1552 0, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1553 -528, 534, 0, 0, 0, 149, 0, 0, 0, 0,
1554 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1555 0, 0, 0, -266, -266, 0, 3, 156, 157, 158,
1556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0, -398, -398,
1558 -398, 159, 4, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 161, 162, 163, 164, 165,
1561 166, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1562 11, 12, 13, 168, 14, 15, 16, 17, 18, 19,
1563 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
1564 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1565 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1566 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1567 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1568 69, 70, 71, 72, 73, 74, 75, 76, 0, 0,
1569 0, 0, 0, 0, 77, 169, 535, 80, 171, 172,
1570 82, 83, 136, 0, 0, 0, 0, 137, 138, 139,
1571 0, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1572 -528, 0, 0, 0, 0, 149, 0, 0, 0, 0,
1573 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1574 0, 0, 0, -266, -266, 0, 0, 156, 157, 158,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, -266, -266,
1577 -266, 159, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 161, 162, 163, 164, 165,
1580 166, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1581 -266, -266, -266, 168, -266, -266, -266, -266, -266, -266,
1582 -266, -266, -266, -266, 0, -266, -266, -266, -266, -266,
1583 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1584 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1585 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1586 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1587 -266, -266, -266, -266, -266, -266, -266, -266, 0, 0,
1588 0, 0, 0, 0, 77, 169, 170, -266, 171, 172,
1589 82, -266, 213, 0, 0, 0, 0, 137, 138, 139,
1590 0, 0, 214, 142, 143, 144, 145, 146, 147, 215,
1591 -528, -532, 0, 0, 0, 216, 0, 0, 0, 0,
1592 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1593 0, 0, 0, -266, -266, 0, 0, 156, 157, 158,
1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 0, 0, -266, -266,
1596 -266, 159, 0, 0, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0, 0, 0, 0, 161, 162, 163, 164, 165,
1599 166, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1600 -266, -266, -266, 168, -266, -266, -266, -266, -266, -266,
1601 -266, -266, -266, -266, 0, -266, -266, -266, -266, -266,
1602 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1603 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1604 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1605 -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
1606 -266, -266, -266, -266, -266, -266, -266, -266, 0, 0,
1607 0, 0, 0, 0, 77, 169, 170, -266, 171, 217,
1608 218, -266, 213, 0, 0, 0, 0, 137, 138, 139,
1609 0, 0, 214, 142, 143, 144, 145, 146, 147, 215,
1610 -476, -476, 0, 0, 0, 216, -476, 0, 0, 0,
1611 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1612 0, 0, 0, -266, -266, 136, 0, 156, 157, 158,
1613 137, 138, 139, 0, 140, 141, 142, 143, 144, 145,
1614 146, 147, 148, -528, 0, 0, 0, 0, 149, 0,
1615 0, 159, 0, 150, 151, 152, 153, 154, 155, 0,
1616 0, 0, 0, 0, 0, 0, -266, -266, 0, 0,
1617 156, 157, 158, 0, -476, 161, 162, 163, 164, 165,
1618 166, 0, 0, 0, 0, 0, 0, 0, 0, 167,
1619 0, 0, 0, 168, 159, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 160, 161, 162,
1622 163, 164, 165, 166, 0, 0, 0, 0, 0, 0,
1623 0, 0, 167, 0, 0, 0, 168, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1626 0, 0, 0, 0, 77, 169, 170, 0, 171, 217,
1627 218, 0, 0, 136, 0, 0, 0, 0, 137, 138,
1628 139, 0, 140, 141, 142, 143, 144, 145, 146, 147,
1629 148, -528, 0, 0, 0, 0, 149, 0, 0, 0,
1630 0, 150, 151, 152, 153, 154, 155, 77, 169, 170,
1631 0, 171, 172, 82, -266, -266, 213, 0, 156, 157,
1632 158, 137, 138, 139, 0, 0, 214, 142, 143, 144,
1633 145, 146, 147, 215, -528, -532, 0, 0, 0, 216,
1634 0, 0, 159, 0, 150, 151, 152, 153, 154, 155,
1635 0, 0, 0, 0, 0, 0, 0, -266, -266, 0,
1636 0, 156, 157, 158, 0, -503, 161, 162, 163, 164,
1637 165, 166, 0, 0, 0, 0, 0, 0, 0, 0,
1638 167, 0, 0, 0, 168, 159, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 0, 0, 0, 0, 0, 0, 0, 0, -472, 161,
1641 162, 163, 164, 165, 166, 0, 0, 0, 0, 0,
1642 0, 0, 0, 167, 0, 0, 0, 168, 0, 0,
1643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 0, 77, 169, 170, 0, 171,
1646 172, 82, 0, 0, 213, 0, 0, 0, 0, 137,
1647 138, 139, 0, 0, 214, 142, 143, 144, 145, 146,
1648 147, 215, -528, -532, 0, 0, 0, 216, 0, 0,
1649 0, 0, 150, 151, 152, 153, 154, 155, 77, 169,
1650 170, 0, 171, 217, 218, -266, -266, 136, 0, 156,
1651 157, 158, 137, 138, 139, 0, 140, 141, 142, 143,
1652 144, 145, 146, 147, 148, -528, 0, 0, 0, 0,
1653 149, 0, 0, 159, 0, 150, 151, 152, 153, 154,
1654 155, 0, 0, 0, 0, 0, 0, 0, -266, -266,
1655 0, 0, 156, 157, 158, 0, 0, 161, 162, 163,
1656 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
1657 0, 167, 0, 0, 0, 168, 159, 0, 0, 0,
1658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 161, 162, 163, 164, 165, 166, 0, 0, 0, 0,
1661 0, 0, 0, 0, 167, 0, 0, 0, 168, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 77, 169, 170, 0,
1665 171, 217, 218, 0, 0, 0, 0, 0, 0, 0,
1666 137, 138, 139, 0, 140, 141, 142, 143, 144, 145,
1667 146, 147, 215, -528, 551, 0, 0, 0, 343, 0,
1668 0, 0, 0, 150, 151, 152, 153, 154, 155, 77,
1669 169, 170, 0, 171, 172, 82, -266, -266, 0, 3,
1670 156, 157, 158, 0, 0, 0, 0, 0, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 159, 4, 0, 0, 0, 0,
1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
1675 163, 164, 165, 166, 0, 0, 0, 0, 0, 0,
1676 0, 0, 552, 11, 12, 13, 168, 14, 15, 16,
1677 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1678 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1679 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1680 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1681 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1682 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1683 76, 0, 0, 0, 0, 0, 0, 77, 169, 535,
1684 80, 171, 172, 82, 83, 137, 138, 139, 0, 140,
1685 141, 142, 143, 144, 145, 146, 147, 215, -528, 625,
1686 0, 0, 0, 343, 0, 0, 0, 0, 150, 151,
1687 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1688 0, -266, -266, 0, 3, 156, 157, 158, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 159,
1691 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693 0, 0, 0, 161, 162, 163, 164, 165, 166, 0,
1694 0, 0, 0, 0, 0, 0, 0, 167, 11, 12,
1695 13, 168, 14, 15, 16, 17, 18, 19, 20, 21,
1696 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1697 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1698 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1699 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1700 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1701 71, 72, 73, 74, 75, 76, 0, 0, 0, 0,
1702 0, 0, 77, 169, 535, 80, 171, 172, 82, 83,
1703 137, 138, 139, 0, 140, 141, 142, 143, 144, 145,
1704 146, 147, 215, -528, 637, 0, 0, 0, 343, 0,
1705 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1706 0, 0, 0, 0, 0, 0, -266, -266, 0, 3,
1707 156, 157, 158, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 159, 4, 0, 0, 0, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
1712 163, 164, 165, 166, 0, 0, 0, 0, 0, 0,
1713 0, 0, 638, 11, 12, 13, 168, 14, 15, 16,
1714 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1715 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1716 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1717 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1718 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1719 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1720 76, 0, 0, 0, 0, 0, 0, 77, 169, 535,
1721 80, 171, 172, 82, 83, 137, 138, 139, 0, 140,
1722 141, 142, 143, 144, 145, 146, 147, 215, -528, 636,
1723 0, 0, 0, 343, 0, 0, 0, 0, 150, 151,
1724 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 156, 157, 158, 137, 138,
1726 139, 0, 140, 141, 142, 143, 144, 145, 146, 147,
1727 215, -528, 640, 0, 0, 0, 343, 0, 0, 159,
1728 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 156, 157,
1730 158, 0, 0, 161, 162, 163, 164, 165, 166, 0,
1731 0, 0, 0, 0, 0, 0, 0, 167, 0, 0,
1732 0, 168, 159, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 161, 162, 163, 164,
1735 165, 166, 0, 0, 0, 0, 0, 0, 0, 0,
1736 641, 137, 138, 139, 168, 140, 141, 142, 143, 144,
1737 145, 146, 147, 215, -528, 692, 0, 0, 0, 343,
1738 0, 0, 0, 0, 150, 151, 152, 153, 154, 155,
1739 0, 0, 77, 169, 170, 0, 171, 172, 82, 0,
1740 0, 156, 157, 158, 137, 138, 139, 0, 140, 141,
1741 142, 143, 144, 145, 146, 147, 215, -528, 770, 0,
1742 0, 0, 343, 0, 0, 159, 0, 150, 151, 152,
1743 153, 154, 155, 0, 0, 77, 169, 170, 0, 171,
1744 172, 82, 0, 0, 156, 157, 158, 0, 0, 161,
1745 162, 163, 164, 165, 166, 0, 0, 0, 0, 0,
1746 0, 0, 0, 167, 0, 0, 0, 168, 159, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 161, 162, 163, 164, 165, 166, 0, 0,
1750 0, 0, 0, 0, 0, 0, 167, 137, 138, 139,
1751 168, 140, 141, 142, 143, 144, 145, 146, 147, 215,
1752 -528, 771, 0, 0, 0, 343, 0, 0, 0, 0,
1753 150, 151, 152, 153, 154, 155, 0, 0, 77, 169,
1754 170, 0, 171, 172, 82, 0, 0, 156, 157, 158,
1755 137, 138, 139, 0, 140, 141, 142, 143, 144, 145,
1756 146, 147, 215, -528, 773, 0, 0, 0, 343, 0,
1757 0, 159, 0, 150, 151, 152, 153, 154, 155, 0,
1758 0, 77, 169, 170, 0, 171, 172, 82, 0, 0,
1759 156, 157, 158, 0, 0, 161, 162, 163, 164, 165,
1760 166, 0, 0, 0, 0, 0, 0, 0, 0, 772,
1761 0, 0, 0, 168, 159, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 161, 162,
1764 163, 164, 165, 166, 0, 0, 0, 0, 0, 0,
1765 0, 0, 167, 137, 138, 139, 168, 140, 141, 142,
1766 143, 144, 145, 146, 147, 215, -528, 895, 0, 0,
1767 0, 343, 0, 0, 0, 0, 150, 151, 152, 153,
1768 154, 155, 0, 0, 77, 169, 170, 0, 171, 172,
1769 82, 0, 0, 156, 157, 158, 137, 138, 139, 0,
1770 140, 141, 142, 143, 144, 145, 146, 147, 215, -528,
1771 0, 0, 0, 0, 343, 0, 0, 159, 0, 150,
1772 151, 152, 153, 154, 155, 0, 0, 77, 169, 170,
1773 0, 171, 172, 82, 0, 0, 156, 157, 158, 0,
1774 0, 161, 162, 163, 164, 165, 166, 0, 0, 0,
1775 0, 0, 0, 0, 0, 167, 0, 0, 0, 168,
1776 159, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 161, 162, 163, 164, 165, 166,
1779 -132, 0, 0, 0, 0, -132, 0, 0, 167, 0,
1780 0, 0, 168, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 77, 169, 170, 0, 171, 172, 82, 0, 0, 0,
1784 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, -531,
1787 0, 0, 0, 77, 169, 170, 0, 171, 172, 82,
1788 11, 12, 13, 0, 14, 15, 16, 17, 18, 19,
1789 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
1790 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1791 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1792 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1793 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1794 69, 70, 71, 72, 73, 74, 75, 76, 0, 0,
1795 0, 0, 0, 0, 0, 0, 131, 80, 11, 12,
1796 13, 83, 14, 15, 16, 17, 18, 19, 20, 21,
1797 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1798 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1799 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1800 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1801 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1802 71, 72, 73, 74, 75, 76, -671, 0, 0, 0,
1803 0, 0, 0, 0, 131, 80, 0, 0, 0, 83,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1807 0, -673, -673, -673, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 -673, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, -673, -673, -673, 0, -673, -673, -673,
1812 -673, -673, -673, -673, -673, -673, -673, 0, -673, -673,
1813 -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
1814 -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
1815 -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
1816 -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
1817 -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
1818 -673, 0, 0, 0, 0, 0, 789, 0, 0, 0,
1819 -673, 303, 0, 0, -673, 0, 150, 151, 152, 153,
1820 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 156, 157, 158, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1827 -266, 0, 0, 0, 0, 0, 0, 0, 0, 168,
1828 2, 303, 0, 0, 597, 0, 150, 151, 152, 153,
1829 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 156, 157, 158, 0, 0, 0, 0,
1831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 77, 304, 305, 0, 171, 11, 12, 13, 0, 14,
1836 15, 16, 17, 18, 19, 20, 21, 22, 23, 168,
1837 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1838 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1839 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1840 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1841 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1842 74, 75, 76, 0, 0, 0, 0, 0, 0, 77,
1843 78, 79, 80, 0, 81, 82, 83, 0, 0, 0,
1844 77, 304, 305, 303, 171, 0, 678, 0, 150, 151,
1845 152, 153, 154, 155, 303, 934, 0, 0, 0, 150,
1846 151, 152, 153, 154, 155, 156, 157, 158, 0, 0,
1847 0, 0, 0, 0, 303, -248, 156, 157, 158, 150,
1848 151, 152, 153, 154, 155, 0, 0, 0, 0, 159,
1849 0, 0, 0, 0, 0, 0, 156, 157, 158, 303,
1850 159, 0, 0, 0, 150, 151, 152, 153, 154, 155,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 159, 156, 157, 158, 0, 0, 0, 0, 332, 0,
1853 0, 168, 0, 150, 151, 152, 153, 154, 155, 0,
1854 0, 0, 168, 0, 0, 159, 0, 0, 620, 0,
1855 156, 157, 158, 150, 151, 152, 153, 154, 155, 622,
1856 0, 0, 168, 0, 150, 151, 152, 153, 154, 155,
1857 156, 157, 158, 0, 159, 0, 0, 0, 0, 0,
1858 0, 156, 157, 158, 0, 0, 0, 168, 0, 0,
1859 0, 0, 0, 0, 159, 0, 0, 0, 0, 0,
1860 0, 0, 77, 304, 305, 159, 171, 0, 0, 0,
1861 0, 0, 0, 77, 304, 305, 168, 171, 695, 0,
1862 0, 0, 0, 696, 697, 698, 699, 700, 701, 0,
1863 0, 0, 0, 77, 304, 305, 168, 171, 0, 0,
1864 156, 702, 703, 0, 0, 0, 0, 168, 0, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 77, 304,
1866 305, 0, 171, 0, 704, 0, 0, 0, 0, 0,
1867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 0, 0, 0, 0, 0, 0, 0, 77, 304, 305,
1869 0, 171, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 0, 0, 0, 0, 0, 168, 77, 304, 305,
1871 0, 171, 0, 0, 0, -192, -192, 0, 77, 304,
1872 305, 0, 171, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 77, 705, 706,
1878 0, 171, 11, 12, 13, 0, 14, 15, 16, 17,
1879 18, 19, 20, 21, 22, 23, 0, 24, 25, 26,
1880 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1881 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1882 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1883 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1884 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1885 3, 0, 0, 0, 0, 0, 0, 0, 131, 80,
1886 0, 0, 0, 83, 0, 0, 0, 0, 0, 0,
1887 0, 0, -398, -398, -398, 0, 4, 0, 0, 0,
1888 0, 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, 11, 12, 13, 0, 14, 15,
1892 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1893 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1894 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1895 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1896 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1897 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1898 75, 76, 3, 0, 0, 0, 0, 0, 0, 0,
1899 131, 80, 0, 0, 0, 83, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1905 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1906 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1907 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1908 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1909 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1910 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1911 73, 74, 75, 76, 3, 0, 0, 0, 0, 0,
1912 77, 1043, 131, 80, 0, 0, 0, 83, 0, 0,
1913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1914 4, 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, 11, 12,
1918 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1919 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1920 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1921 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1922 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1923 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1924 71, 72, 73, 74, 75, 76, -398, -398, -398, 0,
1925 0, 0, 0, 0, 131, 80, 0, 0, 0, 83,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1929 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1930 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1931 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1932 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1933 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1934 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1935 71, 72, 73, 74, 75, 76, 8, 9, 10, 0,
1936 0, 0, 0, 0, 131, 80, 0, 0, 0, 83,
1937 0, 0, 0, 0, 0, 11, 12, 13, 0, 14,
1938 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
1939 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1940 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1941 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1942 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1943 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1944 74, 75, 76, 0, 0, 0, 0, 0, 0, 0,
1945 0, 131, 80, 11, 12, 13, 83, 14, 15, 16,
1946 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1947 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1948 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1949 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1950 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1951 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1952 76, 0, 0, 0, 0, 0, 0, 0, 0, 131,
1956 static const short yycheck[] = { 0,
1957 473, 341, 3, 2, 0, 278, 7, 8, 9, 10,
1958 441, 117, 0, 343, 388, 595, 8, 380, 381, 630,
1959 295, 378, 379, 529, 630, 389, 630, 630, 668, 599,
1960 21, 227, 390, 8, 25, 297, 527, 137, 150, 151,
1961 152, 153, 154, 155, 992, 426, 27, 634, 891, 780,
1962 451, 386, 387, 0, 883, 653, 382, 383, 384, 385,
1963 0, 789, 258, 3, 792, 5, 795, 538, 19, 5,
1964 9, 10, 801, 216, 685, 634, 5, 634, 221, 685,
1965 223, 685, 685, 84, 555, 425, 5, 910, 84, 25,
1966 8, 28, 235, 18, 634, 24, 84, 1055, 1056, 24,
1967 26, 18, 28, 9, 10, 34, 25, 44, 634, 34,
1968 680, 24, 24, 21, 26, 18, 117, 25, 44, 24,
1969 23, 34, 34, 1071, 630, 124, 24, 900, 1076, 22,
1970 903, 471, 133, 26, 133, 28, 34, 84, 21, 630,
1971 6, 7, 25, 144, 84, 53, 54, 28, 149, 992,
1972 993, 44, 26, 982, 983, 795, 39, 149, 98, 5,
1973 34, 801, 1120, 44, 32, 33, 167, 754, 896, 109,
1974 110, 902, 86, 904, 149, 8, 24, 1125, 24, 685,
1975 581, 779, 769, 18, 782, 914, 34, 1010, 34, 903,
1976 452, 21, 193, 133, 685, 754, 187, 754, 671, 580,
1977 201, 193, 203, 399, 205, 478, 187, 208, 18, 201,
1978 769, 21, 769, 205, 754, 216, 208, 5, 193, 24,
1979 221, 1064, 223, 1066, 1053, 41, 201, 557, 754, 769,
1980 205, 149, 5, 208, 235, 236, 237, 25, 203, 579,
1981 56, 341, 41, 769, 1017, 237, 1019, 183, 184, 185,
1982 24, 5, 188, 189, 183, 184, 630, 56, 183, 184,
1983 24, 601, 237, 375, 376, 377, 630, 630, 24, 880,
1984 183, 184, 630, 630, 914, 193, 277, 216, 421, 280,
1985 281, 282, 221, 201, 223, 183, 184, 205, 561, 277,
1986 208, 24, 34, 294, 1022, 630, 235, 236, 18, 300,
1987 26, 576, 28, 1017, 630, 1019, 294, 18, 21, 754,
1988 216, 685, 24, 643, 27, 221, 149, 223, 44, 237,
1989 19, 685, 685, 322, 769, 425, 1169, 685, 685, 235,
1990 236, 16, 605, 179, 180, 183, 184, 183, 184, 812,
1991 21, 187, 922, 26, 345, 28, 27, 620, 918, 622,
1992 685, 16, 353, 21, 355, 87, 88, 25, 969, 685,
1993 193, 44, 16, 969, 476, 969, 969, 109, 110, 875,
1994 21, 471, 205, 5, 25, 208, 18, 16, 29, 21,
1995 345, 321, 873, 25, 18, 117, 118, 21, 353, 15,
1996 355, 25, 24, 25, 26, 183, 184, 185, 399, 131,
1997 188, 189, 34, 18, 237, 21, 21, 399, 23, 25,
1998 183, 184, 185, 21, 21, 188, 189, 25, 25, 22,
1999 421, 417, 695, 21, 399, 22, 427, 25, 429, 183,
2000 184, 185, 428, 24, 188, 189, 27, 22, 439, 1050,
2001 441, 429, 443, 34, 24, 785, 18, 27, 25, 21,
2002 451, 28, 451, 454, 34, 25, 26, 458, 28, 34,
2003 35, 36, 427, 969, 66, 67, 68, 69, 70, 71,
2004 72, 73, 74, 75, 44, 24, 21, 26, 969, 579,
2005 25, 399, 421, 21, 183, 184, 185, 25, 489, 188,
2006 189, 24, 432, 26, 32, 33, 870, 498, 499, 862,
2007 863, 601, 29, 860, 861, 107, 1117, 871, 21, 111,
2008 39, 113, 25, 115, 872, 421, 0, 40, 120, 3,
2009 183, 184, 185, 7, 489, 188, 189, 21, 130, 18,
2010 132, 25, 21, 868, 869, 55, 537, 538, 864, 865,
2011 866, 867, 538, 21, 545, 537, 93, 25, 22, 93,
2012 5, 552, 21, 19, 555, 556, 25, 545, 187, 555,
2013 34, 24, 537, 26, 24, 671, 399, 34, 22, 24,
2014 25, 26, 174, 538, 34, 25, 26, 21, 28, 34,
2015 581, 25, 581, 22, 696, 697, 698, 699, 700, 701,
2016 555, 556, 183, 184, 44, 969, 187, 21, 928, 18,
2017 84, 25, 21, 183, 184, 969, 969, 187, 883, 21,
2018 24, 969, 969, 25, 24, 22, 26, 21, 21, 537,
2019 93, 25, 25, 1096, 34, 626, 627, 18, 20, 630,
2020 21, 25, 26, 117, 969, 21, 19, 638, 639, 25,
2021 641, 916, 93, 969, 18, 49, 50, 21, 588, 133,
2022 21, 1082, 27, 0, 25, 656, 3, 658, 24, 261,
2023 144, 626, 627, 18, 11, 12, 667, 23, 26, 670,
2024 671, 672, 671, 24, 639, 26, 34, 676, 49, 50,
2025 25, 26, 18, 28, 685, 785, 288, 49, 50, 291,
2026 21, 24, 34, 26, 25, 20, 21, 299, 21, 44,
2027 302, 34, 25, 978, 21, 18, 812, 672, 25, 183,
2028 184, 185, 987, 24, 188, 189, 183, 184, 185, 179,
2029 180, 188, 189, 183, 184, 22, 826, 187, 183, 184,
2030 185, 21, 1007, 188, 189, 25, 21, 84, 21, 21,
2031 25, 18, 25, 25, 86, 857, 858, 859, 1023, 34,
2032 35, 36, 99, 100, 101, 102, 103, 104, 105, 106,
2033 1033, 108, 53, 54, 111, 21, 49, 50, 25, 25,
2034 117, 772, 21, 183, 184, 185, 25, 25, 188, 189,
2035 127, 128, 129, 21, 1059, 24, 133, 25, 21, 183,
2036 184, 185, 25, 277, 188, 189, 280, 281, 282, 9,
2037 49, 50, 149, 1078, 1144, 67, 68, 69, 21, 156,
2038 294, 812, 25, 812, 416, 18, 300, 18, 37, 38,
2039 932, 822, 42, 43, 426, 183, 184, 185, 18, 431,
2040 188, 189, 51, 52, 436, 21, 438, 777, 1178, 25,
2041 780, 183, 184, 18, 446, 21, 188, 189, 450, 25,
2042 183, 184, 185, 18, 21, 188, 189, 190, 25, 21,
2043 22, 37, 38, 335, 21, 19, 37, 38, 25, 216,
2044 37, 38, 32, 33, 23, 51, 52, 34, 35, 36,
2045 51, 52, 883, 18, 51, 52, 21, 359, 18, 11,
2046 891, 21, 364, 365, 366, 367, 368, 369, 370, 371,
2047 372, 373, 374, 18, 49, 50, 21, 254, 57, 58,
2048 59, 60, 61, 62, 63, 64, 65, 66, 24, 24,
2049 26, 21, 28, 395, 25, 25, 53, 54, 21, 11,
2050 277, 278, 25, 280, 281, 21, 937, 938, 44, 32,
2051 33, 47, 48, 89, 21, 429, 21, 294, 25, 19,
2052 25, 20, 21, 300, 21, 439, 303, 441, 25, 443,
2053 900, 21, 902, 903, 904, 25, 19, 451, 969, 21,
2054 454, 19, 21, 25, 458, 322, 25, 19, 580, 980,
2055 89, 982, 983, 24, 980, 26, 24, 28, 27, 990,
2056 1096, 992, 993, 25, 21, 21, 343, 599, 25, 25,
2057 21, 21, 604, 44, 25, 22, 47, 48, 1009, 72,
2058 73, 74, 75, 1014, 498, 499, 79, 80, 81, 82,
2059 83, 84, 85, 20, 21, 1026, 1014, 1026, 1029, 631,
2060 24, 633, 34, 35, 36, 51, 52, 53, 1026, 21,
2061 22, 32, 33, 21, 1144, 109, 110, 18, 21, 1050,
2062 1051, 1052, 1053, 22, 1055, 1056, 11, 1157, 25, 24,
2063 24, 545, 24, 1064, 27, 1066, 1067, 25, 24, 416,
2064 1071, 23, 1073, 1074, 20, 1076, 19, 1017, 1178, 1019,
2065 20, 1082, 429, 19, 23, 5, 21, 25, 22, 436,
2066 27, 438, 24, 440, 441, 1096, 443, 581, 8, 9,
2067 10, 448, 24, 20, 451, 707, 25, 20, 24, 27,
2068 25, 458, 72, 18, 25, 27, 1117, 1118, 1119, 1120,
2069 21, 25, 25, 470, 1125, 25, 473, 29, 475, 24,
2070 25, 478, 39, 25, 29, 30, 31, 32, 33, 34,
2071 612, 40, 89, 18, 1145, 89, 55, 184, 89, 137,
2072 24, 46, 47, 48, 25, 25, 89, 1145, 89, 89,
2073 762, 763, 150, 151, 152, 153, 154, 155, 1169, 157,
2074 158, 25, 656, 25, 658, 70, 18, 25, 21, 18,
2075 187, 40, 18, 667, 21, 23, 670, 671, 660, 182,
2076 18, 24, 794, 18, 189, 89, 24, 21, 545, 22,
2077 22, 29, 30, 31, 32, 33, 34, 22, 21, 23,
2078 20, 558, 20, 89, 561, 27, 25, 112, 46, 47,
2079 48, 25, 40, 8, 27, 191, 25, 574, 575, 18,
2080 20, 27, 20, 25, 581, 0, 0, 84, 300, 149,
2081 1067, 891, 70, 57, 58, 59, 60, 61, 62, 63,
2082 64, 65, 66, 600, 1169, 972, 1138, 659, 605, 1041,
2083 981, 1117, 1009, 841, 443, 767, 561, 1145, 615, 616,
2084 658, 656, 812, 620, 124, 622, 322, 670, 8, 9,
2085 10, 10, 236, 193, 112, 489, 1101, 399, 183, 184,
2086 185, 201, 187, 969, -1, 205, 685, 899, 208, -1,
2087 647, -1, -1, -1, -1, -1, 216, 217, 655, -1,
2088 657, 221, -1, 223, 661, 662, 918, 789, -1, 666,
2089 792, -1, -1, 670, 671, 235, 236, 237, 812, 676,
2090 -1, -1, -1, -1, -1, -1, -1, -1, 822, -1,
2091 -1, -1, -1, -1, -1, -1, -1, -1, 695, -1,
2092 -1, -1, -1, 341, -1, 183, 184, 185, -1, 187,
2093 -1, -1, 147, -1, 149, -1, -1, -1, 840, 841,
2094 -1, -1, -1, -1, 846, 847, 848, 849, 850, 851,
2095 852, 853, 854, 855, 856, -1, -1, 375, 376, 377,
2096 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
2097 388, 389, 390, -1, -1, -1, -1, -1, 193, -1,
2098 1012, -1, -1, -1, -1, -1, 201, -1, -1, 149,
2099 205, -1, -1, 208, 896, -1, -1, -1, 775, -1,
2100 -1, 216, -1, -1, -1, -1, -1, 425, -1, -1,
2101 -1, -1, -1, 8, 9, 10, -1, -1, 358, -1,
2102 -1, -1, 237, 937, 938, -1, -1, -1, -1, -1,
2103 -1, -1, -1, 193, 811, 812, -1, 814, -1, -1,
2104 -1, 201, -1, -1, -1, 205, -1, -1, 208, -1,
2105 -1, -1, -1, 471, 1086, -1, 216, -1, 476, 399,
2106 -1, 221, -1, 223, -1, -1, -1, -1, -1, -1,
2107 -1, -1, -1, -1, -1, 235, 236, 237, -1, -1,
2108 -1, 421, -1, -1, -1, -1, -1, -1, 303, -1,
2109 -1, -1, -1, -1, -1, -1, 311, 312, 313, 314,
2110 1014, -1, 8, 9, 10, -1, -1, -1, -1, 527,
2111 -1, 529, 1026, 531, 532, 1029, -1, 332, -1, -1,
2112 1022, -1, 899, -1, -1, -1, -1, -1, 343, 906,
2113 -1, -1, -1, -1, -1, -1, -1, 1051, 1052, -1,
2114 -1, -1, -1, -1, 1176, 360, -1, -1, -1, -1,
2115 -1, -1, -1, -1, 149, -1, -1, -1, -1, 1073,
2116 1074, 579, -1, -1, -1, -1, -1, -1, 1082, -1,
2117 -1, -1, -1, 8, 9, 10, -1, -1, -1, -1,
2118 -1, -1, 1096, 601, 399, -1, -1, -1, -1, -1,
2119 -1, -1, 407, -1, -1, -1, -1, 537, 193, -1,
2120 -1, -1, -1, -1, 1118, 1119, 201, -1, -1, -1,
2121 205, -1, 630, 208, -1, -1, -1, -1, -1, -1,
2122 -1, 216, -1, -1, -1, -1, 221, -1, 223, -1,
2123 -1, 1145, -1, -1, 1011, -1, -1, 1014, -1, 399,
2124 235, 236, 237, 149, -1, -1, -1, -1, -1, 1026,
2125 -1, 1028, -1, -1, -1, -1, 1033, -1, -1, 1036,
2126 1037, 421, -1, -1, -1, -1, -1, 685, -1, -1,
2127 -1, 8, 9, 10, -1, -1, -1, -1, 696, 697,
2128 698, 699, 700, 701, 702, 703, -1, 193, -1, -1,
2129 -1, -1, -1, -1, -1, 201, -1, -1, -1, 205,
2130 1077, -1, 208, -1, -1, 1082, -1, 1084, 1085, -1,
2131 216, -1, -1, 528, 149, 221, -1, 223, -1, 1096,
2132 -1, -1, 537, -1, -1, 8, 9, 10, -1, 235,
2133 236, 237, -1, -1, -1, -1, -1, -1, -1, -1,
2134 -1, -1, -1, -1, 1121, -1, -1, -1, -1, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1, 193, -1,
2136 -1, -1, -1, -1, 1141, 1142, 201, 785, 1145, -1,
2137 205, 1148, -1, 208, -1, -1, -1, 537, -1, -1,
2138 595, 216, 19, 20, -1, -1, 221, 24, 223, -1,
2139 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2140 235, 236, 237, -1, 399, 620, -1, 622, 826, 46,
2141 47, 48, 149, 628, -1, -1, -1, 632, -1, -1,
2142 -1, -1, -1, -1, -1, -1, 421, -1, -1, -1,
2143 -1, -1, -1, 70, -1, -1, -1, -1, -1, 857,
2144 858, 859, 860, 861, 862, 863, 864, 865, 866, 867,
2145 868, 869, 870, 871, 872, 873, 193, 875, -1, -1,
2146 -1, -1, -1, -1, 201, -1, 149, -1, 205, 684,
2147 -1, 208, -1, -1, -1, 112, 18, -1, -1, 216,
2148 695, -1, 24, -1, 221, -1, 223, 29, 30, 31,
2149 32, 33, 34, 399, -1, -1, -1, -1, 235, 236,
2150 237, -1, -1, -1, 46, 47, 48, -1, -1, -1,
2151 193, -1, -1, -1, 932, 421, -1, -1, 201, -1,
2152 -1, -1, 205, -1, -1, 208, -1, -1, 70, -1,
2153 -1, -1, -1, 216, -1, -1, -1, -1, 221, -1,
2154 223, -1, 537, -1, -1, -1, 183, 184, 185, -1,
2155 187, 969, 235, 236, 237, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, 399, -1, 19, -1, -1, -1,
2157 112, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2158 33, 34, -1, -1, -1, -1, 421, -1, -1, -1,
2159 -1, -1, 1, 46, 47, 48, -1, 6, 7, 8,
2160 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2161 19, 20, -1, -1, -1, 24, -1, 70, -1, -1,
2162 29, 30, 31, 32, 33, 34, -1, 842, -1, -1,
2163 -1, 537, -1, 42, 43, -1, -1, 46, 47, 48,
2164 -1, 183, 184, 185, -1, 187, -1, -1, -1, -1,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
2166 -1, 70, 399, -1, -1, -1, -1, -1, -1, -1,
2167 -1, -1, -1, -1, -1, -1, -1, 0, 1, -1,
2168 -1, -1, -1, -1, 421, 94, 95, 96, 97, 98,
2169 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2170 -1, 24, 537, 112, -1, -1, -1, 922, -1, -1,
2171 -1, 34, -1, -1, -1, -1, 399, -1, -1, -1,
2172 -1, -1, 45, -1, -1, -1, 1144, -1, -1, -1,
2173 183, 184, 185, -1, 187, -1, -1, -1, 421, 1157,
2174 -1, -1, -1, -1, 67, 68, 69, -1, 71, -1,
2175 -1, -1, 967, 76, 77, 78, -1, -1, -1, -1,
2176 1178, -1, -1, -1, -1, -1, -1, 90, 91, 92,
2177 -1, -1, -1, -1, 183, 184, 185, -1, 187, 188,
2178 189, -1, -1, -1, -1, -1, 109, 110, 111, -1,
2179 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2180 537, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2181 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2182 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2183 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2184 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2185 173, 174, 175, 176, 537, 0, 1, -1, -1, -1,
2186 183, 184, 185, 186, -1, 188, 189, 190, -1, -1,
2187 -1, -1, -1, 119, 120, 121, 122, -1, 124, 24,
2188 -1, -1, -1, 129, 130, -1, -1, 133, 134, 34,
2189 136, 137, 138, 139, -1, -1, -1, -1, -1, -1,
2190 45, -1, -1, -1, -1, 151, 152, -1, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192 -1, -1, 67, 68, 69, -1, 71, -1, -1, -1,
2193 176, 76, 77, 78, -1, -1, -1, -1, -1, -1,
2194 186, -1, -1, -1, -1, 90, 91, 92, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2196 -1, -1, -1, -1, 109, 110, 111, -1, 113, 114,
2197 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
2198 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2199 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2200 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2201 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2202 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2203 175, 176, -1, -1, -1, -1, -1, -1, 183, 184,
2204 185, 186, 1, 188, 189, 190, -1, 6, 7, 8,
2205 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2206 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2207 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2208 -1, -1, -1, 42, 43, -1, 45, 46, 47, 48,
2209 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2211 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
2212 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
2214 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2215 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2216 119, 120, 121, 122, -1, 124, 125, 126, 127, 128,
2217 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2218 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2219 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2220 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2221 169, 170, 171, 172, 173, 174, 175, 176, -1, -1,
2222 -1, -1, -1, -1, 183, 184, 185, 186, 187, 188,
2223 189, 190, 1, -1, -1, -1, -1, 6, 7, 8,
2224 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2225 19, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2226 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2227 -1, -1, -1, 42, 43, -1, -1, 46, 47, 48,
2228 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2229 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2230 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
2233 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2234 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2235 119, 120, 121, 122, -1, 124, 125, 126, 127, 128,
2236 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2237 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2238 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2239 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2240 169, 170, 171, 172, 173, 174, 175, 176, -1, -1,
2241 -1, -1, -1, -1, 183, 184, 185, 186, 187, 188,
2242 189, 190, 1, -1, -1, -1, -1, 6, 7, 8,
2243 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2244 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2245 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2246 -1, -1, -1, 42, 43, -1, -1, 46, 47, 48,
2247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2248 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2249 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2251 -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
2252 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2253 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
2254 119, 120, 121, 122, -1, 124, 125, 126, 127, 128,
2255 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2256 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2257 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2258 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2259 169, 170, 171, 172, 173, 174, 175, 176, -1, -1,
2260 -1, -1, -1, -1, 183, 184, 185, 186, 187, 188,
2261 189, 190, 1, -1, -1, -1, -1, 6, 7, 8,
2262 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2263 19, 20, -1, -1, -1, 24, 25, -1, -1, -1,
2264 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2265 -1, -1, -1, 42, 43, 1, -1, 46, 47, 48,
2266 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2267 16, 17, 18, 19, -1, -1, -1, -1, 24, -1,
2268 -1, 70, -1, 29, 30, 31, 32, 33, 34, -1,
2269 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
2270 46, 47, 48, -1, 93, 94, 95, 96, 97, 98,
2271 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2272 -1, -1, -1, 112, 70, -1, -1, -1, -1, -1,
2273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
2275 96, 97, 98, 99, -1, -1, -1, -1, -1, -1,
2276 -1, -1, 108, -1, -1, -1, 112, -1, -1, -1,
2277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, -1, -1, -1, 183, 184, 185, -1, 187, 188,
2280 189, -1, -1, 1, -1, -1, -1, -1, 6, 7,
2281 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2282 18, 19, -1, -1, -1, -1, 24, -1, -1, -1,
2283 -1, 29, 30, 31, 32, 33, 34, 183, 184, 185,
2284 -1, 187, 188, 189, 42, 43, 1, -1, 46, 47,
2285 48, 6, 7, 8, -1, -1, 11, 12, 13, 14,
2286 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2287 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2288 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2289 -1, 46, 47, 48, -1, 93, 94, 95, 96, 97,
2290 98, 99, -1, -1, -1, -1, -1, -1, -1, -1,
2291 108, -1, -1, -1, 112, 70, -1, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
2294 95, 96, 97, 98, 99, -1, -1, -1, -1, -1,
2295 -1, -1, -1, 108, -1, -1, -1, 112, -1, -1,
2296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2298 -1, -1, -1, -1, -1, 183, 184, 185, -1, 187,
2299 188, 189, -1, -1, 1, -1, -1, -1, -1, 6,
2300 7, 8, -1, -1, 11, 12, 13, 14, 15, 16,
2301 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2302 -1, -1, 29, 30, 31, 32, 33, 34, 183, 184,
2303 185, -1, 187, 188, 189, 42, 43, 1, -1, 46,
2304 47, 48, 6, 7, 8, -1, 10, 11, 12, 13,
2305 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2306 24, -1, -1, 70, -1, 29, 30, 31, 32, 33,
2307 34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
2308 -1, -1, 46, 47, 48, -1, -1, 94, 95, 96,
2309 97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
2310 -1, 108, -1, -1, -1, 112, 70, -1, -1, -1,
2311 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2313 94, 95, 96, 97, 98, 99, -1, -1, -1, -1,
2314 -1, -1, -1, -1, 108, -1, -1, -1, 112, -1,
2315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2317 -1, -1, -1, -1, -1, -1, 183, 184, 185, -1,
2318 187, 188, 189, -1, -1, -1, -1, -1, -1, -1,
2319 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2320 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2321 -1, -1, -1, 29, 30, 31, 32, 33, 34, 183,
2322 184, 185, -1, 187, 188, 189, 42, 43, -1, 45,
2323 46, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2325 -1, -1, -1, -1, 70, 71, -1, -1, -1, -1,
2326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2327 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
2328 96, 97, 98, 99, -1, -1, -1, -1, -1, -1,
2329 -1, -1, 108, 109, 110, 111, 112, 113, 114, 115,
2330 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
2331 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2332 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2333 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2334 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2335 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2336 176, -1, -1, -1, -1, -1, -1, 183, 184, 185,
2337 186, 187, 188, 189, 190, 6, 7, 8, -1, 10,
2338 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2339 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2340 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2341 -1, 42, 43, -1, 45, 46, 47, 48, -1, -1,
2342 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2343 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2344 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2346 -1, -1, -1, 94, 95, 96, 97, 98, 99, -1,
2347 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
2348 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2349 121, 122, -1, 124, 125, 126, 127, 128, 129, 130,
2350 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2351 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2352 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2353 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2354 171, 172, 173, 174, 175, 176, -1, -1, -1, -1,
2355 -1, -1, 183, 184, 185, 186, 187, 188, 189, 190,
2356 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2357 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2358 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2359 -1, -1, -1, -1, -1, -1, 42, 43, -1, 45,
2360 46, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, -1, -1, 70, 71, -1, -1, -1, -1,
2363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2364 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
2365 96, 97, 98, 99, -1, -1, -1, -1, -1, -1,
2366 -1, -1, 108, 109, 110, 111, 112, 113, 114, 115,
2367 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
2368 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2369 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2370 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2371 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2372 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2373 176, -1, -1, -1, -1, -1, -1, 183, 184, 185,
2374 186, 187, 188, 189, 190, 6, 7, 8, -1, 10,
2375 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2376 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2377 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2378 -1, -1, -1, -1, -1, 46, 47, 48, 6, 7,
2379 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2380 18, 19, 20, -1, -1, -1, 24, -1, -1, 70,
2381 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2383 48, -1, -1, 94, 95, 96, 97, 98, 99, -1,
2384 -1, -1, -1, -1, -1, -1, -1, 108, -1, -1,
2385 -1, 112, 70, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2387 -1, -1, -1, -1, -1, -1, 94, 95, 96, 97,
2388 98, 99, -1, -1, -1, -1, -1, -1, -1, -1,
2389 108, 6, 7, 8, 112, 10, 11, 12, 13, 14,
2390 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2391 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2392 -1, -1, 183, 184, 185, -1, 187, 188, 189, -1,
2393 -1, 46, 47, 48, 6, 7, 8, -1, 10, 11,
2394 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2395 -1, -1, 24, -1, -1, 70, -1, 29, 30, 31,
2396 32, 33, 34, -1, -1, 183, 184, 185, -1, 187,
2397 188, 189, -1, -1, 46, 47, 48, -1, -1, 94,
2398 95, 96, 97, 98, 99, -1, -1, -1, -1, -1,
2399 -1, -1, -1, 108, -1, -1, -1, 112, 70, -1,
2400 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2402 -1, -1, 94, 95, 96, 97, 98, 99, -1, -1,
2403 -1, -1, -1, -1, -1, -1, 108, 6, 7, 8,
2404 112, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2405 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2406 29, 30, 31, 32, 33, 34, -1, -1, 183, 184,
2407 185, -1, 187, 188, 189, -1, -1, 46, 47, 48,
2408 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2409 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2410 -1, 70, -1, 29, 30, 31, 32, 33, 34, -1,
2411 -1, 183, 184, 185, -1, 187, 188, 189, -1, -1,
2412 46, 47, 48, -1, -1, 94, 95, 96, 97, 98,
2413 99, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2414 -1, -1, -1, 112, 70, -1, -1, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2416 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
2417 96, 97, 98, 99, -1, -1, -1, -1, -1, -1,
2418 -1, -1, 108, 6, 7, 8, 112, 10, 11, 12,
2419 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2420 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2421 33, 34, -1, -1, 183, 184, 185, -1, 187, 188,
2422 189, -1, -1, 46, 47, 48, 6, 7, 8, -1,
2423 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2424 -1, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2425 30, 31, 32, 33, 34, -1, -1, 183, 184, 185,
2426 -1, 187, 188, 189, -1, -1, 46, 47, 48, -1,
2427 -1, 94, 95, 96, 97, 98, 99, -1, -1, -1,
2428 -1, -1, -1, -1, -1, 108, -1, -1, -1, 112,
2429 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2431 -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
2432 19, -1, -1, -1, -1, 24, -1, -1, 108, -1,
2433 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
2434 -1, -1, -1, -1, -1, -1, 45, -1, -1, -1,
2435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2436 183, 184, 185, -1, 187, 188, 189, -1, -1, -1,
2437 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2438 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2439 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2440 -1, -1, -1, 183, 184, 185, -1, 187, 188, 189,
2441 109, 110, 111, -1, 113, 114, 115, 116, 117, 118,
2442 119, 120, 121, 122, -1, 124, 125, 126, 127, 128,
2443 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2444 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2445 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2446 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2447 169, 170, 171, 172, 173, 174, 175, 176, -1, -1,
2448 -1, -1, -1, -1, -1, -1, 185, 186, 109, 110,
2449 111, 190, 113, 114, 115, 116, 117, 118, 119, 120,
2450 121, 122, -1, 124, 125, 126, 127, 128, 129, 130,
2451 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2452 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2453 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2454 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2455 171, 172, 173, 174, 175, 176, 22, -1, -1, -1,
2456 -1, -1, -1, -1, 185, 186, -1, -1, -1, 190,
2457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1,
2461 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2462 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2464 -1, -1, -1, 109, 110, 111, -1, 113, 114, 115,
2465 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
2466 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2467 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2468 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2469 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2470 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2471 176, -1, -1, -1, -1, -1, 19, -1, -1, -1,
2472 186, 24, -1, -1, 190, -1, 29, 30, 31, 32,
2473 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2474 -1, -1, -1, 46, 47, 48, -1, -1, -1, -1,
2475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2476 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
2477 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2480 24, -1, -1, -1, -1, -1, -1, -1, -1, 112,
2481 34, 24, -1, -1, 27, -1, 29, 30, 31, 32,
2482 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2483 -1, -1, -1, 46, 47, 48, -1, -1, -1, -1,
2484 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2485 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
2486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2488 183, 184, 185, -1, 187, 109, 110, 111, -1, 113,
2489 114, 115, 116, 117, 118, 119, 120, 121, 122, 112,
2490 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2491 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2492 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2493 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2494 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2495 174, 175, 176, -1, -1, -1, -1, -1, -1, 183,
2496 184, 185, 186, -1, 188, 189, 190, -1, -1, -1,
2497 183, 184, 185, 24, 187, -1, 27, -1, 29, 30,
2498 31, 32, 33, 34, 24, 25, -1, -1, -1, 29,
2499 30, 31, 32, 33, 34, 46, 47, 48, -1, -1,
2500 -1, -1, -1, -1, 24, 25, 46, 47, 48, 29,
2501 30, 31, 32, 33, 34, -1, -1, -1, -1, 70,
2502 -1, -1, -1, -1, -1, -1, 46, 47, 48, 24,
2503 70, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2505 70, 46, 47, 48, -1, -1, -1, -1, 24, -1,
2506 -1, 112, -1, 29, 30, 31, 32, 33, 34, -1,
2507 -1, -1, 112, -1, -1, 70, -1, -1, 24, -1,
2508 46, 47, 48, 29, 30, 31, 32, 33, 34, 24,
2509 -1, -1, 112, -1, 29, 30, 31, 32, 33, 34,
2510 46, 47, 48, -1, 70, -1, -1, -1, -1, -1,
2511 -1, 46, 47, 48, -1, -1, -1, 112, -1, -1,
2512 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2513 -1, -1, 183, 184, 185, 70, 187, -1, -1, -1,
2514 -1, -1, -1, 183, 184, 185, 112, 187, 24, -1,
2515 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2516 -1, -1, -1, 183, 184, 185, 112, 187, -1, -1,
2517 46, 47, 48, -1, -1, -1, -1, 112, -1, -1,
2518 -1, -1, -1, -1, -1, -1, -1, -1, 183, 184,
2519 185, -1, 187, -1, 70, -1, -1, -1, -1, -1,
2520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2521 -1, -1, -1, -1, -1, -1, -1, 183, 184, 185,
2522 -1, 187, -1, -1, -1, -1, -1, -1, -1, -1,
2523 -1, -1, -1, -1, -1, -1, 112, 183, 184, 185,
2524 -1, 187, -1, -1, -1, 42, 43, -1, 183, 184,
2525 185, -1, 187, -1, -1, -1, -1, -1, -1, -1,
2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, -1, -1, -1, -1, -1, 183, 184, 185,
2531 -1, 187, 109, 110, 111, -1, 113, 114, 115, 116,
2532 117, 118, 119, 120, 121, 122, -1, 124, 125, 126,
2533 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2534 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2535 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2536 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2537 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2538 45, -1, -1, -1, -1, -1, -1, -1, 185, 186,
2539 -1, -1, -1, 190, -1, -1, -1, -1, -1, -1,
2540 -1, -1, 67, 68, 69, -1, 71, -1, -1, -1,
2541 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2542 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2544 -1, -1, -1, -1, 109, 110, 111, -1, 113, 114,
2545 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
2546 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2547 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2548 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2549 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2550 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2551 175, 176, 45, -1, -1, -1, -1, -1, -1, -1,
2552 185, 186, -1, -1, -1, 190, -1, -1, -1, -1,
2553 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
2554 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2556 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2557 -1, -1, -1, -1, -1, -1, 109, 110, 111, -1,
2558 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2559 -1, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2560 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2561 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2562 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2563 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2564 173, 174, 175, 176, 45, -1, -1, -1, -1, -1,
2565 183, 184, 185, 186, -1, -1, -1, 190, -1, -1,
2566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2567 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2568 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2569 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2570 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
2571 111, -1, 113, 114, 115, 116, 117, 118, 119, 120,
2572 121, 122, -1, 124, 125, 126, 127, 128, 129, 130,
2573 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2574 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2575 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2576 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2577 171, 172, 173, 174, 175, 176, 67, 68, 69, -1,
2578 -1, -1, -1, -1, 185, 186, -1, -1, -1, 190,
2579 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2581 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
2582 111, -1, 113, 114, 115, 116, 117, 118, 119, 120,
2583 121, 122, -1, 124, 125, 126, 127, 128, 129, 130,
2584 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2585 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2586 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2587 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2588 171, 172, 173, 174, 175, 176, 90, 91, 92, -1,
2589 -1, -1, -1, -1, 185, 186, -1, -1, -1, 190,
2590 -1, -1, -1, -1, -1, 109, 110, 111, -1, 113,
2591 114, 115, 116, 117, 118, 119, 120, 121, 122, -1,
2592 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2593 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2594 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2595 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2596 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2597 174, 175, 176, -1, -1, -1, -1, -1, -1, -1,
2598 -1, 185, 186, 109, 110, 111, 190, 113, 114, 115,
2599 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
2600 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2601 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2602 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2603 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2604 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2605 176, -1, -1, -1, -1, -1, -1, -1, -1, 185,
2606 186, -1, -1, -1, 190
2608 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2609 #line 3 "/usr/lib/bison.simple"
2610 /* This file comes from bison-1.28. */
2612 /* Skeleton output parser for bison,
2613 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2615 This program is free software; you can redistribute it and/or modify
2616 it under the terms of the GNU General Public License as published by
2617 the Free Software Foundation; either version 2, or (at your option)
2620 This program is distributed in the hope that it will be useful,
2621 but WITHOUT ANY WARRANTY; without even the implied warranty of
2622 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2623 GNU General Public License for more details.
2625 You should have received a copy of the GNU General Public License
2626 along with this program; if not, write to the Free Software
2627 Foundation, Inc., 59 Temple Place - Suite 330,
2628 Boston, MA 02111-1307, USA. */
2630 /* As a special exception, when this file is copied by Bison into a
2631 Bison output file, you may use that output file without restriction.
2632 This special exception was added by the Free Software Foundation
2633 in version 1.24 of Bison. */
2635 /* This is the parser code that is written into each bison parser
2636 when the %semantic_parser declaration is not specified in the grammar.
2637 It was written by Richard Stallman by simplifying the hairy parser
2638 used when %semantic_parser is specified. */
2640 #ifndef YYSTACK_USE_ALLOCA
2642 #define YYSTACK_USE_ALLOCA
2643 #else /* alloca not defined */
2645 #define YYSTACK_USE_ALLOCA
2646 #define alloca __builtin_alloca
2647 #else /* not GNU C. */
2648 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
2649 #define YYSTACK_USE_ALLOCA
2651 #else /* not sparc */
2652 /* We think this test detects Watcom and Microsoft C. */
2653 /* This used to test MSDOS, but that is a bad idea
2654 since that symbol is in the user namespace. */
2655 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
2656 #if 0 /* No need for malloc.h, which pollutes the namespace;
2657 instead, just don't use alloca. */
2660 #else /* not MSDOS, or __TURBOC__ */
2662 /* I don't know what this was needed for, but it pollutes the namespace.
2663 So I turned it off. rms, 2 May 1997. */
2664 /* #include <malloc.h> */
2666 #define YYSTACK_USE_ALLOCA
2667 #else /* not MSDOS, or __TURBOC__, or _AIX */
2669 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
2670 and on HPUX 10. Eventually we can turn this on. */
2671 #define YYSTACK_USE_ALLOCA
2672 #define alloca __builtin_alloca
2675 #endif /* not _AIX */
2676 #endif /* not MSDOS, or __TURBOC__ */
2677 #endif /* not sparc */
2678 #endif /* not GNU C */
2679 #endif /* alloca not defined */
2680 #endif /* YYSTACK_USE_ALLOCA not defined */
2682 #ifdef YYSTACK_USE_ALLOCA
2683 #define YYSTACK_ALLOC alloca
2685 #define YYSTACK_ALLOC malloc
2688 /* Note: there must be only one dollar sign in this file.
2689 It is replaced by the list of actions, each action
2690 as one case of the switch. */
2692 #define yyerrok (yyerrstatus = 0)
2693 #define yyclearin (yychar = YYEMPTY)
2696 #define YYACCEPT goto yyacceptlab
2697 #define YYABORT goto yyabortlab
2698 #define YYERROR goto yyerrlab1
2699 /* Like YYERROR except do call yyerror.
2700 This remains here temporarily to ease the
2701 transition to the new meaning of YYERROR, for GCC.
2702 Once GCC version 2 has supplanted version 1, this can go. */
2703 #define YYFAIL goto yyerrlab
2704 #define YYRECOVERING() (!!yyerrstatus)
2705 #define YYBACKUP(token, value) \
2707 if (yychar == YYEMPTY && yylen == 1) \
2708 { yychar = (token), yylval = (value); \
2709 yychar1 = YYTRANSLATE (yychar); \
2714 { yyerror ("syntax error: cannot back up"); YYERROR; } \
2718 #define YYERRCODE 256
2721 #define YYLEX yylex()
2727 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
2729 #define YYLEX yylex(&yylval, &yylloc)
2731 #else /* not YYLSP_NEEDED */
2733 #define YYLEX yylex(&yylval, YYLEX_PARAM)
2735 #define YYLEX yylex(&yylval)
2737 #endif /* not YYLSP_NEEDED */
2740 /* If nonreentrant, generate the variables here */
2744 int yychar; /* the lookahead symbol */
2745 YYSTYPE yylval; /* the semantic value of the */
2746 /* lookahead symbol */
2749 YYLTYPE yylloc; /* location data for the lookahead */
2753 int yynerrs; /* number of parse errors so far */
2754 #endif /* not YYPURE */
2757 int yydebug; /* nonzero means print parse trace */
2758 /* Since this is uninitialized, it does not stop multiple parsers
2762 /* YYINITDEPTH indicates the initial size of the parser's stacks */
2765 #define YYINITDEPTH 200
2768 /* YYMAXDEPTH is the maximum size the stacks can grow to
2769 (effective only if the built-in stack extension method is used). */
2776 #define YYMAXDEPTH 10000
2779 /* Define __yy_memcpy. Note that the size argument
2780 should be passed with type unsigned int, because that is what the non-GCC
2781 definitions require. With GCC, __builtin_memcpy takes an arg
2782 of type size_t, but it can handle unsigned int. */
2784 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2785 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2786 #else /* not GNU C or C++ */
2789 /* This is the most reliable way to avoid incompatibilities
2790 in available built-in functions on various systems. */
2792 __yy_memcpy (to, from, count)
2797 register char *f = from;
2798 register char *t = to;
2799 register int i = count;
2805 #else /* __cplusplus */
2807 /* This is the most reliable way to avoid incompatibilities
2808 in available built-in functions on various systems. */
2810 __yy_memcpy (char *to, char *from, unsigned int count)
2812 register char *t = to;
2813 register char *f = from;
2814 register int i = count;
2823 #line 217 "/usr/lib/bison.simple"
2825 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
2826 into yyparse. The argument should have type void *.
2827 It should actually point to an object.
2828 Grammar actions can access the variable by casting it
2829 to the proper pointer type. */
2831 #ifdef YYPARSE_PARAM
2833 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2834 #define YYPARSE_PARAM_DECL
2835 #else /* not __cplusplus */
2836 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
2837 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2838 #endif /* not __cplusplus */
2839 #else /* not YYPARSE_PARAM */
2840 #define YYPARSE_PARAM_ARG
2841 #define YYPARSE_PARAM_DECL
2842 #endif /* not YYPARSE_PARAM */
2844 /* Prevent warning if -Wstrict-prototypes. */
2846 #ifdef YYPARSE_PARAM
2847 int yyparse (void *);
2854 yyparse(YYPARSE_PARAM_ARG)
2857 register int yystate;
2859 register short *yyssp;
2860 register YYSTYPE *yyvsp;
2861 int yyerrstatus; /* number of tokens to shift before error messages enabled */
2862 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
2864 short yyssa[YYINITDEPTH]; /* the state stack */
2865 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2867 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2868 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2871 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2872 YYLTYPE *yyls = yylsa;
2875 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2877 #define YYPOPSTACK (yyvsp--, yyssp--)
2880 int yystacksize = YYINITDEPTH;
2881 int yyfree_stacks = 0;
2892 YYSTYPE yyval; /* the variable used to return */
2893 /* semantic values from the action */
2900 fprintf(stderr, "Starting parse\n");
2906 yychar = YYEMPTY; /* Cause a token to be read. */
2908 /* Initialize stack pointers.
2909 Waste one element of value and location stack
2910 so that they stay on the same level as the state stack.
2911 The wasted elements are never initialized. */
2919 /* Push a new state, which is found in yystate . */
2920 /* In all cases, when you get here, the value and location stacks
2921 have just been pushed. so pushing a state here evens the stacks. */
2926 if (yyssp >= yyss + yystacksize - 1)
2928 /* Give user a chance to reallocate the stack */
2929 /* Use copies of these so that the &'s don't force the real ones into memory. */
2930 YYSTYPE *yyvs1 = yyvs;
2931 short *yyss1 = yyss;
2933 YYLTYPE *yyls1 = yyls;
2936 /* Get the current used size of the three stacks, in elements. */
2937 int size = yyssp - yyss + 1;
2940 /* Each stack pointer address is followed by the size of
2941 the data in use in that stack, in bytes. */
2943 /* This used to be a conditional around just the two extra args,
2944 but that might be undefined if yyoverflow is a macro. */
2945 yyoverflow("parser stack overflow",
2946 &yyss1, size * sizeof (*yyssp),
2947 &yyvs1, size * sizeof (*yyvsp),
2948 &yyls1, size * sizeof (*yylsp),
2951 yyoverflow("parser stack overflow",
2952 &yyss1, size * sizeof (*yyssp),
2953 &yyvs1, size * sizeof (*yyvsp),
2957 yyss = yyss1; yyvs = yyvs1;
2961 #else /* no yyoverflow */
2962 /* Extend the stack our own way. */
2963 if (yystacksize >= YYMAXDEPTH)
2965 yyerror("parser stack overflow");
2977 if (yystacksize > YYMAXDEPTH)
2978 yystacksize = YYMAXDEPTH;
2979 #ifndef YYSTACK_USE_ALLOCA
2982 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
2983 __yy_memcpy ((char *)yyss, (char *)yyss1,
2984 size * (unsigned int) sizeof (*yyssp));
2985 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
2986 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
2987 size * (unsigned int) sizeof (*yyvsp));
2989 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
2990 __yy_memcpy ((char *)yyls, (char *)yyls1,
2991 size * (unsigned int) sizeof (*yylsp));
2993 #endif /* no yyoverflow */
2995 yyssp = yyss + size - 1;
2996 yyvsp = yyvs + size - 1;
2998 yylsp = yyls + size - 1;
3003 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3006 if (yyssp >= yyss + yystacksize - 1)
3012 fprintf(stderr, "Entering state %d\n", yystate);
3018 /* Do appropriate processing given the current state. */
3019 /* Read a lookahead token if we need one and don't already have one. */
3022 /* First try to decide what to do without reference to lookahead token. */
3024 yyn = yypact[yystate];
3028 /* Not known => get a lookahead token if don't already have one. */
3030 /* yychar is either YYEMPTY or YYEOF
3031 or a valid token in external form. */
3033 if (yychar == YYEMPTY)
3037 fprintf(stderr, "Reading a token: ");
3042 /* Convert token to internal form (in yychar1) for indexing tables with */
3044 if (yychar <= 0) /* This means end of input. */
3047 yychar = YYEOF; /* Don't call YYLEX any more */
3051 fprintf(stderr, "Now at end of input.\n");
3056 yychar1 = YYTRANSLATE(yychar);
3061 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3062 /* Give the individual parser a way to print the precise meaning
3063 of a token, for further debugging info. */
3065 YYPRINT (stderr, yychar, yylval);
3067 fprintf (stderr, ")\n");
3073 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3078 /* yyn is what to do for this token type in this state.
3079 Negative => reduce, -yyn is rule number.
3080 Positive => shift, yyn is new state.
3081 New state is final state => don't bother to shift,
3082 just return success.
3083 0, or most negative number => error. */
3098 /* Shift the lookahead token. */
3102 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3105 /* Discard the token being shifted unless it is eof. */
3106 if (yychar != YYEOF)
3114 /* count tokens shifted since error; after three, turn off error status. */
3115 if (yyerrstatus) yyerrstatus--;
3120 /* Do the default action for the current state. */
3123 yyn = yydefact[yystate];
3127 /* Do a reduction. yyn is the number of a rule to reduce with. */
3131 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3138 fprintf (stderr, "Reducing via rule %d (line %d), ",
3141 /* Print the symbols being reduced, and their result. */
3142 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3143 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3144 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3152 #line 317 "cgrammar.y"
3153 { context_checkGlobalScope (); ;
3156 #line 318 "cgrammar.y"
3157 { context_checkGlobalScope (); ;
3160 #line 321 "cgrammar.y"
3161 { uentry_clearDecl (); ;
3164 #line 322 "cgrammar.y"
3165 { uentry_clearDecl (); ;
3168 #line 323 "cgrammar.y"
3169 { uentry_clearDecl (); ;
3172 #line 324 "cgrammar.y"
3173 { uentry_clearDecl (); ;
3176 #line 325 "cgrammar.y"
3177 { uentry_clearDecl (); ;
3180 #line 326 "cgrammar.y"
3181 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3184 #line 327 "cgrammar.y"
3185 { uentry_clearDecl (); ;
3188 #line 331 "cgrammar.y"
3189 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3192 #line 333 "cgrammar.y"
3193 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3196 #line 336 "cgrammar.y"
3197 { context_enterFunctionHeader (); ;
3200 #line 337 "cgrammar.y"
3202 declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3203 context_exitFunctionHeader ();
3207 #line 344 "cgrammar.y"
3209 qtype qint = qtype_create (ctype_int);
3210 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3215 #line 350 "cgrammar.y"
3216 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3219 #line 355 "cgrammar.y"
3220 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3223 #line 358 "cgrammar.y"
3224 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3227 #line 360 "cgrammar.y"
3228 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3231 #line 362 "cgrammar.y"
3232 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3235 #line 364 "cgrammar.y"
3237 exprNode_findValue(yyvsp[-2].expr);
3238 if (exprNode_hasValue (yyvsp[-2].expr))
3240 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), exprNode_getLongValue (yyvsp[-2].expr)));
3244 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-5].ntyp)));
3249 #line 376 "cgrammar.y"
3250 { setCurrentParams (uentryList_missingParams); ;
3253 #line 378 "cgrammar.y"
3254 { /* need to support globals and modifies here! */
3255 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3256 uentryList_makeMissingParams ());
3258 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3259 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3261 /*drl 7/25/01 added*/
3262 setImplictfcnConstraints();
3266 #line 389 "cgrammar.y"
3267 { setCurrentParams (yyvsp[-1].entrylist); ;
3270 #line 391 "cgrammar.y"
3271 { setImplictfcnConstraints ();
3272 clearCurrentParams ();
3273 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3274 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3279 #line 399 "cgrammar.y"
3280 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3283 #line 401 "cgrammar.y"
3284 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3287 #line 403 "cgrammar.y"
3288 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3291 #line 405 "cgrammar.y"
3295 if (exprNode_hasValue (yyvsp[-2].expr)
3296 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3298 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3305 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3309 #line 421 "cgrammar.y"
3310 { setCurrentParams (uentryList_missingParams); ;
3313 #line 423 "cgrammar.y"
3315 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3316 uentryList_makeMissingParams ());
3318 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3319 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3324 #line 432 "cgrammar.y"
3325 { setCurrentParams (yyvsp[-1].entrylist); ;
3328 #line 434 "cgrammar.y"
3330 clearCurrentParams ();
3331 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3332 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3337 #line 443 "cgrammar.y"
3338 { setCurrentParams (yyvsp[-1].entrylist); ;
3341 #line 444 "cgrammar.y"
3342 { clearCurrentParams (); ;
3345 #line 445 "cgrammar.y"
3346 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3349 #line 448 "cgrammar.y"
3350 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
3353 #line 449 "cgrammar.y"
3354 { exprNode_checkIterBody (yyvsp[-1].expr); ;
3357 #line 450 "cgrammar.y"
3358 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
3361 #line 451 "cgrammar.y"
3362 { exprChecks_checkEmptyMacroBody (); ;
3365 #line 454 "cgrammar.y"
3366 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3369 #line 458 "cgrammar.y"
3370 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3373 #line 461 "cgrammar.y"
3374 { cscanner_expectingMetaStateName (); ;
3377 #line 462 "cgrammar.y"
3378 { cscanner_clearExpectingMetaStateName ();
3379 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ;
3382 #line 464 "cgrammar.y"
3383 { cscanner_expectingMetaStateName (); ;
3386 #line 465 "cgrammar.y"
3387 { cscanner_clearExpectingMetaStateName ();
3388 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ;
3391 #line 469 "cgrammar.y"
3392 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3395 #line 470 "cgrammar.y"
3396 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3399 #line 478 "cgrammar.y"
3400 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3403 #line 479 "cgrammar.y"
3404 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3407 #line 482 "cgrammar.y"
3409 yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3410 DPRINTF(("Done BufConstraint1\n")); ;
3413 #line 497 "cgrammar.y"
3414 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3417 #line 498 "cgrammar.y"
3419 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3420 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3423 #line 503 "cgrammar.y"
3424 { yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;
3427 #line 504 "cgrammar.y"
3428 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3431 #line 508 "cgrammar.y"
3432 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3435 #line 510 "cgrammar.y"
3436 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3439 #line 512 "cgrammar.y"
3440 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3443 #line 514 "cgrammar.y"
3447 t = cstring_toCharsSafe (exprNode_unparse($3));
3450 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3454 #line 523 "cgrammar.y"
3455 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3458 #line 525 "cgrammar.y"
3459 { yyval.sr = yyvsp[-1].sr; ;
3462 #line 527 "cgrammar.y"
3463 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3466 #line 529 "cgrammar.y"
3467 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3470 #line 556 "cgrammar.y"
3471 { yyval.funcclauselist = functionClauseList_new (); ;
3474 #line 558 "cgrammar.y"
3475 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3478 #line 566 "cgrammar.y"
3479 { yyval.funcclauselist = functionClauseList_new (); ;
3482 #line 568 "cgrammar.y"
3483 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3486 #line 571 "cgrammar.y"
3487 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3490 #line 572 "cgrammar.y"
3491 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3494 #line 573 "cgrammar.y"
3495 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3498 #line 574 "cgrammar.y"
3499 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3502 #line 575 "cgrammar.y"
3503 { yyval.funcclause = yyvsp[0].funcclause; ;
3506 #line 576 "cgrammar.y"
3507 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3510 #line 579 "cgrammar.y"
3511 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3514 #line 580 "cgrammar.y"
3515 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3518 #line 581 "cgrammar.y"
3519 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3522 #line 582 "cgrammar.y"
3523 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3526 #line 583 "cgrammar.y"
3527 { yyval.funcclause = yyvsp[0].funcclause; ;
3530 #line 584 "cgrammar.y"
3531 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3534 #line 587 "cgrammar.y"
3535 { yyval.globsclause = yyvsp[-1].globsclause; ;
3538 #line 590 "cgrammar.y"
3539 { setProcessingGlobalsList (); ;
3542 #line 592 "cgrammar.y"
3544 unsetProcessingGlobals ();
3545 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
3549 #line 598 "cgrammar.y"
3550 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3553 #line 601 "cgrammar.y"
3554 { yyval.modsclause = yyvsp[-1].modsclause; ;
3557 #line 605 "cgrammar.y"
3559 context_setProtectVars (); enterParamsTemp ();
3560 sRef_setGlobalScopeSafe ();
3564 #line 610 "cgrammar.y"
3567 sRef_clearGlobalScopeSafe ();
3568 context_releaseVars ();
3569 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3573 #line 619 "cgrammar.y"
3574 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3577 #line 621 "cgrammar.y"
3578 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3581 #line 628 "cgrammar.y"
3582 { yyval.warnclause = warnClause_undefined; ;
3585 #line 631 "cgrammar.y"
3586 { yyval.warnclause = yyvsp[-1].warnclause; ;
3589 #line 635 "cgrammar.y"
3591 llassert (exprNode_knownStringValue (yyvsp[0].expr));
3592 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
3593 exprNode_free (yyvsp[0].expr);
3597 #line 641 "cgrammar.y"
3598 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3601 #line 644 "cgrammar.y"
3602 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3605 #line 645 "cgrammar.y"
3606 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3609 #line 648 "cgrammar.y"
3610 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3613 #line 651 "cgrammar.y"
3614 { yyval.tquallist = qualList_undefined; ;
3617 #line 652 "cgrammar.y"
3618 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3621 #line 655 "cgrammar.y"
3622 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3625 #line 656 "cgrammar.y"
3626 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3629 #line 657 "cgrammar.y"
3630 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3633 #line 660 "cgrammar.y"
3634 { yyval.typequal = qual_createUndef (); ;
3637 #line 661 "cgrammar.y"
3638 { yyval.typequal = qual_createKilled (); ;
3641 #line 662 "cgrammar.y"
3642 { yyval.typequal = qual_createOut (); ;
3645 #line 663 "cgrammar.y"
3646 { yyval.typequal = qual_createIn (); ;
3649 #line 664 "cgrammar.y"
3650 { yyval.typequal = qual_createPartial (); ;
3653 #line 679 "cgrammar.y"
3655 qtype qint = qtype_create (ctype_int);
3656 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3661 #line 685 "cgrammar.y"
3662 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3665 #line 688 "cgrammar.y"
3666 { checkDoneParams (); context_enterInnerContext (); ;
3669 #line 690 "cgrammar.y"
3671 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3672 context_exitInner (yyvsp[0].expr);
3676 #line 694 "cgrammar.y"
3677 { context_enterOldStyleScope (); ;
3680 #line 695 "cgrammar.y"
3681 { oldStyleDoneParams (); context_enterInnerContext (); ;
3684 #line 697 "cgrammar.y"
3686 exprNode_checkFunctionBody (yyvsp[0].expr);
3687 yyval.expr = yyvsp[0].expr; /* oldstyle */
3688 context_exitInner (yyvsp[0].expr);
3692 #line 705 "cgrammar.y"
3694 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3695 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3698 context_exitFunction ();
3702 #line 714 "cgrammar.y"
3703 { yyval.srset = yyvsp[-1].srset; ;
3706 #line 715 "cgrammar.y"
3707 { yyval.srset = sRefSet_new (); ;
3710 #line 718 "cgrammar.y"
3711 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3714 #line 719 "cgrammar.y"
3715 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3718 #line 720 "cgrammar.y"
3719 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3722 #line 721 "cgrammar.y"
3723 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3726 #line 722 "cgrammar.y"
3727 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3730 #line 723 "cgrammar.y"
3731 { yyval.sr = yyvsp[-1].sr; ;
3734 #line 724 "cgrammar.y"
3735 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3738 #line 725 "cgrammar.y"
3739 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3742 #line 729 "cgrammar.y"
3743 { yyval.sr = yyvsp[0].sr; ;
3746 #line 730 "cgrammar.y"
3747 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3750 #line 734 "cgrammar.y"
3751 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3754 #line 735 "cgrammar.y"
3755 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3758 #line 739 "cgrammar.y"
3759 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
3762 #line 741 "cgrammar.y"
3763 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3766 #line 742 "cgrammar.y"
3767 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3770 #line 743 "cgrammar.y"
3771 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3774 #line 744 "cgrammar.y"
3775 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3778 #line 745 "cgrammar.y"
3779 { yyval.sr = yyvsp[-1].sr; ;
3782 #line 746 "cgrammar.y"
3783 { cstring_markOwned (yyvsp[0].cname);
3784 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3787 #line 748 "cgrammar.y"
3788 { cstring_markOwned (yyvsp[0].cname);
3789 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3792 #line 752 "cgrammar.y"
3793 { yyval.srset = sRefSet_undefined ;
3796 #line 757 "cgrammar.y"
3797 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3798 else { yyval.srset = sRefSet_undefined; }
3802 #line 761 "cgrammar.y"
3803 { if (sRef_isValid (yyvsp[0].sr))
3805 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3809 yyval.srset = yyvsp[-2].srset;
3814 #line 772 "cgrammar.y"
3815 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3818 #line 773 "cgrammar.y"
3819 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3822 #line 775 "cgrammar.y"
3823 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3826 #line 776 "cgrammar.y"
3827 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3830 #line 777 "cgrammar.y"
3831 { yyval.expr = exprNode_makeError (); ;
3834 #line 781 "cgrammar.y"
3835 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3838 #line 782 "cgrammar.y"
3839 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3842 #line 783 "cgrammar.y"
3843 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
3846 #line 784 "cgrammar.y"
3847 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3850 #line 785 "cgrammar.y"
3851 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3854 #line 786 "cgrammar.y"
3855 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3858 #line 787 "cgrammar.y"
3859 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3862 #line 788 "cgrammar.y"
3863 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3866 #line 791 "cgrammar.y"
3867 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
3870 #line 792 "cgrammar.y"
3871 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
3874 #line 796 "cgrammar.y"
3875 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3878 #line 797 "cgrammar.y"
3879 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3882 #line 798 "cgrammar.y"
3883 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3886 #line 799 "cgrammar.y"
3887 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3890 #line 800 "cgrammar.y"
3891 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3894 #line 801 "cgrammar.y"
3895 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3898 #line 802 "cgrammar.y"
3899 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3902 #line 803 "cgrammar.y"
3903 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3906 #line 804 "cgrammar.y"
3907 { yyval.expr = yyvsp[0].expr; ;
3910 #line 805 "cgrammar.y"
3911 { yyval.expr = yyvsp[0].expr; ;
3914 #line 808 "cgrammar.y"
3915 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3918 #line 809 "cgrammar.y"
3919 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3922 #line 813 "cgrammar.y"
3923 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3926 #line 816 "cgrammar.y"
3927 { context_setProtectVars (); ;
3930 #line 817 "cgrammar.y"
3931 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3934 #line 820 "cgrammar.y"
3935 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3938 #line 821 "cgrammar.y"
3939 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3942 #line 822 "cgrammar.y"
3943 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3946 #line 823 "cgrammar.y"
3947 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3950 #line 828 "cgrammar.y"
3951 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3954 #line 832 "cgrammar.y"
3955 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3958 #line 833 "cgrammar.y"
3959 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3962 #line 834 "cgrammar.y"
3963 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3966 #line 838 "cgrammar.y"
3967 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3970 #line 839 "cgrammar.y"
3971 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3974 #line 843 "cgrammar.y"
3975 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3978 #line 844 "cgrammar.y"
3979 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3982 #line 848 "cgrammar.y"
3983 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3986 #line 849 "cgrammar.y"
3987 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3990 #line 850 "cgrammar.y"
3991 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3994 #line 851 "cgrammar.y"
3995 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3998 #line 855 "cgrammar.y"
3999 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4002 #line 856 "cgrammar.y"
4003 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4006 #line 860 "cgrammar.y"
4007 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4010 #line 864 "cgrammar.y"
4011 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4014 #line 869 "cgrammar.y"
4015 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4018 #line 874 "cgrammar.y"
4019 { exprNode_produceGuards (yyvsp[-1].expr);
4020 context_enterAndClause (yyvsp[-1].expr);
4024 #line 878 "cgrammar.y"
4026 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4027 context_exitAndClause (yyval.expr, yyvsp[0].expr);
4031 #line 886 "cgrammar.y"
4033 exprNode_produceGuards (yyvsp[-1].expr);
4034 context_enterOrClause (yyvsp[-1].expr);
4038 #line 891 "cgrammar.y"
4040 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4041 context_exitOrClause (yyval.expr, yyvsp[0].expr);
4045 #line 898 "cgrammar.y"
4046 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4049 #line 899 "cgrammar.y"
4050 { context_enterFalseClause (yyvsp[-4].expr); ;
4053 #line 900 "cgrammar.y"
4054 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4057 #line 904 "cgrammar.y"
4058 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4061 #line 905 "cgrammar.y"
4062 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4065 #line 906 "cgrammar.y"
4066 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4069 #line 907 "cgrammar.y"
4070 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4073 #line 908 "cgrammar.y"
4074 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4077 #line 909 "cgrammar.y"
4078 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4081 #line 910 "cgrammar.y"
4082 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4085 #line 911 "cgrammar.y"
4086 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4089 #line 912 "cgrammar.y"
4090 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4093 #line 913 "cgrammar.y"
4094 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4097 #line 914 "cgrammar.y"
4098 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4101 #line 918 "cgrammar.y"
4102 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4105 #line 921 "cgrammar.y"
4106 { yyval.expr = exprNode_undefined; ;
4109 #line 930 "cgrammar.y"
4110 { yyval.expr = yyvsp[0].expr; ;
4113 #line 931 "cgrammar.y"
4114 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
4117 #line 932 "cgrammar.y"
4118 { yyval.expr = exprNode_makeError (); ;
4121 #line 936 "cgrammar.y"
4122 { yyval.expr = exprNode_makeError (); ;
4125 #line 950 "cgrammar.y"
4127 setProcessingVars (yyvsp[-3].qtyp);
4128 processNamedDecl (yyvsp[-1].ntyp);
4132 #line 955 "cgrammar.y"
4134 unsetProcessingVars ();
4135 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp);
4136 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4140 #line 961 "cgrammar.y"
4141 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4144 #line 963 "cgrammar.y"
4145 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
4146 unsetProcessingVars ();
4150 #line 969 "cgrammar.y"
4152 processNamedDecl (yyvsp[-1].ntyp);
4153 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4157 #line 973 "cgrammar.y"
4158 { processNamedDecl (yyvsp[-2].ntyp); ;
4161 #line 974 "cgrammar.y"
4162 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4165 #line 977 "cgrammar.y"
4166 { setProcessingTypedef (yyvsp[0].qtyp); ;
4169 #line 979 "cgrammar.y"
4170 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4173 #line 980 "cgrammar.y"
4174 { /* in the ANSI grammar, semantics unclear */ ;
4177 #line 981 "cgrammar.y"
4178 { /* in the ANSI grammar, semantics unclear */ ;
4181 #line 984 "cgrammar.y"
4182 { g_expectingTypeName = TRUE; ;
4185 #line 987 "cgrammar.y"
4186 { g_expectingTypeName = TRUE; context_pushLoc (); ;
4189 #line 990 "cgrammar.y"
4190 { yyval.exprlist = yyvsp[-1].exprlist; ;
4193 #line 993 "cgrammar.y"
4194 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4197 #line 994 "cgrammar.y"
4198 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4201 #line 997 "cgrammar.y"
4202 { yyval.expr = exprNode_makeError (); ;
4205 #line 998 "cgrammar.y"
4206 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4209 #line 1002 "cgrammar.y"
4210 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ;
4213 #line 1003 "cgrammar.y"
4214 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ;
4217 #line 1008 "cgrammar.y"
4218 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4221 #line 1010 "cgrammar.y"
4222 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4225 #line 1018 "cgrammar.y"
4226 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4229 #line 1019 "cgrammar.y"
4230 { yyval.typequal = qual_createInline (); ;
4233 #line 1020 "cgrammar.y"
4234 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4237 #line 1021 "cgrammar.y"
4238 { yyval.typequal = qual_createAuto (); ;
4241 #line 1022 "cgrammar.y"
4242 { yyval.typequal = qual_createRegister (); ;
4245 #line 1025 "cgrammar.y"
4246 { yyval.typequal = qual_createNullTerminated (); ;
4249 #line 1028 "cgrammar.y"
4250 { yyval.stateclause = yyvsp[-1].stateclause; ;
4253 #line 1032 "cgrammar.y"
4255 context_setProtectVars ();
4257 sRef_setGlobalScopeSafe ();
4261 #line 1038 "cgrammar.y"
4264 sRef_clearGlobalScopeSafe ();
4265 context_releaseVars ();
4266 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4270 #line 1046 "cgrammar.y"
4271 { yyval.funcclause = yyvsp[-1].funcclause; ;
4274 #line 1049 "cgrammar.y"
4275 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4278 #line 1053 "cgrammar.y"
4280 context_exitFunctionHeader ();
4281 context_setProtectVars ();
4283 sRef_setGlobalScopeSafe ();
4287 #line 1060 "cgrammar.y"
4290 sRef_clearGlobalScopeSafe ();
4291 context_releaseVars ();
4292 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4296 #line 1067 "cgrammar.y"
4298 context_setProtectVars ();
4300 sRef_setGlobalScopeSafe ();
4304 #line 1073 "cgrammar.y"
4306 context_exitFunctionHeader ();
4308 sRef_clearGlobalScopeSafe ();
4309 context_releaseVars ();
4310 DPRINTF (("done optGlobBufConstraintsAux\n"));
4312 if (lltok_isEnsures (yyvsp[-4].tok))
4314 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4316 else if (lltok_isRequires (yyvsp[-4].tok))
4318 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4325 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4329 #line 1097 "cgrammar.y"
4330 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4333 #line 1098 "cgrammar.y"
4334 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4337 #line 1101 "cgrammar.y"
4338 { yyval.typequal = qual_createExits (); ;
4341 #line 1102 "cgrammar.y"
4342 { yyval.typequal = qual_createMayExit (); ;
4345 #line 1103 "cgrammar.y"
4346 { yyval.typequal = qual_createTrueExit (); ;
4349 #line 1104 "cgrammar.y"
4350 { yyval.typequal = qual_createFalseExit (); ;
4353 #line 1105 "cgrammar.y"
4354 { yyval.typequal = qual_createNeverExit (); ;
4357 #line 1108 "cgrammar.y"
4358 { yyval.typequal = qual_createChecked (); ;
4361 #line 1109 "cgrammar.y"
4362 { yyval.typequal = qual_createCheckMod (); ;
4365 #line 1110 "cgrammar.y"
4366 { yyval.typequal = qual_createUnchecked (); ;
4369 #line 1111 "cgrammar.y"
4370 { yyval.typequal = qual_createCheckedStrict (); ;
4373 #line 1114 "cgrammar.y"
4374 { yyval.typequal = qual_createOwned (); ;
4377 #line 1115 "cgrammar.y"
4378 { yyval.typequal = qual_createDependent (); ;
4381 #line 1116 "cgrammar.y"
4382 { yyval.typequal = qual_createYield (); ;
4385 #line 1117 "cgrammar.y"
4386 { yyval.typequal = qual_createTemp (); ;
4389 #line 1118 "cgrammar.y"
4390 { yyval.typequal = qual_createOnly (); ;
4393 #line 1119 "cgrammar.y"
4394 { yyval.typequal = qual_createKeep (); ;
4397 #line 1120 "cgrammar.y"
4398 { yyval.typequal = qual_createKept (); ;
4401 #line 1121 "cgrammar.y"
4402 { yyval.typequal = qual_createShared (); ;
4405 #line 1122 "cgrammar.y"
4406 { yyval.typequal = qual_createUnique (); ;
4409 #line 1123 "cgrammar.y"
4410 { yyval.typequal = qual_createNull (); ;
4413 #line 1124 "cgrammar.y"
4414 { yyval.typequal = qual_createIsNull (); ;
4417 #line 1125 "cgrammar.y"
4418 { yyval.typequal = qual_createRelNull (); ;
4421 #line 1126 "cgrammar.y"
4422 { yyval.typequal = qual_createNotNull (); ;
4425 #line 1127 "cgrammar.y"
4426 { yyval.typequal = qual_createExposed (); ;
4429 #line 1128 "cgrammar.y"
4430 { yyval.typequal = qual_createObserver (); ;
4433 #line 1129 "cgrammar.y"
4434 { yyval.typequal = qual_createNullTerminated (); ;
4437 #line 1130 "cgrammar.y"
4438 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4441 #line 1134 "cgrammar.y"
4442 { yyval.typequal = qual_createReturned (); ;
4445 #line 1135 "cgrammar.y"
4446 { yyval.typequal = qual_createSef (); ;
4449 #line 1138 "cgrammar.y"
4450 { yyval.typequal = qual_createUnused (); ;
4453 #line 1139 "cgrammar.y"
4454 { yyval.typequal = qual_createExternal (); ;
4457 #line 1142 "cgrammar.y"
4458 { yyval.typequal = qual_createTrueNull (); ;
4461 #line 1143 "cgrammar.y"
4462 { yyval.typequal = qual_createFalseNull (); ;
4465 #line 1146 "cgrammar.y"
4466 { yyval.typequal = qual_createAbstract (); ;
4469 #line 1147 "cgrammar.y"
4470 { yyval.typequal = qual_createConcrete (); ;
4473 #line 1148 "cgrammar.y"
4474 { yyval.typequal = qual_createMutable (); ;
4477 #line 1149 "cgrammar.y"
4478 { yyval.typequal = qual_createImmutable (); ;
4481 #line 1152 "cgrammar.y"
4482 { yyval.typequal = qual_createRefCounted (); ;
4485 #line 1153 "cgrammar.y"
4486 { yyval.typequal = qual_createRefs (); ;
4489 #line 1154 "cgrammar.y"
4490 { yyval.typequal = qual_createKillRef (); ;
4493 #line 1155 "cgrammar.y"
4494 { yyval.typequal = qual_createRelDef (); ;
4497 #line 1156 "cgrammar.y"
4498 { yyval.typequal = qual_createNewRef (); ;
4501 #line 1157 "cgrammar.y"
4502 { yyval.typequal = qual_createTempRef (); ;
4505 #line 1160 "cgrammar.y"
4506 { yyval.typequal = qual_createShort (); ;
4509 #line 1161 "cgrammar.y"
4510 { yyval.typequal = qual_createLong (); ;
4513 #line 1162 "cgrammar.y"
4514 { yyval.typequal = qual_createSigned (); ;
4517 #line 1163 "cgrammar.y"
4518 { yyval.typequal = qual_createUnsigned (); ;
4521 #line 1166 "cgrammar.y"
4522 { yyval.typequal = qual_createOut (); ;
4525 #line 1167 "cgrammar.y"
4526 { yyval.typequal = qual_createIn (); ;
4529 #line 1168 "cgrammar.y"
4530 { yyval.typequal = qual_createPartial (); ;
4533 #line 1169 "cgrammar.y"
4534 { yyval.typequal = qual_createSpecial (); ;
4537 #line 1172 "cgrammar.y"
4538 { yyval.typequal = qual_createConst (); ;
4541 #line 1173 "cgrammar.y"
4542 { yyval.typequal = qual_createVolatile (); ;
4545 #line 1174 "cgrammar.y"
4546 { yyval.typequal = yyvsp[-1].typequal; ;
4549 #line 1175 "cgrammar.y"
4550 { yyval.typequal = yyvsp[-1].typequal; ;
4553 #line 1176 "cgrammar.y"
4554 { yyval.typequal = yyvsp[-1].typequal; ;
4557 #line 1177 "cgrammar.y"
4558 { yyval.typequal = yyvsp[-1].typequal; ;
4561 #line 1178 "cgrammar.y"
4562 { yyval.typequal = yyvsp[-1].typequal; ;
4565 #line 1179 "cgrammar.y"
4566 { yyval.typequal = yyvsp[-1].typequal; ;
4569 #line 1180 "cgrammar.y"
4570 { yyval.typequal = yyvsp[-1].typequal; ;
4573 #line 1181 "cgrammar.y"
4574 { yyval.typequal = yyvsp[-1].typequal; ;
4577 #line 1182 "cgrammar.y"
4578 { yyval.typequal = yyvsp[-1].typequal; ;
4581 #line 1195 "cgrammar.y"
4582 { yyval.ctyp = ctype_unknown; ;
4585 #line 1196 "cgrammar.y"
4586 { yyval.ctyp = ctype_anyintegral; ;
4589 #line 1197 "cgrammar.y"
4590 { yyval.ctyp = ctype_unsignedintegral; ;
4593 #line 1198 "cgrammar.y"
4594 { yyval.ctyp = ctype_signedintegral; ;
4597 #line 1202 "cgrammar.y"
4598 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4601 #line 1206 "cgrammar.y"
4602 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4605 #line 1209 "cgrammar.y"
4606 { yyval.qtyp = yyvsp[0].qtyp; ;
4609 #line 1211 "cgrammar.y"
4610 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4613 #line 1216 "cgrammar.y"
4614 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4617 #line 1219 "cgrammar.y"
4618 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4621 #line 1220 "cgrammar.y"
4622 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4625 #line 1221 "cgrammar.y"
4626 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4629 #line 1224 "cgrammar.y"
4630 { yyval.qtyp = qtype_unknown (); ;
4633 #line 1225 "cgrammar.y"
4634 { yyval.qtyp = yyvsp[0].qtyp; ;
4637 #line 1228 "cgrammar.y"
4638 { sRef_setGlobalScopeSafe (); ;
4641 #line 1230 "cgrammar.y"
4642 { sRef_clearGlobalScopeSafe (); ;
4645 #line 1232 "cgrammar.y"
4646 { yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
4649 #line 1233 "cgrammar.y"
4650 { sRef_setGlobalScopeSafe (); ;
4653 #line 1235 "cgrammar.y"
4654 { sRef_clearGlobalScopeSafe (); ;
4657 #line 1237 "cgrammar.y"
4658 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4661 #line 1239 "cgrammar.y"
4662 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4665 #line 1241 "cgrammar.y"
4666 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4669 #line 1242 "cgrammar.y"
4670 { sRef_setGlobalScopeSafe (); ;
4673 #line 1244 "cgrammar.y"
4674 { sRef_clearGlobalScopeSafe (); ;
4677 #line 1246 "cgrammar.y"
4678 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4681 #line 1247 "cgrammar.y"
4682 { sRef_setGlobalScopeSafe (); ;
4685 #line 1249 "cgrammar.y"
4686 { sRef_clearGlobalScopeSafe (); ;
4689 #line 1251 "cgrammar.y"
4690 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4693 #line 1253 "cgrammar.y"
4694 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4697 #line 1255 "cgrammar.y"
4698 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4701 #line 1256 "cgrammar.y"
4702 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4705 #line 1257 "cgrammar.y"
4706 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4709 #line 1260 "cgrammar.y"
4710 { g_expectingTypeName = FALSE; ;
4713 #line 1264 "cgrammar.y"
4714 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4717 #line 1265 "cgrammar.y"
4718 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4721 #line 1269 "cgrammar.y"
4722 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4725 #line 1271 "cgrammar.y"
4726 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4729 #line 1275 "cgrammar.y"
4730 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4733 #line 1277 "cgrammar.y"
4734 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4737 #line 1280 "cgrammar.y"
4738 { yyval.ntyp = yyvsp[0].ntyp; ;
4741 #line 1281 "cgrammar.y"
4742 { yyval.ntyp = idDecl_undefined; ;
4745 #line 1282 "cgrammar.y"
4746 { yyval.ntyp = yyvsp[-3].ntyp; ;
4749 #line 1287 "cgrammar.y"
4750 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4753 #line 1288 "cgrammar.y"
4754 { context_pushLoc (); ;
4757 #line 1289 "cgrammar.y"
4758 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4761 #line 1290 "cgrammar.y"
4762 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4765 #line 1294 "cgrammar.y"
4766 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4769 #line 1296 "cgrammar.y"
4770 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4773 #line 1301 "cgrammar.y"
4774 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4775 usymtab_supGlobalEntry (ue);
4776 yyval.cname = yyvsp[0].cname;
4780 #line 1306 "cgrammar.y"
4781 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4782 usymtab_supGlobalEntry (ue);
4783 yyval.cname = yyvsp[-3].cname;
4787 #line 1313 "cgrammar.y"
4788 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4791 #line 1315 "cgrammar.y"
4793 qtype qt = qtype_unknown ();
4795 qtype_adjustPointers (yyvsp[-1].count, qt);
4796 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4800 #line 1322 "cgrammar.y"
4801 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4804 #line 1327 "cgrammar.y"
4805 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4808 #line 1330 "cgrammar.y"
4809 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4812 #line 1331 "cgrammar.y"
4813 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4816 #line 1334 "cgrammar.y"
4817 { /* ignored for now */; ;
4820 #line 1335 "cgrammar.y"
4824 #line 1338 "cgrammar.y"
4828 #line 1339 "cgrammar.y"
4832 #line 1342 "cgrammar.y"
4833 { yyval.count = 1; ;
4836 #line 1343 "cgrammar.y"
4837 { yyval.count = 1; ;
4840 #line 1344 "cgrammar.y"
4841 { yyval.count = 1 + yyvsp[0].count; ;
4844 #line 1345 "cgrammar.y"
4845 { yyval.count = 1 + yyvsp[0].count; ;
4848 #line 1349 "cgrammar.y"
4849 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4852 #line 1352 "cgrammar.y"
4853 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4856 #line 1353 "cgrammar.y"
4857 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4860 #line 1356 "cgrammar.y"
4861 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4864 #line 1358 "cgrammar.y"
4865 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4868 #line 1361 "cgrammar.y"
4872 #line 1361 "cgrammar.y"
4873 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4876 #line 1362 "cgrammar.y"
4880 #line 1363 "cgrammar.y"
4881 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4884 #line 1367 "cgrammar.y"
4886 if (isFlipOldStyle ())
4888 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4894 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4898 #line 1379 "cgrammar.y"
4900 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4904 llparseerror (message ("Inconsistent function parameter syntax: %q",
4905 idDecl_unparse (tparam)));
4909 yyval.oentry = makeCurrentParam (tparam);
4910 idDecl_free (tparam);
4914 #line 1395 "cgrammar.y"
4915 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4918 #line 1398 "cgrammar.y"
4919 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4922 #line 1400 "cgrammar.y"
4923 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4926 #line 1403 "cgrammar.y"
4927 { yyval.ctyp = ctype_unknown; ;
4930 #line 1408 "cgrammar.y"
4931 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4934 #line 1409 "cgrammar.y"
4935 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4938 #line 1411 "cgrammar.y"
4939 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4942 #line 1412 "cgrammar.y"
4943 { yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4946 #line 1414 "cgrammar.y"
4947 { yyval.ctyp = ctype_makeFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4950 #line 1416 "cgrammar.y"
4951 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4954 #line 1418 "cgrammar.y"
4955 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4958 #line 1420 "cgrammar.y"
4959 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4962 #line 1422 "cgrammar.y"
4963 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4966 #line 1450 "cgrammar.y"
4967 { yyval.expr = yyvsp[0].expr; ;
4970 #line 1458 "cgrammar.y"
4971 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4974 #line 1462 "cgrammar.y"
4975 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4978 #line 1464 "cgrammar.y"
4979 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4982 #line 1466 "cgrammar.y"
4983 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4986 #line 1468 "cgrammar.y"
4987 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4990 #line 1472 "cgrammar.y"
4991 { context_setProtectVars (); ;
4994 #line 1472 "cgrammar.y"
4995 { context_sizeofReleaseVars (); ;
4998 #line 1474 "cgrammar.y"
4999 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
5000 context_enterForClause (yyvsp[-5].expr); ;
5003 #line 1479 "cgrammar.y"
5004 { setProcessingIterVars (yyvsp[-2].entry); ;
5007 #line 1481 "cgrammar.y"
5008 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
5011 #line 1482 "cgrammar.y"
5012 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
5015 #line 1488 "cgrammar.y"
5016 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
5019 #line 1496 "cgrammar.y"
5020 { yyval.expr = yyvsp[-1].expr; ;
5023 #line 1497 "cgrammar.y"
5024 { yyval.expr = exprNode_makeError (); ;
5027 #line 1501 "cgrammar.y"
5028 { /* don't: context_exitTrueClause ($1, $2); */
5029 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5033 #line 1506 "cgrammar.y"
5034 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5037 #line 1509 "cgrammar.y"
5038 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5041 #line 1524 "cgrammar.y"
5042 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5045 #line 1526 "cgrammar.y"
5046 { yyval.expr = exprNode_makeError (); ;
5049 #line 1529 "cgrammar.y"
5050 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
5053 #line 1530 "cgrammar.y"
5054 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
5057 #line 1536 "cgrammar.y"
5058 { context_enterCaseClause (yyvsp[0].expr); ;
5061 #line 1537 "cgrammar.y"
5062 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
5065 #line 1538 "cgrammar.y"
5066 { context_enterCaseClause (yyvsp[0].expr); ;
5069 #line 1539 "cgrammar.y"
5070 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
5073 #line 1542 "cgrammar.y"
5074 { context_enterCaseClause (exprNode_undefined); ;
5077 #line 1543 "cgrammar.y"
5078 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
5081 #line 1544 "cgrammar.y"
5082 { context_enterCaseClause (exprNode_undefined); ;
5085 #line 1545 "cgrammar.y"
5086 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
5089 #line 1548 "cgrammar.y"
5090 { yyval.expr = yyvsp[-1].expr; ;
5093 #line 1550 "cgrammar.y"
5094 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
5097 #line 1553 "cgrammar.y"
5098 { yyval.expr = yyvsp[-1].expr; ;
5101 #line 1556 "cgrammar.y"
5102 { context_enterInnerContext (); ;
5105 #line 1559 "cgrammar.y"
5106 { context_exitInnerPlain (); ;
5109 #line 1562 "cgrammar.y"
5110 { context_enterStructInnerContext (); ;
5113 #line 1565 "cgrammar.y"
5114 { context_exitStructInnerContext (); ;
5117 #line 1568 "cgrammar.y"
5118 { context_exitInnerSafe (); ;
5121 #line 1571 "cgrammar.y"
5122 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5125 #line 1572 "cgrammar.y"
5126 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
5129 #line 1573 "cgrammar.y"
5130 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5133 #line 1575 "cgrammar.y"
5134 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5137 #line 1576 "cgrammar.y"
5138 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5141 #line 1578 "cgrammar.y"
5142 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5145 #line 1580 "cgrammar.y"
5146 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5149 #line 1582 "cgrammar.y"
5150 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
5151 lltok_getLoc (yyvsp[-1].tok)));
5155 #line 1588 "cgrammar.y"
5156 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
5159 #line 1592 "cgrammar.y"
5160 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5163 #line 1594 "cgrammar.y"
5164 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5167 #line 1596 "cgrammar.y"
5168 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5171 #line 1598 "cgrammar.y"
5172 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5175 #line 1602 "cgrammar.y"
5176 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5179 #line 1605 "cgrammar.y"
5180 { yyval.expr = yyvsp[0].expr; ;
5183 #line 1606 "cgrammar.y"
5184 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5187 #line 1609 "cgrammar.y"
5188 { yyval.expr = yyvsp[0].expr; ;
5191 #line 1610 "cgrammar.y"
5192 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5195 #line 1613 "cgrammar.y"
5196 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5199 #line 1614 "cgrammar.y"
5200 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5203 #line 1617 "cgrammar.y"
5204 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5207 #line 1618 "cgrammar.y"
5208 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5211 #line 1619 "cgrammar.y"
5212 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
5215 #line 1623 "cgrammar.y"
5216 { yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
5219 #line 1631 "cgrammar.y"
5221 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5222 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5226 #line 1635 "cgrammar.y"
5227 { context_enterFalseClause (yyvsp[-2].expr); ;
5230 #line 1636 "cgrammar.y"
5232 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5233 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5237 #line 1640 "cgrammar.y"
5238 { context_enterSwitch (yyvsp[0].expr); ;
5241 #line 1641 "cgrammar.y"
5242 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5245 #line 1645 "cgrammar.y"
5246 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5249 #line 1649 "cgrammar.y"
5250 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5253 #line 1652 "cgrammar.y"
5254 { context_enterIterClause (); ;
5257 #line 1653 "cgrammar.y"
5258 { setProcessingIterVars (yyvsp[-3].entry); ;
5261 #line 1656 "cgrammar.y"
5263 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
5268 #line 1662 "cgrammar.y"
5269 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
5272 #line 1663 "cgrammar.y"
5273 { nextIterParam (); ;
5276 #line 1664 "cgrammar.y"
5277 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
5280 #line 1667 "cgrammar.y"
5281 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5284 #line 1668 "cgrammar.y"
5285 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5288 #line 1669 "cgrammar.y"
5289 { uentry ue = coerceIterId (yyvsp[0].cname);
5291 if (uentry_isValid (ue))
5293 yyval.expr = exprNode_iterId (ue);
5297 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
5302 #line 1680 "cgrammar.y"
5303 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5306 #line 1688 "cgrammar.y"
5307 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
5310 #line 1692 "cgrammar.y"
5311 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5314 #line 1696 "cgrammar.y"
5315 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5318 #line 1697 "cgrammar.y"
5319 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5322 #line 1698 "cgrammar.y"
5323 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
5326 #line 1700 "cgrammar.y"
5327 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5330 #line 1701 "cgrammar.y"
5331 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5334 #line 1702 "cgrammar.y"
5335 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
5338 #line 1703 "cgrammar.y"
5339 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5342 #line 1704 "cgrammar.y"
5343 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5346 #line 1708 "cgrammar.y"
5347 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5350 #line 1709 "cgrammar.y"
5351 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5354 #line 1710 "cgrammar.y"
5355 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5358 #line 1711 "cgrammar.y"
5359 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5362 #line 1712 "cgrammar.y"
5363 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5366 #line 1713 "cgrammar.y"
5367 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5370 #line 1714 "cgrammar.y"
5371 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5374 #line 1715 "cgrammar.y"
5375 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5378 #line 1716 "cgrammar.y"
5379 { yyval.expr = yyvsp[0].expr; ;
5382 #line 1720 "cgrammar.y"
5383 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5386 #line 1724 "cgrammar.y"
5387 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5390 #line 1725 "cgrammar.y"
5391 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5394 #line 1726 "cgrammar.y"
5395 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5398 #line 1730 "cgrammar.y"
5399 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5402 #line 1731 "cgrammar.y"
5403 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5406 #line 1735 "cgrammar.y"
5407 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5410 #line 1736 "cgrammar.y"
5411 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5414 #line 1740 "cgrammar.y"
5415 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5418 #line 1741 "cgrammar.y"
5419 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5422 #line 1742 "cgrammar.y"
5423 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5426 #line 1743 "cgrammar.y"
5427 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5430 #line 1747 "cgrammar.y"
5431 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5434 #line 1748 "cgrammar.y"
5435 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5438 #line 1752 "cgrammar.y"
5439 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5442 #line 1756 "cgrammar.y"
5443 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5446 #line 1761 "cgrammar.y"
5447 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5450 #line 1765 "cgrammar.y"
5451 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5454 #line 1769 "cgrammar.y"
5455 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5458 #line 1773 "cgrammar.y"
5459 { context_enterTrueClause (yyvsp[-1].expr); ;
5462 #line 1774 "cgrammar.y"
5463 { context_enterFalseClause (yyvsp[-4].expr); ;
5466 #line 1775 "cgrammar.y"
5467 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5470 #line 1779 "cgrammar.y"
5471 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5474 #line 1780 "cgrammar.y"
5475 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5478 #line 1781 "cgrammar.y"
5479 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5482 #line 1782 "cgrammar.y"
5483 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5486 #line 1783 "cgrammar.y"
5487 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5490 #line 1784 "cgrammar.y"
5491 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5494 #line 1785 "cgrammar.y"
5495 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5498 #line 1786 "cgrammar.y"
5499 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5502 #line 1787 "cgrammar.y"
5503 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5506 #line 1788 "cgrammar.y"
5507 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5510 #line 1789 "cgrammar.y"
5511 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5514 #line 1792 "cgrammar.y"
5515 { yyval.entry = yyvsp[0].entry; ;
5518 #line 1793 "cgrammar.y"
5519 { yyval.entry = uentry_undefined; ;
5522 #line 1796 "cgrammar.y"
5523 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5526 #line 1800 "cgrammar.y"
5527 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5530 #line 1802 "cgrammar.y"
5531 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5534 #line 1804 "cgrammar.y"
5535 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5538 #line 1807 "cgrammar.y"
5539 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5542 #line 1809 "cgrammar.y"
5543 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5546 #line 1811 "cgrammar.y"
5547 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5550 #line 1812 "cgrammar.y"
5551 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5554 #line 1815 "cgrammar.y"
5555 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5558 #line 1816 "cgrammar.y"
5559 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5562 #line 1818 "cgrammar.y"
5563 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5566 #line 1819 "cgrammar.y"
5567 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5570 #line 1820 "cgrammar.y"
5571 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5574 #line 1821 "cgrammar.y"
5575 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5578 #line 1822 "cgrammar.y"
5579 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5582 #line 1823 "cgrammar.y"
5583 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5586 #line 1824 "cgrammar.y"
5587 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5590 #line 1825 "cgrammar.y"
5591 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5594 #line 1829 "cgrammar.y"
5598 #line 1836 "cgrammar.y"
5599 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5602 #line 1837 "cgrammar.y"
5603 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5606 #line 1838 "cgrammar.y"
5607 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5610 #line 1839 "cgrammar.y"
5611 { yyval.cname = yyvsp[0].cname; ;
5614 #line 1843 "cgrammar.y"
5615 { yyval.ctyp = ctype_unknown; ;
5618 /* the action file gets copied in in place of this dollarsign */
5619 #line 543 "/usr/lib/bison.simple"
5630 short *ssp1 = yyss - 1;
5631 fprintf (stderr, "state stack now");
5632 while (ssp1 != yyssp)
5633 fprintf (stderr, " %d", *++ssp1);
5634 fprintf (stderr, "\n");
5644 yylsp->first_line = yylloc.first_line;
5645 yylsp->first_column = yylloc.first_column;
5646 yylsp->last_line = (yylsp-1)->last_line;
5647 yylsp->last_column = (yylsp-1)->last_column;
5652 yylsp->last_line = (yylsp+yylen-1)->last_line;
5653 yylsp->last_column = (yylsp+yylen-1)->last_column;
5657 /* Now "shift" the result of the reduction.
5658 Determine what state that goes to,
5659 based on the state we popped back to
5660 and the rule number reduced by. */
5664 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5665 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5666 yystate = yytable[yystate];
5668 yystate = yydefgoto[yyn - YYNTBASE];
5672 yyerrlab: /* here on detecting error */
5675 /* If not already recovering from an error, report this error. */
5679 #ifdef YYERROR_VERBOSE
5680 yyn = yypact[yystate];
5682 if (yyn > YYFLAG && yyn < YYLAST)
5689 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5690 for (x = (yyn < 0 ? -yyn : 0);
5691 x < (sizeof(yytname) / sizeof(char *)); x++)
5692 if (yycheck[x + yyn] == x)
5693 size += strlen(yytname[x]) + 15, count++;
5694 msg = (char *) malloc(size + 15);
5697 strcpy(msg, "parse error");
5702 for (x = (yyn < 0 ? -yyn : 0);
5703 x < (sizeof(yytname) / sizeof(char *)); x++)
5704 if (yycheck[x + yyn] == x)
5706 strcat(msg, count == 0 ? ", expecting `" : " or `");
5707 strcat(msg, yytname[x]);
5716 yyerror ("parse error; also virtual memory exceeded");
5719 #endif /* YYERROR_VERBOSE */
5720 yyerror("parse error");
5724 yyerrlab1: /* here on error raised explicitly by an action */
5726 if (yyerrstatus == 3)
5728 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5730 /* return failure if at end of input */
5731 if (yychar == YYEOF)
5736 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5742 /* Else will try to reuse lookahead token
5743 after shifting the error token. */
5745 yyerrstatus = 3; /* Each real token shifted decrements this */
5749 yyerrdefault: /* current state does not do anything special for the error token. */
5752 /* This is wrong; only states that explicitly want error tokens
5753 should shift them. */
5754 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5755 if (yyn) goto yydefault;
5758 yyerrpop: /* pop the current state because it cannot handle the error token */
5760 if (yyssp == yyss) YYABORT;
5770 short *ssp1 = yyss - 1;
5771 fprintf (stderr, "Error: state stack now");
5772 while (ssp1 != yyssp)
5773 fprintf (stderr, " %d", *++ssp1);
5774 fprintf (stderr, "\n");
5780 yyn = yypact[yystate];
5785 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5804 fprintf(stderr, "Shifting error token, ");
5816 /* YYACCEPT comes here. */
5828 /* YYABORT comes here. */
5839 #line 1845 "cgrammar.y"
5842 /*@-redecl@*/ /*@-namechecks@*/
5843 extern char *yytext;
5844 /*@=redecl@*/ /*@=namechecks@*/
5846 # include "bison.reset"
5848 void yyerror (/*@unused@*/ char *s)
5850 static bool givehint = FALSE;
5852 if (context_inIterDef ())
5854 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5855 context_inFunctionName ()));
5857 else if (context_inIterEnd ())
5859 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5860 context_inFunctionName ()));
5862 else if (context_inMacro ())
5864 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5865 context_inFunctionName ()));
5867 if (context_inUnknownMacro ())
5871 llhint (cstring_makeLiteral
5872 ("Precede macro definition with /*@notfunction@*/ "
5873 "to suppress checking and force expansion"));
5879 context_exitAllClausesQuiet ();
5883 llparseerror (cstring_undefined);
5899 ** Resets all flags in bison.head
5921 /*@=evalorderuncon@*/
5930 /*@=elseifcomplete@*/
5934 /*@=readonlytrans@*/
5937 /*@=systemunrecog@*/
5938 /*@=dependenttrans@*/
5939 /*@=unqualifiedtrans@*/
5943 /*drl added 11/27/2001*/
5945 /*@=arrayboundsread@*/