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