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