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