]> andersk Git - splint.git/blame - src/cgrammar.c
Added files
[splint.git] / src / cgrammar.c
CommitLineData
3aaedf88 1/*
2** Inserted at beginning of c files generated by bison
3** REMEMBER: Change bison.reset too.
4*/
5
6/*@-allmacros@*/
7/*@+boolint@*/
8/*@+charint@*/
9/*@-macroparams@*/
10/*@-macroundef@*/
11/*@-unreachable@*/
12/*@-macrospec@*/
13/*@-varuse@*/
14/*@+ignorequals@*/
15/*@-macrostmt@*/
16/*@-noeffect@*/
17/*@-shadow@*/
18/*@-exitarg@*/
19/*@-macroredef@*/
20/*@-uniondef@*/
21/*@-compdef@*/
22/*@-matchfields@*/
23/*@-exportlocal@*/
24/*@-evalorderuncon@*/
25/*@-exportheader@*/
26/*@-typeuse@*/
27/*@-redecl@*/
28/*@-redef@*/
29/*@-noparams@*/
30/*@-ansireserved@*/
31/*@-fielduse@*/
32/*@-ifblock@*/
33/*@-elseifcomplete@*/
34/*@-whileblock@*/
35/*@-forblock@*/
36/*@-branchstate@*/
37/*@-readonlytrans@*/
38/*@-namechecks@*/
39/*@-usedef@*/
40/*@-systemunrecog@*/
41/*@-dependenttrans@*/
42/*@-unqualifiedtrans@*/
43/*@-nullassign@*/
44
45/* < end of bison.head > */
46
47
48/* A Bison parser, made from cgrammar.y
49 by GNU Bison version 1.25
50 */
51
52#define YYBISON 1 /* Identify Bison output. */
53
54#define BADTOK 258
55#define SKIPTOK 259
56#define CTOK_ELIPSIS 260
57#define CASE 261
58#define DEFAULT 262
59#define CIF 263
60#define CELSE 264
61#define SWITCH 265
62#define WHILE 266
63#define DO 267
64#define CFOR 268
65#define GOTO 269
66#define CONTINUE 270
67#define BREAK 271
68#define RETURN 272
69#define TSEMI 273
70#define TLBRACE 274
71#define TRBRACE 275
72#define TCOMMA 276
73#define TCOLON 277
74#define TASSIGN 278
75#define TLPAREN 279
76#define TRPAREN 280
77#define TLSQBR 281
78#define TRSQBR 282
79#define TDOT 283
80#define TAMPERSAND 284
81#define TEXCL 285
82#define TTILDE 286
83#define TMINUS 287
84#define TPLUS 288
85#define TMULT 289
86#define TDIV 290
87#define TPERCENT 291
88#define TLT 292
89#define TGT 293
90#define TCIRC 294
91#define TBAR 295
92#define TQUEST 296
93#define CSIZEOF 297
94#define CALIGNOF 298
95#define ARROW_OP 299
96#define CTYPEDEF 300
97#define COFFSETOF 301
98#define INC_OP 302
99#define DEC_OP 303
100#define LEFT_OP 304
101#define RIGHT_OP 305
102#define LE_OP 306
103#define GE_OP 307
104#define EQ_OP 308
105#define NE_OP 309
106#define AND_OP 310
107#define OR_OP 311
108#define MUL_ASSIGN 312
109#define DIV_ASSIGN 313
110#define MOD_ASSIGN 314
111#define ADD_ASSIGN 315
112#define SUB_ASSIGN 316
113#define LEFT_ASSIGN 317
114#define RIGHT_ASSIGN 318
115#define AND_ASSIGN 319
116#define XOR_ASSIGN 320
117#define OR_ASSIGN 321
118#define CSTRUCT 322
119#define CUNION 323
120#define CENUM 324
121#define VA_ARG 325
122#define VA_DCL 326
123#define QGLOBALS 327
124#define QMODIFIES 328
125#define QNOMODS 329
126#define QCONSTANT 330
127#define QFUNCTION 331
128#define QITER 332
129#define QDEFINES 333
130#define QUSES 334
131#define QALLOCATES 335
132#define QSETS 336
133#define QRELEASES 337
134#define QPRECLAUSE 338
135#define QPOSTCLAUSE 339
136#define QALT 340
137#define QUNDEF 341
138#define QKILLED 342
139#define QENDMACRO 343
140#define LLMACRO 344
141#define LLMACROITER 345
142#define LLMACROEND 346
143#define TENDMACRO 347
144#define QSWITCHBREAK 348
145#define QLOOPBREAK 349
146#define QINNERBREAK 350
147#define QSAFEBREAK 351
148#define QINNERCONTINUE 352
149#define QFALLTHROUGH 353
150#define QLINTNOTREACHED 354
151#define QLINTFALLTHROUGH 355
152#define QLINTFALLTHRU 356
153#define QARGSUSED 357
154#define QPRINTFLIKE 358
155#define QLINTPRINTFLIKE 359
156#define QSCANFLIKE 360
157#define QMESSAGELIKE 361
158#define QNOTREACHED 362
159#define QCONST 363
160#define QVOLATILE 364
161#define QINLINE 365
162#define QEXTENSION 366
163#define QEXTERN 367
164#define QSTATIC 368
165#define QAUTO 369
166#define QREGISTER 370
167#define QOUT 371
168#define QIN 372
169#define QYIELD 373
170#define QONLY 374
171#define QTEMP 375
172#define QSHARED 376
173#define QREF 377
174#define QUNIQUE 378
175#define QCHECKED 379
176#define QUNCHECKED 380
177#define QCHECKEDSTRICT 381
178#define QCHECKMOD 382
179#define QKEEP 383
180#define QKEPT 384
181#define QPARTIAL 385
182#define QSPECIAL 386
183#define QOWNED 387
184#define QDEPENDENT 388
185#define QRETURNED 389
186#define QEXPOSED 390
187#define QNULL 391
188#define QOBSERVER 392
189#define QISNULL 393
190#define QEXITS 394
191#define QMAYEXIT 395
192#define QNEVEREXIT 396
193#define QTRUEEXIT 397
194#define QFALSEEXIT 398
195#define QLONG 399
196#define QSIGNED 400
197#define QUNSIGNED 401
198#define QSHORT 402
199#define QUNUSED 403
200#define QSEF 404
201#define QNOTNULL 405
202#define QRELNULL 406
203#define QABSTRACT 407
204#define QCONCRETE 408
205#define QMUTABLE 409
206#define QIMMUTABLE 410
207#define QTRUENULL 411
208#define QFALSENULL 412
209#define QEXTERNAL 413
210#define QREFCOUNTED 414
211#define QREFS 415
212#define QNEWREF 416
213#define QTEMPREF 417
214#define QKILLREF 418
215#define QRELDEF 419
216#define CGCHAR 420
217#define CBOOL 421
218#define CINT 422
219#define CGFLOAT 423
220#define CDOUBLE 424
221#define CVOID 425
222#define QANYTYPE 426
223#define QINTEGRALTYPE 427
224#define QUNSIGNEDINTEGRALTYPE 428
225#define QSIGNEDINTEGRALTYPE 429
226#define QNULLTERMINATED 430
227#define QSETBUFFERSIZE 431
228#define QBUFFERCONSTRAINT 432
229#define QENSURESCONSTRAINT 433
230#define QSETSTRINGLENGTH 434
231#define QMAXSET 435
232#define QMAXREAD 436
233#define QTESTINRANGE 437
234#define IDENTIFIER 438
235#define NEW_IDENTIFIER 439
236#define TYPE_NAME_OR_ID 440
237#define CCONSTANT 441
238#define ITER_NAME 442
239#define ITER_ENDNAME 443
240#define TYPE_NAME 444
241
242#line 19 "cgrammar.y"
243
244/*
245**
246** cgrammar.y
247**
248** Yacc/Bison grammar for extended ANSI C used by LCLint.
249**
250** original grammar by Nate Osgood ---
251** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
252**
253** changes for LCLint --- handle typedef names correctly
254** fix struct/union parsing bug (empty struct is accepted)
255** add productions to handle macros --- require
256** error correction --- main source of conflicts in grammar.
257** need to process initializations sequentially, L->R
258**
259** production names are cryptic, so more productions fit on one line
260**
261** conflicts: 87 shift/reduce, 18 reduce/reduce
262** most of these are due to handling macros
263** a few are due to handling type expressions
264*/
265
266/*@=allmacros@*/
267
268extern int yylex ();
269extern void swallowMacro (void);
270
271# include "lclintMacros.nf"
272# include "basic.h"
273# include "cgrammar.h"
274# include "exprChecks.h"
275
276/*@-allmacros@*/
277/*@-matchfields@*/
278
279# define SHOWCSYM FALSE
280void yyerror (char *s);
281
282/*
283** This is necessary, or else when the bison-generated code #include's malloc.h,
284** there will be a parse error.
285**
286** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
287** in bison-generated files under Win32.
288*/
289
290# ifdef WIN32
291# undef malloc
292# undef calloc
293# undef realloc
294# endif
295
296void checkandsetBufState(idDecl id, exprNode is);
297
298#line 75 "cgrammar.y"
299typedef union
300{
301 lltok tok;
302 int count;
303 specialClauseKind sck;
304 qual typequal;
305 qualList tquallist;
306 ctype ctyp;
307 sRef sr;
308 /*@only@*/ qtype qtyp;
309 /*@only@*/ cstring cname;
310 /*@only@*/ idDecl ntyp;
311 /*@only@*/ idDeclList ntyplist;
312 /*@only@*/ uentryList flist;
313 /*@owned@*/ uentryList entrylist;
314 /*@observer@*/ /*@dependent@*/ uentry entry;
315 /*@only@*/ uentry oentry;
316 /*@only@*/ exprNode expr;
317 /*@only@*/ enumNameList enumnamelist;
318 /*@only@*/ exprNodeList alist;
319 /*@only@*/ sRefSet srset;
320 /*@only@*/ cstringList cstringlist;
321 /*drl
322 added 1/19/2001
323 */
324 constraint con;
325 constraintList conL;
326 constraintExpr conE;
327 /* drl */
328} YYSTYPE;
329#ifndef YYDEBUG
330#define YYDEBUG 1
331#endif
332
333#include <stdio.h>
334
335#ifndef __cplusplus
336#ifndef __STDC__
337#define const
338#endif
339#endif
340
341
342
343#define YYFINAL 1229
344#define YYFLAG -32768
345#define YYNTBASE 190
346
347#define YYTRANSLATE(x) ((unsigned)(x) <= 444 ? yytranslate[x] : 434)
348
349static const short yytranslate[] = { 0,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
364 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
365 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
366 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
368 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
369 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
370 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
371 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
372 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
373 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
374 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
375 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
376 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
377 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
378 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
379 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
380 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
381 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
382 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
383 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
384 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
385 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
386 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
387 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
388 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
389 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
390 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
391 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
392 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
393 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
394 186, 187, 188, 189
395};
396
397#if YYDEBUG != 0
398static const short yyprhs[] = { 0,
399 0, 1, 3, 5, 8, 11, 13, 15, 17, 19,
400 21, 23, 32, 44, 45, 51, 53, 57, 59, 62,
401 64, 71, 75, 82, 83, 91, 92, 101, 103, 110,
402 114, 121, 122, 129, 130, 138, 139, 140, 151, 155,
403 159, 163, 166, 168, 169, 172, 173, 176, 179, 180,
404 185, 186, 187, 192, 193, 196, 198, 203, 205, 207,
405 209, 211, 213, 215, 220, 226, 228, 230, 232, 234,
406 238, 243, 246, 250, 254, 258, 260, 262, 264, 265,
407 268, 269, 272, 274, 277, 279, 282, 284, 287, 289,
408 293, 296, 298, 300, 302, 304, 306, 308, 310, 311,
409 314, 315, 322, 323, 330, 332, 334, 335, 336, 342,
410 343, 349, 351, 353, 354, 356, 357, 358, 362, 363,
411 367, 369, 371, 373, 375, 377, 379, 381, 383, 385,
412 387, 389, 391, 393, 395, 397, 399, 401, 402, 410,
413 411, 420, 422, 426, 427, 431, 432, 436, 439, 443,
414 446, 449, 451, 453, 455, 459, 464, 467, 471, 475,
415 479, 481, 483, 485, 489, 491, 493, 497, 502, 505,
416 509, 513, 517, 519, 523, 525, 527, 529, 533, 535,
417 537, 539, 544, 548, 553, 560, 566, 572, 575, 578,
418 580, 584, 586, 589, 592, 595, 598, 601, 604, 607,
419 610, 612, 614, 618, 620, 630, 631, 635, 640, 643,
420 648, 651, 653, 658, 660, 664, 668, 672, 674, 678,
421 682, 684, 688, 692, 694, 698, 702, 706, 710, 712,
422 716, 720, 722, 726, 728, 732, 734, 738, 740, 741,
423 746, 748, 749, 754, 756, 757, 758, 766, 768, 772,
424 776, 780, 784, 788, 792, 796, 800, 804, 808, 812,
425 814, 818, 819, 821, 823, 825, 827, 829, 833, 834,
426 844, 845, 857, 860, 861, 868, 869, 877, 882, 887,
427 888, 889, 892, 894, 899, 900, 905, 907, 911, 916,
428 918, 922, 924, 926, 928, 930, 932, 935, 938, 941,
429 944, 947, 950, 953, 956, 959, 962, 965, 968, 971,
430 974, 977, 980, 983, 986, 989, 992, 995, 998, 1001,
431 1004, 1007, 1010, 1013, 1016, 1019, 1022, 1025, 1028, 1031,
432 1034, 1037, 1040, 1043, 1046, 1049, 1052, 1055, 1058, 1061,
433 1064, 1067, 1070, 1072, 1074, 1076, 1078, 1081, 1084, 1087,
434 1090, 1093, 1096, 1099, 1102, 1105, 1108, 1111, 1114, 1117,
435 1120, 1124, 1126, 1131, 1133, 1137, 1140, 1143, 1146, 1147,
436 1149, 1150, 1151, 1163, 1164, 1165, 1177, 1184, 1191, 1192,
437 1193, 1204, 1205, 1206, 1217, 1223, 1229, 1234, 1239, 1240,
438 1242, 1244, 1247, 1253, 1257, 1260, 1265, 1267, 1271, 1276,
439 1283, 1284, 1293, 1298, 1300, 1304, 1307, 1309, 1314, 1316,
440 1318, 1321, 1324, 1326, 1329, 1331, 1334, 1336, 1338, 1340,
441 1343, 1345, 1348, 1351, 1355, 1357, 1361, 1363, 1367, 1369,
442 1371, 1375, 1376, 1379, 1380, 1385, 1390, 1392, 1394, 1397,
443 1399, 1401, 1404, 1405, 1407, 1413, 1416, 1420, 1424, 1429,
444 1433, 1438, 1443, 1449, 1451, 1453, 1455, 1457, 1459, 1461,
445 1463, 1465, 1467, 1469, 1474, 1479, 1484, 1487, 1489, 1491,
446 1493, 1496, 1499, 1507, 1514, 1517, 1518, 1519, 1530, 1531,
447 1538, 1540, 1542, 1544, 1546, 1549, 1551, 1553, 1555, 1557,
448 1559, 1561, 1563, 1567, 1569, 1572, 1575, 1578, 1580, 1582,
449 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1602, 1604,
450 1606, 1609, 1612, 1613, 1618, 1619, 1625, 1626, 1630, 1631,
451 1636, 1640, 1643, 1647, 1648, 1649, 1650, 1651, 1652, 1654,
452 1657, 1660, 1664, 1667, 1671, 1675, 1680, 1683, 1686, 1690,
453 1694, 1699, 1701, 1704, 1706, 1709, 1711, 1714, 1716, 1719,
454 1721, 1724, 1726, 1731, 1734, 1735, 1741, 1742, 1749, 1754,
455 1759, 1760, 1761, 1772, 1774, 1775, 1780, 1782, 1784, 1786,
456 1788, 1790, 1794, 1796, 1801, 1805, 1810, 1817, 1823, 1829,
457 1832, 1835, 1837, 1840, 1843, 1846, 1849, 1852, 1855, 1858,
458 1861, 1863, 1865, 1870, 1872, 1876, 1880, 1884, 1886, 1890,
459 1894, 1896, 1900, 1904, 1906, 1910, 1914, 1918, 1922, 1924,
460 1928, 1932, 1934, 1938, 1940, 1944, 1946, 1950, 1952, 1956,
461 1958, 1962, 1964, 1965, 1966, 1974, 1976, 1980, 1984, 1988,
462 1992, 1996, 2000, 2004, 2008, 2012, 2016, 2020, 2022, 2023,
463 2025, 2028, 2036, 2039, 2042, 2050, 2057, 2060, 2064, 2067,
464 2071, 2074, 2078, 2082, 2086, 2090, 2093, 2097, 2098, 2100,
465 2102, 2104, 2106, 2108, 2110, 2112, 2114
466};
467
468static const short yyrhs[] = { -1,
469 191, 0, 192, 0, 191, 192, 0, 260, 430, 0,
470 193, 0, 194, 0, 204, 0, 207, 0, 297, 0,
471 1, 0, 75, 317, 330, 340, 330, 430, 305, 88,
472 0, 75, 317, 330, 340, 330, 23, 305, 310, 309,
473 430, 88, 0, 0, 76, 195, 196, 430, 88, 0,
474 197, 0, 317, 330, 197, 0, 201, 0, 344, 201,
475 0, 432, 0, 305, 24, 330, 340, 305, 25, 0,
476 198, 26, 27, 0, 198, 26, 305, 296, 27, 330,
477 0, 0, 198, 306, 24, 25, 199, 209, 211, 0,
478 0, 198, 306, 24, 341, 25, 200, 209, 211, 0,
479 432, 0, 305, 24, 330, 197, 305, 25, 0, 201,
480 26, 27, 0, 201, 26, 305, 296, 27, 330, 0,
481 0, 201, 306, 24, 25, 202, 227, 0, 0, 201,
482 306, 24, 341, 25, 203, 227, 0, 0, 0, 77,
483 432, 24, 341, 25, 205, 227, 206, 430, 88, 0,
484 89, 371, 92, 0, 90, 358, 92, 0, 91, 359,
485 92, 0, 89, 92, 0, 256, 0, 0, 210, 229,
486 0, 0, 212, 213, 0, 216, 214, 0, 0, 215,
487 178, 218, 88, 0, 0, 0, 217, 177, 218, 88,
488 0, 0, 219, 218, 0, 219, 0, 222, 221, 222,
489 18, 0, 180, 0, 181, 0, 52, 0, 51, 0,
490 53, 0, 223, 0, 225, 24, 222, 25, 0, 24,
491 222, 226, 222, 25, 0, 224, 0, 186, 0, 431,
492 0, 184, 0, 224, 26, 27, 0, 224, 26, 186,
493 27, 0, 34, 224, 0, 24, 224, 25, 0, 224,
494 28, 432, 0, 224, 44, 432, 0, 220, 0, 33,
495 0, 32, 0, 0, 0, 230, 0, 0, 228, 230,
496 0, 237, 0, 231, 237, 0, 240, 0, 231, 240,
497 0, 253, 0, 253, 231, 0, 233, 0, 232, 21,
498 233, 0, 236, 234, 0, 431, 0, 184, 0, 86,
499 0, 87, 0, 116, 0, 117, 0, 130, 0, 0,
500 235, 236, 0, 0, 72, 238, 391, 430, 88, 243,
501 0, 0, 72, 239, 232, 430, 88, 243, 0, 74,
502 0, 244, 0, 0, 0, 72, 241, 391, 430, 243,
503 0, 0, 72, 242, 232, 430, 243, 0, 74, 0,
504 246, 0, 0, 244, 0, 0, 0, 73, 245, 261,
505 0, 0, 73, 247, 262, 0, 78, 0, 79, 0,
506 80, 0, 81, 0, 82, 0, 88, 0, 88, 0,
507 83, 0, 84, 0, 119, 0, 137, 0, 135, 0,
508 133, 0, 132, 0, 121, 0, 138, 0, 150, 0,
509 0, 248, 330, 254, 267, 430, 250, 305, 0, 0,
510 251, 330, 252, 255, 267, 430, 249, 305, 0, 340,
511 0, 317, 330, 340, 0, 0, 19, 258, 387, 0,
512 0, 391, 259, 380, 0, 208, 257, 0, 265, 430,
513 88, 0, 430, 88, 0, 265, 430, 0, 430, 0,
514 431, 0, 184, 0, 263, 26, 27, 0, 263, 26,
515 264, 27, 0, 34, 263, 0, 24, 263, 25, 0,
516 263, 28, 432, 0, 263, 44, 432, 0, 263, 0,
517 186, 0, 263, 0, 265, 21, 263, 0, 431, 0,
518 184, 0, 266, 26, 27, 0, 266, 26, 264, 27,
519 0, 34, 266, 0, 24, 266, 25, 0, 266, 28,
520 432, 0, 266, 44, 432, 0, 266, 0, 267, 21,
521 266, 0, 431, 0, 184, 0, 186, 0, 24, 294,
522 25, 0, 185, 0, 111, 0, 268, 0, 269, 26,
523 294, 27, 0, 269, 24, 25, 0, 269, 24, 270,
524 25, 0, 70, 24, 293, 21, 352, 25, 0, 269,
525 330, 28, 432, 305, 0, 269, 330, 44, 432, 305,
526 0, 269, 47, 0, 269, 48, 0, 293, 0, 270,
527 21, 293, 0, 269, 0, 47, 271, 0, 48, 271,
528 0, 29, 277, 0, 34, 277, 0, 33, 277, 0,
529 32, 277, 0, 31, 277, 0, 30, 277, 0, 274,
530 0, 273, 0, 272, 28, 432, 0, 432, 0, 46,
531 305, 24, 352, 330, 21, 272, 25, 305, 0, 0,
532 305, 275, 276, 0, 42, 24, 352, 25, 0, 42,
533 271, 0, 43, 24, 352, 25, 0, 43, 271, 0,
534 271, 0, 24, 352, 25, 277, 0, 277, 0, 278,
535 34, 277, 0, 278, 35, 277, 0, 278, 36, 277,
536 0, 278, 0, 279, 33, 278, 0, 279, 32, 278,
537 0, 279, 0, 280, 49, 279, 0, 280, 50, 279,
538 0, 280, 0, 281, 37, 280, 0, 281, 38, 280,
539 0, 281, 51, 280, 0, 281, 52, 280, 0, 281,
540 0, 282, 53, 281, 0, 282, 54, 281, 0, 282,
541 0, 283, 29, 282, 0, 283, 0, 284, 39, 283,
542 0, 284, 0, 285, 40, 284, 0, 285, 0, 0,
543 286, 55, 287, 285, 0, 286, 0, 0, 288, 56,
544 289, 286, 0, 288, 0, 0, 0, 288, 41, 291,
545 294, 22, 292, 290, 0, 290, 0, 271, 23, 293,
546 0, 271, 57, 293, 0, 271, 58, 293, 0, 271,
547 59, 293, 0, 271, 60, 293, 0, 271, 61, 293,
548 0, 271, 62, 293, 0, 271, 63, 293, 0, 271,
549 64, 293, 0, 271, 65, 293, 0, 271, 66, 293,
550 0, 293, 0, 294, 21, 293, 0, 0, 294, 0,
551 290, 0, 298, 0, 71, 0, 303, 0, 317, 305,
552 18, 0, 0, 317, 330, 340, 330, 299, 305, 309,
553 18, 305, 0, 0, 317, 330, 340, 330, 23, 300,
554 305, 310, 309, 18, 305, 0, 340, 330, 0, 0,
555 340, 330, 23, 302, 305, 310, 0, 0, 45, 317,
556 304, 330, 307, 305, 18, 0, 45, 317, 305, 18,
557 0, 45, 307, 305, 18, 0, 0, 0, 308, 305,
558 0, 301, 0, 307, 21, 330, 301, 0, 0, 309,
559 21, 330, 301, 0, 293, 0, 19, 311, 20, 0,
560 19, 311, 21, 20, 0, 310, 0, 311, 21, 310,
561 0, 112, 0, 110, 0, 113, 0, 114, 0, 115,
562 0, 108, 305, 0, 109, 305, 0, 116, 305, 0,
563 117, 305, 0, 130, 305, 0, 131, 305, 0, 132,
564 305, 0, 133, 305, 0, 118, 305, 0, 120, 305,
565 0, 119, 305, 0, 128, 305, 0, 129, 305, 0,
566 121, 305, 0, 123, 305, 0, 139, 305, 0, 140,
567 305, 0, 142, 305, 0, 143, 305, 0, 141, 305,
568 0, 136, 305, 0, 151, 305, 0, 134, 305, 0,
569 135, 305, 0, 137, 305, 0, 124, 305, 0, 127,
570 305, 0, 125, 305, 0, 126, 305, 0, 156, 305,
571 0, 157, 305, 0, 148, 305, 0, 158, 305, 0,
572 149, 305, 0, 152, 305, 0, 153, 305, 0, 154,
573 305, 0, 155, 305, 0, 150, 305, 0, 159, 305,
574 0, 160, 305, 0, 163, 305, 0, 164, 305, 0,
575 161, 305, 0, 162, 305, 0, 175, 305, 0, 147,
576 0, 144, 0, 145, 0, 146, 0, 165, 330, 0,
577 167, 330, 0, 166, 330, 0, 168, 330, 0, 169,
578 330, 0, 170, 330, 0, 171, 330, 0, 172, 330,
579 0, 173, 330, 0, 174, 330, 0, 433, 330, 0,
580 321, 330, 0, 335, 330, 0, 314, 330, 0, 305,
581 317, 305, 0, 319, 0, 319, 85, 318, 88, 0,
582 352, 0, 352, 21, 318, 0, 312, 320, 0, 313,
583 320, 0, 315, 320, 0, 0, 317, 0, 0, 0,
584 330, 67, 432, 305, 19, 322, 384, 331, 385, 323,
585 20, 0, 0, 0, 330, 68, 432, 305, 19, 324,
586 384, 331, 385, 325, 20, 0, 330, 67, 432, 305,
587 19, 20, 0, 330, 68, 432, 305, 19, 20, 0,
588 0, 0, 330, 67, 305, 19, 326, 384, 331, 385,
589 327, 20, 0, 0, 0, 330, 68, 305, 19, 328,
590 384, 331, 385, 329, 20, 0, 330, 67, 305, 19,
591 20, 0, 330, 68, 305, 19, 20, 0, 330, 67,
592 432, 330, 0, 330, 68, 432, 330, 0, 0, 332,
593 0, 207, 0, 331, 332, 0, 317, 330, 333, 305,
594 18, 0, 317, 305, 18, 0, 334, 330, 0, 333,
595 21, 334, 330, 0, 340, 0, 22, 305, 296, 0,
596 340, 22, 305, 296, 0, 330, 69, 19, 337, 20,
597 305, 0, 0, 330, 69, 432, 19, 336, 337, 20,
598 305, 0, 330, 69, 432, 305, 0, 338, 0, 337,
599 21, 338, 0, 337, 21, 0, 432, 0, 432, 23,
600 305, 296, 0, 198, 0, 354, 0, 344, 189, 0,
601 344, 339, 0, 198, 0, 344, 198, 0, 347, 0,
602 330, 345, 0, 108, 0, 109, 0, 342, 0, 343,
603 342, 0, 34, 0, 34, 343, 0, 34, 344, 0,
604 34, 343, 344, 0, 346, 0, 346, 21, 5, 0,
605 432, 0, 346, 21, 432, 0, 5, 0, 348, 0,
606 348, 21, 5, 0, 0, 349, 351, 0, 0, 348,
607 21, 350, 351, 0, 305, 317, 339, 305, 0, 432,
608 0, 316, 0, 316, 353, 0, 344, 0, 355, 0,
609 344, 355, 0, 0, 355, 0, 305, 24, 330, 353,
610 25, 0, 26, 27, 0, 26, 296, 27, 0, 355,
611 26, 27, 0, 355, 26, 296, 27, 0, 305, 24,
612 25, 0, 305, 24, 347, 25, 0, 355, 305, 24,
613 25, 0, 355, 305, 24, 347, 25, 0, 373, 0,
614 374, 0, 377, 0, 380, 0, 393, 0, 396, 0,
615 427, 0, 401, 0, 429, 0, 357, 0, 176, 431,
616 186, 88, 0, 179, 431, 186, 88, 0, 182, 431,
617 186, 88, 0, 22, 432, 0, 360, 0, 358, 0,
618 367, 0, 360, 367, 0, 400, 360, 0, 426, 372,
619 11, 24, 294, 25, 18, 0, 426, 372, 11, 24,
620 294, 25, 0, 362, 367, 0, 0, 0, 13, 24,
621 295, 18, 295, 18, 363, 295, 364, 25, 0, 0,
622 187, 382, 24, 366, 404, 25, 0, 188, 0, 373,
623 0, 374, 0, 377, 0, 369, 391, 0, 369, 0,
624 370, 0, 393, 0, 368, 0, 361, 0, 365, 0,
625 429, 0, 24, 367, 25, 0, 1, 0, 395, 367,
626 0, 382, 19, 0, 386, 20, 0, 372, 0, 390,
627 0, 373, 0, 374, 0, 377, 0, 381, 0, 394,
628 0, 396, 0, 401, 0, 428, 0, 24, 372, 25,
629 0, 429, 0, 1, 0, 432, 22, 0, 107, 356,
630 0, 0, 6, 296, 375, 22, 0, 0, 98, 6,
631 296, 376, 22, 0, 0, 7, 378, 22, 0, 0,
632 98, 7, 379, 22, 0, 24, 380, 25, 0, 382,
633 388, 0, 382, 389, 383, 0, 0, 0, 0, 0,
634 0, 20, 0, 107, 20, 0, 392, 20, 0, 392,
635 107, 20, 0, 391, 20, 0, 391, 107, 20, 0,
636 391, 392, 20, 0, 391, 392, 107, 20, 0, 19,
637 387, 0, 19, 20, 0, 19, 390, 20, 0, 19,
638 391, 20, 0, 19, 391, 392, 20, 0, 372, 0,
639 390, 372, 0, 297, 0, 391, 297, 0, 356, 0,
640 392, 356, 0, 18, 0, 294, 18, 0, 18, 0,
641 294, 18, 0, 294, 0, 8, 24, 294, 25, 0,
642 395, 356, 0, 0, 395, 356, 9, 397, 356, 0,
643 0, 10, 24, 294, 398, 25, 356, 0, 11, 24,
644 294, 25, 0, 11, 24, 294, 25, 0, 0, 0,
645 187, 402, 382, 24, 403, 404, 25, 380, 425, 383,
646 0, 406, 0, 0, 404, 405, 21, 406, 0, 424,
647 0, 431, 0, 185, 0, 184, 0, 186, 0, 24,
648 294, 25, 0, 407, 0, 269, 26, 294, 27, 0,
649 269, 24, 25, 0, 269, 24, 270, 25, 0, 70,
650 24, 293, 21, 352, 25, 0, 269, 330, 28, 432,
651 305, 0, 269, 330, 44, 432, 305, 0, 269, 47,
652 0, 269, 48, 0, 408, 0, 47, 271, 0, 48,
653 271, 0, 29, 277, 0, 34, 277, 0, 33, 277,
654 0, 32, 277, 0, 31, 277, 0, 30, 277, 0,
655 274, 0, 409, 0, 24, 352, 25, 277, 0, 410,
656 0, 278, 34, 277, 0, 278, 35, 277, 0, 278,
657 36, 277, 0, 411, 0, 279, 33, 278, 0, 279,
658 32, 278, 0, 412, 0, 280, 49, 279, 0, 280,
659 50, 279, 0, 413, 0, 281, 37, 280, 0, 281,
660 38, 280, 0, 281, 51, 280, 0, 281, 52, 280,
661 0, 414, 0, 282, 53, 281, 0, 282, 54, 281,
662 0, 415, 0, 283, 29, 282, 0, 416, 0, 284,
663 39, 283, 0, 417, 0, 285, 40, 284, 0, 418,
664 0, 286, 55, 285, 0, 419, 0, 288, 56, 286,
665 0, 420, 0, 0, 0, 288, 41, 422, 294, 22,
666 423, 290, 0, 421, 0, 271, 23, 293, 0, 271,
667 57, 293, 0, 271, 58, 293, 0, 271, 59, 293,
668 0, 271, 60, 293, 0, 271, 61, 293, 0, 271,
669 62, 293, 0, 271, 63, 293, 0, 271, 64, 293,
670 0, 271, 65, 293, 0, 271, 66, 293, 0, 188,
671 0, 0, 12, 0, 399, 356, 0, 426, 356, 11,
672 24, 294, 25, 18, 0, 362, 356, 0, 399, 372,
673 0, 426, 372, 11, 24, 294, 25, 18, 0, 426,
674 372, 11, 24, 294, 25, 0, 362, 372, 0, 14,
675 432, 18, 0, 15, 18, 0, 97, 15, 18, 0,
676 16, 18, 0, 93, 16, 18, 0, 94, 16, 18,
677 0, 95, 16, 18, 0, 96, 16, 18, 0, 17,
678 18, 0, 17, 294, 18, 0, 0, 18, 0, 183,
679 0, 184, 0, 187, 0, 188, 0, 431, 0, 185,
680 0, 189, 0, 185, 0
681};
682
683#endif
684
685#if YYDEBUG != 0
686static const short yyrline[] = { 0,
687 269, 270, 273, 274, 277, 278, 279, 280, 281, 282,
688 283, 286, 288, 292, 292, 297, 303, 307, 308, 312,
689 313, 315, 317, 321, 324, 332, 335, 344, 345, 347,
690 349, 365, 369, 376, 380, 386, 388, 388, 392, 393,
691 394, 395, 398, 401, 402, 408, 409, 413, 417, 422,
692 429, 433, 438, 445, 448, 449, 452, 457, 458, 461,
693 462, 463, 466, 467, 468, 473, 474, 482, 485, 487,
694 488, 493, 494, 495, 497, 513, 517, 518, 523, 524,
695 534, 535, 538, 539, 542, 543, 546, 547, 550, 551,
696 554, 557, 558, 561, 562, 563, 564, 565, 568, 569,
697 572, 572, 575, 575, 578, 582, 583, 586, 586, 589,
698 589, 592, 596, 597, 600, 601, 604, 610, 617, 623,
699 630, 631, 632, 633, 634, 637, 640, 643, 644, 647,
700 648, 649, 650, 651, 652, 653, 654, 657, 663, 670,
701 676, 685, 691, 695, 697, 701, 704, 711, 721, 722,
702 725, 726, 729, 730, 731, 732, 733, 734, 735, 736,
703 740, 741, 745, 746, 749, 751, 753, 754, 755, 756,
704 757, 759, 763, 767, 779, 780, 781, 782, 783, 784,
705 787, 788, 789, 790, 791, 792, 793, 794, 795, 798,
706 799, 802, 803, 804, 805, 806, 807, 808, 809, 810,
707 811, 812, 815, 816, 819, 823, 824, 827, 828, 829,
708 830, 833, 834, 838, 839, 840, 841, 844, 845, 846,
709 849, 850, 851, 854, 855, 856, 857, 858, 861, 862,
710 863, 866, 867, 870, 871, 875, 876, 879, 880, 885,
711 891, 892, 898, 904, 905, 905, 907, 910, 911, 912,
712 913, 914, 915, 916, 917, 918, 919, 920, 921, 924,
713 925, 928, 929, 932, 937, 938, 939, 942, 955, 959,
714 960, 963, 968, 969, 969, 974, 975, 976, 977, 980,
715 983, 986, 989, 990, 993, 994, 997, 998, 999, 1003,
716 1005, 1014, 1015, 1016, 1017, 1018, 1021, 1022, 1023, 1024,
717 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034,
718 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
719 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054,
720 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
721 1065, 1066, 1072, 1073, 1074, 1075, 1078, 1079, 1080, 1081,
722 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
723 1094, 1098, 1099, 1103, 1104, 1108, 1109, 1110, 1113, 1114,
724 1117, 1119, 1121, 1122, 1124, 1126, 1127, 1129, 1131, 1133,
725 1135, 1136, 1138, 1140, 1141, 1143, 1145, 1146, 1149, 1152,
726 1153, 1154, 1157, 1159, 1163, 1165, 1169, 1170, 1171, 1175,
727 1177, 1177, 1179, 1182, 1184, 1186, 1189, 1194, 1201, 1202,
728 1203, 1210, 1214, 1215, 1219, 1220, 1223, 1224, 1227, 1228,
729 1231, 1232, 1233, 1234, 1237, 1238, 1241, 1242, 1245, 1246,
730 1247, 1250, 1250, 1251, 1252, 1255, 1267, 1283, 1284, 1287,
731 1288, 1289, 1292, 1293, 1296, 1298, 1299, 1301, 1302, 1304,
732 1306, 1308, 1310, 1316, 1317, 1318, 1319, 1320, 1321, 1322,
733 1323, 1324, 1326, 1330, 1332, 1334, 1340, 1345, 1348, 1351,
734 1352, 1356, 1358, 1360, 1362, 1366, 1367, 1369, 1373, 1375,
735 1377, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
736 1389, 1390, 1391, 1392, 1395, 1401, 1404, 1407, 1408, 1411,
737 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
738 1424, 1425, 1431, 1432, 1433, 1434, 1437, 1438, 1439, 1440,
739 1443, 1444, 1448, 1451, 1454, 1457, 1460, 1463, 1466, 1467,
740 1468, 1469, 1471, 1472, 1474, 1476, 1483, 1487, 1489, 1491,
741 1493, 1497, 1498, 1501, 1502, 1505, 1506, 1509, 1510, 1513,
742 1514, 1515, 1518, 1526, 1531, 1532, 1536, 1537, 1540, 1545,
743 1548, 1549, 1550, 1558, 1559, 1559, 1563, 1564, 1565, 1576,
744 1583, 1584, 1587, 1588, 1589, 1590, 1591, 1593, 1594, 1595,
745 1596, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607,
746 1608, 1611, 1612, 1615, 1616, 1617, 1618, 1621, 1622, 1623,
747 1626, 1627, 1628, 1631, 1632, 1633, 1634, 1635, 1638, 1639,
748 1640, 1643, 1644, 1647, 1648, 1652, 1653, 1656, 1657, 1660,
749 1661, 1664, 1665, 1666, 1667, 1670, 1671, 1672, 1673, 1674,
750 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1684, 1685, 1688,
751 1691, 1693, 1695, 1699, 1700, 1702, 1704, 1707, 1708, 1709,
752 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1720, 1721, 1724,
753 1727, 1728, 1729, 1730, 1731, 1734, 1735
754};
755#endif
756
757
758#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
759
760static const char * const yytname[] = { "$","error","$undefined.","BADTOK",
761"SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
762"CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
763"TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
764"TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
765"TBAR","TQUEST","CSIZEOF","CALIGNOF","ARROW_OP","CTYPEDEF","COFFSETOF","INC_OP",
766"DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP",
767"MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
768"RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
769"VA_ARG","VA_DCL","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION","QITER",
770"QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
771"QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND","TENDMACRO",
772"QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE","QFALLTHROUGH",
773"QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED","QPRINTFLIKE",
774"QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST","QVOLATILE",
775"QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT","QIN",
776"QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
777"QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
778"QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
779"QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
780"QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
781"QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
782"QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
783"QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
784"QSETBUFFERSIZE","QBUFFERCONSTRAINT","QENSURESCONSTRAINT","QSETSTRINGLENGTH",
785"QMAXSET","QMAXREAD","QTESTINRANGE","IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID",
786"CCONSTANT","ITER_NAME","ITER_ENDNAME","TYPE_NAME","file","externalDefs","externalDef",
787"constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2",
788"@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr",
789"optGlobMods","@8","optGlobBufConstraints","@9","optGlobBufConstraintsRest",
790"optGlobEnsuresConstraintsAux","@10","optGlobBufConstraintsAux","@11","BufConstraintList",
791"BufConstraint","bufferModifier","relationalOp","BufConstraintExpr","BufConstraintTerm",
792"BufConstraintSrefExpr","BufUnaryOp","BufBinaryOp","optPlainGlobMods","@13",
793"optGlobModsRest","optPlainGlobModsRest","specialClauses","globIdList","globIdListExpr",
794"globId","globQual","optGlobQuals","optGlobModsAux","@14","@15","optPlainGlobModsAux",
795"@16","@17","optMods","fcnMods","@18","fcnPlainMods","@19","specialTag","endStateTag",
796"endSpecialTag","stateSpecialClause","specialClauseType","specialClause","@20",
797"@21","fcnDefHdrAux","fcnBody","@22","@23","fcnDef","locModifies","locPlainModifies",
798"modListExpr","mExpr","modList","specClauseListExpr","specClauseList","primaryExpr",
799"postfixExpr","argumentExprList","unaryExpr","fieldDesignator","offsetofExpr",
800"sizeofExpr","@24","sizeofExprAux","castExpr","timesExpr","plusExpr","shiftExpr",
801"relationalExpr","equalityExpr","bitandExpr","xorExpr","bitorExpr","andExpr",
802"@25","orExpr","@26","conditionalExpr","@27","@28","assignExpr","expr","optExpr",
803"constantExpr","initializer","instanceDecl","@29","@30","namedInitializer","@31",
804"typeDecl","@32","IsType","PushType","namedInitializerList","namedInitializerListAux",
805"optDeclarators","init","initList","storageSpecifier","typeQualifier","typeModifier",
806"typeSpecifier","completeType","completeTypeSpecifier","altType","completeTypeSpecifierAux",
807"optCompleteType","suSpc","@33","@34","@35","@36","@37","@38","@39","@40","NotType",
808"structDeclList","structDecl","structNamedDeclList","structNamedDecl","enumSpc",
809"@41","enumeratorList","enumerator","optNamedDecl","namedDecl","genericParamList",
810"innerMods","innerModsList","pointers","paramIdList","idList","paramTypeList",
811"paramList","@42","@43","paramDecl","typeExpression","abstractDecl","optAbstractDeclBase",
812"abstractDeclBase","stmt","lclintassertion","iterBody","endBody","iterDefStmtList",
813"iterDefIterationStmt","forPred","@44","@45","partialIterStmt","@46","iterDefStmt",
814"iterSelectionStmt","openScope","closeScope","macroBody","stmtErr","labeledStmt",
815"caseStmt","@47","@48","defaultStmt","@49","@50","compoundStmt","compoundStmtErr",
816"CreateInnerScope","DeleteInnerScope","CreateStructInnerScope","DeleteStructInnerScope",
817"DeleteInnerScopeSafe","compoundStmtRest","compoundStmtAux","compoundStmtAuxErr",
818"stmtListErr","initializerList","stmtList","expressionStmt","expressionStmtErr",
819"ifPred","selectionStmt","@51","@52","whilePred","iterWhilePred","iterStmt",
820"@53","@54","iterArgList","@55","iterArgExpr","primaryIterExpr","postfixIterExpr",
821"unaryIterExpr","castIterExpr","timesIterExpr","plusIterExpr","shiftIterExpr",
822"relationalIterExpr","equalityIterExpr","bitandIterExpr","xorIterExpr","bitorIterExpr",
823"andIterExpr","orIterExpr","conditionalIterExpr","@56","@57","assignIterExpr",
824"endIter","doHeader","iterationStmt","iterationStmtErr","jumpStmt","optSemi",
825"id","newId","typeName", NULL
826};
827#endif
828
829static const short yyr1[] = { 0,
830 190, 190, 191, 191, 192, 192, 192, 192, 192, 192,
831 192, 193, 193, 195, 194, 196, 196, 197, 197, 198,
832 198, 198, 198, 199, 198, 200, 198, 201, 201, 201,
833 201, 202, 201, 203, 201, 205, 206, 204, 207, 207,
834 207, 207, 208, 210, 209, 212, 211, 213, 215, 214,
835 214, 217, 216, 216, 218, 218, 219, 220, 220, 221,
836 221, 221, 222, 222, 222, 223, 223, 224, 224, 224,
837 224, 224, 224, 224, 224, 225, 226, 226, -1, -1,
838 228, 227, 229, 229, 230, 230, 231, 231, 232, 232,
839 233, 234, 234, 235, 235, 235, 235, 235, 236, 236,
840 238, 237, 239, 237, 237, 237, 237, 241, 240, 242,
841 240, 240, 240, 240, 243, 243, 245, 244, 247, 246,
842 248, 248, 248, 248, 248, 249, 250, 251, 251, 252,
843 252, 252, 252, 252, 252, 252, 252, 254, 253, 255,
844 253, 256, 256, 258, 257, 259, 257, 260, 261, 261,
845 262, 262, 263, 263, 263, 263, 263, 263, 263, 263,
846 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
847 266, 266, 267, 267, 268, 268, 268, 268, 268, 268,
848 269, 269, 269, 269, 269, 269, 269, 269, 269, 270,
849 270, 271, 271, 271, 271, 271, 271, 271, 271, 271,
850 271, 271, 272, 272, 273, 275, 274, 276, 276, 276,
851 276, 277, 277, 278, 278, 278, 278, 279, 279, 279,
852 280, 280, 280, 281, 281, 281, 281, 281, 282, 282,
853 282, 283, 283, 284, 284, 285, 285, 286, 287, 286,
854 288, 289, 288, 290, 291, 292, 290, 293, 293, 293,
855 293, 293, 293, 293, 293, 293, 293, 293, 293, 294,
856 294, 295, 295, 296, 297, 297, 297, 298, 299, 298,
857 300, 298, 301, 302, 301, 304, 303, 303, 303, 305,
858 306, 307, 308, 308, 309, 309, 310, 310, 310, 311,
859 311, 312, 312, 312, 312, 312, 313, 313, 313, 313,
860 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
861 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
862 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
863 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
864 313, 313, 314, 314, 314, 314, 315, 315, 315, 315,
865 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
866 316, 317, 317, 318, 318, 319, 319, 319, 320, 320,
867 322, 323, 321, 324, 325, 321, 321, 321, 326, 327,
868 321, 328, 329, 321, 321, 321, 321, 321, 330, 331,
869 331, 331, 332, 332, 333, 333, 334, 334, 334, 335,
870 336, 335, 335, 337, 337, 337, 338, 338, 339, 339,
871 339, 339, 340, 340, 341, 341, 342, 342, 343, 343,
872 344, 344, 344, 344, 345, 345, 346, 346, 347, 347,
873 347, 349, 348, 350, 348, 351, 351, 352, 352, 353,
874 353, 353, 354, 354, 355, 355, 355, 355, 355, 355,
875 355, 355, 355, 356, 356, 356, 356, 356, 356, 356,
876 356, 356, 356, 357, 357, 357, -1, 358, 359, 360,
877 360, 361, 361, 361, 361, 363, 364, 362, 366, 365,
878 365, 367, 367, 367, 367, 367, 367, 367, 367, 367,
879 367, 367, 367, 367, 368, 369, 370, 371, 371, 372,
880 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
881 373, 373, 375, 374, 376, 374, 378, 377, 379, 377,
882 380, 380, 381, 382, 383, 384, 385, 386, 387, 387,
883 387, 387, 387, 387, 387, 387, 388, 389, 389, 389,
884 389, 390, 390, 391, 391, 392, 392, 393, 393, 394,
885 394, 394, 395, 396, 397, 396, 398, 396, 399, 400,
886 402, 403, 401, 404, 405, 404, 406, 406, 406, 406,
887 407, 407, 408, 408, 408, 408, 408, 408, 408, 408,
888 408, 409, 409, 409, 409, 409, 409, 409, 409, 409,
889 409, 410, 410, 411, 411, 411, 411, 412, 412, 412,
890 413, 413, 413, 414, 414, 414, 414, 414, 415, 415,
891 415, 416, 416, 417, 417, 418, 418, 419, 419, 420,
892 420, 421, 422, 423, 421, 424, 424, 424, 424, 424,
893 424, 424, 424, 424, 424, 424, 424, 425, 425, 426,
894 427, 427, 427, 428, 428, 428, 428, 429, 429, 429,
895 429, 429, 429, 429, 429, 429, 429, 430, 430, 431,
896 432, 432, 432, 432, 432, 433, 433
897};
898
899static const short yyr2[] = { 0,
900 0, 1, 1, 2, 2, 1, 1, 1, 1, 1,
901 1, 8, 11, 0, 5, 1, 3, 1, 2, 1,
902 6, 3, 6, 0, 7, 0, 8, 1, 6, 3,
903 6, 0, 6, 0, 7, 0, 0, 10, 3, 3,
904 3, 2, 1, 0, 2, 0, 2, 2, 0, 4,
905 0, 0, 4, 0, 2, 1, 4, 1, 1, 1,
906 1, 1, 1, 4, 5, 1, 1, 1, 1, 3,
907 4, 2, 3, 3, 3, 1, 1, 1, 0, 2,
908 0, 2, 1, 2, 1, 2, 1, 2, 1, 3,
909 2, 1, 1, 1, 1, 1, 1, 1, 0, 2,
910 0, 6, 0, 6, 1, 1, 0, 0, 5, 0,
911 5, 1, 1, 0, 1, 0, 0, 3, 0, 3,
912 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
913 1, 1, 1, 1, 1, 1, 1, 0, 7, 0,
914 8, 1, 3, 0, 3, 0, 3, 2, 3, 2,
915 2, 1, 1, 1, 3, 4, 2, 3, 3, 3,
916 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
917 3, 3, 1, 3, 1, 1, 1, 3, 1, 1,
918 1, 4, 3, 4, 6, 5, 5, 2, 2, 1,
919 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
920 1, 1, 3, 1, 9, 0, 3, 4, 2, 4,
921 2, 1, 4, 1, 3, 3, 3, 1, 3, 3,
922 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
923 3, 1, 3, 1, 3, 1, 3, 1, 0, 4,
924 1, 0, 4, 1, 0, 0, 7, 1, 3, 3,
925 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
926 3, 0, 1, 1, 1, 1, 1, 3, 0, 9,
927 0, 11, 2, 0, 6, 0, 7, 4, 4, 0,
928 0, 2, 1, 4, 0, 4, 1, 3, 4, 1,
929 3, 1, 1, 1, 1, 1, 2, 2, 2, 2,
930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
932 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
933 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
934 2, 2, 1, 1, 1, 1, 2, 2, 2, 2,
935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
936 3, 1, 4, 1, 3, 2, 2, 2, 0, 1,
937 0, 0, 11, 0, 0, 11, 6, 6, 0, 0,
938 10, 0, 0, 10, 5, 5, 4, 4, 0, 1,
939 1, 2, 5, 3, 2, 4, 1, 3, 4, 6,
940 0, 8, 4, 1, 3, 2, 1, 4, 1, 1,
941 2, 2, 1, 2, 1, 2, 1, 1, 1, 2,
942 1, 2, 2, 3, 1, 3, 1, 3, 1, 1,
943 3, 0, 2, 0, 4, 4, 1, 1, 2, 1,
944 1, 2, 0, 1, 5, 2, 3, 3, 4, 3,
945 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
946 1, 1, 1, 4, 4, 4, 2, 1, 1, 1,
947 2, 2, 7, 6, 2, 0, 0, 10, 0, 6,
948 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
949 1, 1, 3, 1, 2, 2, 2, 1, 1, 1,
950 1, 1, 1, 1, 1, 1, 1, 3, 1, 1,
951 2, 2, 0, 4, 0, 5, 0, 3, 0, 4,
952 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
953 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
954 4, 1, 2, 1, 2, 1, 2, 1, 2, 1,
955 2, 1, 4, 2, 0, 5, 0, 6, 4, 4,
956 0, 0, 10, 1, 0, 4, 1, 1, 1, 1,
957 1, 3, 1, 4, 3, 4, 6, 5, 5, 2,
958 2, 1, 2, 2, 2, 2, 2, 2, 2, 2,
959 1, 1, 4, 1, 3, 3, 3, 1, 3, 3,
960 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
961 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
962 3, 1, 0, 0, 7, 1, 3, 3, 3, 3,
963 3, 3, 3, 3, 3, 3, 3, 1, 0, 1,
964 2, 7, 2, 2, 7, 6, 2, 3, 2, 3,
965 2, 3, 3, 3, 3, 2, 3, 0, 1, 1,
966 1, 1, 1, 1, 1, 1, 1
967};
968
969static const short yydefact[] = { 0,
970 11, 421, 389, 266, 389, 14, 0, 0, 0, 0,
971 280, 280, 293, 292, 294, 295, 296, 280, 280, 280,
972 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
973 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
974 280, 280, 280, 344, 345, 346, 343, 280, 280, 280,
975 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
976 280, 280, 280, 280, 389, 389, 389, 389, 389, 389,
977 389, 389, 389, 389, 280, 660, 661, 665, 662, 663,
978 666, 0, 3, 6, 7, 413, 8, 9, 389, 43,
979 658, 10, 265, 267, 0, 369, 369, 389, 369, 389,
980 362, 389, 0, 389, 142, 280, 664, 20, 389, 417,
981 418, 419, 422, 423, 283, 280, 280, 276, 389, 667,
982 389, 389, 665, 0, 510, 280, 517, 0, 0, 0,
983 640, 0, 0, 0, 0, 280, 550, 0, 280, 280,
984 280, 280, 280, 280, 280, 280, 280, 0, 42, 0,
985 0, 0, 0, 0, 0, 280, 180, 176, 179, 177,
986 561, 181, 192, 212, 202, 201, 214, 218, 221, 224,
987 229, 232, 234, 236, 238, 241, 244, 248, 260, 552,
988 206, 0, 0, 542, 500, 501, 502, 503, 0, 0,
989 504, 280, 505, 0, 506, 0, 507, 509, 175, 0,
990 494, 0, 548, 0, 524, 481, 0, 0, 0, 490,
991 0, 491, 470, 489, 486, 487, 482, 483, 484, 0,
992 0, 488, 0, 0, 0, 492, 469, 0, 297, 298,
993 299, 300, 305, 307, 306, 310, 311, 322, 324, 325,
994 323, 308, 309, 301, 302, 303, 304, 319, 320, 317,
995 321, 312, 313, 316, 314, 315, 328, 330, 335, 318,
996 331, 332, 333, 334, 326, 327, 329, 336, 337, 340,
997 341, 338, 339, 347, 349, 348, 350, 351, 352, 353,
998 354, 355, 356, 342, 4, 280, 0, 144, 148, 544,
999 389, 389, 659, 5, 389, 370, 366, 367, 360, 368,
1000 0, 280, 280, 358, 280, 280, 0, 359, 414, 357,
1001 420, 424, 389, 0, 282, 389, 0, 273, 280, 658,
1002 16, 18, 0, 389, 280, 28, 432, 280, 176, 179,
1003 212, 264, 513, 175, 0, 280, 280, 280, 280, 0,
1004 649, 651, 656, 0, 0, 389, 438, 0, 0, 195,
1005 200, 199, 198, 197, 196, 0, 280, 193, 194, 280,
1006 0, 0, 0, 0, 0, 280, 519, 280, 0, 0,
1007 0, 512, 463, 280, 454, 455, 456, 457, 0, 458,
1008 459, 280, 461, 280, 460, 462, 524, 280, 280, 188,
1009 189, 0, 280, 280, 280, 280, 280, 280, 280, 280,
1010 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
1011 280, 280, 280, 280, 280, 280, 280, 280, 280, 239,
1012 245, 242, 551, 280, 0, 647, 39, 0, 525, 543,
1013 554, 644, 0, 511, 280, 0, 0, 0, 549, 40,
1014 471, 475, 485, 496, 497, 495, 0, 0, 41, 22,
1015 280, 432, 389, 280, 524, 545, 280, 268, 143, 389,
1016 0, 364, 0, 389, 0, 389, 0, 280, 280, 279,
1017 280, 278, 274, 389, 0, 280, 0, 389, 280, 19,
1018 429, 0, 0, 415, 430, 280, 0, 0, 518, 0,
1019 557, 0, 263, 0, 648, 657, 178, 280, 280, 0,
1020 440, 439, 441, 280, 508, 280, 0, 652, 653, 654,
1021 655, 650, 515, 0, 0, 0, 0, 0, 643, 389,
1022 522, 641, 0, 0, 183, 0, 190, 0, 0, 0,
1023 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1024 259, 215, 216, 217, 220, 219, 222, 223, 225, 226,
1025 227, 228, 230, 231, 233, 235, 237, 280, 280, 280,
1026 261, 280, 280, 207, 538, 179, 542, 0, 389, 523,
1027 555, 0, 0, 493, 479, 0, 0, 24, 0, 529,
1028 280, 546, 145, 389, 280, 389, 524, 147, 280, 269,
1029 363, 280, 379, 0, 387, 382, 0, 388, 0, 404,
1030 407, 401, 403, 284, 280, 280, 658, 15, 30, 280,
1031 432, 280, 17, 416, 425, 427, 36, 434, 389, 433,
1032 437, 514, 553, 0, 559, 280, 361, 446, 0, 432,
1033 442, 280, 0, 213, 389, 280, 0, 520, 521, 0,
1034 0, 0, 537, 0, 562, 280, 184, 182, 280, 280,
1035 240, 0, 243, 280, 209, 280, 211, 539, 540, 280,
1036 280, 280, 560, 280, 280, 389, 44, 26, 530, 533,
1037 280, 280, 531, 280, 547, 0, 271, 280, 365, 385,
1038 526, 371, 386, 526, 374, 280, 406, 280, 0, 0,
1039 280, 280, 280, 0, 32, 0, 280, 0, 81, 431,
1040 280, 443, 280, 0, 447, 450, 280, 0, 448, 0,
1041 432, 0, 0, 516, 464, 465, 466, 280, 280, 191,
1042 186, 187, 246, 0, 0, 541, 556, 0, 280, 280,
1043 280, 280, 280, 280, 280, 280, 280, 0, 176, 179,
1044 177, 192, 212, 201, 218, 221, 224, 229, 232, 234,
1045 236, 238, 241, 0, 565, 564, 573, 582, 592, 594,
1046 598, 601, 604, 609, 612, 614, 616, 618, 620, 622,
1047 626, 567, 175, 0, 23, 46, 107, 44, 534, 535,
1048 280, 532, 21, 280, 285, 389, 377, 526, 389, 378,
1049 526, 400, 405, 280, 0, 277, 280, 287, 275, 280,
1050 0, 389, 81, 34, 0, 426, 428, 37, 114, 435,
1051 409, 0, 280, 443, 410, 444, 558, 476, 0, 451,
1052 449, 452, 0, 0, 185, 0, 565, 280, 208, 210,
1053 646, 0, 0, 195, 200, 199, 198, 197, 196, 193,
1054 194, 280, 280, 280, 188, 189, 0, 280, 280, 280,
1055 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
1056 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
1057 280, 280, 280, 280, 239, 623, 242, 480, 0, 474,
1058 25, 54, 101, 117, 105, 121, 122, 123, 124, 125,
1059 128, 129, 45, 107, 83, 106, 389, 389, 87, 46,
1060 536, 280, 0, 391, 389, 389, 390, 389, 389, 389,
1061 408, 280, 290, 0, 285, 12, 31, 33, 81, 29,
1062 658, 108, 119, 112, 82, 114, 85, 113, 432, 436,
1063 411, 412, 280, 445, 453, 0, 204, 0, 524, 247,
1064 645, 178, 280, 0, 183, 0, 0, 0, 0, 627,
1065 628, 629, 630, 631, 632, 633, 634, 635, 636, 637,
1066 215, 216, 217, 220, 219, 222, 223, 225, 226, 227,
1067 228, 230, 231, 233, 235, 237, 619, 280, 621, 280,
1068 473, 47, 51, 0, 389, 99, 658, 84, 138, 0,
1069 88, 27, 285, 280, 389, 0, 280, 392, 380, 389,
1070 383, 389, 402, 288, 280, 658, 35, 0, 389, 99,
1071 658, 86, 280, 477, 280, 0, 642, 639, 213, 280,
1072 184, 182, 280, 280, 0, 566, 48, 0, 0, 389,
1073 94, 95, 96, 97, 98, 658, 89, 99, 0, 0,
1074 0, 154, 118, 163, 658, 0, 153, 0, 130, 135,
1075 134, 133, 132, 131, 136, 137, 140, 0, 270, 280,
1076 394, 280, 280, 389, 397, 0, 372, 0, 375, 289,
1077 291, 0, 38, 658, 658, 120, 658, 152, 280, 0,
1078 205, 203, 638, 525, 0, 186, 187, 624, 0, 0,
1079 0, 58, 59, 69, 67, 0, 56, 76, 0, 63,
1080 66, 0, 68, 0, 99, 0, 100, 93, 91, 92,
1081 0, 157, 0, 0, 0, 0, 0, 150, 0, 0,
1082 166, 173, 658, 165, 0, 280, 286, 280, 280, 0,
1083 395, 280, 381, 0, 384, 0, 13, 116, 116, 151,
1084 478, 563, 185, 280, 0, 0, 66, 0, 72, 53,
1085 55, 61, 60, 62, 0, 0, 0, 0, 0, 116,
1086 90, 116, 158, 155, 162, 161, 0, 159, 160, 164,
1087 149, 0, 169, 0, 0, 0, 0, 0, 658, 272,
1088 398, 389, 393, 280, 373, 376, 109, 115, 111, 625,
1089 50, 78, 77, 0, 73, 0, 0, 70, 0, 74,
1090 75, 0, 102, 104, 156, 170, 167, 0, 171, 172,
1091 174, 127, 280, 0, 396, 399, 0, 57, 71, 64,
1092 168, 139, 126, 280, 65, 141, 0, 0, 0
1093};
1094
1095static const short yydefgoto[] = { 1227,
1096 82, 83, 84, 85, 122, 320, 321, 86, 667, 778,
1097 322, 803, 919, 87, 699, 921, 904, 89, 776, 777,
1098 881, 882, 982, 1027, 1028, 983, 984, 1096, 1097, 1098,
1099 1155, 1099, 1100, 1101, 1102, 1194, 808, 809, 893, 925,
1100 894, 1036, 1037, 1109, 1038, 1039, 895, 985, 986, 927,
1101 1009, 1010, 1187, 1188, 987, 928, 1011, 897, 1224, 1213,
1102 898, 1057, 899, 1048, 1125, 90, 289, 453, 455, 91,
1103 1043, 1076, 1044, 1167, 1045, 1122, 1123, 162, 163, 526,
1104 164, 936, 165, 166, 425, 564, 167, 168, 169, 170,
1105 171, 172, 173, 174, 175, 176, 558, 177, 560, 178,
1106 559, 828, 179, 207, 494, 333, 290, 93, 678, 784,
1107 115, 606, 94, 316, 181, 287, 116, 117, 903, 799,
1108 914, 96, 97, 98, 99, 347, 291, 461, 101, 297,
1109 102, 788, 1134, 791, 1136, 681, 1066, 684, 1068, 103,
1110 906, 907, 1063, 1064, 104, 689, 599, 600, 813, 119,
1111 483, 112, 113, 106, 614, 615, 484, 485, 486, 701,
1112 620, 348, 819, 815, 503, 372, 373, 208, 228, 209,
1113 210, 374, 933, 1080, 212, 664, 213, 214, 215, 216,
1114 183, 430, 375, 376, 488, 637, 377, 335, 514, 378,
1115 188, 379, 570, 786, 999, 221, 583, 521, 429, 190,
1116 584, 585, 380, 191, 192, 381, 661, 624, 382, 224,
1117 383, 387, 719, 755, 879, 756, 757, 758, 759, 760,
1118 761, 762, 763, 764, 765, 766, 767, 768, 769, 770,
1119 771, 978, 1144, 772, 1084, 384, 385, 197, 386, 294,
1120 334, 200, 109
1121};
1122
1123static const short yypact[] = { 2240,
1124-32768, 108, 6007,-32768, 6677,-32768, 697, 3211, 3591, 3591,
1125-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1126-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1127-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1128-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1129-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1130-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1131-32768,-32768,-32768,-32768,-32768,-32768,-32768, 431,-32768,-32768,
1132-32768, 2416,-32768,-32768,-32768, 355,-32768,-32768, 5623,-32768,
1133 114,-32768,-32768,-32768, 74, 6512, 6512,-32768, 6512, 140,
1134 149,-32768, 766,-32768,-32768, 697,-32768,-32768,-32768,-32768,
1135-32768,-32768, 108,-32768,-32768, 191,-32768, 140,-32768,-32768,
1136-32768, 6007,-32768, 217,-32768, 4477,-32768, 225, 234, 253,
1137-32768, 268, 697, 306, 319, 762,-32768, 2790, 4477, 4477,
1138 4477, 4477, 4477, 4477,-32768, 4703, 4703, 398,-32768, 393,
1139 425, 434, 445, 413, 219, 5070,-32768, 450, 456,-32768,
1140 486,-32768, 905, 898,-32768,-32768,-32768, 1049, 423, 577,
1141 723, 752, 488, 508, 487, 521, 67,-32768,-32768, 325,
1142-32768, 3738, 468, 502,-32768,-32768,-32768,-32768, 615, 3358,
1143-32768, 5070,-32768, 3738,-32768, 3738,-32768,-32768, 580, 636,
1144-32768, 620,-32768, 2979, 486, 647, 344, 599, 3401,-32768,
1145 3591,-32768,-32768,-32768, 6272,-32768,-32768,-32768,-32768, 656,
1146 676,-32768, 3591, 3591, 3738,-32768,-32768, 629,-32768,-32768,
1147-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1148-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1149-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1150-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1151-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1152-32768,-32768,-32768,-32768,-32768, 687, 708,-32768,-32768,-32768,
1153 140, 5466,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1154 722, 477,-32768,-32768, 697, 697, 59,-32768, 355,-32768,
1155-32768,-32768,-32768, 749,-32768,-32768, 758, 724, 477, 114,
1156-32768, 540, 759,-32768, 697,-32768, 255, 4477,-32768,-32768,
1157-32768,-32768,-32768,-32768, 768, 4477, 4477, 4477, 797, 770,
1158-32768,-32768,-32768, 516, 464, 6141, 296, 786, 800,-32768,
1159-32768,-32768,-32768,-32768,-32768, 816, 4477,-32768,-32768, 4477,
1160 828, 838, 879, 886, 891, 4477,-32768, 1718, 693, 693,
1161 693,-32768,-32768, 5070,-32768,-32768,-32768,-32768, 892,-32768,
1162-32768, 5070,-32768, 5070,-32768,-32768,-32768, 1451, 4477,-32768,
1163-32768, 96, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477,
1164 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477,
1165 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477,-32768,
1166-32768,-32768,-32768, 4477, 716,-32768,-32768, 2601,-32768,-32768,
1167 910,-32768, 913,-32768, 4477, 505, 901, 920,-32768,-32768,
1168-32768,-32768, 6272,-32768,-32768,-32768, 3168, 954,-32768,-32768,
1169 4477, 68, 3840, 477, 949,-32768, 477,-32768, 570, 6677,
1170 896, 972, 992, 998, 1006, 998, 697, 1035, 477,-32768,
1171 477,-32768,-32768,-32768, 912, 1025, 1037,-32768, 477, 540,
1172-32768, 697, 1047,-32768, 1045, 697, 279, 1059,-32768, 333,
1173 1079, 385, 1079, 1069,-32768,-32768,-32768,-32768, 2008, 1078,
1174 587,-32768, 627, 4477,-32768,-32768, 1085,-32768,-32768,-32768,
1175-32768,-32768,-32768, 1109, 1116, 948, 957, 963,-32768, 3840,
1176-32768,-32768, 1139, 1134,-32768, 412,-32768, 99, 697, 697,
1177-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1178-32768,-32768,-32768,-32768, 1049, 1049, 423, 423, 577, 577,
1179 577, 577, 723, 723, 752, 488, 508, 4477, 4477, 4477,
1180-32768, 4929, 4940,-32768,-32768, 5855,-32768, 3548, 4024,-32768,
1181-32768, 1137, 426,-32768,-32768, 1138, 1140,-32768, 1141,-32768,
1182 2110,-32768,-32768, 4208, 4392,-32768, 949,-32768,-32768, 1146,
1183-32768,-32768, 1144, 1151,-32768, 1152, 1157,-32768, 843,-32768,
1184 1148,-32768,-32768,-32768, 191,-32768, 406,-32768,-32768, 4477,
1185 358, 477,-32768,-32768, 1156,-32768,-32768, 1176, 6677,-32768,
1186-32768,-32768,-32768, 1158,-32768, 797,-32768,-32768, 1155, 556,
1187 627, 2412, 1160,-32768,-32768,-32768, 1164,-32768,-32768, 1099,
1188 1100, 1102,-32768, 1165,-32768, 4477,-32768,-32768,-32768,-32768,
1189 487, 914, 521, 4477,-32768, 4477,-32768,-32768,-32768, 4435,
1190 5070, 4477,-32768, 5178, 4477,-32768,-32768,-32768,-32768,-32768,
1191 4618, 4661,-32768, 4844,-32768, 1166,-32768,-32768,-32768,-32768,
1192-32768, 1175,-32768,-32768, 1177,-32768, 697,-32768, 697, 1178,
1193 2040,-32768,-32768, 1171,-32768, 1180,-32768, 348,-32768,-32768,
1194 697, 614, 5070, 1182,-32768,-32768, 137, 1181,-32768, 1183,
1195 109, 1186, 1184,-32768,-32768,-32768,-32768, 4477, 5178,-32768,
1196-32768,-32768,-32768, 1187, 1189,-32768,-32768, 452, 4477, 4477,
1197 4477, 4477, 4477, 4477, 4477, 4703, 4703, 1179, 504, 575,
1198 582, 1077, 1033, 604, 1081, 918, 981, 850, 1024, 1173,
1199 1169, 1185, 1161, 90, 1190,-32768,-32768,-32768,-32768,-32768,
1200-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1201-32768,-32768, 612, 660,-32768,-32768, 1326,-32768,-32768,-32768,
1202 4887,-32768,-32768,-32768,-32768, 6599,-32768,-32768, 6599,-32768,
1203-32768,-32768,-32768, 4477, 1054,-32768, 2040,-32768,-32768, 2040,
1204 1123,-32768,-32768,-32768, 1193,-32768,-32768,-32768, 1429,-32768,
1205 355, 1195,-32768, 539,-32768, 627,-32768,-32768, 1196,-32768,
1206-32768,-32768, 1197, 697,-32768, 695, 1201, 4477,-32768,-32768,
1207 1202, 729, 1205, 782, 798, 830, 853, 874, 885, 893,
1208 895, 4477, 1633, 4477, 902, 909, 155, 4477, 4477, 4477,
1209 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477,
1210 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477, 4477,
1211 4477, 4477, 4477, 4477, 4477,-32768, 4477,-32768, 1211, 1215,
1212-32768, 1057, 24,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1213-32768,-32768,-32768, 1066,-32768,-32768,-32768,-32768, 1030,-32768,
1214-32768, 2040, 583,-32768, 140, 5701,-32768, 6599, 5701, 6599,
1215-32768,-32768,-32768, 1098,-32768,-32768,-32768,-32768,-32768,-32768,
1216 114, 300,-32768,-32768,-32768, 1080,-32768,-32768, 189,-32768,
1217-32768,-32768, 3694,-32768,-32768, 638,-32768, 1220, 949,-32768,
1218-32768, 916, 4477, 1221, 945, 946, 240, 697, 697,-32768,
1219-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 947, 970, 971, 858, 993, 523, 673, 410, 489, 622,
1221 662, 467, 652, 427, 254, 336, 487, 4477, 521, 5178,
1222-32768,-32768, 1065, 1067, 6403, 57, 81,-32768,-32768, 866,
1223-32768,-32768,-32768,-32768,-32768, 1228, 366,-32768,-32768, 5701,
1224-32768, 5701,-32768,-32768, 1979, 764,-32768, 1159, 6403, 57,
1225 81,-32768, 755,-32768,-32768, 697,-32768, 1061, 1021,-32768,
1226 1022, 1023,-32768,-32768, 1101,-32768,-32768, 1073, 101, 5309,
1227-32768,-32768,-32768,-32768,-32768, 840,-32768, 57, 944, 55,
1228 55,-32768,-32768, 285, 987, 1167,-32768, 151,-32768,-32768,
1229-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1001,-32768, 477,
1230-32768,-32768, 1232,-32768, 1235, 1236,-32768, 1239,-32768,-32768,
1231-32768, 1188,-32768, 5151, 840,-32768, 987,-32768, 654, 1229,
1232-32768,-32768,-32768,-32768, 1238, 1032, 1034,-32768, 101, 101,
1233 156,-32768,-32768,-32768,-32768, 1194, 101,-32768, 1104,-32768,
1234 370, 1237,-32768, 1198, 57, 1199,-32768,-32768,-32768,-32768,
1235 705, 285, 85, 697, 697, 55, 1204,-32768, 151, 151,
1236-32768, 543, 1052,-32768, 151,-32768,-32768, 4477, 366, 1250,
1237-32768,-32768,-32768, 1249,-32768, 1251,-32768, 1200, 1200,-32768,
1238-32768,-32768, 1043, 4477, 1207, 1113, 711, 156, 370,-32768,
1239-32768,-32768,-32768,-32768, 101, 41, 697, 697, 101, 1200,
1240-32768, 1200,-32768,-32768,-32768, 285, 1245,-32768,-32768, 285,
1241-32768, 792, 543, 823, 697, 697, 151, 1208, 1052,-32768,
1242-32768,-32768,-32768, 4477,-32768,-32768,-32768,-32768,-32768,-32768,
1243-32768,-32768,-32768, 101,-32768, 711, 1256,-32768, 1248,-32768,
1244-32768, 1259,-32768,-32768,-32768,-32768,-32768, 1254,-32768,-32768,
1245 543,-32768,-32768, 1209,-32768,-32768, 1264,-32768,-32768,-32768,
1246-32768,-32768,-32768,-32768,-32768,-32768, 1290, 1293,-32768
1247};
1248
1249static const short yypgoto[] = {-32768,
1250-32768, 1216,-32768,-32768,-32768,-32768, -391, -105,-32768,-32768,
1251 974,-32768,-32768,-32768,-32768,-32768, 107,-32768, 522,-32768,
1252 405,-32768,-32768,-32768,-32768,-32768,-32768, -897,-32768,-32768,
1253-32768, -931,-32768, -943,-32768,-32768, -709,-32768,-32768,-32768,
1254 -696, 299, 201,-32768,-32768, 272, 417,-32768,-32768, 386,
1255-32768,-32768, -863, -674,-32768,-32768,-32768,-32768,-32768,-32768,
1256-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1257-32768,-32768, -884, 141, 303, -959, 194,-32768, -647, 475,
1258 1234,-32768,-32768, -590,-32768,-32768, 11, -363, -402, -245,
1259 -350, -348, -371, -352, -471, -483,-32768, -578,-32768, -24,
1260-32768,-32768, 928, 1332, -610, -360, 15,-32768,-32768,-32768,
1261 -465,-32768,-32768,-32768, 0, -226, 849,-32768, -811, -716,
1262-32768,-32768,-32768,-32768,-32768,-32768, 80, 740,-32768, 585,
1263-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 967,
1264 -699, -611,-32768, 204,-32768,-32768, 645, 648, 524, 13,
1265 -376, 1224,-32768, 8,-32768,-32768, -584,-32768,-32768,-32768,
1266 640, -233, 995,-32768, -496, 193,-32768, 1329,-32768, 1120,
1267-32768, 1041,-32768,-32768,-32768,-32768, -39,-32768,-32768,-32768,
1268-32768, 63, 1231, 1362,-32768,-32768, 1616,-32768,-32768, -354,
1269-32768, 969, 264, -551, -582,-32768, 829,-32768,-32768, 922,
1270 -87, -420, 127,-32768, 221, 84,-32768,-32768, 170,-32768,
1271 211,-32768,-32768, 632,-32768, 373,-32768,-32768,-32768,-32768,
1272-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1273-32768,-32768,-32768,-32768,-32768, 1686,-32768,-32768, 1731, -311,
1274 188, 446,-32768
1275};
1276
1277
1278#define YYLAST 6866
1279
1280
1281static const short yytable[] = { 95,
1282 309, 292, 95, 604, 631, 513, 547, 548, 475, 114,
1283 229, 230, 105, 515, 92, 704, 742, 231, 232, 233,
1284 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1285 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1286 254, 255, 256, 545, 546, 708, 556, 257, 258, 259,
1287 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1288 270, 271, 272, 273, 553, 554, 557, 1198, 555, 462,
1289 184, 742, 481, 744, 284, 579, 653, 467, 1040, 100,
1290 913, 95, 118, 915, 121, 754, 651, 613, 1041, 909,
1291 577, 193, 578, 918, 105, 477, 92, 295, 293, 301,
1292 588, 332, 896, 1006, 1040, 95, 88, 421, 1040, -103,
1293 -103, 1164, 926, 481, 1041, 314, 315, 317, 1041, 424,
1294 312, 323, 422, 529, 1090, 648, 823, 443, 744, 325,
1295 876, 293, 789, 822, 1091, 222, 222, 346, 629, 530,
1296 754, 2, 1031, 1032, 356, 877, 1147, 1149, 660, 350,
1297 351, 352, 353, 354, 355, 1111, 1112, -280, 1146, 1172,
1298 1173, 100, 499, 672, 437, 549, 550, 551, 552, 441,
1299 2, 442, 1033, 1034, 1119, 296, 296, 194, 296, 1148,
1300 753, 1058, 948, 446, 1120, 993, 1035, 107, 88, 1091,
1301 107, 1145, 752, 481, 107, 199, 199, 199, 949, 1151,
1302 349, 324, 991, 346, 1196, 816, -103, -103, 1000, 1007,
1303 1002, 313, -389, 706, -389, 110, 111, 1211, 195, 896,
1304 697, 193, -389, 1197, 366, 367, 1199, 1202, 1166, 223,
1305 223, 1170, 515, 303, 696, 753, 908, 76, 1042, 910,
1306 327, 76, 77, 123, 426, 79, 80, 752, 336, 694,
1307 -389, -389, -389, 477, -389, -389, 432, 337, 433, 481,
1308 424, 746, 1217, 76, 1042, 193, 1022, 76, 1042, 107,
1309 1165, 710, 635, 193, -615, 1189, 338, 193, -615, 193,
1310 1092, 1093, 417, 76, 1094, 451, 1095, 448, 1071, 1166,
1311 301, 339, 750, 107, 998, 693, 1203, 998, 1204, 424,
1312 745, 95, 460, 497, 463, 465, 456, 194, 193, 107,
1313 1113, 751, 1114, 748, 459, 749, 746, 816, 95, -280,
1314 107, 499, 1014, 341, 323, 199, 1001, 346, 1115, 2,
1315 222, 474, 742, 76, 1121, 222, 342, 222, 76, 1094,
1316 569, 332, 423, 199, 708, 424, 500, 750, 195, 222,
1317 222, 194, 806, 424, 501, 745, -617, 623, 462, 194,
1318 -617, 439, 481, 194, 424, 194, 751, 346, 748, 199,
1319 749, -389, -389, -389, 418, -389, -389, 199, -281, 199,
1320 286, 199, 695, 199, 431, -110, -110, 1062, 998, 744,
1321 998, 199, 195, 979, 194, 1156, 199, 1157, 199, 2,
1322 195, 754, 713, 977, 195, 424, 195, 441, 361, 625,
1323 199, 199, 199, 1158, 542, 543, 544, 1067, 747, 1069,
1324 724, 360, 725, 293, 223, 498, 332, 365, 692, 223,
1325 -605, 223, 646, 911, -605, 195, 647, -389, -389, -389,
1326 362, -389, -389, 223, 223, 108, 424, -613, 108, 363,
1327 663, -613, 124, 95, 407, 408, 95, 456, 409, 410,
1328 364, 966, 967, 594, -667, 597, 586, 603, 95, 589,
1329 95, -661, 424, 747, 332, 610, 831, -665, 323, 415,
1330 416, 423, -110, -110, 424, 619, 325, -610, 497, 107,
1331 567, -610, 107, 107, 107, 833, 753, 627, 964, 965,
1332 500, 975, 633, 411, 412, 460, 107, -662, 752, -606,
1333 2, 193, 107, -606, 634, -667, 417, 413, 414, 972,
1334 973, 976, 439, 974, -570, 424, 419, 108, -570, 497,
1335 76, 77, 123, 496, 79, 80, 424, 409, 410, 498,
1336 -389, -389, -389, -602, -389, -389, 418, -602, 76, 77,
1337 123, 108, 79, 80, 407, 408, 516, 517, 518, 427,
1338 481, 199, -280, -281, 499, 476, 519, 326, 1174, 199,
1339 1175, 199, 2, 222, 522, 420, 523, 746, 340, -389,
1340 706, -389, 631, 456, 1018, 332, 1176, -389, 676, -389,
1341 -389, 460, -389, -498, 1127, -569, 811, 194, 456, -569,
1342 994, -664, -571, 995, 690, 691, -571, 332, 750, 1008,
1343 -280, 323, 499, -667, -667, 199, 745, -667, -667, 325,
1344 968, 969, 970, 971, -591, 409, 410, 751, -591, 748,
1345 633, 749, -568, 428, 199, 460, -568, -280, 195, 499,
1346 199, 107, -607, 435, 107, 582, -607, 2, 721, 722,
1347 -280, 193, 632, 346, 107, 346, 107, 434, 107, 76,
1348 77, 123, 1015, 79, 80, 1016, 107, 223, -663, 107,
1349 409, 410, -611, 107, 444, 1046, -611, 785, -440, 499,
1350 424, 298, -608, 300, 880, 792, -608, 794, 411, 412,
1351 440, 800, 801, -603, 1072, 445, 805, -603, 702, 1078,
1352 619, 812, 413, 414, 407, 408, 500, 199, 811, 814,
1353 409, 410, 582, 450, 501, 424, 107, 107, 1104, 938,
1354 449, 76, 77, 123, 1106, 79, 80, 931, 346, 1163,
1355 1113, 452, 1114, 1117, 747, 1195, 1156, 194, 1157, 458,
1356 834, 835, 836, 837, 838, 839, 473, 108, 1115, 424,
1357 464, 466, 468, 942, 1158, 199, 199, 562, 563, 411,
1358 412, 582, 1138, 1139, 108, 1140, 470, 1181, 199, 332,
1359 326, 199, 199, 413, 414, 472, 582, 675, 195, 343,
1360 499, 293, 478, 902, 995, 328, 1085, 495, 2, 489,
1361 139, 140, 141, 142, 143, 144, 76, 77, 123, 107,
1362 79, 80, -585, 940, 415, 416, -585, 145, 146, 147,
1363 504, 1178, 930, 812, -262, 633, 1206, 1174, -590, 1175,
1364 328, 814, -590, 1216, 505, 139, 140, 141, 142, 143,
1365 144, 148, 305, 306, 307, 1176, 76, 77, 123, 506,
1366 79, 80, 145, 146, 147, 508, 1040, 199, 199, 1207,
1367 -589, 773, 675, 727, -589, 509, 1041, 293, 199, 199,
1368 1105, 199, 686, 687, 675, 905, 148, 1214, 905, 961,
1369 962, 963, 157, -588, 107, 76, 107, -588, -600, 76,
1370 77, 123, -600, 79, 80, 107, 866, 867, 107, 107,
1371 199, 404, 405, 406, -587, 817, 510, 1030, -587, 108,
1372 868, 869, 108, 511, 996, -586, 773, 157, 512, -586,
1373 520, 1003, 601, -583, 108, -584, 108, -583, 571, -584,
1374 393, 1074, -580, 572, 326, 574, -580, 616, 388, -581,
1375 389, 621, -389, -581, 424, 723, -572, 76, 77, 123,
1376 -572, 79, 80, 575, 76, 329, 330, 160, -389, 862,
1377 863, 390, 391, 1019, 394, 395, 396, 397, 398, 399,
1378 400, 401, 402, 403, 576, -575, 646, -595, 199, -575,
1379 1021, -595, 587, 309, 649, 650, 189, 220, 220, 76,
1380 329, 330, 160, 591, 1049, 905, 1050, 905, 905, 905,
1381 -596, -597, 592, 1059, -596, -597, 95, 1051, 1052, 608,
1382 1053, 107, 1054, 1055, 293, 76, 1042, 1116, 1165, 1065,
1383 593, 107, 812, -599, 1081, 1056, -280, -599, 1126, 460,
1384 1079, 995, 1086, 1087, 596, 589, 404, 405, 406, 864,
1385 865, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1386 283, -593, -576, -574, 456, -593, -576, -574, 182, 211,
1387 211, 609, -578, 602, -579, 848, -578, 326, -579, 95,
1388 611, 1128, 1130, -577, 299, 618, 302, -577, 304, 293,
1389 308, 617, 1177, 912, 687, 310, 870, 871, 812, 905,
1390 622, 905, 404, 405, 406, 318, 626, 319, 456, 849,
1391 850, 851, 852, 853, 854, 855, 856, 857, 858, 424,
1392 843, 630, 844, 332, -389, 636, 189, 886, 887, 888,
1393 889, 890, 891, 892, 859, 860, 861, 1004, 1005, 1190,
1394 -389, 424, 1088, 845, 846, 1180, 76, 1108, 95, 392,
1395 638, 1184, 601, 640, 601, 107, 107, 883, 884, 885,
1396 639, 1065, 641, 807, 1192, 1193, 621, 108, 642, 644,
1397 189, 922, 923, 924, 1152, 1153, 1154, 645, 189, 332,
1398 662, 665, 189, 680, 189, 668, 666, 773, 677, 682,
1399 688, 683, 220, 438, 1047, 685, 698, 220, 182, 220,
1400 700, 705, 703, 711, 107, 714, 715, 716, 718, 717,
1401 783, 220, 220, 189, 787, 796, 790, 802, 1047, 818,
1402 107, 872, 842, 107, 804, 820, 824, 873, 825, 821,
1403 916, 829, 1222, 830, 878, 875, 1103, 920, 929, 941,
1404 934, 935, 182, 1226, 874, 939, 1110, 1047, 1047, 943,
1405 182, 980, 981, -52, 182, 1124, 182, 1017, 185, 217,
1406 217, 1020, -49, 1029, 211, 1061, 1073, 107, 1083, 211,
1407 1089, 211, 1129, 1141, 1118, 1133, 1132, 454, 1135, 108,
1408 1159, 457, 1143, 211, 211, 182, 107, 1183, 1185, 937,
1409 1186, 1205, 884, 1218, 1219, 1137, 1103, 1103, 1103, 469,
1410 1221, 1150, 471, 1220, 1103, 1160, 1162, 507, 1225, 1228,
1411 479, 1171, 1229, 482, 1191, 1212, 1223, 285, 480, 900,
1412 1047, 107, 107, 1047, 992, 1161, 1124, 1124, 1075, 1107,
1413 988, 1012, 1124, 1077, 1208, 527, 107, 946, 1179, 605,
1414 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
1415 541, 679, 1182, 795, 793, 1103, 311, 932, 227, 180,
1416 810, 502, 1103, 447, 107, 107, 1103, 1142, 643, 568,
1417 827, 561, 1026, 0, 0, 524, 0, 0, 0, 331,
1418 0, 1047, 107, 107, 1124, 0, 0, 0, 185, 186,
1419 218, 218, 331, 331, 331, 331, 331, 331, 0, 358,
1420 359, 1103, 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 1023, 1024, 0, 189, 883, 884, 885,
1422 0, 0, 0, 886, 887, 888, 889, 890, 891, 892,
1423 0, 0, 185, 0, 0, 220, 0, 0, 482, 0,
1424 185, 0, 0, 0, 185, 590, 185, 0, 0, 0,
1425 595, 0, 598, 0, 217, 0, 0, 0, 0, 217,
1426 607, 217, 108, 0, 612, 0, 0, 0, 0, 0,
1427 0, 0, 0, 217, 217, 185, 0, 0, 108, 0,
1428 0, 1082, 0, 0, 0, 0, 0, 344, 182, 345,
1429 0, 0, 0, 0, 328, 525, 0, 0, 0, 139,
1430 140, 141, 142, 143, 144, 0, 0, 211, 0, 0,
1431 0, 0, 0, 0, 0, 0, 145, 146, 147, 186,
1432 922, 923, 924, 0, 0, 108, 886, 887, 888, 889,
1433 890, 891, 892, 180, 0, 0, 0, 0, 0, 0,
1434 148, 180, 0, 0, 108, 180, 0, 180, 0, 0,
1435 0, 0, 0, 0, 0, 436, 189, 0, 0, 0,
1436 0, 0, 0, 186, 0, 0, 0, 0, 0, 0,
1437 0, 186, 590, 0, 0, 186, 180, 186, 0, 1168,
1438 1169, 157, 0, 0, 0, 218, 0, 0, 0, 0,
1439 218, 0, 218, 720, 108, 0, 0, 482, 0, 0,
1440 0, 0, 0, 0, 218, 218, 186, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 707, 0, 0, 331,
1442 0, 712, 1200, 1201, 0, 0, 0, 0, 182, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 798, 0,
1444 1209, 1210, 0, 187, 219, 219, 0, 0, 0, 0,
1445 0, 0, 775, 76, 329, 330, 160, 331, 331, 331,
1446 331, 331, 331, 331, 331, 331, 331, 331, 331, 331,
1447 331, 331, 331, 0, 0, 0, 328, 945, 185, 487,
1448 0, 139, 140, 141, 142, 143, 144, 490, 491, 492,
1449 493, 0, 0, 0, 0, 0, 0, 217, 145, 146,
1450 147, 0, 0, 0, 331, 0, 0, 0, 487, 0,
1451 0, 0, 0, 196, 225, 225, 0, 0, 0, 487,
1452 0, 0, 148, 0, 0, 0, 0, 0, 847, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 528, 0, 0, 0, 798, 0, 0, 798, 0, 0,
1455 0, 0, 331, 0, 0, 0, -524, 331, 198, 226,
1456 226, 368, 0, 157, 0, 0, 139, 140, 141, 142,
1457 143, 144, 0, 187, 0, 0, 0, 0, 0, 180,
1458 0, 0, 0, 145, 146, 147, 573, 0, 917, 944,
1459 527, 0, 0, 0, 0, 950, 951, 952, 953, 954,
1460 955, 956, 957, 958, 959, 960, 0, 148, 0, 186,
1461 0, 331, 0, 331, 0, 655, 657, 187, 185, 0,
1462 0, 0, 0, 0, 0, 187, 0, 0, 218, 187,
1463 0, 187, 0, 0, 0, 76, 329, 330, 160, 219,
1464 0, 0, 0, 196, 219, 0, 219, 0, 157, 798,
1465 0, 0, 0, 0, 0, 0, 0, 0, 219, 219,
1466 187, 0, 0, 331, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 989, 990, 331, 0, 196, 198, 0,
1469 0, 997, 0, 0, 0, 196, 0, 0, 0, 196,
1470 0, 196, 0, 0, 0, 0, 0, 0, 0, 225,
1471 652, 0, 0, 0, 225, 1013, 225, 743, 0, 180,
1472 76, 329, 330, 160, 0, 0, 0, 0, 225, 225,
1473 196, 0, 198, 0, 0, 0, 0, 0, 0, 0,
1474 198, 0, 0, 0, 198, 0, 198, 0, 0, 186,
1475 0, 0, 798, 0, 226, 0, 0, 0, 0, 226,
1476 0, 226, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 743, 226, 226, 198, 0, 493, 0, 0,
1478 0, 1060, 0, 331, 331, 331, 331, 331, 331, 840,
1479 841, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 487, 0, 487, 0, 0,
1481 0, 0, 0, 728, 0, 0, 774, 797, 1070, 0,
1482 0, 0, 328, 0, 0, 0, 0, 139, 140, 141,
1483 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 145, 146, 147, 331, 0, 0,
1485 1131, 328, 0, 0, 628, 0, 139, 140, 141, 142,
1486 143, 144, 0, 187, 0, 0, 0, 0, 148, 826,
1487 0, 0, 0, 145, 146, 147, 0, 0, 797, 0,
1488 832, 331, 219, 328, 0, 0, 0, 0, 139, 140,
1489 141, 142, 143, 144, 0, 0, 0, 148, 0, 0,
1490 0, 0, 0, 0, 0, 145, 146, 147, 0, 157,
1491 0, 0, 331, 331, 331, 331, 331, 331, 331, 331,
1492 331, 331, 331, 331, 331, 331, 331, 331, 331, 148,
1493 331, 0, 0, 196, 0, 126, 127, 128, 157, 129,
1494 130, 131, 132, 133, 134, 135, 136, 203, -524, 669,
1495 0, 0, 225, 368, 0, 0, 0, 0, 139, 140,
1496 141, 142, 143, 144, 0, 0, 0, 0, 1215, 0,
1497 157, 0, 0, 0, 0, 145, 146, 147, 198, 0,
1498 0, 76, 329, 330, 160, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 947, 331, 226, 0, 148,
1500 0, 0, 0, 187, 0, 0, 0, 0, 0, 0,
1501 76, 329, 330, 160, 0, 0, 0, 0, 0, 0,
1502 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1503 0, 0, 0, 743, 0, 0, 156, 0, 0, 0,
1504 157, 0, 76, 329, 330, 160, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
1506 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 196, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, -280, 493, 0, 0, 0, 0, 0,
1509 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 3, 369, 0, 0, 370, 0,
1511 0, 371, 76, 158, 159, 160, 161, 80, 198, 0,
1512 0, 0, 0, 0, 0, 0, -389, -389, -389, 1025,
1513 4, 0, 0, 0, 5, 6, 7, 0, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 0, 8, 9,
1515 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 11, 12, 13,
1517 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1518 23, 331, 24, 25, 26, 27, 28, 29, 30, 31,
1519 32, 33, 34, 35, 36, 37, 38, 331, 39, 40,
1520 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1521 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1522 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1523 71, 72, 73, 74, 75, -2, 1, 331, 0, 0,
1524 0, 0, 76, 77, 78, 0, 79, 80, 81, 0,
1525 0, 0, 0, 0, 0, 328, 0, 0, 709, -280,
1526 139, 140, 141, 142, 143, 144, 0, 0, 0, 2,
1527 0, 0, 0, 0, 0, 0, 0, 145, 146, 147,
1528 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 148, -389, -389, -389, 0, 4, 0, 0, 0,
1531 5, 6, 7, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 8, 9, 10, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 157, 11, 12, 13, 0, 14, 15, 16,
1535 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1536 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1537 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1538 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1539 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1540 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1541 75, 0, 0, 0, 76, 329, 330, 160, 76, 77,
1542 78, 125, 79, 80, 81, 0, 126, 127, 128, 0,
1543 129, 130, 131, 132, 133, 134, 135, 136, 137, -524,
1544 565, 0, 0, 0, 138, 0, 0, 0, 0, 139,
1545 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1546 0, 0, -280, -280, 0, 3, 145, 146, 147, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, -389, -389, -389,
1549 148, 4, 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1552 0, 0, 0, 0, 0, 0, 0, 156, 11, 12,
1553 13, 157, 14, 15, 16, 17, 18, 19, 20, 21,
1554 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1555 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1556 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1557 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1558 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1559 70, 71, 72, 73, 74, 75, 0, 0, 0, 0,
1560 0, 0, 0, 76, 158, 566, 160, 161, 80, 81,
1561 125, 0, 0, 0, 0, 126, 127, 128, 0, 129,
1562 130, 131, 132, 133, 134, 135, 136, 137, -524, 0,
1563 0, 0, 0, 138, 0, 0, 0, 0, 139, 140,
1564 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1565 0, -280, -280, 0, 0, 145, 146, 147, 0, 0,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 0, 0, 0, -280, -280, -280, 148,
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1571 0, 0, 0, 0, 0, 0, 156, -280, -280, -280,
1572 157, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1573 -280, 0, -280, -280, -280, -280, -280, -280, -280, -280,
1574 -280, -280, -280, -280, -280, -280, -280, 0, -280, -280,
1575 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1576 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1577 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1578 -280, -280, -280, -280, -280, 0, 0, 0, 0, 0,
1579 0, 0, 76, 158, 159, 160, 161, 80, -280, 201,
1580 0, 0, 0, 0, 126, 127, 128, 0, 0, 202,
1581 131, 132, 133, 134, 135, 136, 203, -524, -528, 0,
1582 0, 0, 204, 0, 0, 0, 0, 139, 140, 141,
1583 142, 143, 144, 0, 0, 0, 0, 0, 0, 0,
1584 -280, -280, 0, 0, 145, 146, 147, 0, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1586 0, 0, 0, 0, 0, -280, -280, -280, 148, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 150, 151, 152, 153, 154, 155, 0, 0, 0,
1590 0, 0, 0, 0, 0, 156, -280, -280, -280, 157,
1591 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1592 0, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1593 -280, -280, -280, -280, -280, -280, 0, -280, -280, -280,
1594 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1595 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1596 -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
1597 -280, -280, -280, -280, 0, 0, 0, 0, 0, 0,
1598 0, 76, 158, 159, 160, 205, 206, -280, 201, 0,
1599 0, 0, 0, 126, 127, 128, 0, 0, 202, 131,
1600 132, 133, 134, 135, 136, 203, -472, -472, 0, 0,
1601 0, 204, -472, 0, 0, 0, 139, 140, 141, 142,
1602 143, 144, 0, 0, 0, 0, 0, 0, 0, -280,
1603 -280, 125, 0, 145, 146, 147, 126, 127, 128, 0,
1604 129, 130, 131, 132, 133, 134, 135, 136, 137, -524,
1605 0, 0, 0, 0, 138, 0, 0, 148, 0, 139,
1606 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1607 0, 0, -280, -280, 0, 0, 145, 146, 147, -472,
1608 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1609 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1610 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 149, 150, 151, 152, 153, 154, 155, 0,
1613 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1614 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1617 76, 158, 159, 160, 205, 206, 0, 0, 125, 0,
1618 0, 0, 0, 126, 127, 128, 0, 129, 130, 131,
1619 132, 133, 134, 135, 136, 137, -524, 0, 0, 0,
1620 0, 138, 0, 0, 0, 0, 139, 140, 141, 142,
1621 143, 144, 0, 76, 158, 159, 160, 161, 80, -280,
1622 -280, 201, 0, 145, 146, 147, 126, 127, 128, 0,
1623 0, 202, 131, 132, 133, 134, 135, 136, 203, -524,
1624 -528, 0, 0, 0, 204, 0, 0, 148, 0, 139,
1625 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1626 0, 0, -280, -280, 0, 0, 145, 146, 147, -499,
1627 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1628 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1629 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, -468, 150, 151, 152, 153, 154, 155, 0,
1632 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1633 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 76, 158, 159, 160, 161, 80, 0, 0, 125, 0,
1637 0, 0, 0, 126, 127, 128, 0, 129, 130, 131,
1638 132, 133, 134, 135, 136, 137, -524, 658, 0, 0,
1639 0, 138, 0, 0, 0, 0, 139, 140, 141, 142,
1640 143, 144, 0, 76, 158, 159, 160, 205, 206, -280,
1641 -280, 201, 0, 145, 146, 147, 126, 127, 128, 0,
1642 0, 202, 131, 132, 133, 134, 135, 136, 203, -524,
1643 -528, 0, 0, 0, 204, 0, 0, 148, 0, 139,
1644 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1645 0, 0, -280, -280, 0, 0, 145, 146, 147, 0,
1646 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1647 0, 0, 0, 0, 156, 0, 0, 0, 157, 0,
1648 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1651 0, 0, 0, 0, 0, 0, 0, 156, 0, 0,
1652 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 0, 328, -262, 0,
1654 0, 0, 139, 140, 141, 142, 143, 144, 0, 0,
1655 76, 158, 159, 160, 161, 80, 0, 0, 125, 145,
1656 146, 147, 0, 126, 127, 128, 0, 129, 130, 131,
1657 132, 133, 134, 135, 136, 137, -524, 0, 0, 0,
1658 0, 138, 0, 148, 0, 0, 139, 140, 141, 142,
1659 143, 144, 0, 76, 158, 159, 160, 205, 206, -280,
1660 -280, 0, 0, 145, 146, 147, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0, 157, 0, 0, 148, 0, 0,
1663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1665 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1666 0, 0, 0, 0, 156, 126, 127, 128, 157, 129,
1667 130, 131, 132, 133, 134, 135, 136, 203, -524, 580,
1668 0, 0, 0, 368, 0, 0, 0, 0, 139, 140,
1669 141, 142, 143, 144, 0, 0, 76, 329, 330, 160,
1670 0, -280, -280, 0, 3, 145, 146, 147, 0, 0,
1671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
1673 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1674 76, 158, 159, 160, 161, 80, 0, 0, 0, 0,
1675 0, 0, 150, 151, 152, 153, 154, 155, 0, 0,
1676 0, 0, 0, 0, 0, 0, 581, 11, 12, 13,
1677 157, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1678 23, 0, 24, 25, 26, 27, 28, 29, 30, 31,
1679 32, 33, 34, 35, 36, 37, 38, 0, 39, 40,
1680 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1681 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1682 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1683 71, 72, 73, 74, 75, 369, 0, 0, 370, 0,
1684 0, 371, 76, 158, 566, 160, 161, 80, 81, 126,
1685 127, 128, 0, 129, 130, 131, 132, 133, 134, 135,
1686 136, 203, -524, 659, 0, 0, 0, 368, 0, 0,
1687 0, 0, 139, 140, 141, 142, 143, 144, 0, 0,
1688 0, 0, 0, 0, 0, -280, -280, 0, 3, 145,
1689 146, 147, 0, 0, 0, 0, 0, 0, 0, 0,
1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 148, 4, 0, 0, 0, 0, 0,
1692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1693 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
1694 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1695 156, 11, 12, 13, 157, 14, 15, 16, 17, 18,
1696 19, 20, 21, 22, 23, 0, 24, 25, 26, 27,
1697 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1698 38, 0, 39, 40, 41, 42, 43, 44, 45, 46,
1699 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1700 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1701 67, 68, 69, 70, 71, 72, 73, 74, 75, 369,
1702 0, 0, 370, 0, 0, 371, 76, 158, 566, 160,
1703 161, 80, 81, 126, 127, 128, 0, 129, 130, 131,
1704 132, 133, 134, 135, 136, 203, -524, 670, 0, 0,
1705 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1706 143, 144, 0, 0, 0, 0, 0, 0, 0, -280,
1707 -280, 0, 3, 145, 146, 147, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 148, 4, 0,
1710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1712 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1713 0, 0, 0, 0, 671, 11, 12, 13, 157, 14,
1714 15, 16, 17, 18, 19, 20, 21, 22, 23, 0,
1715 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1716 34, 35, 36, 37, 38, 0, 39, 40, 41, 42,
1717 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1718 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1719 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1720 73, 74, 75, 369, 0, 0, 370, 0, 0, 371,
1721 76, 158, 566, 160, 161, 80, 81, 126, 127, 128,
1722 0, 129, 130, 131, 132, 133, 134, 135, 136, 203,
1723 -524, 673, 0, 0, 0, 368, 0, 0, 0, 0,
1724 139, 140, 141, 142, 143, 144, 0, 0, 0, 0,
1725 0, 0, 0, 0, 0, 0, 0, 145, 146, 147,
1726 126, 127, 128, 0, 129, 130, 131, 132, 133, 134,
1727 135, 136, 203, -524, 726, 0, 0, 0, 368, 0,
1728 0, 148, 0, 139, 140, 141, 142, 143, 144, 0,
1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1730 145, 146, 147, 0, 150, 151, 152, 153, 154, 155,
1731 0, 0, 0, 0, 0, 0, 0, 0, 674, 0,
1732 328, 0, 157, 0, 148, 139, 140, 141, 142, 143,
1733 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 145, 146, 147, 0, 0, 150, 151, 152,
1735 153, 154, 155, 0, 0, 0, 0, 0, 0, 0,
1736 0, 156, 0, 0, 0, 157, 148, 0, 0, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 369, 0, 0,
1739 370, 0, 0, 371, 76, 158, 159, 160, 161, 80,
1740 0, 0, 0, 0, 0, 0, 0, 157, 0, 0,
1741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 369, 0, 0, 370, 0, 0, 371, 76, 158, 159,
1744 160, 161, 80, 126, 127, 128, 0, 129, 130, 131,
1745 132, 133, 134, 135, 136, 203, -524, 779, 0, 0,
1746 0, 368, 0, 0, 0, 0, 139, 140, 141, 142,
1747 143, 144, 0, 0, 0, 0, 0, 0, 0, 76,
1748 329, 330, 160, 145, 146, 147, 126, 127, 128, 0,
1749 129, 130, 131, 132, 133, 134, 135, 136, 203, -524,
1750 780, 0, 0, 0, 368, 0, 0, 148, 0, 139,
1751 140, 141, 142, 143, 144, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 145, 146, 147, 0,
1753 150, 151, 152, 153, 154, 155, 0, 0, 0, 0,
1754 0, 0, 0, 0, 156, 0, 357, 0, 157, 0,
1755 148, 139, 140, 141, 142, 143, 144, 0, 0, 0,
1756 0, 0, 0, 0, 0, 0, 0, 0, 145, 146,
1757 147, 0, 0, 150, 151, 152, 153, 154, 155, 0,
1758 0, 0, 0, 0, 0, 0, 0, 781, 0, 0,
1759 0, 157, 148, 0, 0, 0, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 369, 0, 0, 370, 0, 0, 371,
1762 76, 158, 159, 160, 161, 80, 0, 0, 0, 0,
1763 0, 0, 0, 157, 0, 0, 0, 0, 0, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 369, 0, 0, 370,
1766 0, 0, 371, 76, 158, 159, 160, 161, 80, 126,
1767 127, 128, 0, 129, 130, 131, 132, 133, 134, 135,
1768 136, 203, -524, 782, 0, 0, 0, 368, 0, 0,
1769 0, 0, 139, 140, 141, 142, 143, 144, 0, 0,
1770 0, 0, 0, 0, 0, 76, 329, 330, 160, 145,
1771 146, 147, 126, 127, 128, 0, 129, 130, 131, 132,
1772 133, 134, 135, 136, 203, -524, 901, 0, 0, 0,
1773 368, 0, 0, 148, 0, 139, 140, 141, 142, 143,
1774 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 145, 146, 147, 0, 150, 151, 152, 153,
1776 154, 155, 0, 0, 0, 0, 0, 0, 0, 0,
1777 156, 0, 654, 0, 157, 0, 148, 139, 140, 141,
1778 142, 143, 144, 656, 0, 0, 0, 0, 139, 140,
1779 141, 142, 143, 144, 145, 146, 147, 0, 0, 150,
1780 151, 152, 153, 154, 155, 145, 146, 147, 0, 0,
1781 0, 0, 0, 156, 0, 0, 0, 157, 148, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 369,
1784 0, 0, 370, 0, 0, 371, 76, 158, 159, 160,
1785 161, 80, 0, 0, 0, 0, 0, 0, 0, 157,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 369, 0, 0, 370, 0, 0, 371, 76,
1789 158, 159, 160, 161, 80, 126, 127, 128, 0, 129,
1790 130, 131, 132, 133, 134, 135, 136, 203, -524, 0,
1791 0, 0, 0, 368, 0, 0, 0, 0, 139, 140,
1792 141, 142, 143, 144, 0, 0, 0, 0, 0, 0,
1793 0, 76, 329, 330, 160, 145, 146, 147, 0, 0,
1794 0, 0, 76, 329, 330, 160, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 150, 151, 152, 153, 154, 155, 293, 0,
1799 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
1800 157, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1801 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
1802 0, 729, 0, 0, 0, 0, 730, 731, 732, 733,
1803 734, 735, 0, 0, 0, 0, 0, -389, -389, -389,
1804 0, 4, 0, 145, 736, 737, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 369, 0, 738, 370, 0,
1807 0, 371, 76, 158, 159, 160, 161, 80, 11, 12,
1808 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1809 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1810 31, 32, 33, 34, 35, 36, 37, 38, 157, 39,
1811 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1812 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1813 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1814 70, 71, 72, 73, 74, 75, 293, 0, 0, 0,
1815 0, 0, 0, 0, 0, 120, 0, 0, 0, 81,
1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
1818 76, 739, 740, 741, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, -658, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1824 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1825 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1826 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1827 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1828 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1829 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1830 72, 73, 74, 75, -146, 0, 0, 0, 0, -146,
1831 0, 0, 0, 120, 0, 0, 0, 81, 0, 0,
1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
1836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 11, 12, 13, 0, 14, 15, 16,
1840 17, 18, 19, 20, 21, 22, 23, 0, 24, 25,
1841 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1842 36, 37, 38, 0, 39, 40, 41, 42, 43, 44,
1843 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1844 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1845 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1846 75, 288, 0, 0, 0, 0, 0, 0, 0, 0,
1847 120, 0, 0, 0, 81, 0, 0, 0, 0, 0,
1848 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
1849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 -527, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 11, 12, 13, 0, 14, 15, 16, 17, 18, 19,
1856 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
1857 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1858 0, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1859 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1860 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1861 68, 69, 70, 71, 72, 73, 74, 75, 0, 0,
1862 0, 0, 0, 0, 0, 0, 0, 120, 11, 12,
1863 13, 81, 14, 15, 16, 17, 18, 19, 20, 21,
1864 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1865 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1866 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1867 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1868 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1869 70, 71, 72, 73, 74, 75, -665, 0, 0, 0,
1870 0, 0, 0, 0, 0, 120, 0, 0, 0, 81,
1871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874 0, -667, -667, -667, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 0, 0, 0, -667,
1876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878 0, 0, -667, -667, -667, 0, -667, -667, -667, -667,
1879 -667, -667, -667, -667, -667, -667, 0, -667, -667, -667,
1880 -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
1881 -667, -667, 0, -667, -667, -667, -667, -667, -667, -667,
1882 -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
1883 -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
1884 -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
1885 -280, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1886 2, 0, 0, -667, 0, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 0, 0, 11, 12, 13, 0, 14, 15,
1894 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1895 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1896 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1897 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1898 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1899 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1900 74, 75, -206, -206, 0, 0, 0, 0, 0, 76,
1901 77, 78, 0, 79, 80, 81, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1907 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1908 22, 23, 0, 24, 25, 26, 27, 28, 29, 30,
1909 31, 32, 33, 34, 35, 36, 37, 38, 0, 39,
1910 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1911 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1912 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1913 70, 71, 72, 73, 74, 75, 3, 0, 0, 0,
1914 0, 0, 0, 0, 0, 120, 0, 0, 0, 81,
1915 0, 0, 0, 0, 0, 0, 0, 0, -389, -389,
1916 -389, 0, 4, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1919 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1920 12, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1921 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
1922 30, 31, 32, 33, 34, 35, 36, 37, 38, 0,
1923 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1924 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1925 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1926 69, 70, 71, 72, 73, 74, 75, 3, 0, 0,
1927 0, 0, 0, 0, 0, 0, 120, 0, 0, 0,
1928 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933 11, 12, 13, 0, 14, 15, 16, 17, 18, 19,
1934 20, 21, 22, 23, 0, 24, 25, 26, 27, 28,
1935 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1936 0, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1937 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1938 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1939 68, 69, 70, 71, 72, 73, 74, 75, -389, -389,
1940 -389, 0, 0, 0, 0, 0, 0, 120, 0, 0,
1941 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1944 12, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1945 21, 22, 23, 0, 24, 25, 26, 27, 28, 29,
1946 30, 31, 32, 33, 34, 35, 36, 37, 38, 0,
1947 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1948 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1949 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1950 69, 70, 71, 72, 73, 74, 75, 8, 9, 10,
1951 0, 0, 0, 0, 0, 0, 120, 0, 0, 0,
1952 81, 0, 0, 0, 0, 0, 11, 12, 13, 0,
1953 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1954 0, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1955 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
1956 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1957 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1958 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1959 72, 73, 74, 75, 0, 0, 0, 0, 0, 0,
1960 0, 0, 0, 120, 11, 12, 13, 81, 14, 15,
1961 16, 17, 18, 19, 20, 21, 22, 23, 0, 24,
1962 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1963 35, 36, 37, 38, 0, 39, 40, 41, 42, 43,
1964 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1965 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1966 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1967 74, 75, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 120, 0, 0, 0, 81
1969};
1970
1971static const short yycheck[] = { 0,
1972 106, 89, 3, 469, 501, 366, 409, 410, 320, 2,
1973 11, 12, 0, 368, 0, 626, 664, 18, 19, 20,
1974 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1975 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1976 41, 42, 43, 407, 408, 630, 418, 48, 49, 50,
1977 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1978 61, 62, 63, 64, 415, 416, 419, 27, 417, 303,
1979 8, 719, 5, 664, 75, 452, 560, 19, 24, 0,
1980 797, 82, 3, 800, 5, 664, 558, 479, 34, 789,
1981 451, 8, 25, 803, 82, 322, 82, 24, 18, 100,
1982 455, 126, 777, 915, 24, 106, 0, 41, 24, 86,
1983 87, 27, 809, 5, 34, 116, 117, 118, 34, 21,
1984 113, 122, 56, 28, 24, 27, 711, 215, 719, 122,
1985 41, 18, 684, 25, 34, 9, 10, 138, 499, 44,
1986 719, 34, 86, 87, 145, 56, 1090, 1091, 569, 139,
1987 140, 141, 142, 143, 144, 1040, 1041, 18, 1090, 1119,
1988 1120, 82, 26, 584, 204, 411, 412, 413, 414, 209,
1989 34, 211, 116, 117, 24, 96, 97, 8, 99, 24,
1990 664, 993, 28, 223, 34, 902, 130, 0, 82, 34,
1991 3, 1089, 664, 5, 7, 8, 9, 10, 44, 1097,
1992 138, 122, 899, 204, 1148, 702, 183, 184, 908, 919,
1993 910, 21, 24, 25, 26, 108, 109, 1177, 8, 894,
1994 612, 138, 34, 1155, 6, 7, 186, 1159, 1113, 9,
1995 10, 1116, 587, 85, 611, 719, 788, 183, 184, 791,
1996 24, 183, 184, 185, 182, 187, 188, 719, 24, 610,
1997 183, 184, 185, 480, 187, 188, 194, 24, 196, 5,
1998 21, 664, 1194, 183, 184, 182, 27, 183, 184, 82,
1999 186, 632, 506, 190, 21, 1139, 24, 194, 25, 196,
2000 180, 181, 29, 183, 184, 286, 186, 225, 1005, 1174,
2001 291, 24, 664, 106, 906, 607, 1160, 909, 1162, 21,
2002 664, 302, 303, 25, 305, 306, 292, 138, 225, 122,
2003 26, 664, 28, 664, 302, 664, 719, 814, 319, 24,
2004 133, 26, 933, 18, 325, 138, 909, 328, 44, 34,
2005 204, 319, 980, 183, 184, 209, 18, 211, 183, 184,
2006 428, 366, 18, 156, 929, 21, 347, 719, 138, 223,
2007 224, 182, 5, 21, 347, 719, 21, 25, 592, 190,
2008 25, 18, 5, 194, 21, 196, 719, 368, 719, 182,
2009 719, 183, 184, 185, 39, 187, 188, 190, 24, 192,
2010 26, 194, 25, 196, 192, 86, 87, 22, 1000, 980,
2011 1002, 204, 182, 877, 225, 26, 209, 28, 211, 34,
2012 190, 980, 636, 875, 194, 21, 196, 447, 16, 25,
2013 223, 224, 225, 44, 404, 405, 406, 1000, 664, 1002,
2014 654, 24, 656, 18, 204, 346, 451, 15, 23, 209,
2015 21, 211, 21, 794, 25, 225, 25, 183, 184, 185,
2016 16, 187, 188, 223, 224, 0, 21, 21, 3, 16,
2017 25, 25, 7, 454, 32, 33, 457, 443, 49, 50,
2018 16, 864, 865, 464, 34, 466, 454, 468, 469, 457,
2019 471, 22, 21, 719, 499, 476, 25, 22, 479, 53,
2020 54, 18, 183, 184, 21, 486, 479, 21, 25, 302,
2021 428, 25, 305, 306, 307, 729, 980, 498, 862, 863,
2022 501, 873, 503, 37, 38, 506, 319, 22, 980, 21,
2023 34, 428, 325, 25, 504, 85, 29, 51, 52, 870,
2024 871, 874, 18, 872, 21, 21, 40, 82, 25, 25,
2025 183, 184, 185, 18, 187, 188, 21, 49, 50, 460,
2026 183, 184, 185, 21, 187, 188, 39, 25, 183, 184,
2027 185, 106, 187, 188, 32, 33, 369, 370, 371, 92,
2028 5, 374, 24, 24, 26, 26, 374, 122, 26, 382,
2029 28, 384, 34, 447, 382, 55, 384, 980, 133, 24,
2030 25, 26, 1079, 569, 939, 610, 44, 18, 589, 34,
2031 21, 592, 23, 92, 1060, 21, 702, 428, 584, 25,
2032 18, 22, 21, 21, 605, 606, 25, 632, 980, 921,
2033 24, 612, 26, 183, 184, 428, 980, 187, 188, 612,
2034 866, 867, 868, 869, 21, 49, 50, 980, 25, 980,
2035 631, 980, 21, 19, 447, 636, 25, 24, 428, 26,
2036 453, 454, 21, 24, 457, 453, 25, 34, 649, 650,
2037 24, 568, 26, 654, 467, 656, 469, 22, 471, 183,
2038 184, 185, 25, 187, 188, 28, 479, 447, 22, 482,
2039 49, 50, 21, 486, 19, 987, 25, 678, 25, 26,
2040 21, 97, 21, 99, 25, 686, 25, 688, 37, 38,
2041 92, 692, 693, 21, 1006, 20, 697, 25, 619, 1011,
2042 701, 702, 51, 52, 32, 33, 707, 520, 814, 702,
2043 49, 50, 520, 27, 707, 21, 529, 530, 1030, 25,
2044 92, 183, 184, 185, 1036, 187, 188, 189, 729, 25,
2045 26, 24, 28, 1045, 980, 25, 26, 568, 28, 18,
2046 730, 731, 732, 733, 734, 735, 23, 302, 44, 21,
2047 305, 306, 307, 25, 44, 568, 569, 42, 43, 37,
2048 38, 569, 1074, 1075, 319, 1077, 18, 1128, 581, 794,
2049 325, 584, 585, 51, 52, 18, 584, 585, 568, 18,
2050 26, 18, 24, 784, 21, 24, 1020, 18, 34, 22,
2051 29, 30, 31, 32, 33, 34, 183, 184, 185, 612,
2052 187, 188, 21, 828, 53, 54, 25, 46, 47, 48,
2053 25, 1123, 813, 814, 18, 816, 25, 26, 21, 28,
2054 24, 814, 25, 1184, 25, 29, 30, 31, 32, 33,
2055 34, 70, 67, 68, 69, 44, 183, 184, 185, 24,
2056 187, 188, 46, 47, 48, 18, 24, 660, 661, 27,
2057 21, 664, 660, 661, 25, 18, 34, 18, 671, 672,
2058 21, 674, 20, 21, 672, 786, 70, 1179, 789, 859,
2059 860, 861, 111, 21, 687, 183, 689, 25, 21, 183,
2060 184, 185, 25, 187, 188, 698, 37, 38, 701, 702,
2061 703, 34, 35, 36, 21, 703, 18, 985, 25, 454,
2062 51, 52, 457, 18, 905, 21, 719, 111, 18, 25,
2063 19, 912, 467, 21, 469, 21, 471, 25, 9, 25,
2064 23, 1009, 21, 11, 479, 25, 25, 482, 24, 21,
2065 26, 486, 28, 25, 21, 22, 21, 183, 184, 185,
2066 25, 187, 188, 24, 183, 184, 185, 186, 44, 32,
2067 33, 47, 48, 943, 57, 58, 59, 60, 61, 62,
2068 63, 64, 65, 66, 11, 21, 21, 21, 781, 25,
2069 25, 25, 24, 1079, 529, 530, 8, 9, 10, 183,
2070 184, 185, 186, 88, 119, 906, 121, 908, 909, 910,
2071 21, 21, 21, 994, 25, 25, 997, 132, 133, 88,
2072 135, 814, 137, 138, 18, 183, 184, 21, 186, 997,
2073 19, 824, 1013, 21, 1015, 150, 19, 25, 18, 1020,
2074 1013, 21, 1023, 1024, 19, 1013, 34, 35, 36, 49,
2075 50, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2076 74, 21, 21, 21, 1030, 25, 25, 25, 8, 9,
2077 10, 27, 21, 19, 21, 23, 25, 612, 25, 1060,
2078 24, 1062, 1063, 21, 98, 21, 100, 25, 102, 18,
2079 104, 25, 21, 20, 21, 109, 53, 54, 1079, 1000,
2080 22, 1002, 34, 35, 36, 119, 18, 121, 1074, 57,
2081 58, 59, 60, 61, 62, 63, 64, 65, 66, 21,
2082 24, 24, 26, 1128, 28, 21, 138, 78, 79, 80,
2083 81, 82, 83, 84, 34, 35, 36, 20, 21, 1144,
2084 44, 21, 22, 47, 48, 1126, 183, 184, 1129, 163,
2085 22, 1132, 687, 186, 689, 948, 949, 72, 73, 74,
2086 25, 1129, 186, 698, 32, 33, 701, 702, 186, 11,
2087 182, 72, 73, 74, 51, 52, 53, 24, 190, 1184,
2088 24, 24, 194, 20, 196, 25, 27, 980, 23, 19,
2089 23, 20, 204, 205, 987, 19, 21, 209, 138, 211,
2090 5, 27, 25, 24, 997, 22, 88, 88, 24, 88,
2091 25, 223, 224, 225, 20, 18, 20, 27, 1011, 18,
2092 1013, 29, 24, 1016, 25, 25, 21, 39, 25, 27,
2093 88, 25, 1213, 25, 25, 55, 1029, 25, 24, 18,
2094 25, 25, 182, 1224, 40, 25, 1039, 1040, 1041, 25,
2095 190, 21, 18, 177, 194, 1048, 196, 18, 8, 9,
2096 10, 21, 178, 177, 204, 18, 88, 1060, 188, 209,
2097 178, 211, 21, 25, 88, 20, 22, 291, 20, 814,
2098 24, 295, 25, 223, 224, 225, 1079, 18, 20, 824,
2099 20, 27, 73, 18, 27, 88, 1089, 1090, 1091, 313,
2100 27, 88, 316, 25, 1097, 88, 88, 360, 25, 0,
2101 324, 88, 0, 327, 88, 88, 88, 82, 325, 778,
2102 1113, 1114, 1115, 1116, 900, 1105, 1119, 1120, 1010, 1038,
2103 894, 926, 1125, 1011, 1174, 388, 1129, 843, 1125, 471,
2104 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
2105 403, 592, 1129, 689, 687, 1148, 113, 814, 10, 8,
2106 701, 347, 1155, 224, 1157, 1158, 1159, 1084, 520, 428,
2107 719, 424, 980, -1, -1, 387, -1, -1, -1, 126,
2108 -1, 1174, 1175, 1176, 1177, -1, -1, -1, 138, 8,
2109 9, 10, 139, 140, 141, 142, 143, 144, -1, 146,
2110 147, 1194, -1, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, -1, 948, 949, -1, 428, 72, 73, 74,
2112 -1, -1, -1, 78, 79, 80, 81, 82, 83, 84,
2113 -1, -1, 182, -1, -1, 447, -1, -1, 452, -1,
2114 190, -1, -1, -1, 194, 459, 196, -1, -1, -1,
2115 464, -1, 466, -1, 204, -1, -1, -1, -1, 209,
2116 474, 211, 997, -1, 478, -1, -1, -1, -1, -1,
2117 -1, -1, -1, 223, 224, 225, -1, -1, 1013, -1,
2118 -1, 1016, -1, -1, -1, -1, -1, 136, 428, 138,
2119 -1, -1, -1, -1, 24, 25, -1, -1, -1, 29,
2120 30, 31, 32, 33, 34, -1, -1, 447, -1, -1,
2121 -1, -1, -1, -1, -1, -1, 46, 47, 48, 138,
2122 72, 73, 74, -1, -1, 1060, 78, 79, 80, 81,
2123 82, 83, 84, 182, -1, -1, -1, -1, -1, -1,
2124 70, 190, -1, -1, 1079, 194, -1, 196, -1, -1,
2125 -1, -1, -1, -1, -1, 204, 568, -1, -1, -1,
2126 -1, -1, -1, 182, -1, -1, -1, -1, -1, -1,
2127 -1, 190, 586, -1, -1, 194, 225, 196, -1, 1114,
2128 1115, 111, -1, -1, -1, 204, -1, -1, -1, -1,
2129 209, -1, 211, 646, 1129, -1, -1, 611, -1, -1,
2130 -1, -1, -1, -1, 223, 224, 225, -1, -1, -1,
2131 -1, -1, -1, -1, -1, -1, 630, -1, -1, 366,
2132 -1, 635, 1157, 1158, -1, -1, -1, -1, 568, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, 691, -1,
2134 1175, 1176, -1, 8, 9, 10, -1, -1, -1, -1,
2135 -1, -1, 666, 183, 184, 185, 186, 404, 405, 406,
2136 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
2137 417, 418, 419, -1, -1, -1, 24, 25, 428, 328,
2138 -1, 29, 30, 31, 32, 33, 34, 336, 337, 338,
2139 339, -1, -1, -1, -1, -1, -1, 447, 46, 47,
2140 48, -1, -1, -1, 451, -1, -1, -1, 357, -1,
2141 -1, -1, -1, 8, 9, 10, -1, -1, -1, 368,
2142 -1, -1, 70, -1, -1, -1, -1, -1, 742, -1,
2143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2144 389, -1, -1, -1, 797, -1, -1, 800, -1, -1,
2145 -1, -1, 499, -1, -1, -1, 19, 504, 8, 9,
2146 10, 24, -1, 111, -1, -1, 29, 30, 31, 32,
2147 33, 34, -1, 138, -1, -1, -1, -1, -1, 428,
2148 -1, -1, -1, 46, 47, 48, 435, -1, 802, 842,
2149 843, -1, -1, -1, -1, 848, 849, 850, 851, 852,
2150 853, 854, 855, 856, 857, 858, -1, 70, -1, 428,
2151 -1, 558, -1, 560, -1, 562, 563, 182, 568, -1,
2152 -1, -1, -1, -1, -1, 190, -1, -1, 447, 194,
2153 -1, 196, -1, -1, -1, 183, 184, 185, 186, 204,
2154 -1, -1, -1, 138, 209, -1, 211, -1, 111, 902,
2155 -1, -1, -1, -1, -1, -1, -1, -1, 223, 224,
2156 225, -1, -1, 610, -1, -1, -1, -1, -1, -1,
2157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2158 -1, -1, -1, 897, 898, 632, -1, 182, 138, -1,
2159 -1, 905, -1, -1, -1, 190, -1, -1, -1, 194,
2160 -1, 196, -1, -1, -1, -1, -1, -1, -1, 204,
2161 559, -1, -1, -1, 209, 929, 211, 664, -1, 568,
2162 183, 184, 185, 186, -1, -1, -1, -1, 223, 224,
2163 225, -1, 182, -1, -1, -1, -1, -1, -1, -1,
2164 190, -1, -1, -1, 194, -1, 196, -1, -1, 568,
2165 -1, -1, 1005, -1, 204, -1, -1, -1, -1, 209,
2166 -1, 211, -1, -1, -1, -1, -1, -1, -1, -1,
2167 -1, -1, 719, 223, 224, 225, -1, 626, -1, -1,
2168 -1, 995, -1, 730, 731, 732, 733, 734, 735, 736,
2169 737, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2170 -1, -1, -1, -1, -1, 654, -1, 656, -1, -1,
2171 -1, -1, -1, 662, -1, -1, 665, 19, 20, -1,
2172 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2173 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, 46, 47, 48, 794, -1, -1,
2175 1064, 24, -1, -1, 27, -1, 29, 30, 31, 32,
2176 33, 34, -1, 428, -1, -1, -1, -1, 70, 718,
2177 -1, -1, -1, 46, 47, 48, -1, -1, 19, -1,
2178 729, 828, 447, 24, -1, -1, -1, -1, 29, 30,
2179 31, 32, 33, 34, -1, -1, -1, 70, -1, -1,
2180 -1, -1, -1, -1, -1, 46, 47, 48, -1, 111,
2181 -1, -1, 859, 860, 861, 862, 863, 864, 865, 866,
2182 867, 868, 869, 870, 871, 872, 873, 874, 875, 70,
2183 877, -1, -1, 428, -1, 6, 7, 8, 111, 10,
2184 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2185 -1, -1, 447, 24, -1, -1, -1, -1, 29, 30,
2186 31, 32, 33, 34, -1, -1, -1, -1, 1182, -1,
2187 111, -1, -1, -1, -1, 46, 47, 48, 428, -1,
2188 -1, 183, 184, 185, 186, -1, -1, -1, -1, -1,
2189 -1, -1, -1, -1, -1, 844, 943, 447, -1, 70,
2190 -1, -1, -1, 568, -1, -1, -1, -1, -1, -1,
2191 183, 184, 185, 186, -1, -1, -1, -1, -1, -1,
2192 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2193 -1, -1, -1, 980, -1, -1, 107, -1, -1, -1,
2194 111, -1, 183, 184, 185, 186, -1, -1, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
2196 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2197 -1, -1, -1, 568, -1, -1, -1, -1, -1, -1,
2198 -1, -1, -1, 24, 933, -1, -1, -1, -1, -1,
2199 -1, -1, -1, 34, -1, -1, -1, -1, -1, -1,
2200 -1, -1, -1, -1, 45, 176, -1, -1, 179, -1,
2201 -1, 182, 183, 184, 185, 186, 187, 188, 568, -1,
2202 -1, -1, -1, -1, -1, -1, 67, 68, 69, 978,
2203 71, -1, -1, -1, 75, 76, 77, -1, -1, -1,
2204 -1, -1, -1, -1, -1, -1, -1, -1, 89, 90,
2205 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2206 -1, -1, -1, -1, -1, -1, -1, 108, 109, 110,
2207 -1, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2208 121, 1128, 123, 124, 125, 126, 127, 128, 129, 130,
2209 131, 132, 133, 134, 135, 136, 137, 1144, 139, 140,
2210 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2211 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2212 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2213 171, 172, 173, 174, 175, 0, 1, 1184, -1, -1,
2214 -1, -1, 183, 184, 185, -1, 187, 188, 189, -1,
2215 -1, -1, -1, -1, -1, 24, -1, -1, 27, 24,
2216 29, 30, 31, 32, 33, 34, -1, -1, -1, 34,
2217 -1, -1, -1, -1, -1, -1, -1, 46, 47, 48,
2218 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, 70, 67, 68, 69, -1, 71, -1, -1, -1,
2221 75, 76, 77, -1, -1, -1, -1, -1, -1, -1,
2222 -1, -1, -1, -1, 89, 90, 91, -1, -1, -1,
2223 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2224 -1, -1, 111, 108, 109, 110, -1, 112, 113, 114,
2225 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2226 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2227 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2228 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2229 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2230 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2231 175, -1, -1, -1, 183, 184, 185, 186, 183, 184,
2232 185, 1, 187, 188, 189, -1, 6, 7, 8, -1,
2233 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2234 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
2235 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2236 -1, -1, 42, 43, -1, 45, 46, 47, 48, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
2239 70, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2241 -1, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2242 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
2243 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
2244 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2245 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2246 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2247 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2248 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2249 170, 171, 172, 173, 174, 175, -1, -1, -1, -1,
2250 -1, -1, -1, 183, 184, 185, 186, 187, 188, 189,
2251 1, -1, -1, -1, -1, 6, 7, 8, -1, 10,
2252 11, 12, 13, 14, 15, 16, 17, 18, 19, -1,
2253 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2254 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2255 -1, 42, 43, -1, -1, 46, 47, 48, -1, -1,
2256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2257 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2258 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2260 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2261 -1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
2262 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2263 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2264 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2265 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2266 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2267 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2268 171, 172, 173, 174, 175, -1, -1, -1, -1, -1,
2269 -1, -1, 183, 184, 185, 186, 187, 188, 189, 1,
2270 -1, -1, -1, -1, 6, 7, 8, -1, -1, 11,
2271 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
2272 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2273 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2274 42, 43, -1, -1, 46, 47, 48, -1, -1, -1,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, 67, 68, 69, 70, -1,
2277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2279 -1, 93, 94, 95, 96, 97, 98, -1, -1, -1,
2280 -1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
2281 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2282 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2283 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2284 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2285 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2286 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2287 172, 173, 174, 175, -1, -1, -1, -1, -1, -1,
2288 -1, 183, 184, 185, 186, 187, 188, 189, 1, -1,
2289 -1, -1, -1, 6, 7, 8, -1, -1, 11, 12,
2290 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2291 -1, 24, 25, -1, -1, -1, 29, 30, 31, 32,
2292 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2293 43, 1, -1, 46, 47, 48, 6, 7, 8, -1,
2294 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2295 -1, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2296 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2297 -1, -1, 42, 43, -1, -1, 46, 47, 48, 92,
2298 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2299 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2300 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2302 -1, -1, 92, 93, 94, 95, 96, 97, 98, -1,
2303 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2304 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2306 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2307 183, 184, 185, 186, 187, 188, -1, -1, 1, -1,
2308 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2309 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2310 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2311 33, 34, -1, 183, 184, 185, 186, 187, 188, 42,
2312 43, 1, -1, 46, 47, 48, 6, 7, 8, -1,
2313 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2314 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2315 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2316 -1, -1, 42, 43, -1, -1, 46, 47, 48, 92,
2317 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2318 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2319 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, -1, 92, 93, 94, 95, 96, 97, 98, -1,
2322 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2323 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2326 183, 184, 185, 186, 187, 188, -1, -1, 1, -1,
2327 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2328 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2329 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2330 33, 34, -1, 183, 184, 185, 186, 187, 188, 42,
2331 43, 1, -1, 46, 47, 48, 6, 7, 8, -1,
2332 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2333 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2334 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2335 -1, -1, 42, 43, -1, -1, 46, 47, 48, -1,
2336 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2337 -1, -1, -1, -1, 107, -1, -1, -1, 111, -1,
2338 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2339 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2340 -1, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2341 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2342 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
2343 -1, -1, -1, -1, -1, -1, -1, 24, 25, -1,
2344 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2345 183, 184, 185, 186, 187, 188, -1, -1, 1, 46,
2346 47, 48, -1, 6, 7, 8, -1, 10, 11, 12,
2347 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2348 -1, 24, -1, 70, -1, -1, 29, 30, 31, 32,
2349 33, 34, -1, 183, 184, 185, 186, 187, 188, 42,
2350 43, -1, -1, 46, 47, 48, -1, -1, -1, -1,
2351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2352 -1, -1, -1, -1, 111, -1, -1, 70, -1, -1,
2353 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2354 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2355 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2356 -1, -1, -1, -1, 107, 6, 7, 8, 111, 10,
2357 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2358 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2359 31, 32, 33, 34, -1, -1, 183, 184, 185, 186,
2360 -1, 42, 43, -1, 45, 46, 47, 48, -1, -1,
2361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2362 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2363 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2364 183, 184, 185, 186, 187, 188, -1, -1, -1, -1,
2365 -1, -1, 93, 94, 95, 96, 97, 98, -1, -1,
2366 -1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
2367 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
2368 121, -1, 123, 124, 125, 126, 127, 128, 129, 130,
2369 131, 132, 133, 134, 135, 136, 137, -1, 139, 140,
2370 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2371 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2372 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2373 171, 172, 173, 174, 175, 176, -1, -1, 179, -1,
2374 -1, 182, 183, 184, 185, 186, 187, 188, 189, 6,
2375 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2376 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2377 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2378 -1, -1, -1, -1, -1, 42, 43, -1, 45, 46,
2379 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2381 -1, -1, -1, 70, 71, -1, -1, -1, -1, -1,
2382 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2383 -1, -1, -1, -1, -1, -1, 93, 94, 95, 96,
2384 97, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2385 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2386 117, 118, 119, 120, 121, -1, 123, 124, 125, 126,
2387 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2388 137, -1, 139, 140, 141, 142, 143, 144, 145, 146,
2389 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2390 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2391 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2392 -1, -1, 179, -1, -1, 182, 183, 184, 185, 186,
2393 187, 188, 189, 6, 7, 8, -1, 10, 11, 12,
2394 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2395 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2396 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2397 43, -1, 45, 46, 47, 48, -1, -1, -1, -1,
2398 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2399 -1, -1, -1, -1, -1, -1, -1, 70, 71, -1,
2400 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2402 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2403 -1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
2404 113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
2405 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2406 133, 134, 135, 136, 137, -1, 139, 140, 141, 142,
2407 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2408 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2409 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2410 173, 174, 175, 176, -1, -1, 179, -1, -1, 182,
2411 183, 184, 185, 186, 187, 188, 189, 6, 7, 8,
2412 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2413 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
2414 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, 46, 47, 48,
2416 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2417 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2418 -1, 70, -1, 29, 30, 31, 32, 33, 34, -1,
2419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2420 46, 47, 48, -1, 93, 94, 95, 96, 97, 98,
2421 -1, -1, -1, -1, -1, -1, -1, -1, 107, -1,
2422 24, -1, 111, -1, 70, 29, 30, 31, 32, 33,
2423 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2424 -1, -1, 46, 47, 48, -1, -1, 93, 94, 95,
2425 96, 97, 98, -1, -1, -1, -1, -1, -1, -1,
2426 -1, 107, -1, -1, -1, 111, 70, -1, -1, -1,
2427 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2428 -1, -1, -1, -1, -1, -1, -1, 176, -1, -1,
2429 179, -1, -1, 182, 183, 184, 185, 186, 187, 188,
2430 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
2431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2433 176, -1, -1, 179, -1, -1, 182, 183, 184, 185,
2434 186, 187, 188, 6, 7, 8, -1, 10, 11, 12,
2435 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
2436 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2437 33, 34, -1, -1, -1, -1, -1, -1, -1, 183,
2438 184, 185, 186, 46, 47, 48, 6, 7, 8, -1,
2439 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2440 20, -1, -1, -1, 24, -1, -1, 70, -1, 29,
2441 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2442 -1, -1, -1, -1, -1, -1, 46, 47, 48, -1,
2443 93, 94, 95, 96, 97, 98, -1, -1, -1, -1,
2444 -1, -1, -1, -1, 107, -1, 24, -1, 111, -1,
2445 70, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2446 -1, -1, -1, -1, -1, -1, -1, -1, 46, 47,
2447 48, -1, -1, 93, 94, 95, 96, 97, 98, -1,
2448 -1, -1, -1, -1, -1, -1, -1, 107, -1, -1,
2449 -1, 111, 70, -1, -1, -1, -1, -1, -1, -1,
2450 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2451 -1, -1, -1, 176, -1, -1, 179, -1, -1, 182,
2452 183, 184, 185, 186, 187, 188, -1, -1, -1, -1,
2453 -1, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2454 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2455 -1, -1, -1, -1, -1, -1, 176, -1, -1, 179,
2456 -1, -1, 182, 183, 184, 185, 186, 187, 188, 6,
2457 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
2458 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2459 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2460 -1, -1, -1, -1, -1, 183, 184, 185, 186, 46,
2461 47, 48, 6, 7, 8, -1, 10, 11, 12, 13,
2462 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2463 24, -1, -1, 70, -1, 29, 30, 31, 32, 33,
2464 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2465 -1, -1, 46, 47, 48, -1, 93, 94, 95, 96,
2466 97, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2467 107, -1, 24, -1, 111, -1, 70, 29, 30, 31,
2468 32, 33, 34, 24, -1, -1, -1, -1, 29, 30,
2469 31, 32, 33, 34, 46, 47, 48, -1, -1, 93,
2470 94, 95, 96, 97, 98, 46, 47, 48, -1, -1,
2471 -1, -1, -1, 107, -1, -1, -1, 111, 70, -1,
2472 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2473 -1, -1, -1, -1, -1, -1, -1, -1, -1, 176,
2474 -1, -1, 179, -1, -1, 182, 183, 184, 185, 186,
2475 187, 188, -1, -1, -1, -1, -1, -1, -1, 111,
2476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2477 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2478 -1, -1, 176, -1, -1, 179, -1, -1, 182, 183,
2479 184, 185, 186, 187, 188, 6, 7, 8, -1, 10,
2480 11, 12, 13, 14, 15, 16, 17, 18, 19, -1,
2481 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
2482 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
2483 -1, 183, 184, 185, 186, 46, 47, 48, -1, -1,
2484 -1, -1, 183, 184, 185, 186, -1, -1, -1, -1,
2485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2488 -1, -1, 93, 94, 95, 96, 97, 98, 18, -1,
2489 -1, -1, -1, -1, -1, -1, 107, -1, -1, -1,
2490 111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2491 -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
2492 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2493 33, 34, -1, -1, -1, -1, -1, 67, 68, 69,
2494 -1, 71, -1, 46, 47, 48, -1, -1, -1, -1,
2495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2496 -1, -1, -1, -1, -1, 176, -1, 70, 179, -1,
2497 -1, 182, 183, 184, 185, 186, 187, 188, 108, 109,
2498 110, -1, 112, 113, 114, 115, 116, 117, 118, 119,
2499 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2500 130, 131, 132, 133, 134, 135, 136, 137, 111, 139,
2501 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2502 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2503 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2504 170, 171, 172, 173, 174, 175, 18, -1, -1, -1,
2505 -1, -1, -1, -1, -1, 185, -1, -1, -1, 189,
2506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2507 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
2508 183, 184, 185, 186, -1, -1, -1, -1, -1, -1,
2509 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2510 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2511 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
2512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2513 -1, -1, -1, -1, -1, -1, 108, 109, 110, -1,
2514 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2515 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2516 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2517 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2518 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2519 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2520 172, 173, 174, 175, 19, -1, -1, -1, -1, 24,
2521 -1, -1, -1, 185, -1, -1, -1, 189, -1, -1,
2522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2523 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2525 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, 108, 109, 110, -1, 112, 113, 114,
2530 115, 116, 117, 118, 119, 120, 121, -1, 123, 124,
2531 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2532 135, 136, 137, -1, 139, 140, 141, 142, 143, 144,
2533 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2534 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2535 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2536 175, 19, -1, -1, -1, -1, -1, -1, -1, -1,
2537 185, -1, -1, -1, 189, -1, -1, -1, -1, -1,
2538 -1, -1, -1, -1, -1, -1, -1, 45, -1, -1,
2539 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2541 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2542 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2544 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2545 108, 109, 110, -1, 112, 113, 114, 115, 116, 117,
2546 118, 119, 120, 121, -1, 123, 124, 125, 126, 127,
2547 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2548 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2549 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2550 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2551 168, 169, 170, 171, 172, 173, 174, 175, -1, -1,
2552 -1, -1, -1, -1, -1, -1, -1, 185, 108, 109,
2553 110, 189, 112, 113, 114, 115, 116, 117, 118, 119,
2554 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2555 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2556 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2557 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2558 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2559 170, 171, 172, 173, 174, 175, 22, -1, -1, -1,
2560 -1, -1, -1, -1, -1, 185, -1, -1, -1, 189,
2561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2564 -1, 67, 68, 69, -1, -1, -1, -1, -1, -1,
2565 -1, -1, -1, -1, -1, -1, -1, -1, -1, 85,
2566 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2568 -1, -1, 108, 109, 110, -1, 112, 113, 114, 115,
2569 116, 117, 118, 119, 120, 121, -1, 123, 124, 125,
2570 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2571 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
2572 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2573 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2574 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2575 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2576 34, -1, -1, 189, -1, -1, -1, -1, -1, -1,
2577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2578 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2579 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2582 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2583 -1, -1, -1, -1, 108, 109, 110, -1, 112, 113,
2584 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2585 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2586 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2587 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2588 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2589 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2590 174, 175, 42, 43, -1, -1, -1, -1, -1, 183,
2591 184, 185, -1, 187, 188, 189, -1, -1, -1, -1,
2592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2593 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2596 -1, -1, -1, -1, -1, -1, -1, -1, 108, 109,
2597 110, -1, 112, 113, 114, 115, 116, 117, 118, 119,
2598 120, 121, -1, 123, 124, 125, 126, 127, 128, 129,
2599 130, 131, 132, 133, 134, 135, 136, 137, -1, 139,
2600 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
2601 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
2602 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
2603 170, 171, 172, 173, 174, 175, 45, -1, -1, -1,
2604 -1, -1, -1, -1, -1, 185, -1, -1, -1, 189,
2605 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2606 69, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2607 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2608 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2609 -1, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2610 109, 110, -1, 112, 113, 114, 115, 116, 117, 118,
2611 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
2612 129, 130, 131, 132, 133, 134, 135, 136, 137, -1,
2613 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2614 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2615 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2616 169, 170, 171, 172, 173, 174, 175, 45, -1, -1,
2617 -1, -1, -1, -1, -1, -1, 185, -1, -1, -1,
2618 189, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2619 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2621 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2623 108, 109, 110, -1, 112, 113, 114, 115, 116, 117,
2624 118, 119, 120, 121, -1, 123, 124, 125, 126, 127,
2625 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2626 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2627 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2628 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2629 168, 169, 170, 171, 172, 173, 174, 175, 67, 68,
2630 69, -1, -1, -1, -1, -1, -1, 185, -1, -1,
2631 -1, 189, -1, -1, -1, -1, -1, -1, -1, -1,
2632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2633 -1, -1, -1, -1, -1, -1, -1, -1, -1, 108,
2634 109, 110, -1, 112, 113, 114, 115, 116, 117, 118,
2635 119, 120, 121, -1, 123, 124, 125, 126, 127, 128,
2636 129, 130, 131, 132, 133, 134, 135, 136, 137, -1,
2637 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2638 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2639 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2640 169, 170, 171, 172, 173, 174, 175, 89, 90, 91,
2641 -1, -1, -1, -1, -1, -1, 185, -1, -1, -1,
2642 189, -1, -1, -1, -1, -1, 108, 109, 110, -1,
2643 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2644 -1, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2645 132, 133, 134, 135, 136, 137, -1, 139, 140, 141,
2646 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2647 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2648 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2649 172, 173, 174, 175, -1, -1, -1, -1, -1, -1,
2650 -1, -1, -1, 185, 108, 109, 110, 189, 112, 113,
2651 114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
2652 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2653 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
2654 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2655 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2656 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2657 174, 175, -1, -1, -1, -1, -1, -1, -1, -1,
2658 -1, 185, -1, -1, -1, 189
2659};
2660/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
9280addf 2661#line 3 "/gnu/share/bison.simple"
3aaedf88 2662
2663/* Skeleton output parser for bison,
2664 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2665
2666 This program is free software; you can redistribute it and/or modify
2667 it under the terms of the GNU General Public License as published by
2668 the Free Software Foundation; either version 2, or (at your option)
2669 any later version.
2670
2671 This program is distributed in the hope that it will be useful,
2672 but WITHOUT ANY WARRANTY; without even the implied warranty of
2673 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2674 GNU General Public License for more details.
2675
2676 You should have received a copy of the GNU General Public License
2677 along with this program; if not, write to the Free Software
2678 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
2679
2680/* As a special exception, when this file is copied by Bison into a
2681 Bison output file, you may use that output file without restriction.
2682 This special exception was added by the Free Software Foundation
2683 in version 1.24 of Bison. */
2684
2685#ifndef alloca
2686#ifdef __GNUC__
2687#define alloca __builtin_alloca
2688#else /* not GNU C. */
2689#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
2690#include <alloca.h>
2691#else /* not sparc */
2692#if defined (MSDOS) && !defined (__TURBOC__)
2693#include <malloc.h>
2694#else /* not MSDOS, or __TURBOC__ */
2695#if defined(_AIX)
2696#include <malloc.h>
2697 #pragma alloca
2698#else /* not MSDOS, __TURBOC__, or _AIX */
2699#ifdef __hpux
2700#ifdef __cplusplus
2701extern "C" {
2702void *alloca (unsigned int);
2703};
2704#else /* not __cplusplus */
2705void *alloca ();
2706#endif /* not __cplusplus */
2707#endif /* __hpux */
2708#endif /* not _AIX */
2709#endif /* not MSDOS, or __TURBOC__ */
2710#endif /* not sparc. */
2711#endif /* not GNU C. */
2712#endif /* alloca not defined. */
2713
2714/* This is the parser code that is written into each bison parser
2715 when the %semantic_parser declaration is not specified in the grammar.
2716 It was written by Richard Stallman by simplifying the hairy parser
2717 used when %semantic_parser is specified. */
2718
2719/* Note: there must be only one dollar sign in this file.
2720 It is replaced by the list of actions, each action
2721 as one case of the switch. */
2722
2723#define yyerrok (yyerrstatus = 0)
2724#define yyclearin (yychar = YYEMPTY)
2725#define YYEMPTY -2
2726#define YYEOF 0
2727#define YYACCEPT return(0)
2728#define YYABORT return(1)
2729#define YYERROR goto yyerrlab1
2730/* Like YYERROR except do call yyerror.
2731 This remains here temporarily to ease the
2732 transition to the new meaning of YYERROR, for GCC.
2733 Once GCC version 2 has supplanted version 1, this can go. */
2734#define YYFAIL goto yyerrlab
2735#define YYRECOVERING() (!!yyerrstatus)
2736#define YYBACKUP(token, value) \
2737do \
2738 if (yychar == YYEMPTY && yylen == 1) \
2739 { yychar = (token), yylval = (value); \
2740 yychar1 = YYTRANSLATE (yychar); \
2741 YYPOPSTACK; \
2742 goto yybackup; \
2743 } \
2744 else \
2745 { yyerror ("syntax error: cannot back up"); YYERROR; } \
2746while (0)
2747
2748#define YYTERROR 1
2749#define YYERRCODE 256
2750
2751#ifndef YYPURE
2752#define YYLEX yylex()
2753#endif
2754
2755#ifdef YYPURE
2756#ifdef YYLSP_NEEDED
2757#ifdef YYLEX_PARAM
2758#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
2759#else
2760#define YYLEX yylex(&yylval, &yylloc)
2761#endif
2762#else /* not YYLSP_NEEDED */
2763#ifdef YYLEX_PARAM
2764#define YYLEX yylex(&yylval, YYLEX_PARAM)
2765#else
2766#define YYLEX yylex(&yylval)
2767#endif
2768#endif /* not YYLSP_NEEDED */
2769#endif
2770
2771/* If nonreentrant, generate the variables here */
2772
2773#ifndef YYPURE
2774
2775int yychar; /* the lookahead symbol */
2776YYSTYPE yylval; /* the semantic value of the */
2777 /* lookahead symbol */
2778
2779#ifdef YYLSP_NEEDED
2780YYLTYPE yylloc; /* location data for the lookahead */
2781 /* symbol */
2782#endif
2783
2784int yynerrs; /* number of parse errors so far */
2785#endif /* not YYPURE */
2786
2787#if YYDEBUG != 0
2788int yydebug; /* nonzero means print parse trace */
2789/* Since this is uninitialized, it does not stop multiple parsers
2790 from coexisting. */
2791#endif
2792
2793/* YYINITDEPTH indicates the initial size of the parser's stacks */
2794
2795#ifndef YYINITDEPTH
2796#define YYINITDEPTH 200
2797#endif
2798
2799/* YYMAXDEPTH is the maximum size the stacks can grow to
2800 (effective only if the built-in stack extension method is used). */
2801
2802#if YYMAXDEPTH == 0
2803#undef YYMAXDEPTH
2804#endif
2805
2806#ifndef YYMAXDEPTH
2807#define YYMAXDEPTH 10000
2808#endif
2809
2810/* Prevent warning if -Wstrict-prototypes. */
2811#ifdef __GNUC__
2812int yyparse (void);
2813#endif
2814\f
2815#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
2816#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
2817#else /* not GNU C or C++ */
2818#ifndef __cplusplus
2819
2820/* This is the most reliable way to avoid incompatibilities
2821 in available built-in functions on various systems. */
2822static void
2823__yy_memcpy (to, from, count)
2824 char *to;
2825 char *from;
2826 int count;
2827{
2828 register char *f = from;
2829 register char *t = to;
2830 register int i = count;
2831
2832 while (i-- > 0)
2833 *t++ = *f++;
2834}
2835
2836#else /* __cplusplus */
2837
2838/* This is the most reliable way to avoid incompatibilities
2839 in available built-in functions on various systems. */
2840static void
2841__yy_memcpy (char *to, char *from, int count)
2842{
2843 register char *f = from;
2844 register char *t = to;
2845 register int i = count;
2846
2847 while (i-- > 0)
2848 *t++ = *f++;
2849}
2850
2851#endif
2852#endif
2853\f
9280addf 2854#line 196 "/gnu/share/bison.simple"
3aaedf88 2855
2856/* The user can define YYPARSE_PARAM as the name of an argument to be passed
2857 into yyparse. The argument should have type void *.
2858 It should actually point to an object.
2859 Grammar actions can access the variable by casting it
2860 to the proper pointer type. */
2861
2862#ifdef YYPARSE_PARAM
2863#ifdef __cplusplus
2864#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2865#define YYPARSE_PARAM_DECL
2866#else /* not __cplusplus */
2867#define YYPARSE_PARAM_ARG YYPARSE_PARAM
2868#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2869#endif /* not __cplusplus */
2870#else /* not YYPARSE_PARAM */
2871#define YYPARSE_PARAM_ARG
2872#define YYPARSE_PARAM_DECL
2873#endif /* not YYPARSE_PARAM */
2874
2875int
2876yyparse(YYPARSE_PARAM_ARG)
2877 YYPARSE_PARAM_DECL
2878{
2879 register int yystate;
2880 register int yyn;
2881 register short *yyssp;
2882 register YYSTYPE *yyvsp;
2883 int yyerrstatus; /* number of tokens to shift before error messages enabled */
2884 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
2885
2886 short yyssa[YYINITDEPTH]; /* the state stack */
2887 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
2888
2889 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
2890 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
2891
2892#ifdef YYLSP_NEEDED
2893 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
2894 YYLTYPE *yyls = yylsa;
2895 YYLTYPE *yylsp;
2896
2897#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
2898#else
2899#define YYPOPSTACK (yyvsp--, yyssp--)
2900#endif
2901
2902 int yystacksize = YYINITDEPTH;
2903
2904#ifdef YYPURE
2905 int yychar;
2906 YYSTYPE yylval;
2907 int yynerrs;
2908#ifdef YYLSP_NEEDED
2909 YYLTYPE yylloc;
2910#endif
2911#endif
2912
2913 YYSTYPE yyval; /* the variable used to return */
2914 /* semantic values from the action */
2915 /* routines */
2916
2917 int yylen;
2918
2919#if YYDEBUG != 0
2920 if (yydebug)
2921 fprintf(stderr, "Starting parse\n");
2922#endif
2923
2924 yystate = 0;
2925 yyerrstatus = 0;
2926 yynerrs = 0;
2927 yychar = YYEMPTY; /* Cause a token to be read. */
2928
2929 /* Initialize stack pointers.
2930 Waste one element of value and location stack
2931 so that they stay on the same level as the state stack.
2932 The wasted elements are never initialized. */
2933
2934 yyssp = yyss - 1;
2935 yyvsp = yyvs;
2936#ifdef YYLSP_NEEDED
2937 yylsp = yyls;
2938#endif
2939
2940/* Push a new state, which is found in yystate . */
2941/* In all cases, when you get here, the value and location stacks
2942 have just been pushed. so pushing a state here evens the stacks. */
2943yynewstate:
2944
2945 *++yyssp = yystate;
2946
2947 if (yyssp >= yyss + yystacksize - 1)
2948 {
2949 /* Give user a chance to reallocate the stack */
2950 /* Use copies of these so that the &'s don't force the real ones into memory. */
2951 YYSTYPE *yyvs1 = yyvs;
2952 short *yyss1 = yyss;
2953#ifdef YYLSP_NEEDED
2954 YYLTYPE *yyls1 = yyls;
2955#endif
2956
2957 /* Get the current used size of the three stacks, in elements. */
2958 int size = yyssp - yyss + 1;
2959
2960#ifdef yyoverflow
2961 /* Each stack pointer address is followed by the size of
2962 the data in use in that stack, in bytes. */
2963#ifdef YYLSP_NEEDED
2964 /* This used to be a conditional around just the two extra args,
2965 but that might be undefined if yyoverflow is a macro. */
2966 yyoverflow("parser stack overflow",
2967 &yyss1, size * sizeof (*yyssp),
2968 &yyvs1, size * sizeof (*yyvsp),
2969 &yyls1, size * sizeof (*yylsp),
2970 &yystacksize);
2971#else
2972 yyoverflow("parser stack overflow",
2973 &yyss1, size * sizeof (*yyssp),
2974 &yyvs1, size * sizeof (*yyvsp),
2975 &yystacksize);
2976#endif
2977
2978 yyss = yyss1; yyvs = yyvs1;
2979#ifdef YYLSP_NEEDED
2980 yyls = yyls1;
2981#endif
2982#else /* no yyoverflow */
2983 /* Extend the stack our own way. */
2984 if (yystacksize >= YYMAXDEPTH)
2985 {
2986 yyerror("parser stack overflow");
2987 return 2;
2988 }
2989 yystacksize *= 2;
2990 if (yystacksize > YYMAXDEPTH)
2991 yystacksize = YYMAXDEPTH;
2992 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
2993 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
2994 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
2995 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
2996#ifdef YYLSP_NEEDED
2997 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
2998 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
2999#endif
3000#endif /* no yyoverflow */
3001
3002 yyssp = yyss + size - 1;
3003 yyvsp = yyvs + size - 1;
3004#ifdef YYLSP_NEEDED
3005 yylsp = yyls + size - 1;
3006#endif
3007
3008#if YYDEBUG != 0
3009 if (yydebug)
3010 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3011#endif
3012
3013 if (yyssp >= yyss + yystacksize - 1)
3014 YYABORT;
3015 }
3016
3017#if YYDEBUG != 0
3018 if (yydebug)
3019 fprintf(stderr, "Entering state %d\n", yystate);
3020#endif
3021
3022 goto yybackup;
3023 yybackup:
3024
3025/* Do appropriate processing given the current state. */
3026/* Read a lookahead token if we need one and don't already have one. */
3027/* yyresume: */
3028
3029 /* First try to decide what to do without reference to lookahead token. */
3030
3031 yyn = yypact[yystate];
3032 if (yyn == YYFLAG)
3033 goto yydefault;
3034
3035 /* Not known => get a lookahead token if don't already have one. */
3036
3037 /* yychar is either YYEMPTY or YYEOF
3038 or a valid token in external form. */
3039
3040 if (yychar == YYEMPTY)
3041 {
3042#if YYDEBUG != 0
3043 if (yydebug)
3044 fprintf(stderr, "Reading a token: ");
3045#endif
3046 yychar = YYLEX;
3047 }
3048
3049 /* Convert token to internal form (in yychar1) for indexing tables with */
3050
3051 if (yychar <= 0) /* This means end of input. */
3052 {
3053 yychar1 = 0;
3054 yychar = YYEOF; /* Don't call YYLEX any more */
3055
3056#if YYDEBUG != 0
3057 if (yydebug)
3058 fprintf(stderr, "Now at end of input.\n");
3059#endif
3060 }
3061 else
3062 {
3063 yychar1 = YYTRANSLATE(yychar);
3064
3065#if YYDEBUG != 0
3066 if (yydebug)
3067 {
3068 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3069 /* Give the individual parser a way to print the precise meaning
3070 of a token, for further debugging info. */
3071#ifdef YYPRINT
3072 YYPRINT (stderr, yychar, yylval);
3073#endif
3074 fprintf (stderr, ")\n");
3075 }
3076#endif
3077 }
3078
3079 yyn += yychar1;
3080 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3081 goto yydefault;
3082
3083 yyn = yytable[yyn];
3084
3085 /* yyn is what to do for this token type in this state.
3086 Negative => reduce, -yyn is rule number.
3087 Positive => shift, yyn is new state.
3088 New state is final state => don't bother to shift,
3089 just return success.
3090 0, or most negative number => error. */
3091
3092 if (yyn < 0)
3093 {
3094 if (yyn == YYFLAG)
3095 goto yyerrlab;
3096 yyn = -yyn;
3097 goto yyreduce;
3098 }
3099 else if (yyn == 0)
3100 goto yyerrlab;
3101
3102 if (yyn == YYFINAL)
3103 YYACCEPT;
3104
3105 /* Shift the lookahead token. */
3106
3107#if YYDEBUG != 0
3108 if (yydebug)
3109 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3110#endif
3111
3112 /* Discard the token being shifted unless it is eof. */
3113 if (yychar != YYEOF)
3114 yychar = YYEMPTY;
3115
3116 *++yyvsp = yylval;
3117#ifdef YYLSP_NEEDED
3118 *++yylsp = yylloc;
3119#endif
3120
3121 /* count tokens shifted since error; after three, turn off error status. */
3122 if (yyerrstatus) yyerrstatus--;
3123
3124 yystate = yyn;
3125 goto yynewstate;
3126
3127/* Do the default action for the current state. */
3128yydefault:
3129
3130 yyn = yydefact[yystate];
3131 if (yyn == 0)
3132 goto yyerrlab;
3133
3134/* Do a reduction. yyn is the number of a rule to reduce with. */
3135yyreduce:
3136 yylen = yyr2[yyn];
3137 if (yylen > 0)
3138 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3139
3140#if YYDEBUG != 0
3141 if (yydebug)
3142 {
3143 int i;
3144
3145 fprintf (stderr, "Reducing via rule %d (line %d), ",
3146 yyn, yyrline[yyn]);
3147
3148 /* Print the symbols being reduced, and their result. */
3149 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3150 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3151 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3152 }
3153#endif
3154
3155
3156 switch (yyn) {
3157
3158case 5:
3159#line 277 "cgrammar.y"
3160{ uentry_clearDecl (); ;
3161 break;}
3162case 6:
3163#line 278 "cgrammar.y"
3164{ uentry_clearDecl (); ;
3165 break;}
3166case 7:
3167#line 279 "cgrammar.y"
3168{ uentry_clearDecl (); ;
3169 break;}
3170case 8:
3171#line 280 "cgrammar.y"
3172{ uentry_clearDecl (); ;
3173 break;}
3174case 9:
3175#line 281 "cgrammar.y"
3176{ uentry_clearDecl (); ;
3177 break;}
3178case 10:
3179#line 282 "cgrammar.y"
3180{ uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3181 break;}
3182case 11:
3183#line 283 "cgrammar.y"
3184{ uentry_clearDecl (); ;
3185 break;}
3186case 12:
3187#line 287 "cgrammar.y"
3188{ checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3189 break;}
3190case 13:
3191#line 289 "cgrammar.y"
3192{ checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3193 break;}
3194case 14:
3195#line 292 "cgrammar.y"
3196{ context_enterFunctionDecl (); ;
3197 break;}
3198case 15:
3199#line 293 "cgrammar.y"
3200{ declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3201 context_exitFunctionDecl (); ;
3202 break;}
3203case 16:
3204#line 298 "cgrammar.y"
3205{
3206 qtype qint = qtype_create (ctype_int);
3207 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3208 qtype_free (qint);
3209 ;
3210 break;}
3211case 17:
3212#line 304 "cgrammar.y"
3213{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3214 break;}
3215case 19:
3216#line 309 "cgrammar.y"
3217{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3218 break;}
3219case 20:
3220#line 312 "cgrammar.y"
3221{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3222 break;}
3223case 21:
3224#line 314 "cgrammar.y"
3225{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3226 break;}
3227case 22:
3228#line 316 "cgrammar.y"
3229{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3230 break;}
3231case 23:
3232#line 318 "cgrammar.y"
3233{
3234 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), exprNode_getLongValue (yyvsp[-2].expr)));
3235 ;
3236 break;}
3237case 24:
3238#line 322 "cgrammar.y"
3239{ setCurrentParams (uentryList_missingParams);
3240 ;
3241 break;}
3242case 25:
3243#line 325 "cgrammar.y"
3244{ /* need to support globals and modifies here! */
3245 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp),
3246 uentryList_makeMissingParams ());
3247
3248 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ct);
3249 context_popLoc ();
3250 ;
3251 break;}
3252case 26:
3253#line 333 "cgrammar.y"
3254{ setCurrentParams (yyvsp[-1].entrylist);
3255 ;
3256 break;}
3257case 27:
3258#line 336 "cgrammar.y"
3259{ clearCurrentParams ();
3260 yyval.ntyp = idDecl_replaceCtype (yyvsp[-7].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-7].ntyp), yyvsp[-4].entrylist));
3261 context_popLoc ();
3262
3263 // printf("Done nameDeclBase\n");
3264 ;
3265 break;}
3266case 28:
3267#line 344 "cgrammar.y"
3268{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3269 break;}
3270case 29:
3271#line 346 "cgrammar.y"
3272{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3273 break;}
3274case 30:
3275#line 348 "cgrammar.y"
3276{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3277 break;}
3278case 31:
3279#line 350 "cgrammar.y"
3280{
3281 int value;
3282
3283 if (exprNode_hasValue (yyvsp[-2].expr)
3284 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3285 {
3286 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3287 }
3288 else
3289 {
3290 value = 0;
3291 }
3292
3293 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3294 ;
3295 break;}
3296case 32:
3297#line 366 "cgrammar.y"
3298{ setCurrentParams (uentryList_missingParams);
3299 ;
3300 break;}
3301case 33:
3302#line 369 "cgrammar.y"
3303{ /* need to support globals and modifies here! */
3304 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3305 uentryList_makeMissingParams ());
3306
3307 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3308 context_popLoc ();
3309 ;
3310 break;}
3311case 34:
3312#line 377 "cgrammar.y"
3313{ setCurrentParams (yyvsp[-1].entrylist);
3314 ;
3315 break;}
3316case 35:
3317#line 380 "cgrammar.y"
3318{ clearCurrentParams ();
3319 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3320 context_popLoc ();
3321 ;
3322 break;}
3323case 36:
3324#line 387 "cgrammar.y"
3325{ setCurrentParams (yyvsp[-1].entrylist); ;
3326 break;}
3327case 37:
3328#line 388 "cgrammar.y"
3329{ clearCurrentParams (); ;
3330 break;}
3331case 38:
3332#line 389 "cgrammar.y"
3333{ declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3334 break;}
3335case 39:
3336#line 392 "cgrammar.y"
3337{ exprNode_checkMacroBody (yyvsp[-1].expr); ;
3338 break;}
3339case 40:
3340#line 393 "cgrammar.y"
3341{ exprNode_checkIterBody (yyvsp[-1].expr); ;
3342 break;}
3343case 41:
3344#line 394 "cgrammar.y"
3345{ exprNode_checkIterEnd (yyvsp[-1].expr); ;
3346 break;}
3347case 42:
3348#line 395 "cgrammar.y"
3349{ exprChecks_checkEmptyMacroBody (); ;
3350 break;}
3351case 43:
3352#line 398 "cgrammar.y"
3353{ declareFunction (yyvsp[0].ntyp); ;
3354 break;}
3355case 44:
3356#line 401 "cgrammar.y"
3357{ setProcessingGlobMods (); ;
3358 break;}
3359case 45:
3360#line 402 "cgrammar.y"
3361{ clearProcessingGlobMods (); ;
3362 break;}
3363case 46:
3364#line 408 "cgrammar.y"
3365{ setProcessingGlobMods (); ;
3366 break;}
3367case 47:
3368#line 409 "cgrammar.y"
3369{ clearProcessingGlobMods (); ;
3370 break;}
3371case 49:
3372#line 417 "cgrammar.y"
3373{
3374 DPRINTF ( ("doing optGlobEnsuresConstraintsAux\n") );
3375context_setProtectVars (); enterParamsTemp ();
3376 sRef_setGlobalScopeSafe ();
3377
3378;
3379 break;}
3380case 50:
3381#line 423 "cgrammar.y"
3382{
3383 setEnsuresConstraints (yyvsp[-1].conL);
3384 exitParamsTemp ();
3385 sRef_clearGlobalScopeSafe ();
3386 context_releaseVars ();
3387 DPRINTF (("done optGlobBufConstraintsAux\n"));;
3388 break;}
3389case 52:
3390#line 433 "cgrammar.y"
3391{
3392 DPRINTF ( ("doing optGlobBufConstraintsAux\n") );
3393context_setProtectVars (); enterParamsTemp ();
3394 sRef_setGlobalScopeSafe ();
3395
3396;
3397 break;}
3398case 53:
3399#line 439 "cgrammar.y"
3400{
3401 setFunctionConstraints (yyvsp[-1].conL);
3402 exitParamsTemp ();
3403 sRef_clearGlobalScopeSafe ();
3404 context_releaseVars ();
3405 DPRINTF (("done optGlobBufConstraintsAux\n"));;
3406 break;}
3407case 55:
3408#line 448 "cgrammar.y"
3409{ yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-1].con); ;
3410 break;}
3411case 56:
3412#line 449 "cgrammar.y"
3413{constraintList c; c = constraintList_new(); c = constraintList_add (c, yyvsp[0].con); yyval.conL = c;
3414 break;}
3415case 57:
3416#line 452 "cgrammar.y"
3417{
3418 yyval.con = makeConstraintParse3 (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE);
3419 DPRINTF(("Done BufConstraint1\n")); ;
3420 break;}
3421case 64:
3422#line 467 "cgrammar.y"
3423{yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3424 break;}
3425case 65:
3426#line 468 "cgrammar.y"
3427{
3428 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3429 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3430 break;}
3431case 66:
3432#line 473 "cgrammar.y"
3433{ yyval.conE = constraintExpr_makeTermsRef(yyvsp[0].sr);;
3434 break;}
3435case 67:
3436#line 474 "cgrammar.y"
3437{ char *t; int c;
3438 t = cstring_toCharsSafe (exprNode_unparse(yyvsp[0].expr));
3439 c = atoi( t );
3440 yyval.conE = constraintExpr_makeIntLiteral (c);
3441;
3442 break;}
3443case 68:
3444#line 482 "cgrammar.y"
3445{
3446 yyval.sr =
3447 checkbufferConstraintClausesId (yyvsp[0].entry);;
3448 break;}
3449case 69:
3450#line 485 "cgrammar.y"
3451{ yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
3452 break;}
3453case 70:
3454#line 487 "cgrammar.y"
3455{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3456 break;}
3457case 71:
3458#line 488 "cgrammar.y"
3459{
3460 char *t; int c;
3461 t = cstring_toCharsSafe (exprNode_unparse(yyvsp[-1].expr));
3462 c = atoi( t );
3463 yyval.sr = sRef_makeArrayFetchKnown(yyvsp[-3].sr, c); ;
3464 break;}
3465case 72:
3466#line 493 "cgrammar.y"
3467{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3468 break;}
3469case 73:
3470#line 494 "cgrammar.y"
3471{ yyval.sr = yyvsp[-1].sr; ;
3472 break;}
3473case 74:
3474#line 495 "cgrammar.y"
3475{ cstring_markOwned (yyvsp[0].cname);
3476 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3477 break;}
3478case 75:
3479#line 497 "cgrammar.y"
3480{ cstring_markOwned (yyvsp[0].cname);
3481 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3482 break;}
3483case 79:
3484#line 523 "cgrammar.y"
3485{ setProcessingGlobMods (); ;
3486 break;}
3487case 80:
3488#line 524 "cgrammar.y"
3489{ clearProcessingGlobMods (); ;
3490 break;}
3491case 81:
3492#line 534 "cgrammar.y"
3493{ setProcessingGlobMods (); ;
3494 break;}
3495case 82:
3496#line 535 "cgrammar.y"
3497{ clearProcessingGlobMods (); ;
3498 break;}
3499case 89:
3500#line 550 "cgrammar.y"
3501{ ; ;
3502 break;}
3503case 90:
3504#line 551 "cgrammar.y"
3505{ ; ;
3506 break;}
3507case 91:
3508#line 554 "cgrammar.y"
3509{ globListAdd (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3510 break;}
3511case 92:
3512#line 557 "cgrammar.y"
3513{ yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3514 break;}
3515case 93:
3516#line 558 "cgrammar.y"
3517{ yyval.sr = globListUnrecognized (yyvsp[0].cname); ;
3518 break;}
3519case 94:
3520#line 561 "cgrammar.y"
3521{ yyval.typequal = qual_createUndef (); ;
3522 break;}
3523case 95:
3524#line 562 "cgrammar.y"
3525{ yyval.typequal = qual_createKilled (); ;
3526 break;}
3527case 96:
3528#line 563 "cgrammar.y"
3529{ yyval.typequal = qual_createOut (); ;
3530 break;}
3531case 97:
3532#line 564 "cgrammar.y"
3533{ yyval.typequal = qual_createIn (); ;
3534 break;}
3535case 98:
3536#line 565 "cgrammar.y"
3537{ yyval.typequal = qual_createPartial (); ;
3538 break;}
3539case 99:
3540#line 568 "cgrammar.y"
3541{ yyval.tquallist = qualList_undefined; ;
3542 break;}
3543case 100:
3544#line 569 "cgrammar.y"
3545{ yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3546 break;}
3547case 101:
3548#line 572 "cgrammar.y"
3549{ setProcessingGlobalsList (); ;
3550 break;}
3551case 102:
3552#line 574 "cgrammar.y"
3553{ unsetProcessingGlobals (); ;
3554 break;}
3555case 103:
3556#line 575 "cgrammar.y"
3557{ setProcessingGlobalsList (); ;
3558 break;}
3559case 104:
3560#line 577 "cgrammar.y"
3561{ unsetProcessingGlobals (); ;
3562 break;}
3563case 105:
3564#line 579 "cgrammar.y"
3565{ setFunctionNoGlobals ();
3566 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3567 ;
3568 break;}
3569case 108:
3570#line 586 "cgrammar.y"
3571{ setProcessingGlobalsList (); ;
3572 break;}
3573case 109:
3574#line 588 "cgrammar.y"
3575{ unsetProcessingGlobals (); ;
3576 break;}
3577case 110:
3578#line 589 "cgrammar.y"
3579{ setProcessingGlobalsList (); ;
3580 break;}
3581case 111:
3582#line 591 "cgrammar.y"
3583{ unsetProcessingGlobals (); ;
3584 break;}
3585case 112:
3586#line 593 "cgrammar.y"
3587{ setFunctionNoGlobals ();
3588 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3589 ;
3590 break;}
3591case 117:
3592#line 605 "cgrammar.y"
3593{
3594 context_setProtectVars (); enterParamsTemp ();
3595 sRef_setGlobalScopeSafe ();
3596 ;
3597 break;}
3598case 118:
3599#line 610 "cgrammar.y"
3600{
3601 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3602 sRef_clearGlobalScopeSafe ();
3603 context_releaseVars ();
3604 ;
3605 break;}
3606case 119:
3607#line 618 "cgrammar.y"
3608{
3609 context_setProtectVars (); enterParamsTemp ();
3610 sRef_setGlobalScopeSafe ();
3611 ;
3612 break;}
3613case 120:
3614#line 623 "cgrammar.y"
3615{
3616 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3617 sRef_clearGlobalScopeSafe ();
3618 context_releaseVars ();
3619 ;
3620 break;}
3621case 130:
3622#line 647 "cgrammar.y"
3623{ yyval.sck = SP_ISONLY; ;
3624 break;}
3625case 131:
3626#line 648 "cgrammar.y"
3627{ yyval.sck = SP_ISOBSERVER; ;
3628 break;}
3629case 132:
3630#line 649 "cgrammar.y"
3631{ yyval.sck = SP_ISEXPOSED; ;
3632 break;}
3633case 133:
3634#line 650 "cgrammar.y"
3635{ yyval.sck = SP_ISDEPENDENT; ;
3636 break;}
3637case 134:
3638#line 651 "cgrammar.y"
3639{ yyval.sck = SP_ISOWNED; ;
3640 break;}
3641case 135:
3642#line 652 "cgrammar.y"
3643{ yyval.sck = SP_ISSHARED; ;
3644 break;}
3645case 136:
3646#line 653 "cgrammar.y"
3647{ yyval.sck = SP_ISNULL; ;
3648 break;}
3649case 137:
3650#line 654 "cgrammar.y"
3651{ yyval.sck = SP_ISNOTNULL; ;
3652 break;}
3653case 138:
3654#line 658 "cgrammar.y"
3655{
3656 context_setProtectVars ();
3657 enterParamsTemp ();
3658 sRef_setGlobalScopeSafe ();
3659 ;
3660 break;}
3661case 139:
3662#line 664 "cgrammar.y"
3663{
3664 setFunctionSpecialClause (yyvsp[-6].tok, yyvsp[-3].srset, yyvsp[-1].tok);
3665 exitParamsTemp ();
3666 sRef_clearGlobalScopeSafe ();
3667 context_releaseVars ();
3668 ;
3669 break;}
3670case 140:
3671#line 671 "cgrammar.y"
3672{
3673 context_setProtectVars ();
3674 enterParamsTemp ();
3675 sRef_setGlobalScopeSafe ();
3676 ;
3677 break;}
3678case 141:
3679#line 677 "cgrammar.y"
3680{
3681 setFunctionStateSpecialClause (yyvsp[-7].tok, yyvsp[-5].sck, yyvsp[-3].srset, yyvsp[-1].tok);
3682 exitParamsTemp ();
3683 sRef_clearGlobalScopeSafe ();
3684 context_releaseVars ();
3685 ;
3686 break;}
3687case 142:
3688#line 686 "cgrammar.y"
3689{
3690 qtype qint = qtype_create (ctype_int);
3691 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3692 qtype_free (qint);
3693 ;
3694 break;}
3695case 143:
3696#line 692 "cgrammar.y"
3697{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3698 break;}
3699case 144:
3700#line 695 "cgrammar.y"
3701{ checkDoneParams (); context_enterInnerContext (); ;
3702 break;}
3703case 145:
3704#line 697 "cgrammar.y"
3705{
3706 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3707 context_exitInner (yyvsp[0].expr);
3708 ;
3709 break;}
3710case 146:
3711#line 702 "cgrammar.y"
3712{ doneParams (); context_enterInnerContext (); ;
3713 break;}
3714case 147:
3715#line 704 "cgrammar.y"
3716{
3717 context_exitInner (yyvsp[0].expr);
3718 exprNode_checkFunctionBody (yyvsp[0].expr);
3719 yyval.expr = yyvsp[0].expr; /* old style */
3720 ;
3721 break;}
3722case 148:
3723#line 712 "cgrammar.y"
3724{
3725 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
3726 /* exprNode_checkFunction (context_getHeader (), $2); */
3727 /* DRL 8 8 2000 */
3728
3729 context_exitFunction ();
3730 ;
3731 break;}
3732case 149:
3733#line 721 "cgrammar.y"
3734{ yyval.srset = yyvsp[-2].srset; ;
3735 break;}
3736case 150:
3737#line 722 "cgrammar.y"
3738{ yyval.srset = sRefSet_new (); ;
3739 break;}
3740case 151:
3741#line 725 "cgrammar.y"
3742{ yyval.srset = yyvsp[-1].srset; ;
3743 break;}
3744case 152:
3745#line 726 "cgrammar.y"
3746{ yyval.srset = sRefSet_new (); ;
3747 break;}
3748case 153:
3749#line 729 "cgrammar.y"
3750{ yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3751 break;}
3752case 154:
3753#line 730 "cgrammar.y"
3754{ yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3755 break;}
3756case 155:
3757#line 731 "cgrammar.y"
3758{ yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3759 break;}
3760case 156:
3761#line 732 "cgrammar.y"
3762{ yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3763 break;}
3764case 157:
3765#line 733 "cgrammar.y"
3766{ yyval.sr = modListPointer (yyvsp[0].sr); ;
3767 break;}
3768case 158:
3769#line 734 "cgrammar.y"
3770{ yyval.sr = yyvsp[-1].sr; ;
3771 break;}
3772case 159:
3773#line 735 "cgrammar.y"
3774{ yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3775 break;}
3776case 160:
3777#line 736 "cgrammar.y"
3778{ yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3779 break;}
3780case 161:
3781#line 740 "cgrammar.y"
3782{ yyval.sr = yyvsp[0].sr; ;
3783 break;}
3784case 162:
3785#line 741 "cgrammar.y"
3786{ yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3787 break;}
3788case 163:
3789#line 745 "cgrammar.y"
3790{ yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3791 break;}
3792case 164:
3793#line 746 "cgrammar.y"
3794{ yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3795 break;}
3796case 165:
3797#line 750 "cgrammar.y"
3798{ yyval.sr = checkSpecClausesId (yyvsp[0].entry); ;
3799 break;}
3800case 166:
3801#line 752 "cgrammar.y"
3802{ yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
3803 break;}
3804case 167:
3805#line 753 "cgrammar.y"
3806{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3807 break;}
3808case 168:
3809#line 754 "cgrammar.y"
3810{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3811 break;}
3812case 169:
3813#line 755 "cgrammar.y"
3814{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3815 break;}
3816case 170:
3817#line 756 "cgrammar.y"
3818{ yyval.sr = yyvsp[-1].sr; ;
3819 break;}
3820case 171:
3821#line 757 "cgrammar.y"
3822{ cstring_markOwned (yyvsp[0].cname);
3823 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3824 break;}
3825case 172:
3826#line 759 "cgrammar.y"
3827{ cstring_markOwned (yyvsp[0].cname);
3828 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3829 break;}
3830case 173:
3831#line 764 "cgrammar.y"
3832{ if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3833 else { yyval.srset = sRefSet_undefined; }
3834 ;
3835 break;}
3836case 174:
3837#line 768 "cgrammar.y"
3838{ if (sRef_isValid (yyvsp[0].sr))
3839 {
3840 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3841 }
3842 else
3843 {
3844 yyval.srset = yyvsp[-2].srset;
3845 }
3846 ;
3847 break;}
3848case 175:
3849#line 779 "cgrammar.y"
3850{ yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3851 break;}
3852case 176:
3853#line 780 "cgrammar.y"
3854{ yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3855 break;}
3856case 177:
3857#line 781 "cgrammar.y"
3858{ yyval.expr = yyvsp[0].expr; ;
3859 break;}
3860case 178:
3861#line 782 "cgrammar.y"
3862{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3863 break;}
3864case 179:
3865#line 783 "cgrammar.y"
3866{ yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3867 break;}
3868case 180:
3869#line 784 "cgrammar.y"
3870{ yyval.expr = exprNode_makeError (); ;
3871 break;}
3872case 182:
3873#line 788 "cgrammar.y"
3874{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3875 break;}
3876case 183:
3877#line 789 "cgrammar.y"
3878{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3879 break;}
3880case 184:
3881#line 790 "cgrammar.y"
3882{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
3883 break;}
3884case 185:
3885#line 791 "cgrammar.y"
3886{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3887 break;}
3888case 186:
3889#line 792 "cgrammar.y"
3890{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3891 break;}
3892case 187:
3893#line 793 "cgrammar.y"
3894{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3895 break;}
3896case 188:
3897#line 794 "cgrammar.y"
3898{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3899 break;}
3900case 189:
3901#line 795 "cgrammar.y"
3902{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3903 break;}
3904case 190:
3905#line 798 "cgrammar.y"
3906{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3907 break;}
3908case 191:
3909#line 799 "cgrammar.y"
3910{ yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3911 break;}
3912case 193:
3913#line 803 "cgrammar.y"
3914{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3915 break;}
3916case 194:
3917#line 804 "cgrammar.y"
3918{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3919 break;}
3920case 195:
3921#line 805 "cgrammar.y"
3922{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3923 break;}
3924case 196:
3925#line 806 "cgrammar.y"
3926{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3927 break;}
3928case 197:
3929#line 807 "cgrammar.y"
3930{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3931 break;}
3932case 198:
3933#line 808 "cgrammar.y"
3934{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3935 break;}
3936case 199:
3937#line 809 "cgrammar.y"
3938{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3939 break;}
3940case 200:
3941#line 810 "cgrammar.y"
3942{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3943 break;}
3944case 201:
3945#line 811 "cgrammar.y"
3946{ yyval.expr = yyvsp[0].expr; ;
3947 break;}
3948case 202:
3949#line 812 "cgrammar.y"
3950{ yyval.expr = yyvsp[0].expr; ;
3951 break;}
3952case 203:
3953#line 815 "cgrammar.y"
3954{ yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3955 break;}
3956case 204:
3957#line 816 "cgrammar.y"
3958{ yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3959 break;}
3960case 205:
3961#line 820 "cgrammar.y"
3962{ yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3963 break;}
3964case 206:
3965#line 823 "cgrammar.y"
3966{ context_setProtectVars (); ;
3967 break;}
3968case 207:
3969#line 824 "cgrammar.y"
3970{ context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3971 break;}
3972case 208:
3973#line 827 "cgrammar.y"
3974{ yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3975 break;}
3976case 209:
3977#line 828 "cgrammar.y"
3978{ yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3979 break;}
3980case 210:
3981#line 829 "cgrammar.y"
3982{ yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3983 break;}
3984case 211:
3985#line 830 "cgrammar.y"
3986{ yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3987 break;}
3988case 213:
3989#line 835 "cgrammar.y"
3990{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3991 break;}
3992case 215:
3993#line 839 "cgrammar.y"
3994{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3995 break;}
3996case 216:
3997#line 840 "cgrammar.y"
3998{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3999 break;}
4000case 217:
4001#line 841 "cgrammar.y"
4002{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4003 break;}
4004case 219:
4005#line 845 "cgrammar.y"
4006{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4007 break;}
4008case 220:
4009#line 846 "cgrammar.y"
4010{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4011 break;}
4012case 222:
4013#line 850 "cgrammar.y"
4014{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4015 break;}
4016case 223:
4017#line 851 "cgrammar.y"
4018{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4019 break;}
4020case 225:
4021#line 855 "cgrammar.y"
4022{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4023 break;}
4024case 226:
4025#line 856 "cgrammar.y"
4026{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4027 break;}
4028case 227:
4029#line 857 "cgrammar.y"
4030{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4031 break;}
4032case 228:
4033#line 858 "cgrammar.y"
4034{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4035 break;}
4036case 230:
4037#line 862 "cgrammar.y"
4038{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4039 break;}
4040case 231:
4041#line 863 "cgrammar.y"
4042{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4043 break;}
4044case 233:
4045#line 867 "cgrammar.y"
4046{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4047 break;}
4048case 235:
4049#line 871 "cgrammar.y"
4050{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4051 break;}
4052case 237:
4053#line 876 "cgrammar.y"
4054{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4055 break;}
4056case 239:
4057#line 881 "cgrammar.y"
4058{ exprNode_produceGuards (yyvsp[-1].expr);
4059 context_enterAndClause (yyvsp[-1].expr);
4060 ;
4061 break;}
4062case 240:
4063#line 885 "cgrammar.y"
4064{
4065 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4066 context_exitAndClause (yyval.expr, yyvsp[0].expr);
4067 ;
4068 break;}
4069case 242:
4070#line 893 "cgrammar.y"
4071{
4072 exprNode_produceGuards (yyvsp[-1].expr);
4073 context_enterOrClause (yyvsp[-1].expr);
4074 ;
4075 break;}
4076case 243:
4077#line 898 "cgrammar.y"
4078{
4079 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
4080 context_exitOrClause (yyval.expr, yyvsp[0].expr);
4081 ;
4082 break;}
4083case 245:
4084#line 905 "cgrammar.y"
4085{ exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4086 break;}
4087case 246:
4088#line 906 "cgrammar.y"
4089{ context_enterFalseClause (yyvsp[-4].expr); ;
4090 break;}
4091case 247:
4092#line 907 "cgrammar.y"
4093{ yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
4094 break;}
4095case 249:
4096#line 911 "cgrammar.y"
4097{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4098 break;}
4099case 250:
4100#line 912 "cgrammar.y"
4101{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4102 break;}
4103case 251:
4104#line 913 "cgrammar.y"
4105{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4106 break;}
4107case 252:
4108#line 914 "cgrammar.y"
4109{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4110 break;}
4111case 253:
4112#line 915 "cgrammar.y"
4113{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4114 break;}
4115case 254:
4116#line 916 "cgrammar.y"
4117{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4118 break;}
4119case 255:
4120#line 917 "cgrammar.y"
4121{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4122 break;}
4123case 256:
4124#line 918 "cgrammar.y"
4125{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4126 break;}
4127case 257:
4128#line 919 "cgrammar.y"
4129{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4130 break;}
4131case 258:
4132#line 920 "cgrammar.y"
4133{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4134 break;}
4135case 259:
4136#line 921 "cgrammar.y"
4137{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4138 break;}
4139case 261:
4140#line 925 "cgrammar.y"
4141{ yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
4142 break;}
4143case 262:
4144#line 928 "cgrammar.y"
4145{ yyval.expr = exprNode_undefined; ;
4146 break;}
4147case 265:
4148#line 937 "cgrammar.y"
4149{ yyval.expr = yyvsp[0].expr; ;
4150 break;}
4151case 266:
4152#line 938 "cgrammar.y"
4153{ doVaDcl (); yyval.expr = exprNode_makeError (); ;
4154 break;}
4155case 267:
4156#line 939 "cgrammar.y"
4157{ yyval.expr = exprNode_makeError (); ;
4158 break;}
4159case 268:
4160#line 942 "cgrammar.y"
4161{ yyval.expr = exprNode_makeError (); ;
4162 break;}
4163case 269:
4164#line 956 "cgrammar.y"
4165{
4166 setProcessingVars (yyvsp[-3].qtyp);
4167 processNamedDecl (yyvsp[-1].ntyp); ;
4168 break;}
4169case 270:
4170#line 959 "cgrammar.y"
4171{ unsetProcessingVars (); yyval.expr = yyvsp[-2].expr; ;
4172 break;}
4173case 271:
4174#line 961 "cgrammar.y"
4175{ setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp);
4176 ;
4177 break;}
4178case 272:
4179#line 964 "cgrammar.y"
4180{ yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
4181 unsetProcessingVars ();
4182 ;
4183 break;}
4184case 273:
4185#line 968 "cgrammar.y"
4186{ processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeError (); ;
4187 break;}
4188case 274:
4189#line 969 "cgrammar.y"
4190{ processNamedDecl (yyvsp[-2].ntyp); ;
4191 break;}
4192case 275:
4193#line 970 "cgrammar.y"
4194{ yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4195 break;}
4196case 276:
4197#line 974 "cgrammar.y"
4198{ setProcessingTypedef (yyvsp[0].qtyp); ;
4199 break;}
4200case 277:
4201#line 975 "cgrammar.y"
4202{ unsetProcessingTypedef (); ;
4203 break;}
4204case 278:
4205#line 976 "cgrammar.y"
4206{ /* in the ANSI grammar, semantics unclear */ ;
4207 break;}
4208case 279:
4209#line 977 "cgrammar.y"
4210{ /* in the ANSI grammar, semantics unclear */ ;
4211 break;}
4212case 280:
4213#line 980 "cgrammar.y"
4214{ g_expectingTypeName = TRUE; ;
4215 break;}
4216case 281:
4217#line 983 "cgrammar.y"
4218{ g_expectingTypeName = TRUE; context_pushLoc (); ;
4219 break;}
4220case 282:
4221#line 986 "cgrammar.y"
4222{ ; ;
4223 break;}
4224case 283:
4225#line 989 "cgrammar.y"
4226{ ; ;
4227 break;}
4228case 284:
4229#line 990 "cgrammar.y"
4230{ ; ;
4231 break;}
4232case 285:
4233#line 993 "cgrammar.y"
4234{ yyval.expr = exprNode_makeError (); ;
4235 break;}
4236case 286:
4237#line 994 "cgrammar.y"
4238{ yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4239 break;}
4240case 287:
4241#line 997 "cgrammar.y"
4242{ yyval.expr = yyvsp[0].expr; ;
4243 break;}
4244case 288:
4245#line 998 "cgrammar.y"
4246{ yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].alist); ;
4247 break;}
4248case 289:
4249#line 999 "cgrammar.y"
4250{ yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].alist); ;
4251 break;}
4252case 290:
4253#line 1004 "cgrammar.y"
4254{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
4255 break;}
4256case 291:
4257#line 1006 "cgrammar.y"
4258{ yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
4259 break;}
4260case 292:
4261#line 1014 "cgrammar.y"
4262{ setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4263 break;}
4264case 293:
4265#line 1015 "cgrammar.y"
4266{ yyval.typequal = qual_createInline (); ;
4267 break;}
4268case 294:
4269#line 1016 "cgrammar.y"
4270{ setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4271 break;}
4272case 295:
4273#line 1017 "cgrammar.y"
4274{ yyval.typequal = qual_createAuto (); ;
4275 break;}
4276case 296:
4277#line 1018 "cgrammar.y"
4278{ yyval.typequal = qual_createRegister (); ;
4279 break;}
4280case 297:
4281#line 1021 "cgrammar.y"
4282{ yyval.typequal = qual_createConst (); ;
4283 break;}
4284case 298:
4285#line 1022 "cgrammar.y"
4286{ yyval.typequal = qual_createVolatile (); ;
4287 break;}
4288case 299:
4289#line 1023 "cgrammar.y"
4290{ yyval.typequal = qual_createOut (); ;
4291 break;}
4292case 300:
4293#line 1024 "cgrammar.y"
4294{ yyval.typequal = qual_createIn (); ;
4295 break;}
4296case 301:
4297#line 1025 "cgrammar.y"
4298{ yyval.typequal = qual_createPartial (); ;
4299 break;}
4300case 302:
4301#line 1026 "cgrammar.y"
4302{ yyval.typequal = qual_createSpecial (); ;
4303 break;}
4304case 303:
4305#line 1027 "cgrammar.y"
4306{ yyval.typequal = qual_createOwned (); ;
4307 break;}
4308case 304:
4309#line 1028 "cgrammar.y"
4310{ yyval.typequal = qual_createDependent (); ;
4311 break;}
4312case 305:
4313#line 1029 "cgrammar.y"
4314{ yyval.typequal = qual_createYield (); ;
4315 break;}
4316case 306:
4317#line 1030 "cgrammar.y"
4318{ yyval.typequal = qual_createTemp (); ;
4319 break;}
4320case 307:
4321#line 1031 "cgrammar.y"
4322{ yyval.typequal = qual_createOnly (); ;
4323 break;}
4324case 308:
4325#line 1032 "cgrammar.y"
4326{ yyval.typequal = qual_createKeep (); ;
4327 break;}
4328case 309:
4329#line 1033 "cgrammar.y"
4330{ yyval.typequal = qual_createKept (); ;
4331 break;}
4332case 310:
4333#line 1034 "cgrammar.y"
4334{ yyval.typequal = qual_createShared (); ;
4335 break;}
4336case 311:
4337#line 1035 "cgrammar.y"
4338{ yyval.typequal = qual_createUnique (); ;
4339 break;}
4340case 312:
4341#line 1036 "cgrammar.y"
4342{ yyval.typequal = qual_createExits (); ;
4343 break;}
4344case 313:
4345#line 1037 "cgrammar.y"
4346{ yyval.typequal = qual_createMayExit (); ;
4347 break;}
4348case 314:
4349#line 1038 "cgrammar.y"
4350{ yyval.typequal = qual_createTrueExit (); ;
4351 break;}
4352case 315:
4353#line 1039 "cgrammar.y"
4354{ yyval.typequal = qual_createFalseExit (); ;
4355 break;}
4356case 316:
4357#line 1040 "cgrammar.y"
4358{ yyval.typequal = qual_createNeverExit (); ;
4359 break;}
4360case 317:
4361#line 1041 "cgrammar.y"
4362{ yyval.typequal = qual_createNull (); ;
4363 break;}
4364case 318:
4365#line 1042 "cgrammar.y"
4366{ yyval.typequal = qual_createRelNull (); ;
4367 break;}
4368case 319:
4369#line 1043 "cgrammar.y"
4370{ yyval.typequal = qual_createReturned (); ;
4371 break;}
4372case 320:
4373#line 1044 "cgrammar.y"
4374{ yyval.typequal = qual_createExposed (); ;
4375 break;}
4376case 321:
4377#line 1045 "cgrammar.y"
4378{ yyval.typequal = qual_createObserver (); ;
4379 break;}
4380case 322:
4381#line 1046 "cgrammar.y"
4382{ yyval.typequal = qual_createChecked (); ;
4383 break;}
4384case 323:
4385#line 1047 "cgrammar.y"
4386{ yyval.typequal = qual_createCheckMod (); ;
4387 break;}
4388case 324:
4389#line 1048 "cgrammar.y"
4390{ yyval.typequal = qual_createUnchecked (); ;
4391 break;}
4392case 325:
4393#line 1049 "cgrammar.y"
4394{ yyval.typequal = qual_createCheckedStrict (); ;
4395 break;}
4396case 326:
4397#line 1050 "cgrammar.y"
4398{ yyval.typequal = qual_createTrueNull (); ;
4399 break;}
4400case 327:
4401#line 1051 "cgrammar.y"
4402{ yyval.typequal = qual_createFalseNull (); ;
4403 break;}
4404case 328:
4405#line 1052 "cgrammar.y"
4406{ yyval.typequal = qual_createUnused (); ;
4407 break;}
4408case 329:
4409#line 1053 "cgrammar.y"
4410{ yyval.typequal = qual_createExternal (); ;
4411 break;}
4412case 330:
4413#line 1054 "cgrammar.y"
4414{ yyval.typequal = qual_createSef (); ;
4415 break;}
4416case 331:
4417#line 1055 "cgrammar.y"
4418{ yyval.typequal = qual_createAbstract (); ;
4419 break;}
4420case 332:
4421#line 1056 "cgrammar.y"
4422{ yyval.typequal = qual_createConcrete (); ;
4423 break;}
4424case 333:
4425#line 1057 "cgrammar.y"
4426{ yyval.typequal = qual_createMutable (); ;
4427 break;}
4428case 334:
4429#line 1058 "cgrammar.y"
4430{ yyval.typequal = qual_createImmutable (); ;
4431 break;}
4432case 335:
4433#line 1059 "cgrammar.y"
4434{ yyval.typequal = qual_createNotNull (); ;
4435 break;}
4436case 336:
4437#line 1060 "cgrammar.y"
4438{ yyval.typequal = qual_createRefCounted (); ;
4439 break;}
4440case 337:
4441#line 1061 "cgrammar.y"
4442{ yyval.typequal = qual_createRefs (); ;
4443 break;}
4444case 338:
4445#line 1062 "cgrammar.y"
4446{ yyval.typequal = qual_createKillRef (); ;
4447 break;}
4448case 339:
4449#line 1063 "cgrammar.y"
4450{ yyval.typequal = qual_createRelDef (); ;
4451 break;}
4452case 340:
4453#line 1064 "cgrammar.y"
4454{ yyval.typequal = qual_createNewRef (); ;
4455 break;}
4456case 341:
4457#line 1065 "cgrammar.y"
4458{ yyval.typequal = qual_createTempRef (); ;
4459 break;}
4460case 342:
4461#line 1066 "cgrammar.y"
4462{ yyval.typequal = qual_createNullTerminated (); ;
4463 break;}
4464case 343:
4465#line 1072 "cgrammar.y"
4466{ yyval.typequal = qual_createShort (); ;
4467 break;}
4468case 344:
4469#line 1073 "cgrammar.y"
4470{ yyval.typequal = qual_createLong (); ;
4471 break;}
4472case 345:
4473#line 1074 "cgrammar.y"
4474{ yyval.typequal = qual_createSigned (); ;
4475 break;}
4476case 346:
4477#line 1075 "cgrammar.y"
4478{ yyval.typequal = qual_createUnsigned (); ;
4479 break;}
4480case 353:
4481#line 1084 "cgrammar.y"
4482{ yyval.ctyp = ctype_unknown; ;
4483 break;}
4484case 354:
4485#line 1085 "cgrammar.y"
4486{ yyval.ctyp = ctype_anyintegral; ;
4487 break;}
4488case 355:
4489#line 1086 "cgrammar.y"
4490{ yyval.ctyp = ctype_unsignedintegral; ;
4491 break;}
4492case 356:
4493#line 1087 "cgrammar.y"
4494{ yyval.ctyp = ctype_signedintegral; ;
4495 break;}
4496case 360:
4497#line 1091 "cgrammar.y"
4498{ yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4499 break;}
4500case 361:
4501#line 1095 "cgrammar.y"
4502{ yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4503 break;}
4504case 362:
4505#line 1098 "cgrammar.y"
4506{ yyval.qtyp = yyvsp[0].qtyp; ;
4507 break;}
4508case 363:
4509#line 1100 "cgrammar.y"
4510{ yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4511 break;}
4512case 365:
4513#line 1105 "cgrammar.y"
4514{ yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4515 break;}
4516case 366:
4517#line 1108 "cgrammar.y"
4518{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4519 break;}
4520case 367:
4521#line 1109 "cgrammar.y"
4522{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4523 break;}
4524case 368:
4525#line 1110 "cgrammar.y"
4526{ yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4527 break;}
4528case 369:
4529#line 1113 "cgrammar.y"
4530{ yyval.qtyp = qtype_unknown (); ;
4531 break;}
4532case 370:
4533#line 1114 "cgrammar.y"
4534{ yyval.qtyp = yyvsp[0].qtyp; ;
4535 break;}
4536case 371:
4537#line 1117 "cgrammar.y"
4538{ sRef_setGlobalScopeSafe (); ;
4539 break;}
4540case 372:
4541#line 1119 "cgrammar.y"
4542{ sRef_clearGlobalScopeSafe (); ;
4543 break;}
4544case 373:
4545#line 1121 "cgrammar.y"
4546{ yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
4547 break;}
4548case 374:
4549#line 1122 "cgrammar.y"
4550{ sRef_setGlobalScopeSafe (); ;
4551 break;}
4552case 375:
4553#line 1124 "cgrammar.y"
4554{ sRef_clearGlobalScopeSafe (); ;
4555 break;}
4556case 376:
4557#line 1126 "cgrammar.y"
4558{ yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4559 break;}
4560case 377:
4561#line 1128 "cgrammar.y"
4562{ yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4563 break;}
4564case 378:
4565#line 1130 "cgrammar.y"
4566{ yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4567 break;}
4568case 379:
4569#line 1131 "cgrammar.y"
4570{ sRef_setGlobalScopeSafe (); ;
4571 break;}
4572case 380:
4573#line 1133 "cgrammar.y"
4574{ sRef_clearGlobalScopeSafe (); ;
4575 break;}
4576case 381:
4577#line 1135 "cgrammar.y"
4578{ yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4579 break;}
4580case 382:
4581#line 1136 "cgrammar.y"
4582{ sRef_setGlobalScopeSafe (); ;
4583 break;}
4584case 383:
4585#line 1138 "cgrammar.y"
4586{ sRef_clearGlobalScopeSafe (); ;
4587 break;}
4588case 384:
4589#line 1140 "cgrammar.y"
4590{ yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4591 break;}
4592case 385:
4593#line 1142 "cgrammar.y"
4594{ yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4595 break;}
4596case 386:
4597#line 1144 "cgrammar.y"
4598{ yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4599 break;}
4600case 387:
4601#line 1145 "cgrammar.y"
4602{ yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4603 break;}
4604case 388:
4605#line 1146 "cgrammar.y"
4606{ yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4607 break;}
4608case 389:
4609#line 1149 "cgrammar.y"
4610{ g_expectingTypeName = FALSE; ;
4611 break;}
4612case 391:
4613#line 1153 "cgrammar.y"
4614{ yyval.flist = uentryList_undefined; /* bogus! */ ;
4615 break;}
4616case 392:
4617#line 1154 "cgrammar.y"
4618{ yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4619 break;}
4620case 393:
4621#line 1158 "cgrammar.y"
4622{ yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4623 break;}
4624case 394:
4625#line 1160 "cgrammar.y"
4626{ yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4627 break;}
4628case 395:
4629#line 1164 "cgrammar.y"
4630{ yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4631 break;}
4632case 396:
4633#line 1166 "cgrammar.y"
4634{ yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4635 break;}
4636case 397:
4637#line 1169 "cgrammar.y"
4638{ yyval.ntyp = yyvsp[0].ntyp; ;
4639 break;}
4640case 398:
4641#line 1170 "cgrammar.y"
4642{ yyval.ntyp = idDecl_undefined; ;
4643 break;}
4644case 399:
4645#line 1171 "cgrammar.y"
4646{ yyval.ntyp = yyvsp[-3].ntyp; ;
4647 break;}
4648case 400:
4649#line 1176 "cgrammar.y"
4650{ yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4651 break;}
4652case 401:
4653#line 1177 "cgrammar.y"
4654{ context_pushLoc (); ;
4655 break;}
4656case 402:
4657#line 1178 "cgrammar.y"
4658{ context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4659 break;}
4660case 403:
4661#line 1179 "cgrammar.y"
4662{ yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4663 break;}
4664case 404:
4665#line 1183 "cgrammar.y"
4666{ yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4667 break;}
4668case 405:
4669#line 1185 "cgrammar.y"
4670{ yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4671 break;}
4672case 407:
4673#line 1190 "cgrammar.y"
4674{ uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4675 usymtab_supGlobalEntry (ue);
4676 yyval.cname = yyvsp[0].cname;
4677 ;
4678 break;}
4679case 408:
4680#line 1195 "cgrammar.y"
4681{ uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4682 usymtab_supGlobalEntry (ue);
4683 yyval.cname = yyvsp[-3].cname;
4684 ;
4685 break;}
4686case 410:
4687#line 1202 "cgrammar.y"
4688{ yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4689 break;}
4690case 411:
4691#line 1204 "cgrammar.y"
4692{
4693 qtype qt = qtype_unknown ();
4694
4695 qtype_adjustPointers (yyvsp[-1].count, qt);
4696 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4697 ;
4698 break;}
4699case 412:
4700#line 1211 "cgrammar.y"
4701{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4702 break;}
4703case 414:
4704#line 1216 "cgrammar.y"
4705{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4706 break;}
4707case 415:
4708#line 1219 "cgrammar.y"
4709{ yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4710 break;}
4711case 416:
4712#line 1220 "cgrammar.y"
4713{ yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4714 break;}
4715case 417:
4716#line 1223 "cgrammar.y"
4717{ /* ignored for now */; ;
4718 break;}
4719case 418:
4720#line 1224 "cgrammar.y"
4721{ ; ;
4722 break;}
4723case 419:
4724#line 1227 "cgrammar.y"
4725{ ; ;
4726 break;}
4727case 420:
4728#line 1228 "cgrammar.y"
4729{ ; ;
4730 break;}
4731case 421:
4732#line 1231 "cgrammar.y"
4733{ yyval.count = 1; ;
4734 break;}
4735case 422:
4736#line 1232 "cgrammar.y"
4737{ yyval.count = 1; ;
4738 break;}
4739case 423:
4740#line 1233 "cgrammar.y"
4741{ yyval.count = 1 + yyvsp[0].count; ;
4742 break;}
4743case 424:
4744#line 1234 "cgrammar.y"
4745{ yyval.count = 1 + yyvsp[0].count; ;
4746 break;}
4747case 426:
4748#line 1238 "cgrammar.y"
4749{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4750 break;}
4751case 427:
4752#line 1241 "cgrammar.y"
4753{ yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4754 break;}
4755case 428:
4756#line 1242 "cgrammar.y"
4757{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4758 break;}
4759case 429:
4760#line 1245 "cgrammar.y"
4761{ yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4762 break;}
4763case 431:
4764#line 1247 "cgrammar.y"
4765{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4766 break;}
4767case 432:
4768#line 1250 "cgrammar.y"
4769{ storeLoc (); ;
4770 break;}
4771case 433:
4772#line 1250 "cgrammar.y"
4773{ yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4774 break;}
4775case 434:
4776#line 1251 "cgrammar.y"
4777{ storeLoc (); ;
4778 break;}
4779case 435:
4780#line 1252 "cgrammar.y"
4781{ yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4782 break;}
4783case 436:
4784#line 1256 "cgrammar.y"
4785{
4786 if (isFlipOldStyle ())
4787 {
4788 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4789 }
4790 else
4791 {
4792 setNewStyle ();
4793 }
4794 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4795 ;
4796 break;}
4797case 437:
4798#line 1268 "cgrammar.y"
4799{
4800 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4801
4802 if (isNewStyle ())
4803 {
4804 llparseerror (message ("Inconsistent function parameter syntax: %q",
4805 idDecl_unparse (tparam)));
4806 }
4807
4808 setFlipOldStyle ();
4809 yyval.oentry = makeCurrentParam (tparam);
4810 idDecl_free (tparam);
4811 ;
4812 break;}
4813case 439:
4814#line 1284 "cgrammar.y"
4815{ yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4816 break;}
4817case 440:
4818#line 1287 "cgrammar.y"
4819{ yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4820 break;}
4821case 442:
4822#line 1289 "cgrammar.y"
4823{ yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4824 break;}
4825case 443:
4826#line 1292 "cgrammar.y"
4827{ yyval.ctyp = ctype_unknown; ;
4828 break;}
4829case 445:
4830#line 1297 "cgrammar.y"
4831{ yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4832 break;}
4833case 446:
4834#line 1298 "cgrammar.y"
4835{ yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4836 break;}
4837case 447:
4838#line 1300 "cgrammar.y"
4839{ yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4840 break;}
4841case 448:
4842#line 1301 "cgrammar.y"
4843{ yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4844 break;}
4845case 449:
4846#line 1303 "cgrammar.y"
4847{ yyval.ctyp = ctype_makeFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4848 break;}
4849case 450:
4850#line 1305 "cgrammar.y"
4851{ yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4852 break;}
4853case 451:
4854#line 1307 "cgrammar.y"
4855{ yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4856 break;}
4857case 452:
4858#line 1309 "cgrammar.y"
4859{ yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4860 break;}
4861case 453:
4862#line 1311 "cgrammar.y"
4863{ yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4864 break;}
4865case 463:
4866#line 1326 "cgrammar.y"
4867{yyval.expr = yyvsp[0].expr; printf ("Doing stmt lclintassertion\n"); ;
4868 break;}
4869case 464:
4870#line 1330 "cgrammar.y"
4871{ printf(" QSETBUFFERSIZE id CCONSTANT HEllo World\n"); uentry_setBufferSize(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4872 ;
4873 break;}
4874case 465:
4875#line 1332 "cgrammar.y"
4876{ printf(" QSETSTRINGLENGTH id CCONSTANT HEllo World\n"); uentry_setStringLength(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4877 ;
4878 break;}
4879case 466:
4880#line 1334 "cgrammar.y"
4881{printf(" QTESTINRANGE\n"); uentry_testInRange(yyvsp[-2].entry, yyvsp[-1].expr); yyval.expr = exprNode_createTok (yyvsp[0].tok);
4882 ;
4883 break;}
4884case 467:
4885#line 1340 "cgrammar.y"
4886{ yyval.expr = exprNode_labelMarker (yyvsp[0].cname); ;
4887 break;}
4888case 468:
4889#line 1345 "cgrammar.y"
4890{ yyval.expr = yyvsp[0].expr; ;
4891 break;}
4892case 471:
4893#line 1353 "cgrammar.y"
4894{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4895 break;}
4896case 472:
4897#line 1357 "cgrammar.y"
4898{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4899 break;}
4900case 473:
4901#line 1359 "cgrammar.y"
4902{ yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4903 break;}
4904case 474:
4905#line 1361 "cgrammar.y"
4906{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4907 break;}
4908case 475:
4909#line 1363 "cgrammar.y"
4910{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4911 break;}
4912case 476:
4913#line 1367 "cgrammar.y"
4914{ context_setProtectVars (); ;
4915 break;}
4916case 477:
4917#line 1367 "cgrammar.y"
4918{ context_sizeofReleaseVars (); ;
4919 break;}
4920case 478:
4921#line 1369 "cgrammar.y"
4922{ yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4923 context_enterForClause (yyvsp[-5].expr); ;
4924 break;}
4925case 479:
4926#line 1374 "cgrammar.y"
4927{ setProcessingIterVars (yyvsp[-2].entry); ;
4928 break;}
4929case 480:
4930#line 1376 "cgrammar.y"
4931{ yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].alist); ;
4932 break;}
4933case 481:
4934#line 1377 "cgrammar.y"
4935{ yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4936 break;}
4937case 485:
4938#line 1383 "cgrammar.y"
4939{ yyval.expr = yyvsp[0].expr; ;
4940 break;}
4941case 493:
4942#line 1391 "cgrammar.y"
4943{ yyval.expr = yyvsp[-1].expr; ;
4944 break;}
4945case 494:
4946#line 1392 "cgrammar.y"
4947{ yyval.expr = exprNode_makeError (); ;
4948 break;}
4949case 495:
4950#line 1396 "cgrammar.y"
4951{ /* don't: context_exitTrueClause ($1, $2); */
4952 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4953 ;
4954 break;}
4955case 496:
4956#line 1401 "cgrammar.y"
4957{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4958 break;}
4959case 497:
4960#line 1404 "cgrammar.y"
4961{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4962 break;}
4963case 508:
4964#line 1419 "cgrammar.y"
4965{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4966 break;}
4967case 510:
4968#line 1421 "cgrammar.y"
4969{ yyval.expr = exprNode_makeError (); ;
4970 break;}
4971case 511:
4972#line 1424 "cgrammar.y"
4973{ yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
4974 break;}
4975case 512:
4976#line 1425 "cgrammar.y"
4977{ yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
4978 break;}
4979case 513:
4980#line 1431 "cgrammar.y"
4981{ context_enterCaseClause (yyvsp[0].expr); ;
4982 break;}
4983case 514:
4984#line 1432 "cgrammar.y"
4985{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
4986 break;}
4987case 515:
4988#line 1433 "cgrammar.y"
4989{ context_enterCaseClause (yyvsp[0].expr); ;
4990 break;}
4991case 516:
4992#line 1434 "cgrammar.y"
4993{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
4994 break;}
4995case 517:
4996#line 1437 "cgrammar.y"
4997{ context_enterCaseClause (exprNode_undefined); ;
4998 break;}
4999case 518:
5000#line 1438 "cgrammar.y"
5001{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
5002 break;}
5003case 519:
5004#line 1439 "cgrammar.y"
5005{ context_enterCaseClause (exprNode_undefined); ;
5006 break;}
5007case 520:
5008#line 1440 "cgrammar.y"
5009{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
5010 break;}
5011case 521:
5012#line 1443 "cgrammar.y"
5013{ yyval.expr = yyvsp[-1].expr; ;
5014 break;}
5015case 522:
5016#line 1445 "cgrammar.y"
5017{ yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
5018 break;}
5019case 523:
5020#line 1448 "cgrammar.y"
5021{ yyval.expr = yyvsp[-1].expr; ;
5022 break;}
5023case 524:
5024#line 1451 "cgrammar.y"
5025{ context_enterInnerContext (); ;
5026 break;}
5027case 525:
5028#line 1454 "cgrammar.y"
5029{ context_exitInnerPlain (); ;
5030 break;}
5031case 526:
5032#line 1457 "cgrammar.y"
5033{ context_enterStructInnerContext (); ;
5034 break;}
5035case 527:
5036#line 1460 "cgrammar.y"
5037{ context_exitStructInnerContext (); ;
5038 break;}
5039case 528:
5040#line 1463 "cgrammar.y"
5041{ context_exitInnerSafe (); ;
5042 break;}
5043case 529:
5044#line 1466 "cgrammar.y"
5045{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5046 break;}
5047case 530:
5048#line 1467 "cgrammar.y"
5049{ yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
5050 break;}
5051case 531:
5052#line 1468 "cgrammar.y"
5053{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5054 break;}
5055case 532:
5056#line 1470 "cgrammar.y"
5057{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5058 break;}
5059case 533:
5060#line 1471 "cgrammar.y"
5061{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5062 break;}
5063case 534:
5064#line 1473 "cgrammar.y"
5065{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
5066 break;}
5067case 535:
5068#line 1475 "cgrammar.y"
5069{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5070 break;}
5071case 536:
5072#line 1477 "cgrammar.y"
5073{ yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
5074 lltok_getLoc (yyvsp[-1].tok)));
5075 ;
5076 break;}
5077case 537:
5078#line 1484 "cgrammar.y"
5079{ yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
5080 break;}
5081case 538:
5082#line 1488 "cgrammar.y"
5083{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5084 break;}
5085case 539:
5086#line 1490 "cgrammar.y"
5087{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5088 break;}
5089case 540:
5090#line 1492 "cgrammar.y"
5091{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
5092 break;}
5093case 541:
5094#line 1494 "cgrammar.y"
5095{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
5096 break;}
5097case 543:
5098#line 1498 "cgrammar.y"
5099{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5100 break;}
5101case 544:
5102#line 1501 "cgrammar.y"
5103{ yyval.expr = yyvsp[0].expr; ;
5104 break;}
5105case 545:
5106#line 1502 "cgrammar.y"
5107{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5108 break;}
5109case 546:
5110#line 1505 "cgrammar.y"
5111{ yyval.expr = yyvsp[0].expr; ;
5112 break;}
5113case 547:
5114#line 1506 "cgrammar.y"
5115{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
5116 break;}
5117case 548:
5118#line 1509 "cgrammar.y"
5119{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5120 break;}
5121case 549:
5122#line 1510 "cgrammar.y"
5123{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5124 break;}
5125case 550:
5126#line 1513 "cgrammar.y"
5127{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
5128 break;}
5129case 551:
5130#line 1514 "cgrammar.y"
5131{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
5132 break;}
5133case 552:
5134#line 1515 "cgrammar.y"
5135{ yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
5136 break;}
5137case 553:
5138#line 1519 "cgrammar.y"
5139{ yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
5140 break;}
5141case 554:
5142#line 1527 "cgrammar.y"
5143{
5144 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
5145 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
5146 ;
5147 break;}
5148case 555:
5149#line 1531 "cgrammar.y"
5150{ context_enterFalseClause (yyvsp[-2].expr); ;
5151 break;}
5152case 556:
5153#line 1532 "cgrammar.y"
5154{
5155 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5156 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
5157 ;
5158 break;}
5159case 557:
5160#line 1536 "cgrammar.y"
5161{ context_enterSwitch (yyvsp[0].expr); ;
5162 break;}
5163case 558:
5164#line 1537 "cgrammar.y"
5165{ yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
5166 break;}
5167case 559:
5168#line 1541 "cgrammar.y"
5169{ yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
5170 break;}
5171case 560:
5172#line 1545 "cgrammar.y"
5173{ yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
5174 break;}
5175case 561:
5176#line 1548 "cgrammar.y"
5177{ context_enterIterClause (); ;
5178 break;}
5179case 562:
5180#line 1549 "cgrammar.y"
5181{ setProcessingIterVars (yyvsp[-3].entry); ;
5182 break;}
5183case 563:
5184#line 1552 "cgrammar.y"
5185{
5186 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].alist, yyvsp[-2].expr, yyvsp[-1].entry);
5187
5188 ;
5189 break;}
5190case 564:
5191#line 1558 "cgrammar.y"
5192{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
5193 break;}
5194case 565:
5195#line 1559 "cgrammar.y"
5196{ nextIterParam (); ;
5197 break;}
5198case 566:
5199#line 1560 "cgrammar.y"
5200{ yyval.alist = exprNodeList_push (yyvsp[-3].alist, yyvsp[0].expr); ;
5201 break;}
5202case 567:
5203#line 1563 "cgrammar.y"
5204{ yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5205 break;}
5206case 568:
5207#line 1564 "cgrammar.y"
5208{ yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5209 break;}
5210case 569:
5211#line 1565 "cgrammar.y"
5212{ uentry ue = coerceIterId (yyvsp[0].cname);
5213
5214 if (uentry_isValid (ue))
5215 {
5216 yyval.expr = exprNode_iterId (ue);
5217 }
5218 else
5219 {
5220 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
5221 }
5222 ;
5223 break;}
5224case 570:
5225#line 1576 "cgrammar.y"
5226{ yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
5227 break;}
5228case 572:
5229#line 1584 "cgrammar.y"
5230{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
5231 break;}
5232case 574:
5233#line 1588 "cgrammar.y"
5234{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
5235 break;}
5236case 575:
5237#line 1589 "cgrammar.y"
5238{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
5239 break;}
5240case 576:
5241#line 1590 "cgrammar.y"
5242{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
5243 break;}
5244case 577:
5245#line 1592 "cgrammar.y"
5246{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
5247 break;}
5248case 578:
5249#line 1593 "cgrammar.y"
5250{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
5251 break;}
5252case 579:
5253#line 1594 "cgrammar.y"
5254{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
5255 break;}
5256case 580:
5257#line 1595 "cgrammar.y"
5258{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5259 break;}
5260case 581:
5261#line 1596 "cgrammar.y"
5262{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
5263 break;}
5264case 583:
5265#line 1600 "cgrammar.y"
5266{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5267 break;}
5268case 584:
5269#line 1601 "cgrammar.y"
5270{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5271 break;}
5272case 585:
5273#line 1602 "cgrammar.y"
5274{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5275 break;}
5276case 586:
5277#line 1603 "cgrammar.y"
5278{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5279 break;}
5280case 587:
5281#line 1604 "cgrammar.y"
5282{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5283 break;}
5284case 588:
5285#line 1605 "cgrammar.y"
5286{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5287 break;}
5288case 589:
5289#line 1606 "cgrammar.y"
5290{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5291 break;}
5292case 590:
5293#line 1607 "cgrammar.y"
5294{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5295 break;}
5296case 591:
5297#line 1608 "cgrammar.y"
5298{ yyval.expr = yyvsp[0].expr; ;
5299 break;}
5300case 593:
5301#line 1612 "cgrammar.y"
5302{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5303 break;}
5304case 595:
5305#line 1616 "cgrammar.y"
5306{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5307 break;}
5308case 596:
5309#line 1617 "cgrammar.y"
5310{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5311 break;}
5312case 597:
5313#line 1618 "cgrammar.y"
5314{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5315 break;}
5316case 599:
5317#line 1622 "cgrammar.y"
5318{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5319 break;}
5320case 600:
5321#line 1623 "cgrammar.y"
5322{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5323 break;}
5324case 602:
5325#line 1627 "cgrammar.y"
5326{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5327 break;}
5328case 603:
5329#line 1628 "cgrammar.y"
5330{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5331 break;}
5332case 605:
5333#line 1632 "cgrammar.y"
5334{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5335 break;}
5336case 606:
5337#line 1633 "cgrammar.y"
5338{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5339 break;}
5340case 607:
5341#line 1634 "cgrammar.y"
5342{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5343 break;}
5344case 608:
5345#line 1635 "cgrammar.y"
5346{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5347 break;}
5348case 610:
5349#line 1639 "cgrammar.y"
5350{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5351 break;}
5352case 611:
5353#line 1640 "cgrammar.y"
5354{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5355 break;}
5356case 613:
5357#line 1644 "cgrammar.y"
5358{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5359 break;}
5360case 615:
5361#line 1648 "cgrammar.y"
5362{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5363 break;}
5364case 617:
5365#line 1653 "cgrammar.y"
5366{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5367 break;}
5368case 619:
5369#line 1657 "cgrammar.y"
5370{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5371 break;}
5372case 621:
5373#line 1661 "cgrammar.y"
5374{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5375 break;}
5376case 623:
5377#line 1665 "cgrammar.y"
5378{ context_enterTrueClause (yyvsp[-1].expr); ;
5379 break;}
5380case 624:
5381#line 1666 "cgrammar.y"
5382{ context_enterFalseClause (yyvsp[-4].expr); ;
5383 break;}
5384case 625:
5385#line 1667 "cgrammar.y"
5386{ yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5387 break;}
5388case 627:
5389#line 1671 "cgrammar.y"
5390{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5391 break;}
5392case 628:
5393#line 1672 "cgrammar.y"
5394{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5395 break;}
5396case 629:
5397#line 1673 "cgrammar.y"
5398{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5399 break;}
5400case 630:
5401#line 1674 "cgrammar.y"
5402{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5403 break;}
5404case 631:
5405#line 1675 "cgrammar.y"
5406{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5407 break;}
5408case 632:
5409#line 1676 "cgrammar.y"
5410{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5411 break;}
5412case 633:
5413#line 1677 "cgrammar.y"
5414{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5415 break;}
5416case 634:
5417#line 1678 "cgrammar.y"
5418{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5419 break;}
5420case 635:
5421#line 1679 "cgrammar.y"
5422{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5423 break;}
5424case 636:
5425#line 1680 "cgrammar.y"
5426{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5427 break;}
5428case 637:
5429#line 1681 "cgrammar.y"
5430{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5431 break;}
5432case 638:
5433#line 1684 "cgrammar.y"
5434{ yyval.entry = yyvsp[0].entry; ;
5435 break;}
5436case 639:
5437#line 1685 "cgrammar.y"
5438{ yyval.entry = uentry_undefined; ;
5439 break;}
5440case 640:
5441#line 1688 "cgrammar.y"
5442{ context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5443 break;}
5444case 641:
5445#line 1692 "cgrammar.y"
5446{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5447 break;}
5448case 642:
5449#line 1694 "cgrammar.y"
5450{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5451 break;}
5452case 643:
5453#line 1696 "cgrammar.y"
5454{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5455 break;}
5456case 644:
5457#line 1699 "cgrammar.y"
5458{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5459 break;}
5460case 645:
5461#line 1701 "cgrammar.y"
5462{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5463 break;}
5464case 646:
5465#line 1703 "cgrammar.y"
5466{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5467 break;}
5468case 647:
5469#line 1704 "cgrammar.y"
5470{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5471 break;}
5472case 648:
5473#line 1707 "cgrammar.y"
5474{ yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5475 break;}
5476case 649:
5477#line 1708 "cgrammar.y"
5478{ yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5479 break;}
5480case 650:
5481#line 1710 "cgrammar.y"
5482{ yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5483 break;}
5484case 651:
5485#line 1711 "cgrammar.y"
5486{ yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5487 break;}
5488case 652:
5489#line 1712 "cgrammar.y"
5490{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5491 break;}
5492case 653:
5493#line 1713 "cgrammar.y"
5494{ yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5495 break;}
5496case 654:
5497#line 1714 "cgrammar.y"
5498{ yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5499 break;}
5500case 655:
5501#line 1715 "cgrammar.y"
5502{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5503 break;}
5504case 656:
5505#line 1716 "cgrammar.y"
5506{ yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5507 break;}
5508case 657:
5509#line 1717 "cgrammar.y"
5510{ yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5511 break;}
5512case 659:
5513#line 1721 "cgrammar.y"
5514{ ; ;
5515 break;}
5516case 662:
5517#line 1728 "cgrammar.y"
5518{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5519 break;}
5520case 663:
5521#line 1729 "cgrammar.y"
5522{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5523 break;}
5524case 664:
5525#line 1730 "cgrammar.y"
5526{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5527 break;}
5528case 665:
5529#line 1731 "cgrammar.y"
5530{ yyval.cname = yyvsp[0].cname; ;
5531 break;}
5532case 667:
5533#line 1735 "cgrammar.y"
5534{ yyval.ctyp = ctype_unknown; ;
5535 break;}
5536}
5537 /* the action file gets copied in in place of this dollarsign */
9280addf 5538#line 498 "/gnu/share/bison.simple"
3aaedf88 5539\f
5540 yyvsp -= yylen;
5541 yyssp -= yylen;
5542#ifdef YYLSP_NEEDED
5543 yylsp -= yylen;
5544#endif
5545
5546#if YYDEBUG != 0
5547 if (yydebug)
5548 {
5549 short *ssp1 = yyss - 1;
5550 fprintf (stderr, "state stack now");
5551 while (ssp1 != yyssp)
5552 fprintf (stderr, " %d", *++ssp1);
5553 fprintf (stderr, "\n");
5554 }
5555#endif
5556
5557 *++yyvsp = yyval;
5558
5559#ifdef YYLSP_NEEDED
5560 yylsp++;
5561 if (yylen == 0)
5562 {
5563 yylsp->first_line = yylloc.first_line;
5564 yylsp->first_column = yylloc.first_column;
5565 yylsp->last_line = (yylsp-1)->last_line;
5566 yylsp->last_column = (yylsp-1)->last_column;
5567 yylsp->text = 0;
5568 }
5569 else
5570 {
5571 yylsp->last_line = (yylsp+yylen-1)->last_line;
5572 yylsp->last_column = (yylsp+yylen-1)->last_column;
5573 }
5574#endif
5575
5576 /* Now "shift" the result of the reduction.
5577 Determine what state that goes to,
5578 based on the state we popped back to
5579 and the rule number reduced by. */
5580
5581 yyn = yyr1[yyn];
5582
5583 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5584 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5585 yystate = yytable[yystate];
5586 else
5587 yystate = yydefgoto[yyn - YYNTBASE];
5588
5589 goto yynewstate;
5590
5591yyerrlab: /* here on detecting error */
5592
5593 if (! yyerrstatus)
5594 /* If not already recovering from an error, report this error. */
5595 {
5596 ++yynerrs;
5597
5598#ifdef YYERROR_VERBOSE
5599 yyn = yypact[yystate];
5600
5601 if (yyn > YYFLAG && yyn < YYLAST)
5602 {
5603 int size = 0;
5604 char *msg;
5605 int x, count;
5606
5607 count = 0;
5608 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5609 for (x = (yyn < 0 ? -yyn : 0);
5610 x < (sizeof(yytname) / sizeof(char *)); x++)
5611 if (yycheck[x + yyn] == x)
5612 size += strlen(yytname[x]) + 15, count++;
5613 msg = (char *) malloc(size + 15);
5614 if (msg != 0)
5615 {
5616 strcpy(msg, "parse error");
5617
5618 if (count < 5)
5619 {
5620 count = 0;
5621 for (x = (yyn < 0 ? -yyn : 0);
5622 x < (sizeof(yytname) / sizeof(char *)); x++)
5623 if (yycheck[x + yyn] == x)
5624 {
5625 strcat(msg, count == 0 ? ", expecting `" : " or `");
5626 strcat(msg, yytname[x]);
5627 strcat(msg, "'");
5628 count++;
5629 }
5630 }
5631 yyerror(msg);
5632 free(msg);
5633 }
5634 else
5635 yyerror ("parse error; also virtual memory exceeded");
5636 }
5637 else
5638#endif /* YYERROR_VERBOSE */
5639 yyerror("parse error");
5640 }
5641
5642 goto yyerrlab1;
5643yyerrlab1: /* here on error raised explicitly by an action */
5644
5645 if (yyerrstatus == 3)
5646 {
5647 /* if just tried and failed to reuse lookahead token after an error, discard it. */
5648
5649 /* return failure if at end of input */
5650 if (yychar == YYEOF)
5651 YYABORT;
5652
5653#if YYDEBUG != 0
5654 if (yydebug)
5655 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5656#endif
5657
5658 yychar = YYEMPTY;
5659 }
5660
5661 /* Else will try to reuse lookahead token
5662 after shifting the error token. */
5663
5664 yyerrstatus = 3; /* Each real token shifted decrements this */
5665
5666 goto yyerrhandle;
5667
5668yyerrdefault: /* current state does not do anything special for the error token. */
5669
5670#if 0
5671 /* This is wrong; only states that explicitly want error tokens
5672 should shift them. */
5673 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5674 if (yyn) goto yydefault;
5675#endif
5676
5677yyerrpop: /* pop the current state because it cannot handle the error token */
5678
5679 if (yyssp == yyss) YYABORT;
5680 yyvsp--;
5681 yystate = *--yyssp;
5682#ifdef YYLSP_NEEDED
5683 yylsp--;
5684#endif
5685
5686#if YYDEBUG != 0
5687 if (yydebug)
5688 {
5689 short *ssp1 = yyss - 1;
5690 fprintf (stderr, "Error: state stack now");
5691 while (ssp1 != yyssp)
5692 fprintf (stderr, " %d", *++ssp1);
5693 fprintf (stderr, "\n");
5694 }
5695#endif
5696
5697yyerrhandle:
5698
5699 yyn = yypact[yystate];
5700 if (yyn == YYFLAG)
5701 goto yyerrdefault;
5702
5703 yyn += YYTERROR;
5704 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5705 goto yyerrdefault;
5706
5707 yyn = yytable[yyn];
5708 if (yyn < 0)
5709 {
5710 if (yyn == YYFLAG)
5711 goto yyerrpop;
5712 yyn = -yyn;
5713 goto yyreduce;
5714 }
5715 else if (yyn == 0)
5716 goto yyerrpop;
5717
5718 if (yyn == YYFINAL)
5719 YYACCEPT;
5720
5721#if YYDEBUG != 0
5722 if (yydebug)
5723 fprintf(stderr, "Shifting error token, ");
5724#endif
5725
5726 *++yyvsp = yylval;
5727#ifdef YYLSP_NEEDED
5728 *++yylsp = yylloc;
5729#endif
5730
5731 yystate = yyn;
5732 goto yynewstate;
5733}
5734#line 1737 "cgrammar.y"
5735
5736
5737/*@-redecl@*/
5738extern char *yytext;
5739/*@=redecl@*/
5740
5741# include "bison.reset"
5742
5743void yyerror (/*@unused@*/ char *s)
5744{
5745 static bool givehint = FALSE;
5746
5747 if (context_inIterDef ())
5748 {
5749 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5750 context_inFunctionName ()));
5751 }
5752 else if (context_inIterEnd ())
5753 {
5754 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5755 context_inFunctionName ()));
5756 }
5757 else if (context_inMacro ())
5758 {
5759 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5760 context_inFunctionName ()));
5761
5762 if (context_inMacroUnknown ())
5763 {
5764 if (!givehint)
5765 {
5766 llhint (cstring_makeLiteral
5767 ("Precede macro definition with /*@notfunction@*/ "
5768 "to suppress checking and force expansion"));
5769 givehint = TRUE;
5770 }
5771 }
5772
5773 swallowMacro ();
5774 }
5775 else
5776 {
5777 llparseerror (cstring_undefined);
5778 }
5779}
5780
5781void printState (idDecl t) {
5782 cstring id = idDecl_getName (t);
5783 uentry ue = usymtab_lookupSafe (id);
5784
5785 sRef s = uentry_getSref (ue);
5786
5787 printf("State = %d\n", s->bufinfo.bufstate);
5788}
5789
5790
5791/*take this out soon */
5792/* void testassert1 (cstring id, icstring cons ) { */
5793 /* uentry ue =usymtab_lookupSafe (id); */
5794/* sRef s = uentry_getSref (ue); */
5795/* printf ("Doing testassert1 with setbuffersize\n"); */
5796/* printf("State = %d\n", s->bufinfo.bufstate); */
5797/* } */
5798/* void testassert2 (cstring id) { */
5799/* uentry ue =usymtab_lookupSafe (id); */
5800/* sRef s = uentry_getSref (ue); */
5801/* printf ("Doing testassert2 with setbuffersize\n"); */
5802/* printf("State = %d\n", s->bufinfo.bufstate); */
5803/* } */
5804
5805
5806
5807
5808
5809
This page took 0.854164 seconds and 5 git commands to generate.