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