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