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