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