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