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