2 /* A Bison parser, made from cgrammar.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
10 #define CTOK_ELIPSIS 260
34 #define TAMPERSAND 284
62 #define MUL_ASSIGN 312
63 #define DIV_ASSIGN 313
64 #define MOD_ASSIGN 314
65 #define ADD_ASSIGN 315
66 #define SUB_ASSIGN 316
67 #define LEFT_ASSIGN 317
68 #define RIGHT_ASSIGN 318
69 #define AND_ASSIGN 319
70 #define XOR_ASSIGN 320
85 #define QALLOCATES 335
88 #define QPRECLAUSE 338
89 #define QPOSTCLAUSE 339
95 #define LLMACROITER 345
96 #define LLMACROEND 346
98 #define QSWITCHBREAK 348
99 #define QLOOPBREAK 349
100 #define QINNERBREAK 350
101 #define QSAFEBREAK 351
102 #define QINNERCONTINUE 352
103 #define QFALLTHROUGH 353
104 #define QLINTNOTREACHED 354
105 #define QLINTFALLTHROUGH 355
106 #define QLINTFALLTHRU 356
107 #define QARGSUSED 357
108 #define QPRINTFLIKE 358
109 #define QLINTPRINTFLIKE 359
110 #define QSCANFLIKE 360
111 #define QMESSAGELIKE 361
112 #define QNOTREACHED 362
114 #define QVOLATILE 364
116 #define QEXTENSION 366
120 #define QREGISTER 370
130 #define QUNCHECKED 380
131 #define QCHECKEDSTRICT 381
132 #define QCHECKMOD 382
138 #define QDEPENDENT 388
139 #define QRETURNED 389
142 #define QOBSERVER 392
146 #define QNEVEREXIT 396
147 #define QTRUEEXIT 397
148 #define QFALSEEXIT 398
151 #define QUNSIGNED 401
157 #define QABSTRACT 407
158 #define QCONCRETE 408
160 #define QIMMUTABLE 410
161 #define QTRUENULL 411
162 #define QFALSENULL 412
163 #define QEXTERNAL 413
164 #define QREFCOUNTED 414
177 #define QINTEGRALTYPE 427
178 #define QUNSIGNEDINTEGRALTYPE 428
179 #define QSIGNEDINTEGRALTYPE 429
180 #define QNULLTERMINATED 430
181 #define QSETBUFFERSIZE 431
182 #define QBUFFERCONSTRAINT 432
183 #define QSETSTRINGLENGTH 433
186 #define QTESTINRANGE 436
187 #define IDENTIFIER 437
188 #define NEW_IDENTIFIER 438
189 #define TYPE_NAME_OR_ID 439
190 #define CCONSTANT 440
191 #define ITER_NAME 441
192 #define ITER_ENDNAME 442
193 #define TYPE_NAME 443
195 #line 19 "cgrammar.y"
201 ** Yacc/Bison grammar for extended ANSI C used by LCLint.
203 ** original grammar by Nate Osgood ---
204 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
206 ** changes for LCLint --- handle typedef names correctly
207 ** fix struct/union parsing bug (empty struct is accepted)
208 ** add productions to handle macros --- require
209 ** error correction --- main source of conflicts in grammar.
210 ** need to process initializations sequentially, L->R
212 ** production names are cryptic, so more productions fit on one line
214 ** conflicts: 87 shift/reduce, 18 reduce/reduce
215 ** most of these are due to handling macros
216 ** a few are due to handling type expressions
222 extern void swallowMacro (void);
224 # include "lclintMacros.nf"
226 # include "cgrammar.h"
227 # include "exprChecks.h"
232 # define SHOWCSYM FALSE
233 void yyerror (char *s);
236 ** This is necessary, or else when the bison-generated code #include's malloc.h,
237 ** there will be a parse error.
239 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
240 ** in bison-generated files under Win32.
249 void checkandsetBufState(idDecl id, exprNode is);
251 #line 75 "cgrammar.y"
256 specialClauseKind sck;
261 /*@only@*/ qtype qtyp;
262 /*@only@*/ cstring cname;
263 /*@only@*/ idDecl ntyp;
264 /*@only@*/ idDeclList ntyplist;
265 /*@only@*/ uentryList flist;
266 /*@owned@*/ uentryList entrylist;
267 /*@observer@*/ /*@dependent@*/ uentry entry;
268 /*@only@*/ uentry oentry;
269 /*@only@*/ exprNode expr;
270 /*@only@*/ enumNameList enumnamelist;
271 /*@only@*/ exprNodeList alist;
272 /*@only@*/ sRefSet srset;
273 /*@only@*/ cstringList cstringlist;
290 #define YYFLAG -32768
293 #define YYTRANSLATE(x) ((unsigned)(x) <= 443 ? yytranslate[x] : 430)
295 static const short yytranslate[] = { 0,
296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
322 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
323 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
324 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
325 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
326 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
327 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
328 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
329 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
330 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
331 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
332 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
333 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
334 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
335 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
336 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
337 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
338 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
339 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
344 static const short yyprhs[] = { 0,
345 0, 1, 3, 5, 8, 11, 13, 15, 17, 19,
346 21, 23, 32, 44, 45, 51, 53, 57, 59, 62,
347 64, 71, 75, 82, 83, 91, 92, 101, 103, 110,
348 114, 121, 122, 129, 130, 138, 139, 140, 151, 155,
349 159, 163, 166, 168, 169, 172, 173, 176, 178, 179,
350 184, 185, 188, 190, 195, 197, 199, 201, 203, 205,
351 207, 212, 218, 220, 222, 224, 226, 228, 230, 231,
352 234, 235, 238, 240, 243, 245, 248, 250, 253, 255,
353 259, 262, 264, 266, 268, 270, 272, 274, 276, 277,
354 280, 281, 288, 289, 296, 298, 300, 301, 302, 308,
355 309, 315, 317, 319, 320, 322, 323, 324, 328, 329,
356 333, 335, 337, 339, 341, 343, 345, 347, 349, 351,
357 353, 355, 357, 359, 361, 363, 365, 367, 368, 376,
358 377, 386, 388, 392, 393, 397, 398, 402, 405, 409,
359 412, 415, 417, 419, 421, 425, 430, 433, 437, 441,
360 445, 447, 449, 451, 455, 457, 459, 463, 468, 471,
361 475, 479, 483, 485, 489, 491, 493, 495, 499, 501,
362 503, 505, 510, 514, 519, 526, 532, 538, 541, 544,
363 546, 550, 552, 555, 558, 561, 564, 567, 570, 573,
364 576, 578, 580, 584, 586, 596, 597, 601, 606, 609,
365 614, 617, 619, 624, 626, 630, 634, 638, 640, 644,
366 648, 650, 654, 658, 660, 664, 668, 672, 676, 678,
367 682, 686, 688, 692, 694, 698, 700, 704, 706, 707,
368 712, 714, 715, 720, 722, 723, 724, 732, 734, 738,
369 742, 746, 750, 754, 758, 762, 766, 770, 774, 778,
370 780, 784, 785, 787, 789, 791, 793, 795, 799, 800,
371 810, 811, 823, 826, 827, 834, 835, 843, 848, 853,
372 854, 855, 858, 860, 865, 866, 871, 873, 877, 882,
373 884, 888, 890, 892, 894, 896, 898, 901, 904, 907,
374 910, 913, 916, 919, 922, 925, 928, 931, 934, 937,
375 940, 943, 946, 949, 952, 955, 958, 961, 964, 967,
376 970, 973, 976, 979, 982, 985, 988, 991, 994, 997,
377 1000, 1003, 1006, 1009, 1012, 1015, 1018, 1021, 1024, 1027,
378 1030, 1033, 1036, 1038, 1040, 1042, 1044, 1047, 1050, 1053,
379 1056, 1059, 1062, 1065, 1068, 1071, 1074, 1077, 1080, 1083,
380 1086, 1090, 1092, 1097, 1099, 1103, 1106, 1109, 1112, 1113,
381 1115, 1116, 1117, 1129, 1130, 1131, 1143, 1150, 1157, 1158,
382 1159, 1170, 1171, 1172, 1183, 1189, 1195, 1200, 1205, 1206,
383 1208, 1210, 1213, 1219, 1223, 1226, 1231, 1233, 1237, 1242,
384 1249, 1250, 1259, 1264, 1266, 1270, 1273, 1275, 1280, 1282,
385 1284, 1287, 1290, 1292, 1295, 1297, 1300, 1302, 1304, 1306,
386 1309, 1311, 1314, 1317, 1321, 1323, 1327, 1329, 1333, 1335,
387 1337, 1341, 1342, 1345, 1346, 1351, 1356, 1358, 1360, 1363,
388 1365, 1367, 1370, 1371, 1373, 1379, 1382, 1386, 1390, 1395,
389 1399, 1404, 1409, 1415, 1417, 1419, 1421, 1423, 1425, 1427,
390 1429, 1431, 1433, 1435, 1440, 1445, 1450, 1453, 1455, 1457,
391 1459, 1462, 1465, 1473, 1480, 1483, 1484, 1485, 1496, 1497,
392 1504, 1506, 1508, 1510, 1512, 1515, 1517, 1519, 1521, 1523,
393 1525, 1527, 1529, 1533, 1535, 1538, 1541, 1544, 1546, 1548,
394 1550, 1552, 1554, 1556, 1558, 1560, 1562, 1564, 1568, 1570,
395 1572, 1575, 1578, 1579, 1584, 1585, 1591, 1592, 1596, 1597,
396 1602, 1606, 1609, 1613, 1614, 1615, 1616, 1617, 1618, 1620,
397 1623, 1626, 1630, 1633, 1637, 1641, 1646, 1649, 1652, 1656,
398 1660, 1665, 1667, 1670, 1672, 1675, 1677, 1680, 1682, 1685,
399 1687, 1690, 1692, 1697, 1700, 1701, 1707, 1708, 1715, 1720,
400 1725, 1726, 1727, 1738, 1740, 1741, 1746, 1748, 1750, 1752,
401 1754, 1756, 1760, 1762, 1767, 1771, 1776, 1783, 1789, 1795,
402 1798, 1801, 1803, 1806, 1809, 1812, 1815, 1818, 1821, 1824,
403 1827, 1829, 1831, 1836, 1838, 1842, 1846, 1850, 1852, 1856,
404 1860, 1862, 1866, 1870, 1872, 1876, 1880, 1884, 1888, 1890,
405 1894, 1898, 1900, 1904, 1906, 1910, 1912, 1916, 1918, 1922,
406 1924, 1928, 1930, 1931, 1932, 1940, 1942, 1946, 1950, 1954,
407 1958, 1962, 1966, 1970, 1974, 1978, 1982, 1986, 1988, 1989,
408 1991, 1994, 2002, 2005, 2008, 2016, 2023, 2026, 2030, 2033,
409 2037, 2040, 2044, 2048, 2052, 2056, 2059, 2063, 2064, 2066,
410 2068, 2070, 2072, 2074, 2076, 2078, 2080
413 static const short yyrhs[] = { -1,
414 190, 0, 191, 0, 190, 191, 0, 256, 426, 0,
415 192, 0, 193, 0, 203, 0, 206, 0, 293, 0,
416 1, 0, 75, 313, 326, 336, 326, 426, 301, 88,
417 0, 75, 313, 326, 336, 326, 23, 301, 306, 305,
418 426, 88, 0, 0, 76, 194, 195, 426, 88, 0,
419 196, 0, 313, 326, 196, 0, 200, 0, 340, 200,
420 0, 428, 0, 301, 24, 326, 336, 301, 25, 0,
421 197, 26, 27, 0, 197, 26, 301, 292, 27, 326,
422 0, 0, 197, 302, 24, 25, 198, 208, 210, 0,
423 0, 197, 302, 24, 337, 25, 199, 208, 210, 0,
424 428, 0, 301, 24, 326, 196, 301, 25, 0, 200,
425 26, 27, 0, 200, 26, 301, 292, 27, 326, 0,
426 0, 200, 302, 24, 25, 201, 223, 0, 0, 200,
427 302, 24, 337, 25, 202, 223, 0, 0, 0, 77,
428 428, 24, 337, 25, 204, 223, 205, 426, 88, 0,
429 89, 367, 92, 0, 90, 354, 92, 0, 91, 355,
430 92, 0, 89, 92, 0, 252, 0, 0, 209, 225,
431 0, 0, 211, 212, 0, 213, 0, 0, 214, 177,
432 215, 88, 0, 0, 216, 215, 0, 216, 0, 219,
433 218, 219, 18, 0, 179, 0, 180, 0, 52, 0,
434 51, 0, 53, 0, 220, 0, 221, 24, 219, 25,
435 0, 24, 219, 222, 219, 25, 0, 427, 0, 183,
436 0, 185, 0, 217, 0, 33, 0, 32, 0, 0,
437 0, 226, 0, 0, 224, 226, 0, 233, 0, 227,
438 233, 0, 236, 0, 227, 236, 0, 249, 0, 249,
439 227, 0, 229, 0, 228, 21, 229, 0, 232, 230,
440 0, 427, 0, 183, 0, 86, 0, 87, 0, 116,
441 0, 117, 0, 130, 0, 0, 231, 232, 0, 0,
442 72, 234, 387, 426, 88, 239, 0, 0, 72, 235,
443 228, 426, 88, 239, 0, 74, 0, 240, 0, 0,
444 0, 72, 237, 387, 426, 239, 0, 0, 72, 238,
445 228, 426, 239, 0, 74, 0, 242, 0, 0, 240,
446 0, 0, 0, 73, 241, 257, 0, 0, 73, 243,
447 258, 0, 78, 0, 79, 0, 80, 0, 81, 0,
448 82, 0, 88, 0, 88, 0, 83, 0, 84, 0,
449 119, 0, 137, 0, 135, 0, 133, 0, 132, 0,
450 121, 0, 138, 0, 150, 0, 0, 244, 326, 250,
451 263, 426, 246, 301, 0, 0, 247, 326, 248, 251,
452 263, 426, 245, 301, 0, 336, 0, 313, 326, 336,
453 0, 0, 19, 254, 383, 0, 0, 387, 255, 376,
454 0, 207, 253, 0, 261, 426, 88, 0, 426, 88,
455 0, 261, 426, 0, 426, 0, 427, 0, 183, 0,
456 259, 26, 27, 0, 259, 26, 260, 27, 0, 34,
457 259, 0, 24, 259, 25, 0, 259, 28, 428, 0,
458 259, 44, 428, 0, 259, 0, 185, 0, 259, 0,
459 261, 21, 259, 0, 427, 0, 183, 0, 262, 26,
460 27, 0, 262, 26, 260, 27, 0, 34, 262, 0,
461 24, 262, 25, 0, 262, 28, 428, 0, 262, 44,
462 428, 0, 262, 0, 263, 21, 262, 0, 427, 0,
463 183, 0, 185, 0, 24, 290, 25, 0, 184, 0,
464 111, 0, 264, 0, 265, 26, 290, 27, 0, 265,
465 24, 25, 0, 265, 24, 266, 25, 0, 70, 24,
466 289, 21, 348, 25, 0, 265, 326, 28, 428, 301,
467 0, 265, 326, 44, 428, 301, 0, 265, 47, 0,
468 265, 48, 0, 289, 0, 266, 21, 289, 0, 265,
469 0, 47, 267, 0, 48, 267, 0, 29, 273, 0,
470 34, 273, 0, 33, 273, 0, 32, 273, 0, 31,
471 273, 0, 30, 273, 0, 270, 0, 269, 0, 268,
472 28, 428, 0, 428, 0, 46, 301, 24, 348, 326,
473 21, 268, 25, 301, 0, 0, 301, 271, 272, 0,
474 42, 24, 348, 25, 0, 42, 267, 0, 43, 24,
475 348, 25, 0, 43, 267, 0, 267, 0, 24, 348,
476 25, 273, 0, 273, 0, 274, 34, 273, 0, 274,
477 35, 273, 0, 274, 36, 273, 0, 274, 0, 275,
478 33, 274, 0, 275, 32, 274, 0, 275, 0, 276,
479 49, 275, 0, 276, 50, 275, 0, 276, 0, 277,
480 37, 276, 0, 277, 38, 276, 0, 277, 51, 276,
481 0, 277, 52, 276, 0, 277, 0, 278, 53, 277,
482 0, 278, 54, 277, 0, 278, 0, 279, 29, 278,
483 0, 279, 0, 280, 39, 279, 0, 280, 0, 281,
484 40, 280, 0, 281, 0, 0, 282, 55, 283, 281,
485 0, 282, 0, 0, 284, 56, 285, 282, 0, 284,
486 0, 0, 0, 284, 41, 287, 290, 22, 288, 286,
487 0, 286, 0, 267, 23, 289, 0, 267, 57, 289,
488 0, 267, 58, 289, 0, 267, 59, 289, 0, 267,
489 60, 289, 0, 267, 61, 289, 0, 267, 62, 289,
490 0, 267, 63, 289, 0, 267, 64, 289, 0, 267,
491 65, 289, 0, 267, 66, 289, 0, 289, 0, 290,
492 21, 289, 0, 0, 290, 0, 286, 0, 294, 0,
493 71, 0, 299, 0, 313, 301, 18, 0, 0, 313,
494 326, 336, 326, 295, 301, 305, 18, 301, 0, 0,
495 313, 326, 336, 326, 23, 296, 301, 306, 305, 18,
496 301, 0, 336, 326, 0, 0, 336, 326, 23, 298,
497 301, 306, 0, 0, 45, 313, 300, 326, 303, 301,
498 18, 0, 45, 313, 301, 18, 0, 45, 303, 301,
499 18, 0, 0, 0, 304, 301, 0, 297, 0, 303,
500 21, 326, 297, 0, 0, 305, 21, 326, 297, 0,
501 289, 0, 19, 307, 20, 0, 19, 307, 21, 20,
502 0, 306, 0, 307, 21, 306, 0, 112, 0, 110,
503 0, 113, 0, 114, 0, 115, 0, 108, 301, 0,
504 109, 301, 0, 116, 301, 0, 117, 301, 0, 130,
505 301, 0, 131, 301, 0, 132, 301, 0, 133, 301,
506 0, 118, 301, 0, 120, 301, 0, 119, 301, 0,
507 128, 301, 0, 129, 301, 0, 121, 301, 0, 123,
508 301, 0, 139, 301, 0, 140, 301, 0, 142, 301,
509 0, 143, 301, 0, 141, 301, 0, 136, 301, 0,
510 151, 301, 0, 134, 301, 0, 135, 301, 0, 137,
511 301, 0, 124, 301, 0, 127, 301, 0, 125, 301,
512 0, 126, 301, 0, 156, 301, 0, 157, 301, 0,
513 148, 301, 0, 158, 301, 0, 149, 301, 0, 152,
514 301, 0, 153, 301, 0, 154, 301, 0, 155, 301,
515 0, 150, 301, 0, 159, 301, 0, 160, 301, 0,
516 163, 301, 0, 164, 301, 0, 161, 301, 0, 162,
517 301, 0, 175, 301, 0, 147, 0, 144, 0, 145,
518 0, 146, 0, 165, 326, 0, 167, 326, 0, 166,
519 326, 0, 168, 326, 0, 169, 326, 0, 170, 326,
520 0, 171, 326, 0, 172, 326, 0, 173, 326, 0,
521 174, 326, 0, 429, 326, 0, 317, 326, 0, 331,
522 326, 0, 310, 326, 0, 301, 313, 301, 0, 315,
523 0, 315, 85, 314, 88, 0, 348, 0, 348, 21,
524 314, 0, 308, 316, 0, 309, 316, 0, 311, 316,
525 0, 0, 313, 0, 0, 0, 326, 67, 428, 301,
526 19, 318, 380, 327, 381, 319, 20, 0, 0, 0,
527 326, 68, 428, 301, 19, 320, 380, 327, 381, 321,
528 20, 0, 326, 67, 428, 301, 19, 20, 0, 326,
529 68, 428, 301, 19, 20, 0, 0, 0, 326, 67,
530 301, 19, 322, 380, 327, 381, 323, 20, 0, 0,
531 0, 326, 68, 301, 19, 324, 380, 327, 381, 325,
532 20, 0, 326, 67, 301, 19, 20, 0, 326, 68,
533 301, 19, 20, 0, 326, 67, 428, 326, 0, 326,
534 68, 428, 326, 0, 0, 328, 0, 206, 0, 327,
535 328, 0, 313, 326, 329, 301, 18, 0, 313, 301,
536 18, 0, 330, 326, 0, 329, 21, 330, 326, 0,
537 336, 0, 22, 301, 292, 0, 336, 22, 301, 292,
538 0, 326, 69, 19, 333, 20, 301, 0, 0, 326,
539 69, 428, 19, 332, 333, 20, 301, 0, 326, 69,
540 428, 301, 0, 334, 0, 333, 21, 334, 0, 333,
541 21, 0, 428, 0, 428, 23, 301, 292, 0, 197,
542 0, 350, 0, 340, 188, 0, 340, 335, 0, 197,
543 0, 340, 197, 0, 343, 0, 326, 341, 0, 108,
544 0, 109, 0, 338, 0, 339, 338, 0, 34, 0,
545 34, 339, 0, 34, 340, 0, 34, 339, 340, 0,
546 342, 0, 342, 21, 5, 0, 428, 0, 342, 21,
547 428, 0, 5, 0, 344, 0, 344, 21, 5, 0,
548 0, 345, 347, 0, 0, 344, 21, 346, 347, 0,
549 301, 313, 335, 301, 0, 428, 0, 312, 0, 312,
550 349, 0, 340, 0, 351, 0, 340, 351, 0, 0,
551 351, 0, 301, 24, 326, 349, 25, 0, 26, 27,
552 0, 26, 292, 27, 0, 351, 26, 27, 0, 351,
553 26, 292, 27, 0, 301, 24, 25, 0, 301, 24,
554 343, 25, 0, 351, 301, 24, 25, 0, 351, 301,
555 24, 343, 25, 0, 369, 0, 370, 0, 373, 0,
556 376, 0, 389, 0, 392, 0, 423, 0, 397, 0,
557 425, 0, 353, 0, 176, 427, 185, 88, 0, 178,
558 427, 185, 88, 0, 181, 427, 185, 88, 0, 22,
559 428, 0, 356, 0, 354, 0, 363, 0, 356, 363,
560 0, 396, 356, 0, 422, 368, 11, 24, 290, 25,
561 18, 0, 422, 368, 11, 24, 290, 25, 0, 358,
562 363, 0, 0, 0, 13, 24, 291, 18, 291, 18,
563 359, 291, 360, 25, 0, 0, 186, 378, 24, 362,
564 400, 25, 0, 187, 0, 369, 0, 370, 0, 373,
565 0, 365, 387, 0, 365, 0, 366, 0, 389, 0,
566 364, 0, 357, 0, 361, 0, 425, 0, 24, 363,
567 25, 0, 1, 0, 391, 363, 0, 378, 19, 0,
568 382, 20, 0, 368, 0, 386, 0, 369, 0, 370,
569 0, 373, 0, 377, 0, 390, 0, 392, 0, 397,
570 0, 424, 0, 24, 368, 25, 0, 425, 0, 1,
571 0, 428, 22, 0, 107, 352, 0, 0, 6, 292,
572 371, 22, 0, 0, 98, 6, 292, 372, 22, 0,
573 0, 7, 374, 22, 0, 0, 98, 7, 375, 22,
574 0, 24, 376, 25, 0, 378, 384, 0, 378, 385,
575 379, 0, 0, 0, 0, 0, 0, 20, 0, 107,
576 20, 0, 388, 20, 0, 388, 107, 20, 0, 387,
577 20, 0, 387, 107, 20, 0, 387, 388, 20, 0,
578 387, 388, 107, 20, 0, 19, 383, 0, 19, 20,
579 0, 19, 386, 20, 0, 19, 387, 20, 0, 19,
580 387, 388, 20, 0, 368, 0, 386, 368, 0, 293,
581 0, 387, 293, 0, 352, 0, 388, 352, 0, 18,
582 0, 290, 18, 0, 18, 0, 290, 18, 0, 290,
583 0, 8, 24, 290, 25, 0, 391, 352, 0, 0,
584 391, 352, 9, 393, 352, 0, 0, 10, 24, 290,
585 394, 25, 352, 0, 11, 24, 290, 25, 0, 11,
586 24, 290, 25, 0, 0, 0, 186, 398, 378, 24,
587 399, 400, 25, 376, 421, 379, 0, 402, 0, 0,
588 400, 401, 21, 402, 0, 420, 0, 427, 0, 184,
589 0, 183, 0, 185, 0, 24, 290, 25, 0, 403,
590 0, 265, 26, 290, 27, 0, 265, 24, 25, 0,
591 265, 24, 266, 25, 0, 70, 24, 289, 21, 348,
592 25, 0, 265, 326, 28, 428, 301, 0, 265, 326,
593 44, 428, 301, 0, 265, 47, 0, 265, 48, 0,
594 404, 0, 47, 267, 0, 48, 267, 0, 29, 273,
595 0, 34, 273, 0, 33, 273, 0, 32, 273, 0,
596 31, 273, 0, 30, 273, 0, 270, 0, 405, 0,
597 24, 348, 25, 273, 0, 406, 0, 274, 34, 273,
598 0, 274, 35, 273, 0, 274, 36, 273, 0, 407,
599 0, 275, 33, 274, 0, 275, 32, 274, 0, 408,
600 0, 276, 49, 275, 0, 276, 50, 275, 0, 409,
601 0, 277, 37, 276, 0, 277, 38, 276, 0, 277,
602 51, 276, 0, 277, 52, 276, 0, 410, 0, 278,
603 53, 277, 0, 278, 54, 277, 0, 411, 0, 279,
604 29, 278, 0, 412, 0, 280, 39, 279, 0, 413,
605 0, 281, 40, 280, 0, 414, 0, 282, 55, 281,
606 0, 415, 0, 284, 56, 282, 0, 416, 0, 0,
607 0, 284, 41, 418, 290, 22, 419, 286, 0, 417,
608 0, 267, 23, 289, 0, 267, 57, 289, 0, 267,
609 58, 289, 0, 267, 59, 289, 0, 267, 60, 289,
610 0, 267, 61, 289, 0, 267, 62, 289, 0, 267,
611 63, 289, 0, 267, 64, 289, 0, 267, 65, 289,
612 0, 267, 66, 289, 0, 187, 0, 0, 12, 0,
613 395, 352, 0, 422, 352, 11, 24, 290, 25, 18,
614 0, 358, 352, 0, 395, 368, 0, 422, 368, 11,
615 24, 290, 25, 18, 0, 422, 368, 11, 24, 290,
616 25, 0, 358, 368, 0, 14, 428, 18, 0, 15,
617 18, 0, 97, 15, 18, 0, 16, 18, 0, 93,
618 16, 18, 0, 94, 16, 18, 0, 95, 16, 18,
619 0, 96, 16, 18, 0, 17, 18, 0, 17, 290,
620 18, 0, 0, 18, 0, 182, 0, 183, 0, 186,
621 0, 187, 0, 427, 0, 184, 0, 188, 0, 184,
628 static const short yyrline[] = { 0,
629 260, 261, 264, 265, 268, 269, 270, 271, 272, 273,
630 274, 277, 279, 283, 283, 288, 294, 298, 299, 303,
631 304, 306, 308, 312, 315, 323, 326, 335, 336, 338,
632 340, 356, 360, 367, 371, 377, 379, 379, 383, 384,
633 385, 386, 389, 392, 393, 399, 400, 404, 407, 412,
634 419, 422, 423, 426, 431, 432, 435, 436, 437, 440,
635 441, 442, 447, 450, 451, 462, 466, 467, 472, 473,
636 483, 484, 487, 488, 491, 492, 495, 496, 499, 500,
637 503, 506, 507, 510, 511, 512, 513, 514, 517, 518,
638 521, 521, 524, 524, 527, 531, 532, 535, 535, 538,
639 538, 541, 545, 546, 549, 550, 553, 559, 566, 572,
640 579, 580, 581, 582, 583, 586, 589, 592, 593, 596,
641 597, 598, 599, 600, 601, 602, 603, 606, 612, 619,
642 625, 634, 640, 644, 646, 650, 653, 660, 670, 671,
643 674, 675, 678, 679, 680, 681, 682, 683, 684, 685,
644 689, 690, 694, 695, 698, 700, 702, 703, 704, 705,
645 706, 708, 712, 716, 728, 729, 730, 731, 732, 733,
646 736, 737, 738, 739, 740, 741, 742, 743, 744, 747,
647 748, 751, 752, 753, 754, 755, 756, 757, 758, 759,
648 760, 761, 764, 765, 768, 772, 773, 776, 777, 778,
649 779, 782, 783, 787, 788, 789, 790, 793, 794, 795,
650 798, 799, 800, 803, 804, 805, 806, 807, 810, 811,
651 812, 815, 816, 819, 820, 824, 825, 828, 829, 834,
652 840, 841, 847, 853, 854, 854, 856, 859, 860, 861,
653 862, 863, 864, 865, 866, 867, 868, 869, 870, 873,
654 874, 877, 878, 881, 886, 887, 888, 891, 904, 908,
655 909, 912, 917, 918, 918, 923, 924, 925, 926, 929,
656 932, 935, 938, 939, 942, 943, 946, 947, 948, 952,
657 954, 963, 964, 965, 966, 967, 970, 971, 972, 973,
658 974, 975, 976, 977, 978, 979, 980, 981, 982, 983,
659 984, 985, 986, 987, 988, 989, 990, 991, 992, 993,
660 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
661 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
662 1014, 1015, 1021, 1022, 1023, 1024, 1027, 1028, 1029, 1030,
663 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
664 1043, 1047, 1048, 1052, 1053, 1057, 1058, 1059, 1062, 1063,
665 1066, 1068, 1070, 1071, 1073, 1075, 1076, 1078, 1080, 1082,
666 1084, 1085, 1087, 1089, 1090, 1092, 1094, 1095, 1098, 1101,
667 1102, 1103, 1106, 1108, 1112, 1114, 1118, 1119, 1120, 1124,
668 1126, 1126, 1128, 1131, 1133, 1135, 1138, 1143, 1150, 1151,
669 1152, 1159, 1163, 1164, 1168, 1169, 1172, 1173, 1176, 1177,
670 1180, 1181, 1182, 1183, 1186, 1187, 1190, 1191, 1194, 1195,
671 1196, 1199, 1199, 1200, 1201, 1204, 1216, 1232, 1233, 1236,
672 1237, 1238, 1241, 1242, 1245, 1247, 1248, 1250, 1251, 1253,
673 1255, 1257, 1259, 1265, 1266, 1267, 1268, 1269, 1270, 1271,
674 1272, 1273, 1275, 1279, 1281, 1283, 1289, 1294, 1297, 1300,
675 1301, 1305, 1307, 1309, 1311, 1315, 1316, 1318, 1322, 1324,
676 1326, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337,
677 1338, 1339, 1340, 1341, 1344, 1350, 1353, 1356, 1357, 1360,
678 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370,
679 1373, 1374, 1380, 1381, 1382, 1383, 1386, 1387, 1388, 1389,
680 1392, 1393, 1397, 1400, 1403, 1406, 1409, 1412, 1415, 1416,
681 1417, 1418, 1420, 1421, 1423, 1425, 1432, 1436, 1438, 1440,
682 1442, 1446, 1447, 1450, 1451, 1454, 1455, 1458, 1459, 1462,
683 1463, 1464, 1467, 1475, 1480, 1481, 1485, 1486, 1489, 1494,
684 1497, 1498, 1499, 1507, 1508, 1508, 1512, 1513, 1514, 1525,
685 1532, 1533, 1536, 1537, 1538, 1539, 1540, 1542, 1543, 1544,
686 1545, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556,
687 1557, 1560, 1561, 1564, 1565, 1566, 1567, 1570, 1571, 1572,
688 1575, 1576, 1577, 1580, 1581, 1582, 1583, 1584, 1587, 1588,
689 1589, 1592, 1593, 1596, 1597, 1601, 1602, 1605, 1606, 1609,
690 1610, 1613, 1614, 1615, 1616, 1619, 1620, 1621, 1622, 1623,
691 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1633, 1634, 1637,
692 1640, 1642, 1644, 1648, 1649, 1651, 1653, 1656, 1657, 1658,
693 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1669, 1670, 1673,
694 1676, 1677, 1678, 1679, 1680, 1683, 1684
699 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
701 static const char * const yytname[] = { "$","error","$undefined.","BADTOK",
702 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
703 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
704 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
705 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
706 "TBAR","TQUEST","CSIZEOF","CALIGNOF","ARROW_OP","CTYPEDEF","COFFSETOF","INC_OP",
707 "DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP",
708 "MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
709 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
710 "VA_ARG","VA_DCL","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION","QITER",
711 "QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
712 "QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND","TENDMACRO",
713 "QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE","QFALLTHROUGH",
714 "QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED","QPRINTFLIKE",
715 "QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST","QVOLATILE",
716 "QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT","QIN",
717 "QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
718 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
719 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
720 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
721 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
722 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
723 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
724 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
725 "QSETBUFFERSIZE","QBUFFERCONSTRAINT","QSETSTRINGLENGTH","QMAXSET","QMAXREAD",
726 "QTESTINRANGE","IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID","CCONSTANT","ITER_NAME",
727 "ITER_ENDNAME","TYPE_NAME","file","externalDefs","externalDef","constantDecl",
728 "fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2","@3","plainNamedDeclBase",
729 "@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr","optGlobMods","@8","optGlobBufConstraints",
730 "@9","optGlobBufConstraintsRest","optGlobBufConstraintsAux","@10","BufConstraintList",
731 "BufConstraint","bufferModifier","relationalOp","BufConstraintExpr","BufConstraintTerm",
732 "BufUnaryOp","BufBinaryOp","optPlainGlobMods","@12","optGlobModsRest","optPlainGlobModsRest",
733 "specialClauses","globIdList","globIdListExpr","globId","globQual","optGlobQuals",
734 "optGlobModsAux","@13","@14","optPlainGlobModsAux","@15","@16","optMods","fcnMods",
735 "@17","fcnPlainMods","@18","specialTag","endStateTag","endSpecialTag","stateSpecialClause",
736 "specialClauseType","specialClause","@19","@20","fcnDefHdrAux","fcnBody","@21",
737 "@22","fcnDef","locModifies","locPlainModifies","modListExpr","mExpr","modList",
738 "specClauseListExpr","specClauseList","primaryExpr","postfixExpr","argumentExprList",
739 "unaryExpr","fieldDesignator","offsetofExpr","sizeofExpr","@23","sizeofExprAux",
740 "castExpr","timesExpr","plusExpr","shiftExpr","relationalExpr","equalityExpr",
741 "bitandExpr","xorExpr","bitorExpr","andExpr","@24","orExpr","@25","conditionalExpr",
742 "@26","@27","assignExpr","expr","optExpr","constantExpr","initializer","instanceDecl",
743 "@28","@29","namedInitializer","@30","typeDecl","@31","IsType","PushType","namedInitializerList",
744 "namedInitializerListAux","optDeclarators","init","initList","storageSpecifier",
745 "typeQualifier","typeModifier","typeSpecifier","completeType","completeTypeSpecifier",
746 "altType","completeTypeSpecifierAux","optCompleteType","suSpc","@32","@33","@34",
747 "@35","@36","@37","@38","@39","NotType","structDeclList","structDecl","structNamedDeclList",
748 "structNamedDecl","enumSpc","@40","enumeratorList","enumerator","optNamedDecl",
749 "namedDecl","genericParamList","innerMods","innerModsList","pointers","paramIdList",
750 "idList","paramTypeList","paramList","@41","@42","paramDecl","typeExpression",
751 "abstractDecl","optAbstractDeclBase","abstractDeclBase","stmt","lclintassertion",
752 "iterBody","endBody","iterDefStmtList","iterDefIterationStmt","forPred","@43",
753 "@44","partialIterStmt","@45","iterDefStmt","iterSelectionStmt","openScope",
754 "closeScope","macroBody","stmtErr","labeledStmt","caseStmt","@46","@47","defaultStmt",
755 "@48","@49","compoundStmt","compoundStmtErr","CreateInnerScope","DeleteInnerScope",
756 "CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe","compoundStmtRest",
757 "compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList","stmtList",
758 "expressionStmt","expressionStmtErr","ifPred","selectionStmt","@50","@51","whilePred",
759 "iterWhilePred","iterStmt","@52","@53","iterArgList","@54","iterArgExpr","primaryIterExpr",
760 "postfixIterExpr","unaryIterExpr","castIterExpr","timesIterExpr","plusIterExpr",
761 "shiftIterExpr","relationalIterExpr","equalityIterExpr","bitandIterExpr","xorIterExpr",
762 "bitorIterExpr","andIterExpr","orIterExpr","conditionalIterExpr","@55","@56",
763 "assignIterExpr","endIter","doHeader","iterationStmt","iterationStmtErr","jumpStmt",
764 "optSemi","id","newId","typeName", NULL
768 static const short yyr1[] = { 0,
769 189, 189, 190, 190, 191, 191, 191, 191, 191, 191,
770 191, 192, 192, 194, 193, 195, 195, 196, 196, 197,
771 197, 197, 197, 198, 197, 199, 197, 200, 200, 200,
772 200, 201, 200, 202, 200, 204, 205, 203, 206, 206,
773 206, 206, 207, 209, 208, 211, 210, 212, 214, 213,
774 213, 215, 215, 216, 217, 217, 218, 218, 218, 219,
775 219, 219, 220, 220, 220, 221, 222, 222, -1, -1,
776 224, 223, 225, 225, 226, 226, 227, 227, 228, 228,
777 229, 230, 230, 231, 231, 231, 231, 231, 232, 232,
778 234, 233, 235, 233, 233, 233, 233, 237, 236, 238,
779 236, 236, 236, 236, 239, 239, 241, 240, 243, 242,
780 244, 244, 244, 244, 244, 245, 246, 247, 247, 248,
781 248, 248, 248, 248, 248, 248, 248, 250, 249, 251,
782 249, 252, 252, 254, 253, 255, 253, 256, 257, 257,
783 258, 258, 259, 259, 259, 259, 259, 259, 259, 259,
784 260, 260, 261, 261, 262, 262, 262, 262, 262, 262,
785 262, 262, 263, 263, 264, 264, 264, 264, 264, 264,
786 265, 265, 265, 265, 265, 265, 265, 265, 265, 266,
787 266, 267, 267, 267, 267, 267, 267, 267, 267, 267,
788 267, 267, 268, 268, 269, 271, 270, 272, 272, 272,
789 272, 273, 273, 274, 274, 274, 274, 275, 275, 275,
790 276, 276, 276, 277, 277, 277, 277, 277, 278, 278,
791 278, 279, 279, 280, 280, 281, 281, 282, 283, 282,
792 284, 285, 284, 286, 287, 288, 286, 289, 289, 289,
793 289, 289, 289, 289, 289, 289, 289, 289, 289, 290,
794 290, 291, 291, 292, 293, 293, 293, 294, 295, 294,
795 296, 294, 297, 298, 297, 300, 299, 299, 299, 301,
796 302, 303, 304, 304, 305, 305, 306, 306, 306, 307,
797 307, 308, 308, 308, 308, 308, 309, 309, 309, 309,
798 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
799 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
800 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
801 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
802 309, 309, 310, 310, 310, 310, 311, 311, 311, 311,
803 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
804 312, 313, 313, 314, 314, 315, 315, 315, 316, 316,
805 318, 319, 317, 320, 321, 317, 317, 317, 322, 323,
806 317, 324, 325, 317, 317, 317, 317, 317, 326, 327,
807 327, 327, 328, 328, 329, 329, 330, 330, 330, 331,
808 332, 331, 331, 333, 333, 333, 334, 334, 335, 335,
809 335, 335, 336, 336, 337, 337, 338, 338, 339, 339,
810 340, 340, 340, 340, 341, 341, 342, 342, 343, 343,
811 343, 345, 344, 346, 344, 347, 347, 348, 348, 349,
812 349, 349, 350, 350, 351, 351, 351, 351, 351, 351,
813 351, 351, 351, 352, 352, 352, 352, 352, 352, 352,
814 352, 352, 352, 353, 353, 353, -1, 354, 355, 356,
815 356, 357, 357, 357, 357, 359, 360, 358, 362, 361,
816 361, 363, 363, 363, 363, 363, 363, 363, 363, 363,
817 363, 363, 363, 363, 364, 365, 366, 367, 367, 368,
818 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
819 369, 369, 371, 370, 372, 370, 374, 373, 375, 373,
820 376, 376, 377, 378, 379, 380, 381, 382, 383, 383,
821 383, 383, 383, 383, 383, 383, 384, 385, 385, 385,
822 385, 386, 386, 387, 387, 388, 388, 389, 389, 390,
823 390, 390, 391, 392, 393, 392, 394, 392, 395, 396,
824 398, 399, 397, 400, 401, 400, 402, 402, 402, 402,
825 403, 403, 404, 404, 404, 404, 404, 404, 404, 404,
826 404, 405, 405, 405, 405, 405, 405, 405, 405, 405,
827 405, 406, 406, 407, 407, 407, 407, 408, 408, 408,
828 409, 409, 409, 410, 410, 410, 410, 410, 411, 411,
829 411, 412, 412, 413, 413, 414, 414, 415, 415, 416,
830 416, 417, 418, 419, 417, 420, 420, 420, 420, 420,
831 420, 420, 420, 420, 420, 420, 420, 421, 421, 422,
832 423, 423, 423, 424, 424, 424, 424, 425, 425, 425,
833 425, 425, 425, 425, 425, 425, 425, 426, 426, 427,
834 428, 428, 428, 428, 428, 429, 429
837 static const short yyr2[] = { 0,
838 0, 1, 1, 2, 2, 1, 1, 1, 1, 1,
839 1, 8, 11, 0, 5, 1, 3, 1, 2, 1,
840 6, 3, 6, 0, 7, 0, 8, 1, 6, 3,
841 6, 0, 6, 0, 7, 0, 0, 10, 3, 3,
842 3, 2, 1, 0, 2, 0, 2, 1, 0, 4,
843 0, 2, 1, 4, 1, 1, 1, 1, 1, 1,
844 4, 5, 1, 1, 1, 1, 1, 1, 0, 2,
845 0, 2, 1, 2, 1, 2, 1, 2, 1, 3,
846 2, 1, 1, 1, 1, 1, 1, 1, 0, 2,
847 0, 6, 0, 6, 1, 1, 0, 0, 5, 0,
848 5, 1, 1, 0, 1, 0, 0, 3, 0, 3,
849 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
850 1, 1, 1, 1, 1, 1, 1, 0, 7, 0,
851 8, 1, 3, 0, 3, 0, 3, 2, 3, 2,
852 2, 1, 1, 1, 3, 4, 2, 3, 3, 3,
853 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
854 3, 3, 1, 3, 1, 1, 1, 3, 1, 1,
855 1, 4, 3, 4, 6, 5, 5, 2, 2, 1,
856 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
857 1, 1, 3, 1, 9, 0, 3, 4, 2, 4,
858 2, 1, 4, 1, 3, 3, 3, 1, 3, 3,
859 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
860 3, 1, 3, 1, 3, 1, 3, 1, 0, 4,
861 1, 0, 4, 1, 0, 0, 7, 1, 3, 3,
862 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
863 3, 0, 1, 1, 1, 1, 1, 3, 0, 9,
864 0, 11, 2, 0, 6, 0, 7, 4, 4, 0,
865 0, 2, 1, 4, 0, 4, 1, 3, 4, 1,
866 3, 1, 1, 1, 1, 1, 2, 2, 2, 2,
867 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
868 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
869 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
870 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
871 2, 2, 1, 1, 1, 1, 2, 2, 2, 2,
872 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
873 3, 1, 4, 1, 3, 2, 2, 2, 0, 1,
874 0, 0, 11, 0, 0, 11, 6, 6, 0, 0,
875 10, 0, 0, 10, 5, 5, 4, 4, 0, 1,
876 1, 2, 5, 3, 2, 4, 1, 3, 4, 6,
877 0, 8, 4, 1, 3, 2, 1, 4, 1, 1,
878 2, 2, 1, 2, 1, 2, 1, 1, 1, 2,
879 1, 2, 2, 3, 1, 3, 1, 3, 1, 1,
880 3, 0, 2, 0, 4, 4, 1, 1, 2, 1,
881 1, 2, 0, 1, 5, 2, 3, 3, 4, 3,
882 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
883 1, 1, 1, 4, 4, 4, 2, 1, 1, 1,
884 2, 2, 7, 6, 2, 0, 0, 10, 0, 6,
885 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
886 1, 1, 3, 1, 2, 2, 2, 1, 1, 1,
887 1, 1, 1, 1, 1, 1, 1, 3, 1, 1,
888 2, 2, 0, 4, 0, 5, 0, 3, 0, 4,
889 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
890 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
891 4, 1, 2, 1, 2, 1, 2, 1, 2, 1,
892 2, 1, 4, 2, 0, 5, 0, 6, 4, 4,
893 0, 0, 10, 1, 0, 4, 1, 1, 1, 1,
894 1, 3, 1, 4, 3, 4, 6, 5, 5, 2,
895 2, 1, 2, 2, 2, 2, 2, 2, 2, 2,
896 1, 1, 4, 1, 3, 3, 3, 1, 3, 3,
897 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
898 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
899 3, 1, 0, 0, 7, 1, 3, 3, 3, 3,
900 3, 3, 3, 3, 3, 3, 3, 1, 0, 1,
901 2, 7, 2, 2, 7, 6, 2, 3, 2, 3,
902 2, 3, 3, 3, 3, 2, 3, 0, 1, 1,
906 static const short yydefact[] = { 0,
907 11, 411, 379, 256, 379, 14, 0, 0, 0, 0,
908 270, 270, 283, 282, 284, 285, 286, 270, 270, 270,
909 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
910 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
911 270, 270, 270, 334, 335, 336, 333, 270, 270, 270,
912 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
913 270, 270, 270, 270, 379, 379, 379, 379, 379, 379,
914 379, 379, 379, 379, 270, 650, 651, 655, 652, 653,
915 656, 0, 3, 6, 7, 403, 8, 9, 379, 43,
916 648, 10, 255, 257, 0, 359, 359, 379, 359, 379,
917 352, 379, 0, 379, 132, 270, 654, 20, 379, 407,
918 408, 409, 412, 413, 273, 270, 270, 266, 379, 657,
919 379, 379, 655, 0, 500, 270, 507, 0, 0, 0,
920 630, 0, 0, 0, 0, 270, 540, 0, 270, 270,
921 270, 270, 270, 270, 270, 270, 270, 0, 42, 0,
922 0, 0, 0, 0, 0, 270, 170, 166, 169, 167,
923 551, 171, 182, 202, 192, 191, 204, 208, 211, 214,
924 219, 222, 224, 226, 228, 231, 234, 238, 250, 542,
925 196, 0, 0, 532, 490, 491, 492, 493, 0, 0,
926 494, 270, 495, 0, 496, 0, 497, 499, 165, 0,
927 484, 0, 538, 0, 514, 471, 0, 0, 0, 480,
928 0, 481, 460, 479, 476, 477, 472, 473, 474, 0,
929 0, 478, 0, 0, 0, 482, 459, 0, 287, 288,
930 289, 290, 295, 297, 296, 300, 301, 312, 314, 315,
931 313, 298, 299, 291, 292, 293, 294, 309, 310, 307,
932 311, 302, 303, 306, 304, 305, 318, 320, 325, 308,
933 321, 322, 323, 324, 316, 317, 319, 326, 327, 330,
934 331, 328, 329, 337, 339, 338, 340, 341, 342, 343,
935 344, 345, 346, 332, 4, 270, 0, 134, 138, 534,
936 379, 379, 649, 5, 379, 360, 356, 357, 350, 358,
937 0, 270, 270, 348, 270, 270, 0, 349, 404, 347,
938 410, 414, 379, 0, 272, 379, 0, 263, 270, 648,
939 16, 18, 0, 379, 270, 28, 422, 270, 166, 169,
940 202, 254, 503, 165, 0, 270, 270, 270, 270, 0,
941 639, 641, 646, 0, 0, 379, 428, 0, 0, 185,
942 190, 189, 188, 187, 186, 0, 270, 183, 184, 270,
943 0, 0, 0, 0, 0, 270, 509, 270, 0, 0,
944 0, 502, 453, 270, 444, 445, 446, 447, 0, 448,
945 449, 270, 451, 270, 450, 452, 514, 270, 270, 178,
946 179, 0, 270, 270, 270, 270, 270, 270, 270, 270,
947 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
948 270, 270, 270, 270, 270, 270, 270, 270, 270, 229,
949 235, 232, 541, 270, 0, 637, 39, 0, 515, 533,
950 544, 634, 0, 501, 270, 0, 0, 0, 539, 40,
951 461, 465, 475, 486, 487, 485, 0, 0, 41, 22,
952 270, 422, 379, 270, 514, 535, 270, 258, 133, 379,
953 0, 354, 0, 379, 0, 379, 0, 270, 270, 269,
954 270, 268, 264, 379, 0, 270, 0, 379, 270, 19,
955 419, 0, 0, 405, 420, 270, 0, 0, 508, 0,
956 547, 0, 253, 0, 638, 647, 168, 270, 270, 0,
957 430, 429, 431, 270, 498, 270, 0, 642, 643, 644,
958 645, 640, 505, 0, 0, 0, 0, 0, 633, 379,
959 512, 631, 0, 0, 173, 0, 180, 0, 0, 0,
960 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
961 249, 205, 206, 207, 210, 209, 212, 213, 215, 216,
962 217, 218, 220, 221, 223, 225, 227, 270, 270, 270,
963 251, 270, 270, 197, 528, 169, 532, 0, 379, 513,
964 545, 0, 0, 483, 469, 0, 0, 24, 0, 519,
965 270, 536, 135, 379, 270, 379, 514, 137, 270, 259,
966 353, 270, 369, 0, 377, 372, 0, 378, 0, 394,
967 397, 391, 393, 274, 270, 270, 648, 15, 30, 270,
968 422, 270, 17, 406, 415, 417, 36, 424, 379, 423,
969 427, 504, 543, 0, 549, 270, 351, 436, 0, 422,
970 432, 270, 0, 203, 379, 270, 0, 510, 511, 0,
971 0, 0, 527, 0, 552, 270, 174, 172, 270, 270,
972 230, 0, 233, 270, 199, 270, 201, 529, 530, 270,
973 270, 270, 550, 270, 270, 379, 44, 26, 520, 523,
974 270, 270, 521, 270, 537, 0, 261, 270, 355, 375,
975 516, 361, 376, 516, 364, 270, 396, 270, 0, 0,
976 270, 270, 270, 0, 32, 0, 270, 0, 71, 421,
977 270, 433, 270, 0, 437, 440, 270, 0, 438, 0,
978 422, 0, 0, 506, 454, 455, 456, 270, 270, 181,
979 176, 177, 236, 0, 0, 531, 546, 0, 270, 270,
980 270, 270, 270, 270, 270, 270, 270, 0, 166, 169,
981 167, 182, 202, 191, 208, 211, 214, 219, 222, 224,
982 226, 228, 231, 0, 555, 554, 563, 572, 582, 584,
983 588, 591, 594, 599, 602, 604, 606, 608, 610, 612,
984 616, 557, 165, 0, 23, 46, 97, 44, 524, 525,
985 270, 522, 21, 270, 275, 379, 367, 516, 379, 368,
986 516, 390, 395, 270, 0, 267, 270, 277, 265, 270,
987 0, 379, 71, 34, 0, 416, 418, 37, 104, 425,
988 399, 0, 270, 433, 400, 434, 548, 466, 0, 441,
989 439, 442, 0, 0, 175, 0, 555, 270, 198, 200,
990 636, 0, 0, 185, 190, 189, 188, 187, 186, 183,
991 184, 270, 270, 270, 178, 179, 0, 270, 270, 270,
992 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
993 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
994 270, 270, 270, 270, 229, 613, 232, 470, 0, 464,
995 25, 51, 91, 107, 95, 111, 112, 113, 114, 115,
996 118, 119, 45, 97, 73, 96, 379, 379, 77, 46,
997 526, 270, 0, 381, 379, 379, 380, 379, 379, 379,
998 398, 270, 280, 0, 275, 12, 31, 33, 71, 29,
999 648, 98, 109, 102, 72, 104, 75, 103, 422, 426,
1000 401, 402, 270, 435, 443, 0, 194, 0, 514, 237,
1001 635, 168, 270, 0, 173, 0, 0, 0, 0, 617,
1002 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
1003 205, 206, 207, 210, 209, 212, 213, 215, 216, 217,
1004 218, 220, 221, 223, 225, 227, 609, 270, 611, 270,
1005 463, 47, 48, 0, 379, 89, 648, 74, 128, 0,
1006 78, 27, 275, 270, 379, 0, 270, 382, 370, 379,
1007 373, 379, 392, 278, 270, 648, 35, 0, 379, 89,
1008 648, 76, 270, 467, 270, 0, 632, 629, 203, 270,
1009 174, 172, 270, 270, 0, 556, 0, 379, 84, 85,
1010 86, 87, 88, 648, 79, 89, 0, 0, 0, 144,
1011 108, 153, 648, 0, 143, 0, 120, 125, 124, 123,
1012 122, 121, 126, 127, 130, 0, 260, 270, 384, 270,
1013 270, 379, 387, 0, 362, 0, 365, 279, 281, 0,
1014 38, 648, 648, 110, 648, 142, 270, 0, 195, 193,
1015 628, 515, 0, 176, 177, 614, 0, 55, 56, 64,
1016 65, 0, 53, 66, 0, 60, 0, 63, 0, 89,
1017 0, 90, 83, 81, 82, 0, 147, 0, 0, 0,
1018 0, 0, 140, 0, 0, 156, 163, 648, 155, 0,
1019 270, 276, 270, 270, 0, 385, 270, 371, 0, 374,
1020 0, 13, 106, 106, 141, 468, 553, 175, 270, 0,
1021 50, 52, 58, 57, 59, 0, 0, 106, 80, 106,
1022 148, 145, 152, 151, 0, 149, 150, 154, 139, 0,
1023 159, 0, 0, 0, 0, 0, 648, 262, 388, 379,
1024 383, 270, 363, 366, 99, 105, 101, 615, 68, 67,
1025 0, 0, 0, 92, 94, 146, 160, 157, 0, 161,
1026 162, 164, 117, 270, 0, 386, 389, 0, 54, 61,
1027 158, 129, 116, 270, 62, 131, 0, 0, 0
1030 static const short yydefgoto[] = { 1207,
1031 82, 83, 84, 85, 122, 320, 321, 86, 667, 778,
1032 322, 803, 919, 87, 699, 921, 904, 89, 776, 777,
1033 881, 882, 982, 983, 984, 1092, 1093, 1094, 1146, 1095,
1034 1096, 1097, 1181, 808, 809, 893, 925, 894, 1034, 1035,
1035 1104, 1036, 1037, 895, 985, 986, 927, 1009, 1010, 1175,
1036 1176, 987, 928, 1011, 897, 1204, 1194, 898, 1055, 899,
1037 1046, 1120, 90, 289, 453, 455, 91, 1041, 1074, 1042,
1038 1155, 1043, 1117, 1118, 162, 163, 526, 164, 936, 165,
1039 166, 425, 564, 167, 168, 169, 170, 171, 172, 173,
1040 174, 175, 176, 558, 177, 560, 178, 559, 828, 179,
1041 207, 494, 333, 290, 93, 678, 784, 115, 606, 94,
1042 316, 181, 287, 116, 117, 903, 799, 914, 96, 97,
1043 98, 99, 347, 291, 461, 101, 297, 102, 788, 1129,
1044 791, 1131, 681, 1064, 684, 1066, 103, 906, 907, 1061,
1045 1062, 104, 689, 599, 600, 813, 119, 483, 112, 113,
1046 106, 614, 615, 484, 485, 486, 701, 620, 348, 819,
1047 815, 503, 372, 373, 208, 228, 209, 210, 374, 933,
1048 1078, 212, 664, 213, 214, 215, 216, 183, 430, 375,
1049 376, 488, 637, 377, 335, 514, 378, 188, 379, 570,
1050 786, 999, 221, 583, 521, 429, 190, 584, 585, 380,
1051 191, 192, 381, 661, 624, 382, 224, 383, 387, 719,
1052 755, 879, 756, 757, 758, 759, 760, 761, 762, 763,
1053 764, 765, 766, 767, 768, 769, 770, 771, 978, 1139,
1054 772, 1082, 384, 385, 197, 386, 294, 334, 200, 109
1057 static const short yypact[] = { 2181,
1058 -32768, 89, 5902,-32768, 6571,-32768, 817, 3148, 3526, 3526,
1059 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1060 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1061 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1062 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1063 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1064 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1065 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 446,-32768,-32768,
1066 -32768, 2357,-32768,-32768,-32768, 207,-32768,-32768, 5594,-32768,
1067 110,-32768,-32768,-32768, 184, 6407, 6407,-32768, 6407, 131,
1068 160,-32768, 604,-32768,-32768, 817,-32768,-32768,-32768,-32768,
1069 -32768,-32768, 89,-32768,-32768, 198,-32768, 131,-32768,-32768,
1070 -32768, 5902,-32768, 230,-32768, 2353,-32768, 256, 307, 369,
1071 -32768, 403, 817, 272, 417, 1001,-32768, 2729, 2353, 2353,
1072 2353, 2353, 2353, 2353,-32768, 3628, 3628, 425,-32768, 445,
1073 473, 503, 514, 523, 337, 5041,-32768, 566, 581,-32768,
1074 660,-32768, 755, 1187,-32768,-32768,-32768, 728, 331, 455,
1075 556, 500, 671, 584, 665, 686, 100,-32768,-32768, 260,
1076 -32768, 3672, 657, 684,-32768,-32768,-32768,-32768, 766, 3294,
1077 -32768, 5041,-32768, 3672,-32768, 3672,-32768,-32768, 778, 785,
1078 -32768, 791,-32768, 2917, 660, 812, 332, 750, 3337,-32768,
1079 3526,-32768,-32768,-32768, 6167,-32768,-32768,-32768,-32768, 847,
1080 843,-32768, 3526, 3526, 3672,-32768,-32768, 792,-32768,-32768,
1081 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1082 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1083 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1084 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1085 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1086 -32768,-32768,-32768,-32768,-32768, 873, 868,-32768,-32768,-32768,
1087 131, 5437,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1088 891, 802,-32768,-32768, 817, 817, 224,-32768, 207,-32768,
1089 -32768,-32768,-32768, 913,-32768,-32768, 934, 919, 802, 110,
1090 -32768, 288, 936,-32768, 817,-32768, 85, 2353,-32768,-32768,
1091 -32768,-32768,-32768,-32768, 939, 2353, 2353, 2353, 1330, 945,
1092 -32768,-32768,-32768, 367, 380, 6036, 396, 946, 948,-32768,
1093 -32768,-32768,-32768,-32768,-32768, 963, 2353,-32768,-32768, 2353,
1094 952, 975, 977, 978, 980, 2353,-32768, 1749, 823, 823,
1095 823,-32768,-32768, 5041,-32768,-32768,-32768,-32768, 988,-32768,
1096 -32768, 5041,-32768, 5041,-32768,-32768,-32768, 1940, 2353,-32768,
1097 -32768, 125, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353,
1098 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353,
1099 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353,-32768,
1100 -32768,-32768,-32768, 2353, 482,-32768,-32768, 2541,-32768,-32768,
1101 1005,-32768, 1006,-32768, 2353, 562, 991, 1002,-32768,-32768,
1102 -32768,-32768, 6167,-32768,-32768,-32768, 3105, 1017,-32768,-32768,
1103 2353, 291, 3774, 802, 1003,-32768, 802,-32768, 277, 6571,
1104 949, 1015, 1019, 1023, 1024, 1023, 817, 1025, 802,-32768,
1105 802,-32768,-32768,-32768, 951, 1013, 1022,-32768, 802, 288,
1106 -32768, 817, 1027,-32768, 1029, 817, 348, 1031,-32768, 350,
1107 1033, 412, 1033, 1038,-32768,-32768,-32768,-32768, 1872, 1035,
1108 458,-32768, 695, 2353,-32768,-32768, 1036,-32768,-32768,-32768,
1109 -32768,-32768,-32768, 1040, 1039, 860, 878, 882,-32768, 3774,
1110 -32768,-32768, 1058, 1046,-32768, 442,-32768, 140, 817, 817,
1111 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1112 -32768,-32768,-32768,-32768, 728, 728, 331, 331, 455, 455,
1113 455, 455, 556, 556, 500, 671, 584, 2353, 2353, 2353,
1114 -32768, 4408, 4633,-32768,-32768, 5825,-32768, 3483, 3957,-32768,
1115 -32768, 1048, 489,-32768,-32768, 1050, 1049,-32768, 1055,-32768,
1116 4323,-32768,-32768, 4140, 4366,-32768, 1003,-32768,-32768, 1052,
1117 -32768,-32768, 1071, 1073,-32768, 1076, 1079,-32768, 542,-32768,
1118 1083,-32768,-32768,-32768, 198,-32768, 199,-32768,-32768, 2353,
1119 374, 802,-32768,-32768, 1089,-32768,-32768, 1106, 6571,-32768,
1120 -32768,-32768,-32768, 1088,-32768, 1330,-32768,-32768, 1090, 793,
1121 695, 1990, 1091,-32768,-32768,-32768, 1097,-32768,-32768, 1034,
1122 1042, 1044,-32768, 1102,-32768, 2353,-32768,-32768,-32768,-32768,
1123 665, 550, 686, 2353,-32768, 2353,-32768,-32768,-32768, 4548,
1124 5041, 2353,-32768, 4858, 2353,-32768,-32768,-32768,-32768,-32768,
1125 4591, 4773,-32768, 4816,-32768, 1098,-32768,-32768,-32768,-32768,
1126 -32768, 1113,-32768,-32768, 1114,-32768, 817,-32768, 817, 1118,
1127 1797,-32768,-32768, 1111,-32768, 1116,-32768, 153,-32768,-32768,
1128 817, 540, 5041, 1121,-32768,-32768, 249, 1120,-32768, 1122,
1129 122, 1126, 1123,-32768,-32768,-32768,-32768, 2353, 4858,-32768,
1130 -32768,-32768,-32768, 1125, 1127,-32768,-32768, 491, 2353, 2353,
1131 2353, 2353, 2353, 2353, 2353, 3628, 3628, 1129, 574, 579,
1132 594, 809, 1741, 601, 930, 602, 597, 638, 609, 1128,
1133 1119, 1130, 1101, 150, 1140,-32768,-32768,-32768,-32768,-32768,
1134 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1135 -32768,-32768, 627, 632,-32768,-32768, 1021,-32768,-32768,-32768,
1136 4998,-32768,-32768,-32768,-32768, 6494,-32768,-32768, 6494,-32768,
1137 -32768,-32768,-32768, 2353, 710,-32768, 1797,-32768,-32768, 1797,
1138 1080,-32768,-32768,-32768, 1144,-32768,-32768,-32768, 1331,-32768,
1139 207, 1147,-32768, 457,-32768, 695,-32768,-32768, 1148,-32768,
1140 -32768,-32768, 1149, 817,-32768, 643, 1152, 2353,-32768,-32768,
1141 1160, 658, 1155, 674, 687, 711, 723, 725, 769, 772,
1142 784, 2353, 2016, 2353, 799, 800, 136, 2353, 2353, 2353,
1143 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353,
1144 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353, 2353,
1145 2353, 2353, 2353, 2353, 2353,-32768, 2353,-32768, 1161, 1163,
1146 -32768, 1010, 359,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1147 -32768,-32768,-32768, 907,-32768,-32768,-32768,-32768, 1117,-32768,
1148 -32768, 1797, 395,-32768, 131, 5671,-32768, 6494, 5671, 6494,
1149 -32768,-32768,-32768, 829,-32768,-32768,-32768,-32768,-32768,-32768,
1150 110, 361,-32768,-32768,-32768, 918,-32768,-32768, 483,-32768,
1151 -32768,-32768, 2059,-32768,-32768, 512,-32768, 1170, 1003,-32768,
1152 -32768, 805, 2353, 1168, 820, 822, 311, 817, 817,-32768,
1153 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1154 837, 844, 858, 225, 883, 839, 926, 134, 345, 393,
1155 471, 530, 666, 86, 544, 121, 665, 2353, 686, 4858,
1156 -32768,-32768,-32768, 1026, 6298, 27, 102,-32768,-32768, 654,
1157 -32768,-32768,-32768,-32768,-32768, 1172, 242,-32768,-32768, 5671,
1158 -32768, 5671,-32768,-32768, 1577, 603,-32768, 1104, 6298, 27,
1159 102,-32768, 694,-32768,-32768, 817,-32768, 1018, 864,-32768,
1160 865, 872,-32768,-32768, 915,-32768, 560, 5280,-32768,-32768,
1161 -32768,-32768,-32768, 753,-32768, 27, 762, 147, 147,-32768,
1162 -32768, 266, 759, 1105,-32768, 175,-32768,-32768,-32768,-32768,
1163 -32768,-32768,-32768,-32768,-32768, 810,-32768, 802,-32768,-32768,
1164 1181,-32768, 1184, 1188,-32768, 1189,-32768,-32768,-32768, 1124,
1165 -32768, 5122, 753,-32768, 759,-32768, 551, 1186,-32768,-32768,
1166 -32768,-32768, 1190, 881, 890,-32768, 560,-32768,-32768,-32768,
1167 -32768, 1133, 560,-32768, 958,-32768, 1192,-32768, 1134, 27,
1168 1135,-32768,-32768,-32768,-32768, 188, 266, 169, 817, 817,
1169 147, 1137,-32768, 175, 175,-32768, 352, 830,-32768, 175,
1170 -32768,-32768, 2353, 242, 1195,-32768,-32768,-32768, 1197,-32768,
1171 1206,-32768, 1154, 1154,-32768,-32768,-32768, 929, 2353, 924,
1172 -32768,-32768,-32768,-32768,-32768, 560, 560, 1154,-32768, 1154,
1173 -32768,-32768,-32768, 266, 1201,-32768,-32768, 266,-32768, 469,
1174 352, 431, 817, 817, 175, 1141, 830,-32768,-32768,-32768,
1175 -32768, 2353,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 560, 1212, 1207,-32768,-32768,-32768,-32768,-32768, 1208,-32768,
1177 -32768, 352,-32768,-32768, 1145,-32768,-32768, 1209,-32768,-32768,
1178 -32768,-32768,-32768,-32768,-32768,-32768, 1236, 1239,-32768
1181 static const short yypgoto[] = {-32768,
1182 -32768, 1159,-32768,-32768,-32768,-32768, -394, -100,-32768,-32768,
1183 917,-32768,-32768,-32768,-32768,-32768, 88,-32768, 477,-32768,
1184 356,-32768,-32768,-32768,-32768, 164,-32768,-32768,-32768, -858,
1185 -32768,-32768,-32768, -695,-32768,-32768,-32768, -707, 248, 159,
1186 -32768,-32768, 232, 366,-32768,-32768, 335,-32768,-32768, -982,
1187 -700,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1188 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -888,
1189 101, 258, -1011, 151,-32768, -618, 427, 1020,-32768,-32768,
1190 -590,-32768,-32768, 35, -363, -342, -319, -343, -402, -401,
1191 -338, -478, -462,-32768, -588,-32768, -117,-32768,-32768, 1261,
1192 1341, -613, -362, 1,-32768,-32768,-32768, -467,-32768,-32768,
1193 -32768, 0, -238, 801,-32768, -806, -701,-32768,-32768,-32768,
1194 -32768,-32768,-32768, 66, 682,-32768, 824,-32768,-32768,-32768,
1195 -32768,-32768,-32768,-32768,-32768,-32768, 1016, -703, -774,-32768,
1196 152,-32768,-32768, 586, 591, 465, 5, -373, 1167,-32768,
1197 8,-32768,-32768, -614,-32768,-32768,-32768, 582, -295, 935,
1198 -32768, -487, 559,-32768, 1274,-32768, 1062,-32768, 650,-32768,
1199 -32768,-32768,-32768, -99,-32768,-32768,-32768,-32768, 117, 1099,
1200 1282,-32768,-32768, 1361,-32768,-32768, -321,-32768, 744, 205,
1201 -606, -790,-32768, 768,-32768,-32768, 866, -82, -344, 163,
1202 -32768, 180, 57,-32768,-32768, 62,-32768, 83,-32768,-32768,
1203 577,-32768, 317,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1204 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1205 -32768,-32768, 1409,-32768,-32768, 1512, -205, 227, 453,-32768
1212 static const short yytable[] = { 95,
1213 92, 604, 95, 513, 105, 309, 292, 462, 332, 114,
1214 229, 230, 704, 631, 555, 708, 556, 231, 232, 233,
1215 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1216 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1217 254, 255, 256, 545, 546, 742, 515, 257, 258, 259,
1218 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1219 270, 271, 272, 273, 193, 100, 547, 548, 118, 194,
1220 121, 553, 554, 744, 284, 754, 896, 789, 579, 651,
1221 557, 95, 92, 477, 613, 909, 105, 88, 577, 481,
1222 195, 549, 550, 551, 552, 913, 823, 653, 915, 301,
1223 742, 926, 1160, 1161, 437, 95, -603, 918, 1006, 441,
1224 -603, 442, 1029, 1030, 475, 314, 315, 317, 1001, 293,
1225 312, 323, 2, 446, 184, 1038, 481, 293, 744, 325,
1226 754, 998, 443, 588, 998, 1039, 629, 346, 415, 416,
1227 421, -607, 1031, 1032, 356, -607, 822, 100, -270, 1106,
1228 1107, 1177, 529, 1192, -595, 422, 1033, 806, -595, 418,
1229 424, 296, 296, 948, 296, 1184, 648, 1185, 530, 88,
1230 1038, 222, 222, 350, 351, 352, 353, 354, 355, 949,
1231 1039, 908, 409, 410, 910, 752, 1056, 324, 223, 223,
1232 876, 991, 1038, 896, 193, 1152, 110, 111, 1114, 194,
1233 993, 753, 1039, 346, 1000, 877, 1002, 295, 1115, 1065,
1234 635, 1067, 1151, 1108, 816, 1109, 293, 697, 313, 1154,
1235 195, 692, 1158, 1007, 660, 998, 107, 998, 1140, 107,
1236 -271, 1110, 286, 107, 199, 199, 199, 696, 193, 672,
1237 752, 477, 467, 194, 303, -590, 193, 694, 332, -590,
1238 193, 194, 193, 327, 349, 194, 753, 194, 404, 405,
1239 406, 749, 750, 1060, 195, 515, -379, -379, -379, 710,
1240 -379, -379, 195, 1154, 499, 2, 195, 423, 195, 336,
1241 424, 193, 2, 76, 1040, 451, 194, 1182, 1183, 341,
1242 301, 1108, 456, 1109, -379, 481, 462, -379, 426, -379,
1243 745, 95, 460, 1069, 463, 465, 459, 195, 107, 1110,
1244 432, -271, 433, 476, 708, 578, 749, 750, 95, 1014,
1245 748, 746, 1198, 474, 323, 751, 816, 346, 76, 1040,
1246 337, 424, 107, 332, 76, 77, 123, 1022, 79, 80,
1247 713, 448, 366, 367, 747, 569, 500, 441, 107, 439,
1248 76, 1040, 424, 1153, 501, 745, 76, 1116, 724, 107,
1249 725, 742, 407, 408, 199, -596, 222, 346, 424, -596,
1250 424, 222, 497, 222, 623, 748, 746, 1162, 481, 1163,
1251 751, 332, 199, 223, 496, 222, 222, 424, 223, 744,
1252 223, 754, 338, 409, 410, 1164, 977, 423, 695, 747,
1253 424, 693, 223, 223, 497, 76, 77, 123, 199, 79,
1254 80, 498, 994, -597, 979, 995, 199, -597, 199, -270,
1255 199, 499, 199, 76, 77, 123, 339, 79, 80, 2,
1256 199, 911, 424, 833, 342, 199, 625, 199, 542, 543,
1257 544, 409, 410, 456, -93, -93, -100, -100, 360, 199,
1258 199, 199, 108, 95, 1038, 108, 95, 1188, 586, 124,
1259 361, 589, 646, 594, 1039, 597, 647, 603, 95, 974,
1260 95, 975, -379, -379, -379, 610, -379, -379, 323, -657,
1261 -270, -270, 499, 499, 193, 619, 325, 481, 362, 194,
1262 2, -598, 332, 1187, 1162, -598, 1163, 627, 964, 965,
1263 500, 752, 633, 409, 410, 460, -379, 706, -379, 424,
1264 195, 424, 1164, 663, 332, 831, -379, 753, 363, 409,
1265 410, 966, 967, 562, 563, 498, 972, 973, 107, 364,
1266 -657, 107, 107, 107, 108, 976, 1015, 365, 634, 1016,
1267 -93, -93, -100, -100, 567, 107, 968, 969, 970, 971,
1268 -600, 107, 415, 416, -600, -379, -379, -379, 108, -379,
1269 -379, 686, 687, -270, -605, 499, 411, 412, -605, 456,
1270 424, 723, 417, 2, 326, -430, 499, 749, 750, 439,
1271 413, 414, 424, 1087, 456, 340, 497, -651, 676, 631,
1272 1122, 460, 411, 412, -560, 516, 517, 518, -560, -559,
1273 199, 811, -655, -559, 690, 691, 413, 414, 199, 222,
1274 199, 323, 76, 1040, -561, 1153, 745, 1018, -561, 325,
1275 293, -581, 418, 995, 193, -581, 223, -657, -657, 194,
1276 633, -657, -657, 862, 863, 460, 748, 746, 76, 77,
1277 123, 751, 79, 80, 931, 864, 865, -558, 721, 722,
1278 195, -558, 424, 346, 199, 346, 880, 182, 211, 211,
1279 747, 870, 871, 424, -379, -379, -379, 938, -379, -379,
1280 305, 306, 307, 199, 866, 867, 332, 785, 424, 199,
1281 107, -652, 942, 107, 702, 792, -601, 794, 868, 869,
1282 -601, 800, 801, 107, -575, 107, 805, 107, -575, 417,
1283 619, 812, 411, 412, 419, 107, 500, -580, 107, 814,
1284 940, -580, 107, 811, 501, 1008, 413, 414, -270, 499,
1285 632, 76, 77, 123, 1083, 79, 80, 2, 346, 912,
1286 687, -579, 76, 77, 123, -579, 79, 80, 1088, 1089,
1287 420, 76, 1090, -578, 1091, -577, 199, -578, 427, -577,
1288 431, 189, 220, 220, 108, 107, 107, 464, 466, 468,
1289 1169, 404, 405, 406, 834, 835, 836, 837, 838, 839,
1290 293, 108, 1047, 1100, 1048, -488, 293, 326, 388, 1111,
1291 389, 1044, -379, 902, 428, 1049, 1050, 182, 1051, -576,
1292 1052, 1053, -573, -576, 199, 199, -573, 481, -379, -654,
1293 1070, 390, 391, 1054, -574, 1076, 434, 199, -574, 1197,
1294 199, 199, 930, 812, 435, 633, -379, 706, -379, -570,
1295 -571, 814, 1099, -570, -571, -562, -379, 1121, 1101, -562,
1296 995, 182, 843, -653, 844, 2, -379, 1112, 107, 182,
1297 -565, 440, 646, 182, -565, 182, 1021, 293, 1004, 1005,
1298 1165, 905, -379, 211, 905, 845, 846, -585, 211, -592,
1299 211, -585, 445, -592, -586, 444, 1133, 1134, -586, 1135,
1300 407, 408, 211, 211, 182, 76, 77, 123, -587, 79,
1301 80, 189, -587, 449, -583, -566, 199, 199, -583, -566,
1302 773, 452, -564, 961, 962, 963, -564, 199, 199, 450,
1303 199, -568, 1028, -589, 996, -568, 108, -589, 458, 108,
1304 -569, 1003, 1166, 107, -569, 107, 404, 405, 406, 601,
1305 298, 108, 300, 108, 107, 189, 1072, 107, 107, 199,
1306 470, 326, 519, 189, 616, 424, 1086, 189, 621, 189,
1307 522, 473, 523, 76, 1103, 773, -593, 220, 438, -567,
1308 -593, 472, 220, -567, 220, 1179, 1180, 407, 408, 478,
1309 489, 1195, 495, 859, 860, 861, 220, 220, 189, 508,
1310 504, 905, 505, 905, 905, 905, 309, 1019, 883, 884,
1311 885, 649, 650, 76, 77, 123, 506, 79, 80, 922,
1312 923, 924, 509, 1057, 510, 511, 95, 512, 76, 77,
1313 123, 1063, 79, 80, 76, 332, 520, 199, 1143, 1144,
1314 1145, 582, 812, 571, 1079, 574, 572, 589, 343, 460,
1315 1077, 1178, 1084, 1085, 328, 575, 587, 576, 456, 139,
1316 140, 141, 142, 143, 144, 592, 591, 593, 608, 609,
1317 107, -270, 596, 602, 640, 611, 145, 146, 147, 618,
1318 107, 617, 622, 424, 332, 626, 636, 95, 630, 1123,
1319 1125, 638, 641, 639, 326, 905, 642, 905, 644, 645,
1320 148, 662, 456, 665, 677, 666, 812, 182, 582, 668,
1321 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
1322 680, 682, 883, 884, 885, 683, 211, 685, 886, 887,
1323 888, 889, 890, 891, 892, 688, 185, 217, 217, 698,
1324 700, 157, 703, 299, 711, 302, 705, 304, 714, 308,
1325 1168, 715, 783, 95, 310, 718, 1172, 582, 1063, 716,
1326 524, 717, 787, 790, 318, 796, 319, 802, 818, 601,
1327 804, 601, 582, 675, 820, 331, 824, 825, 821, 829,
1328 807, 830, 842, 621, 108, 875, 872, 873, 331, 331,
1329 331, 331, 331, 331, 878, 358, 359, 916, 920, 874,
1330 929, 189, 934, 935, 107, 107, 939, 941, 392, 943,
1331 981, 980, 76, 329, 330, 160, -49, 1017, 1020, 1059,
1332 220, 1071, 1113, 1202, 886, 887, 888, 889, 890, 891,
1333 892, 1124, 1027, 1206, 1081, 1127, 773, 1128, 1130, 393,
1334 1136, 1132, 1171, 1045, 1138, 1147, 1173, 182, 675, 727,
1335 1141, 1148, 1150, 107, 1159, 1174, 884, 1186, 1193, 1199,
1336 675, 1200, 1203, 1205, 1201, 1208, 185, 1045, 1209, 107,
1337 285, 480, 107, 394, 395, 396, 397, 398, 399, 400,
1338 401, 402, 403, 1098, 900, 992, 1142, 1073, 1149, 988,
1339 1012, 817, 1189, 1105, 1045, 1045, 108, 1102, 1075, 946,
1340 1167, 605, 1119, 679, 795, 1170, 937, 793, 932, 311,
1341 185, 502, 810, 227, 107, 447, 1137, 643, 185, 186,
1342 218, 218, 185, 568, 185, 827, 1026, 0, 0, 0,
1343 0, 0, 217, 107, 0, 0, 454, 217, 0, 217,
1344 457, 189, 0, 1098, 0, 0, 0, 0, 0, 1098,
1345 0, 217, 217, 185, 0, 0, 0, 0, 469, 0,
1346 0, 471, 0, 0, 1045, 107, 107, 1045, 0, 479,
1347 1119, 1119, 482, 0, 0, 0, 1119, -252, 180, 0,
1348 107, 0, 0, 328, 0, 0, 0, 0, 139, 140,
1349 141, 142, 143, 144, 0, 0, 0, 0, 187, 219,
1350 219, 0, 1098, 1098, 0, 145, 146, 147, 0, 0,
1351 0, 0, 0, 0, 0, 331, 0, 0, 1045, 107,
1352 107, 1119, 0, 0, 0, 0, 0, 0, 0, 148,
1353 1023, 1024, 922, 923, 924, 0, 0, 1098, 886, 887,
1354 888, 889, 890, 891, 892, 0, 196, 225, 225, 186,
1355 0, 0, 0, 331, 331, 331, 331, 331, 331, 331,
1356 331, 331, 331, 331, 331, 331, 331, 331, 331, 0,
1357 157, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1359 0, 0, 0, 186, 0, 108, 0, 482, 1080, 0,
1360 331, 186, 0, 0, 590, 186, 344, 186, 345, 595,
1361 0, 598, 0, 0, 0, 218, 0, 0, 0, 607,
1362 218, 0, 218, 612, 0, 0, 0, 0, 187, 0,
1363 0, 0, 0, 0, 218, 218, 186, 0, 0, 0,
1364 108, 76, 329, 330, 160, 0, 0, 0, 331, 198,
1365 226, 226, 180, 331, 0, 0, 185, 0, 0, 108,
1366 180, 0, 0, 0, 180, 0, 180, 0, 0, 0,
1367 0, 0, 187, 0, 436, 217, 196, 0, 0, 0,
1368 187, 0, 0, 0, 187, 0, 187, 0, 0, 0,
1369 0, 1156, 1157, 0, 219, 180, 0, 0, 0, 219,
1370 0, 219, 0, 0, 0, 0, 108, 331, 0, 331,
1371 0, 655, 657, 219, 219, 187, 0, 0, 0, 0,
1372 196, 0, 0, 0, 0, 797, 1068, 0, 196, 0,
1373 328, 590, 196, 0, 196, 139, 140, 141, 142, 143,
1374 144, 0, 225, 0, 0, 1190, 1191, 225, 0, 225,
1375 507, 0, 145, 146, 147, 0, 482, 0, 0, 331,
1376 0, 225, 225, 196, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 0, 707, 148, 0, 527, 198,
1378 712, 331, 0, 531, 532, 533, 534, 535, 536, 537,
1379 538, 539, 540, 541, 0, 0, 185, 0, 487, 0,
1380 0, 0, 0, 0, 0, 0, 490, 491, 492, 493,
1381 0, 775, 0, 743, 561, 0, 0, 157, 0, 0,
1382 0, 0, 0, 198, 0, 0, 0, 487, 0, 0,
1383 0, 198, 0, 0, 0, 198, 0, 198, 487, 186,
1384 0, 0, 0, 0, 0, 226, 0, 0, 0, 0,
1385 226, 0, 226, 0, 0, 0, 0, 0, 218, 528,
1386 0, 0, 0, 0, 226, 226, 198, 0, 743, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 331,
1388 331, 331, 331, 331, 331, 840, 841, 847, 76, 329,
1389 330, 160, 0, 848, 0, 0, 0, -514, 180, 0,
1390 0, 0, 368, 0, 0, 573, 0, 139, 140, 141,
1391 142, 143, 144, 0, 0, 0, 0, 0, 187, 0,
1392 0, 0, 0, 0, 145, 146, 147, 849, 850, 851,
1393 852, 853, 854, 855, 856, 857, 858, 219, 0, 0,
1394 0, 0, 0, 331, 0, 797, 0, 917, 148, 0,
1395 328, 0, 0, 0, 0, 139, 140, 141, 142, 143,
1396 144, 0, 0, 0, 0, 0, 196, 0, 0, 0,
1397 0, 0, 145, 146, 147, 0, 0, 331, 0, 186,
1398 0, 0, 0, 0, 0, 225, 0, 0, 0, 157,
1399 0, 0, 0, 0, 0, 0, 148, 0, 0, 0,
1400 0, 0, 0, 0, 0, 0, 0, 0, 331, 331,
1401 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
1402 331, 331, 331, 331, 331, 328, 331, 0, 628, 652,
1403 139, 140, 141, 142, 143, 144, 720, 157, 180, 0,
1404 0, 0, 989, 990, 0, 0, 0, 145, 146, 147,
1405 997, 0, 0, 0, 0, 0, 0, 0, 187, 0,
1406 76, 329, 330, 160, 0, 0, 0, 0, 0, 198,
1407 0, 148, 0, 0, 1013, 0, 0, 0, 0, 0,
1408 0, 798, 0, 0, 0, 0, 0, 0, 226, 0,
1409 0, 0, 331, 328, 525, 0, 493, 0, 139, 140,
1410 141, 142, 143, 144, 0, 0, 196, 0, 76, 329,
1411 330, 160, 157, 0, 0, 145, 146, 147, 0, 0,
1412 0, 0, 0, 0, 487, 0, 487, 0, 0, 743,
1413 0, 0, 728, 0, 0, 774, 0, 0, 0, 148,
1414 1058, 0, 0, 328, 0, 0, 709, 0, 139, 140,
1415 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1416 0, 0, 0, 0, 0, 145, 146, 147, 0, 328,
1417 945, 0, 0, 0, 139, 140, 141, 142, 143, 144,
1418 157, 0, 0, 76, 329, 330, 160, 798, 826, 148,
1419 798, 145, 146, 147, 0, 0, 0, 0, 0, 832,
1420 0, 0, 0, 0, 0, 0, 0, 1126, 0, 198,
1421 0, 0, 328, -252, 0, 148, 0, 139, 140, 141,
1422 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1423 157, 0, 944, 527, 145, 146, 147, 0, 950, 951,
1424 952, 953, 954, 955, 956, 957, 958, 959, 960, 0,
1425 0, 76, 329, 330, 160, 0, 157, 0, 148, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 0, 0, 0, 331, 0,
1429 0, 0, 798, 0, 0, 0, 0, 0, 0, 157,
1430 0, 76, 329, 330, 160, 0, 0, 0, 0, 0,
1431 -1, 1, 0, 0, 947, 1196, 0, 0, 0, 0,
1432 0, 331, 0, 0, 0, 0, 0, 76, 329, 330,
1433 160, 0, 0, 0, -270, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 76, 329, 330, 160, 0, 0, 0, -379, -379, -379,
1438 0, 4, 0, 0, 0, 5, 6, 7, 0, 0,
1439 0, 0, 0, 0, 0, 798, 0, 0, 0, 8,
1440 9, 10, 0, 493, 0, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1442 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1443 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1444 31, 32, 33, 34, 35, 36, 37, 38, 1025, 39,
1445 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1446 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1447 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1448 70, 71, 72, 73, 74, 75, -2, 1, 0, 0,
1449 0, 0, 76, 77, 78, 0, 79, 80, 81, 0,
1450 0, 0, 0, 0, 0, 0, 328, 0, 0, 0,
1451 -270, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1452 2, 0, 0, 0, 0, 0, 0, 0, 145, 146,
1453 147, 3, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455 0, 0, 148, -379, -379, -379, 0, 4, 0, 0,
1456 0, 5, 6, 7, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 0, 8, 9, 10, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 0, 157, 11, 12, 13, 0, 14, 15,
1460 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1461 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1462 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1463 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1464 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1465 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1466 74, 75, 0, 0, 76, 329, 330, 160, 76, 77,
1467 78, 125, 79, 80, 81, 0, 126, 127, 128, 0,
1468 129, 130, 131, 132, 133, 134, 135, 136, 137, -514,
1469 565, 0, 0, 0, 138, 0, 0, 0, 0, 139,
1470 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1471 0, 0, -270, -270, 0, 3, 145, 146, 147, 0,
1472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, -379, -379, -379,
1474 148, 4, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1477 0, 0, 0, 0, 0, 0, 0, 156, 11, 12,
1478 13, 157, 14, 15, 16, 17, 18, 19, 20, 21,
1479 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1480 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1481 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1482 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1483 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1484 70, 71, 72, 73, 74, 75, 0, 0, 0, 0,
1485 0, 0, 76, 158, 566, 160, 161, 80, 81, 125,
1486 0, 0, 0, 0, 126, 127, 128, 0, 129, 130,
1487 131, 132, 133, 134, 135, 136, 137, -514, 0, 0,
1488 0, 0, 138, 0, 0, 0, 0, 139, 140, 141,
1489 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1490 -270, -270, 0, 0, 145, 146, 147, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, -270, -270, -270, 148, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1496 0, 0, 0, 0, 0, 156, -270, -270, -270, 157,
1497 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1498 0, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1499 -270, -270, -270, -270, -270, -270, 0, -270, -270, -270,
1500 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1501 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1502 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1503 -270, -270, -270, -270, 0, 0, 0, 0, 0, 0,
1504 76, 158, 159, 160, 161, 80, -270, 201, 0, 0,
1505 0, 0, 126, 127, 128, 0, 0, 202, 131, 132,
1506 133, 134, 135, 136, 203, -514, -518, 0, 0, 0,
1507 204, 0, 0, 0, 0, 139, 140, 141, 142, 143,
1508 144, 0, 0, 0, 0, 0, 0, 0, -270, -270,
1509 0, 0, 145, 146, 147, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, -270, -270, -270, 148, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, 0, 0, 0, 0, 0, 0, 0, 0, 150,
1514 151, 152, 153, 154, 155, 0, 0, 0, 0, 0,
1515 0, 0, 0, 156, -270, -270, -270, 157, -270, -270,
1516 -270, -270, -270, -270, -270, -270, -270, -270, 0, -270,
1517 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1518 -270, -270, -270, -270, 0, -270, -270, -270, -270, -270,
1519 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1520 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1521 -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
1522 -270, -270, 0, 0, 0, 0, 0, 0, 76, 158,
1523 159, 160, 205, 206, -270, 201, 0, 0, 0, 0,
1524 126, 127, 128, 0, 0, 202, 131, 132, 133, 134,
1525 135, 136, 203, -462, -462, 0, 0, 0, 204, -462,
1526 0, 0, 0, 139, 140, 141, 142, 143, 144, 0,
1527 0, 0, 0, 0, 0, 0, -270, -270, 125, 0,
1528 145, 146, 147, 126, 127, 128, 0, 129, 130, 131,
1529 132, 133, 134, 135, 136, 137, -514, 0, 0, 0,
1530 0, 138, 0, 0, 148, 0, 139, 140, 141, 142,
1531 143, 144, 0, 0, 0, 0, 0, 0, 0, -270,
1532 -270, 0, 0, 145, 146, 147, -462, 150, 151, 152,
1533 153, 154, 155, 0, 0, 0, 0, 0, 0, 0,
1534 0, 156, 0, 0, 0, 157, 0, 148, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
1537 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1538 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 0, 76, 158, 159, 160,
1542 205, 206, 0, 0, 125, 0, 0, 0, 0, 126,
1543 127, 128, 0, 129, 130, 131, 132, 133, 134, 135,
1544 136, 137, -514, 0, 0, 0, 0, 138, 0, 0,
1545 0, 0, 139, 140, 141, 142, 143, 144, 0, 76,
1546 158, 159, 160, 161, 80, -270, -270, 201, 0, 145,
1547 146, 147, 126, 127, 128, 0, 0, 202, 131, 132,
1548 133, 134, 135, 136, 203, -514, -518, 0, 0, 0,
1549 204, 0, 0, 148, 0, 139, 140, 141, 142, 143,
1550 144, 0, 0, 0, 0, 0, 0, 0, -270, -270,
1551 0, 0, 145, 146, 147, -489, 150, 151, 152, 153,
1552 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1553 156, 0, 0, 0, 157, 0, 148, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0, -458, 150,
1556 151, 152, 153, 154, 155, 0, 0, 0, 0, 0,
1557 0, 0, 0, 156, 0, 0, 0, 157, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 76, 158, 159, 160, 161,
1561 80, 0, 0, 125, 0, 0, 0, 0, 126, 127,
1562 128, 0, 129, 130, 131, 132, 133, 134, 135, 136,
1563 137, -514, 658, 0, 0, 0, 138, 0, 0, 0,
1564 0, 139, 140, 141, 142, 143, 144, 0, 76, 158,
1565 159, 160, 205, 206, -270, -270, 201, 0, 145, 146,
1566 147, 126, 127, 128, 0, 0, 202, 131, 132, 133,
1567 134, 135, 136, 203, -514, -518, 0, 0, 0, 204,
1568 0, 0, 148, 0, 139, 140, 141, 142, 143, 144,
1569 0, 0, 0, 0, 0, 0, 0, -270, -270, 0,
1570 0, 145, 146, 147, 0, 150, 151, 152, 153, 154,
1571 155, 0, 0, 0, 0, 0, 0, 0, 0, 156,
1572 0, 0, 0, 157, 0, 148, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 150, 151,
1575 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1576 0, 0, 156, 0, 0, 0, 157, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 357, 0, 0, 0, 0, 139, 140, 141, 142,
1579 143, 144, 0, 0, 76, 158, 159, 160, 161, 80,
1580 0, 0, 125, 145, 146, 147, 0, 126, 127, 128,
1581 0, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1582 -514, 0, 0, 0, 0, 138, 0, 148, 0, 0,
1583 139, 140, 141, 142, 143, 144, 0, 76, 158, 159,
1584 160, 205, 206, -270, -270, 0, 0, 145, 146, 147,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
1587 0, 148, 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 0, 0, 0, 150, 151, 152, 153, 154, 155,
1590 0, 0, 0, 0, 0, 0, 0, 0, 156, 126,
1591 127, 128, 157, 129, 130, 131, 132, 133, 134, 135,
1592 136, 203, -514, 580, 0, 0, 0, 368, 0, 0,
1593 0, 0, 139, 140, 141, 142, 143, 144, 0, 76,
1594 329, 330, 160, 0, 0, -270, -270, 0, 3, 145,
1595 146, 147, 0, 0, 0, 0, 0, 0, 0, 0,
1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 148, 4, 0, 0, 0, 0, 0,
1598 0, 0, 0, 76, 158, 159, 160, 161, 80, 0,
1599 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
1600 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1601 581, 11, 12, 13, 157, 14, 15, 16, 17, 18,
1602 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
1603 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1604 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
1605 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1606 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1607 67, 68, 69, 70, 71, 72, 73, 74, 75, 369,
1608 0, 370, 0, 0, 371, 76, 158, 566, 160, 161,
1609 80, 81, 126, 127, 128, 0, 129, 130, 131, 132,
1610 133, 134, 135, 136, 203, -514, 659, 0, 0, 0,
1611 368, 0, 0, 0, 0, 139, 140, 141, 142, 143,
1612 144, 0, 0, 0, 0, 0, 0, 0, -270, -270,
1613 0, 3, 145, 146, 147, 0, 0, 0, 0, 0,
1614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 148, 4, 0, 0,
1616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1617 0, 0, 0, 0, 0, 0, 0, 0, 0, 150,
1618 151, 152, 153, 154, 155, 0, 0, 0, 0, 0,
1619 0, 0, 0, 156, 11, 12, 13, 157, 14, 15,
1620 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1621 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1622 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1623 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1624 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1625 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1626 74, 75, 369, 0, 370, 0, 0, 371, 76, 158,
1627 566, 160, 161, 80, 81, 126, 127, 128, 0, 129,
1628 130, 131, 132, 133, 134, 135, 136, 203, -514, 670,
1629 0, 0, 0, 368, 0, 0, 0, 0, 139, 140,
1630 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1631 0, -270, -270, 0, 3, 145, 146, 147, 0, 0,
1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1633 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
1634 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1637 0, 0, 0, 0, 0, 0, 671, 11, 12, 13,
1638 157, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1639 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
1640 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
1641 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1642 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1643 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1644 71, 72, 73, 74, 75, 369, 0, 370, 0, 0,
1645 371, 76, 158, 566, 160, 161, 80, 81, 126, 127,
1646 128, 0, 129, 130, 131, 132, 133, 134, 135, 136,
1647 203, -514, 669, 0, 0, 0, 368, 0, 0, 0,
1648 0, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 145, 146,
1650 147, 126, 127, 128, 0, 129, 130, 131, 132, 133,
1651 134, 135, 136, 203, -514, 673, 0, 0, 0, 368,
1652 0, 0, 148, 0, 139, 140, 141, 142, 143, 144,
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 145, 146, 147, 0, 150, 151, 152, 153, 154,
1655 155, 0, 0, 0, 0, 0, 0, 0, 0, 156,
1656 0, 654, 0, 157, 0, 148, 139, 140, 141, 142,
1657 143, 144, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 0, 145, 146, 147, 0, 0, 150, 151,
1659 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1660 0, 0, 674, 0, 0, 0, 157, 148, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 0, 0, 0, 0, 369, 0,
1663 370, 0, 0, 371, 76, 158, 159, 160, 161, 80,
1664 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 369, 0, 370, 0, 0, 371, 76, 158, 159,
1668 160, 161, 80, 126, 127, 128, 0, 129, 130, 131,
1669 132, 133, 134, 135, 136, 203, -514, 726, 0, 0,
1670 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1671 143, 144, 0, 0, 0, 0, 0, 0, 0, 76,
1672 329, 330, 160, 145, 146, 147, 126, 127, 128, 0,
1673 129, 130, 131, 132, 133, 134, 135, 136, 203, -514,
1674 779, 0, 0, 0, 368, 0, 0, 148, 0, 139,
1675 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 145, 146, 147, 0,
1677 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1678 0, 0, 0, 0, 156, 0, 656, 0, 157, 0,
1679 148, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 0, 0, 145, 146,
1681 147, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1682 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1683 0, 157, 148, 0, 0, 0, 0, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 369, 0, 370, 0, 0, 371, 76,
1686 158, 159, 160, 161, 80, 0, 0, 0, 0, 0,
1687 0, 0, 0, 157, 0, 0, 0, 0, 0, 0,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 369, 0, 370, 0,
1690 0, 371, 76, 158, 159, 160, 161, 80, 126, 127,
1691 128, 0, 129, 130, 131, 132, 133, 134, 135, 136,
1692 203, -514, 780, 0, 0, 0, 368, 0, 0, 0,
1693 0, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1694 0, 0, 0, 0, 76, 329, 330, 160, 145, 146,
1695 147, 126, 127, 128, 0, 129, 130, 131, 132, 133,
1696 134, 135, 136, 203, -514, 782, 0, 0, 0, 368,
1697 0, 0, 148, 0, 139, 140, 141, 142, 143, 144,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1699 0, 145, 146, 147, 0, 150, 151, 152, 153, 154,
1700 155, 0, 0, 0, 0, 0, 0, 0, 0, 781,
1701 0, 729, 0, 157, 0, 148, 730, 731, 732, 733,
1702 734, 735, 0, 0, 0, 0, 0, 0, 0, 0,
1703 0, 0, 0, 145, 736, 737, 0, 0, 150, 151,
1704 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1705 0, 0, 156, 0, 0, 0, 157, 738, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 369, 0,
1708 370, 0, 0, 371, 76, 158, 159, 160, 161, 80,
1709 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 369, 0, 370, 0, 0, 371, 76, 158, 159,
1713 160, 161, 80, 126, 127, 128, 0, 129, 130, 131,
1714 132, 133, 134, 135, 136, 203, -514, 901, 0, 0,
1715 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1716 143, 144, 0, 0, 0, 0, 0, 0, 0, 76,
1717 739, 740, 741, 145, 146, 147, 126, 127, 128, 0,
1718 129, 130, 131, 132, 133, 134, 135, 136, 203, -514,
1719 0, 0, 0, 0, 368, 0, 0, 148, 0, 139,
1720 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 0, 0, 145, 146, 147, 0,
1722 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1723 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1724 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1726 0, 0, 0, 150, 151, 152, 153, 154, 155, 293,
1727 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1728 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1729 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
1730 0, 0, 0, 369, 0, 370, 0, 0, 371, 76,
1731 158, 159, 160, 161, 80, 0, 0, 0, -379, -379,
1732 -379, 0, 4, 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, 369, 0, 370, 0,
1735 0, 371, 76, 158, 159, 160, 161, 80, 0, 11,
1736 12, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1737 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
1738 30, 31, 32, 33, 34, 35, 36, 37, 38, 0,
1739 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1740 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1741 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1742 69, 70, 71, 72, 73, 74, 75, 293, 0, 0,
1743 0, 0, 0, 0, 0, 120, 0, 0, 0, 81,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1748 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 0, 0, 0, 0, -648, 0, 0,
1750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1751 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
1752 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1753 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
1754 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
1755 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1756 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1757 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1758 71, 72, 73, 74, 75, -136, 0, 0, 0, 0,
1759 -136, 0, 0, 120, 0, 0, 0, 81, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 11, 12, 13, 0, 14, 15,
1768 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1769 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1770 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1771 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1772 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1773 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1774 74, 75, 288, 0, 0, 0, 0, 0, 0, 0,
1775 120, 0, 0, 0, 81, 0, 0, 0, 0, 0,
1776 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 4, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1782 -517, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
1784 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
1785 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1786 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
1787 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1788 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1789 67, 68, 69, 70, 71, 72, 73, 74, 75, 0,
1790 0, 0, 0, 0, 0, 0, 0, 120, 11, 12,
1791 13, 81, 14, 15, 16, 17, 18, 19, 20, 21,
1792 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1793 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1794 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1795 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1796 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1797 70, 71, 72, 73, 74, 75, -655, 0, 0, 0,
1798 0, 0, 0, 0, 120, 0, 0, 0, 81, 0,
1799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, -657, -657, -657, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, -657,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, -270, 0, 0, 0, 0,
1806 0, 0, -657, -657, -657, 2, -657, -657, -657, -657,
1807 -657, -657, -657, -657, -657, -657, 0, -657, -657, -657,
1808 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1809 -657, -657, 0, -657, -657, -657, -657, -657, -657, -657,
1810 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1811 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1812 -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1814 12, 13, -657, 14, 15, 16, 17, 18, 19, 20,
1815 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
1816 30, 31, 32, 33, 34, 35, 36, 37, 38, 0,
1817 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1818 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1819 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1820 69, 70, 71, 72, 73, 74, 75, -196, -196, 0,
1821 0, 0, 0, 76, 77, 78, 0, 79, 80, 81,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 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 0, 0, 0, 11, 12, 13, 0, 14, 15, 16,
1828 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1829 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1830 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1831 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1832 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1833 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1834 75, 3, 0, 0, 0, 0, 0, 0, 0, 120,
1835 0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
1836 0, 0, 0, -379, -379, -379, 0, 4, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 11, 12, 13, 0, 14, 15,
1841 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1842 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1843 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1844 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1845 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1846 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1847 74, 75, 3, 0, 0, 0, 0, 0, 0, 0,
1848 120, 0, 0, 0, 81, 0, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 11, 12, 13, 0, 14,
1854 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
1855 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1856 34, 35, 36, 37, 38, 0, 39, 40, 41, 42,
1857 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1858 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1859 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1860 73, 74, 75, -379, -379, -379, 0, 0, 0, 0,
1861 0, 120, 0, 0, 0, 81, 0, 0, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 0, 0, 11, 12, 13, 0, 14, 15,
1865 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1866 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1867 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1868 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1869 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1870 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1871 74, 75, 8, 9, 10, 0, 0, 0, 0, 0,
1872 120, 0, 0, 0, 81, 0, 0, 0, 0, 0,
1873 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
1874 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
1875 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1876 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
1877 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1878 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1879 67, 68, 69, 70, 71, 72, 73, 74, 75, 0,
1880 0, 0, 0, 0, 0, 0, 0, 120, 11, 12,
1881 13, 81, 14, 15, 16, 17, 18, 19, 20, 21,
1882 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1883 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1884 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1885 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1886 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1887 70, 71, 72, 73, 74, 75, 0, 0, 0, 0,
1888 0, 0, 0, 0, 120, 0, 0, 0, 81
1891 static const short yycheck[] = { 0,
1892 0, 469, 3, 366, 0, 106, 89, 303, 126, 2,
1893 11, 12, 626, 501, 417, 630, 418, 18, 19, 20,
1894 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1895 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1896 41, 42, 43, 407, 408, 664, 368, 48, 49, 50,
1897 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1898 61, 62, 63, 64, 8, 0, 409, 410, 3, 8,
1899 5, 415, 416, 664, 75, 664, 777, 684, 452, 558,
1900 419, 82, 82, 322, 479, 789, 82, 0, 451, 5,
1901 8, 411, 412, 413, 414, 797, 711, 560, 800, 100,
1902 719, 809, 1114, 1115, 204, 106, 21, 803, 915, 209,
1903 25, 211, 86, 87, 320, 116, 117, 118, 909, 18,
1904 113, 122, 34, 223, 8, 24, 5, 18, 719, 122,
1905 719, 906, 215, 455, 909, 34, 499, 138, 53, 54,
1906 41, 21, 116, 117, 145, 25, 25, 82, 18, 1038,
1907 1039, 1134, 28, 1165, 21, 56, 130, 5, 25, 39,
1908 21, 96, 97, 28, 99, 1148, 27, 1150, 44, 82,
1909 24, 9, 10, 139, 140, 141, 142, 143, 144, 44,
1910 34, 788, 49, 50, 791, 664, 993, 122, 9, 10,
1911 41, 899, 24, 894, 138, 27, 108, 109, 24, 138,
1912 902, 664, 34, 204, 908, 56, 910, 24, 34, 1000,
1913 506, 1002, 25, 26, 702, 28, 18, 612, 21, 1108,
1914 138, 23, 1111, 919, 569, 1000, 0, 1002, 1087, 3,
1915 24, 44, 26, 7, 8, 9, 10, 611, 182, 584,
1916 719, 480, 19, 182, 85, 21, 190, 610, 366, 25,
1917 194, 190, 196, 24, 138, 194, 719, 196, 34, 35,
1918 36, 664, 664, 22, 182, 587, 182, 183, 184, 632,
1919 186, 187, 190, 1162, 26, 34, 194, 18, 196, 24,
1920 21, 225, 34, 182, 183, 286, 225, 1146, 1147, 18,
1921 291, 26, 292, 28, 18, 5, 592, 21, 182, 23,
1922 664, 302, 303, 1005, 305, 306, 302, 225, 82, 44,
1923 194, 24, 196, 26, 929, 25, 719, 719, 319, 933,
1924 664, 664, 1181, 319, 325, 664, 814, 328, 182, 183,
1925 24, 21, 106, 451, 182, 183, 184, 27, 186, 187,
1926 636, 225, 6, 7, 664, 428, 347, 447, 122, 18,
1927 182, 183, 21, 185, 347, 719, 182, 183, 654, 133,
1928 656, 980, 32, 33, 138, 21, 204, 368, 21, 25,
1929 21, 209, 25, 211, 25, 719, 719, 26, 5, 28,
1930 719, 499, 156, 204, 18, 223, 224, 21, 209, 980,
1931 211, 980, 24, 49, 50, 44, 875, 18, 25, 719,
1932 21, 607, 223, 224, 25, 182, 183, 184, 182, 186,
1933 187, 346, 18, 21, 877, 21, 190, 25, 192, 24,
1934 194, 26, 196, 182, 183, 184, 24, 186, 187, 34,
1935 204, 794, 21, 729, 18, 209, 25, 211, 404, 405,
1936 406, 49, 50, 443, 86, 87, 86, 87, 24, 223,
1937 224, 225, 0, 454, 24, 3, 457, 27, 454, 7,
1938 16, 457, 21, 464, 34, 466, 25, 468, 469, 872,
1939 471, 873, 182, 183, 184, 476, 186, 187, 479, 34,
1940 24, 24, 26, 26, 428, 486, 479, 5, 16, 428,
1941 34, 21, 610, 25, 26, 25, 28, 498, 862, 863,
1942 501, 980, 503, 49, 50, 506, 24, 25, 26, 21,
1943 428, 21, 44, 25, 632, 25, 34, 980, 16, 49,
1944 50, 864, 865, 42, 43, 460, 870, 871, 302, 16,
1945 85, 305, 306, 307, 82, 874, 25, 15, 504, 28,
1946 182, 183, 182, 183, 428, 319, 866, 867, 868, 869,
1947 21, 325, 53, 54, 25, 182, 183, 184, 106, 186,
1948 187, 20, 21, 24, 21, 26, 37, 38, 25, 569,
1949 21, 22, 29, 34, 122, 25, 26, 980, 980, 18,
1950 51, 52, 21, 24, 584, 133, 25, 22, 589, 1077,
1951 1058, 592, 37, 38, 21, 369, 370, 371, 25, 21,
1952 374, 702, 22, 25, 605, 606, 51, 52, 382, 447,
1953 384, 612, 182, 183, 21, 185, 980, 939, 25, 612,
1954 18, 21, 39, 21, 568, 25, 447, 182, 183, 568,
1955 631, 186, 187, 32, 33, 636, 980, 980, 182, 183,
1956 184, 980, 186, 187, 188, 49, 50, 21, 649, 650,
1957 568, 25, 21, 654, 428, 656, 25, 8, 9, 10,
1958 980, 53, 54, 21, 182, 183, 184, 25, 186, 187,
1959 67, 68, 69, 447, 37, 38, 794, 678, 21, 453,
1960 454, 22, 25, 457, 619, 686, 21, 688, 51, 52,
1961 25, 692, 693, 467, 21, 469, 697, 471, 25, 29,
1962 701, 702, 37, 38, 40, 479, 707, 21, 482, 702,
1963 828, 25, 486, 814, 707, 921, 51, 52, 24, 26,
1964 26, 182, 183, 184, 1020, 186, 187, 34, 729, 20,
1965 21, 21, 182, 183, 184, 25, 186, 187, 179, 180,
1966 55, 182, 183, 21, 185, 21, 520, 25, 92, 25,
1967 192, 8, 9, 10, 302, 529, 530, 305, 306, 307,
1968 1123, 34, 35, 36, 730, 731, 732, 733, 734, 735,
1969 18, 319, 119, 21, 121, 92, 18, 325, 24, 21,
1970 26, 987, 28, 784, 19, 132, 133, 138, 135, 21,
1971 137, 138, 21, 25, 568, 569, 25, 5, 44, 22,
1972 1006, 47, 48, 150, 21, 1011, 22, 581, 25, 1172,
1973 584, 585, 813, 814, 24, 816, 24, 25, 26, 21,
1974 21, 814, 1028, 25, 25, 21, 34, 18, 1034, 25,
1975 21, 182, 24, 22, 26, 34, 28, 1043, 612, 190,
1976 21, 92, 21, 194, 25, 196, 25, 18, 20, 21,
1977 21, 786, 44, 204, 789, 47, 48, 21, 209, 21,
1978 211, 25, 20, 25, 21, 19, 1072, 1073, 25, 1075,
1979 32, 33, 223, 224, 225, 182, 183, 184, 21, 186,
1980 187, 138, 25, 92, 21, 21, 660, 661, 25, 25,
1981 664, 24, 21, 859, 860, 861, 25, 671, 672, 27,
1982 674, 21, 985, 21, 905, 25, 454, 25, 18, 457,
1983 21, 912, 1118, 687, 25, 689, 34, 35, 36, 467,
1984 97, 469, 99, 471, 698, 182, 1009, 701, 702, 703,
1985 18, 479, 374, 190, 482, 21, 22, 194, 486, 196,
1986 382, 23, 384, 182, 183, 719, 21, 204, 205, 21,
1987 25, 18, 209, 25, 211, 32, 33, 32, 33, 24,
1988 22, 1167, 18, 34, 35, 36, 223, 224, 225, 18,
1989 25, 906, 25, 908, 909, 910, 1077, 943, 72, 73,
1990 74, 529, 530, 182, 183, 184, 24, 186, 187, 72,
1991 73, 74, 18, 994, 18, 18, 997, 18, 182, 183,
1992 184, 997, 186, 187, 182, 1123, 19, 781, 51, 52,
1993 53, 453, 1013, 9, 1015, 25, 11, 1013, 18, 1020,
1994 1013, 1139, 1023, 1024, 24, 24, 24, 11, 1028, 29,
1995 30, 31, 32, 33, 34, 21, 88, 19, 88, 27,
1996 814, 19, 19, 19, 185, 24, 46, 47, 48, 21,
1997 824, 25, 22, 21, 1172, 18, 21, 1058, 24, 1060,
1998 1061, 22, 185, 25, 612, 1000, 185, 1002, 11, 24,
1999 70, 24, 1072, 24, 23, 27, 1077, 428, 520, 25,
2000 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2001 20, 19, 72, 73, 74, 20, 447, 19, 78, 79,
2002 80, 81, 82, 83, 84, 23, 8, 9, 10, 21,
2003 5, 111, 25, 98, 24, 100, 27, 102, 22, 104,
2004 1121, 88, 25, 1124, 109, 24, 1127, 569, 1124, 88,
2005 387, 88, 20, 20, 119, 18, 121, 27, 18, 687,
2006 25, 689, 584, 585, 25, 126, 21, 25, 27, 25,
2007 698, 25, 24, 701, 702, 55, 29, 39, 139, 140,
2008 141, 142, 143, 144, 25, 146, 147, 88, 25, 40,
2009 24, 428, 25, 25, 948, 949, 25, 18, 163, 25,
2010 18, 21, 182, 183, 184, 185, 177, 18, 21, 18,
2011 447, 88, 88, 1194, 78, 79, 80, 81, 82, 83,
2012 84, 21, 177, 1204, 187, 22, 980, 20, 20, 23,
2013 25, 88, 18, 987, 25, 24, 20, 568, 660, 661,
2014 88, 88, 88, 997, 88, 20, 73, 27, 88, 18,
2015 672, 25, 88, 25, 27, 0, 138, 1011, 0, 1013,
2016 82, 325, 1016, 57, 58, 59, 60, 61, 62, 63,
2017 64, 65, 66, 1027, 778, 900, 1093, 1010, 1100, 894,
2018 926, 703, 1162, 1037, 1038, 1039, 814, 1036, 1011, 843,
2019 1120, 471, 1046, 592, 689, 1124, 824, 687, 814, 113,
2020 182, 347, 701, 10, 1058, 224, 1082, 520, 190, 8,
2021 9, 10, 194, 428, 196, 719, 980, -1, -1, -1,
2022 -1, -1, 204, 1077, -1, -1, 291, 209, -1, 211,
2023 295, 568, -1, 1087, -1, -1, -1, -1, -1, 1093,
2024 -1, 223, 224, 225, -1, -1, -1, -1, 313, -1,
2025 -1, 316, -1, -1, 1108, 1109, 1110, 1111, -1, 324,
2026 1114, 1115, 327, -1, -1, -1, 1120, 18, 8, -1,
2027 1124, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2028 31, 32, 33, 34, -1, -1, -1, -1, 8, 9,
2029 10, -1, 1146, 1147, -1, 46, 47, 48, -1, -1,
2030 -1, -1, -1, -1, -1, 366, -1, -1, 1162, 1163,
2031 1164, 1165, -1, -1, -1, -1, -1, -1, -1, 70,
2032 948, 949, 72, 73, 74, -1, -1, 1181, 78, 79,
2033 80, 81, 82, 83, 84, -1, 8, 9, 10, 138,
2034 -1, -1, -1, 404, 405, 406, 407, 408, 409, 410,
2035 411, 412, 413, 414, 415, 416, 417, 418, 419, -1,
2036 111, -1, -1, -1, -1, -1, -1, -1, -1, 997,
2037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2038 -1, -1, -1, 182, -1, 1013, -1, 452, 1016, -1,
2039 451, 190, -1, -1, 459, 194, 136, 196, 138, 464,
2040 -1, 466, -1, -1, -1, 204, -1, -1, -1, 474,
2041 209, -1, 211, 478, -1, -1, -1, -1, 138, -1,
2042 -1, -1, -1, -1, 223, 224, 225, -1, -1, -1,
2043 1058, 182, 183, 184, 185, -1, -1, -1, 499, 8,
2044 9, 10, 182, 504, -1, -1, 428, -1, -1, 1077,
2045 190, -1, -1, -1, 194, -1, 196, -1, -1, -1,
2046 -1, -1, 182, -1, 204, 447, 138, -1, -1, -1,
2047 190, -1, -1, -1, 194, -1, 196, -1, -1, -1,
2048 -1, 1109, 1110, -1, 204, 225, -1, -1, -1, 209,
2049 -1, 211, -1, -1, -1, -1, 1124, 558, -1, 560,
2050 -1, 562, 563, 223, 224, 225, -1, -1, -1, -1,
2051 182, -1, -1, -1, -1, 19, 20, -1, 190, -1,
2052 24, 586, 194, -1, 196, 29, 30, 31, 32, 33,
2053 34, -1, 204, -1, -1, 1163, 1164, 209, -1, 211,
2054 360, -1, 46, 47, 48, -1, 611, -1, -1, 610,
2055 -1, 223, 224, 225, -1, -1, -1, -1, -1, -1,
2056 -1, -1, -1, -1, -1, 630, 70, -1, 388, 138,
2057 635, 632, -1, 393, 394, 395, 396, 397, 398, 399,
2058 400, 401, 402, 403, -1, -1, 568, -1, 328, -1,
2059 -1, -1, -1, -1, -1, -1, 336, 337, 338, 339,
2060 -1, 666, -1, 664, 424, -1, -1, 111, -1, -1,
2061 -1, -1, -1, 182, -1, -1, -1, 357, -1, -1,
2062 -1, 190, -1, -1, -1, 194, -1, 196, 368, 428,
2063 -1, -1, -1, -1, -1, 204, -1, -1, -1, -1,
2064 209, -1, 211, -1, -1, -1, -1, -1, 447, 389,
2065 -1, -1, -1, -1, 223, 224, 225, -1, 719, -1,
2066 -1, -1, -1, -1, -1, -1, -1, -1, -1, 730,
2067 731, 732, 733, 734, 735, 736, 737, 742, 182, 183,
2068 184, 185, -1, 23, -1, -1, -1, 19, 428, -1,
2069 -1, -1, 24, -1, -1, 435, -1, 29, 30, 31,
2070 32, 33, 34, -1, -1, -1, -1, -1, 428, -1,
2071 -1, -1, -1, -1, 46, 47, 48, 57, 58, 59,
2072 60, 61, 62, 63, 64, 65, 66, 447, -1, -1,
2073 -1, -1, -1, 794, -1, 19, -1, 802, 70, -1,
2074 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2075 34, -1, -1, -1, -1, -1, 428, -1, -1, -1,
2076 -1, -1, 46, 47, 48, -1, -1, 828, -1, 568,
2077 -1, -1, -1, -1, -1, 447, -1, -1, -1, 111,
2078 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
2079 -1, -1, -1, -1, -1, -1, -1, -1, 859, 860,
2080 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
2081 871, 872, 873, 874, 875, 24, 877, -1, 27, 559,
2082 29, 30, 31, 32, 33, 34, 646, 111, 568, -1,
2083 -1, -1, 897, 898, -1, -1, -1, 46, 47, 48,
2084 905, -1, -1, -1, -1, -1, -1, -1, 568, -1,
2085 182, 183, 184, 185, -1, -1, -1, -1, -1, 428,
2086 -1, 70, -1, -1, 929, -1, -1, -1, -1, -1,
2087 -1, 691, -1, -1, -1, -1, -1, -1, 447, -1,
2088 -1, -1, 943, 24, 25, -1, 626, -1, 29, 30,
2089 31, 32, 33, 34, -1, -1, 568, -1, 182, 183,
2090 184, 185, 111, -1, -1, 46, 47, 48, -1, -1,
2091 -1, -1, -1, -1, 654, -1, 656, -1, -1, 980,
2092 -1, -1, 662, -1, -1, 665, -1, -1, -1, 70,
2093 995, -1, -1, 24, -1, -1, 27, -1, 29, 30,
2094 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2095 -1, -1, -1, -1, -1, 46, 47, 48, -1, 24,
2096 25, -1, -1, -1, 29, 30, 31, 32, 33, 34,
2097 111, -1, -1, 182, 183, 184, 185, 797, 718, 70,
2098 800, 46, 47, 48, -1, -1, -1, -1, -1, 729,
2099 -1, -1, -1, -1, -1, -1, -1, 1062, -1, 568,
2100 -1, -1, 24, 25, -1, 70, -1, 29, 30, 31,
2101 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2102 111, -1, 842, 843, 46, 47, 48, -1, 848, 849,
2103 850, 851, 852, 853, 854, 855, 856, 857, 858, -1,
2104 -1, 182, 183, 184, 185, -1, 111, -1, 70, -1,
2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2106 -1, -1, 1123, -1, -1, -1, -1, -1, -1, -1,
2107 -1, -1, -1, -1, -1, -1, -1, -1, 1139, -1,
2108 -1, -1, 902, -1, -1, -1, -1, -1, -1, 111,
2109 -1, 182, 183, 184, 185, -1, -1, -1, -1, -1,
2110 0, 1, -1, -1, 844, 1170, -1, -1, -1, -1,
2111 -1, 1172, -1, -1, -1, -1, -1, 182, 183, 184,
2112 185, -1, -1, -1, 24, -1, -1, -1, -1, -1,
2113 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2114 -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
2115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2116 182, 183, 184, 185, -1, -1, -1, 67, 68, 69,
2117 -1, 71, -1, -1, -1, 75, 76, 77, -1, -1,
2118 -1, -1, -1, -1, -1, 1005, -1, -1, -1, 89,
2119 90, 91, -1, 933, -1, -1, -1, -1, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, 108, 109,
2121 110, -1, 112, 113, 114, 115, 116, 117, 118, 119,
2122 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2123 130, 131, 132, 133, 134, 135, 136, 137, 978, 139,
2124 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2125 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2126 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2127 170, 171, 172, 173, 174, 175, 0, 1, -1, -1,
2128 -1, -1, 182, 183, 184, -1, 186, 187, 188, -1,
2129 -1, -1, -1, -1, -1, -1, 24, -1, -1, -1,
2130 24, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2131 34, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2132 48, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2134 -1, -1, 70, 67, 68, 69, -1, 71, -1, -1,
2135 -1, 75, 76, 77, -1, -1, -1, -1, -1, -1,
2136 -1, -1, -1, -1, -1, 89, 90, 91, -1, -1,
2137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2138 -1, -1, -1, 111, 108, 109, 110, -1, 112, 113,
2139 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2140 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2141 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2142 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2143 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2144 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2145 174, 175, -1, -1, 182, 183, 184, 185, 182, 183,
2146 184, 1, 186, 187, 188, -1, 6, 7, 8, -1,
2147 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2148 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2149 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2150 -1, -1, 42, 43, -1, 45, 46, 47, 48, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2152 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
2153 70, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2155 -1, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2156 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
2157 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2158 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2159 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2160 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2161 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2162 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2163 170, 171, 172, 173, 174, 175, -1, -1, -1, -1,
2164 -1, -1, 182, 183, 184, 185, 186, 187, 188, 1,
2165 -1, -1, -1, -1, 6, 7, 8, -1, 10, 11,
2166 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2167 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2168 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2169 42, 43, -1, -1, 46, 47, 48, -1, -1, -1,
2170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2171 -1, -1, -1, -1, -1, 67, 68, 69, 70, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2174 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
2175 -1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
2176 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2177 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2178 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2179 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2180 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2181 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2182 172, 173, 174, 175, -1, -1, -1, -1, -1, -1,
2183 182, 183, 184, 185, 186, 187, 188, 1, -1, -1,
2184 -1, -1, 6, 7, 8, -1, -1, 11, 12, 13,
2185 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2186 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2187 34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
2188 -1, -1, 46, 47, 48, -1, -1, -1, -1, -1,
2189 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, 67, 68, 69, 70, -1, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2193 94, 95, 96, 97, 98, -1, -1, -1, -1, -1,
2194 -1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
2195 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2196 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2197 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2198 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2199 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2200 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2201 174, 175, -1, -1, -1, -1, -1, -1, 182, 183,
2202 184, 185, 186, 187, 188, 1, -1, -1, -1, -1,
2203 6, 7, 8, -1, -1, 11, 12, 13, 14, 15,
2204 16, 17, 18, 19, 20, -1, -1, -1, 24, 25,
2205 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2206 -1, -1, -1, -1, -1, -1, 42, 43, 1, -1,
2207 46, 47, 48, 6, 7, 8, -1, 10, 11, 12,
2208 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2209 -1, 24, -1, -1, 70, -1, 29, 30, 31, 32,
2210 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2211 43, -1, -1, 46, 47, 48, 92, 93, 94, 95,
2212 96, 97, 98, -1, -1, -1, -1, -1, -1, -1,
2213 -1, 107, -1, -1, -1, 111, -1, 70, -1, -1,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, -1, -1, -1, -1, -1, -1, 92,
2216 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2217 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, -1, -1, -1, 182, 183, 184, 185,
2221 186, 187, -1, -1, 1, -1, -1, -1, -1, 6,
2222 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2223 17, 18, 19, -1, -1, -1, -1, 24, -1, -1,
2224 -1, -1, 29, 30, 31, 32, 33, 34, -1, 182,
2225 183, 184, 185, 186, 187, 42, 43, 1, -1, 46,
2226 47, 48, 6, 7, 8, -1, -1, 11, 12, 13,
2227 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2228 24, -1, -1, 70, -1, 29, 30, 31, 32, 33,
2229 34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
2230 -1, -1, 46, 47, 48, 92, 93, 94, 95, 96,
2231 97, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2232 107, -1, -1, -1, 111, -1, 70, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2234 -1, -1, -1, -1, -1, -1, -1, -1, 92, 93,
2235 94, 95, 96, 97, 98, -1, -1, -1, -1, -1,
2236 -1, -1, -1, 107, -1, -1, -1, 111, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2239 -1, -1, -1, -1, -1, 182, 183, 184, 185, 186,
2240 187, -1, -1, 1, -1, -1, -1, -1, 6, 7,
2241 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2242 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2243 -1, 29, 30, 31, 32, 33, 34, -1, 182, 183,
2244 184, 185, 186, 187, 42, 43, 1, -1, 46, 47,
2245 48, 6, 7, 8, -1, -1, 11, 12, 13, 14,
2246 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2247 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2248 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2249 -1, 46, 47, 48, -1, 93, 94, 95, 96, 97,
2250 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
2251 -1, -1, -1, 111, -1, 70, -1, -1, -1, -1,
2252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2253 -1, -1, -1, -1, -1, -1, -1, -1, 93, 94,
2254 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
2255 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1,
2256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2257 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2258 33, 34, -1, -1, 182, 183, 184, 185, 186, 187,
2259 -1, -1, 1, 46, 47, 48, -1, 6, 7, 8,
2260 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2261 19, -1, -1, -1, -1, 24, -1, 70, -1, -1,
2262 29, 30, 31, 32, 33, 34, -1, 182, 183, 184,
2263 185, 186, 187, 42, 43, -1, -1, 46, 47, 48,
2264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2265 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2266 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, 93, 94, 95, 96, 97, 98,
2269 -1, -1, -1, -1, -1, -1, -1, -1, 107, 6,
2270 7, 8, 111, 10, 11, 12, 13, 14, 15, 16,
2271 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2272 -1, -1, 29, 30, 31, 32, 33, 34, -1, 182,
2273 183, 184, 185, -1, -1, 42, 43, -1, 45, 46,
2274 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, 70, 71, -1, -1, -1, -1, -1,
2277 -1, -1, -1, 182, 183, 184, 185, 186, 187, -1,
2278 -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
2279 97, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2280 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2281 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
2282 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2283 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
2284 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2285 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2286 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2287 -1, 178, -1, -1, 181, 182, 183, 184, 185, 186,
2288 187, 188, 6, 7, 8, -1, 10, 11, 12, 13,
2289 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2290 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2291 34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
2292 -1, 45, 46, 47, 48, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, 70, 71, -1, -1,
2295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2296 -1, -1, -1, -1, -1, -1, -1, -1, -1, 93,
2297 94, 95, 96, 97, 98, -1, -1, -1, -1, -1,
2298 -1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
2299 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2300 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2301 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2302 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2303 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2304 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2305 174, 175, 176, -1, 178, -1, -1, 181, 182, 183,
2306 184, 185, 186, 187, 188, 6, 7, 8, -1, 10,
2307 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2308 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2309 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2310 -1, 42, 43, -1, 45, 46, 47, 48, -1, -1,
2311 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2313 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2315 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2316 -1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
2317 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2318 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2319 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2320 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2321 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2322 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2323 171, 172, 173, 174, 175, 176, -1, 178, -1, -1,
2324 181, 182, 183, 184, 185, 186, 187, 188, 6, 7,
2325 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2326 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2327 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2328 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2329 48, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2330 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2331 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2333 -1, 46, 47, 48, -1, 93, 94, 95, 96, 97,
2334 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
2335 -1, 24, -1, 111, -1, 70, 29, 30, 31, 32,
2336 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2337 -1, -1, -1, 46, 47, 48, -1, -1, 93, 94,
2338 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
2339 -1, -1, 107, -1, -1, -1, 111, 70, -1, -1,
2340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2341 -1, -1, -1, -1, -1, -1, -1, -1, 176, -1,
2342 178, -1, -1, 181, 182, 183, 184, 185, 186, 187,
2343 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2344 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2346 -1, 176, -1, 178, -1, -1, 181, 182, 183, 184,
2347 185, 186, 187, 6, 7, 8, -1, 10, 11, 12,
2348 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2349 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2350 33, 34, -1, -1, -1, -1, -1, -1, -1, 182,
2351 183, 184, 185, 46, 47, 48, 6, 7, 8, -1,
2352 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2353 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2354 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2355 -1, -1, -1, -1, -1, -1, 46, 47, 48, -1,
2356 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2357 -1, -1, -1, -1, 107, -1, 24, -1, 111, -1,
2358 70, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2359 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2360 48, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2361 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2362 -1, 111, 70, -1, -1, -1, -1, -1, -1, -1,
2363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2364 -1, -1, -1, 176, -1, 178, -1, -1, 181, 182,
2365 183, 184, 185, 186, 187, -1, -1, -1, -1, -1,
2366 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2367 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2368 -1, -1, -1, -1, -1, -1, 176, -1, 178, -1,
2369 -1, 181, 182, 183, 184, 185, 186, 187, 6, 7,
2370 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2371 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2372 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2373 -1, -1, -1, -1, 182, 183, 184, 185, 46, 47,
2374 48, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2375 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2376 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2378 -1, 46, 47, 48, -1, 93, 94, 95, 96, 97,
2379 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
2380 -1, 24, -1, 111, -1, 70, 29, 30, 31, 32,
2381 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, -1, 46, 47, 48, -1, -1, 93, 94,
2383 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
2384 -1, -1, 107, -1, -1, -1, 111, 70, -1, -1,
2385 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2386 -1, -1, -1, -1, -1, -1, -1, -1, 176, -1,
2387 178, -1, -1, 181, 182, 183, 184, 185, 186, 187,
2388 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2389 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2391 -1, 176, -1, 178, -1, -1, 181, 182, 183, 184,
2392 185, 186, 187, 6, 7, 8, -1, 10, 11, 12,
2393 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2394 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2395 33, 34, -1, -1, -1, -1, -1, -1, -1, 182,
2396 183, 184, 185, 46, 47, 48, 6, 7, 8, -1,
2397 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2398 -1, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2399 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, 46, 47, 48, -1,
2401 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2402 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2403 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2405 -1, -1, -1, 93, 94, 95, 96, 97, 98, 18,
2406 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2407 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2408 -1, -1, -1, -1, -1, -1, 45, -1, -1, -1,
2409 -1, -1, -1, 176, -1, 178, -1, -1, 181, 182,
2410 183, 184, 185, 186, 187, -1, -1, -1, 67, 68,
2411 69, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2412 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2413 -1, -1, -1, -1, -1, -1, 176, -1, 178, -1,
2414 -1, 181, 182, 183, 184, 185, 186, 187, -1, 108,
2415 109, 110, -1, 112, 113, 114, 115, 116, 117, 118,
2416 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
2417 129, 130, 131, 132, 133, 134, 135, 136, 137, -1,
2418 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2419 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2420 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2421 169, 170, 171, 172, 173, 174, 175, 18, -1, -1,
2422 -1, -1, -1, -1, -1, 184, -1, -1, -1, 188,
2423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2424 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
2425 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2426 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2427 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2428 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
2429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2430 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
2431 -1, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2432 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2433 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2434 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2435 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2436 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2437 171, 172, 173, 174, 175, 19, -1, -1, -1, -1,
2438 24, -1, -1, 184, -1, -1, -1, 188, -1, -1,
2439 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2440 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2445 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2446 -1, -1, -1, -1, 108, 109, 110, -1, 112, 113,
2447 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2448 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2449 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2450 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2451 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2452 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2453 174, 175, 19, -1, -1, -1, -1, -1, -1, -1,
2454 184, -1, -1, -1, 188, -1, -1, -1, -1, -1,
2455 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
2456 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2457 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2458 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2461 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2462 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
2463 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
2464 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2465 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
2466 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2467 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2468 167, 168, 169, 170, 171, 172, 173, 174, 175, -1,
2469 -1, -1, -1, -1, -1, -1, -1, 184, 108, 109,
2470 110, 188, 112, 113, 114, 115, 116, 117, 118, 119,
2471 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2472 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2473 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2474 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2475 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2476 170, 171, 172, 173, 174, 175, 22, -1, -1, -1,
2477 -1, -1, -1, -1, 184, -1, -1, -1, 188, -1,
2478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2481 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1,
2482 -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
2483 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2484 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2485 -1, -1, 108, 109, 110, 34, 112, 113, 114, 115,
2486 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
2487 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2488 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
2489 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2490 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2491 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2492 -1, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2493 109, 110, 188, 112, 113, 114, 115, 116, 117, 118,
2494 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
2495 129, 130, 131, 132, 133, 134, 135, 136, 137, -1,
2496 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2497 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2498 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2499 169, 170, 171, 172, 173, 174, 175, 42, 43, -1,
2500 -1, -1, -1, 182, 183, 184, -1, 186, 187, 188,
2501 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2502 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2504 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2506 -1, -1, -1, 108, 109, 110, -1, 112, 113, 114,
2507 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2508 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2509 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2510 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2511 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2512 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2513 175, 45, -1, -1, -1, -1, -1, -1, -1, 184,
2514 -1, -1, -1, 188, -1, -1, -1, -1, -1, -1,
2515 -1, -1, -1, 67, 68, 69, -1, 71, -1, -1,
2516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2517 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2519 -1, -1, -1, -1, 108, 109, 110, -1, 112, 113,
2520 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2521 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2522 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2523 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2524 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2525 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2526 174, 175, 45, -1, -1, -1, -1, -1, -1, -1,
2527 184, -1, -1, -1, 188, -1, -1, -1, -1, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2531 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2532 -1, -1, -1, -1, -1, 108, 109, 110, -1, 112,
2533 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
2534 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2535 133, 134, 135, 136, 137, -1, 139, 140, 141, 142,
2536 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2537 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2538 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2539 173, 174, 175, 67, 68, 69, -1, -1, -1, -1,
2540 -1, 184, -1, -1, -1, 188, -1, -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, 108, 109, 110, -1, 112, 113,
2544 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2545 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2546 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2547 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2548 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2549 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2550 174, 175, 89, 90, 91, -1, -1, -1, -1, -1,
2551 184, -1, -1, -1, 188, -1, -1, -1, -1, -1,
2552 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
2553 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
2554 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2555 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
2556 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2557 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2558 167, 168, 169, 170, 171, 172, 173, 174, 175, -1,
2559 -1, -1, -1, -1, -1, -1, -1, 184, 108, 109,
2560 110, 188, 112, 113, 114, 115, 116, 117, 118, 119,
2561 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2562 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2563 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2564 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2565 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2566 170, 171, 172, 173, 174, 175, -1, -1, -1, -1,
2567 -1, -1, -1, -1, 184, -1, -1, -1, 188
2569 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2570 #line 3 "/usr/share/misc/bison.simple"
2572 /* Skeleton output parser for bison,
2573 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2575 This program is free software; you can redistribute it and/or modify
2576 it under the terms of the GNU General Public License as published by
2577 the Free Software Foundation; either version 2, or (at your option)
2580 This program is distributed in the hope that it will be useful,
2581 but WITHOUT ANY WARRANTY; without even the implied warranty of
2582 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2583 GNU General Public License for more details.
2585 You should have received a copy of the GNU General Public License
2586 along with this program; if not, write to the Free Software
2587 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2589 /* As a special exception, when this file is copied by Bison into a
2590 Bison output file, you may use that output file without restriction.
2591 This special exception was added by the Free Software Foundation
2592 in version 1.24 of Bison. */
2596 #define alloca __builtin_alloca
2597 #else /* not GNU C. */
2598 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
2600 #else /* not sparc */
2601 #if defined (MSDOS) && !defined (__TURBOC__)
2603 #else /* not MSDOS, or __TURBOC__ */
2607 #else /* not MSDOS, __TURBOC__, or _AIX */
2611 void *alloca (unsigned int);
2613 #else /* not __cplusplus */
2615 #endif /* not __cplusplus */
2617 #endif /* not _AIX */
2618 #endif /* not MSDOS, or __TURBOC__ */
2619 #endif /* not sparc. */
2620 #endif /* not GNU C. */
2621 #endif /* alloca not defined. */
2623 /* This is the parser code that is written into each bison parser
2624 when the %semantic_parser declaration is not specified in the grammar.
2625 It was written by Richard Stallman by simplifying the hairy parser
2626 used when %semantic_parser is specified. */
2628 /* Note: there must be only one dollar sign in this file.
2629 It is replaced by the list of actions, each action
2630 as one case of the switch. */
2632 #define yyerrok (yyerrstatus = 0)
2633 #define yyclearin (yychar = YYEMPTY)
2636 #define YYACCEPT return(0)
2637 #define YYABORT return(1)
2638 #define YYERROR goto yyerrlab1
2639 /* Like YYERROR except do call yyerror.
2640 This remains here temporarily to ease the
2641 transition to the new meaning of YYERROR, for GCC.
2642 Once GCC version 2 has supplanted version 1, this can go. */
2643 #define YYFAIL goto yyerrlab
2644 #define YYRECOVERING() (!!yyerrstatus)
2645 #define YYBACKUP(token, value) \
2647 if (yychar == YYEMPTY && yylen == 1) \
2648 { yychar = (token), yylval = (value); \
2649 yychar1 = YYTRANSLATE (yychar); \
2654 { yyerror ("syntax error: cannot back up"); YYERROR; } \
2658 #define YYERRCODE 256
2661 #define YYLEX yylex()
2667 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
2669 #define YYLEX yylex(&yylval, &yylloc)
2671 #else /* not YYLSP_NEEDED */
2673 #define YYLEX yylex(&yylval, YYLEX_PARAM)
2675 #define YYLEX yylex(&yylval)
2677 #endif /* not YYLSP_NEEDED */
2680 /* If nonreentrant, generate the variables here */
2684 int yychar; /* the lookahead symbol */
2685 YYSTYPE yylval; /* the semantic value of the */
2686 /* lookahead symbol */
2689 YYLTYPE yylloc; /* location data for the lookahead */
2693 int yynerrs; /* number of parse errors so far */
2694 #endif /* not YYPURE */
2697 int yydebug; /* nonzero means print parse trace */
2698 /* Since this is uninitialized, it does not stop multiple parsers
2702 /* YYINITDEPTH indicates the initial size of the parser's stacks */
2705 #define YYINITDEPTH 200
2708 /* YYMAXDEPTH is the maximum size the stacks can grow to
2709 (effective only if the built-in stack extension method is used). */
2716 #define YYMAXDEPTH 10000
2719 /* Prevent warning if -Wstrict-prototypes. */
2724 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2725 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2726 #else /* not GNU C or C++ */
2729 /* This is the most reliable way to avoid incompatibilities
2730 in available built-in functions on various systems. */
2732 __yy_memcpy (to, from, count)
2737 register char *f = from;
2738 register char *t = to;
2739 register int i = count;
2745 #else /* __cplusplus */
2747 /* This is the most reliable way to avoid incompatibilities
2748 in available built-in functions on various systems. */
2750 __yy_memcpy (char *to, char *from, int count)
2752 register char *f = from;
2753 register char *t = to;
2754 register int i = count;
2763 #line 196 "/usr/share/misc/bison.simple"
2765 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
2766 into yyparse. The argument should have type void *.
2767 It should actually point to an object.
2768 Grammar actions can access the variable by casting it
2769 to the proper pointer type. */
2771 #ifdef YYPARSE_PARAM
2773 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2774 #define YYPARSE_PARAM_DECL
2775 #else /* not __cplusplus */
2776 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
2777 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2778 #endif /* not __cplusplus */
2779 #else /* not YYPARSE_PARAM */
2780 #define YYPARSE_PARAM_ARG
2781 #define YYPARSE_PARAM_DECL
2782 #endif /* not YYPARSE_PARAM */
2785 yyparse(YYPARSE_PARAM_ARG)
2788 register int yystate;
2790 register short *yyssp;
2791 register YYSTYPE *yyvsp;
2792 int yyerrstatus; /* number of tokens to shift before error messages enabled */
2793 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
2795 short yyssa[YYINITDEPTH]; /* the state stack */
2796 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2798 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2799 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2802 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2803 YYLTYPE *yyls = yylsa;
2806 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2808 #define YYPOPSTACK (yyvsp--, yyssp--)
2811 int yystacksize = YYINITDEPTH;
2822 YYSTYPE yyval; /* the variable used to return */
2823 /* semantic values from the action */
2830 fprintf(stderr, "Starting parse\n");
2836 yychar = YYEMPTY; /* Cause a token to be read. */
2838 /* Initialize stack pointers.
2839 Waste one element of value and location stack
2840 so that they stay on the same level as the state stack.
2841 The wasted elements are never initialized. */
2849 /* Push a new state, which is found in yystate . */
2850 /* In all cases, when you get here, the value and location stacks
2851 have just been pushed. so pushing a state here evens the stacks. */
2856 if (yyssp >= yyss + yystacksize - 1)
2858 /* Give user a chance to reallocate the stack */
2859 /* Use copies of these so that the &'s don't force the real ones into memory. */
2860 YYSTYPE *yyvs1 = yyvs;
2861 short *yyss1 = yyss;
2863 YYLTYPE *yyls1 = yyls;
2866 /* Get the current used size of the three stacks, in elements. */
2867 int size = yyssp - yyss + 1;
2870 /* Each stack pointer address is followed by the size of
2871 the data in use in that stack, in bytes. */
2873 /* This used to be a conditional around just the two extra args,
2874 but that might be undefined if yyoverflow is a macro. */
2875 yyoverflow("parser stack overflow",
2876 &yyss1, size * sizeof (*yyssp),
2877 &yyvs1, size * sizeof (*yyvsp),
2878 &yyls1, size * sizeof (*yylsp),
2881 yyoverflow("parser stack overflow",
2882 &yyss1, size * sizeof (*yyssp),
2883 &yyvs1, size * sizeof (*yyvsp),
2887 yyss = yyss1; yyvs = yyvs1;
2891 #else /* no yyoverflow */
2892 /* Extend the stack our own way. */
2893 if (yystacksize >= YYMAXDEPTH)
2895 yyerror("parser stack overflow");
2899 if (yystacksize > YYMAXDEPTH)
2900 yystacksize = YYMAXDEPTH;
2901 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2902 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
2903 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2904 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
2906 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2907 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
2909 #endif /* no yyoverflow */
2911 yyssp = yyss + size - 1;
2912 yyvsp = yyvs + size - 1;
2914 yylsp = yyls + size - 1;
2919 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2922 if (yyssp >= yyss + yystacksize - 1)
2928 fprintf(stderr, "Entering state %d\n", yystate);
2934 /* Do appropriate processing given the current state. */
2935 /* Read a lookahead token if we need one and don't already have one. */
2938 /* First try to decide what to do without reference to lookahead token. */
2940 yyn = yypact[yystate];
2944 /* Not known => get a lookahead token if don't already have one. */
2946 /* yychar is either YYEMPTY or YYEOF
2947 or a valid token in external form. */
2949 if (yychar == YYEMPTY)
2953 fprintf(stderr, "Reading a token: ");
2958 /* Convert token to internal form (in yychar1) for indexing tables with */
2960 if (yychar <= 0) /* This means end of input. */
2963 yychar = YYEOF; /* Don't call YYLEX any more */
2967 fprintf(stderr, "Now at end of input.\n");
2972 yychar1 = YYTRANSLATE(yychar);
2977 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2978 /* Give the individual parser a way to print the precise meaning
2979 of a token, for further debugging info. */
2981 YYPRINT (stderr, yychar, yylval);
2983 fprintf (stderr, ")\n");
2989 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2994 /* yyn is what to do for this token type in this state.
2995 Negative => reduce, -yyn is rule number.
2996 Positive => shift, yyn is new state.
2997 New state is final state => don't bother to shift,
2998 just return success.
2999 0, or most negative number => error. */
3014 /* Shift the lookahead token. */
3018 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3021 /* Discard the token being shifted unless it is eof. */
3022 if (yychar != YYEOF)
3030 /* count tokens shifted since error; after three, turn off error status. */
3031 if (yyerrstatus) yyerrstatus--;
3036 /* Do the default action for the current state. */
3039 yyn = yydefact[yystate];
3043 /* Do a reduction. yyn is the number of a rule to reduce with. */
3047 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3054 fprintf (stderr, "Reducing via rule %d (line %d), ",
3057 /* Print the symbols being reduced, and their result. */
3058 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3059 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3060 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3068 #line 268 "cgrammar.y"
3069 { uentry_clearDecl (); ;
3072 #line 269 "cgrammar.y"
3073 { uentry_clearDecl (); ;
3076 #line 270 "cgrammar.y"
3077 { uentry_clearDecl (); ;
3080 #line 271 "cgrammar.y"
3081 { uentry_clearDecl (); ;
3084 #line 272 "cgrammar.y"
3085 { uentry_clearDecl (); ;
3088 #line 273 "cgrammar.y"
3089 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3092 #line 274 "cgrammar.y"
3093 { uentry_clearDecl (); ;
3096 #line 278 "cgrammar.y"
3097 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3100 #line 280 "cgrammar.y"
3101 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3104 #line 283 "cgrammar.y"
3105 { context_enterFunctionDecl (); ;
3108 #line 284 "cgrammar.y"
3109 { declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3110 context_exitFunctionDecl (); ;
3113 #line 289 "cgrammar.y"
3115 qtype qint = qtype_create (ctype_int);
3116 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3121 #line 295 "cgrammar.y"
3122 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3125 #line 300 "cgrammar.y"
3126 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3129 #line 303 "cgrammar.y"
3130 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3133 #line 305 "cgrammar.y"
3134 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3137 #line 307 "cgrammar.y"
3138 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3141 #line 309 "cgrammar.y"
3143 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), exprNode_getLongValue (yyvsp[-2].expr)));
3147 #line 313 "cgrammar.y"
3148 { setCurrentParams (uentryList_missingParams);
3152 #line 316 "cgrammar.y"
3153 { /* need to support globals and modifies here! */
3154 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp),
3155 uentryList_makeMissingParams ());
3157 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ct);
3162 #line 324 "cgrammar.y"
3163 { setCurrentParams (yyvsp[-1].entrylist);
3167 #line 327 "cgrammar.y"
3168 { clearCurrentParams ();
3169 yyval.ntyp = idDecl_replaceCtype (yyvsp[-7].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-7].ntyp), yyvsp[-4].entrylist));
3172 // printf("Done nameDeclBase\n");
3176 #line 335 "cgrammar.y"
3177 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3180 #line 337 "cgrammar.y"
3181 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3184 #line 339 "cgrammar.y"
3185 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3188 #line 341 "cgrammar.y"
3192 if (exprNode_hasValue (yyvsp[-2].expr)
3193 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3195 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3202 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3206 #line 357 "cgrammar.y"
3207 { setCurrentParams (uentryList_missingParams);
3211 #line 360 "cgrammar.y"
3212 { /* need to support globals and modifies here! */
3213 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3214 uentryList_makeMissingParams ());
3216 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3221 #line 368 "cgrammar.y"
3222 { setCurrentParams (yyvsp[-1].entrylist);
3226 #line 371 "cgrammar.y"
3227 { clearCurrentParams ();
3228 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3233 #line 378 "cgrammar.y"
3234 { setCurrentParams (yyvsp[-1].entrylist); ;
3237 #line 379 "cgrammar.y"
3238 { clearCurrentParams (); ;
3241 #line 380 "cgrammar.y"
3242 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3245 #line 383 "cgrammar.y"
3246 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
3249 #line 384 "cgrammar.y"
3250 { exprNode_checkIterBody (yyvsp[-1].expr); ;
3253 #line 385 "cgrammar.y"
3254 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
3257 #line 386 "cgrammar.y"
3258 { exprChecks_checkEmptyMacroBody (); ;
3261 #line 389 "cgrammar.y"
3262 { declareFunction (yyvsp[0].ntyp); ;
3265 #line 392 "cgrammar.y"
3266 { setProcessingGlobMods (); ;
3269 #line 393 "cgrammar.y"
3270 { clearProcessingGlobMods (); ;
3273 #line 399 "cgrammar.y"
3274 { setProcessingGlobMods (); ;
3277 #line 400 "cgrammar.y"
3278 { clearProcessingGlobMods (); ;
3281 #line 407 "cgrammar.y"
3283 DPRINTF ( ("doing optGlobBufConstraintsAux\n") );
3284 context_setProtectVars (); enterParamsTemp ();
3285 sRef_setGlobalScopeSafe ();
3290 #line 413 "cgrammar.y"
3292 setFunctionConstraints (yyvsp[-1].sr);
3294 sRef_clearGlobalScopeSafe ();
3295 context_releaseVars ();
3296 printf ("done optGlobBufConstraintsAux\n");;
3299 #line 422 "cgrammar.y"
3300 { yyval.sr = constraintList_add (yyvsp[0].sr, yyvsp[-1].sr); ;
3303 #line 423 "cgrammar.y"
3304 {constraintList c; c = constraintList_new(); c = constraintList_add (c, yyvsp[0].sr); yyval.sr = c;
3307 #line 426 "cgrammar.y"
3309 yyval.sr = makeConstraintParse3 (yyvsp[-3].sr, yyvsp[-2].tok, yyvsp[-1].sr);
3310 printf("Done BufConstraint1\n"); ;
3313 #line 441 "cgrammar.y"
3314 {yyval.sr = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].sr); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3317 #line 442 "cgrammar.y"
3319 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3320 yyval.sr = constraintExpr_parseMakeBinaryOp (yyvsp[-3].sr, yyvsp[-2].tok, yyvsp[-1].sr); ;
3323 #line 447 "cgrammar.y"
3324 { yyval.sr = constraintExpr_makeTermsRef (
3325 uentry_getSref (yyvsp[0].entry));
3326 checkModifiesId (yyvsp[0].entry); ;
3329 #line 450 "cgrammar.y"
3330 { yyval.sr = constraintExpr_makeTermsRef(fixModifiesId (yyvsp[0].cname) ); ;
3333 #line 451 "cgrammar.y"
3335 t = cstring_toCharsSafe (exprNode_unparse(yyvsp[0].expr));
3337 yyval.sr = constraintExpr_makeIntLiteral (c);
3341 #line 472 "cgrammar.y"
3342 { setProcessingGlobMods (); ;
3345 #line 473 "cgrammar.y"
3346 { clearProcessingGlobMods (); ;
3349 #line 483 "cgrammar.y"
3350 { setProcessingGlobMods (); ;
3353 #line 484 "cgrammar.y"
3354 { clearProcessingGlobMods (); ;
3357 #line 499 "cgrammar.y"
3361 #line 500 "cgrammar.y"
3365 #line 503 "cgrammar.y"
3366 { globListAdd (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3369 #line 506 "cgrammar.y"
3370 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3373 #line 507 "cgrammar.y"
3374 { yyval.sr = globListUnrecognized (yyvsp[0].cname); ;
3377 #line 510 "cgrammar.y"
3378 { yyval.typequal = qual_createUndef (); ;
3381 #line 511 "cgrammar.y"
3382 { yyval.typequal = qual_createKilled (); ;
3385 #line 512 "cgrammar.y"
3386 { yyval.typequal = qual_createOut (); ;
3389 #line 513 "cgrammar.y"
3390 { yyval.typequal = qual_createIn (); ;
3393 #line 514 "cgrammar.y"
3394 { yyval.typequal = qual_createPartial (); ;
3397 #line 517 "cgrammar.y"
3398 { yyval.tquallist = qualList_undefined; ;
3401 #line 518 "cgrammar.y"
3402 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3405 #line 521 "cgrammar.y"
3406 { setProcessingGlobalsList (); ;
3409 #line 523 "cgrammar.y"
3410 { unsetProcessingGlobals (); ;
3413 #line 524 "cgrammar.y"
3414 { setProcessingGlobalsList (); ;
3417 #line 526 "cgrammar.y"
3418 { unsetProcessingGlobals (); ;
3421 #line 528 "cgrammar.y"
3422 { setFunctionNoGlobals ();
3423 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3427 #line 535 "cgrammar.y"
3428 { setProcessingGlobalsList (); ;
3431 #line 537 "cgrammar.y"
3432 { unsetProcessingGlobals (); ;
3435 #line 538 "cgrammar.y"
3436 { setProcessingGlobalsList (); ;
3439 #line 540 "cgrammar.y"
3440 { unsetProcessingGlobals (); ;
3443 #line 542 "cgrammar.y"
3444 { setFunctionNoGlobals ();
3445 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3449 #line 554 "cgrammar.y"
3451 context_setProtectVars (); enterParamsTemp ();
3452 sRef_setGlobalScopeSafe ();
3456 #line 559 "cgrammar.y"
3458 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3459 sRef_clearGlobalScopeSafe ();
3460 context_releaseVars ();
3464 #line 567 "cgrammar.y"
3466 context_setProtectVars (); enterParamsTemp ();
3467 sRef_setGlobalScopeSafe ();
3471 #line 572 "cgrammar.y"
3473 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3474 sRef_clearGlobalScopeSafe ();
3475 context_releaseVars ();
3479 #line 596 "cgrammar.y"
3480 { yyval.sck = SP_ISONLY; ;
3483 #line 597 "cgrammar.y"
3484 { yyval.sck = SP_ISOBSERVER; ;
3487 #line 598 "cgrammar.y"
3488 { yyval.sck = SP_ISEXPOSED; ;
3491 #line 599 "cgrammar.y"
3492 { yyval.sck = SP_ISDEPENDENT; ;
3495 #line 600 "cgrammar.y"
3496 { yyval.sck = SP_ISOWNED; ;
3499 #line 601 "cgrammar.y"
3500 { yyval.sck = SP_ISSHARED; ;
3503 #line 602 "cgrammar.y"
3504 { yyval.sck = SP_ISNULL; ;
3507 #line 603 "cgrammar.y"
3508 { yyval.sck = SP_ISNOTNULL; ;
3511 #line 607 "cgrammar.y"
3513 context_setProtectVars ();
3515 sRef_setGlobalScopeSafe ();
3519 #line 613 "cgrammar.y"
3521 setFunctionSpecialClause (yyvsp[-6].tok, yyvsp[-3].srset, yyvsp[-1].tok);
3523 sRef_clearGlobalScopeSafe ();
3524 context_releaseVars ();
3528 #line 620 "cgrammar.y"
3530 context_setProtectVars ();
3532 sRef_setGlobalScopeSafe ();
3536 #line 626 "cgrammar.y"
3538 setFunctionStateSpecialClause (yyvsp[-7].tok, yyvsp[-5].sck, yyvsp[-3].srset, yyvsp[-1].tok);
3540 sRef_clearGlobalScopeSafe ();
3541 context_releaseVars ();
3545 #line 635 "cgrammar.y"
3547 qtype qint = qtype_create (ctype_int);
3548 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3553 #line 641 "cgrammar.y"
3554 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3557 #line 644 "cgrammar.y"
3558 { checkDoneParams (); context_enterInnerContext (); ;
3561 #line 646 "cgrammar.y"
3563 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3564 context_exitInner (yyvsp[0].expr);
3568 #line 651 "cgrammar.y"
3569 { doneParams (); context_enterInnerContext (); ;
3572 #line 653 "cgrammar.y"
3574 context_exitInner (yyvsp[0].expr);
3575 exprNode_checkFunctionBody (yyvsp[0].expr);
3576 yyval.expr = yyvsp[0].expr; /* old style */
3580 #line 661 "cgrammar.y"
3582 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3583 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3586 context_exitFunction ();
3590 #line 670 "cgrammar.y"
3591 { yyval.srset = yyvsp[-2].srset; ;
3594 #line 671 "cgrammar.y"
3595 { yyval.srset = sRefSet_new (); ;
3598 #line 674 "cgrammar.y"
3599 { yyval.srset = yyvsp[-1].srset; ;
3602 #line 675 "cgrammar.y"
3603 { yyval.srset = sRefSet_new (); ;
3606 #line 678 "cgrammar.y"
3607 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3610 #line 679 "cgrammar.y"
3611 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3614 #line 680 "cgrammar.y"
3615 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3618 #line 681 "cgrammar.y"
3619 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3622 #line 682 "cgrammar.y"
3623 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3626 #line 683 "cgrammar.y"
3627 { yyval.sr = yyvsp[-1].sr; ;
3630 #line 684 "cgrammar.y"
3631 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3634 #line 685 "cgrammar.y"
3635 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3638 #line 689 "cgrammar.y"
3639 { yyval.sr = yyvsp[0].sr; ;
3642 #line 690 "cgrammar.y"
3643 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3646 #line 694 "cgrammar.y"
3647 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3650 #line 695 "cgrammar.y"
3651 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3654 #line 699 "cgrammar.y"
3655 { yyval.sr = checkSpecClausesId (yyvsp[0].entry); ;
3658 #line 701 "cgrammar.y"
3659 { yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
3662 #line 702 "cgrammar.y"
3663 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3666 #line 703 "cgrammar.y"
3667 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3670 #line 704 "cgrammar.y"
3671 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3674 #line 705 "cgrammar.y"
3675 { yyval.sr = yyvsp[-1].sr; ;
3678 #line 706 "cgrammar.y"
3679 { cstring_markOwned (yyvsp[0].cname);
3680 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3683 #line 708 "cgrammar.y"
3684 { cstring_markOwned (yyvsp[0].cname);
3685 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3688 #line 713 "cgrammar.y"
3689 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3690 else { yyval.srset = sRefSet_undefined; }
3694 #line 717 "cgrammar.y"
3695 { if (sRef_isValid (yyvsp[0].sr))
3697 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3701 yyval.srset = yyvsp[-2].srset;
3706 #line 728 "cgrammar.y"
3707 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3710 #line 729 "cgrammar.y"
3711 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3714 #line 730 "cgrammar.y"
3715 { yyval.expr = yyvsp[0].expr; ;
3718 #line 731 "cgrammar.y"
3719 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3722 #line 732 "cgrammar.y"
3723 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3726 #line 733 "cgrammar.y"
3727 { yyval.expr = exprNode_makeError (); ;
3730 #line 737 "cgrammar.y"
3731 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3734 #line 738 "cgrammar.y"
3735 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3738 #line 739 "cgrammar.y"
3739 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
3742 #line 740 "cgrammar.y"
3743 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3746 #line 741 "cgrammar.y"
3747 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3750 #line 742 "cgrammar.y"
3751 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3754 #line 743 "cgrammar.y"
3755 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3758 #line 744 "cgrammar.y"
3759 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3762 #line 747 "cgrammar.y"
3763 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3766 #line 748 "cgrammar.y"
3767 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3770 #line 752 "cgrammar.y"
3771 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3774 #line 753 "cgrammar.y"
3775 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3778 #line 754 "cgrammar.y"
3779 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3782 #line 755 "cgrammar.y"
3783 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3786 #line 756 "cgrammar.y"
3787 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3790 #line 757 "cgrammar.y"
3791 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3794 #line 758 "cgrammar.y"
3795 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3798 #line 759 "cgrammar.y"
3799 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3802 #line 760 "cgrammar.y"
3803 { yyval.expr = yyvsp[0].expr; ;
3806 #line 761 "cgrammar.y"
3807 { yyval.expr = yyvsp[0].expr; ;
3810 #line 764 "cgrammar.y"
3811 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3814 #line 765 "cgrammar.y"
3815 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3818 #line 769 "cgrammar.y"
3819 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3822 #line 772 "cgrammar.y"
3823 { context_setProtectVars (); ;
3826 #line 773 "cgrammar.y"
3827 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3830 #line 776 "cgrammar.y"
3831 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3834 #line 777 "cgrammar.y"
3835 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3838 #line 778 "cgrammar.y"
3839 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3842 #line 779 "cgrammar.y"
3843 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3846 #line 784 "cgrammar.y"
3847 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3850 #line 788 "cgrammar.y"
3851 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3854 #line 789 "cgrammar.y"
3855 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3858 #line 790 "cgrammar.y"
3859 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3862 #line 794 "cgrammar.y"
3863 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3866 #line 795 "cgrammar.y"
3867 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3870 #line 799 "cgrammar.y"
3871 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3874 #line 800 "cgrammar.y"
3875 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3878 #line 804 "cgrammar.y"
3879 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3882 #line 805 "cgrammar.y"
3883 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3886 #line 806 "cgrammar.y"
3887 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3890 #line 807 "cgrammar.y"
3891 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3894 #line 811 "cgrammar.y"
3895 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3898 #line 812 "cgrammar.y"
3899 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3902 #line 816 "cgrammar.y"
3903 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3906 #line 820 "cgrammar.y"
3907 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3910 #line 825 "cgrammar.y"
3911 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3914 #line 830 "cgrammar.y"
3915 { exprNode_produceGuards (yyvsp[-1].expr);
3916 context_enterAndClause (yyvsp[-1].expr);
3920 #line 834 "cgrammar.y"
3922 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3923 context_exitAndClause (yyval.expr, yyvsp[0].expr);
3927 #line 842 "cgrammar.y"
3929 exprNode_produceGuards (yyvsp[-1].expr);
3930 context_enterOrClause (yyvsp[-1].expr);
3934 #line 847 "cgrammar.y"
3936 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3937 context_exitOrClause (yyval.expr, yyvsp[0].expr);
3941 #line 854 "cgrammar.y"
3942 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3945 #line 855 "cgrammar.y"
3946 { context_enterFalseClause (yyvsp[-4].expr); ;
3949 #line 856 "cgrammar.y"
3950 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
3953 #line 860 "cgrammar.y"
3954 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3957 #line 861 "cgrammar.y"
3958 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3961 #line 862 "cgrammar.y"
3962 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3965 #line 863 "cgrammar.y"
3966 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3969 #line 864 "cgrammar.y"
3970 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3973 #line 865 "cgrammar.y"
3974 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3977 #line 866 "cgrammar.y"
3978 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3981 #line 867 "cgrammar.y"
3982 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3985 #line 868 "cgrammar.y"
3986 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3989 #line 869 "cgrammar.y"
3990 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3993 #line 870 "cgrammar.y"
3994 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3997 #line 874 "cgrammar.y"
3998 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4001 #line 877 "cgrammar.y"
4002 { yyval.expr = exprNode_undefined; ;
4005 #line 886 "cgrammar.y"
4006 { yyval.expr = yyvsp[0].expr; ;
4009 #line 887 "cgrammar.y"
4010 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
4013 #line 888 "cgrammar.y"
4014 { yyval.expr = exprNode_makeError (); ;
4017 #line 891 "cgrammar.y"
4018 { yyval.expr = exprNode_makeError (); ;
4021 #line 905 "cgrammar.y"
4023 setProcessingVars (yyvsp[-3].qtyp);
4024 processNamedDecl (yyvsp[-1].ntyp); ;
4027 #line 908 "cgrammar.y"
4028 { unsetProcessingVars (); yyval.expr = yyvsp[-2].expr; ;
4031 #line 910 "cgrammar.y"
4032 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp);
4036 #line 913 "cgrammar.y"
4037 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
4038 unsetProcessingVars ();
4042 #line 917 "cgrammar.y"
4043 { processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeError (); ;
4046 #line 918 "cgrammar.y"
4047 { processNamedDecl (yyvsp[-2].ntyp); ;
4050 #line 919 "cgrammar.y"
4051 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4054 #line 923 "cgrammar.y"
4055 { setProcessingTypedef (yyvsp[0].qtyp); ;
4058 #line 924 "cgrammar.y"
4059 { unsetProcessingTypedef (); ;
4062 #line 925 "cgrammar.y"
4063 { /* in the ANSI grammar, semantics unclear */ ;
4066 #line 926 "cgrammar.y"
4067 { /* in the ANSI grammar, semantics unclear */ ;
4070 #line 929 "cgrammar.y"
4071 { g_expectingTypeName = TRUE; ;
4074 #line 932 "cgrammar.y"
4075 { g_expectingTypeName = TRUE; context_pushLoc (); ;
4078 #line 935 "cgrammar.y"
4082 #line 938 "cgrammar.y"
4086 #line 939 "cgrammar.y"
4090 #line 942 "cgrammar.y"
4091 { yyval.expr = exprNode_makeError (); ;
4094 #line 943 "cgrammar.y"
4095 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4098 #line 946 "cgrammar.y"
4099 { yyval.expr = yyvsp[0].expr; ;
4102 #line 947 "cgrammar.y"
4103 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].alist); ;
4106 #line 948 "cgrammar.y"
4107 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].alist); ;
4110 #line 953 "cgrammar.y"
4111 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
4114 #line 955 "cgrammar.y"
4115 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
4118 #line 963 "cgrammar.y"
4119 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4122 #line 964 "cgrammar.y"
4123 { yyval.typequal = qual_createInline (); ;
4126 #line 965 "cgrammar.y"
4127 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4130 #line 966 "cgrammar.y"
4131 { yyval.typequal = qual_createAuto (); ;
4134 #line 967 "cgrammar.y"
4135 { yyval.typequal = qual_createRegister (); ;
4138 #line 970 "cgrammar.y"
4139 { yyval.typequal = qual_createConst (); ;
4142 #line 971 "cgrammar.y"
4143 { yyval.typequal = qual_createVolatile (); ;
4146 #line 972 "cgrammar.y"
4147 { yyval.typequal = qual_createOut (); ;
4150 #line 973 "cgrammar.y"
4151 { yyval.typequal = qual_createIn (); ;
4154 #line 974 "cgrammar.y"
4155 { yyval.typequal = qual_createPartial (); ;
4158 #line 975 "cgrammar.y"
4159 { yyval.typequal = qual_createSpecial (); ;
4162 #line 976 "cgrammar.y"
4163 { yyval.typequal = qual_createOwned (); ;
4166 #line 977 "cgrammar.y"
4167 { yyval.typequal = qual_createDependent (); ;
4170 #line 978 "cgrammar.y"
4171 { yyval.typequal = qual_createYield (); ;
4174 #line 979 "cgrammar.y"
4175 { yyval.typequal = qual_createTemp (); ;
4178 #line 980 "cgrammar.y"
4179 { yyval.typequal = qual_createOnly (); ;
4182 #line 981 "cgrammar.y"
4183 { yyval.typequal = qual_createKeep (); ;
4186 #line 982 "cgrammar.y"
4187 { yyval.typequal = qual_createKept (); ;
4190 #line 983 "cgrammar.y"
4191 { yyval.typequal = qual_createShared (); ;
4194 #line 984 "cgrammar.y"
4195 { yyval.typequal = qual_createUnique (); ;
4198 #line 985 "cgrammar.y"
4199 { yyval.typequal = qual_createExits (); ;
4202 #line 986 "cgrammar.y"
4203 { yyval.typequal = qual_createMayExit (); ;
4206 #line 987 "cgrammar.y"
4207 { yyval.typequal = qual_createTrueExit (); ;
4210 #line 988 "cgrammar.y"
4211 { yyval.typequal = qual_createFalseExit (); ;
4214 #line 989 "cgrammar.y"
4215 { yyval.typequal = qual_createNeverExit (); ;
4218 #line 990 "cgrammar.y"
4219 { yyval.typequal = qual_createNull (); ;
4222 #line 991 "cgrammar.y"
4223 { yyval.typequal = qual_createRelNull (); ;
4226 #line 992 "cgrammar.y"
4227 { yyval.typequal = qual_createReturned (); ;
4230 #line 993 "cgrammar.y"
4231 { yyval.typequal = qual_createExposed (); ;
4234 #line 994 "cgrammar.y"
4235 { yyval.typequal = qual_createObserver (); ;
4238 #line 995 "cgrammar.y"
4239 { yyval.typequal = qual_createChecked (); ;
4242 #line 996 "cgrammar.y"
4243 { yyval.typequal = qual_createCheckMod (); ;
4246 #line 997 "cgrammar.y"
4247 { yyval.typequal = qual_createUnchecked (); ;
4250 #line 998 "cgrammar.y"
4251 { yyval.typequal = qual_createCheckedStrict (); ;
4254 #line 999 "cgrammar.y"
4255 { yyval.typequal = qual_createTrueNull (); ;
4258 #line 1000 "cgrammar.y"
4259 { yyval.typequal = qual_createFalseNull (); ;
4262 #line 1001 "cgrammar.y"
4263 { yyval.typequal = qual_createUnused (); ;
4266 #line 1002 "cgrammar.y"
4267 { yyval.typequal = qual_createExternal (); ;
4270 #line 1003 "cgrammar.y"
4271 { yyval.typequal = qual_createSef (); ;
4274 #line 1004 "cgrammar.y"
4275 { yyval.typequal = qual_createAbstract (); ;
4278 #line 1005 "cgrammar.y"
4279 { yyval.typequal = qual_createConcrete (); ;
4282 #line 1006 "cgrammar.y"
4283 { yyval.typequal = qual_createMutable (); ;
4286 #line 1007 "cgrammar.y"
4287 { yyval.typequal = qual_createImmutable (); ;
4290 #line 1008 "cgrammar.y"
4291 { yyval.typequal = qual_createNotNull (); ;
4294 #line 1009 "cgrammar.y"
4295 { yyval.typequal = qual_createRefCounted (); ;
4298 #line 1010 "cgrammar.y"
4299 { yyval.typequal = qual_createRefs (); ;
4302 #line 1011 "cgrammar.y"
4303 { yyval.typequal = qual_createKillRef (); ;
4306 #line 1012 "cgrammar.y"
4307 { yyval.typequal = qual_createRelDef (); ;
4310 #line 1013 "cgrammar.y"
4311 { yyval.typequal = qual_createNewRef (); ;
4314 #line 1014 "cgrammar.y"
4315 { yyval.typequal = qual_createTempRef (); ;
4318 #line 1015 "cgrammar.y"
4319 { yyval.typequal = qual_createNullTerminated (); ;
4322 #line 1021 "cgrammar.y"
4323 { yyval.typequal = qual_createShort (); ;
4326 #line 1022 "cgrammar.y"
4327 { yyval.typequal = qual_createLong (); ;
4330 #line 1023 "cgrammar.y"
4331 { yyval.typequal = qual_createSigned (); ;
4334 #line 1024 "cgrammar.y"
4335 { yyval.typequal = qual_createUnsigned (); ;
4338 #line 1033 "cgrammar.y"
4339 { yyval.ctyp = ctype_unknown; ;
4342 #line 1034 "cgrammar.y"
4343 { yyval.ctyp = ctype_anyintegral; ;
4346 #line 1035 "cgrammar.y"
4347 { yyval.ctyp = ctype_unsignedintegral; ;
4350 #line 1036 "cgrammar.y"
4351 { yyval.ctyp = ctype_signedintegral; ;
4354 #line 1040 "cgrammar.y"
4355 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4358 #line 1044 "cgrammar.y"
4359 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4362 #line 1047 "cgrammar.y"
4363 { yyval.qtyp = yyvsp[0].qtyp; ;
4366 #line 1049 "cgrammar.y"
4367 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4370 #line 1054 "cgrammar.y"
4371 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4374 #line 1057 "cgrammar.y"
4375 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4378 #line 1058 "cgrammar.y"
4379 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4382 #line 1059 "cgrammar.y"
4383 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4386 #line 1062 "cgrammar.y"
4387 { yyval.qtyp = qtype_unknown (); ;
4390 #line 1063 "cgrammar.y"
4391 { yyval.qtyp = yyvsp[0].qtyp; ;
4394 #line 1066 "cgrammar.y"
4395 { sRef_setGlobalScopeSafe (); ;
4398 #line 1068 "cgrammar.y"
4399 { sRef_clearGlobalScopeSafe (); ;
4402 #line 1070 "cgrammar.y"
4403 { yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
4406 #line 1071 "cgrammar.y"
4407 { sRef_setGlobalScopeSafe (); ;
4410 #line 1073 "cgrammar.y"
4411 { sRef_clearGlobalScopeSafe (); ;
4414 #line 1075 "cgrammar.y"
4415 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4418 #line 1077 "cgrammar.y"
4419 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4422 #line 1079 "cgrammar.y"
4423 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4426 #line 1080 "cgrammar.y"
4427 { sRef_setGlobalScopeSafe (); ;
4430 #line 1082 "cgrammar.y"
4431 { sRef_clearGlobalScopeSafe (); ;
4434 #line 1084 "cgrammar.y"
4435 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4438 #line 1085 "cgrammar.y"
4439 { sRef_setGlobalScopeSafe (); ;
4442 #line 1087 "cgrammar.y"
4443 { sRef_clearGlobalScopeSafe (); ;
4446 #line 1089 "cgrammar.y"
4447 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4450 #line 1091 "cgrammar.y"
4451 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4454 #line 1093 "cgrammar.y"
4455 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4458 #line 1094 "cgrammar.y"
4459 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4462 #line 1095 "cgrammar.y"
4463 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4466 #line 1098 "cgrammar.y"
4467 { g_expectingTypeName = FALSE; ;
4470 #line 1102 "cgrammar.y"
4471 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4474 #line 1103 "cgrammar.y"
4475 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4478 #line 1107 "cgrammar.y"
4479 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4482 #line 1109 "cgrammar.y"
4483 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4486 #line 1113 "cgrammar.y"
4487 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4490 #line 1115 "cgrammar.y"
4491 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4494 #line 1118 "cgrammar.y"
4495 { yyval.ntyp = yyvsp[0].ntyp; ;
4498 #line 1119 "cgrammar.y"
4499 { yyval.ntyp = idDecl_undefined; ;
4502 #line 1120 "cgrammar.y"
4503 { yyval.ntyp = yyvsp[-3].ntyp; ;
4506 #line 1125 "cgrammar.y"
4507 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4510 #line 1126 "cgrammar.y"
4511 { context_pushLoc (); ;
4514 #line 1127 "cgrammar.y"
4515 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4518 #line 1128 "cgrammar.y"
4519 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4522 #line 1132 "cgrammar.y"
4523 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4526 #line 1134 "cgrammar.y"
4527 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4530 #line 1139 "cgrammar.y"
4531 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4532 usymtab_supGlobalEntry (ue);
4533 yyval.cname = yyvsp[0].cname;
4537 #line 1144 "cgrammar.y"
4538 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4539 usymtab_supGlobalEntry (ue);
4540 yyval.cname = yyvsp[-3].cname;
4544 #line 1151 "cgrammar.y"
4545 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4548 #line 1153 "cgrammar.y"
4550 qtype qt = qtype_unknown ();
4552 qtype_adjustPointers (yyvsp[-1].count, qt);
4553 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4557 #line 1160 "cgrammar.y"
4558 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4561 #line 1165 "cgrammar.y"
4562 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4565 #line 1168 "cgrammar.y"
4566 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4569 #line 1169 "cgrammar.y"
4570 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4573 #line 1172 "cgrammar.y"
4574 { /* ignored for now */; ;
4577 #line 1173 "cgrammar.y"
4581 #line 1176 "cgrammar.y"
4585 #line 1177 "cgrammar.y"
4589 #line 1180 "cgrammar.y"
4590 { yyval.count = 1; ;
4593 #line 1181 "cgrammar.y"
4594 { yyval.count = 1; ;
4597 #line 1182 "cgrammar.y"
4598 { yyval.count = 1 + yyvsp[0].count; ;
4601 #line 1183 "cgrammar.y"
4602 { yyval.count = 1 + yyvsp[0].count; ;
4605 #line 1187 "cgrammar.y"
4606 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4609 #line 1190 "cgrammar.y"
4610 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4613 #line 1191 "cgrammar.y"
4614 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4617 #line 1194 "cgrammar.y"
4618 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4621 #line 1196 "cgrammar.y"
4622 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4625 #line 1199 "cgrammar.y"
4629 #line 1199 "cgrammar.y"
4630 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4633 #line 1200 "cgrammar.y"
4637 #line 1201 "cgrammar.y"
4638 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4641 #line 1205 "cgrammar.y"
4643 if (isFlipOldStyle ())
4645 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4651 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4655 #line 1217 "cgrammar.y"
4657 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4661 llparseerror (message ("Inconsistent function parameter syntax: %q",
4662 idDecl_unparse (tparam)));
4666 yyval.oentry = makeCurrentParam (tparam);
4667 idDecl_free (tparam);
4671 #line 1233 "cgrammar.y"
4672 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4675 #line 1236 "cgrammar.y"
4676 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4679 #line 1238 "cgrammar.y"
4680 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4683 #line 1241 "cgrammar.y"
4684 { yyval.ctyp = ctype_unknown; ;
4687 #line 1246 "cgrammar.y"
4688 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4691 #line 1247 "cgrammar.y"
4692 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4695 #line 1249 "cgrammar.y"
4696 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4699 #line 1250 "cgrammar.y"
4700 { yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4703 #line 1252 "cgrammar.y"
4704 { yyval.ctyp = ctype_makeFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4707 #line 1254 "cgrammar.y"
4708 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4711 #line 1256 "cgrammar.y"
4712 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4715 #line 1258 "cgrammar.y"
4716 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4719 #line 1260 "cgrammar.y"
4720 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4723 #line 1275 "cgrammar.y"
4724 {yyval.expr = yyvsp[0].expr; printf ("Doing stmt lclintassertion\n"); ;
4727 #line 1279 "cgrammar.y"
4728 { printf(" QSETBUFFERSIZE id CCONSTANT HEllo World\n"); uentry_setBufferSize(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4732 #line 1281 "cgrammar.y"
4733 { printf(" QSETSTRINGLENGTH id CCONSTANT HEllo World\n"); uentry_setStringLength(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4737 #line 1283 "cgrammar.y"
4738 {printf(" QTESTINRANGE\n"); uentry_testInRange(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4742 #line 1289 "cgrammar.y"
4743 { yyval.expr = exprNode_labelMarker (yyvsp[0].cname); ;
4746 #line 1294 "cgrammar.y"
4747 { yyval.expr = yyvsp[0].expr; ;
4750 #line 1302 "cgrammar.y"
4751 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4754 #line 1306 "cgrammar.y"
4755 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4758 #line 1308 "cgrammar.y"
4759 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4762 #line 1310 "cgrammar.y"
4763 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4766 #line 1312 "cgrammar.y"
4767 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4770 #line 1316 "cgrammar.y"
4771 { context_setProtectVars (); ;
4774 #line 1316 "cgrammar.y"
4775 { context_sizeofReleaseVars (); ;
4778 #line 1318 "cgrammar.y"
4779 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4780 context_enterForClause (yyvsp[-5].expr); ;
4783 #line 1323 "cgrammar.y"
4784 { setProcessingIterVars (yyvsp[-2].entry); ;
4787 #line 1325 "cgrammar.y"
4788 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].alist); ;
4791 #line 1326 "cgrammar.y"
4792 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4795 #line 1332 "cgrammar.y"
4796 { yyval.expr = yyvsp[0].expr; ;
4799 #line 1340 "cgrammar.y"
4800 { yyval.expr = yyvsp[-1].expr; ;
4803 #line 1341 "cgrammar.y"
4804 { yyval.expr = exprNode_makeError (); ;
4807 #line 1345 "cgrammar.y"
4808 { /* don't: context_exitTrueClause ($1, $2); */
4809 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4813 #line 1350 "cgrammar.y"
4814 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4817 #line 1353 "cgrammar.y"
4818 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4821 #line 1368 "cgrammar.y"
4822 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4825 #line 1370 "cgrammar.y"
4826 { yyval.expr = exprNode_makeError (); ;
4829 #line 1373 "cgrammar.y"
4830 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
4833 #line 1374 "cgrammar.y"
4834 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
4837 #line 1380 "cgrammar.y"
4838 { context_enterCaseClause (yyvsp[0].expr); ;
4841 #line 1381 "cgrammar.y"
4842 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
4845 #line 1382 "cgrammar.y"
4846 { context_enterCaseClause (yyvsp[0].expr); ;
4849 #line 1383 "cgrammar.y"
4850 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
4853 #line 1386 "cgrammar.y"
4854 { context_enterCaseClause (exprNode_undefined); ;
4857 #line 1387 "cgrammar.y"
4858 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
4861 #line 1388 "cgrammar.y"
4862 { context_enterCaseClause (exprNode_undefined); ;
4865 #line 1389 "cgrammar.y"
4866 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
4869 #line 1392 "cgrammar.y"
4870 { yyval.expr = yyvsp[-1].expr; ;
4873 #line 1394 "cgrammar.y"
4874 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
4877 #line 1397 "cgrammar.y"
4878 { yyval.expr = yyvsp[-1].expr; ;
4881 #line 1400 "cgrammar.y"
4882 { context_enterInnerContext (); ;
4885 #line 1403 "cgrammar.y"
4886 { context_exitInnerPlain (); ;
4889 #line 1406 "cgrammar.y"
4890 { context_enterStructInnerContext (); ;
4893 #line 1409 "cgrammar.y"
4894 { context_exitStructInnerContext (); ;
4897 #line 1412 "cgrammar.y"
4898 { context_exitInnerSafe (); ;
4901 #line 1415 "cgrammar.y"
4902 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4905 #line 1416 "cgrammar.y"
4906 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
4909 #line 1417 "cgrammar.y"
4910 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4913 #line 1419 "cgrammar.y"
4914 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4917 #line 1420 "cgrammar.y"
4918 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4921 #line 1422 "cgrammar.y"
4922 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4925 #line 1424 "cgrammar.y"
4926 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4929 #line 1426 "cgrammar.y"
4930 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
4931 lltok_getLoc (yyvsp[-1].tok)));
4935 #line 1433 "cgrammar.y"
4936 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
4939 #line 1437 "cgrammar.y"
4940 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4943 #line 1439 "cgrammar.y"
4944 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4947 #line 1441 "cgrammar.y"
4948 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4951 #line 1443 "cgrammar.y"
4952 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4955 #line 1447 "cgrammar.y"
4956 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4959 #line 1450 "cgrammar.y"
4960 { yyval.expr = yyvsp[0].expr; ;
4963 #line 1451 "cgrammar.y"
4964 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4967 #line 1454 "cgrammar.y"
4968 { yyval.expr = yyvsp[0].expr; ;
4971 #line 1455 "cgrammar.y"
4972 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4975 #line 1458 "cgrammar.y"
4976 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4979 #line 1459 "cgrammar.y"
4980 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4983 #line 1462 "cgrammar.y"
4984 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4987 #line 1463 "cgrammar.y"
4988 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4991 #line 1464 "cgrammar.y"
4992 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4995 #line 1468 "cgrammar.y"
4996 { yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4999 #line 1476 "cgrammar.y"
5001 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5002 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5006 #line 1480 "cgrammar.y"
5007 { context_enterFalseClause (yyvsp[-2].expr); ;
5010 #line 1481 "cgrammar.y"
5012 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5013 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5017 #line 1485 "cgrammar.y"
5018 { context_enterSwitch (yyvsp[0].expr); ;
5021 #line 1486 "cgrammar.y"
5022 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5025 #line 1490 "cgrammar.y"
5026 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5029 #line 1494 "cgrammar.y"
5030 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5033 #line 1497 "cgrammar.y"
5034 { context_enterIterClause (); ;
5037 #line 1498 "cgrammar.y"
5038 { setProcessingIterVars (yyvsp[-3].entry); ;
5041 #line 1501 "cgrammar.y"
5043 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].alist, yyvsp[-2].expr, yyvsp[-1].entry);
5048 #line 1507 "cgrammar.y"
5049 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
5052 #line 1508 "cgrammar.y"
5053 { nextIterParam (); ;
5056 #line 1509 "cgrammar.y"
5057 { yyval.alist = exprNodeList_push (yyvsp[-3].alist, yyvsp[0].expr); ;
5060 #line 1512 "cgrammar.y"
5061 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5064 #line 1513 "cgrammar.y"
5065 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5068 #line 1514 "cgrammar.y"
5069 { uentry ue = coerceIterId (yyvsp[0].cname);
5071 if (uentry_isValid (ue))
5073 yyval.expr = exprNode_iterId (ue);
5077 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
5082 #line 1525 "cgrammar.y"
5083 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5086 #line 1533 "cgrammar.y"
5087 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5090 #line 1537 "cgrammar.y"
5091 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5094 #line 1538 "cgrammar.y"
5095 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5098 #line 1539 "cgrammar.y"
5099 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
5102 #line 1541 "cgrammar.y"
5103 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5106 #line 1542 "cgrammar.y"
5107 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
5110 #line 1543 "cgrammar.y"
5111 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
5114 #line 1544 "cgrammar.y"
5115 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5118 #line 1545 "cgrammar.y"
5119 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5122 #line 1549 "cgrammar.y"
5123 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5126 #line 1550 "cgrammar.y"
5127 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5130 #line 1551 "cgrammar.y"
5131 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5134 #line 1552 "cgrammar.y"
5135 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5138 #line 1553 "cgrammar.y"
5139 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5142 #line 1554 "cgrammar.y"
5143 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5146 #line 1555 "cgrammar.y"
5147 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5150 #line 1556 "cgrammar.y"
5151 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5154 #line 1557 "cgrammar.y"
5155 { yyval.expr = yyvsp[0].expr; ;
5158 #line 1561 "cgrammar.y"
5159 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5162 #line 1565 "cgrammar.y"
5163 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5166 #line 1566 "cgrammar.y"
5167 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5170 #line 1567 "cgrammar.y"
5171 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5174 #line 1571 "cgrammar.y"
5175 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5178 #line 1572 "cgrammar.y"
5179 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5182 #line 1576 "cgrammar.y"
5183 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5186 #line 1577 "cgrammar.y"
5187 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5190 #line 1581 "cgrammar.y"
5191 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5194 #line 1582 "cgrammar.y"
5195 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5198 #line 1583 "cgrammar.y"
5199 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5202 #line 1584 "cgrammar.y"
5203 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5206 #line 1588 "cgrammar.y"
5207 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5210 #line 1589 "cgrammar.y"
5211 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5214 #line 1593 "cgrammar.y"
5215 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5218 #line 1597 "cgrammar.y"
5219 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5222 #line 1602 "cgrammar.y"
5223 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5226 #line 1606 "cgrammar.y"
5227 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5230 #line 1610 "cgrammar.y"
5231 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5234 #line 1614 "cgrammar.y"
5235 { context_enterTrueClause (yyvsp[-1].expr); ;
5238 #line 1615 "cgrammar.y"
5239 { context_enterFalseClause (yyvsp[-4].expr); ;
5242 #line 1616 "cgrammar.y"
5243 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5246 #line 1620 "cgrammar.y"
5247 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5250 #line 1621 "cgrammar.y"
5251 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5254 #line 1622 "cgrammar.y"
5255 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5258 #line 1623 "cgrammar.y"
5259 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5262 #line 1624 "cgrammar.y"
5263 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5266 #line 1625 "cgrammar.y"
5267 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5270 #line 1626 "cgrammar.y"
5271 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5274 #line 1627 "cgrammar.y"
5275 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5278 #line 1628 "cgrammar.y"
5279 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5282 #line 1629 "cgrammar.y"
5283 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5286 #line 1630 "cgrammar.y"
5287 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5290 #line 1633 "cgrammar.y"
5291 { yyval.entry = yyvsp[0].entry; ;
5294 #line 1634 "cgrammar.y"
5295 { yyval.entry = uentry_undefined; ;
5298 #line 1637 "cgrammar.y"
5299 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5302 #line 1641 "cgrammar.y"
5303 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5306 #line 1643 "cgrammar.y"
5307 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5310 #line 1645 "cgrammar.y"
5311 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5314 #line 1648 "cgrammar.y"
5315 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5318 #line 1650 "cgrammar.y"
5319 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5322 #line 1652 "cgrammar.y"
5323 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5326 #line 1653 "cgrammar.y"
5327 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5330 #line 1656 "cgrammar.y"
5331 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5334 #line 1657 "cgrammar.y"
5335 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5338 #line 1659 "cgrammar.y"
5339 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5342 #line 1660 "cgrammar.y"
5343 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5346 #line 1661 "cgrammar.y"
5347 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5350 #line 1662 "cgrammar.y"
5351 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5354 #line 1663 "cgrammar.y"
5355 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5358 #line 1664 "cgrammar.y"
5359 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5362 #line 1665 "cgrammar.y"
5363 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5366 #line 1666 "cgrammar.y"
5367 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5370 #line 1670 "cgrammar.y"
5374 #line 1677 "cgrammar.y"
5375 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5378 #line 1678 "cgrammar.y"
5379 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5382 #line 1679 "cgrammar.y"
5383 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5386 #line 1680 "cgrammar.y"
5387 { yyval.cname = yyvsp[0].cname; ;
5390 #line 1684 "cgrammar.y"
5391 { yyval.ctyp = ctype_unknown; ;
5394 /* the action file gets copied in in place of this dollarsign */
5395 #line 498 "/usr/share/misc/bison.simple"
5406 short *ssp1 = yyss - 1;
5407 fprintf (stderr, "state stack now");
5408 while (ssp1 != yyssp)
5409 fprintf (stderr, " %d", *++ssp1);
5410 fprintf (stderr, "\n");
5420 yylsp->first_line = yylloc.first_line;
5421 yylsp->first_column = yylloc.first_column;
5422 yylsp->last_line = (yylsp-1)->last_line;
5423 yylsp->last_column = (yylsp-1)->last_column;
5428 yylsp->last_line = (yylsp+yylen-1)->last_line;
5429 yylsp->last_column = (yylsp+yylen-1)->last_column;
5433 /* Now "shift" the result of the reduction.
5434 Determine what state that goes to,
5435 based on the state we popped back to
5436 and the rule number reduced by. */
5440 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5441 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5442 yystate = yytable[yystate];
5444 yystate = yydefgoto[yyn - YYNTBASE];
5448 yyerrlab: /* here on detecting error */
5451 /* If not already recovering from an error, report this error. */
5455 #ifdef YYERROR_VERBOSE
5456 yyn = yypact[yystate];
5458 if (yyn > YYFLAG && yyn < YYLAST)
5465 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5466 for (x = (yyn < 0 ? -yyn : 0);
5467 x < (sizeof(yytname) / sizeof(char *)); x++)
5468 if (yycheck[x + yyn] == x)
5469 size += strlen(yytname[x]) + 15, count++;
5470 msg = (char *) malloc(size + 15);
5473 strcpy(msg, "parse error");
5478 for (x = (yyn < 0 ? -yyn : 0);
5479 x < (sizeof(yytname) / sizeof(char *)); x++)
5480 if (yycheck[x + yyn] == x)
5482 strcat(msg, count == 0 ? ", expecting `" : " or `");
5483 strcat(msg, yytname[x]);
5492 yyerror ("parse error; also virtual memory exceeded");
5495 #endif /* YYERROR_VERBOSE */
5496 yyerror("parse error");
5500 yyerrlab1: /* here on error raised explicitly by an action */
5502 if (yyerrstatus == 3)
5504 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5506 /* return failure if at end of input */
5507 if (yychar == YYEOF)
5512 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5518 /* Else will try to reuse lookahead token
5519 after shifting the error token. */
5521 yyerrstatus = 3; /* Each real token shifted decrements this */
5525 yyerrdefault: /* current state does not do anything special for the error token. */
5528 /* This is wrong; only states that explicitly want error tokens
5529 should shift them. */
5530 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5531 if (yyn) goto yydefault;
5534 yyerrpop: /* pop the current state because it cannot handle the error token */
5536 if (yyssp == yyss) YYABORT;
5546 short *ssp1 = yyss - 1;
5547 fprintf (stderr, "Error: state stack now");
5548 while (ssp1 != yyssp)
5549 fprintf (stderr, " %d", *++ssp1);
5550 fprintf (stderr, "\n");
5556 yyn = yypact[yystate];
5561 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5580 fprintf(stderr, "Shifting error token, ");
5591 #line 1686 "cgrammar.y"
5595 extern char *yytext;
5598 # include "bison.reset"
5600 void yyerror (/*@unused@*/ char *s)
5602 static bool givehint = FALSE;
5604 if (context_inIterDef ())
5606 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5607 context_inFunctionName ()));
5609 else if (context_inIterEnd ())
5611 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5612 context_inFunctionName ()));
5614 else if (context_inMacro ())
5616 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5617 context_inFunctionName ()));
5619 if (context_inMacroUnknown ())
5623 llhint (cstring_makeLiteral
5624 ("Precede macro definition with /*@notfunction@*/ "
5625 "to suppress checking and force expansion"));
5634 llparseerror (cstring_undefined);
5638 void printState (idDecl t) {
5639 cstring id = idDecl_getName (t);
5640 uentry ue = usymtab_lookupSafe (id);
5642 sRef s = uentry_getSref (ue);
5644 printf("State = %d\n", s->bufinfo.bufstate);
5648 /*take this out soon */
5649 /* void testassert1 (cstring id, icstring cons ) { */
5650 /* uentry ue =usymtab_lookupSafe (id); */
5651 /* sRef s = uentry_getSref (ue); */
5652 /* printf ("Doing testassert1 with setbuffersize\n"); */
5653 /* printf("State = %d\n", s->bufinfo.bufstate); */
5655 /* void testassert2 (cstring id) { */
5656 /* uentry ue =usymtab_lookupSafe (id); */
5657 /* sRef s = uentry_getSref (ue); */
5658 /* printf ("Doing testassert2 with setbuffersize\n"); */
5659 /* printf("State = %d\n", s->bufinfo.bufstate); */