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