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 QSETSTRINGLENGTH 432
183 #define IDENTIFIER 433
184 #define NEW_IDENTIFIER 434
185 #define TYPE_NAME_OR_ID 435
186 #define CCONSTANT 436
187 #define ITER_NAME 437
188 #define ITER_ENDNAME 438
189 #define TYPE_NAME 439
196 ** Yacc/Bison grammar for extended ANSI C used by LCLint.
198 ** original grammar by Nate Osgood ---
199 ** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
201 ** changes for LCLint --- handle typedef names correctly
202 ** fix struct/union parsing bug (empty struct is accepted)
203 ** add productions to handle macros --- require
204 ** error correction --- main source of conflicts in grammar.
205 ** need to process initializations sequentially, L->R
207 ** production names are cryptic, so more productions fit on one line
209 ** conflicts: 87 shift/reduce, 18 reduce/reduce
210 ** most of these are due to handling macros
211 ** a few are due to handling type expressions
217 extern void swallowMacro (void);
219 # include "lclintMacros.nf"
221 # include "cgrammar.h"
222 # include "exprChecks.h"
227 # define SHOWCSYM FALSE
228 void yyerror (char *s);
231 ** This is necessary, or else when the bison-generated code #include's malloc.h,
232 ** there will be a parse error.
234 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
235 ** in bison-generated files under Win32.
244 void checkandsetBufState(idDecl id, exprNode is);
250 specialClauseKind sck;
255 /*@only@*/ qtype qtyp;
256 /*@only@*/ cstring cname;
257 /*@only@*/ idDecl ntyp;
258 /*@only@*/ idDeclList ntyplist;
259 /*@only@*/ uentryList flist;
260 /*@owned@*/ uentryList entrylist;
261 /*@observer@*/ /*@dependent@*/ uentry entry;
262 /*@only@*/ uentry oentry;
263 /*@only@*/ exprNode expr;
264 /*@only@*/ enumNameList enumnamelist;
265 /*@only@*/ exprNodeList alist;
266 /*@only@*/ sRefSet srset;
267 /*@only@*/ cstringList cstringlist;
284 #define YYFLAG -32768
287 #define YYTRANSLATE(x) ((unsigned)(x) <= 439 ? yytranslate[x] : 413)
289 static const short yytranslate[] = { 0,
290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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, 1, 2, 3, 4, 5,
316 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
317 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
318 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
319 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
320 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
321 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
322 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
323 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
324 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
325 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
326 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
327 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
328 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
329 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
330 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
331 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
332 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
333 176, 177, 178, 179, 180, 181, 182, 183, 184
337 static const short yyprhs[] = { 0,
338 0, 1, 3, 5, 8, 11, 13, 15, 17, 19,
339 21, 23, 32, 44, 45, 51, 53, 57, 59, 62,
340 64, 71, 75, 82, 83, 90, 91, 99, 101, 108,
341 112, 119, 120, 127, 128, 136, 137, 138, 149, 153,
342 157, 161, 164, 166, 167, 170, 171, 174, 176, 179,
343 181, 184, 186, 189, 191, 195, 198, 200, 202, 204,
344 206, 208, 210, 212, 213, 216, 217, 224, 225, 232,
345 234, 236, 237, 238, 244, 245, 251, 253, 255, 256,
346 258, 259, 260, 264, 265, 269, 271, 273, 275, 277,
347 279, 281, 283, 285, 287, 289, 291, 293, 295, 297,
348 299, 301, 303, 304, 312, 313, 322, 324, 328, 329,
349 333, 334, 338, 341, 345, 348, 351, 353, 355, 357,
350 361, 366, 369, 373, 377, 381, 383, 385, 387, 391,
351 393, 395, 399, 404, 407, 411, 415, 419, 421, 425,
352 427, 429, 431, 435, 437, 439, 441, 446, 450, 455,
353 462, 468, 474, 477, 480, 482, 486, 488, 491, 494,
354 497, 500, 503, 506, 509, 512, 514, 516, 520, 522,
355 532, 533, 537, 542, 545, 550, 553, 555, 560, 562,
356 566, 570, 574, 576, 580, 584, 586, 590, 594, 596,
357 600, 604, 608, 612, 614, 618, 622, 624, 628, 630,
358 634, 636, 640, 642, 643, 648, 650, 651, 656, 658,
359 659, 660, 668, 670, 674, 678, 682, 686, 690, 694,
360 698, 702, 706, 710, 714, 716, 720, 721, 723, 725,
361 727, 729, 731, 735, 736, 746, 747, 759, 762, 763,
362 770, 771, 779, 784, 789, 790, 791, 794, 796, 801,
363 802, 807, 809, 813, 818, 820, 824, 826, 828, 830,
364 832, 834, 837, 840, 843, 846, 849, 852, 855, 858,
365 861, 864, 867, 870, 873, 876, 879, 882, 885, 888,
366 891, 894, 897, 900, 903, 906, 909, 912, 915, 918,
367 921, 924, 927, 930, 933, 936, 939, 942, 945, 948,
368 951, 954, 957, 960, 963, 966, 969, 972, 974, 976,
369 978, 980, 983, 986, 989, 992, 995, 998, 1001, 1004,
370 1007, 1010, 1013, 1016, 1019, 1022, 1026, 1028, 1033, 1035,
371 1039, 1042, 1045, 1048, 1049, 1051, 1052, 1053, 1065, 1066,
372 1067, 1079, 1086, 1093, 1094, 1095, 1106, 1107, 1108, 1119,
373 1125, 1131, 1136, 1141, 1142, 1144, 1146, 1149, 1155, 1159,
374 1162, 1167, 1169, 1173, 1178, 1185, 1186, 1195, 1200, 1202,
375 1206, 1209, 1211, 1216, 1218, 1220, 1223, 1226, 1228, 1231,
376 1233, 1236, 1238, 1240, 1242, 1245, 1247, 1250, 1253, 1257,
377 1259, 1263, 1265, 1269, 1271, 1273, 1277, 1278, 1281, 1282,
378 1287, 1292, 1294, 1296, 1299, 1301, 1303, 1306, 1307, 1309,
379 1315, 1318, 1322, 1326, 1331, 1335, 1340, 1345, 1351, 1353,
380 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1369, 1371, 1376,
381 1381, 1384, 1386, 1388, 1390, 1393, 1396, 1404, 1411, 1414,
382 1415, 1416, 1427, 1428, 1435, 1437, 1439, 1441, 1443, 1446,
383 1448, 1450, 1452, 1454, 1456, 1458, 1460, 1464, 1466, 1469,
384 1472, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491,
385 1493, 1495, 1499, 1501, 1503, 1506, 1509, 1510, 1515, 1516,
386 1522, 1523, 1527, 1528, 1533, 1537, 1540, 1544, 1545, 1546,
387 1547, 1548, 1549, 1551, 1554, 1557, 1561, 1564, 1568, 1572,
388 1577, 1580, 1583, 1587, 1591, 1596, 1598, 1601, 1603, 1606,
389 1608, 1611, 1613, 1616, 1618, 1621, 1623, 1628, 1631, 1632,
390 1638, 1639, 1646, 1651, 1656, 1657, 1658, 1669, 1671, 1672,
391 1677, 1679, 1681, 1683, 1685, 1687, 1691, 1693, 1698, 1702,
392 1707, 1714, 1720, 1726, 1729, 1732, 1734, 1737, 1740, 1743,
393 1746, 1749, 1752, 1755, 1758, 1760, 1762, 1767, 1769, 1773,
394 1777, 1781, 1783, 1787, 1791, 1793, 1797, 1801, 1803, 1807,
395 1811, 1815, 1819, 1821, 1825, 1829, 1831, 1835, 1837, 1841,
396 1843, 1847, 1849, 1853, 1855, 1859, 1861, 1862, 1863, 1871,
397 1873, 1877, 1881, 1885, 1889, 1893, 1897, 1901, 1905, 1909,
398 1913, 1917, 1919, 1920, 1922, 1925, 1933, 1936, 1939, 1947,
399 1954, 1957, 1961, 1964, 1968, 1971, 1975, 1979, 1983, 1987,
400 1990, 1994, 1995, 1997, 1999, 2001, 2003, 2005, 2007, 2009,
404 static const short yyrhs[] = { -1,
405 186, 0, 187, 0, 186, 187, 0, 239, 409, 0,
406 188, 0, 189, 0, 199, 0, 202, 0, 276, 0,
407 1, 0, 75, 296, 309, 319, 309, 409, 284, 88,
408 0, 75, 296, 309, 319, 309, 23, 284, 289, 288,
409 409, 88, 0, 0, 76, 190, 191, 409, 88, 0,
410 192, 0, 296, 309, 192, 0, 196, 0, 323, 196,
411 0, 411, 0, 284, 24, 309, 319, 284, 25, 0,
412 193, 26, 27, 0, 193, 26, 284, 275, 27, 309,
413 0, 0, 193, 285, 24, 25, 194, 204, 0, 0,
414 193, 285, 24, 320, 25, 195, 204, 0, 411, 0,
415 284, 24, 309, 192, 284, 25, 0, 196, 26, 27,
416 0, 196, 26, 284, 275, 27, 309, 0, 0, 196,
417 285, 24, 25, 197, 206, 0, 0, 196, 285, 24,
418 320, 25, 198, 206, 0, 0, 0, 77, 411, 24,
419 320, 25, 200, 206, 201, 409, 88, 0, 89, 350,
420 92, 0, 90, 337, 92, 0, 91, 338, 92, 0,
421 89, 92, 0, 235, 0, 0, 205, 208, 0, 0,
422 207, 209, 0, 216, 0, 210, 216, 0, 219, 0,
423 210, 219, 0, 232, 0, 232, 210, 0, 212, 0,
424 211, 21, 212, 0, 215, 213, 0, 410, 0, 179,
425 0, 86, 0, 87, 0, 116, 0, 117, 0, 130,
426 0, 0, 214, 215, 0, 0, 72, 217, 370, 409,
427 88, 222, 0, 0, 72, 218, 211, 409, 88, 222,
428 0, 74, 0, 223, 0, 0, 0, 72, 220, 370,
429 409, 222, 0, 0, 72, 221, 211, 409, 222, 0,
430 74, 0, 225, 0, 0, 223, 0, 0, 0, 73,
431 224, 240, 0, 0, 73, 226, 241, 0, 78, 0,
432 79, 0, 80, 0, 81, 0, 82, 0, 88, 0,
433 88, 0, 83, 0, 84, 0, 119, 0, 137, 0,
434 135, 0, 133, 0, 132, 0, 121, 0, 138, 0,
435 150, 0, 0, 227, 309, 233, 246, 409, 229, 284,
436 0, 0, 230, 309, 231, 234, 246, 409, 228, 284,
437 0, 319, 0, 296, 309, 319, 0, 0, 19, 237,
438 366, 0, 0, 370, 238, 359, 0, 203, 236, 0,
439 244, 409, 88, 0, 409, 88, 0, 244, 409, 0,
440 409, 0, 410, 0, 179, 0, 242, 26, 27, 0,
441 242, 26, 243, 27, 0, 34, 242, 0, 24, 242,
442 25, 0, 242, 28, 411, 0, 242, 44, 411, 0,
443 242, 0, 181, 0, 242, 0, 244, 21, 242, 0,
444 410, 0, 179, 0, 245, 26, 27, 0, 245, 26,
445 243, 27, 0, 34, 245, 0, 24, 245, 25, 0,
446 245, 28, 411, 0, 245, 44, 411, 0, 245, 0,
447 246, 21, 245, 0, 410, 0, 179, 0, 181, 0,
448 24, 273, 25, 0, 180, 0, 111, 0, 247, 0,
449 248, 26, 273, 27, 0, 248, 24, 25, 0, 248,
450 24, 249, 25, 0, 70, 24, 272, 21, 331, 25,
451 0, 248, 309, 28, 411, 284, 0, 248, 309, 44,
452 411, 284, 0, 248, 47, 0, 248, 48, 0, 272,
453 0, 249, 21, 272, 0, 248, 0, 47, 250, 0,
454 48, 250, 0, 29, 256, 0, 34, 256, 0, 33,
455 256, 0, 32, 256, 0, 31, 256, 0, 30, 256,
456 0, 253, 0, 252, 0, 251, 28, 411, 0, 411,
457 0, 46, 284, 24, 331, 309, 21, 251, 25, 284,
458 0, 0, 284, 254, 255, 0, 42, 24, 331, 25,
459 0, 42, 250, 0, 43, 24, 331, 25, 0, 43,
460 250, 0, 250, 0, 24, 331, 25, 256, 0, 256,
461 0, 257, 34, 256, 0, 257, 35, 256, 0, 257,
462 36, 256, 0, 257, 0, 258, 33, 257, 0, 258,
463 32, 257, 0, 258, 0, 259, 49, 258, 0, 259,
464 50, 258, 0, 259, 0, 260, 37, 259, 0, 260,
465 38, 259, 0, 260, 51, 259, 0, 260, 52, 259,
466 0, 260, 0, 261, 53, 260, 0, 261, 54, 260,
467 0, 261, 0, 262, 29, 261, 0, 262, 0, 263,
468 39, 262, 0, 263, 0, 264, 40, 263, 0, 264,
469 0, 0, 265, 55, 266, 264, 0, 265, 0, 0,
470 267, 56, 268, 265, 0, 267, 0, 0, 0, 267,
471 41, 270, 273, 22, 271, 269, 0, 269, 0, 250,
472 23, 272, 0, 250, 57, 272, 0, 250, 58, 272,
473 0, 250, 59, 272, 0, 250, 60, 272, 0, 250,
474 61, 272, 0, 250, 62, 272, 0, 250, 63, 272,
475 0, 250, 64, 272, 0, 250, 65, 272, 0, 250,
476 66, 272, 0, 272, 0, 273, 21, 272, 0, 0,
477 273, 0, 269, 0, 277, 0, 71, 0, 282, 0,
478 296, 284, 18, 0, 0, 296, 309, 319, 309, 278,
479 284, 288, 18, 284, 0, 0, 296, 309, 319, 309,
480 23, 279, 284, 289, 288, 18, 284, 0, 319, 309,
481 0, 0, 319, 309, 23, 281, 284, 289, 0, 0,
482 45, 296, 283, 309, 286, 284, 18, 0, 45, 296,
483 284, 18, 0, 45, 286, 284, 18, 0, 0, 0,
484 287, 284, 0, 280, 0, 286, 21, 309, 280, 0,
485 0, 288, 21, 309, 280, 0, 272, 0, 19, 290,
486 20, 0, 19, 290, 21, 20, 0, 289, 0, 290,
487 21, 289, 0, 112, 0, 110, 0, 113, 0, 114,
488 0, 115, 0, 108, 284, 0, 109, 284, 0, 116,
489 284, 0, 117, 284, 0, 130, 284, 0, 131, 284,
490 0, 132, 284, 0, 133, 284, 0, 118, 284, 0,
491 120, 284, 0, 119, 284, 0, 128, 284, 0, 129,
492 284, 0, 121, 284, 0, 123, 284, 0, 139, 284,
493 0, 140, 284, 0, 142, 284, 0, 143, 284, 0,
494 141, 284, 0, 136, 284, 0, 151, 284, 0, 134,
495 284, 0, 135, 284, 0, 137, 284, 0, 124, 284,
496 0, 127, 284, 0, 125, 284, 0, 126, 284, 0,
497 156, 284, 0, 157, 284, 0, 148, 284, 0, 158,
498 284, 0, 149, 284, 0, 152, 284, 0, 153, 284,
499 0, 154, 284, 0, 155, 284, 0, 150, 284, 0,
500 159, 284, 0, 160, 284, 0, 163, 284, 0, 164,
501 284, 0, 161, 284, 0, 162, 284, 0, 175, 284,
502 0, 147, 0, 144, 0, 145, 0, 146, 0, 165,
503 309, 0, 167, 309, 0, 166, 309, 0, 168, 309,
504 0, 169, 309, 0, 170, 309, 0, 171, 309, 0,
505 172, 309, 0, 173, 309, 0, 174, 309, 0, 412,
506 309, 0, 300, 309, 0, 314, 309, 0, 293, 309,
507 0, 284, 296, 284, 0, 298, 0, 298, 85, 297,
508 88, 0, 331, 0, 331, 21, 297, 0, 291, 299,
509 0, 292, 299, 0, 294, 299, 0, 0, 296, 0,
510 0, 0, 309, 67, 411, 284, 19, 301, 363, 310,
511 364, 302, 20, 0, 0, 0, 309, 68, 411, 284,
512 19, 303, 363, 310, 364, 304, 20, 0, 309, 67,
513 411, 284, 19, 20, 0, 309, 68, 411, 284, 19,
514 20, 0, 0, 0, 309, 67, 284, 19, 305, 363,
515 310, 364, 306, 20, 0, 0, 0, 309, 68, 284,
516 19, 307, 363, 310, 364, 308, 20, 0, 309, 67,
517 284, 19, 20, 0, 309, 68, 284, 19, 20, 0,
518 309, 67, 411, 309, 0, 309, 68, 411, 309, 0,
519 0, 311, 0, 202, 0, 310, 311, 0, 296, 309,
520 312, 284, 18, 0, 296, 284, 18, 0, 313, 309,
521 0, 312, 21, 313, 309, 0, 319, 0, 22, 284,
522 275, 0, 319, 22, 284, 275, 0, 309, 69, 19,
523 316, 20, 284, 0, 0, 309, 69, 411, 19, 315,
524 316, 20, 284, 0, 309, 69, 411, 284, 0, 317,
525 0, 316, 21, 317, 0, 316, 21, 0, 411, 0,
526 411, 23, 284, 275, 0, 193, 0, 333, 0, 323,
527 184, 0, 323, 318, 0, 193, 0, 323, 193, 0,
528 326, 0, 309, 324, 0, 108, 0, 109, 0, 321,
529 0, 322, 321, 0, 34, 0, 34, 322, 0, 34,
530 323, 0, 34, 322, 323, 0, 325, 0, 325, 21,
531 5, 0, 411, 0, 325, 21, 411, 0, 5, 0,
532 327, 0, 327, 21, 5, 0, 0, 328, 330, 0,
533 0, 327, 21, 329, 330, 0, 284, 296, 318, 284,
534 0, 411, 0, 295, 0, 295, 332, 0, 323, 0,
535 334, 0, 323, 334, 0, 0, 334, 0, 284, 24,
536 309, 332, 25, 0, 26, 27, 0, 26, 275, 27,
537 0, 334, 26, 27, 0, 334, 26, 275, 27, 0,
538 284, 24, 25, 0, 284, 24, 326, 25, 0, 334,
539 284, 24, 25, 0, 334, 284, 24, 326, 25, 0,
540 352, 0, 353, 0, 356, 0, 359, 0, 372, 0,
541 375, 0, 406, 0, 380, 0, 408, 0, 336, 0,
542 176, 410, 181, 88, 0, 177, 410, 181, 88, 0,
543 22, 411, 0, 339, 0, 337, 0, 346, 0, 339,
544 346, 0, 379, 339, 0, 405, 351, 11, 24, 273,
545 25, 18, 0, 405, 351, 11, 24, 273, 25, 0,
546 341, 346, 0, 0, 0, 13, 24, 274, 18, 274,
547 18, 342, 274, 343, 25, 0, 0, 182, 361, 24,
548 345, 383, 25, 0, 183, 0, 352, 0, 353, 0,
549 356, 0, 348, 370, 0, 348, 0, 349, 0, 372,
550 0, 347, 0, 340, 0, 344, 0, 408, 0, 24,
551 346, 25, 0, 1, 0, 374, 346, 0, 361, 19,
552 0, 365, 20, 0, 351, 0, 369, 0, 352, 0,
553 353, 0, 356, 0, 360, 0, 373, 0, 375, 0,
554 380, 0, 407, 0, 24, 351, 25, 0, 408, 0,
555 1, 0, 411, 22, 0, 107, 335, 0, 0, 6,
556 275, 354, 22, 0, 0, 98, 6, 275, 355, 22,
557 0, 0, 7, 357, 22, 0, 0, 98, 7, 358,
558 22, 0, 24, 359, 25, 0, 361, 367, 0, 361,
559 368, 362, 0, 0, 0, 0, 0, 0, 20, 0,
560 107, 20, 0, 371, 20, 0, 371, 107, 20, 0,
561 370, 20, 0, 370, 107, 20, 0, 370, 371, 20,
562 0, 370, 371, 107, 20, 0, 19, 366, 0, 19,
563 20, 0, 19, 369, 20, 0, 19, 370, 20, 0,
564 19, 370, 371, 20, 0, 351, 0, 369, 351, 0,
565 276, 0, 370, 276, 0, 335, 0, 371, 335, 0,
566 18, 0, 273, 18, 0, 18, 0, 273, 18, 0,
567 273, 0, 8, 24, 273, 25, 0, 374, 335, 0,
568 0, 374, 335, 9, 376, 335, 0, 0, 10, 24,
569 273, 377, 25, 335, 0, 11, 24, 273, 25, 0,
570 11, 24, 273, 25, 0, 0, 0, 182, 381, 361,
571 24, 382, 383, 25, 359, 404, 362, 0, 385, 0,
572 0, 383, 384, 21, 385, 0, 403, 0, 410, 0,
573 180, 0, 179, 0, 181, 0, 24, 273, 25, 0,
574 386, 0, 248, 26, 273, 27, 0, 248, 24, 25,
575 0, 248, 24, 249, 25, 0, 70, 24, 272, 21,
576 331, 25, 0, 248, 309, 28, 411, 284, 0, 248,
577 309, 44, 411, 284, 0, 248, 47, 0, 248, 48,
578 0, 387, 0, 47, 250, 0, 48, 250, 0, 29,
579 256, 0, 34, 256, 0, 33, 256, 0, 32, 256,
580 0, 31, 256, 0, 30, 256, 0, 253, 0, 388,
581 0, 24, 331, 25, 256, 0, 389, 0, 257, 34,
582 256, 0, 257, 35, 256, 0, 257, 36, 256, 0,
583 390, 0, 258, 33, 257, 0, 258, 32, 257, 0,
584 391, 0, 259, 49, 258, 0, 259, 50, 258, 0,
585 392, 0, 260, 37, 259, 0, 260, 38, 259, 0,
586 260, 51, 259, 0, 260, 52, 259, 0, 393, 0,
587 261, 53, 260, 0, 261, 54, 260, 0, 394, 0,
588 262, 29, 261, 0, 395, 0, 263, 39, 262, 0,
589 396, 0, 264, 40, 263, 0, 397, 0, 265, 55,
590 264, 0, 398, 0, 267, 56, 265, 0, 399, 0,
591 0, 0, 267, 41, 401, 273, 22, 402, 269, 0,
592 400, 0, 250, 23, 272, 0, 250, 57, 272, 0,
593 250, 58, 272, 0, 250, 59, 272, 0, 250, 60,
594 272, 0, 250, 61, 272, 0, 250, 62, 272, 0,
595 250, 63, 272, 0, 250, 64, 272, 0, 250, 65,
596 272, 0, 250, 66, 272, 0, 183, 0, 0, 12,
597 0, 378, 335, 0, 405, 335, 11, 24, 273, 25,
598 18, 0, 341, 335, 0, 378, 351, 0, 405, 351,
599 11, 24, 273, 25, 18, 0, 405, 351, 11, 24,
600 273, 25, 0, 341, 351, 0, 14, 411, 18, 0,
601 15, 18, 0, 97, 15, 18, 0, 16, 18, 0,
602 93, 16, 18, 0, 94, 16, 18, 0, 95, 16,
603 18, 0, 96, 16, 18, 0, 17, 18, 0, 17,
604 273, 18, 0, 0, 18, 0, 178, 0, 179, 0,
605 182, 0, 183, 0, 410, 0, 180, 0, 184, 0,
612 static const short yyrline[] = { 0,
613 240, 241, 244, 245, 248, 249, 250, 251, 252, 253,
614 254, 257, 259, 263, 263, 268, 274, 278, 279, 283,
615 284, 286, 288, 304, 308, 315, 319, 325, 326, 328,
616 330, 346, 350, 357, 361, 367, 369, 369, 373, 374,
617 375, 376, 379, 382, 383, 386, 387, 390, 391, 394,
618 395, 398, 399, 402, 403, 406, 409, 410, 413, 414,
619 415, 416, 417, 420, 421, 424, 424, 427, 427, 430,
620 434, 435, 438, 438, 441, 441, 444, 448, 449, 452,
621 453, 456, 462, 469, 475, 482, 483, 484, 485, 486,
622 489, 492, 495, 496, 499, 500, 501, 502, 503, 504,
623 505, 506, 509, 515, 522, 528, 537, 543, 547, 549,
624 553, 556, 563, 571, 572, 575, 576, 579, 580, 581,
625 582, 583, 584, 585, 586, 590, 591, 595, 596, 599,
626 601, 603, 604, 605, 606, 607, 609, 613, 617, 629,
627 630, 631, 632, 633, 634, 637, 638, 639, 640, 641,
628 642, 643, 644, 645, 648, 649, 652, 653, 654, 655,
629 656, 657, 658, 659, 660, 661, 662, 665, 666, 669,
630 673, 674, 677, 678, 679, 680, 683, 684, 688, 689,
631 690, 691, 694, 695, 696, 699, 700, 701, 704, 705,
632 706, 707, 708, 711, 712, 713, 716, 717, 720, 721,
633 725, 726, 729, 730, 735, 741, 742, 748, 754, 755,
634 755, 757, 760, 761, 762, 763, 764, 765, 766, 767,
635 768, 769, 770, 771, 774, 775, 778, 779, 782, 787,
636 788, 789, 792, 805, 809, 810, 813, 818, 819, 819,
637 824, 825, 826, 827, 830, 833, 836, 839, 840, 843,
638 844, 847, 848, 849, 853, 855, 864, 865, 866, 867,
639 868, 871, 872, 873, 874, 875, 876, 877, 878, 879,
640 880, 881, 882, 883, 884, 885, 886, 887, 888, 889,
641 890, 891, 892, 893, 894, 895, 896, 897, 898, 899,
642 900, 901, 902, 903, 904, 905, 906, 907, 908, 909,
643 910, 911, 912, 913, 914, 915, 916, 922, 923, 924,
644 925, 928, 929, 930, 931, 932, 933, 934, 935, 936,
645 937, 938, 939, 940, 941, 944, 948, 949, 953, 954,
646 958, 959, 960, 963, 964, 967, 969, 971, 972, 974,
647 976, 977, 979, 981, 983, 985, 986, 988, 990, 991,
648 993, 995, 996, 999, 1002, 1003, 1004, 1007, 1009, 1013,
649 1015, 1019, 1020, 1021, 1025, 1027, 1027, 1029, 1032, 1034,
650 1036, 1039, 1044, 1051, 1052, 1053, 1060, 1064, 1065, 1069,
651 1070, 1073, 1074, 1077, 1078, 1081, 1082, 1083, 1084, 1087,
652 1088, 1091, 1092, 1095, 1096, 1097, 1100, 1100, 1101, 1102,
653 1105, 1117, 1133, 1134, 1137, 1138, 1139, 1142, 1143, 1146,
654 1148, 1149, 1150, 1151, 1152, 1154, 1156, 1158, 1164, 1165,
655 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1174, 1178, 1180,
656 1187, 1192, 1195, 1198, 1199, 1203, 1205, 1207, 1209, 1213,
657 1214, 1216, 1220, 1222, 1224, 1227, 1228, 1229, 1230, 1231,
658 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1242, 1248,
659 1251, 1254, 1255, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
660 1265, 1266, 1267, 1268, 1271, 1272, 1278, 1279, 1280, 1281,
661 1284, 1285, 1286, 1287, 1290, 1291, 1295, 1298, 1301, 1304,
662 1307, 1310, 1313, 1314, 1315, 1316, 1318, 1319, 1321, 1323,
663 1330, 1334, 1336, 1338, 1340, 1344, 1345, 1348, 1349, 1352,
664 1353, 1356, 1357, 1360, 1361, 1362, 1365, 1373, 1378, 1379,
665 1383, 1384, 1387, 1392, 1395, 1396, 1397, 1405, 1406, 1406,
666 1410, 1411, 1412, 1423, 1430, 1431, 1434, 1435, 1436, 1437,
667 1438, 1440, 1441, 1442, 1443, 1446, 1447, 1448, 1449, 1450,
668 1451, 1452, 1453, 1454, 1455, 1458, 1459, 1462, 1463, 1464,
669 1465, 1468, 1469, 1470, 1473, 1474, 1475, 1478, 1479, 1480,
670 1481, 1482, 1485, 1486, 1487, 1490, 1491, 1494, 1495, 1499,
671 1500, 1503, 1504, 1507, 1508, 1511, 1512, 1513, 1514, 1517,
672 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527,
673 1528, 1531, 1532, 1535, 1538, 1540, 1542, 1546, 1547, 1549,
674 1551, 1554, 1555, 1556, 1558, 1559, 1560, 1561, 1562, 1563,
675 1564, 1567, 1568, 1571, 1574, 1575, 1576, 1577, 1578, 1581,
681 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
683 static const char * const yytname[] = { "$","error","$undefined.","BADTOK",
684 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
685 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
686 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
687 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
688 "TBAR","TQUEST","CSIZEOF","CALIGNOF","ARROW_OP","CTYPEDEF","COFFSETOF","INC_OP",
689 "DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP",
690 "MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
691 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
692 "VA_ARG","VA_DCL","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION","QITER",
693 "QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
694 "QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND","TENDMACRO",
695 "QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE","QFALLTHROUGH",
696 "QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED","QPRINTFLIKE",
697 "QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST","QVOLATILE",
698 "QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT","QIN",
699 "QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
700 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
701 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
702 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
703 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
704 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
705 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
706 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
707 "QSETBUFFERSIZE","QSETSTRINGLENGTH","IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID",
708 "CCONSTANT","ITER_NAME","ITER_ENDNAME","TYPE_NAME","file","externalDefs","externalDef",
709 "constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2",
710 "@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr",
711 "optGlobMods","@8","optPlainGlobMods","@9","optGlobModsRest","optPlainGlobModsRest",
712 "specialClauses","globIdList","globIdListExpr","globId","globQual","optGlobQuals",
713 "optGlobModsAux","@10","@11","optPlainGlobModsAux","@12","@13","optMods","fcnMods",
714 "@14","fcnPlainMods","@15","specialTag","endStateTag","endSpecialTag","stateSpecialClause",
715 "specialClauseType","specialClause","@16","@17","fcnDefHdrAux","fcnBody","@18",
716 "@19","fcnDef","locModifies","locPlainModifies","modListExpr","mExpr","modList",
717 "specClauseListExpr","specClauseList","primaryExpr","postfixExpr","argumentExprList",
718 "unaryExpr","fieldDesignator","offsetofExpr","sizeofExpr","@20","sizeofExprAux",
719 "castExpr","timesExpr","plusExpr","shiftExpr","relationalExpr","equalityExpr",
720 "bitandExpr","xorExpr","bitorExpr","andExpr","@21","orExpr","@22","conditionalExpr",
721 "@23","@24","assignExpr","expr","optExpr","constantExpr","initializer","instanceDecl",
722 "@25","@26","namedInitializer","@27","typeDecl","@28","IsType","PushType","namedInitializerList",
723 "namedInitializerListAux","optDeclarators","init","initList","storageSpecifier",
724 "typeQualifier","typeModifier","typeSpecifier","completeType","completeTypeSpecifier",
725 "altType","completeTypeSpecifierAux","optCompleteType","suSpc","@29","@30","@31",
726 "@32","@33","@34","@35","@36","NotType","structDeclList","structDecl","structNamedDeclList",
727 "structNamedDecl","enumSpc","@37","enumeratorList","enumerator","optNamedDecl",
728 "namedDecl","genericParamList","innerMods","innerModsList","pointers","paramIdList",
729 "idList","paramTypeList","paramList","@38","@39","paramDecl","typeExpression",
730 "abstractDecl","optAbstractDeclBase","abstractDeclBase","stmt","lclintassertion",
731 "iterBody","endBody","iterDefStmtList","iterDefIterationStmt","forPred","@40",
732 "@41","partialIterStmt","@42","iterDefStmt","iterSelectionStmt","openScope",
733 "closeScope","macroBody","stmtErr","labeledStmt","caseStmt","@43","@44","defaultStmt",
734 "@45","@46","compoundStmt","compoundStmtErr","CreateInnerScope","DeleteInnerScope",
735 "CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe","compoundStmtRest",
736 "compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList","stmtList",
737 "expressionStmt","expressionStmtErr","ifPred","selectionStmt","@47","@48","whilePred",
738 "iterWhilePred","iterStmt","@49","@50","iterArgList","@51","iterArgExpr","primaryIterExpr",
739 "postfixIterExpr","unaryIterExpr","castIterExpr","timesIterExpr","plusIterExpr",
740 "shiftIterExpr","relationalIterExpr","equalityIterExpr","bitandIterExpr","xorIterExpr",
741 "bitorIterExpr","andIterExpr","orIterExpr","conditionalIterExpr","@52","@53",
742 "assignIterExpr","endIter","doHeader","iterationStmt","iterationStmtErr","jumpStmt",
743 "optSemi","id","newId","typeName", NULL
747 static const short yyr1[] = { 0,
748 185, 185, 186, 186, 187, 187, 187, 187, 187, 187,
749 187, 188, 188, 190, 189, 191, 191, 192, 192, 193,
750 193, 193, 193, 194, 193, 195, 193, 196, 196, 196,
751 196, 197, 196, 198, 196, 200, 201, 199, 202, 202,
752 202, 202, 203, 205, 204, 207, 206, 208, 208, 209,
753 209, 210, 210, 211, 211, 212, 213, 213, 214, 214,
754 214, 214, 214, 215, 215, 217, 216, 218, 216, 216,
755 216, 216, 220, 219, 221, 219, 219, 219, 219, 222,
756 222, 224, 223, 226, 225, 227, 227, 227, 227, 227,
757 228, 229, 230, 230, 231, 231, 231, 231, 231, 231,
758 231, 231, 233, 232, 234, 232, 235, 235, 237, 236,
759 238, 236, 239, 240, 240, 241, 241, 242, 242, 242,
760 242, 242, 242, 242, 242, 243, 243, 244, 244, 245,
761 245, 245, 245, 245, 245, 245, 245, 246, 246, 247,
762 247, 247, 247, 247, 247, 248, 248, 248, 248, 248,
763 248, 248, 248, 248, 249, 249, 250, 250, 250, 250,
764 250, 250, 250, 250, 250, 250, 250, 251, 251, 252,
765 254, 253, 255, 255, 255, 255, 256, 256, 257, 257,
766 257, 257, 258, 258, 258, 259, 259, 259, 260, 260,
767 260, 260, 260, 261, 261, 261, 262, 262, 263, 263,
768 264, 264, 265, 266, 265, 267, 268, 267, 269, 270,
769 271, 269, 272, 272, 272, 272, 272, 272, 272, 272,
770 272, 272, 272, 272, 273, 273, 274, 274, 275, 276,
771 276, 276, 277, 278, 277, 279, 277, 280, 281, 280,
772 283, 282, 282, 282, 284, 285, 286, 287, 287, 288,
773 288, 289, 289, 289, 290, 290, 291, 291, 291, 291,
774 291, 292, 292, 292, 292, 292, 292, 292, 292, 292,
775 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
776 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
777 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
778 292, 292, 292, 292, 292, 292, 292, 293, 293, 293,
779 293, 294, 294, 294, 294, 294, 294, 294, 294, 294,
780 294, 294, 294, 294, 294, 295, 296, 296, 297, 297,
781 298, 298, 298, 299, 299, 301, 302, 300, 303, 304,
782 300, 300, 300, 305, 306, 300, 307, 308, 300, 300,
783 300, 300, 300, 309, 310, 310, 310, 311, 311, 312,
784 312, 313, 313, 313, 314, 315, 314, 314, 316, 316,
785 316, 317, 317, 318, 318, 318, 318, 319, 319, 320,
786 320, 321, 321, 322, 322, 323, 323, 323, 323, 324,
787 324, 325, 325, 326, 326, 326, 328, 327, 329, 327,
788 330, 330, 331, 331, 332, 332, 332, 333, 333, 334,
789 334, 334, 334, 334, 334, 334, 334, 334, 335, 335,
790 335, 335, 335, 335, 335, 335, 335, 335, 336, 336,
791 -1, 337, 338, 339, 339, 340, 340, 340, 340, 342,
792 343, 341, 345, 344, 344, 346, 346, 346, 346, 346,
793 346, 346, 346, 346, 346, 346, 346, 346, 347, 348,
794 349, 350, 350, 351, 351, 351, 351, 351, 351, 351,
795 351, 351, 351, 351, 352, 352, 354, 353, 355, 353,
796 357, 356, 358, 356, 359, 359, 360, 361, 362, 363,
797 364, 365, 366, 366, 366, 366, 366, 366, 366, 366,
798 367, 368, 368, 368, 368, 369, 369, 370, 370, 371,
799 371, 372, 372, 373, 373, 373, 374, 375, 376, 375,
800 377, 375, 378, 379, 381, 382, 380, 383, 384, 383,
801 385, 385, 385, 385, 386, 386, 387, 387, 387, 387,
802 387, 387, 387, 387, 387, 388, 388, 388, 388, 388,
803 388, 388, 388, 388, 388, 389, 389, 390, 390, 390,
804 390, 391, 391, 391, 392, 392, 392, 393, 393, 393,
805 393, 393, 394, 394, 394, 395, 395, 396, 396, 397,
806 397, 398, 398, 399, 399, 400, 401, 402, 400, 403,
807 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
808 403, 404, 404, 405, 406, 406, 406, 407, 407, 407,
809 407, 408, 408, 408, 408, 408, 408, 408, 408, 408,
810 408, 409, 409, 410, 411, 411, 411, 411, 411, 412,
814 static const short yyr2[] = { 0,
815 0, 1, 1, 2, 2, 1, 1, 1, 1, 1,
816 1, 8, 11, 0, 5, 1, 3, 1, 2, 1,
817 6, 3, 6, 0, 6, 0, 7, 1, 6, 3,
818 6, 0, 6, 0, 7, 0, 0, 10, 3, 3,
819 3, 2, 1, 0, 2, 0, 2, 1, 2, 1,
820 2, 1, 2, 1, 3, 2, 1, 1, 1, 1,
821 1, 1, 1, 0, 2, 0, 6, 0, 6, 1,
822 1, 0, 0, 5, 0, 5, 1, 1, 0, 1,
823 0, 0, 3, 0, 3, 1, 1, 1, 1, 1,
824 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
825 1, 1, 0, 7, 0, 8, 1, 3, 0, 3,
826 0, 3, 2, 3, 2, 2, 1, 1, 1, 3,
827 4, 2, 3, 3, 3, 1, 1, 1, 3, 1,
828 1, 3, 4, 2, 3, 3, 3, 1, 3, 1,
829 1, 1, 3, 1, 1, 1, 4, 3, 4, 6,
830 5, 5, 2, 2, 1, 3, 1, 2, 2, 2,
831 2, 2, 2, 2, 2, 1, 1, 3, 1, 9,
832 0, 3, 4, 2, 4, 2, 1, 4, 1, 3,
833 3, 3, 1, 3, 3, 1, 3, 3, 1, 3,
834 3, 3, 3, 1, 3, 3, 1, 3, 1, 3,
835 1, 3, 1, 0, 4, 1, 0, 4, 1, 0,
836 0, 7, 1, 3, 3, 3, 3, 3, 3, 3,
837 3, 3, 3, 3, 1, 3, 0, 1, 1, 1,
838 1, 1, 3, 0, 9, 0, 11, 2, 0, 6,
839 0, 7, 4, 4, 0, 0, 2, 1, 4, 0,
840 4, 1, 3, 4, 1, 3, 1, 1, 1, 1,
841 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
842 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
843 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
844 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
845 2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
846 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
847 2, 2, 2, 2, 2, 3, 1, 4, 1, 3,
848 2, 2, 2, 0, 1, 0, 0, 11, 0, 0,
849 11, 6, 6, 0, 0, 10, 0, 0, 10, 5,
850 5, 4, 4, 0, 1, 1, 2, 5, 3, 2,
851 4, 1, 3, 4, 6, 0, 8, 4, 1, 3,
852 2, 1, 4, 1, 1, 2, 2, 1, 2, 1,
853 2, 1, 1, 1, 2, 1, 2, 2, 3, 1,
854 3, 1, 3, 1, 1, 3, 0, 2, 0, 4,
855 4, 1, 1, 2, 1, 1, 2, 0, 1, 5,
856 2, 3, 3, 4, 3, 4, 4, 5, 1, 1,
857 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
858 2, 1, 1, 1, 2, 2, 7, 6, 2, 0,
859 0, 10, 0, 6, 1, 1, 1, 1, 2, 1,
860 1, 1, 1, 1, 1, 1, 3, 1, 2, 2,
861 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
862 1, 3, 1, 1, 2, 2, 0, 4, 0, 5,
863 0, 3, 0, 4, 3, 2, 3, 0, 0, 0,
864 0, 0, 1, 2, 2, 3, 2, 3, 3, 4,
865 2, 2, 3, 3, 4, 1, 2, 1, 2, 1,
866 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
867 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
868 1, 1, 1, 1, 1, 3, 1, 4, 3, 4,
869 6, 5, 5, 2, 2, 1, 2, 2, 2, 2,
870 2, 2, 2, 2, 1, 1, 4, 1, 3, 3,
871 3, 1, 3, 3, 1, 3, 3, 1, 3, 3,
872 3, 3, 1, 3, 3, 1, 3, 1, 3, 1,
873 3, 1, 3, 1, 3, 1, 0, 0, 7, 1,
874 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
875 3, 1, 0, 1, 2, 7, 2, 2, 7, 6,
876 2, 3, 2, 3, 2, 3, 3, 3, 3, 2,
877 3, 0, 1, 1, 1, 1, 1, 1, 1, 1,
881 static const short yydefact[] = { 0,
882 11, 386, 354, 231, 354, 14, 0, 0, 0, 0,
883 245, 245, 258, 257, 259, 260, 261, 245, 245, 245,
884 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
885 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
886 245, 245, 245, 309, 310, 311, 308, 245, 245, 245,
887 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
888 245, 245, 245, 245, 354, 354, 354, 354, 354, 354,
889 354, 354, 354, 354, 245, 624, 625, 629, 626, 627,
890 630, 0, 3, 6, 7, 378, 8, 9, 354, 43,
891 622, 10, 230, 232, 0, 334, 334, 354, 334, 354,
892 327, 354, 0, 354, 107, 245, 628, 20, 354, 382,
893 383, 384, 387, 388, 248, 245, 245, 241, 354, 631,
894 354, 354, 629, 0, 474, 245, 481, 0, 0, 0,
895 604, 0, 0, 0, 0, 245, 514, 0, 245, 245,
896 245, 245, 245, 245, 245, 245, 245, 0, 42, 0,
897 0, 0, 0, 0, 0, 245, 145, 141, 144, 142,
898 525, 146, 157, 177, 167, 166, 179, 183, 186, 189,
899 194, 197, 199, 201, 203, 206, 209, 213, 225, 516,
900 171, 0, 0, 506, 464, 465, 466, 467, 0, 0,
901 468, 245, 469, 0, 470, 0, 471, 473, 140, 0,
902 458, 0, 512, 0, 488, 445, 0, 0, 0, 454,
903 0, 455, 434, 453, 450, 451, 446, 447, 448, 0,
904 0, 452, 0, 0, 0, 456, 433, 0, 262, 263,
905 264, 265, 270, 272, 271, 275, 276, 287, 289, 290,
906 288, 273, 274, 266, 267, 268, 269, 284, 285, 282,
907 286, 277, 278, 281, 279, 280, 293, 295, 300, 283,
908 296, 297, 298, 299, 291, 292, 294, 301, 302, 305,
909 306, 303, 304, 312, 314, 313, 315, 316, 317, 318,
910 319, 320, 321, 307, 4, 245, 0, 109, 113, 508,
911 354, 354, 623, 5, 354, 335, 331, 332, 325, 333,
912 0, 245, 245, 323, 245, 245, 0, 324, 379, 322,
913 385, 389, 354, 0, 247, 354, 0, 238, 245, 622,
914 16, 18, 0, 354, 245, 28, 397, 245, 141, 144,
915 177, 229, 477, 140, 0, 245, 245, 245, 245, 0,
916 613, 615, 620, 0, 0, 354, 403, 0, 0, 160,
917 165, 164, 163, 162, 161, 0, 245, 158, 159, 245,
918 0, 0, 0, 0, 0, 245, 483, 245, 0, 0,
919 476, 428, 245, 419, 420, 421, 422, 0, 423, 424,
920 245, 426, 245, 425, 427, 488, 245, 245, 153, 154,
921 0, 245, 245, 245, 245, 245, 245, 245, 245, 245,
922 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
923 245, 245, 245, 245, 245, 245, 245, 245, 204, 210,
924 207, 515, 245, 0, 611, 39, 0, 489, 507, 518,
925 608, 0, 475, 245, 0, 0, 0, 513, 40, 435,
926 439, 449, 460, 461, 459, 0, 0, 41, 22, 245,
927 397, 354, 245, 488, 509, 245, 233, 108, 354, 0,
928 329, 0, 354, 0, 354, 0, 245, 245, 244, 245,
929 243, 239, 354, 0, 245, 0, 354, 245, 19, 394,
930 0, 0, 380, 395, 245, 0, 0, 482, 0, 521,
931 0, 228, 0, 612, 621, 143, 245, 245, 0, 405,
932 404, 406, 245, 472, 245, 0, 616, 617, 618, 619,
933 614, 479, 0, 0, 0, 0, 607, 354, 486, 605,
934 0, 0, 148, 0, 155, 0, 0, 0, 214, 215,
935 216, 217, 218, 219, 220, 221, 222, 223, 224, 180,
936 181, 182, 185, 184, 187, 188, 190, 191, 192, 193,
937 195, 196, 198, 200, 202, 245, 245, 245, 226, 245,
938 245, 172, 502, 144, 506, 0, 354, 487, 519, 0,
939 0, 457, 443, 0, 0, 24, 0, 493, 245, 510,
940 110, 354, 245, 354, 488, 112, 245, 234, 328, 245,
941 344, 0, 352, 347, 0, 353, 0, 369, 372, 366,
942 368, 249, 245, 245, 622, 15, 30, 245, 397, 245,
943 17, 381, 390, 392, 36, 399, 354, 398, 402, 478,
944 517, 0, 523, 245, 326, 411, 0, 397, 407, 245,
945 0, 178, 354, 245, 0, 484, 485, 0, 0, 501,
946 0, 526, 245, 149, 147, 245, 245, 205, 0, 208,
947 245, 174, 245, 176, 503, 504, 245, 245, 245, 524,
948 245, 245, 354, 44, 26, 494, 497, 245, 245, 495,
949 245, 511, 0, 236, 245, 330, 350, 490, 336, 351,
950 490, 339, 245, 371, 245, 0, 0, 245, 245, 245,
951 0, 32, 0, 245, 0, 46, 396, 245, 408, 245,
952 0, 412, 415, 245, 0, 413, 0, 397, 0, 0,
953 480, 429, 430, 245, 245, 156, 151, 152, 211, 0,
954 0, 505, 520, 0, 245, 245, 245, 245, 245, 245,
955 245, 245, 245, 0, 141, 144, 142, 157, 177, 166,
956 183, 186, 189, 194, 197, 199, 201, 203, 206, 0,
957 529, 528, 537, 546, 556, 558, 562, 565, 568, 573,
958 576, 578, 580, 582, 584, 586, 590, 531, 140, 0,
959 23, 25, 72, 44, 498, 499, 245, 496, 21, 245,
960 250, 354, 342, 490, 354, 343, 490, 365, 370, 245,
961 0, 242, 245, 252, 240, 245, 0, 354, 46, 34,
962 0, 391, 393, 37, 79, 400, 374, 0, 245, 408,
963 375, 409, 522, 440, 0, 416, 414, 417, 0, 0,
964 150, 0, 529, 245, 173, 175, 610, 0, 0, 160,
965 165, 164, 163, 162, 161, 158, 159, 245, 245, 245,
966 153, 154, 0, 245, 245, 245, 245, 245, 245, 245,
967 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
968 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
969 204, 587, 207, 444, 0, 438, 66, 82, 70, 86,
970 87, 88, 89, 90, 93, 94, 45, 72, 48, 71,
971 354, 354, 52, 27, 500, 245, 0, 356, 354, 354,
972 355, 354, 354, 354, 373, 245, 255, 0, 250, 12,
973 31, 33, 46, 29, 622, 73, 84, 77, 47, 79,
974 50, 78, 397, 401, 376, 377, 245, 410, 418, 0,
975 169, 0, 488, 212, 609, 143, 245, 0, 148, 0,
976 0, 0, 0, 591, 592, 593, 594, 595, 596, 597,
977 598, 599, 600, 601, 180, 181, 182, 185, 184, 187,
978 188, 190, 191, 192, 193, 195, 196, 198, 200, 202,
979 583, 245, 585, 245, 437, 354, 64, 622, 49, 103,
980 0, 53, 250, 245, 354, 0, 245, 357, 345, 354,
981 348, 354, 367, 253, 245, 622, 35, 0, 354, 64,
982 622, 51, 245, 441, 245, 0, 606, 603, 178, 245,
983 149, 147, 245, 245, 0, 530, 354, 59, 60, 61,
984 62, 63, 622, 54, 64, 0, 0, 0, 119, 83,
985 128, 622, 0, 118, 0, 95, 100, 99, 98, 97,
986 96, 101, 102, 105, 0, 235, 245, 359, 245, 245,
987 354, 362, 0, 337, 0, 340, 254, 256, 0, 38,
988 622, 622, 85, 622, 117, 245, 0, 170, 168, 602,
989 489, 0, 151, 152, 588, 0, 64, 0, 65, 58,
990 56, 57, 0, 122, 0, 0, 0, 0, 0, 115,
991 0, 0, 131, 138, 622, 130, 0, 245, 251, 245,
992 245, 0, 360, 245, 346, 0, 349, 0, 13, 81,
993 81, 116, 442, 527, 150, 245, 81, 55, 81, 123,
994 120, 127, 126, 0, 124, 125, 129, 114, 0, 134,
995 0, 0, 0, 0, 0, 622, 237, 363, 354, 358,
996 245, 338, 341, 74, 80, 76, 589, 67, 69, 121,
997 135, 132, 0, 136, 137, 139, 92, 245, 0, 361,
998 364, 133, 104, 91, 245, 106, 0, 0, 0
1001 static const short yydefgoto[] = { 1167,
1002 82, 83, 84, 85, 122, 320, 321, 86, 664, 774,
1003 322, 799, 913, 87, 696, 915, 898, 89, 772, 773,
1004 804, 805, 887, 919, 888, 1023, 1024, 1081, 1025, 1026,
1005 889, 976, 977, 921, 999, 1000, 1144, 1145, 978, 922,
1006 1001, 891, 1165, 1158, 892, 1044, 893, 1035, 1097, 90,
1007 289, 452, 454, 91, 1030, 1063, 1031, 1124, 1032, 1094,
1008 1095, 162, 163, 524, 164, 930, 165, 166, 424, 562,
1009 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
1010 556, 177, 558, 178, 557, 824, 179, 207, 493, 333,
1011 290, 93, 675, 780, 115, 604, 94, 316, 181, 287,
1012 116, 117, 897, 795, 908, 96, 97, 98, 99, 347,
1013 291, 460, 101, 297, 102, 784, 1106, 787, 1108, 678,
1014 1053, 681, 1055, 103, 900, 901, 1050, 1051, 104, 686,
1015 597, 598, 809, 119, 482, 112, 113, 106, 612, 613,
1016 483, 484, 485, 698, 618, 348, 815, 811, 502, 371,
1017 372, 208, 228, 209, 210, 373, 927, 1067, 212, 661,
1018 213, 214, 215, 216, 183, 429, 374, 375, 487, 635,
1019 376, 335, 513, 377, 188, 378, 568, 782, 989, 221,
1020 581, 519, 428, 190, 582, 583, 379, 191, 192, 380,
1021 658, 622, 381, 224, 382, 386, 715, 751, 875, 752,
1022 753, 754, 755, 756, 757, 758, 759, 760, 761, 762,
1023 763, 764, 765, 766, 767, 972, 1116, 768, 1071, 383,
1024 384, 197, 385, 294, 334, 200, 109
1027 static const short yypact[] = { 2055,
1028 -32768, 113, 5596,-32768, 6439,-32768, 684, 3006, 3376, 3376,
1029 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1030 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1031 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1032 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1033 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1034 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1035 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 618,-32768,-32768,
1036 -32768, 2231,-32768,-32768,-32768, 440,-32768,-32768, 5296,-32768,
1037 89,-32768,-32768,-32768, 111, 6279, 6279,-32768, 6279, 149,
1038 99,-32768, 420,-32768,-32768, 684,-32768,-32768,-32768,-32768,
1039 -32768,-32768, 113,-32768,-32768, 172,-32768, 149,-32768,-32768,
1040 -32768, 5596,-32768, 199,-32768, 5768,-32768, 217, 250, 257,
1041 -32768, 286, 684, 242, 308, 1173,-32768, 2595, 5768, 5768,
1042 5768, 5768, 5768, 5768,-32768, 5788, 5788, 324,-32768, 388,
1043 394, 404, 455, 486, 367, 4743,-32768, 487, 494,-32768,
1044 505,-32768, 632, 1028,-32768,-32768,-32768, 904, 413, 565,
1045 397, 596, 507, 512, 506, 518, 103,-32768,-32768, 283,
1046 -32768, 3518, 469, 515,-32768,-32768,-32768,-32768, 613, 3148,
1047 -32768, 4743,-32768, 3518,-32768, 3518,-32768,-32768, 678, 680,
1048 -32768, 688,-32768, 2779, 505, 700, 328, 648, 3191,-32768,
1049 3376,-32768,-32768,-32768, 6039,-32768,-32768,-32768,-32768, 733,
1050 738,-32768, 3376, 3376, 3518,-32768,-32768, 691,-32768,-32768,
1051 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1052 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1053 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1054 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1055 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1056 -32768,-32768,-32768,-32768,-32768, 768, 790,-32768,-32768,-32768,
1057 149, 5139,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1058 807, 609,-32768,-32768, 684, 684, 28,-32768, 440,-32768,
1059 -32768,-32768,-32768, 809,-32768,-32768, 823, 831, 609, 89,
1060 -32768, 645, 832,-32768, 684,-32768, 294, 5768,-32768,-32768,
1061 -32768,-32768,-32768,-32768, 839, 5768, 5768, 5768, 1841, 853,
1062 -32768,-32768,-32768, 561, 580, 5908, 132, 852, 865,-32768,
1063 -32768,-32768,-32768,-32768,-32768, 884, 5768,-32768,-32768, 5768,
1064 892, 905, 911, 919, 927, 5768,-32768, 1934, 774, 774,
1065 -32768,-32768, 4743,-32768,-32768,-32768,-32768, 941,-32768,-32768,
1066 4743,-32768, 4743,-32768,-32768,-32768, 1478, 5768,-32768,-32768,
1067 157, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768,
1068 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768,
1069 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768,-32768,-32768,
1070 -32768,-32768, 5768, 620,-32768,-32768, 2411,-32768,-32768, 953,
1071 -32768, 956,-32768, 5768, 602, 945, 950,-32768,-32768,-32768,
1072 -32768, 6039,-32768,-32768,-32768, 2963, 967,-32768,-32768, 5768,
1073 370, 3620, 609, 972,-32768, 609,-32768, 461, 6439, 910,
1074 981, 985, 987, 992, 987, 684, 999, 609,-32768, 609,
1075 -32768,-32768,-32768, 958, 1006, 1011,-32768, 609, 645,-32768,
1076 684, 1023,-32768, 1031, 684, 312, 1032,-32768, 338, 1035,
1077 376, 1035, 1040,-32768,-32768,-32768,-32768, 1734, 1036, 669,
1078 -32768, 750, 5768,-32768,-32768, 1044,-32768,-32768,-32768,-32768,
1079 -32768,-32768, 1045, 1046, 888, 889,-32768, 3620,-32768,-32768,
1080 1061, 1051,-32768, 422,-32768, 128, 684, 684,-32768,-32768,
1081 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1082 -32768,-32768, 904, 904, 413, 413, 565, 565, 565, 565,
1083 397, 397, 596, 507, 512, 5768, 5768, 5768,-32768, 5799,
1084 5819,-32768,-32768, 5523,-32768, 3333, 3799,-32768,-32768, 1053,
1085 522,-32768,-32768, 1059, 1057,-32768, 1077,-32768, 4157,-32768,
1086 -32768, 3978, 4200,-32768, 972,-32768,-32768, 1080,-32768,-32768,
1087 1099, 1098,-32768, 1100, 1102,-32768, 962,-32768, 1110,-32768,
1088 -32768,-32768, 172,-32768, 439,-32768,-32768, 5768, 566, 609,
1089 -32768,-32768, 1101,-32768,-32768, 1118, 6439,-32768,-32768,-32768,
1090 -32768, 1116,-32768, 1841,-32768,-32768, 1132, 138, 750, 3429,
1091 1136,-32768,-32768,-32768, 1139,-32768,-32768, 1074, 1076,-32768,
1092 1142,-32768, 5768,-32768,-32768,-32768,-32768, 506, 964, 518,
1093 5768,-32768, 5768,-32768,-32768,-32768, 4338, 4743, 5768,-32768,
1094 5830, 5768,-32768,-32768,-32768,-32768,-32768, 4381, 4519,-32768,
1095 4562,-32768, 1144,-32768,-32768,-32768,-32768,-32768, 1152,-32768,
1096 -32768, 1153,-32768, 684,-32768, 684, 1156, 1955,-32768,-32768,
1097 1148,-32768, 1155,-32768, 362,-32768,-32768, 684, 917, 4743,
1098 1159,-32768,-32768, 287, 1163,-32768, 1151, 123, 1175, 1169,
1099 -32768,-32768,-32768, 5768, 5830,-32768,-32768,-32768,-32768, 1183,
1100 1184,-32768,-32768, 587, 5768, 5768, 5768, 5768, 5768, 5768,
1101 5768, 5788, 5788, 1174, 601, 623, 647, 804, 1050, 661,
1102 954, 968, 966, 529, 977, 1181, 1172, 1178, 1157, 178,
1103 1188,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1104 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 702, 708,
1105 -32768,-32768, 1056,-32768,-32768,-32768, 4700,-32768,-32768,-32768,
1106 -32768, 6366,-32768,-32768, 6366,-32768,-32768,-32768,-32768, 5768,
1107 1019,-32768, 1955,-32768,-32768, 1955, 1134,-32768,-32768,-32768,
1108 1198,-32768,-32768,-32768, 1229,-32768, 440, 1208,-32768, 797,
1109 -32768, 750,-32768,-32768, 1213,-32768,-32768,-32768, 1214, 684,
1110 -32768, 716, 1215, 5768,-32768,-32768, 1223, 717, 1219, 732,
1111 740, 748, 769, 786, 801, 808, 819, 5768, 5009, 5768,
1112 828, 834, 239, 5768, 5768, 5768, 5768, 5768, 5768, 5768,
1113 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768,
1114 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768, 5768,
1115 5768,-32768, 5768,-32768, 1226, 1230, 39,-32768,-32768,-32768,
1116 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 523,-32768,-32768,
1117 -32768,-32768, 1147,-32768,-32768, 1955, 612,-32768, 149, 5369,
1118 -32768, 6366, 5369, 6366,-32768,-32768,-32768, 1021,-32768,-32768,
1119 -32768,-32768,-32768,-32768, 89, 46,-32768,-32768,-32768, 921,
1120 -32768,-32768, 156,-32768,-32768,-32768, 5757,-32768,-32768, 659,
1121 -32768, 1231, 972,-32768,-32768, 849, 5768, 1232, 876, 877,
1122 232, 684, 684,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1123 -32768,-32768,-32768,-32768, 882, 890, 897, 685, 781, 567,
1124 676, 390, 405, 482, 485, 640, 875, 371, 501, 499,
1125 506, 5768, 518, 5830,-32768, 6170, 168, 97,-32768,-32768,
1126 1049,-32768,-32768,-32768,-32768, 1233, 584,-32768,-32768, 5369,
1127 -32768, 5369,-32768,-32768, 901, 729,-32768, 1164, 6170, 168,
1128 97,-32768, 552,-32768,-32768, 684,-32768, 1071, 903,-32768,
1129 925, 933,-32768,-32768, 1022,-32768, 4982,-32768,-32768,-32768,
1130 -32768,-32768, 763,-32768, 168, 883, 90, 90,-32768,-32768,
1131 326, 787, 1168,-32768, 118,-32768,-32768,-32768,-32768,-32768,
1132 -32768,-32768,-32768,-32768, 851,-32768, 609,-32768,-32768, 1236,
1133 -32768, 1237, 1238,-32768, 1240,-32768,-32768,-32768, 1177,-32768,
1134 4824, 763,-32768, 787,-32768, 60, 1241,-32768,-32768,-32768,
1135 -32768, 1242, 934, 947,-32768, 1182, 168, 1185,-32768,-32768,
1136 -32768,-32768, 125, 326, 85, 684, 684, 90, 1190,-32768,
1137 118, 118,-32768, 334, 874,-32768, 118,-32768,-32768, 5768,
1138 584, 1244,-32768,-32768,-32768, 1243,-32768, 1249,-32768, 1199,
1139 1199,-32768,-32768,-32768, 948, 5768, 1199,-32768, 1199,-32768,
1140 -32768,-32768, 326, 1256,-32768,-32768, 326,-32768, 150, 334,
1141 459, 684, 684, 118, 1197, 874,-32768,-32768,-32768,-32768,
1142 5768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1143 -32768,-32768, 1260,-32768,-32768, 334,-32768,-32768, 1200,-32768,
1144 -32768,-32768,-32768,-32768,-32768,-32768, 1289, 1291,-32768
1147 static const short yypgoto[] = {-32768,
1148 -32768, 1210,-32768,-32768,-32768,-32768, -398, -105,-32768,-32768,
1149 969,-32768,-32768,-32768,-32768,-32768, 83,-32768, 519,-32768,
1150 -718,-32768,-32768,-32768, -714, 296, 221,-32768,-32768, 279,
1151 418,-32768,-32768, 395,-32768,-32768, -829, -683,-32768,-32768,
1152 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1153 -32768,-32768,-32768,-32768,-32768,-32768, -917, 183, 315, -951,
1154 222,-32768, -617, 479, 739,-32768,-32768, -592,-32768,-32768,
1155 108, -399, -343, -308, -338, -349, -346, -372, -541, -470,
1156 -32768, -569,-32768, -109,-32768,-32768, 1097, 989, -610, -321,
1157 2,-32768,-32768,-32768, -462,-32768,-32768,-32768, 0, -250,
1158 859,-32768, -796, -723,-32768,-32768,-32768,-32768,-32768,-32768,
1159 134, 741,-32768, 116,-32768,-32768,-32768,-32768,-32768,-32768,
1160 -32768,-32768,-32768, 955, -625, -746,-32768, 229,-32768,-32768,
1161 646, 649, 524, 5, -377, 1222,-32768, 14,-32768,-32768,
1162 -615,-32768,-32768,-32768, 638, -235, 990,-32768, -490, 236,
1163 -32768, 1328,-32768, 1115,-32768, 1225,-32768,-32768,-32768,-32768,
1164 -115,-32768,-32768,-32768,-32768, 162, 1362, 1473,-32768,-32768,
1165 1527,-32768,-32768, -359,-32768, 227, 269, -584, -804,-32768,
1166 824,-32768,-32768, 914, -85, -253, 69,-32768, 218, 194,
1167 -32768,-32768, 212,-32768, 343,-32768,-32768, 628,-32768, 374,
1168 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1169 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1551,
1170 -32768,-32768, 1611, -219, 189, 258,-32768
1177 static const short yytable[] = { 95,
1178 309, 92, 95, 292, 105, 602, 543, 544, 514, 629,
1179 229, 230, 705, 701, 648, 114, 332, 231, 232, 233,
1180 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1181 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1182 254, 255, 256, 738, 512, 555, 466, 257, 258, 259,
1183 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1184 270, 271, 272, 273, 545, 546, 553, 461, 740, 907,
1185 554, 476, 909, 577, 284, 551, 552, 222, 222, 611,
1186 912, 95, 88, 92, -405, 498, 105, 650, 436, 890,
1187 920, 750, 819, 440, 586, 441, 785, 738, 991, 301,
1188 474, 547, 548, 549, 550, 95, 293, 445, 1027, 1083,
1189 1084, 1121, 996, 1027, 293, 314, 315, 317, 1028, 748,
1190 1027, 323, 740, 1028, -68, -68, 312, 480, 575, 442,
1191 1028, -75, -75, 100, 295, 325, 118, 346, 121, 1129,
1192 1130, 1091, 480, 420, 356, 750, 2, 818, 423, 1120,
1193 1085, 1092, 1086, 988, 645, -245, 988, 498, 421, 903,
1194 480, -354, 703, -354, 88, 2, -245, 1123, 1087, 184,
1195 1127, -354, 983, 748, 1151, 1131, 627, 1132, 982, -354,
1196 703, -354, 1156, 303, 527, 1054, 1045, 1056, 107, -354,
1197 749, 107, 313, 1133, 997, 107, 199, 199, 199, 902,
1198 528, 193, 904, 346, 890, 76, 77, 123, 812, 79,
1199 80, 694, 298, 1123, 300, 100, -68, -68, 872, 194,
1200 110, 111, 327, -75, -75, 514, 223, 223, 476, 296,
1201 296, 693, 296, 873, 189, 220, 220, 76, 77, 123,
1202 336, 79, 80, 988, 749, 988, 350, 351, 352, 353,
1203 354, 355, 423, 1018, 1019, 324, 332, 108, 1012, 341,
1204 108, 741, 76, 1029, 124, 1122, 942, 76, 1029, 633,
1205 107, 1058, 222, 337, 76, 1029, 990, 222, 992, 222,
1206 338, 1146, 943, 1020, 1021, 450, 691, 1148, 747, 1149,
1207 301, 222, 222, 455, 107, 76, 1093, 1022, 480, 349,
1208 422, 95, 459, 423, 462, 464, 458, 705, 707, 339,
1209 107, 745, 498, 657, 746, 741, 1004, 742, 95, 812,
1210 2, 107, 744, 473, 323, 342, 199, 346, 669, 971,
1211 440, 193, 423, -354, -354, -354, 496, -354, -354, 108,
1212 332, 567, 747, 425, 199, 438, 499, 360, 423, 194,
1213 195, 1085, 743, 1086, 461, 431, 738, 432, 423, 1131,
1214 500, 1132, 621, 108, 189, 745, 802, 346, 746, 1087,
1215 199, 742, 366, 367, 480, 193, 744, 1133, 199, 326,
1216 199, 740, 199, 193, 199, 690, 447, 193, 332, 193,
1217 340, -577, 199, 194, 576, -577, 423, 199, 710, 199,
1218 623, 194, 973, 361, 750, 194, 743, 194, 189, 362,
1219 -569, 199, 199, 199, -569, 720, 189, 721, 193, 363,
1220 189, 223, 189, 414, 415, -570, 223, 430, 223, -570,
1221 220, 437, 748, 410, 411, 220, 194, 220, 408, 409,
1222 223, 223, 643, 455, 406, 407, 644, 412, 413, 220,
1223 220, 189, 95, 408, 409, 95, 293, 584, 958, 959,
1224 587, 689, 592, -246, 595, 286, 601, 95, 905, 95,
1225 364, -354, -354, -354, 608, -354, -354, 323, -354, 497,
1226 195, -354, 1027, -354, 617, 1152, 305, 306, 307, 829,
1227 107, 325, 1028, 107, 107, 107, 625, 970, 332, 499,
1228 365, 631, -571, 749, 459, -572, -571, 107, -625, -572,
1229 540, 541, 542, 107, 222, -629, 960, 961, 968, -581,
1230 332, -579, 969, -581, 195, -579, -626, 966, 967, 416,
1231 408, 409, 195, 408, 409, 416, 195, 417, 195, 76,
1232 77, 123, 423, 79, 80, 418, 660, -354, -354, -354,
1233 417, -354, -354, 962, 963, 964, 965, 515, 516, 108,
1234 426, 199, 463, 465, 467, 862, 863, 195, 455, 199,
1235 480, 199, 419, 1008, 741, 629, 108, 498, 495, 864,
1236 865, 423, 326, 455, 1099, 2, 673, -566, 565, 459,
1237 692, -566, 497, 807, 877, 878, 879, 422, 406, 407,
1238 423, 747, 687, 688, 496, 1049, -462, 423, 517, 323,
1239 632, 827, 522, 408, 409, 199, 520, 2, 521, 438,
1240 193, -534, 423, 325, 745, -534, 496, 746, 631, 984,
1241 742, 427, 985, 459, 199, 744, 76, 1029, 194, 1122,
1242 199, 107, 2, -533, 107, 717, 718, -533, 414, 415,
1243 346, -631, 346, 189, 107, 387, 107, 388, 107, -354,
1244 -574, 560, 561, 223, -574, 743, 107, -535, -246, 107,
1245 475, -535, 220, 107, 781, -354, 410, 411, 389, 390,
1246 332, -555, 788, 1005, 790, -555, 1006, 580, 796, 797,
1247 412, 413, -245, 801, 498, 998, -567, 617, 808, -628,
1248 -567, 433, -631, 499, 807, -564, 199, 406, 407, -564,
1249 108, 434, 810, 108, 934, 107, 107, 500, 403, 404,
1250 405, -627, -532, 599, 346, 108, -532, 108, 423, 76,
1251 77, 123, 876, 79, 80, 326, 423, 423, 614, 439,
1252 932, 936, 619, -354, -354, -354, 293, -354, -354, 985,
1253 699, 443, -549, 580, 199, 199, -549, 444, 1033, 193,
1254 -554, 76, 77, 123, -554, 79, 80, 199, -553, 195,
1255 199, 199, -553, -245, 1072, 630, 1059, 194, 1138, 896,
1256 293, 1065, 448, 1077, 646, 647, 76, 77, 123, -552,
1257 79, 80, 189, -552, 449, -631, -631, 1076, 107, -631,
1258 -631, -563, 580, 1078, 293, -563, -551, 1088, 924, 808,
1259 -551, 631, 1089, 451, 403, 404, 405, 580, 672, 1161,
1260 -245, -550, 498, 810, 457, -550, 469, 839, -547, 840,
1261 2, -354, -547, 830, 831, 832, 833, 834, 835, -548,
1262 471, 1110, 1111, -548, 1112, 199, 199, -354, -544, 769,
1263 841, 842, -544, 472, -545, 477, 199, 199, -545, 199,
1264 488, 76, 77, 123, 331, 79, 80, 326, 1098, -536,
1265 494, 985, 107, -536, 107, 1135, 503, 331, 331, 331,
1266 331, 331, 331, 107, 358, 359, 107, 107, 199, 504,
1267 1017, 293, 672, 723, 1134, -575, -539, 643, 986, -575,
1268 -539, 1011, -559, 769, 672, 993, -559, 505, 195, 507,
1269 -560, 410, 411, 1061, -560, 899, 1159, -561, 899, 793,
1270 1057, -561, 508, -557, 328, 412, 413, -557, 509, 139,
1271 140, 141, 142, 143, 144, 813, 510, 403, 404, 405,
1272 -245, 599, 498, 599, 511, -540, 145, 146, 147, -540,
1273 2, 76, 803, -538, -542, 619, 108, -538, -542, 518,
1274 309, 569, 955, 956, 957, 199, 570, -543, -541, 572,
1275 148, -543, -541, 573, 76, 77, 123, 574, 79, 80,
1276 925, 683, 684, 1046, 423, 719, 95, 855, 856, 857,
1277 332, 1052, 916, 917, 918, 585, 180, 589, 107, 858,
1278 859, 590, 808, 591, 1068, -245, 1147, 587, 107, 459,
1279 594, 157, 1073, 1074, 860, 861, 1066, 600, 455, 274,
1280 275, 276, 277, 278, 279, 280, 281, 282, 283, 866,
1281 867, 332, 607, 899, 609, 899, 899, 899, 906, 684,
1282 994, 995, 423, 1075, 1009, 606, 95, 615, 1100, 1102,
1283 392, 616, 299, 620, 302, 423, 304, 624, 308, 628,
1284 76, 1080, 455, 310, 634, 808, 636, 108, 638, 639,
1285 637, 641, 844, 318, 642, 319, 659, 931, 76, 329,
1286 330, 160, 662, 663, 393, 394, 395, 396, 397, 398,
1287 399, 400, 401, 402, 76, 77, 123, 1137, 79, 80,
1288 95, 665, 674, 1141, 331, 1052, 845, 846, 847, 848,
1289 849, 850, 851, 852, 853, 854, 679, 391, 677, 680,
1290 682, 695, 697, 899, 344, 899, 345, 877, 878, 879,
1291 107, 107, 685, 880, 881, 882, 883, 884, 885, 886,
1292 700, 331, 331, 331, 331, 331, 331, 331, 331, 331,
1293 331, 331, 331, 331, 331, 331, 331, 1163, 702, 708,
1294 711, 712, 769, 713, 1166, 714, 1034, 1036, 779, 1037,
1295 180, 783, 786, 792, 798, 107, 814, 817, 180, 800,
1296 1038, 1039, 180, 1040, 180, 1041, 1042, 816, 331, 1034,
1297 343, 107, 435, 821, 107, 820, 328, 838, 1043, 1013,
1298 1014, 139, 140, 141, 142, 143, 144, 825, 826, 868,
1299 869, 871, 874, 180, 1082, 1034, 1034, 870, 145, 146,
1300 147, 910, 914, 1096, 880, 881, 882, 883, 884, 885,
1301 886, 923, 182, 211, 211, 107, 331, 928, 929, 933,
1302 935, 331, 148, 937, 108, 453, 974, 975, 1007, 456,
1303 1048, 1060, 1010, 1070, 107, 1090, 1101, 1105, 1104, 1107,
1304 108, 1140, 1142, 1069, 1109, 1113, 1115, 468, 1143, 1117,
1305 470, 878, 1119, 1034, 107, 107, 1034, 1128, 478, 1096,
1306 1096, 481, 1150, 157, 1157, 1096, 1162, 1164, 1168, 107,
1307 1169, 285, 894, 479, 331, 1062, 331, 1118, 652, 654,
1308 916, 917, 918, 1079, 108, 979, 880, 881, 882, 883,
1309 884, 885, 886, 1153, 1002, 1064, 486, 940, 1136, 1034,
1310 107, 107, 1096, 108, 489, 490, 491, 492, 603, 1139,
1311 676, 791, 789, 926, 311, 806, 501, 227, 446, 1114,
1312 566, 640, 823, 1125, 1126, 486, 331, 1016, 0, 0,
1313 76, 329, 330, 160, 0, 0, 486, 0, 108, 0,
1314 0, 0, 182, 0, 0, 0, 0, 0, 331, 185,
1315 217, 217, 0, 0, 0, 0, 526, 0, 0, 0,
1316 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154,
1317 1155, 0, 0, 0, 0, 0, 0, 0, 0, 739,
1318 0, 0, 0, 0, 0, 481, 182, 0, 0, 0,
1319 0, 0, 588, 0, 182, 180, 0, 593, 182, 596,
1320 182, 0, 571, 0, 0, 0, 0, 605, 211, 0,
1321 0, 610, 0, 211, 0, 211, 0, 0, 0, 0,
1322 0, 0, 0, 0, 0, 0, 0, 211, 211, 182,
1323 0, 0, 0, 739, 0, 0, 506, 0, 0, 0,
1324 0, 0, 0, 0, 331, 331, 331, 331, 331, 331,
1325 836, 837, 0, 0, 0, 0, 0, 0, 0, 0,
1326 186, 218, 218, 525, 0, 0, 0, 0, 529, 530,
1327 531, 532, 533, 534, 535, 536, 537, 538, 539, 185,
1328 0, 328, 523, 0, 0, 0, 139, 140, 141, 142,
1329 143, 144, 0, 0, 0, 0, 0, 0, 0, 559,
1330 0, 0, 0, 145, 146, 147, 0, 0, 331, 0,
1331 0, 0, 0, 0, 187, 219, 219, 0, 588, 0,
1332 0, 0, 0, 185, 0, 649, 0, 148, 0, 0,
1333 0, 185, 0, 0, 180, 185, 0, 185, 196, 225,
1334 225, 0, 331, 481, 0, 217, 0, 0, 0, 0,
1335 217, 0, 217, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 704, 0, 217, 217, 185, 709, 157, 0,
1337 0, 0, 0, 331, 331, 331, 331, 331, 331, 331,
1338 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
1339 186, 331, 492, 0, 0, 0, 0, 771, 198, 226,
1340 226, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 0, 0, 0, 0, 0, 0, 0, 0, 0, 486,
1342 0, 486, 0, 0, 0, 0, 0, 724, 0, 0,
1343 770, 182, 0, 0, 186, 76, 329, 330, 160, 0,
1344 0, 0, 186, 0, 187, 0, 186, 0, 186, 0,
1345 211, 0, 0, 0, 0, 331, 218, 0, 0, 0,
1346 0, 218, 0, 218, 0, 0, 0, 0, 196, 0,
1347 0, 0, 843, 0, 0, 218, 218, 186, 0, 0,
1348 0, 0, 822, 0, 0, 0, 0, 0, 187, 0,
1349 0, 0, 739, 828, 0, 0, 187, 0, 0, 0,
1350 187, 0, 187, 0, 0, 0, 0, 0, 0, 0,
1351 219, 0, 196, 0, 0, 219, 0, 219, 0, 716,
1352 196, 0, 0, 0, 196, 0, 196, 0, 198, 219,
1353 219, 187, 911, 0, 225, 0, 0, 328, 0, 225,
1354 626, 225, 139, 140, 141, 142, 143, 144, 0, 0,
1355 0, 0, 0, 225, 225, 196, 0, 0, 0, 145,
1356 146, 147, 0, 0, 794, 0, 0, 0, 185, 0,
1357 182, 0, 198, 0, 0, 0, 0, 0, 0, 0,
1358 198, 0, 0, 148, 198, 0, 198, 217, 0, 0,
1359 0, 0, 0, 0, 226, 0, 0, 0, 0, 226,
1360 0, 226, 0, 0, 0, 0, 0, 0, 941, 0,
1361 0, 0, 0, 226, 226, 198, 0, 0, 331, 0,
1362 0, 0, 0, 0, 157, 980, 981, 0, 0, 0,
1363 0, 0, 0, 987, 331, 0, 0, 0, -227, 0,
1364 0, 0, 0, 0, 328, 0, 0, 0, 0, 139,
1365 140, 141, 142, 143, 144, 0, 0, 1003, 0, 331,
1366 0, 0, 0, 0, 0, 0, 145, 146, 147, 794,
1367 0, 0, 794, 0, 0, 0, 0, 0, 0, 186,
1368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1369 148, 76, 329, 330, 160, 492, 0, 0, 218, 0,
1370 0, 0, 0, 0, 0, 0, 0, 185, 0, 0,
1371 0, 0, 0, 0, 938, 525, 0, 0, 0, 1047,
1372 944, 945, 946, 947, 948, 949, 950, 951, 952, 953,
1373 954, 157, -488, 187, 0, 0, 0, 368, 0, 0,
1374 1015, 0, 139, 140, 141, 142, 143, 144, 0, 0,
1375 0, 0, 219, 793, 0, 0, 0, 196, 328, 145,
1376 146, 147, 0, 139, 140, 141, 142, 143, 144, 0,
1377 0, 0, 794, 0, 0, 0, 225, 0, 0, 0,
1378 145, 146, 147, 148, 0, 1103, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0, 0, 76, 329,
1380 330, 160, 0, 0, 148, 0, 0, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 198, 186, 0,
1382 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, -1, 1, 226, 0, 0, 0,
1384 0, 0, 0, 0, 0, 157, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, -245, 0,
1386 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
1387 0, 794, 187, 1160, 0, 0, 0, 0, 0, 3,
1388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389 0, 76, 329, 330, 160, 0, 196, 0, 0, 0,
1390 0, -354, -354, -354, 0, 4, 0, 0, 0, 5,
1391 6, 7, 76, 329, 330, 160, 0, 0, 0, 0,
1392 0, 0, 0, 8, 9, 10, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 11, 12, 13, 0, 14, 15, 16, 17,
1395 18, 19, 20, 21, 22, 23, 198, 24, 25, 26,
1396 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1397 37, 38, 0, 39, 40, 41, 42, 43, 44, 45,
1398 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1399 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1400 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1401 -2, 1, 76, 77, 78, 0, 79, 80, 81, 0,
1402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1403 0, 0, 0, 0, -245, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
1406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, -354, -354, -354,
1408 0, 4, 0, 0, 0, 5, 6, 7, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
1410 9, 10, 0, 0, 0, 0, 0, 0, 0, 0,
1411 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1412 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1413 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1414 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1415 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1416 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1417 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1418 70, 71, 72, 73, 74, 75, 0, 0, 76, 77,
1419 78, 125, 79, 80, 81, 0, 126, 127, 128, 0,
1420 129, 130, 131, 132, 133, 134, 135, 136, 137, -488,
1421 563, 0, 0, 0, 138, 0, 0, 0, 0, 139,
1422 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1423 0, 0, -245, -245, 0, 3, 145, 146, 147, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, -354, -354, -354,
1426 148, 4, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1429 0, 0, 0, 0, 0, 0, 0, 156, 11, 12,
1430 13, 157, 14, 15, 16, 17, 18, 19, 20, 21,
1431 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1432 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1433 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1434 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1435 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1436 70, 71, 72, 73, 74, 75, 0, 0, 76, 158,
1437 564, 160, 161, 80, 81, 125, 0, 0, 0, 0,
1438 126, 127, 128, 0, 129, 130, 131, 132, 133, 134,
1439 135, 136, 137, -488, 0, 0, 0, 0, 138, 0,
1440 0, 0, 0, 139, 140, 141, 142, 143, 144, 0,
1441 0, 0, 0, 0, 0, 0, -245, -245, 0, 0,
1442 145, 146, 147, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, -245, -245, -245, 148, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 0, 0, 0, 0, 0, 0, 150, 151, 152,
1447 153, 154, 155, 0, 0, 0, 0, 0, 0, 0,
1448 0, 156, -245, -245, -245, 157, -245, -245, -245, -245,
1449 -245, -245, -245, -245, -245, -245, 0, -245, -245, -245,
1450 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1451 -245, -245, 0, -245, -245, -245, -245, -245, -245, -245,
1452 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1453 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1454 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1455 0, 0, 76, 158, 159, 160, 161, 80, -245, 201,
1456 0, 0, 0, 0, 126, 127, 128, 0, 0, 202,
1457 131, 132, 133, 134, 135, 136, 203, -488, -492, 0,
1458 0, 0, 204, 0, 0, 0, 0, 139, 140, 141,
1459 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1460 -245, -245, 0, 0, 145, 146, 147, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, -245, -245, -245, 148, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1466 0, 0, 0, 0, 0, 156, -245, -245, -245, 157,
1467 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1468 0, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1469 -245, -245, -245, -245, -245, -245, 0, -245, -245, -245,
1470 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1471 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1472 -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
1473 -245, -245, -245, -245, 0, 0, 76, 158, 159, 160,
1474 205, 206, -245, 201, 0, 0, 0, 0, 126, 127,
1475 128, 0, 0, 202, 131, 132, 133, 134, 135, 136,
1476 203, -436, -436, 0, 0, 0, 204, -436, 0, 0,
1477 0, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1478 0, 0, 0, 0, -245, -245, 125, 0, 145, 146,
1479 147, 126, 127, 128, 0, 129, 130, 131, 132, 133,
1480 134, 135, 136, 137, -488, 0, 0, 0, 0, 138,
1481 0, 0, 148, 0, 139, 140, 141, 142, 143, 144,
1482 0, 0, 0, 0, 0, 0, 0, -245, -245, 0,
1483 0, 145, 146, 147, -436, 150, 151, 152, 153, 154,
1484 155, 0, 0, 0, 0, 0, 0, 0, 0, 156,
1485 0, 0, 0, 157, 0, 148, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
1488 152, 153, 154, 155, 0, 0, 0, 0, 0, 0,
1489 0, 0, 156, 0, 0, 0, 157, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 76, 158, 159, 160, 205, 206, 0, 0, 125, 0,
1493 0, 0, 0, 126, 127, 128, 0, 129, 130, 131,
1494 132, 133, 134, 135, 136, 137, -488, 0, 0, 0,
1495 0, 138, 0, 0, 0, 0, 139, 140, 141, 142,
1496 143, 144, 0, 76, 158, 159, 160, 161, 80, -245,
1497 -245, 201, 0, 145, 146, 147, 126, 127, 128, 0,
1498 0, 202, 131, 132, 133, 134, 135, 136, 203, -488,
1499 -492, 0, 0, 0, 204, 0, 0, 148, 0, 139,
1500 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1501 0, 0, -245, -245, 0, 0, 145, 146, 147, -463,
1502 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1503 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1504 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, -432, 150, 151, 152, 153, 154, 155, 0,
1507 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1508 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 0, 76, 158, 159, 160, 161,
1511 80, 0, 0, 125, 0, 0, 0, 0, 126, 127,
1512 128, 0, 129, 130, 131, 132, 133, 134, 135, 136,
1513 137, -488, 655, 0, 0, 0, 138, 0, 0, 0,
1514 0, 139, 140, 141, 142, 143, 144, 0, 76, 158,
1515 159, 160, 205, 206, -245, -245, 201, 0, 145, 146,
1516 147, 126, 127, 128, 0, 0, 202, 131, 132, 133,
1517 134, 135, 136, 203, -488, -492, 0, 0, 0, 204,
1518 0, 0, 148, 0, 139, 140, 141, 142, 143, 144,
1519 0, 0, 0, 0, 0, 0, 0, -245, -245, 0,
1520 0, 145, 146, 147, 0, 150, 151, 152, 153, 154,
1521 155, 0, 0, 0, 0, 0, 0, 0, 0, 156,
1522 0, 0, 0, 157, 0, 148, 0, 0, 0, 0,
1523 0, 0, 328, 0, 0, 706, 0, 139, 140, 141,
1524 142, 143, 144, 0, 0, 0, 0, 0, 150, 151,
1525 152, 153, 154, 155, 145, 146, 147, 0, 0, 0,
1526 0, 0, 156, 0, 0, 0, 157, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 76, 158, 159, 160, 161, 80, 0, 0, 125, 0,
1530 0, 0, 0, 126, 127, 128, 0, 129, 130, 131,
1531 132, 133, 134, 135, 136, 137, -488, 0, 0, 157,
1532 0, 138, 0, 0, 0, 0, 139, 140, 141, 142,
1533 143, 144, 0, 76, 158, 159, 160, 205, 206, -245,
1534 -245, 0, 0, 145, 146, 147, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 148, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 76, 329, 330, 160,
1539 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1540 0, 0, 0, 0, 156, 126, 127, 128, 157, 129,
1541 130, 131, 132, 133, 134, 135, 136, 203, -488, 578,
1542 0, 0, 0, 368, 0, 0, 0, 0, 139, 140,
1543 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1544 0, -245, -245, 0, 3, 145, 146, 147, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
1547 4, 0, 0, 0, 0, 76, 158, 159, 160, 161,
1548 80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1550 0, 0, 0, 0, 0, 0, 579, 11, 12, 13,
1551 157, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1552 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
1553 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
1554 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1555 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1556 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1557 71, 72, 73, 74, 75, 369, 370, 76, 158, 564,
1558 160, 161, 80, 81, 126, 127, 128, 0, 129, 130,
1559 131, 132, 133, 134, 135, 136, 203, -488, 656, 0,
1560 0, 0, 368, 0, 0, 0, 0, 139, 140, 141,
1561 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1562 -245, -245, 0, 3, 145, 146, 147, 0, 0, 0,
1563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1564 0, 0, 0, 0, 0, 0, 0, 0, 148, 4,
1565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1568 0, 0, 0, 0, 0, 156, 11, 12, 13, 157,
1569 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1570 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1571 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1572 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1573 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1574 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1575 72, 73, 74, 75, 369, 370, 76, 158, 564, 160,
1576 161, 80, 81, 126, 127, 128, 0, 129, 130, 131,
1577 132, 133, 134, 135, 136, 203, -488, 667, 0, 0,
1578 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1579 143, 144, 0, 0, 0, 0, 0, 0, 0, -245,
1580 -245, 0, 3, 145, 146, 147, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 148, 4, 0,
1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1585 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1586 0, 0, 0, 0, 668, 11, 12, 13, 157, 14,
1587 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
1588 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1589 34, 35, 36, 37, 38, 0, 39, 40, 41, 42,
1590 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1591 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1592 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1593 73, 74, 75, 369, 370, 76, 158, 564, 160, 161,
1594 80, 81, 126, 127, 128, 0, 129, 130, 131, 132,
1595 133, 134, 135, 136, 203, -488, 666, 0, 0, 0,
1596 368, 0, 0, 0, 0, 139, 140, 141, 142, 143,
1597 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0, 145, 146, 147, 126, 127, 128, 0, 129,
1599 130, 131, 132, 133, 134, 135, 136, 203, -488, 670,
1600 0, 0, 0, 368, 0, 0, 148, 0, 139, 140,
1601 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 145, 146, 147, 0, 150,
1603 151, 152, 153, 154, 155, 0, 0, 0, 0, 0,
1604 0, 0, 0, 156, 0, 0, 0, 157, 0, 148,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1607 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1608 0, 0, 0, 0, 0, 0, 671, 0, 0, 0,
1609 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 0, 369, 370, 76, 158, 159, 160, 161, 80,
1612 0, 0, 0, 126, 127, 128, 0, 129, 130, 131,
1613 132, 133, 134, 135, 136, 203, -488, 722, 0, 0,
1614 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1615 143, 144, 0, 0, 0, 369, 370, 76, 158, 159,
1616 160, 161, 80, 145, 146, 147, 126, 127, 128, 0,
1617 129, 130, 131, 132, 133, 134, 135, 136, 203, -488,
1618 775, 0, 0, 0, 368, 0, 0, 148, 0, 139,
1619 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 145, 146, 147, 0,
1621 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1622 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1623 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1625 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1626 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1627 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1629 0, 0, 0, 369, 370, 76, 158, 159, 160, 161,
1630 80, 0, 0, 0, 126, 127, 128, 0, 129, 130,
1631 131, 132, 133, 134, 135, 136, 203, -488, 776, 0,
1632 0, 0, 368, 0, 0, 0, 0, 139, 140, 141,
1633 142, 143, 144, 0, 0, 0, 369, 370, 76, 158,
1634 159, 160, 161, 80, 145, 146, 147, 126, 127, 128,
1635 0, 129, 130, 131, 132, 133, 134, 135, 136, 203,
1636 -488, 778, 0, 0, 0, 368, 0, 0, 148, 0,
1637 139, 140, 141, 142, 143, 144, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 145, 146, 147,
1639 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1640 0, 0, 0, 0, 0, 777, 0, 0, 0, 157,
1641 0, 148, 0, 0, 0, 0, 0, 0, 0, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, 0, 0, 0, 150, 151, 152, 153, 154, 155,
1644 0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
1645 0, 0, 157, 0, 0, 0, 0, 0, 0, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1647 0, 0, 0, 0, 369, 370, 76, 158, 159, 160,
1648 161, 80, 0, 0, 0, 126, 127, 128, 0, 129,
1649 130, 131, 132, 133, 134, 135, 136, 203, -488, 895,
1650 0, 0, 0, 368, 0, 0, 0, 0, 139, 140,
1651 141, 142, 143, 144, 0, 0, 0, 369, 370, 76,
1652 158, 159, 160, 161, 80, 145, 146, 147, 126, 127,
1653 128, 0, 129, 130, 131, 132, 133, 134, 135, 136,
1654 203, -488, 0, 0, 0, 0, 368, 0, 0, 148,
1655 0, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 145, 146,
1657 147, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1658 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
1659 157, 0, 148, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 150, 151, 152, 153, 154,
1662 155, 293, 0, 0, 0, 0, 0, 0, 0, 156,
1663 0, 0, 0, 157, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,
1665 0, 0, 0, 0, 0, 369, 370, 76, 158, 159,
1666 160, 161, 80, 0, 0, 0, 0, 0, 0, 0,
1667 -354, -354, -354, 0, 4, 0, 0, 0, 0, 0,
1668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 369, 370,
1670 76, 158, 159, 160, 161, 80, 0, 0, 0, 0,
1671 0, 11, 12, 13, 0, 14, 15, 16, 17, 18,
1672 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
1673 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1674 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
1675 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1676 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1677 67, 68, 69, 70, 71, 72, 73, 74, 75, 293,
1678 0, 0, 0, 120, 0, 0, 0, 81, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
1681 0, 0, 328, 939, 0, 0, 0, 139, 140, 141,
1682 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1683 0, 0, 4, 0, 145, 146, 147, 0, 0, 0,
1684 0, 0, 0, 0, 0, 0, 0, 0, 0, -622,
1685 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1687 12, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1688 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
1689 30, 31, 32, 33, 34, 35, 36, 37, 38, 157,
1690 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1691 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1692 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1693 69, 70, 71, 72, 73, 74, 75, -111, 0, 0,
1694 0, 120, -111, 0, 0, 81, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 3, 0, 0, 76, 329, 330, 160,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
1699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1703 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1704 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1705 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1706 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1707 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1708 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1709 72, 73, 74, 75, 288, 0, 0, 0, 120, 0,
1710 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, -491, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 11, 12, 13, 0, 14, 15, 16,
1719 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1720 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1721 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1722 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1723 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1724 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1725 75, 0, 0, 0, 0, 120, 11, 12, 13, 81,
1726 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1727 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1728 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1729 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1730 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1731 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1732 72, 73, 74, 75, -629, 0, 0, 0, 120, 0,
1733 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 0, 0, 0, 0, 0, -631,
1737 -631, -631, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, -631, 0, 0,
1739 0, 0, 0, 0, 0, 0, 0, 0, 0, -245,
1740 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
1741 -631, -631, -631, 0, -631, -631, -631, -631, -631, -631,
1742 -631, -631, -631, -631, 0, -631, -631, -631, -631, -631,
1743 -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
1744 0, -631, -631, -631, -631, -631, -631, -631, -631, -631,
1745 -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
1746 -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
1747 -631, -631, -631, -631, -631, -631, -631, -631, 0, 0,
1748 0, 0, 0, 11, 12, 13, -631, 14, 15, 16,
1749 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1750 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1751 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1752 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1753 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1754 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1755 75, 0, 0, 76, 77, 78, 0, 79, 80, 81,
1756 328, -227, 0, 0, 0, 139, 140, 141, 142, 143,
1757 144, 328, 0, 0, 0, 0, 139, 140, 141, 142,
1758 143, 144, 145, 146, 147, 0, 0, 0, 0, 0,
1759 0, 357, 0, 145, 146, 147, 139, 140, 141, 142,
1760 143, 144, 651, 0, 0, 0, 148, 139, 140, 141,
1761 142, 143, 144, 145, 146, 147, 0, 148, 0, 0,
1762 0, 0, 653, 0, 145, 146, 147, 139, 140, 141,
1763 142, 143, 144, 725, 0, 0, 0, 148, 726, 727,
1764 728, 729, 730, 731, 145, 146, 147, 157, 148, 0,
1765 0, 0, 0, 0, 0, 145, 732, 733, 157, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
1767 0, 0, 0, 0, 0, 0, 0, 0, 157, 734,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
1771 0, 0, 0, 0, 76, 329, 330, 160, 0, 0,
1772 157, 0, 0, 0, 0, 76, 329, 330, 160, -171,
1773 -171, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 76, 329, 330, 160, 0,
1775 0, 0, 0, 0, 0, 0, 76, 329, 330, 160,
1776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 76, 329, 330, 160,
1778 0, 0, 0, 0, 0, 0, 0, 76, 735, 736,
1779 737, 0, 0, 0, 0, 11, 12, 13, 0, 14,
1780 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
1781 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1782 34, 35, 36, 37, 38, 0, 39, 40, 41, 42,
1783 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1784 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1785 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1786 73, 74, 75, 3, 0, 0, 0, 120, 0, 0,
1787 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, -354, -354, -354, 0, 4,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1793 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1794 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1795 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1796 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1797 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1798 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1799 72, 73, 74, 75, 3, 0, 0, 0, 120, 0,
1800 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1802 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
1806 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1807 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
1808 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
1809 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1810 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1811 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1812 71, 72, 73, 74, 75, -354, -354, -354, 0, 120,
1813 0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1817 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1818 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1819 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1820 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1821 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1822 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1823 72, 73, 74, 75, 8, 9, 10, 0, 120, 0,
1824 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
1825 0, 0, 0, 11, 12, 13, 0, 14, 15, 16,
1826 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1827 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1828 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1829 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1830 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1831 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1832 75, 0, 0, 0, 0, 120, 11, 12, 13, 81,
1833 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1834 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1835 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1836 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1837 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1838 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1839 72, 73, 74, 75, 0, 0, 0, 0, 120, 0,
1843 static const short yycheck[] = { 0,
1844 106, 0, 3, 89, 0, 468, 406, 407, 368, 500,
1845 11, 12, 628, 624, 556, 2, 126, 18, 19, 20,
1846 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1847 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1848 41, 42, 43, 661, 366, 418, 19, 48, 49, 50,
1849 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1850 61, 62, 63, 64, 408, 409, 416, 303, 661, 793,
1851 417, 322, 796, 451, 75, 414, 415, 9, 10, 478,
1852 799, 82, 0, 82, 25, 26, 82, 558, 204, 773,
1853 805, 661, 708, 209, 454, 211, 681, 715, 903, 100,
1854 320, 410, 411, 412, 413, 106, 18, 223, 24, 1027,
1855 1028, 27, 909, 24, 18, 116, 117, 118, 34, 661,
1856 24, 122, 715, 34, 86, 87, 113, 5, 450, 215,
1857 34, 86, 87, 0, 24, 122, 3, 138, 5, 1091,
1858 1092, 24, 5, 41, 145, 715, 34, 25, 21, 25,
1859 26, 34, 28, 900, 27, 24, 903, 26, 56, 785,
1860 5, 24, 25, 26, 82, 34, 18, 1085, 44, 8,
1861 1088, 34, 896, 715, 25, 26, 498, 28, 893, 24,
1862 25, 26, 1134, 85, 28, 990, 983, 992, 0, 34,
1863 661, 3, 21, 44, 913, 7, 8, 9, 10, 784,
1864 44, 8, 787, 204, 888, 178, 179, 180, 699, 182,
1865 183, 610, 97, 1131, 99, 82, 178, 179, 41, 8,
1866 108, 109, 24, 178, 179, 585, 9, 10, 479, 96,
1867 97, 609, 99, 56, 8, 9, 10, 178, 179, 180,
1868 24, 182, 183, 990, 715, 992, 139, 140, 141, 142,
1869 143, 144, 21, 86, 87, 122, 366, 0, 27, 18,
1870 3, 661, 178, 179, 7, 181, 28, 178, 179, 505,
1871 82, 995, 204, 24, 178, 179, 902, 209, 904, 211,
1872 24, 1111, 44, 116, 117, 286, 608, 1117, 661, 1119,
1873 291, 223, 224, 292, 106, 178, 179, 130, 5, 138,
1874 18, 302, 303, 21, 305, 306, 302, 923, 630, 24,
1875 122, 661, 26, 567, 661, 715, 927, 661, 319, 810,
1876 34, 133, 661, 319, 325, 18, 138, 328, 582, 871,
1877 446, 138, 21, 178, 179, 180, 25, 182, 183, 82,
1878 450, 427, 715, 182, 156, 18, 347, 24, 21, 138,
1879 8, 26, 661, 28, 590, 194, 974, 196, 21, 26,
1880 347, 28, 25, 106, 138, 715, 5, 368, 715, 44,
1881 182, 715, 6, 7, 5, 182, 715, 44, 190, 122,
1882 192, 974, 194, 190, 196, 605, 225, 194, 498, 196,
1883 133, 21, 204, 182, 25, 25, 21, 209, 634, 211,
1884 25, 190, 873, 16, 974, 194, 715, 196, 182, 16,
1885 21, 223, 224, 225, 25, 651, 190, 653, 225, 16,
1886 194, 204, 196, 53, 54, 21, 209, 192, 211, 25,
1887 204, 205, 974, 37, 38, 209, 225, 211, 49, 50,
1888 223, 224, 21, 442, 32, 33, 25, 51, 52, 223,
1889 224, 225, 453, 49, 50, 456, 18, 453, 858, 859,
1890 456, 23, 463, 24, 465, 26, 467, 468, 790, 470,
1891 16, 178, 179, 180, 475, 182, 183, 478, 18, 346,
1892 138, 21, 24, 23, 485, 27, 67, 68, 69, 725,
1893 302, 478, 34, 305, 306, 307, 497, 870, 608, 500,
1894 15, 502, 21, 974, 505, 21, 25, 319, 22, 25,
1895 403, 404, 405, 325, 446, 22, 860, 861, 868, 21,
1896 630, 21, 869, 25, 182, 25, 22, 866, 867, 29,
1897 49, 50, 190, 49, 50, 29, 194, 39, 196, 178,
1898 179, 180, 21, 182, 183, 40, 25, 178, 179, 180,
1899 39, 182, 183, 862, 863, 864, 865, 369, 370, 302,
1900 92, 373, 305, 306, 307, 37, 38, 225, 567, 381,
1901 5, 383, 55, 933, 974, 1066, 319, 26, 18, 51,
1902 52, 21, 325, 582, 1047, 34, 587, 21, 427, 590,
1903 25, 25, 459, 699, 72, 73, 74, 18, 32, 33,
1904 21, 974, 603, 604, 25, 22, 92, 21, 373, 610,
1905 503, 25, 386, 49, 50, 427, 381, 34, 383, 18,
1906 427, 21, 21, 610, 974, 25, 25, 974, 629, 18,
1907 974, 19, 21, 634, 446, 974, 178, 179, 427, 181,
1908 452, 453, 34, 21, 456, 646, 647, 25, 53, 54,
1909 651, 34, 653, 427, 466, 24, 468, 26, 470, 28,
1910 21, 42, 43, 446, 25, 974, 478, 21, 24, 481,
1911 26, 25, 446, 485, 675, 44, 37, 38, 47, 48,
1912 790, 21, 683, 25, 685, 25, 28, 452, 689, 690,
1913 51, 52, 24, 694, 26, 915, 21, 698, 699, 22,
1914 25, 22, 85, 704, 810, 21, 518, 32, 33, 25,
1915 453, 24, 699, 456, 824, 527, 528, 704, 34, 35,
1916 36, 22, 21, 466, 725, 468, 25, 470, 21, 178,
1917 179, 180, 25, 182, 183, 478, 21, 21, 481, 92,
1918 25, 25, 485, 178, 179, 180, 18, 182, 183, 21,
1919 617, 19, 21, 518, 566, 567, 25, 20, 978, 566,
1920 21, 178, 179, 180, 25, 182, 183, 579, 21, 427,
1921 582, 583, 25, 24, 1010, 26, 996, 566, 1100, 780,
1922 18, 1001, 92, 21, 527, 528, 178, 179, 180, 21,
1923 182, 183, 566, 25, 27, 178, 179, 1017, 610, 182,
1924 183, 21, 567, 1023, 18, 25, 21, 21, 809, 810,
1925 25, 812, 1032, 24, 34, 35, 36, 582, 583, 1141,
1926 24, 21, 26, 810, 18, 25, 18, 24, 21, 26,
1927 34, 28, 25, 726, 727, 728, 729, 730, 731, 21,
1928 18, 1061, 1062, 25, 1064, 657, 658, 44, 21, 661,
1929 47, 48, 25, 23, 21, 24, 668, 669, 25, 671,
1930 22, 178, 179, 180, 126, 182, 183, 610, 18, 21,
1931 18, 21, 684, 25, 686, 1095, 25, 139, 140, 141,
1932 142, 143, 144, 695, 146, 147, 698, 699, 700, 25,
1933 976, 18, 657, 658, 21, 21, 21, 21, 899, 25,
1934 25, 25, 21, 715, 669, 906, 25, 24, 566, 18,
1935 21, 37, 38, 999, 25, 782, 1136, 21, 785, 19,
1936 20, 25, 18, 21, 24, 51, 52, 25, 18, 29,
1937 30, 31, 32, 33, 34, 700, 18, 34, 35, 36,
1938 24, 684, 26, 686, 18, 21, 46, 47, 48, 25,
1939 34, 178, 695, 21, 21, 698, 699, 25, 25, 19,
1940 1066, 9, 855, 856, 857, 777, 11, 21, 21, 25,
1941 70, 25, 25, 24, 178, 179, 180, 11, 182, 183,
1942 184, 20, 21, 984, 21, 22, 987, 34, 35, 36,
1943 1100, 987, 72, 73, 74, 24, 8, 88, 810, 32,
1944 33, 21, 1003, 19, 1005, 19, 1116, 1003, 820, 1010,
1945 19, 111, 1013, 1014, 49, 50, 1003, 19, 1017, 65,
1946 66, 67, 68, 69, 70, 71, 72, 73, 74, 53,
1947 54, 1141, 27, 900, 24, 902, 903, 904, 20, 21,
1948 20, 21, 21, 22, 937, 88, 1047, 25, 1049, 1050,
1949 23, 21, 98, 22, 100, 21, 102, 18, 104, 24,
1950 178, 179, 1061, 109, 21, 1066, 22, 810, 181, 181,
1951 25, 11, 23, 119, 24, 121, 24, 820, 178, 179,
1952 180, 181, 24, 27, 57, 58, 59, 60, 61, 62,
1953 63, 64, 65, 66, 178, 179, 180, 1098, 182, 183,
1954 1101, 25, 23, 1104, 366, 1101, 57, 58, 59, 60,
1955 61, 62, 63, 64, 65, 66, 19, 163, 20, 20,
1956 19, 21, 5, 990, 136, 992, 138, 72, 73, 74,
1957 942, 943, 23, 78, 79, 80, 81, 82, 83, 84,
1958 25, 403, 404, 405, 406, 407, 408, 409, 410, 411,
1959 412, 413, 414, 415, 416, 417, 418, 1158, 27, 24,
1960 22, 88, 974, 88, 1165, 24, 978, 119, 25, 121,
1961 182, 20, 20, 18, 27, 987, 18, 27, 190, 25,
1962 132, 133, 194, 135, 196, 137, 138, 25, 450, 1001,
1963 18, 1003, 204, 25, 1006, 21, 24, 24, 150, 942,
1964 943, 29, 30, 31, 32, 33, 34, 25, 25, 29,
1965 39, 55, 25, 225, 1026, 1027, 1028, 40, 46, 47,
1966 48, 88, 25, 1035, 78, 79, 80, 81, 82, 83,
1967 84, 24, 8, 9, 10, 1047, 498, 25, 25, 25,
1968 18, 503, 70, 25, 987, 291, 21, 18, 18, 295,
1969 18, 88, 21, 183, 1066, 88, 21, 20, 22, 20,
1970 1003, 18, 20, 1006, 88, 25, 25, 313, 20, 88,
1971 316, 73, 88, 1085, 1086, 1087, 1088, 88, 324, 1091,
1972 1092, 327, 27, 111, 88, 1097, 27, 88, 0, 1101,
1973 0, 82, 774, 325, 556, 1000, 558, 1077, 560, 561,
1974 72, 73, 74, 1025, 1047, 888, 78, 79, 80, 81,
1975 82, 83, 84, 1131, 920, 1001, 328, 839, 1097, 1131,
1976 1132, 1133, 1134, 1066, 336, 337, 338, 339, 470, 1101,
1977 590, 686, 684, 810, 113, 698, 347, 10, 224, 1071,
1978 427, 518, 715, 1086, 1087, 357, 608, 974, -1, -1,
1979 178, 179, 180, 181, -1, -1, 368, -1, 1101, -1,
1980 -1, -1, 138, -1, -1, -1, -1, -1, 630, 8,
1981 9, 10, -1, -1, -1, -1, 388, -1, -1, -1,
1982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1132,
1983 1133, -1, -1, -1, -1, -1, -1, -1, -1, 661,
1984 -1, -1, -1, -1, -1, 451, 182, -1, -1, -1,
1985 -1, -1, 458, -1, 190, 427, -1, 463, 194, 465,
1986 196, -1, 434, -1, -1, -1, -1, 473, 204, -1,
1987 -1, 477, -1, 209, -1, 211, -1, -1, -1, -1,
1988 -1, -1, -1, -1, -1, -1, -1, 223, 224, 225,
1989 -1, -1, -1, 715, -1, -1, 360, -1, -1, -1,
1990 -1, -1, -1, -1, 726, 727, 728, 729, 730, 731,
1991 732, 733, -1, -1, -1, -1, -1, -1, -1, -1,
1992 8, 9, 10, 387, -1, -1, -1, -1, 392, 393,
1993 394, 395, 396, 397, 398, 399, 400, 401, 402, 138,
1994 -1, 24, 25, -1, -1, -1, 29, 30, 31, 32,
1995 33, 34, -1, -1, -1, -1, -1, -1, -1, 423,
1996 -1, -1, -1, 46, 47, 48, -1, -1, 790, -1,
1997 -1, -1, -1, -1, 8, 9, 10, -1, 584, -1,
1998 -1, -1, -1, 182, -1, 557, -1, 70, -1, -1,
1999 -1, 190, -1, -1, 566, 194, -1, 196, 8, 9,
2000 10, -1, 824, 609, -1, 204, -1, -1, -1, -1,
2001 209, -1, 211, -1, -1, -1, -1, -1, -1, -1,
2002 -1, -1, 628, -1, 223, 224, 225, 633, 111, -1,
2003 -1, -1, -1, 855, 856, 857, 858, 859, 860, 861,
2004 862, 863, 864, 865, 866, 867, 868, 869, 870, 871,
2005 138, 873, 624, -1, -1, -1, -1, 663, 8, 9,
2006 10, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, 651,
2008 -1, 653, -1, -1, -1, -1, -1, 659, -1, -1,
2009 662, 427, -1, -1, 182, 178, 179, 180, 181, -1,
2010 -1, -1, 190, -1, 138, -1, 194, -1, 196, -1,
2011 446, -1, -1, -1, -1, 937, 204, -1, -1, -1,
2012 -1, 209, -1, 211, -1, -1, -1, -1, 138, -1,
2013 -1, -1, 738, -1, -1, 223, 224, 225, -1, -1,
2014 -1, -1, 714, -1, -1, -1, -1, -1, 182, -1,
2015 -1, -1, 974, 725, -1, -1, 190, -1, -1, -1,
2016 194, -1, 196, -1, -1, -1, -1, -1, -1, -1,
2017 204, -1, 182, -1, -1, 209, -1, 211, -1, 643,
2018 190, -1, -1, -1, 194, -1, 196, -1, 138, 223,
2019 224, 225, 798, -1, 204, -1, -1, 24, -1, 209,
2020 27, 211, 29, 30, 31, 32, 33, 34, -1, -1,
2021 -1, -1, -1, 223, 224, 225, -1, -1, -1, 46,
2022 47, 48, -1, -1, 688, -1, -1, -1, 427, -1,
2023 566, -1, 182, -1, -1, -1, -1, -1, -1, -1,
2024 190, -1, -1, 70, 194, -1, 196, 446, -1, -1,
2025 -1, -1, -1, -1, 204, -1, -1, -1, -1, 209,
2026 -1, 211, -1, -1, -1, -1, -1, -1, 840, -1,
2027 -1, -1, -1, 223, 224, 225, -1, -1, 1100, -1,
2028 -1, -1, -1, -1, 111, 891, 892, -1, -1, -1,
2029 -1, -1, -1, 899, 1116, -1, -1, -1, 18, -1,
2030 -1, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2031 30, 31, 32, 33, 34, -1, -1, 923, -1, 1141,
2032 -1, -1, -1, -1, -1, -1, 46, 47, 48, 793,
2033 -1, -1, 796, -1, -1, -1, -1, -1, -1, 427,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2035 70, 178, 179, 180, 181, 927, -1, -1, 446, -1,
2036 -1, -1, -1, -1, -1, -1, -1, 566, -1, -1,
2037 -1, -1, -1, -1, 838, 839, -1, -1, -1, 985,
2038 844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
2039 854, 111, 19, 427, -1, -1, -1, 24, -1, -1,
2040 972, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2041 -1, -1, 446, 19, -1, -1, -1, 427, 24, 46,
2042 47, 48, -1, 29, 30, 31, 32, 33, 34, -1,
2043 -1, -1, 896, -1, -1, -1, 446, -1, -1, -1,
2044 46, 47, 48, 70, -1, 1051, -1, -1, -1, -1,
2045 -1, -1, -1, -1, -1, -1, -1, -1, 178, 179,
2046 180, 181, -1, -1, 70, -1, -1, -1, -1, -1,
2047 -1, -1, -1, -1, -1, -1, -1, 427, 566, -1,
2048 -1, -1, -1, -1, 111, -1, -1, -1, -1, -1,
2049 -1, -1, -1, -1, 0, 1, 446, -1, -1, -1,
2050 -1, -1, -1, -1, -1, 111, -1, -1, -1, -1,
2051 -1, -1, -1, -1, -1, -1, -1, -1, 24, -1,
2052 -1, -1, -1, -1, -1, -1, -1, -1, 34, -1,
2053 -1, 995, 566, 1139, -1, -1, -1, -1, -1, 45,
2054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2055 -1, 178, 179, 180, 181, -1, 566, -1, -1, -1,
2056 -1, 67, 68, 69, -1, 71, -1, -1, -1, 75,
2057 76, 77, 178, 179, 180, 181, -1, -1, -1, -1,
2058 -1, -1, -1, 89, 90, 91, -1, -1, -1, -1,
2059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
2061 116, 117, 118, 119, 120, 121, 566, 123, 124, 125,
2062 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2063 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
2064 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2065 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2066 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2067 0, 1, 178, 179, 180, -1, 182, 183, 184, -1,
2068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2069 -1, -1, -1, -1, 24, -1, -1, -1, -1, -1,
2070 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
2074 -1, 71, -1, -1, -1, 75, 76, 77, -1, -1,
2075 -1, -1, -1, -1, -1, -1, -1, -1, -1, 89,
2076 90, 91, -1, -1, -1, -1, -1, -1, -1, -1,
2077 -1, -1, -1, -1, -1, -1, -1, -1, 108, 109,
2078 110, -1, 112, 113, 114, 115, 116, 117, 118, 119,
2079 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2080 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2081 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2082 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2083 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2084 170, 171, 172, 173, 174, 175, -1, -1, 178, 179,
2085 180, 1, 182, 183, 184, -1, 6, 7, 8, -1,
2086 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2087 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2088 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2089 -1, -1, 42, 43, -1, 45, 46, 47, 48, -1,
2090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2091 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
2092 70, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2094 -1, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2095 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
2096 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2097 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2098 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2099 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2100 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2101 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2102 170, 171, 172, 173, 174, 175, -1, -1, 178, 179,
2103 180, 181, 182, 183, 184, 1, -1, -1, -1, -1,
2104 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2105 16, 17, 18, 19, -1, -1, -1, -1, 24, -1,
2106 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
2107 -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
2108 46, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2110 -1, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2112 -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
2113 96, 97, 98, -1, -1, -1, -1, -1, -1, -1,
2114 -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2115 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
2116 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2117 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
2118 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2119 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2120 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2121 -1, -1, 178, 179, 180, 181, 182, 183, 184, 1,
2122 -1, -1, -1, -1, 6, 7, 8, -1, -1, 11,
2123 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2124 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2125 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2126 42, 43, -1, -1, 46, 47, 48, -1, -1, -1,
2127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2128 -1, -1, -1, -1, -1, 67, 68, 69, 70, -1,
2129 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2130 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2131 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
2132 -1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
2133 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2134 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2135 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2136 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2137 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2138 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2139 172, 173, 174, 175, -1, -1, 178, 179, 180, 181,
2140 182, 183, 184, 1, -1, -1, -1, -1, 6, 7,
2141 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
2142 18, 19, 20, -1, -1, -1, 24, 25, -1, -1,
2143 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2144 -1, -1, -1, -1, 42, 43, 1, -1, 46, 47,
2145 48, 6, 7, 8, -1, 10, 11, 12, 13, 14,
2146 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
2147 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2148 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2149 -1, 46, 47, 48, 92, 93, 94, 95, 96, 97,
2150 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
2151 -1, -1, -1, 111, -1, 70, -1, -1, -1, -1,
2152 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2153 -1, -1, -1, -1, -1, -1, -1, 92, 93, 94,
2154 95, 96, 97, 98, -1, -1, -1, -1, -1, -1,
2155 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1,
2156 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2158 178, 179, 180, 181, 182, 183, -1, -1, 1, -1,
2159 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2160 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2161 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2162 33, 34, -1, 178, 179, 180, 181, 182, 183, 42,
2163 43, 1, -1, 46, 47, 48, 6, 7, 8, -1,
2164 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2165 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2166 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2167 -1, -1, 42, 43, -1, -1, 46, 47, 48, 92,
2168 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2169 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2170 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2172 -1, -1, 92, 93, 94, 95, 96, 97, 98, -1,
2173 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2174 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2175 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2176 -1, -1, -1, -1, -1, 178, 179, 180, 181, 182,
2177 183, -1, -1, 1, -1, -1, -1, -1, 6, 7,
2178 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2179 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2180 -1, 29, 30, 31, 32, 33, 34, -1, 178, 179,
2181 180, 181, 182, 183, 42, 43, 1, -1, 46, 47,
2182 48, 6, 7, 8, -1, -1, 11, 12, 13, 14,
2183 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2184 -1, -1, 70, -1, 29, 30, 31, 32, 33, 34,
2185 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2186 -1, 46, 47, 48, -1, 93, 94, 95, 96, 97,
2187 98, -1, -1, -1, -1, -1, -1, -1, -1, 107,
2188 -1, -1, -1, 111, -1, 70, -1, -1, -1, -1,
2189 -1, -1, 24, -1, -1, 27, -1, 29, 30, 31,
2190 32, 33, 34, -1, -1, -1, -1, -1, 93, 94,
2191 95, 96, 97, 98, 46, 47, 48, -1, -1, -1,
2192 -1, -1, 107, -1, -1, -1, 111, -1, -1, -1,
2193 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2195 178, 179, 180, 181, 182, 183, -1, -1, 1, -1,
2196 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2197 13, 14, 15, 16, 17, 18, 19, -1, -1, 111,
2198 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2199 33, 34, -1, 178, 179, 180, 181, 182, 183, 42,
2200 43, -1, -1, 46, 47, 48, -1, -1, -1, -1,
2201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2202 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
2203 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, -1, -1, -1, 178, 179, 180, 181,
2205 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2206 -1, -1, -1, -1, 107, 6, 7, 8, 111, 10,
2207 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2208 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2209 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2210 -1, 42, 43, -1, 45, 46, 47, 48, -1, -1,
2211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2212 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2213 71, -1, -1, -1, -1, 178, 179, 180, 181, 182,
2214 183, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2216 -1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
2217 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2218 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2219 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2220 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2221 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2222 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2223 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
2224 181, 182, 183, 184, 6, 7, 8, -1, 10, 11,
2225 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2226 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2227 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2228 42, 43, -1, 45, 46, 47, 48, -1, -1, -1,
2229 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2230 -1, -1, -1, -1, -1, -1, -1, -1, 70, 71,
2231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
2234 -1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
2235 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2236 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2237 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2238 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2239 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2240 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2241 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2242 182, 183, 184, 6, 7, 8, -1, 10, 11, 12,
2243 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2244 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2245 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2246 43, -1, 45, 46, 47, 48, -1, -1, -1, -1,
2247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2248 -1, -1, -1, -1, -1, -1, -1, 70, 71, -1,
2249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2251 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2252 -1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
2253 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
2254 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2255 133, 134, 135, 136, 137, -1, 139, 140, 141, 142,
2256 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2257 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2258 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2259 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
2260 183, 184, 6, 7, 8, -1, 10, 11, 12, 13,
2261 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2262 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2263 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2264 -1, -1, 46, 47, 48, 6, 7, 8, -1, 10,
2265 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2266 -1, -1, -1, 24, -1, -1, 70, -1, 29, 30,
2267 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, 46, 47, 48, -1, 93,
2269 94, 95, 96, 97, 98, -1, -1, -1, -1, -1,
2270 -1, -1, -1, 107, -1, -1, -1, 111, -1, 70,
2271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2274 -1, -1, -1, -1, -1, -1, 107, -1, -1, -1,
2275 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2277 -1, -1, 176, 177, 178, 179, 180, 181, 182, 183,
2278 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2279 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2280 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2281 33, 34, -1, -1, -1, 176, 177, 178, 179, 180,
2282 181, 182, 183, 46, 47, 48, 6, 7, 8, -1,
2283 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2284 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2285 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2286 -1, -1, -1, -1, -1, -1, 46, 47, 48, -1,
2287 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2288 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2289 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2291 -1, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2292 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2293 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2295 -1, -1, -1, 176, 177, 178, 179, 180, 181, 182,
2296 183, -1, -1, -1, 6, 7, 8, -1, 10, 11,
2297 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2298 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2299 32, 33, 34, -1, -1, -1, 176, 177, 178, 179,
2300 180, 181, 182, 183, 46, 47, 48, 6, 7, 8,
2301 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2302 19, 20, -1, -1, -1, 24, -1, -1, 70, -1,
2303 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2304 -1, -1, -1, -1, -1, -1, -1, 46, 47, 48,
2305 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
2306 -1, -1, -1, -1, -1, 107, -1, -1, -1, 111,
2307 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2308 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2309 -1, -1, -1, -1, 93, 94, 95, 96, 97, 98,
2310 -1, -1, -1, -1, -1, -1, -1, -1, 107, -1,
2311 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2313 -1, -1, -1, -1, 176, 177, 178, 179, 180, 181,
2314 182, 183, -1, -1, -1, 6, 7, 8, -1, 10,
2315 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2316 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2317 31, 32, 33, 34, -1, -1, -1, 176, 177, 178,
2318 179, 180, 181, 182, 183, 46, 47, 48, 6, 7,
2319 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2320 18, 19, -1, -1, -1, -1, 24, -1, -1, 70,
2321 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2323 48, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2324 -1, -1, -1, -1, -1, -1, 107, -1, -1, -1,
2325 111, -1, 70, -1, -1, -1, -1, -1, -1, -1,
2326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2327 -1, -1, -1, -1, -1, 93, 94, 95, 96, 97,
2328 98, 18, -1, -1, -1, -1, -1, -1, -1, 107,
2329 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2330 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
2331 -1, -1, -1, -1, -1, 176, 177, 178, 179, 180,
2332 181, 182, 183, -1, -1, -1, -1, -1, -1, -1,
2333 67, 68, 69, -1, 71, -1, -1, -1, -1, -1,
2334 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2335 -1, -1, -1, -1, -1, -1, -1, -1, 176, 177,
2336 178, 179, 180, 181, 182, 183, -1, -1, -1, -1,
2337 -1, 108, 109, 110, -1, 112, 113, 114, 115, 116,
2338 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
2339 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2340 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
2341 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2342 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2343 167, 168, 169, 170, 171, 172, 173, 174, 175, 18,
2344 -1, -1, -1, 180, -1, -1, -1, 184, -1, -1,
2345 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2346 -1, -1, -1, -1, -1, -1, 45, -1, -1, -1,
2347 -1, -1, 24, 25, -1, -1, -1, 29, 30, 31,
2348 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2349 -1, -1, 71, -1, 46, 47, 48, -1, -1, -1,
2350 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2351 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2352 -1, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2353 109, 110, -1, 112, 113, 114, 115, 116, 117, 118,
2354 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
2355 129, 130, 131, 132, 133, 134, 135, 136, 137, 111,
2356 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2357 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2358 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2359 169, 170, 171, 172, 173, 174, 175, 19, -1, -1,
2360 -1, 180, 24, -1, -1, 184, -1, -1, -1, -1,
2361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, -1, 45, -1, -1, 178, 179, 180, 181,
2363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2364 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2365 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2366 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2367 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2368 -1, -1, -1, -1, -1, -1, 108, 109, 110, -1,
2369 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2370 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2371 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2372 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2373 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2374 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2375 172, 173, 174, 175, 19, -1, -1, -1, 180, -1,
2376 -1, -1, 184, -1, -1, -1, -1, -1, -1, -1,
2377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2378 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2379 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2381 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1, 20, -1,
2383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2384 -1, -1, -1, 108, 109, 110, -1, 112, 113, 114,
2385 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2386 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2387 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2388 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2389 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2390 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2391 175, -1, -1, -1, -1, 180, 108, 109, 110, 184,
2392 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2393 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2394 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2395 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2396 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2397 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2398 172, 173, 174, 175, 22, -1, -1, -1, 180, -1,
2399 -1, -1, 184, -1, -1, -1, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2402 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
2403 68, 69, -1, -1, -1, -1, -1, -1, -1, -1,
2404 -1, -1, -1, -1, -1, -1, -1, 85, -1, -1,
2405 -1, -1, -1, -1, -1, -1, -1, -1, -1, 24,
2406 -1, -1, -1, -1, -1, -1, -1, -1, -1, 34,
2407 108, 109, 110, -1, 112, 113, 114, 115, 116, 117,
2408 118, 119, 120, 121, -1, 123, 124, 125, 126, 127,
2409 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2410 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2411 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2412 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2413 168, 169, 170, 171, 172, 173, 174, 175, -1, -1,
2414 -1, -1, -1, 108, 109, 110, 184, 112, 113, 114,
2415 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2416 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2417 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2418 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2419 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2420 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2421 175, -1, -1, 178, 179, 180, -1, 182, 183, 184,
2422 24, 25, -1, -1, -1, 29, 30, 31, 32, 33,
2423 34, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2424 33, 34, 46, 47, 48, -1, -1, -1, -1, -1,
2425 -1, 24, -1, 46, 47, 48, 29, 30, 31, 32,
2426 33, 34, 24, -1, -1, -1, 70, 29, 30, 31,
2427 32, 33, 34, 46, 47, 48, -1, 70, -1, -1,
2428 -1, -1, 24, -1, 46, 47, 48, 29, 30, 31,
2429 32, 33, 34, 24, -1, -1, -1, 70, 29, 30,
2430 31, 32, 33, 34, 46, 47, 48, 111, 70, -1,
2431 -1, -1, -1, -1, -1, 46, 47, 48, 111, -1,
2432 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2433 -1, -1, -1, -1, -1, -1, -1, -1, 111, 70,
2434 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
2435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2436 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
2437 -1, -1, -1, -1, 178, 179, 180, 181, -1, -1,
2438 111, -1, -1, -1, -1, 178, 179, 180, 181, 42,
2439 43, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2440 -1, -1, -1, -1, -1, 178, 179, 180, 181, -1,
2441 -1, -1, -1, -1, -1, -1, 178, 179, 180, 181,
2442 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2443 -1, -1, -1, -1, -1, -1, 178, 179, 180, 181,
2444 -1, -1, -1, -1, -1, -1, -1, 178, 179, 180,
2445 181, -1, -1, -1, -1, 108, 109, 110, -1, 112,
2446 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
2447 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2448 133, 134, 135, 136, 137, -1, 139, 140, 141, 142,
2449 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2450 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2451 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2452 173, 174, 175, 45, -1, -1, -1, 180, -1, -1,
2453 -1, 184, -1, -1, -1, -1, -1, -1, -1, -1,
2454 -1, -1, -1, -1, -1, 67, 68, 69, -1, 71,
2455 -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, 108, 109, 110, -1,
2459 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2460 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2461 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2462 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2463 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2464 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2465 172, 173, 174, 175, 45, -1, -1, -1, 180, -1,
2466 -1, -1, 184, -1, -1, -1, -1, -1, -1, -1,
2467 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2468 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2469 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2471 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
2472 -1, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2473 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2474 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2475 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2476 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2477 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2478 171, 172, 173, 174, 175, 67, 68, 69, -1, 180,
2479 -1, -1, -1, 184, -1, -1, -1, -1, -1, -1,
2480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2482 -1, -1, -1, -1, -1, -1, 108, 109, 110, -1,
2483 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2484 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2485 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2486 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2487 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2488 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2489 172, 173, 174, 175, 89, 90, 91, -1, 180, -1,
2490 -1, -1, 184, -1, -1, -1, -1, -1, -1, -1,
2491 -1, -1, -1, 108, 109, 110, -1, 112, 113, 114,
2492 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2493 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2494 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2495 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2496 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2497 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2498 175, -1, -1, -1, -1, 180, 108, 109, 110, 184,
2499 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2500 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2501 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2502 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2503 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2504 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2505 172, 173, 174, 175, -1, -1, -1, -1, 180, -1,
2508 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2511 /* Skeleton output parser for bison,
2512 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2514 This program is free software; you can redistribute it and/or modify
2515 it under the terms of the GNU General Public License as published by
2516 the Free Software Foundation; either version 2, or (at your option)
2519 This program is distributed in the hope that it will be useful,
2520 but WITHOUT ANY WARRANTY; without even the implied warranty of
2521 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2522 GNU General Public License for more details.
2524 You should have received a copy of the GNU General Public License
2525 along with this program; if not, write to the Free Software
2526 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2528 /* As a special exception, when this file is copied by Bison into a
2529 Bison output file, you may use that output file without restriction.
2530 This special exception was added by the Free Software Foundation
2531 in version 1.24 of Bison. */
2535 #define alloca __builtin_alloca
2536 #else /* not GNU C. */
2537 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
2539 #else /* not sparc */
2540 #if defined (MSDOS) && !defined (__TURBOC__)
2542 #else /* not MSDOS, or __TURBOC__ */
2546 #else /* not MSDOS, __TURBOC__, or _AIX */
2550 void *alloca (unsigned int);
2552 #else /* not __cplusplus */
2554 #endif /* not __cplusplus */
2556 #endif /* not _AIX */
2557 #endif /* not MSDOS, or __TURBOC__ */
2558 #endif /* not sparc. */
2559 #endif /* not GNU C. */
2560 #endif /* alloca not defined. */
2562 /* This is the parser code that is written into each bison parser
2563 when the %semantic_parser declaration is not specified in the grammar.
2564 It was written by Richard Stallman by simplifying the hairy parser
2565 used when %semantic_parser is specified. */
2567 /* Note: there must be only one dollar sign in this file.
2568 It is replaced by the list of actions, each action
2569 as one case of the switch. */
2571 #define yyerrok (yyerrstatus = 0)
2572 #define yyclearin (yychar = YYEMPTY)
2575 #define YYACCEPT return(0)
2576 #define YYABORT return(1)
2577 #define YYERROR goto yyerrlab1
2578 /* Like YYERROR except do call yyerror.
2579 This remains here temporarily to ease the
2580 transition to the new meaning of YYERROR, for GCC.
2581 Once GCC version 2 has supplanted version 1, this can go. */
2582 #define YYFAIL goto yyerrlab
2583 #define YYRECOVERING() (!!yyerrstatus)
2584 #define YYBACKUP(token, value) \
2586 if (yychar == YYEMPTY && yylen == 1) \
2587 { yychar = (token), yylval = (value); \
2588 yychar1 = YYTRANSLATE (yychar); \
2593 { yyerror ("syntax error: cannot back up"); YYERROR; } \
2597 #define YYERRCODE 256
2600 #define YYLEX yylex()
2606 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
2608 #define YYLEX yylex(&yylval, &yylloc)
2610 #else /* not YYLSP_NEEDED */
2612 #define YYLEX yylex(&yylval, YYLEX_PARAM)
2614 #define YYLEX yylex(&yylval)
2616 #endif /* not YYLSP_NEEDED */
2619 /* If nonreentrant, generate the variables here */
2623 int yychar; /* the lookahead symbol */
2624 YYSTYPE yylval; /* the semantic value of the */
2625 /* lookahead symbol */
2628 YYLTYPE yylloc; /* location data for the lookahead */
2632 int yynerrs; /* number of parse errors so far */
2633 #endif /* not YYPURE */
2636 int yydebug; /* nonzero means print parse trace */
2637 /* Since this is uninitialized, it does not stop multiple parsers
2641 /* YYINITDEPTH indicates the initial size of the parser's stacks */
2644 #define YYINITDEPTH 200
2647 /* YYMAXDEPTH is the maximum size the stacks can grow to
2648 (effective only if the built-in stack extension method is used). */
2655 #define YYMAXDEPTH 10000
2658 /* Prevent warning if -Wstrict-prototypes. */
2663 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2664 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2665 #else /* not GNU C or C++ */
2668 /* This is the most reliable way to avoid incompatibilities
2669 in available built-in functions on various systems. */
2671 __yy_memcpy (to, from, count)
2676 register char *f = from;
2677 register char *t = to;
2678 register int i = count;
2684 #else /* __cplusplus */
2686 /* This is the most reliable way to avoid incompatibilities
2687 in available built-in functions on various systems. */
2689 __yy_memcpy (char *to, char *from, int count)
2691 register char *f = from;
2692 register char *t = to;
2693 register int i = count;
2704 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
2705 into yyparse. The argument should have type void *.
2706 It should actually point to an object.
2707 Grammar actions can access the variable by casting it
2708 to the proper pointer type. */
2710 #ifdef YYPARSE_PARAM
2712 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2713 #define YYPARSE_PARAM_DECL
2714 #else /* not __cplusplus */
2715 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
2716 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2717 #endif /* not __cplusplus */
2718 #else /* not YYPARSE_PARAM */
2719 #define YYPARSE_PARAM_ARG
2720 #define YYPARSE_PARAM_DECL
2721 #endif /* not YYPARSE_PARAM */
2724 yyparse(YYPARSE_PARAM_ARG)
2727 register int yystate;
2729 register short *yyssp;
2730 register YYSTYPE *yyvsp;
2731 int yyerrstatus; /* number of tokens to shift before error messages enabled */
2732 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
2734 short yyssa[YYINITDEPTH]; /* the state stack */
2735 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2737 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2738 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2741 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2742 YYLTYPE *yyls = yylsa;
2745 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2747 #define YYPOPSTACK (yyvsp--, yyssp--)
2750 int yystacksize = YYINITDEPTH;
2761 YYSTYPE yyval; /* the variable used to return */
2762 /* semantic values from the action */
2769 fprintf(stderr, "Starting parse\n");
2775 yychar = YYEMPTY; /* Cause a token to be read. */
2777 /* Initialize stack pointers.
2778 Waste one element of value and location stack
2779 so that they stay on the same level as the state stack.
2780 The wasted elements are never initialized. */
2788 /* Push a new state, which is found in yystate . */
2789 /* In all cases, when you get here, the value and location stacks
2790 have just been pushed. so pushing a state here evens the stacks. */
2795 if (yyssp >= yyss + yystacksize - 1)
2797 /* Give user a chance to reallocate the stack */
2798 /* Use copies of these so that the &'s don't force the real ones into memory. */
2799 YYSTYPE *yyvs1 = yyvs;
2800 short *yyss1 = yyss;
2802 YYLTYPE *yyls1 = yyls;
2805 /* Get the current used size of the three stacks, in elements. */
2806 int size = yyssp - yyss + 1;
2809 /* Each stack pointer address is followed by the size of
2810 the data in use in that stack, in bytes. */
2812 /* This used to be a conditional around just the two extra args,
2813 but that might be undefined if yyoverflow is a macro. */
2814 yyoverflow("parser stack overflow",
2815 &yyss1, size * sizeof (*yyssp),
2816 &yyvs1, size * sizeof (*yyvsp),
2817 &yyls1, size * sizeof (*yylsp),
2820 yyoverflow("parser stack overflow",
2821 &yyss1, size * sizeof (*yyssp),
2822 &yyvs1, size * sizeof (*yyvsp),
2826 yyss = yyss1; yyvs = yyvs1;
2830 #else /* no yyoverflow */
2831 /* Extend the stack our own way. */
2832 if (yystacksize >= YYMAXDEPTH)
2834 yyerror("parser stack overflow");
2838 if (yystacksize > YYMAXDEPTH)
2839 yystacksize = YYMAXDEPTH;
2840 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2841 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
2842 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2843 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
2845 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2846 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
2848 #endif /* no yyoverflow */
2850 yyssp = yyss + size - 1;
2851 yyvsp = yyvs + size - 1;
2853 yylsp = yyls + size - 1;
2858 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
2861 if (yyssp >= yyss + yystacksize - 1)
2867 fprintf(stderr, "Entering state %d\n", yystate);
2873 /* Do appropriate processing given the current state. */
2874 /* Read a lookahead token if we need one and don't already have one. */
2877 /* First try to decide what to do without reference to lookahead token. */
2879 yyn = yypact[yystate];
2883 /* Not known => get a lookahead token if don't already have one. */
2885 /* yychar is either YYEMPTY or YYEOF
2886 or a valid token in external form. */
2888 if (yychar == YYEMPTY)
2892 fprintf(stderr, "Reading a token: ");
2897 /* Convert token to internal form (in yychar1) for indexing tables with */
2899 if (yychar <= 0) /* This means end of input. */
2902 yychar = YYEOF; /* Don't call YYLEX any more */
2906 fprintf(stderr, "Now at end of input.\n");
2911 yychar1 = YYTRANSLATE(yychar);
2916 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
2917 /* Give the individual parser a way to print the precise meaning
2918 of a token, for further debugging info. */
2920 YYPRINT (stderr, yychar, yylval);
2922 fprintf (stderr, ")\n");
2928 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2933 /* yyn is what to do for this token type in this state.
2934 Negative => reduce, -yyn is rule number.
2935 Positive => shift, yyn is new state.
2936 New state is final state => don't bother to shift,
2937 just return success.
2938 0, or most negative number => error. */
2953 /* Shift the lookahead token. */
2957 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2960 /* Discard the token being shifted unless it is eof. */
2961 if (yychar != YYEOF)
2969 /* count tokens shifted since error; after three, turn off error status. */
2970 if (yyerrstatus) yyerrstatus--;
2975 /* Do the default action for the current state. */
2978 yyn = yydefact[yystate];
2982 /* Do a reduction. yyn is the number of a rule to reduce with. */
2986 yyval = yyvsp[1-yylen]; /* implement default value of the action */
2993 fprintf (stderr, "Reducing via rule %d (line %d), ",
2996 /* Print the symbols being reduced, and their result. */
2997 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2998 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2999 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3007 { uentry_clearDecl (); ;
3010 { uentry_clearDecl (); ;
3013 { uentry_clearDecl (); ;
3016 { uentry_clearDecl (); ;
3019 { uentry_clearDecl (); ;
3022 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3025 { uentry_clearDecl (); ;
3028 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3031 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3034 { context_enterFunctionDecl (); ;
3037 { declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3038 context_exitFunctionDecl (); ;
3042 qtype qint = qtype_create (ctype_int);
3043 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3048 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3051 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3054 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3057 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3060 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3066 if (exprNode_hasValue (yyvsp[-2].expr)
3067 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3069 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3076 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3080 { setCurrentParams (uentryList_missingParams);
3084 { /* need to support globals and modifies here! */
3085 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3086 uentryList_makeMissingParams ());
3088 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3093 { setCurrentParams (yyvsp[-1].entrylist);
3097 { clearCurrentParams ();
3098 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3103 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3106 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3109 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3115 if (exprNode_hasValue (yyvsp[-2].expr)
3116 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3118 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3125 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3129 { setCurrentParams (uentryList_missingParams);
3133 { /* need to support globals and modifies here! */
3134 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3135 uentryList_makeMissingParams ());
3137 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3142 { setCurrentParams (yyvsp[-1].entrylist);
3146 { clearCurrentParams ();
3147 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3152 { setCurrentParams (yyvsp[-1].entrylist); ;
3155 { clearCurrentParams (); ;
3158 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3161 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
3164 { exprNode_checkIterBody (yyvsp[-1].expr); ;
3167 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
3170 { exprChecks_checkEmptyMacroBody (); ;
3173 { declareFunction (yyvsp[0].ntyp); ;
3176 { setProcessingGlobMods (); ;
3179 { clearProcessingGlobMods (); ;
3182 { setProcessingGlobMods (); ;
3185 { clearProcessingGlobMods (); ;
3194 { globListAdd (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3197 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3200 { yyval.sr = globListUnrecognized (yyvsp[0].cname); ;
3203 { yyval.typequal = qual_createUndef (); ;
3206 { yyval.typequal = qual_createKilled (); ;
3209 { yyval.typequal = qual_createOut (); ;
3212 { yyval.typequal = qual_createIn (); ;
3215 { yyval.typequal = qual_createPartial (); ;
3218 { yyval.tquallist = qualList_undefined; ;
3221 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3224 { setProcessingGlobalsList (); ;
3227 { unsetProcessingGlobals (); ;
3230 { setProcessingGlobalsList (); ;
3233 { unsetProcessingGlobals (); ;
3236 { setFunctionNoGlobals ();
3237 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3241 { setProcessingGlobalsList (); ;
3244 { unsetProcessingGlobals (); ;
3247 { setProcessingGlobalsList (); ;
3250 { unsetProcessingGlobals (); ;
3253 { setFunctionNoGlobals ();
3254 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3259 context_setProtectVars (); enterParamsTemp ();
3260 sRef_setGlobalScopeSafe ();
3265 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3266 sRef_clearGlobalScopeSafe ();
3267 context_releaseVars ();
3272 context_setProtectVars (); enterParamsTemp ();
3273 sRef_setGlobalScopeSafe ();
3278 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3279 sRef_clearGlobalScopeSafe ();
3280 context_releaseVars ();
3284 { yyval.sck = SP_ISONLY; ;
3287 { yyval.sck = SP_ISOBSERVER; ;
3290 { yyval.sck = SP_ISEXPOSED; ;
3293 { yyval.sck = SP_ISDEPENDENT; ;
3296 { yyval.sck = SP_ISOWNED; ;
3299 { yyval.sck = SP_ISSHARED; ;
3302 { yyval.sck = SP_ISNULL; ;
3305 { yyval.sck = SP_ISNOTNULL; ;
3309 context_setProtectVars ();
3311 sRef_setGlobalScopeSafe ();
3316 setFunctionSpecialClause (yyvsp[-6].tok, yyvsp[-3].srset, yyvsp[-1].tok);
3318 sRef_clearGlobalScopeSafe ();
3319 context_releaseVars ();
3324 context_setProtectVars ();
3326 sRef_setGlobalScopeSafe ();
3331 setFunctionStateSpecialClause (yyvsp[-7].tok, yyvsp[-5].sck, yyvsp[-3].srset, yyvsp[-1].tok);
3333 sRef_clearGlobalScopeSafe ();
3334 context_releaseVars ();
3339 qtype qint = qtype_create (ctype_int);
3340 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3345 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3348 { checkDoneParams (); context_enterInnerContext (); ;
3352 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3353 context_exitInner (yyvsp[0].expr);
3357 { doneParams (); context_enterInnerContext (); ;
3361 context_exitInner (yyvsp[0].expr);
3362 exprNode_checkFunctionBody (yyvsp[0].expr);
3363 yyval.expr = yyvsp[0].expr; /* old style */
3368 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3369 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3370 context_exitFunction ();
3374 { yyval.srset = yyvsp[-2].srset; ;
3377 { yyval.srset = sRefSet_new (); ;
3380 { yyval.srset = yyvsp[-1].srset; ;
3383 { yyval.srset = sRefSet_new (); ;
3386 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3389 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3392 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3395 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3398 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3401 { yyval.sr = yyvsp[-1].sr; ;
3404 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3407 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3410 { yyval.sr = yyvsp[0].sr; ;
3413 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3416 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3419 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3422 { yyval.sr = checkSpecClausesId (yyvsp[0].entry); ;
3425 { yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
3428 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3431 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3434 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3437 { yyval.sr = yyvsp[-1].sr; ;
3440 { cstring_markOwned (yyvsp[0].cname);
3441 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3444 { cstring_markOwned (yyvsp[0].cname);
3445 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3448 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3449 else { yyval.srset = sRefSet_undefined; }
3453 { if (sRef_isValid (yyvsp[0].sr))
3455 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3459 yyval.srset = yyvsp[-2].srset;
3464 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3467 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3470 { yyval.expr = yyvsp[0].expr; ;
3473 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3476 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3479 { yyval.expr = exprNode_makeError (); ;
3482 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3485 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3488 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
3491 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3494 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3497 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3500 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3503 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3506 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3509 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3512 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3515 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3518 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3521 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3524 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3527 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3530 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3533 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3536 { yyval.expr = yyvsp[0].expr; ;
3539 { yyval.expr = yyvsp[0].expr; ;
3542 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3545 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3548 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3551 { context_setProtectVars (); ;
3554 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3557 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3560 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3563 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3566 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3569 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3572 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3575 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3578 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3581 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3584 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3587 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3590 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3593 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3596 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3599 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3602 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3605 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3608 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3611 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3614 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3617 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3620 { exprNode_produceGuards (yyvsp[-1].expr);
3621 context_enterAndClause (yyvsp[-1].expr);
3626 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3627 context_exitAndClause (yyval.expr, yyvsp[0].expr);
3632 exprNode_produceGuards (yyvsp[-1].expr);
3633 context_enterOrClause (yyvsp[-1].expr);
3638 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3639 context_exitOrClause (yyval.expr, yyvsp[0].expr);
3643 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3646 { context_enterFalseClause (yyvsp[-4].expr); ;
3649 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
3652 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3655 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3658 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3661 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3664 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3667 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3670 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3673 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3676 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3679 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3682 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3685 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
3688 { yyval.expr = exprNode_undefined; ;
3691 { yyval.expr = yyvsp[0].expr; ;
3694 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
3697 { yyval.expr = exprNode_makeError (); ;
3700 { yyval.expr = exprNode_makeError (); ;
3704 setProcessingVars (yyvsp[-3].qtyp);
3705 processNamedDecl (yyvsp[-1].ntyp); ;
3708 { unsetProcessingVars (); yyval.expr = yyvsp[-2].expr; ;
3711 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp);
3715 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
3716 unsetProcessingVars ();
3720 { processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeError (); ;
3723 { processNamedDecl (yyvsp[-2].ntyp); ;
3726 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
3729 { setProcessingTypedef (yyvsp[0].qtyp); ;
3732 { unsetProcessingTypedef (); ;
3735 { /* in the ANSI grammar, semantics unclear */ ;
3738 { /* in the ANSI grammar, semantics unclear */ ;
3741 { g_expectingTypeName = TRUE; ;
3744 { g_expectingTypeName = TRUE; context_pushLoc (); ;
3756 { yyval.expr = exprNode_makeError (); ;
3759 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
3762 { yyval.expr = yyvsp[0].expr; ;
3765 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].alist); ;
3768 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].alist); ;
3771 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3774 { yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3777 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
3780 { yyval.typequal = qual_createInline (); ;
3783 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
3786 { yyval.typequal = qual_createAuto (); ;
3789 { yyval.typequal = qual_createRegister (); ;
3792 { yyval.typequal = qual_createConst (); ;
3795 { yyval.typequal = qual_createVolatile (); ;
3798 { yyval.typequal = qual_createOut (); ;
3801 { yyval.typequal = qual_createIn (); ;
3804 { yyval.typequal = qual_createPartial (); ;
3807 { yyval.typequal = qual_createSpecial (); ;
3810 { yyval.typequal = qual_createOwned (); ;
3813 { yyval.typequal = qual_createDependent (); ;
3816 { yyval.typequal = qual_createYield (); ;
3819 { yyval.typequal = qual_createTemp (); ;
3822 { yyval.typequal = qual_createOnly (); ;
3825 { yyval.typequal = qual_createKeep (); ;
3828 { yyval.typequal = qual_createKept (); ;
3831 { yyval.typequal = qual_createShared (); ;
3834 { yyval.typequal = qual_createUnique (); ;
3837 { yyval.typequal = qual_createExits (); ;
3840 { yyval.typequal = qual_createMayExit (); ;
3843 { yyval.typequal = qual_createTrueExit (); ;
3846 { yyval.typequal = qual_createFalseExit (); ;
3849 { yyval.typequal = qual_createNeverExit (); ;
3852 { yyval.typequal = qual_createNull (); ;
3855 { yyval.typequal = qual_createRelNull (); ;
3858 { yyval.typequal = qual_createReturned (); ;
3861 { yyval.typequal = qual_createExposed (); ;
3864 { yyval.typequal = qual_createObserver (); ;
3867 { yyval.typequal = qual_createChecked (); ;
3870 { yyval.typequal = qual_createCheckMod (); ;
3873 { yyval.typequal = qual_createUnchecked (); ;
3876 { yyval.typequal = qual_createCheckedStrict (); ;
3879 { yyval.typequal = qual_createTrueNull (); ;
3882 { yyval.typequal = qual_createFalseNull (); ;
3885 { yyval.typequal = qual_createUnused (); ;
3888 { yyval.typequal = qual_createExternal (); ;
3891 { yyval.typequal = qual_createSef (); ;
3894 { yyval.typequal = qual_createAbstract (); ;
3897 { yyval.typequal = qual_createConcrete (); ;
3900 { yyval.typequal = qual_createMutable (); ;
3903 { yyval.typequal = qual_createImmutable (); ;
3906 { yyval.typequal = qual_createNotNull (); ;
3909 { yyval.typequal = qual_createRefCounted (); ;
3912 { yyval.typequal = qual_createRefs (); ;
3915 { yyval.typequal = qual_createKillRef (); ;
3918 { yyval.typequal = qual_createRelDef (); ;
3921 { yyval.typequal = qual_createNewRef (); ;
3924 { yyval.typequal = qual_createTempRef (); ;
3927 { yyval.typequal = qual_createNullTerminated (); ;
3930 { yyval.typequal = qual_createShort (); ;
3933 { yyval.typequal = qual_createLong (); ;
3936 { yyval.typequal = qual_createSigned (); ;
3939 { yyval.typequal = qual_createUnsigned (); ;
3942 { yyval.ctyp = ctype_unknown; ;
3945 { yyval.ctyp = ctype_anyintegral; ;
3948 { yyval.ctyp = ctype_unsignedintegral; ;
3951 { yyval.ctyp = ctype_signedintegral; ;
3954 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
3957 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
3960 { yyval.qtyp = yyvsp[0].qtyp; ;
3963 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
3966 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
3969 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
3972 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
3975 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
3978 { yyval.qtyp = qtype_unknown (); ;
3981 { yyval.qtyp = yyvsp[0].qtyp; ;
3984 { sRef_setGlobalScopeSafe (); ;
3987 { sRef_clearGlobalScopeSafe (); ;
3990 { yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
3993 { sRef_setGlobalScopeSafe (); ;
3996 { sRef_clearGlobalScopeSafe (); ;
3999 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4002 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4005 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4008 { sRef_setGlobalScopeSafe (); ;
4011 { sRef_clearGlobalScopeSafe (); ;
4014 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4017 { sRef_setGlobalScopeSafe (); ;
4020 { sRef_clearGlobalScopeSafe (); ;
4023 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4026 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4029 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4032 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4035 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4038 { g_expectingTypeName = FALSE; ;
4041 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4044 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4047 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4050 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4053 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4056 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4059 { yyval.ntyp = yyvsp[0].ntyp; ;
4062 { yyval.ntyp = idDecl_undefined; ;
4065 { yyval.ntyp = yyvsp[-3].ntyp; ;
4068 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4071 { context_pushLoc (); ;
4074 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4077 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4080 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4083 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4086 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4087 usymtab_supGlobalEntry (ue);
4088 yyval.cname = yyvsp[0].cname;
4092 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4093 usymtab_supGlobalEntry (ue);
4094 yyval.cname = yyvsp[-3].cname;
4098 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4102 qtype qt = qtype_unknown ();
4104 qtype_adjustPointers (yyvsp[-1].count, qt);
4105 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4109 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4112 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4115 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4118 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4121 { /* ignored for now */; ;
4133 { yyval.count = 1; ;
4136 { yyval.count = 1; ;
4139 { yyval.count = 1 + yyvsp[0].count; ;
4142 { yyval.count = 1 + yyvsp[0].count; ;
4145 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4148 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4151 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4154 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4157 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4163 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4169 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4173 if (isFlipOldStyle ())
4175 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4181 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4186 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4190 llparseerror (message ("Inconsistent function parameter syntax: %q",
4191 idDecl_unparse (tparam)));
4195 yyval.oentry = makeCurrentParam (tparam);
4196 idDecl_free (tparam);
4200 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4203 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4206 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4209 { yyval.ctyp = ctype_unknown; ;
4212 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4215 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4218 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4221 { yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4224 { yyval.ctyp = ctype_makeArray (yyvsp[-3].ctyp); ;
4227 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4230 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4233 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4236 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4239 {yyval.expr = yyvsp[0].expr; printf ("Doing stmt lclintassertion\n"); ;
4242 { printf(" QSETBUFFERSIZE id CCONSTANT HEllo World\n"); uentry_setBufferSize(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4246 { printf(" QSETSTRINGLENGTH id CCONSTANT HEllo World\n"); uentry_setStringLength(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4250 { yyval.expr = exprNode_labelMarker (yyvsp[0].cname); ;
4253 { yyval.expr = yyvsp[0].expr; ;
4256 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4259 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4262 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4265 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4268 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4271 { context_setProtectVars (); ;
4274 { context_sizeofReleaseVars (); ;
4277 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4278 context_enterForClause (yyvsp[-5].expr); ;
4281 { setProcessingIterVars (yyvsp[-2].entry); ;
4284 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].alist); ;
4287 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4290 { yyval.expr = yyvsp[0].expr; ;
4293 { yyval.expr = yyvsp[-1].expr; ;
4296 { yyval.expr = exprNode_makeError (); ;
4299 { /* don't: context_exitTrueClause ($1, $2); */
4300 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4304 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4307 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4310 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4313 { yyval.expr = exprNode_makeError (); ;
4316 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); printf("labeldStmt: newid TCOLON");;
4319 { yyval.expr = exprNode_notReached (yyvsp[0].expr); printf("labeldStmt: QNOTREACHED stmt");;
4322 { context_enterCaseClause (yyvsp[0].expr); ;
4325 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
4328 { context_enterCaseClause (yyvsp[0].expr); ;
4331 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
4334 { context_enterCaseClause (exprNode_undefined); ;
4337 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
4340 { context_enterCaseClause (exprNode_undefined); ;
4343 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
4346 { yyval.expr = yyvsp[-1].expr; ;
4349 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
4352 { yyval.expr = yyvsp[-1].expr; ;
4355 { context_enterInnerContext (); ;
4358 { context_exitInnerPlain (); ;
4361 { context_enterStructInnerContext (); ;
4364 { context_exitStructInnerContext (); ;
4367 { context_exitInnerSafe (); ;
4370 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4373 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
4376 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4379 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4382 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4385 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4388 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4391 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
4392 lltok_getLoc (yyvsp[-1].tok)));
4396 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
4399 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4402 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4405 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4408 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4411 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4414 { yyval.expr = yyvsp[0].expr; ;
4417 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4420 { yyval.expr = yyvsp[0].expr; printf("stmt\n"); ;
4423 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); printf("StmTList stmt\n"); ;
4426 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4429 { yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
4432 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4435 { yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
4438 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4441 { yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4445 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4446 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4450 { context_enterFalseClause (yyvsp[-2].expr); ;
4454 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4455 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4459 { context_enterSwitch (yyvsp[0].expr); ;
4462 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4465 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4468 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4471 { context_enterIterClause (); ;
4474 { setProcessingIterVars (yyvsp[-3].entry); ;
4478 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].alist, yyvsp[-2].expr, yyvsp[-1].entry);
4483 { yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
4486 { nextIterParam (); ;
4489 { yyval.alist = exprNodeList_push (yyvsp[-3].alist, yyvsp[0].expr); ;
4492 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
4495 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
4498 { uentry ue = coerceIterId (yyvsp[0].cname);
4500 if (uentry_isValid (ue))
4502 yyval.expr = exprNode_iterId (ue);
4506 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
4511 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
4514 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4517 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4520 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4523 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
4526 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4529 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
4532 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
4535 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4538 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4541 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4544 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4547 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4550 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4553 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4556 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4559 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4562 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4565 { yyval.expr = yyvsp[0].expr; ;
4568 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
4571 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4574 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4577 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4580 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4583 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4586 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4589 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4592 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4595 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4598 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4601 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4604 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4607 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4610 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4613 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4616 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4619 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4622 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4625 { context_enterTrueClause (yyvsp[-1].expr); ;
4628 { context_enterFalseClause (yyvsp[-4].expr); ;
4631 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4634 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4637 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4640 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4643 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4646 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4649 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4652 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4655 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4658 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4661 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4664 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4667 { yyval.entry = yyvsp[0].entry; ;
4670 { yyval.entry = uentry_undefined; ;
4673 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
4676 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
4679 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
4682 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
4685 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
4688 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
4691 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4694 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
4697 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
4700 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
4703 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
4706 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
4709 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
4712 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
4715 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
4718 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
4721 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
4724 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
4730 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
4733 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
4736 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
4739 { yyval.cname = yyvsp[0].cname; ;
4742 { yyval.ctyp = ctype_unknown; ;
4745 /* the action file gets copied in in place of this dollarsign */
4757 short *ssp1 = yyss - 1;
4758 fprintf (stderr, "state stack now");
4759 while (ssp1 != yyssp)
4760 fprintf (stderr, " %d", *++ssp1);
4761 fprintf (stderr, "\n");
4771 yylsp->first_line = yylloc.first_line;
4772 yylsp->first_column = yylloc.first_column;
4773 yylsp->last_line = (yylsp-1)->last_line;
4774 yylsp->last_column = (yylsp-1)->last_column;
4779 yylsp->last_line = (yylsp+yylen-1)->last_line;
4780 yylsp->last_column = (yylsp+yylen-1)->last_column;
4784 /* Now "shift" the result of the reduction.
4785 Determine what state that goes to,
4786 based on the state we popped back to
4787 and the rule number reduced by. */
4791 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
4792 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4793 yystate = yytable[yystate];
4795 yystate = yydefgoto[yyn - YYNTBASE];
4799 yyerrlab: /* here on detecting error */
4802 /* If not already recovering from an error, report this error. */
4806 #ifdef YYERROR_VERBOSE
4807 yyn = yypact[yystate];
4809 if (yyn > YYFLAG && yyn < YYLAST)
4816 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
4817 for (x = (yyn < 0 ? -yyn : 0);
4818 x < (sizeof(yytname) / sizeof(char *)); x++)
4819 if (yycheck[x + yyn] == x)
4820 size += strlen(yytname[x]) + 15, count++;
4821 msg = (char *) malloc(size + 15);
4824 strcpy(msg, "parse error");
4829 for (x = (yyn < 0 ? -yyn : 0);
4830 x < (sizeof(yytname) / sizeof(char *)); x++)
4831 if (yycheck[x + yyn] == x)
4833 strcat(msg, count == 0 ? ", expecting `" : " or `");
4834 strcat(msg, yytname[x]);
4843 yyerror ("parse error; also virtual memory exceeded");
4846 #endif /* YYERROR_VERBOSE */
4847 yyerror("parse error");
4851 yyerrlab1: /* here on error raised explicitly by an action */
4853 if (yyerrstatus == 3)
4855 /* if just tried and failed to reuse lookahead token after an error, discard it. */
4857 /* return failure if at end of input */
4858 if (yychar == YYEOF)
4863 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
4869 /* Else will try to reuse lookahead token
4870 after shifting the error token. */
4872 yyerrstatus = 3; /* Each real token shifted decrements this */
4876 yyerrdefault: /* current state does not do anything special for the error token. */
4879 /* This is wrong; only states that explicitly want error tokens
4880 should shift them. */
4881 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
4882 if (yyn) goto yydefault;
4885 yyerrpop: /* pop the current state because it cannot handle the error token */
4887 if (yyssp == yyss) YYABORT;
4897 short *ssp1 = yyss - 1;
4898 fprintf (stderr, "Error: state stack now");
4899 while (ssp1 != yyssp)
4900 fprintf (stderr, " %d", *++ssp1);
4901 fprintf (stderr, "\n");
4907 yyn = yypact[yystate];
4912 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
4931 fprintf(stderr, "Shifting error token, ");
4945 extern char *yytext;
4948 # include "bison.reset"
4950 void yyerror (/*@unused@*/ char *s)
4952 static bool givehint = FALSE;
4954 if (context_inIterDef ())
4956 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
4957 context_inFunctionName ()));
4959 else if (context_inIterEnd ())
4961 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
4962 context_inFunctionName ()));
4964 else if (context_inMacro ())
4966 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
4967 context_inFunctionName ()));
4969 if (context_inMacroUnknown ())
4973 llhint (cstring_makeLiteral
4974 ("Precede macro definition with /*@notfunction@*/ "
4975 "to suppress checking and force expansion"));
4984 llparseerror (cstring_undefined);
4988 void printState (idDecl t) {
4989 cstring id = idDecl_getName (t);
4990 uentry ue = usymtab_lookupSafe (id);
4992 sRef s = uentry_getSref (ue);
4994 printf("State = %d\n", s->bufinfo.bufstate);
4998 /*take this out soon */
4999 /* void testassert1 (cstring id, icstring cons ) { */
5000 /* uentry ue =usymtab_lookupSafe (id); */
5001 /* sRef s = uentry_getSref (ue); */
5002 /* printf ("Doing testassert1 with setbuffersize\n"); */
5003 /* printf("State = %d\n", s->bufinfo.bufstate); */
5005 /* void testassert2 (cstring id) { */
5006 /* uentry ue =usymtab_lookupSafe (id); */
5007 /* sRef s = uentry_getSref (ue); */
5008 /* printf ("Doing testassert2 with setbuffersize\n"); */
5009 /* printf("State = %d\n", s->bufinfo.bufstate); */