[BACK]Return to ytab.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / parse

Annotation of OpenXM_contrib2/asir2000/parse/ytab.c, Revision 1.3

1.1       noro        1: #ifndef lint
                      2: static char const
                      3: yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $";
                      4: #endif
                      5: #include <stdlib.h>
                      6: #define YYBYACC 1
                      7: #define YYMAJOR 1
                      8: #define YYMINOR 9
                      9: #define YYLEX yylex()
                     10: #define YYEMPTY -1
                     11: #define yyclearin (yychar=(YYEMPTY))
                     12: #define yyerrok (yyerrflag=0)
                     13: #define YYRECOVERING() (yyerrflag!=0)
                     14: static int yygrowstack();
                     15: #define YYPREFIX "yy"
                     16: #line 51 "parse.y"
                     17: #define malloc(x) GC_malloc(x)
                     18: #define realloc(x,y) GC_realloc(x,y)
                     19: #define free(x) GC_free(x)
                     20:
                     21: #if defined(TOWNS)
                     22: #include <alloca.h>
                     23: #endif
                     24: #include <ctype.h>
                     25: #include "ca.h"
                     26: #include <sys/types.h>
                     27: #include <sys/stat.h>
                     28: #include "parse.h"
                     29:
                     30: #define NOPR (prresult=0)
                     31:
                     32: extern int gdef;
                     33: extern SNODE parse_snode;
                     34: extern int main_parser;
                     35:
                     36: int prresult;
                     37:
                     38: static int ind;
                     39: static FNODE t;
                     40: static NODE a,b;
                     41: static NODE2 a2;
                     42: static pointer val;
1.2       noro       43: static QUOTE quote;
1.1       noro       44: extern jmp_buf env;
1.2       noro       45: #line 83 "parse.y"
1.1       noro       46: typedef union {
                     47:        FNODE f;
                     48:        SNODE s;
                     49:        NODE n;
                     50:        NODE2 n2;
                     51:        int i;
                     52:        pointer p;
                     53: } YYSTYPE;
1.2       noro       54: #line 55 "y.tab.c"
1.1       noro       55: #define YYERRCODE 256
                     56: #define STRUCT 257
                     57: #define POINT 258
                     58: #define NEWSTRUCT 259
                     59: #define ANS 260
                     60: #define FDEF 261
                     61: #define PFDEF 262
                     62: #define GLOBAL 263
                     63: #define CMP 264
                     64: #define OR 265
                     65: #define AND 266
                     66: #define CAR 267
                     67: #define CDR 268
1.2       noro       68: #define QUOTED 269
                     69: #define DO 270
                     70: #define WHILE 271
                     71: #define FOR 272
                     72: #define IF 273
                     73: #define ELSE 274
                     74: #define BREAK 275
                     75: #define RETURN 276
                     76: #define CONTINUE 277
                     77: #define PARIF 278
                     78: #define MAP 279
1.3     ! noro       79: #define RECMAP 280
        !            80: #define TIMER 281
        !            81: #define GF2NGEN 282
        !            82: #define GFPNGEN 283
        !            83: #define GFSNGEN 284
        !            84: #define GETOPT 285
        !            85: #define FOP_AND 286
        !            86: #define FOP_OR 287
        !            87: #define FOP_IMPL 288
        !            88: #define FOP_REPL 289
        !            89: #define FOP_EQUIV 290
        !            90: #define FOP_NOT 291
        !            91: #define LOP 292
        !            92: #define FORMULA 293
        !            93: #define UCASE 294
        !            94: #define LCASE 295
        !            95: #define STR 296
        !            96: #define SELF 297
        !            97: #define BOPASS 298
        !            98: #define PLUS 299
        !            99: #define MINUS 300
1.1       noro      100: const short yylhs[] = {                                        -1,
                    101:     0,    6,   15,   16,    6,    6,    6,    6,    6,    6,
                    102:     6,    6,    6,    6,    6,    6,    6,    6,    6,   17,
                    103:     6,    6,   14,   14,    1,    1,    7,   12,   12,   11,
                    104:    11,    8,    8,    9,    9,   10,   10,   13,   13,    2,
                    105:     2,    5,    4,    4,    4,    4,    4,    4,    4,    4,
                    106:     4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
1.3     ! noro      107:     4,    4,    4,    4,    4,    4,    3,    3,    3,    3,
1.1       noro      108:     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    109:     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
1.3     ! noro      110:     3,    3,    3,    3,    3,    3,
1.1       noro      111: };
                    112: const short yylen[] = {                                         2,
                    113:     1,    1,    0,    0,    5,    6,    2,    1,    2,    2,
                    114:     2,    3,    5,    7,    9,    5,    7,    8,    5,    0,
                    115:    10,    2,    1,    1,    0,    1,    3,    1,    3,    1,
                    116:     3,    0,    2,    0,    1,    1,    3,    1,    3,    1,
1.3     ! noro      117:     1,    3,    1,    1,    1,    1,    1,    1,    1,    4,
        !           118:     6,    6,    6,    7,    4,    3,    8,    4,    6,    7,
        !           119:     4,    4,    3,    1,    4,    3,    1,    5,    3,    3,
        !           120:     2,    2,    3,    2,    2,    3,    3,    3,    3,    3,
        !           121:     3,    3,    2,    3,    3,    2,    3,    3,    3,    3,
        !           122:     3,    3,    5,    3,    4,    4,
1.1       noro      123: };
                    124: const short yydefred[] = {                                      0,
                    125:     0,    0,    0,   45,    0,    0,    3,    0,    0,    0,
                    126:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      127:     0,   46,   47,   48,    0,    0,   44,   64,    0,   43,
        !           128:     0,    0,    0,    0,   32,    0,   23,   24,    0,    0,
        !           129:     0,    0,    0,    1,    8,    2,   22,   40,   41,    0,
        !           130:     0,   20,    0,    0,    0,    0,    0,    0,    0,    0,
        !           131:     0,    9,    0,    0,   11,   10,    0,    0,    0,    0,
1.1       noro      132:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.2       noro      133:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      134:     0,    0,    0,    0,    0,   71,    0,    0,    0,    0,
        !           135:     0,    0,    0,    0,    0,    7,    0,    0,    0,    0,
        !           136:     0,    0,   30,    0,    0,    0,    0,    0,    0,    0,
        !           137:     0,    0,   12,    0,    0,    0,    0,   56,    0,    0,
        !           138:     0,   27,   33,    0,    0,   63,   73,    0,   94,    0,
1.2       noro      139:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      140:     0,    0,    0,    0,    0,    0,    0,   66,    0,   28,
        !           141:     0,   95,    0,    0,    0,    0,   61,   62,   96,    0,
        !           142:     0,    0,    0,    0,   58,    0,    0,    0,    0,   55,
        !           143:     0,    0,    0,    0,    0,    0,    0,   65,    0,    0,
        !           144:     0,   19,   31,    5,    0,   16,    0,    0,   50,    0,
        !           145:     0,    0,    0,    0,    0,    0,   38,    0,    0,    0,
        !           146:     0,    0,    6,   29,    0,    0,    0,    0,   59,   52,
        !           147:    53,    0,    0,    0,    0,   51,    0,    0,   26,    0,
        !           148:    17,    0,   14,    0,   54,    0,    0,   39,   60,   32,
        !           149:     0,   57,   18,    0,   15,   21,
1.1       noro      150: };
1.3     ! noro      151: const short yydgoto[] = {                                      41,
        !           152:   230,  206,   83,   43,  207,  133,   45,   79,   84,   85,
        !           153:   114,  161,  208,   46,   54,  166,  111,
1.1       noro      154: };
1.3     ! noro      155: const short yysindex[] = {                                    127,
        !           156:   -33, -263,  -31,    0, -281, -275,    0,  -13,    3,    9,
        !           157:   127,   10,   13,   14,  -33,  176,  -33,   16,   17,   18,
        !           158:    23,    0,    0,    0,   24,  480,    0,    0,  -28,    0,
        !           159:   480,  480,  480,  480,    0,  386,    0,    0,  480,  480,
        !           160:     0, 1421,  -87,    0,    0,    0,    0,    0,    0,  -90,
        !           161:  -263,    0,   25, -228,  480,  480,  480, -204,  480,  480,
        !           162:   480,    0,  -24, 1421,    0,    0, -227, -224, -220,  480,
        !           163:   -41, 1494,  480,  480, -219,   80,   80, -219,   43, -263,
        !           164:   480, 1691, 2078,  -16,   36,   19,  480,  480,  480,  480,
        !           165:   480,  480,  480,  480,  480,    0,  480,  480,  480,  480,
        !           166:   480,  480,  480,  480,  480,    0, -263,  480, -263,   41,
        !           167:    44,  480,    0,   52, 1704, 1767, 1807,   45,   66,   34,
        !           168:    67,  480,    0,  -20,   65,   69, 1848,    0,   78,  -15,
        !           169:   -23,    0,    0,   82, 1865,    0,    0,  480,    0,   -7,
        !           170:   151,   95,  395, 2177,  810, 2140, 1997,  -32, 2078,   80,
        !           171:    80,  -92,  -92,  -92,  -92, 2078, 1903,    0, 1967,    0,
        !           172:   -27,    0,  480,   90, -161,  -33,    0,    0,    0,  480,
        !           173:   127,  480,  127,  -19,    0,  480,  480,  480,  480,    0,
        !           174:    99,   83, -263, 2028,  103, 2078,  480,    0,  -33, -263,
        !           175:   106,    0,    0,    0,  107,    0,   91, -125,    0,  110,
        !           176:   111,  112, 1980,  480,   93,   94,    0,   -2,  441,  -87,
        !           177:   480, 2133,    0,    0, -139,  -33,  480,  127,    0,    0,
        !           178:     0,  480,  118,  480,  480,    0, -263,  120,    0,   39,
        !           179:     0,  123,    0, 2039,    0, 1421, 2078,    0,    0,    0,
        !           180:   127,    0,    0,   85,    0,    0,
1.1       noro      181: };
                    182: const short yyrindex[] = {                                      0,
                    183:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
                    184:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      185:     0,    0,    0,    0,    0,    0,    0,    0, 1146,    0,
        !           186:     0,    0,    0,    0,    0,    0,    0,    0,   72,  113,
        !           187:     0,    0,  772,    0,    0,    0,    0,    0,    0,    0,
        !           188:     0,    0,    0,    0,    0,    0,    0,    0,  128,  114,
        !           189:   128,    0,  514,    0,    0,    0,    0,    0,    0,    0,
        !           190:     0,   53,   55,  -18,  840, 1222, 1258,  869,    0,    0,
        !           191:     0,    0,  163,    0,  -34,    0,    0,    0,    0,    0,
1.1       noro      192:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
                    193:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      194:     0,  128,    0,  -30,    0,    0,    0,    0,    0,    0,
        !           195:     0,  -18,    0,    0,    0,    0,    0,    0,    0,    0,
        !           196:     0,    0,    0,    0,    0,    0,    0,    0,    0, 1437,
        !           197:  1553, 1513,  456,  538,  551,  879,   11, 1591, 2257, 1294,
        !           198:  1336,  908,  955,  984, 1078, 2351,    0,    0,    0,    0,
        !           199:     0,    0,  128,    0,    0,    0,    0,    0,    0,  128,
        !           200:     0,  114,    0,    0,    0,  128,  128,  128,    0,    0,
        !           201:     0, 1378,    0,    0,    0,  406,    0,    0,    0,    0,
        !           202:     0,    0,    0,    0,    0,    0,    0,    1,    0,    0,
        !           203:     0,    0,    0,  128,    0,    0,    0,    0,    0,  801,
        !           204:   128, 1638,    0,    0,   59,    0,  128,    0,    0,    0,
1.1       noro      205:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      206:     0,    0,    0,    0,    0,    0,    4,    0,    0,    0,
        !           207:     0,    0,    0,    0,    0,    0,
1.1       noro      208: };
                    209: const short yygindex[] = {                                      0,
1.3     ! noro      210:     0,   49, 2424,   -1,  -43,    8,    0,  -55, 2169,    0,
        !           211:     0,    0,    0,  552,    0,    0,    0,
1.1       noro      212: };
1.3     ! noro      213: #define YYTABLESIZE 2668
        !           214: const short yytable[] = {                                     128,
        !           215:    13,  102,   38,  108,  103,    4,   35,   44,   51,  100,
        !           216:    98,   74,   99,   52,  101,  122,  190,  182,   58,   53,
        !           217:   175,  199,   34,  176,   35,   37,   55,   35,    4,  103,
        !           218:    48,   49,  109,   13,  100,   98,   13,   99,  226,  101,
        !           219:    13,  227,   56,   13,   42,   13,   91,   42,   57,   59,
        !           220:    50,   91,   60,   61,   91,   67,   68,   69,   35,   13,
        !           221:    13,  102,   70,   71,  112,  113,  118,  124,   91,   91,
        !           222:   125,   91,   91,   91,  126,   34,  137,   96,   38,  138,
        !           223:   139,  162,   36,  163,  170,   32,  102,   33,   86,   35,
        !           224:    35,   13,  172,   86,   73,  165,   86,  189,   73,  110,
        !           225:   183,   37,   40,   91,  183,   34,  171,  173,  177,  181,
        !           226:    86,   86,  178,   86,   86,   86,  103,   34,  180,  129,
        !           227:    38,  100,  184,   13,   36,   13,  101,   32,  134,   33,
        !           228:   192,  103,  193,   39,   91,   91,  100,   98,  204,   99,
        !           229:   205,  101,  211,   37,   40,   86,  215,  216,  218,  217,
        !           230:   219,  220,  221,  224,  225,  158,  229,  160,  235,   34,
        !           231:   239,  240,   38,  241,   34,   35,   36,  132,   34,   32,
        !           232:   107,   33,   34,  102,   34,   39,   86,   86,  196,   34,
        !           233:   198,   25,  210,  238,  244,   37,   40,  103,  102,    0,
        !           234:     0,    0,  100,   98,    0,   99,    0,  101,    0,    0,
        !           235:     0,    0,    0,   36,   96,    0,   36,   35,   34,  246,
        !           236:     0,   38,    0,    0,    0,   36,    0,   39,   32,    0,
        !           237:    33,   36,    0,    0,   36,  233,    0,    0,    0,    0,
        !           238:     0,   87,   88,   89,   37,   40,    0,    0,  214,    0,
        !           239:     0,    0,    0,    0,  102,    0,    0,    0,  245,   35,
        !           240:     0,    0,   48,   49,    0,   36,   13,   13,    0,   13,
        !           241:    13,   13,   13,   13,   96,    0,   39,   13,   13,   13,
1.2       noro      242:    13,   13,   13,   13,    0,   13,   13,   13,   13,   13,
1.3     ! noro      243:    13,   13,   13,   13,   13,   13,   36,   36,    0,   96,
        !           244:     0,   13,    0,   13,   13,   13,   13,   13,    1,    2,
        !           245:    91,    3,    4,    5,    6,    7,    0,    0,   91,    8,
        !           246:     9,   10,   11,   12,   13,   14,    0,   15,   16,   17,
        !           247:    18,   19,   20,   21,   22,   23,   24,   25,    0,    0,
        !           248:     0,    0,    0,   26,    0,   27,   28,   29,   30,   31,
        !           249:     1,    2,    0,    3,    4,    5,    6,    7,    0,    0,
        !           250:    86,    8,    9,   10,   11,   12,   13,   14,   87,   15,
        !           251:    16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
        !           252:     0,    0,    0,    0,    0,   26,   96,   27,   28,   29,
        !           253:    30,   31,    1,    2,    0,    3,    4,    5,    6,    7,
        !           254:     0,   96,    0,    8,    9,   10,   11,   12,   13,   14,
        !           255:     0,   15,   16,   17,   18,   19,   20,   21,   22,   23,
        !           256:    24,   25,    0,    0,   87,    0,   89,   26,   34,   27,
        !           257:    28,   29,   30,   31,    0,   36,    0,   81,   32,    0,
        !           258:    33,  103,    0,    0,    3,    4,  100,   98,    0,   99,
        !           259:     0,  101,    8,    9,   10,   40,   37,   96,    0,   37,
        !           260:     0,    0,    0,   18,   19,   20,   21,   22,   23,   24,
        !           261:    25,    0,    0,    0,   37,    0,   26,   37,   27,   28,
        !           262:    63,   30,   31,   34,    0,    0,   39,    0,    0,    0,
        !           263:    36,    0,   81,   32,    0,   33,    0,    0,  102,    0,
        !           264:     0,   87,    0,    0,    0,    0,   87,    0,   37,   87,
        !           265:    40,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        !           266:     0,    0,   34,   87,   87,    0,   87,   87,   87,   36,
        !           267:     0,    0,   32,    0,   33,    0,    0,    0,    0,   37,
        !           268:    37,   39,    0,    0,    0,    0,    0,    0,    0,   40,
        !           269:     0,    0,    0,    0,    0,    0,    0,    0,   87,   49,
        !           270:    49,    0,   47,    0,   49,   49,   49,   49,   49,    0,
        !           271:    49,    0,    0,    0,    0,    0,   62,   65,   66,    0,
        !           272:    39,   49,   49,   88,   49,   49,   49,    0,   88,   87,
        !           273:    87,   88,    0,    0,    0,    0,   89,    0,    0,    0,
        !           274:     0,   89,    0,  106,   89,   88,   88,    0,   88,   88,
        !           275:    88,    0,    0,    0,   49,    0,   49,   49,   89,   89,
        !           276:     0,   89,   89,   89,    0,  123,    0,    0,    0,    0,
1.2       noro      277:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      278:    88,    0,    0,    0,    0,    0,    0,   49,   49,    0,
        !           279:     0,    0,   80,   89,    3,    4,    0,    0,    0,    0,
        !           280:     0,    0,    8,    9,   10,    0,    0,    0,   87,   88,
        !           281:    89,   88,   88,   18,   19,   20,   21,   22,   23,   24,
        !           282:    25,    0,    0,    0,   89,   89,   26,    0,   27,   28,
        !           283:    63,   30,   31,    0,    0,    0,   95,    0,    0,    0,
        !           284:     0,   96,    0,    0,    0,    0,    0,    0,    0,    3,
        !           285:     4,    0,    0,    0,    0,    0,    0,    8,    9,   10,
        !           286:     0,    0,    0,    0,    0,    0,    0,  194,   18,   19,
        !           287:    20,   21,   22,   23,   24,   25,    0,    0,    0,    0,
        !           288:     0,   26,    0,   27,   28,   63,   30,   31,    3,    4,
        !           289:   213,   87,   87,   87,   87,   87,    8,    9,   10,    0,
        !           290:     0,    0,    0,   87,    0,    0,    0,   18,   19,   20,
        !           291:    21,   22,   23,   24,   25,    0,    0,  231,    0,    0,
        !           292:    26,   49,   27,   28,   63,   30,   31,   49,   49,   49,
        !           293:     0,    0,    0,    0,    0,    0,    0,  243,    0,    0,
        !           294:     0,    0,    0,    0,    0,    0,    0,    0,    0,   49,
        !           295:    49,   49,   49,   49,    0,   49,    0,   67,   67,    0,
        !           296:    49,   49,   67,   67,   67,   67,   67,    0,   67,    0,
        !           297:     0,    0,    0,    0,   88,   88,   88,   88,    0,   67,
        !           298:    67,    0,   67,   67,   67,   88,   68,   68,   89,   89,
        !           299:    89,   68,   68,   68,   68,   68,  103,   68,   89,    0,
        !           300:     0,  100,   98,    0,   99,    0,  101,    0,   68,   68,
        !           301:     0,   68,   68,   68,   67,   67,    0,    0,    0,    0,
        !           302:     0,    0,    0,    0,    0,   72,   72,    0,    0,    0,
        !           303:    72,   72,   72,   72,   72,    0,   72,    0,    0,    0,
        !           304:     0,    0,    0,   68,   68,   67,   67,   72,   72,    0,
        !           305:    72,   72,   72,  102,   83,   83,    0,    0,    0,   83,
        !           306:    83,   83,   83,   83,   90,   83,    0,    0,    0,   90,
        !           307:     0,    0,   90,    0,   68,   68,   83,   83,    0,   83,
        !           308:    83,   83,   72,   72,    0,    0,   90,   90,    0,   90,
        !           309:    90,   90,    0,   78,   78,    0,    0,    0,   78,   78,
        !           310:    78,   78,   78,    0,   78,    0,    0,    0,    0,    0,
        !           311:     0,   83,   83,   72,   72,   78,   78,    0,   78,   78,
        !           312:    78,   90,    0,    0,    0,    0,    0,    0,    0,    0,
1.1       noro      313:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      314:    79,   79,   83,   83,    0,   79,   79,   79,   79,   79,
        !           315:    78,   79,   90,   90,    0,    0,    0,    0,    0,    0,
        !           316:     0,    0,   79,   79,    0,   79,   79,   79,    0,   81,
        !           317:    81,    0,    0,    0,   81,   81,   81,   81,   81,    0,
        !           318:    81,   78,   78,    0,    0,   67,   67,   67,    0,    0,
        !           319:     0,   81,   81,    0,   81,   81,   81,   79,    0,    0,
        !           320:     0,    0,    0,    0,    0,    0,    0,   67,   67,   67,
        !           321:    67,   67,    0,   67,   68,   68,   68,    0,   67,   67,
        !           322:     0,    0,    0,   87,   88,   89,   81,    0,   79,   79,
        !           323:     0,    0,    0,    0,    0,    0,   68,   68,   68,   68,
        !           324:    68,    0,   68,    0,    0,   90,   91,   68,   68,    0,
        !           325:     0,   95,    0,   72,   72,   72,   96,   81,   81,    0,
        !           326:     0,    0,    0,   80,   80,    0,    0,    0,   80,   80,
        !           327:    80,   80,   80,    0,   80,   72,   72,   72,   72,   72,
        !           328:     0,   72,   83,   83,   83,   80,   80,   72,   80,   80,
        !           329:    80,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        !           330:     0,    0,    0,    0,   83,   83,   83,   83,   83,    0,
        !           331:    83,    0,    0,    0,    0,    0,   83,   90,   90,    0,
        !           332:    80,   78,   78,   78,    0,    0,   90,    0,    0,    0,
        !           333:     0,   49,   49,    0,    0,    0,    0,   49,   49,    0,
        !           334:    49,    0,   49,   78,   78,   78,   78,   78,    0,   78,
        !           335:     0,   80,   80,    0,   49,   78,   49,    0,   49,    0,
        !           336:     0,    0,    0,    0,    0,    0,    0,    0,   79,   79,
        !           337:    79,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        !           338:     0,    0,    0,    0,    0,    0,   49,    0,    0,   49,
        !           339:    79,   79,   79,   79,   79,    0,   79,   81,   81,   81,
        !           340:     0,    0,   79,    0,    0,    0,    0,   74,    0,    0,
        !           341:     0,    0,   74,    0,   74,   74,   74,    0,    0,   81,
        !           342:    81,   81,   81,   81,    0,   81,    0,    0,    0,   74,
        !           343:    74,   81,   74,   74,   74,    0,    0,    0,    0,    0,
        !           344:     0,    0,    0,   75,    0,    0,    0,    0,   75,    0,
        !           345:    75,   75,   75,    0,    0,    0,    0,    0,    0,    0,
        !           346:     0,    0,    0,    0,   74,   75,   75,    0,   75,   75,
        !           347:    75,    0,    0,    0,    0,    0,    0,    0,    0,   76,
        !           348:     0,    0,    0,    0,   76,    0,   76,   76,   76,    0,
        !           349:     0,   80,   80,   80,    0,   74,   74,    0,    0,    0,
        !           350:    75,   76,   76,    0,   76,   76,   76,    0,    0,    0,
        !           351:     0,    0,    0,   80,   80,   80,   80,   80,    0,   80,
        !           352:     0,   77,    0,    0,    0,   80,   77,    0,   77,   77,
        !           353:    77,   75,   75,    0,    0,    0,   76,    0,    0,    0,
        !           354:     0,    0,    0,   77,   77,    0,   77,   77,   77,    0,
        !           355:     0,    0,    0,   49,    0,    0,    0,    0,    0,   49,
        !           356:    49,   49,    0,   50,   50,    0,    0,   76,   76,   50,
        !           357:    50,    0,   50,    0,   50,    0,    0,    0,   77,    0,
        !           358:     0,   49,   49,   49,   49,   49,   50,   49,   50,    0,
        !           359:    50,    0,   49,   49,    0,    0,    0,    0,    0,    0,
        !           360:     0,    0,    0,    0,    0,    0,   38,  103,    0,   77,
        !           361:    77,    0,  100,   98,    0,   99,    0,  101,   50,    0,
        !           362:     0,   50,   82,    0,    0,    0,    0,   82,    0,   37,
        !           363:    82,  104,    0,  105,    0,   74,   74,   74,    0,    0,
        !           364:     0,    0,    0,    0,   82,   82,    0,   82,   82,   82,
        !           365:     0,    0,    0,    0,    0,    0,    0,   74,   74,   74,
        !           366:    74,   74,    0,   74,  102,    0,    0,    0,    0,   74,
        !           367:     0,   75,   75,   75,    0,    0,    0,    0,    0,   82,
        !           368:   103,    0,    0,    0,    0,  100,   98,    0,   99,    0,
        !           369:   101,    0,    0,   75,   75,   75,   75,   75,   85,   75,
        !           370:     0,    0,    0,   85,    0,   75,   85,   76,   76,   76,
        !           371:    82,   82,    0,    0,    0,    0,    0,    0,    0,    0,
        !           372:    85,   85,    0,   85,   85,   85,    0,    0,    0,   76,
        !           373:    76,   76,   76,   76,    0,   76,    0,  102,   84,    0,
        !           374:     0,   76,    0,   84,    0,    0,   84,    0,    0,   77,
        !           375:    77,   77,    0,    0,    0,   85,    0,    0,    0,    0,
        !           376:    84,   84,    0,   84,   84,   84,    0,    0,    0,    0,
        !           377:     0,   77,   77,   77,   77,   77,   92,   77,    0,    0,
        !           378:     0,   92,    0,   77,   92,   50,   85,   85,    0,    0,
        !           379:     0,   50,   50,   50,    0,   84,    0,    0,   92,   92,
        !           380:     0,   92,   92,   92,    0,    0,    0,    0,    0,    0,
        !           381:     0,    0,    0,   50,   50,   50,   50,   50,    0,   50,
        !           382:     0,    0,    0,   93,   50,   50,   84,   84,   93,    0,
        !           383:     0,   93,    0,   92,   87,   88,   89,    0,    0,    0,
        !           384:     0,    0,    0,    0,    0,   93,   93,    0,   93,   93,
        !           385:    82,   82,   82,    0,    0,    0,   90,   91,   92,   93,
        !           386:    94,    0,   95,    0,   92,   92,    0,   96,   97,    0,
        !           387:     0,    0,   82,   82,   82,   82,   82,  103,   82,    0,
        !           388:    93,  136,  100,   98,   82,   99,    0,  101,    0,    0,
        !           389:   103,    0,    0,    0,  167,  100,   98,    0,   99,    0,
        !           390:   101,  104,    0,  105,    0,    0,    0,   87,   88,   89,
        !           391:     0,   93,   93,    0,  104,    0,  105,    0,    0,    0,
        !           392:     0,    0,    0,    0,    0,    0,    0,   85,   85,   90,
        !           393:    91,   92,   93,   94,  102,   95,    0,    0,    0,    0,
        !           394:    96,    0,    0,    0,    0,    0,    0,  102,   85,   85,
        !           395:    85,   85,   85,  103,   85,    0,    0,  168,  100,   98,
        !           396:    85,   99,    0,  101,    0,    0,    0,   84,    0,    0,
        !           397:     0,    0,    0,    0,    0,    0,    0,  104,    0,  105,
        !           398:     0,    0,    0,    0,    0,    0,    0,    0,   84,   84,
        !           399:    84,   84,   84,  103,   84,    0,    0,  169,  100,   98,
        !           400:    84,   99,    0,  101,    0,    0,    0,    0,    0,    0,
        !           401:   102,    0,    0,    0,    0,    0,    0,  104,    0,  105,
        !           402:     0,    0,    0,    0,    0,    0,   92,   92,   92,   92,
        !           403:    92,    0,   92,    0,  103,    0,    0,    0,   92,  100,
        !           404:    98,  179,   99,    0,  101,    0,    0,    0,    0,    0,
        !           405:   102,  103,    0,    0,    0,  185,  100,   98,  104,   99,
        !           406:   105,  101,    0,    0,    0,    0,    0,    0,    0,    0,
        !           407:     0,    0,    0,    0,    0,  104,    0,  105,    0,    0,
        !           408:     0,    0,    0,    0,    0,   93,    0,    0,    0,  103,
        !           409:     0,  102,    0,    0,  100,   98,    0,   99,    0,  101,
        !           410:     0,    0,    0,    0,   87,   88,   89,    0,  102,    0,
        !           411:   187,    0,    0,  104,    0,  105,    0,   87,   88,   89,
        !           412:     0,    0,    0,    0,    0,    0,   90,   91,   92,   93,
        !           413:    94,    0,   95,    0,    0,    0,    0,   96,   97,   90,
        !           414:    91,   92,   93,   94,    0,   95,  102,    0,    0,    0,
        !           415:    96,   97,    0,  103,    0,    0,    0,    0,  100,   98,
        !           416:     0,   99,    0,  101,    0,    0,  103,    0,    0,    0,
        !           417:     0,  100,   98,  222,   99,    0,  101,  104,    0,  105,
        !           418:    87,   88,   89,  103,    0,    0,    0,    0,  100,   98,
        !           419:   104,   99,  105,  101,    0,    0,    0,    0,    0,    0,
        !           420:     0,    0,   90,   91,   92,   93,   94,    0,   95,  188,
        !           421:   102,    0,    0,   96,   97,    0,    0,  209,    0,    0,
        !           422:    87,   88,   89,  102,    0,  103,    0,    0,    0,  242,
        !           423:   100,   98,    0,   99,    0,  101,    0,    0,    0,    0,
        !           424:   102,    0,   90,   91,   92,   93,   94,    0,   95,  104,
        !           425:     0,  105,    0,   96,   97,    0,    0,    0,    0,    0,
        !           426:     0,   87,   88,   89,  103,    0,    0,    0,    0,  100,
        !           427:    98,    0,   99,    0,  101,    0,    0,    0,   87,   88,
        !           428:    89,    0,  102,   90,   91,   92,   93,   94,  104,   95,
        !           429:   105,    0,    0,    0,   96,   97,    0,    0,    0,    0,
        !           430:    90,   91,   92,   93,   94,    0,   95,    0,    0,    0,
        !           431:     0,   96,   97,    0,    0,    0,   87,   88,   89,  103,
        !           432:     0,  102,    0,    0,  100,   98,  103,   99,    0,  101,
        !           433:     0,  100,   98,    0,   99,    0,  101,    0,   90,   91,
        !           434:    92,   93,   94,    0,   95,  105,    0,    0,    0,   96,
        !           435:    97,    0,    0,    0,    0,    0,    0,    0,   86,    0,
        !           436:     0,    0,    0,  103,    0,    0,    0,    0,  100,   98,
        !           437:     0,   99,    0,  101,    0,    0,  102,  119,  120,  121,
        !           438:    87,   88,   89,  102,    0,    0,    0,    0,    0,    0,
        !           439:     0,  130,  131,   87,   88,   89,    0,    0,    0,    0,
        !           440:     0,    0,   90,   91,   92,   93,   94,    0,   95,    0,
        !           441:    87,   88,   89,   96,   97,   90,   91,   92,   93,   94,
        !           442:   102,   95,    0,    0,    0,    0,   96,   97,    0,    0,
        !           443:   164,    0,   90,   91,   92,   93,    0,    4,   95,    0,
        !           444:   174,    0,   70,   96,    8,    9,    0,   70,    0,    0,
        !           445:    70,    0,   87,   88,   89,   18,   19,   20,   21,   22,
        !           446:    23,   24,   25,    0,   70,   70,    0,    0,   70,    0,
        !           447:    27,   28,   63,   30,   90,   91,   92,   93,   94,    0,
        !           448:    95,  191,    0,    0,    0,   96,   97,    0,  195,    0,
        !           449:   197,   87,   88,   89,  200,  201,  202,    0,    0,   70,
1.1       noro      450:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      451:     0,    0,    0,   90,   91,   92,   93,   94,    0,   95,
        !           452:     0,    0,  223,    0,   96,   97,    0,    0,    0,  228,
        !           453:    70,   70,    0,    0,    0,  232,   69,    0,    0,    0,
        !           454:     0,   69,    0,    0,   69,    0,   87,   88,   89,    0,
        !           455:     0,    0,    0,   87,   88,   89,    0,    0,   69,   69,
        !           456:     0,    0,   69,    0,    0,    0,    0,    0,   90,   91,
        !           457:    92,   93,   94,   42,   95,   90,   91,   92,    0,   96,
        !           458:     0,   95,    0,    0,   42,    0,   96,    0,    0,   64,
        !           459:    87,   88,   89,   69,    0,    0,    0,    0,    0,   72,
        !           460:     0,    0,    0,    0,   75,   76,   77,   78,    0,   82,
        !           461:     0,    0,   90,    0,    0,    0,    0,    0,   95,    0,
        !           462:     0,    0,    0,   96,   69,   69,    0,    0,  115,  116,
        !           463:   117,    0,    0,    0,    0,    0,    0,    0,    0,    0,
        !           464:     0,    0,    0,  127,    0,    0,    0,    0,    0,    0,
        !           465:     0,    0,   42,    0,  135,    0,    0,    0,    0,    0,
        !           466:   140,  141,  142,  143,  144,  145,  146,  147,  148,    0,
        !           467:   149,  150,  151,  152,  153,  154,  155,  156,  157,    0,
        !           468:     0,  159,    0,    0,    0,    0,    0,    0,    0,    0,
1.1       noro      469:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
                    470:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      471:     0,  186,    0,    0,    0,    0,    0,    0,    0,    0,
1.1       noro      472:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
                    473:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      474:     0,    0,    0,    0,   42,    0,   42,    0,    0,    0,
        !           475:     0,    0,  203,    0,    0,    0,    0,    0,    0,    0,
        !           476:   212,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.1       noro      477:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      478:     0,    0,   82,    0,    0,    0,    0,    0,    0,    0,
        !           479:     0,   42,    0,    0,    0,  234,    0,  236,  237,    0,
1.1       noro      480:     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1.3     ! noro      481:     0,    0,    0,    0,   42,    0,    0,   42,
1.1       noro      482: };
1.3     ! noro      483: const short yycheck[] = {                                      41,
        !           484:     0,   94,   36,   91,   37,   36,   41,    0,   40,   42,
        !           485:    43,   40,   45,  295,   47,   40,   44,   41,   11,  295,
        !           486:    41,   41,   41,   44,   59,   59,   40,   62,   59,   37,
        !           487:   294,  295,  123,   33,   42,   43,   36,   45,   41,   47,
        !           488:    40,   44,   40,   43,   41,   45,   36,   44,   40,   40,
        !           489:     2,   41,   40,   40,   44,   40,   40,   40,   93,   59,
        !           490:    60,   94,   40,   40,   40,  294,  271,  295,   58,   59,
        !           491:   295,   61,   62,   63,  295,   33,   93,  297,   36,   44,
        !           492:    62,   41,   40,   40,   40,   43,   94,   45,   36,  124,
        !           493:   125,   91,   59,   41,  123,   44,   44,  125,  123,   51,
        !           494:   124,   59,   60,   93,  124,  124,   41,   41,   44,  125,
        !           495:    58,   59,   44,   61,   62,   63,   37,   33,   41,   71,
        !           496:    36,   42,   41,  123,   40,  125,   47,   43,   80,   45,
        !           497:    41,   37,  294,   91,  124,  125,   42,   43,   40,   45,
        !           498:    58,   47,   40,   59,   60,   93,   41,   41,  274,   59,
        !           499:    41,   41,   41,   61,   61,  107,  296,  109,   41,   33,
        !           500:    41,  123,   36,   41,   93,  123,   40,  125,   41,   43,
        !           501:   258,   45,   59,   94,   62,   91,  124,  125,  171,  125,
        !           502:   173,  123,  184,  227,  240,   59,   60,   37,   94,   -1,
        !           503:    -1,   -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,
        !           504:    -1,   -1,   -1,   41,  297,   -1,   44,  123,   33,  125,
        !           505:    -1,   36,   -1,   -1,   -1,   40,   -1,   91,   43,   -1,
        !           506:    45,   59,   -1,   -1,   62,  218,   -1,   -1,   -1,   -1,
        !           507:    -1,  264,  265,  266,   59,   60,   -1,   -1,  190,   -1,
        !           508:    -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,  241,  123,
        !           509:    -1,   -1,  294,  295,   -1,   93,  256,  257,   -1,  259,
        !           510:   260,  261,  262,  263,  297,   -1,   91,  267,  268,  269,
1.2       noro      511:   270,  271,  272,  273,   -1,  275,  276,  277,  278,  279,
1.3     ! noro      512:   280,  281,  282,  283,  284,  285,  124,  125,   -1,  297,
        !           513:    -1,  291,   -1,  293,  294,  295,  296,  297,  256,  257,
        !           514:   290,  259,  260,  261,  262,  263,   -1,   -1,  298,  267,
        !           515:   268,  269,  270,  271,  272,  273,   -1,  275,  276,  277,
        !           516:   278,  279,  280,  281,  282,  283,  284,  285,   -1,   -1,
        !           517:    -1,   -1,   -1,  291,   -1,  293,  294,  295,  296,  297,
        !           518:   256,  257,   -1,  259,  260,  261,  262,  263,   -1,   -1,
        !           519:   298,  267,  268,  269,  270,  271,  272,  273,  264,  275,
        !           520:   276,  277,  278,  279,  280,  281,  282,  283,  284,  285,
        !           521:    -1,   -1,   -1,   -1,   -1,  291,  297,  293,  294,  295,
        !           522:   296,  297,  256,  257,   -1,  259,  260,  261,  262,  263,
        !           523:    -1,  297,   -1,  267,  268,  269,  270,  271,  272,  273,
        !           524:    -1,  275,  276,  277,  278,  279,  280,  281,  282,  283,
        !           525:   284,  285,   -1,   -1,  264,   -1,  266,  291,   33,  293,
        !           526:   294,  295,  296,  297,   -1,   40,   -1,   42,   43,   -1,
        !           527:    45,   37,   -1,   -1,  259,  260,   42,   43,   -1,   45,
        !           528:    -1,   47,  267,  268,  269,   60,   41,  297,   -1,   44,
        !           529:    -1,   -1,   -1,  278,  279,  280,  281,  282,  283,  284,
        !           530:   285,   -1,   -1,   -1,   59,   -1,  291,   62,  293,  294,
        !           531:   295,  296,  297,   33,   -1,   -1,   91,   -1,   -1,   -1,
        !           532:    40,   -1,   42,   43,   -1,   45,   -1,   -1,   94,   -1,
        !           533:    -1,   36,   -1,   -1,   -1,   -1,   41,   -1,   93,   44,
        !           534:    60,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           535:    -1,   -1,   33,   58,   59,   -1,   61,   62,   63,   40,
        !           536:    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,  124,
        !           537:   125,   91,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,
        !           538:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   36,
        !           539:    37,   -1,    1,   -1,   41,   42,   43,   44,   45,   -1,
        !           540:    47,   -1,   -1,   -1,   -1,   -1,   15,   16,   17,   -1,
        !           541:    91,   58,   59,   36,   61,   62,   63,   -1,   41,  124,
        !           542:   125,   44,   -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,
        !           543:    -1,   41,   -1,   42,   44,   58,   59,   -1,   61,   62,
        !           544:    63,   -1,   -1,   -1,   91,   -1,   93,   94,   58,   59,
        !           545:    -1,   61,   62,   63,   -1,   64,   -1,   -1,   -1,   -1,
        !           546:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           547:    93,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125,   -1,
        !           548:    -1,   -1,  257,   93,  259,  260,   -1,   -1,   -1,   -1,
        !           549:    -1,   -1,  267,  268,  269,   -1,   -1,   -1,  264,  265,
        !           550:   266,  124,  125,  278,  279,  280,  281,  282,  283,  284,
        !           551:   285,   -1,   -1,   -1,  124,  125,  291,   -1,  293,  294,
        !           552:   295,  296,  297,   -1,   -1,   -1,  292,   -1,   -1,   -1,
        !           553:    -1,  297,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  259,
        !           554:   260,   -1,   -1,   -1,   -1,   -1,   -1,  267,  268,  269,
        !           555:    -1,   -1,   -1,   -1,   -1,   -1,   -1,  166,  278,  279,
        !           556:   280,  281,  282,  283,  284,  285,   -1,   -1,   -1,   -1,
        !           557:    -1,  291,   -1,  293,  294,  295,  296,  297,  259,  260,
        !           558:   189,  286,  287,  288,  289,  290,  267,  268,  269,   -1,
        !           559:    -1,   -1,   -1,  298,   -1,   -1,   -1,  278,  279,  280,
        !           560:   281,  282,  283,  284,  285,   -1,   -1,  216,   -1,   -1,
        !           561:   291,  258,  293,  294,  295,  296,  297,  264,  265,  266,
        !           562:    -1,   -1,   -1,   -1,   -1,   -1,   -1,  236,   -1,   -1,
        !           563:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,
        !           564:   287,  288,  289,  290,   -1,  292,   -1,   36,   37,   -1,
        !           565:   297,  298,   41,   42,   43,   44,   45,   -1,   47,   -1,
        !           566:    -1,   -1,   -1,   -1,  287,  288,  289,  290,   -1,   58,
        !           567:    59,   -1,   61,   62,   63,  298,   36,   37,  288,  289,
        !           568:   290,   41,   42,   43,   44,   45,   37,   47,  298,   -1,
        !           569:    -1,   42,   43,   -1,   45,   -1,   47,   -1,   58,   59,
        !           570:    -1,   61,   62,   63,   93,   94,   -1,   -1,   -1,   -1,
        !           571:    -1,   -1,   -1,   -1,   -1,   36,   37,   -1,   -1,   -1,
1.2       noro      572:    41,   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,
1.3     ! noro      573:    -1,   -1,   -1,   93,   94,  124,  125,   58,   59,   -1,
        !           574:    61,   62,   63,   94,   36,   37,   -1,   -1,   -1,   41,
        !           575:    42,   43,   44,   45,   36,   47,   -1,   -1,   -1,   41,
        !           576:    -1,   -1,   44,   -1,  124,  125,   58,   59,   -1,   61,
        !           577:    62,   63,   93,   94,   -1,   -1,   58,   59,   -1,   61,
        !           578:    62,   63,   -1,   36,   37,   -1,   -1,   -1,   41,   42,
        !           579:    43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
        !           580:    -1,   93,   94,  124,  125,   58,   59,   -1,   61,   62,
        !           581:    63,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.2       noro      582:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      583:    36,   37,  124,  125,   -1,   41,   42,   43,   44,   45,
        !           584:    93,   47,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1,
        !           585:    -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,   36,
        !           586:    37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1,
        !           587:    47,  124,  125,   -1,   -1,  264,  265,  266,   -1,   -1,
        !           588:    -1,   58,   59,   -1,   61,   62,   63,   93,   -1,   -1,
        !           589:    -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,
        !           590:   289,  290,   -1,  292,  264,  265,  266,   -1,  297,  298,
        !           591:    -1,   -1,   -1,  264,  265,  266,   93,   -1,  124,  125,
        !           592:    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,
        !           593:   290,   -1,  292,   -1,   -1,  286,  287,  297,  298,   -1,
        !           594:    -1,  292,   -1,  264,  265,  266,  297,  124,  125,   -1,
        !           595:    -1,   -1,   -1,   36,   37,   -1,   -1,   -1,   41,   42,
        !           596:    43,   44,   45,   -1,   47,  286,  287,  288,  289,  290,
        !           597:    -1,  292,  264,  265,  266,   58,   59,  298,   61,   62,
        !           598:    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           599:    -1,   -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,
        !           600:   292,   -1,   -1,   -1,   -1,   -1,  298,  289,  290,   -1,
        !           601:    93,  264,  265,  266,   -1,   -1,  298,   -1,   -1,   -1,
        !           602:    -1,   36,   37,   -1,   -1,   -1,   -1,   42,   43,   -1,
        !           603:    45,   -1,   47,  286,  287,  288,  289,  290,   -1,  292,
        !           604:    -1,  124,  125,   -1,   59,  298,   61,   -1,   63,   -1,
        !           605:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  264,  265,
        !           606:   266,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           607:    -1,   -1,   -1,   -1,   -1,   -1,   91,   -1,   -1,   94,
        !           608:   286,  287,  288,  289,  290,   -1,  292,  264,  265,  266,
        !           609:    -1,   -1,  298,   -1,   -1,   -1,   -1,   36,   -1,   -1,
        !           610:    -1,   -1,   41,   -1,   43,   44,   45,   -1,   -1,  286,
        !           611:   287,  288,  289,  290,   -1,  292,   -1,   -1,   -1,   58,
        !           612:    59,  298,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,
        !           613:    -1,   -1,   -1,   36,   -1,   -1,   -1,   -1,   41,   -1,
        !           614:    43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           615:    -1,   -1,   -1,   -1,   93,   58,   59,   -1,   61,   62,
        !           616:    63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,
        !           617:    -1,   -1,   -1,   -1,   41,   -1,   43,   44,   45,   -1,
        !           618:    -1,  264,  265,  266,   -1,  124,  125,   -1,   -1,   -1,
        !           619:    93,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,
        !           620:    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,
        !           621:    -1,   36,   -1,   -1,   -1,  298,   41,   -1,   43,   44,
        !           622:    45,  124,  125,   -1,   -1,   -1,   93,   -1,   -1,   -1,
        !           623:    -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,   -1,
        !           624:    -1,   -1,   -1,  258,   -1,   -1,   -1,   -1,   -1,  264,
        !           625:   265,  266,   -1,   36,   37,   -1,   -1,  124,  125,   42,
        !           626:    43,   -1,   45,   -1,   47,   -1,   -1,   -1,   93,   -1,
        !           627:    -1,  286,  287,  288,  289,  290,   59,  292,   61,   -1,
        !           628:    63,   -1,  297,  298,   -1,   -1,   -1,   -1,   -1,   -1,
        !           629:    -1,   -1,   -1,   -1,   -1,   -1,   36,   37,   -1,  124,
        !           630:   125,   -1,   42,   43,   -1,   45,   -1,   47,   91,   -1,
        !           631:    -1,   94,   36,   -1,   -1,   -1,   -1,   41,   -1,   59,
        !           632:    44,   61,   -1,   63,   -1,  264,  265,  266,   -1,   -1,
        !           633:    -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,
        !           634:    -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,
        !           635:   289,  290,   -1,  292,   94,   -1,   -1,   -1,   -1,  298,
        !           636:    -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   93,
        !           637:    37,   -1,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,
        !           638:    47,   -1,   -1,  286,  287,  288,  289,  290,   36,  292,
        !           639:    -1,   -1,   -1,   41,   -1,  298,   44,  264,  265,  266,
        !           640:   124,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           641:    58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,  286,
        !           642:   287,  288,  289,  290,   -1,  292,   -1,   94,   36,   -1,
        !           643:    -1,  298,   -1,   41,   -1,   -1,   44,   -1,   -1,  264,
        !           644:   265,  266,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,
        !           645:    58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1,
        !           646:    -1,  286,  287,  288,  289,  290,   36,  292,   -1,   -1,
        !           647:    -1,   41,   -1,  298,   44,  258,  124,  125,   -1,   -1,
        !           648:    -1,  264,  265,  266,   -1,   93,   -1,   -1,   58,   59,
        !           649:    -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,
        !           650:    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,
        !           651:    -1,   -1,   -1,   36,  297,  298,  124,  125,   41,   -1,
        !           652:    -1,   44,   -1,   93,  264,  265,  266,   -1,   -1,   -1,
        !           653:    -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62,
        !           654:   264,  265,  266,   -1,   -1,   -1,  286,  287,  288,  289,
        !           655:   290,   -1,  292,   -1,  124,  125,   -1,  297,  298,   -1,
        !           656:    -1,   -1,  286,  287,  288,  289,  290,   37,  292,   -1,
        !           657:    93,   41,   42,   43,  298,   45,   -1,   47,   -1,   -1,
1.2       noro      658:    37,   -1,   -1,   -1,   41,   42,   43,   -1,   45,   -1,
1.3     ! noro      659:    47,   61,   -1,   63,   -1,   -1,   -1,  264,  265,  266,
        !           660:    -1,  124,  125,   -1,   61,   -1,   63,   -1,   -1,   -1,
        !           661:    -1,   -1,   -1,   -1,   -1,   -1,   -1,  265,  266,  286,
        !           662:   287,  288,  289,  290,   94,  292,   -1,   -1,   -1,   -1,
        !           663:   297,   -1,   -1,   -1,   -1,   -1,   -1,   94,  286,  287,
        !           664:   288,  289,  290,   37,  292,   -1,   -1,   41,   42,   43,
        !           665:   298,   45,   -1,   47,   -1,   -1,   -1,  265,   -1,   -1,
        !           666:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,
        !           667:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  286,  287,
        !           668:   288,  289,  290,   37,  292,   -1,   -1,   41,   42,   43,
        !           669:   298,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
        !           670:    94,   -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   63,
        !           671:    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,
        !           672:   290,   -1,  292,   -1,   37,   -1,   -1,   -1,  298,   42,
        !           673:    43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,
        !           674:    94,   37,   -1,   -1,   -1,   41,   42,   43,   61,   45,
        !           675:    63,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           676:    -1,   -1,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1,
        !           677:    -1,   -1,   -1,   -1,   -1,  298,   -1,   -1,   -1,   37,
        !           678:    -1,   94,   -1,   -1,   42,   43,   -1,   45,   -1,   47,
        !           679:    -1,   -1,   -1,   -1,  264,  265,  266,   -1,   94,   -1,
        !           680:    58,   -1,   -1,   61,   -1,   63,   -1,  264,  265,  266,
        !           681:    -1,   -1,   -1,   -1,   -1,   -1,  286,  287,  288,  289,
        !           682:   290,   -1,  292,   -1,   -1,   -1,   -1,  297,  298,  286,
        !           683:   287,  288,  289,  290,   -1,  292,   94,   -1,   -1,   -1,
        !           684:   297,  298,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,
        !           685:    -1,   45,   -1,   47,   -1,   -1,   37,   -1,   -1,   -1,
        !           686:    -1,   42,   43,   44,   45,   -1,   47,   61,   -1,   63,
        !           687:   264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,   43,
        !           688:    61,   45,   63,   47,   -1,   -1,   -1,   -1,   -1,   -1,
        !           689:    -1,   -1,  286,  287,  288,  289,  290,   -1,  292,   93,
        !           690:    94,   -1,   -1,  297,  298,   -1,   -1,   40,   -1,   -1,
        !           691:   264,  265,  266,   94,   -1,   37,   -1,   -1,   -1,   41,
        !           692:    42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,
        !           693:    94,   -1,  286,  287,  288,  289,  290,   -1,  292,   61,
        !           694:    -1,   63,   -1,  297,  298,   -1,   -1,   -1,   -1,   -1,
        !           695:    -1,  264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,
        !           696:    43,   -1,   45,   -1,   47,   -1,   -1,   -1,  264,  265,
        !           697:   266,   -1,   94,  286,  287,  288,  289,  290,   61,  292,
        !           698:    63,   -1,   -1,   -1,  297,  298,   -1,   -1,   -1,   -1,
        !           699:   286,  287,  288,  289,  290,   -1,  292,   -1,   -1,   -1,
        !           700:    -1,  297,  298,   -1,   -1,   -1,  264,  265,  266,   37,
        !           701:    -1,   94,   -1,   -1,   42,   43,   37,   45,   -1,   47,
        !           702:    -1,   42,   43,   -1,   45,   -1,   47,   -1,  286,  287,
        !           703:   288,  289,  290,   -1,  292,   63,   -1,   -1,   -1,  297,
        !           704:   298,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,
        !           705:    -1,   -1,   -1,   37,   -1,   -1,   -1,   -1,   42,   43,
        !           706:    -1,   45,   -1,   47,   -1,   -1,   94,   59,   60,   61,
        !           707:   264,  265,  266,   94,   -1,   -1,   -1,   -1,   -1,   -1,
        !           708:    -1,   73,   74,  264,  265,  266,   -1,   -1,   -1,   -1,
        !           709:    -1,   -1,  286,  287,  288,  289,  290,   -1,  292,   -1,
        !           710:   264,  265,  266,  297,  298,  286,  287,  288,  289,  290,
        !           711:    94,  292,   -1,   -1,   -1,   -1,  297,  298,   -1,   -1,
        !           712:   112,   -1,  286,  287,  288,  289,   -1,  260,  292,   -1,
        !           713:   122,   -1,   36,  297,  267,  268,   -1,   41,   -1,   -1,
        !           714:    44,   -1,  264,  265,  266,  278,  279,  280,  281,  282,
        !           715:   283,  284,  285,   -1,   58,   59,   -1,   -1,   62,   -1,
        !           716:   293,  294,  295,  296,  286,  287,  288,  289,  290,   -1,
        !           717:   292,  163,   -1,   -1,   -1,  297,  298,   -1,  170,   -1,
        !           718:   172,  264,  265,  266,  176,  177,  178,   -1,   -1,   93,
1.2       noro      719:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      720:    -1,   -1,   -1,  286,  287,  288,  289,  290,   -1,  292,
        !           721:    -1,   -1,  204,   -1,  297,  298,   -1,   -1,   -1,  211,
        !           722:   124,  125,   -1,   -1,   -1,  217,   36,   -1,   -1,   -1,
        !           723:    -1,   41,   -1,   -1,   44,   -1,  264,  265,  266,   -1,
        !           724:    -1,   -1,   -1,  264,  265,  266,   -1,   -1,   58,   59,
        !           725:    -1,   -1,   62,   -1,   -1,   -1,   -1,   -1,  286,  287,
        !           726:   288,  289,  290,    0,  292,  286,  287,  288,   -1,  297,
        !           727:    -1,  292,   -1,   -1,   11,   -1,  297,   -1,   -1,   16,
        !           728:   264,  265,  266,   93,   -1,   -1,   -1,   -1,   -1,   26,
        !           729:    -1,   -1,   -1,   -1,   31,   32,   33,   34,   -1,   36,
        !           730:    -1,   -1,  286,   -1,   -1,   -1,   -1,   -1,  292,   -1,
        !           731:    -1,   -1,   -1,  297,  124,  125,   -1,   -1,   55,   56,
        !           732:    57,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           733:    -1,   -1,   -1,   70,   -1,   -1,   -1,   -1,   -1,   -1,
        !           734:    -1,   -1,   79,   -1,   81,   -1,   -1,   -1,   -1,   -1,
        !           735:    87,   88,   89,   90,   91,   92,   93,   94,   95,   -1,
        !           736:    97,   98,   99,  100,  101,  102,  103,  104,  105,   -1,
        !           737:    -1,  108,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.2       noro      738:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.1       noro      739:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      740:    -1,  138,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.1       noro      741:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
                    742:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      743:    -1,   -1,   -1,   -1,  171,   -1,  173,   -1,   -1,   -1,
        !           744:    -1,   -1,  179,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           745:   187,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.1       noro      746:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      747:    -1,   -1,  209,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        !           748:    -1,  218,   -1,   -1,   -1,  222,   -1,  224,  225,   -1,
1.1       noro      749:    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1.3     ! noro      750:    -1,   -1,   -1,   -1,  241,   -1,   -1,  244,
1.1       noro      751: };
1.3     ! noro      752: #define YYFINAL 41
1.1       noro      753: #ifndef YYDEBUG
                    754: #define YYDEBUG 0
                    755: #endif
1.3     ! noro      756: #define YYMAXTOKEN 300
1.1       noro      757: #if YYDEBUG
                    758: const char * const yyname[] = {
                    759: "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    760: "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,"'/'",0,0,0,
                    761: 0,0,0,0,0,0,0,"':'","';'","'<'","'='","'>'","'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    762: 0,0,0,0,0,0,0,0,0,0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    763: 0,0,0,0,0,0,0,0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    764: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    765: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                    766: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"STRUCT","POINT",
1.2       noro      767: "NEWSTRUCT","ANS","FDEF","PFDEF","GLOBAL","CMP","OR","AND","CAR","CDR","QUOTED",
                    768: "DO","WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP",
1.3     ! noro      769: "RECMAP","TIMER","GF2NGEN","GFPNGEN","GFSNGEN","GETOPT","FOP_AND","FOP_OR",
        !           770: "FOP_IMPL","FOP_REPL","FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE",
        !           771: "STR","SELF","BOPASS","PLUS","MINUS",
1.1       noro      772: };
                    773: const char * const yyrule[] = {
                    774: "$accept : start",
                    775: "start : stat",
                    776: "stat : tail",
                    777: "$$1 :",
                    778: "$$2 :",
                    779: "stat : GLOBAL $$1 pvars $$2 tail",
                    780: "stat : STRUCT rawstr '{' members '}' tail",
                    781: "stat : expr tail",
                    782: "stat : complex",
                    783: "stat : BREAK tail",
                    784: "stat : CONTINUE tail",
                    785: "stat : RETURN tail",
                    786: "stat : RETURN expr tail",
                    787: "stat : IF '(' node ')' stat",
                    788: "stat : IF '(' node ')' stat ELSE stat",
                    789: "stat : FOR '(' node ';' node ';' node ')' stat",
                    790: "stat : WHILE '(' node ')' stat",
                    791: "stat : DO stat WHILE '(' node ')' tail",
                    792: "stat : LCASE '(' node ')' ':' '=' expr tail",
                    793: "stat : PFDEF LCASE '(' node ')'",
                    794: "$$3 :",
                    795: "stat : FDEF LCASE $$3 '(' node ')' desc '{' stats '}'",
                    796: "stat : error tail",
                    797: "tail : ';'",
                    798: "tail : '$'",
                    799: "desc :",
                    800: "desc : STR",
                    801: "complex : '{' stats '}'",
                    802: "members : rawstr",
                    803: "members : members ',' rawstr",
                    804: "pvars : UCASE",
                    805: "pvars : pvars ',' UCASE",
                    806: "stats :",
                    807: "stats : stats stat",
                    808: "node :",
                    809: "node : _node",
                    810: "_node : expr",
                    811: "_node : _node ',' expr",
                    812: "optlist : opt",
                    813: "optlist : optlist ',' opt",
                    814: "rawstr : UCASE",
                    815: "rawstr : LCASE",
                    816: "opt : rawstr '=' expr",
                    817: "pexpr : STR",
                    818: "pexpr : FORMULA",
                    819: "pexpr : ANS",
                    820: "pexpr : GF2NGEN",
                    821: "pexpr : GFPNGEN",
1.3     ! noro      822: "pexpr : GFSNGEN",
1.1       noro      823: "pexpr : LCASE",
                    824: "pexpr : LCASE '(' node ')'",
                    825: "pexpr : LCASE '(' node '|' optlist ')'",
1.3     ! noro      826: "pexpr : MAP '(' LCASE ',' node ')'",
        !           827: "pexpr : RECMAP '(' LCASE ',' node ')'",
1.1       noro      828: "pexpr : LCASE '{' node '}' '(' node ')'",
                    829: "pexpr : GETOPT '(' rawstr ')'",
1.3     ! noro      830: "pexpr : GETOPT '(' ')'",
1.1       noro      831: "pexpr : TIMER '(' expr ',' expr ',' expr ')'",
1.3     ! noro      832: "pexpr : PARIF '(' LCASE ')'",
1.1       noro      833: "pexpr : PARIF '(' LCASE ',' node ')'",
                    834: "pexpr : '(' '*' expr ')' '(' node ')'",
                    835: "pexpr : CAR '(' expr ')'",
                    836: "pexpr : CDR '(' expr ')'",
                    837: "pexpr : '(' expr ')'",
                    838: "pexpr : UCASE",
                    839: "pexpr : pexpr '[' expr ']'",
                    840: "pexpr : pexpr POINT rawstr",
                    841: "expr : pexpr",
                    842: "expr : '(' STRUCT rawstr ')' pexpr",
                    843: "expr : expr '=' expr",
                    844: "expr : expr BOPASS expr",
                    845: "expr : expr SELF",
                    846: "expr : SELF expr",
                    847: "expr : '[' node ']'",
                    848: "expr : '+' expr",
                    849: "expr : '-' expr",
                    850: "expr : expr '+' expr",
                    851: "expr : expr '-' expr",
                    852: "expr : expr '*' expr",
                    853: "expr : expr '/' expr",
                    854: "expr : expr '%' expr",
                    855: "expr : expr '^' expr",
                    856: "expr : expr CMP expr",
                    857: "expr : '!' expr",
                    858: "expr : expr OR expr",
                    859: "expr : expr AND expr",
                    860: "expr : FOP_NOT expr",
                    861: "expr : expr FOP_AND expr",
                    862: "expr : expr FOP_OR expr",
                    863: "expr : expr FOP_IMPL expr",
                    864: "expr : expr FOP_REPL expr",
                    865: "expr : expr FOP_EQUIV expr",
                    866: "expr : expr LOP expr",
                    867: "expr : expr '?' expr ':' expr",
                    868: "expr : '<' node '>'",
                    869: "expr : NEWSTRUCT '(' rawstr ')'",
1.2       noro      870: "expr : QUOTED '(' expr ')'",
1.1       noro      871: };
                    872: #endif
                    873: #if YYDEBUG
                    874: #include <stdio.h>
                    875: #endif
                    876: #ifdef YYSTACKSIZE
                    877: #undef YYMAXDEPTH
                    878: #define YYMAXDEPTH YYSTACKSIZE
                    879: #else
                    880: #ifdef YYMAXDEPTH
                    881: #define YYSTACKSIZE YYMAXDEPTH
                    882: #else
                    883: #define YYSTACKSIZE 10000
                    884: #define YYMAXDEPTH 10000
                    885: #endif
                    886: #endif
                    887: #define YYINITSTACKSIZE 200
                    888: int yydebug;
                    889: int yynerrs;
                    890: int yyerrflag;
                    891: int yychar;
                    892: short *yyssp;
                    893: YYSTYPE *yyvsp;
                    894: YYSTYPE yyval;
                    895: YYSTYPE yylval;
                    896: short *yyss;
                    897: short *yysslim;
                    898: YYSTYPE *yyvs;
                    899: int yystacksize;
                    900: /* allocate initial stack or double stack size, up to YYMAXDEPTH */
                    901: static int yygrowstack()
                    902: {
                    903:     int newsize, i;
                    904:     short *newss;
                    905:     YYSTYPE *newvs;
                    906:
                    907:     if ((newsize = yystacksize) == 0)
                    908:         newsize = YYINITSTACKSIZE;
                    909:     else if (newsize >= YYMAXDEPTH)
                    910:         return -1;
                    911:     else if ((newsize *= 2) > YYMAXDEPTH)
                    912:         newsize = YYMAXDEPTH;
                    913:     i = yyssp - yyss;
                    914:     newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :
                    915:       (short *)malloc(newsize * sizeof *newss);
                    916:     if (newss == NULL)
                    917:         return -1;
                    918:     yyss = newss;
                    919:     yyssp = newss + i;
                    920:     newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :
                    921:       (YYSTYPE *)malloc(newsize * sizeof *newvs);
                    922:     if (newvs == NULL)
                    923:         return -1;
                    924:     yyvs = newvs;
                    925:     yyvsp = newvs + i;
                    926:     yystacksize = newsize;
                    927:     yysslim = yyss + newsize - 1;
                    928:     return 0;
                    929: }
                    930:
                    931: #define YYABORT goto yyabort
                    932: #define YYREJECT goto yyabort
                    933: #define YYACCEPT goto yyaccept
                    934: #define YYERROR goto yyerrlab
                    935:
                    936: #ifndef YYPARSE_PARAM
                    937: #if defined(__cplusplus) || __STDC__
                    938: #define YYPARSE_PARAM_ARG void
                    939: #define YYPARSE_PARAM_DECL
                    940: #else  /* ! ANSI-C/C++ */
                    941: #define YYPARSE_PARAM_ARG
                    942: #define YYPARSE_PARAM_DECL
                    943: #endif /* ANSI-C/C++ */
                    944: #else  /* YYPARSE_PARAM */
                    945: #ifndef YYPARSE_PARAM_TYPE
                    946: #define YYPARSE_PARAM_TYPE void *
                    947: #endif
                    948: #if defined(__cplusplus) || __STDC__
                    949: #define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM
                    950: #define YYPARSE_PARAM_DECL
                    951: #else  /* ! ANSI-C/C++ */
                    952: #define YYPARSE_PARAM_ARG YYPARSE_PARAM
                    953: #define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM;
                    954: #endif /* ANSI-C/C++ */
                    955: #endif /* ! YYPARSE_PARAM */
                    956:
                    957: int
                    958: yyparse (YYPARSE_PARAM_ARG)
                    959:     YYPARSE_PARAM_DECL
                    960: {
                    961:     register int yym, yyn, yystate;
                    962: #if YYDEBUG
                    963:     register const char *yys;
                    964:
                    965:     if ((yys = getenv("YYDEBUG")))
                    966:     {
                    967:         yyn = *yys;
                    968:         if (yyn >= '0' && yyn <= '9')
                    969:             yydebug = yyn - '0';
                    970:     }
                    971: #endif
                    972:
                    973:     yynerrs = 0;
                    974:     yyerrflag = 0;
                    975:     yychar = (-1);
                    976:
                    977:     if (yyss == NULL && yygrowstack()) goto yyoverflow;
                    978:     yyssp = yyss;
                    979:     yyvsp = yyvs;
                    980:     *yyssp = yystate = 0;
                    981:
                    982: yyloop:
                    983:     if ((yyn = yydefred[yystate])) goto yyreduce;
                    984:     if (yychar < 0)
                    985:     {
                    986:         if ((yychar = yylex()) < 0) yychar = 0;
                    987: #if YYDEBUG
                    988:         if (yydebug)
                    989:         {
                    990:             yys = 0;
                    991:             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                    992:             if (!yys) yys = "illegal-symbol";
                    993:             printf("%sdebug: state %d, reading %d (%s)\n",
                    994:                     YYPREFIX, yystate, yychar, yys);
                    995:         }
                    996: #endif
                    997:     }
                    998:     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
                    999:             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
                   1000:     {
                   1001: #if YYDEBUG
                   1002:         if (yydebug)
                   1003:             printf("%sdebug: state %d, shifting to state %d\n",
                   1004:                     YYPREFIX, yystate, yytable[yyn]);
                   1005: #endif
                   1006:         if (yyssp >= yysslim && yygrowstack())
                   1007:         {
                   1008:             goto yyoverflow;
                   1009:         }
                   1010:         *++yyssp = yystate = yytable[yyn];
                   1011:         *++yyvsp = yylval;
                   1012:         yychar = (-1);
                   1013:         if (yyerrflag > 0)  --yyerrflag;
                   1014:         goto yyloop;
                   1015:     }
                   1016:     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
                   1017:             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
                   1018:     {
                   1019:         yyn = yytable[yyn];
                   1020:         goto yyreduce;
                   1021:     }
                   1022:     if (yyerrflag) goto yyinrecovery;
                   1023: #if defined(lint) || defined(__GNUC__)
                   1024:     goto yynewerror;
                   1025: #endif
                   1026: yynewerror:
                   1027:     yyerror("syntax error");
                   1028: #if defined(lint) || defined(__GNUC__)
                   1029:     goto yyerrlab;
                   1030: #endif
                   1031: yyerrlab:
                   1032:     ++yynerrs;
                   1033: yyinrecovery:
                   1034:     if (yyerrflag < 3)
                   1035:     {
                   1036:         yyerrflag = 3;
                   1037:         for (;;)
                   1038:         {
                   1039:             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
                   1040:                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
                   1041:             {
                   1042: #if YYDEBUG
                   1043:                 if (yydebug)
                   1044:                     printf("%sdebug: state %d, error recovery shifting\
                   1045:  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
                   1046: #endif
                   1047:                 if (yyssp >= yysslim && yygrowstack())
                   1048:                 {
                   1049:                     goto yyoverflow;
                   1050:                 }
                   1051:                 *++yyssp = yystate = yytable[yyn];
                   1052:                 *++yyvsp = yylval;
                   1053:                 goto yyloop;
                   1054:             }
                   1055:             else
                   1056:             {
                   1057: #if YYDEBUG
                   1058:                 if (yydebug)
                   1059:                     printf("%sdebug: error recovery discarding state %d\n",
                   1060:                             YYPREFIX, *yyssp);
                   1061: #endif
                   1062:                 if (yyssp <= yyss) goto yyabort;
                   1063:                 --yyssp;
                   1064:                 --yyvsp;
                   1065:             }
                   1066:         }
                   1067:     }
                   1068:     else
                   1069:     {
                   1070:         if (yychar == 0) goto yyabort;
                   1071: #if YYDEBUG
                   1072:         if (yydebug)
                   1073:         {
                   1074:             yys = 0;
                   1075:             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   1076:             if (!yys) yys = "illegal-symbol";
                   1077:             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
                   1078:                     YYPREFIX, yystate, yychar, yys);
                   1079:         }
                   1080: #endif
                   1081:         yychar = (-1);
                   1082:         goto yyloop;
                   1083:     }
                   1084: yyreduce:
                   1085: #if YYDEBUG
                   1086:     if (yydebug)
                   1087:         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
                   1088:                 YYPREFIX, yystate, yyn, yyrule[yyn]);
                   1089: #endif
                   1090:     yym = yylen[yyn];
                   1091:     yyval = yyvsp[1-yym];
                   1092:     switch (yyn)
                   1093:     {
                   1094: case 1:
1.2       noro     1095: #line 129 "parse.y"
1.1       noro     1096: { parse_snode = yyvsp[0].s; YYACCEPT; }
                   1097: break;
                   1098: case 2:
1.2       noro     1099: #line 132 "parse.y"
1.1       noro     1100: { yyval.s = 0; }
                   1101: break;
                   1102: case 3:
1.2       noro     1103: #line 133 "parse.y"
1.1       noro     1104: { gdef=1; }
                   1105: break;
                   1106: case 4:
1.2       noro     1107: #line 133 "parse.y"
1.1       noro     1108: { gdef=0; }
                   1109: break;
                   1110: case 5:
1.2       noro     1111: #line 134 "parse.y"
1.1       noro     1112: { yyval.s = 0; }
                   1113: break;
                   1114: case 6:
1.2       noro     1115: #line 136 "parse.y"
1.1       noro     1116: { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; }
                   1117: break;
                   1118: case 7:
1.2       noro     1119: #line 138 "parse.y"
1.1       noro     1120: { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); }
                   1121: break;
                   1122: case 8:
1.2       noro     1123: #line 140 "parse.y"
1.1       noro     1124: { yyval.s = yyvsp[0].s; }
                   1125: break;
                   1126: case 9:
1.2       noro     1127: #line 142 "parse.y"
1.1       noro     1128: { yyval.s = mksnode(0,S_BREAK); }
                   1129: break;
                   1130: case 10:
1.2       noro     1131: #line 144 "parse.y"
1.1       noro     1132: { yyval.s = mksnode(0,S_CONTINUE); }
                   1133: break;
                   1134: case 11:
1.2       noro     1135: #line 146 "parse.y"
1.1       noro     1136: { yyval.s = mksnode(1,S_RETURN,0); }
                   1137: break;
                   1138: case 12:
1.2       noro     1139: #line 148 "parse.y"
1.1       noro     1140: { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); }
                   1141: break;
                   1142: case 13:
1.2       noro     1143: #line 150 "parse.y"
1.1       noro     1144: { yyval.s = mksnode(4,S_IFELSE,yyvsp[-4].i,yyvsp[-2].n,yyvsp[0].s,0); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
                   1145: break;
                   1146: case 14:
1.2       noro     1147: #line 152 "parse.y"
1.1       noro     1148: { yyval.s = mksnode(4,S_IFELSE,yyvsp[-6].i,yyvsp[-4].n,yyvsp[-2].s,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
                   1149: break;
                   1150: case 15:
1.2       noro     1151: #line 154 "parse.y"
1.1       noro     1152: { yyval.s = mksnode(5,S_FOR,yyvsp[-8].i,yyvsp[-6].n,yyvsp[-4].n?yyvsp[-4].n:ONENODE,yyvsp[-2].n,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
                   1153: break;
                   1154: case 16:
1.2       noro     1155: #line 156 "parse.y"
1.1       noro     1156: { yyval.s = mksnode(5,S_FOR,yyvsp[-4].i,0,yyvsp[-2].n,0,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; }
                   1157: break;
                   1158: case 17:
1.2       noro     1159: #line 158 "parse.y"
1.1       noro     1160: { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); }
                   1161: break;
                   1162: case 18:
1.2       noro     1163: #line 160 "parse.y"
1.1       noro     1164: { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; }
                   1165: break;
                   1166: case 19:
1.2       noro     1167: #line 162 "parse.y"
1.1       noro     1168: { yyval.s = mksnode(3,S_PFDEF,yyvsp[-3].p,yyvsp[-1].n,0); NOPR; }
                   1169: break;
                   1170: case 20:
1.2       noro     1171: #line 163 "parse.y"
1.1       noro     1172: { mkpvs(); }
                   1173: break;
                   1174: case 21:
1.2       noro     1175: #line 164 "parse.y"
1.1       noro     1176: {
                   1177:                                mkuf(yyvsp[-8].p,asir_infile->name,yyvsp[-5].n,
                   1178:                                        mksnode(1,S_CPLX,yyvsp[-1].n),yyvsp[-9].i,asir_infile->ln,yyvsp[-3].p);
                   1179:                                yyval.s = 0; NOPR;
                   1180:                        }
                   1181: break;
                   1182: case 22:
1.2       noro     1183: #line 170 "parse.y"
1.1       noro     1184: { yyerrok; yyval.s = 0; }
                   1185: break;
                   1186: case 23:
1.2       noro     1187: #line 173 "parse.y"
1.1       noro     1188: { if ( main_parser ) prresult = 1; }
                   1189: break;
                   1190: case 24:
1.2       noro     1191: #line 175 "parse.y"
1.1       noro     1192: { if ( main_parser ) prresult = 0; }
                   1193: break;
                   1194: case 25:
1.2       noro     1195: #line 177 "parse.y"
1.1       noro     1196: { yyval.p = 0; }
                   1197: break;
                   1198: case 26:
1.2       noro     1199: #line 179 "parse.y"
1.1       noro     1200: { yyval.p = yyvsp[0].p; }
                   1201: break;
                   1202: case 27:
1.2       noro     1203: #line 182 "parse.y"
1.1       noro     1204: { yyval.s = mksnode(1,S_CPLX,yyvsp[-1].n); }
                   1205: break;
                   1206: case 28:
1.2       noro     1207: #line 185 "parse.y"
1.1       noro     1208: { MKNODE(yyval.n,yyvsp[0].p,0); }
                   1209: break;
                   1210: case 29:
1.2       noro     1211: #line 187 "parse.y"
1.1       noro     1212: { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); }
                   1213: break;
                   1214: case 30:
1.2       noro     1215: #line 190 "parse.y"
1.1       noro     1216: { val = (pointer)makepvar(yyvsp[0].p); MKNODE(yyval.n,val,0); }
                   1217: break;
                   1218: case 31:
1.2       noro     1219: #line 192 "parse.y"
1.1       noro     1220: { appendtonode(yyvsp[-2].n,(pointer)makepvar(yyvsp[0].p),&yyval.n); }
                   1221: break;
                   1222: case 32:
1.2       noro     1223: #line 195 "parse.y"
1.1       noro     1224: { yyval.n = 0; }
                   1225: break;
                   1226: case 33:
1.2       noro     1227: #line 197 "parse.y"
1.1       noro     1228: { appendtonode(yyvsp[-1].n,(pointer)yyvsp[0].s,&yyval.n); }
                   1229: break;
                   1230: case 34:
1.2       noro     1231: #line 200 "parse.y"
1.1       noro     1232: { yyval.n = 0; }
                   1233: break;
                   1234: case 35:
1.2       noro     1235: #line 202 "parse.y"
1.1       noro     1236: { yyval.n = yyvsp[0].n; }
                   1237: break;
                   1238: case 36:
1.2       noro     1239: #line 205 "parse.y"
1.1       noro     1240: { MKNODE(yyval.n,yyvsp[0].f,0); }
                   1241: break;
                   1242: case 37:
1.2       noro     1243: #line 207 "parse.y"
1.1       noro     1244: { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }
                   1245: break;
                   1246: case 38:
1.2       noro     1247: #line 210 "parse.y"
1.1       noro     1248: { MKNODE(yyval.n,yyvsp[0].f,0); }
                   1249: break;
                   1250: case 39:
1.2       noro     1251: #line 212 "parse.y"
1.1       noro     1252: { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); }
                   1253: break;
                   1254: case 40:
1.2       noro     1255: #line 215 "parse.y"
1.1       noro     1256: { yyval.p = yyvsp[0].p; }
                   1257: break;
                   1258: case 41:
1.2       noro     1259: #line 217 "parse.y"
1.1       noro     1260: { yyval.p = yyvsp[0].p; }
                   1261: break;
                   1262: case 42:
1.2       noro     1263: #line 220 "parse.y"
1.1       noro     1264: { yyval.f = mkfnode(2,I_OPT,yyvsp[-2].p,yyvsp[0].f); }
                   1265: break;
                   1266: case 43:
1.2       noro     1267: #line 223 "parse.y"
1.1       noro     1268: { yyval.f = mkfnode(1,I_STR,yyvsp[0].p); }
                   1269: break;
                   1270: case 44:
1.2       noro     1271: #line 225 "parse.y"
1.1       noro     1272: { yyval.f = mkfnode(1,I_FORMULA,yyvsp[0].p); }
                   1273: break;
                   1274: case 45:
1.2       noro     1275: #line 227 "parse.y"
1.1       noro     1276: { yyval.f = mkfnode(1,I_ANS,yyvsp[0].i); }
                   1277: break;
                   1278: case 46:
1.2       noro     1279: #line 229 "parse.y"
1.1       noro     1280: { yyval.f = mkfnode(0,I_GF2NGEN); }
                   1281: break;
                   1282: case 47:
1.2       noro     1283: #line 231 "parse.y"
1.1       noro     1284: { yyval.f = mkfnode(0,I_GFPNGEN); }
                   1285: break;
                   1286: case 48:
1.2       noro     1287: #line 233 "parse.y"
1.3     ! noro     1288: { yyval.f = mkfnode(0,I_GFSNGEN); }
        !          1289: break;
        !          1290: case 49:
        !          1291: #line 235 "parse.y"
1.1       noro     1292: {
                   1293:                                FUNC f;
                   1294:
                   1295:                                searchf(noargsysf,yyvsp[0].p,&f);
                   1296:                                if ( f )
                   1297:                                         yyval.f = mkfnode(2,I_FUNC,f,0);
                   1298:                                else {
                   1299:                                        searchc(yyvsp[0].p,&f);
                   1300:                                        if ( f )
                   1301:                                                yyval.f = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,0));
                   1302:                                        else {
                   1303:                                                searchf(sysf,yyvsp[0].p,&f);
                   1304:                                                if ( !f )
                   1305:                                                        searchf(ubinf,yyvsp[0].p,&f);
                   1306:                                                if ( !f )
                   1307:                                                        searchpf(yyvsp[0].p,&f);
                   1308:                                                if ( !f )
                   1309:                                                        searchf(usrf,yyvsp[0].p,&f);
                   1310:                                                if ( f )
                   1311:                                                        makesrvar(f,(P *)&val);
                   1312:                                                else
                   1313:                                                        makevar(yyvsp[0].p,(P *)&val);
                   1314:                                                yyval.f = mkfnode(1,I_FORMULA,val);
                   1315:                                        }
                   1316:                                }
                   1317:                        }
                   1318: break;
1.3     ! noro     1319: case 50:
        !          1320: #line 262 "parse.y"
1.1       noro     1321: {
1.3     ! noro     1322:                                gen_searchf(yyvsp[-3].p,(FUNC *)&val);
1.1       noro     1323:                                yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                   1324:                        }
                   1325: break;
1.3     ! noro     1326: case 51:
        !          1327: #line 268 "parse.y"
1.1       noro     1328: {
1.3     ! noro     1329:                                gen_searchf(yyvsp[-5].p,(FUNC *)&val);
1.1       noro     1330:                                yyval.f = mkfnode(3,I_FUNC_OPT,val,
                   1331:                                        mkfnode(1,I_LIST,yyvsp[-3].n),mkfnode(1,I_LIST,yyvsp[-1].n));
                   1332:                        }
                   1333: break;
1.3     ! noro     1334: case 52:
        !          1335: #line 274 "parse.y"
        !          1336: {
        !          1337:                                gen_searchf(yyvsp[-3].p,(FUNC *)&val);
        !          1338:                                yyval.f = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));
        !          1339:                        }
        !          1340: break;
        !          1341: case 53:
        !          1342: #line 279 "parse.y"
        !          1343: {
        !          1344:                                gen_searchf(yyvsp[-3].p,(FUNC *)&val);
        !          1345:                                yyval.f = mkfnode(2,I_RECMAP,val,mkfnode(1,I_LIST,yyvsp[-1].n));
        !          1346:                        }
        !          1347: break;
        !          1348: case 54:
        !          1349: #line 284 "parse.y"
1.1       noro     1350: {
                   1351:                                searchpf(yyvsp[-6].p,(FUNC *)&val);
                   1352:                                yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n));
                   1353:                        }
                   1354: break;
1.3     ! noro     1355: case 55:
        !          1356: #line 289 "parse.y"
        !          1357: {
        !          1358:                                yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p);
        !          1359:                        }
        !          1360: break;
        !          1361: case 56:
1.2       noro     1362: #line 293 "parse.y"
1.1       noro     1363: {
1.3     ! noro     1364:                                yyval.f = mkfnode(2,I_GETOPT,0);
1.1       noro     1365:                        }
                   1366: break;
1.3     ! noro     1367: case 57:
1.2       noro     1368: #line 297 "parse.y"
1.1       noro     1369: {
1.3     ! noro     1370:                                yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f);
1.1       noro     1371:                        }
                   1372: break;
1.3     ! noro     1373: case 58:
        !          1374: #line 301 "parse.y"
1.1       noro     1375: {
1.3     ! noro     1376:                                searchf(parif,yyvsp[-1].p,(FUNC *)&val);
        !          1377:                                if ( !val )
        !          1378:                                        mkparif(yyvsp[-1].p,(FUNC *)&val);
        !          1379:                                yyval.f = mkfnode(2,I_FUNC,val,0);
1.1       noro     1380:                        }
                   1381: break;
1.3     ! noro     1382: case 59:
        !          1383: #line 308 "parse.y"
1.1       noro     1384: {
                   1385:                                searchf(parif,yyvsp[-3].p,(FUNC *)&val);
                   1386:                                if ( !val )
                   1387:                                        mkparif(yyvsp[-3].p,(FUNC *)&val);
                   1388:                                yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n));
                   1389:                        }
                   1390: break;
1.3     ! noro     1391: case 60:
        !          1392: #line 315 "parse.y"
1.1       noro     1393: {
                   1394:                                yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n));
                   1395:                        }
                   1396: break;
1.3     ! noro     1397: case 61:
        !          1398: #line 319 "parse.y"
1.1       noro     1399: { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); }
                   1400: break;
1.3     ! noro     1401: case 62:
        !          1402: #line 321 "parse.y"
1.1       noro     1403: { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); }
                   1404: break;
1.3     ! noro     1405: case 63:
        !          1406: #line 323 "parse.y"
        !          1407: { yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); }
1.1       noro     1408: break;
1.3     ! noro     1409: case 64:
        !          1410: #line 325 "parse.y"
1.1       noro     1411: {
                   1412:                                if ( main_parser )
                   1413:                                        yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0);
                   1414:                                else {
                   1415:                                        ind = searchpvar(yyvsp[0].p);
                   1416:                                        if ( ind == -1 ) {
                   1417:                                                fprintf(stderr,"%s : no such variable.\n",yyvsp[0].p);
                   1418:                                                YYABORT;
                   1419:                                        } else
                   1420:                                                yyval.f = mkfnode(2,I_PVAR,ind,0);
                   1421:                                }
                   1422:                        }
                   1423: break;
1.3     ! noro     1424: case 65:
        !          1425: #line 338 "parse.y"
1.1       noro     1426: {
                   1427:                                if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) {
                   1428:                                        appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a);
                   1429:                                        yyvsp[-3].f->arg[1] = (pointer)a; yyval.f = yyvsp[-3].f;
                   1430:                                } else {
                   1431:                                        MKNODE(a,yyvsp[-1].f,0);
                   1432:                                        yyval.f = mkfnode(2,I_INDEX,(pointer)yyvsp[-3].f,a);
                   1433:                                }
                   1434:                        }
                   1435: break;
1.3     ! noro     1436: case 66:
        !          1437: #line 348 "parse.y"
1.1       noro     1438: { yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); }
                   1439: break;
1.3     ! noro     1440: case 67:
        !          1441: #line 351 "parse.y"
        !          1442: { yyval.f = yyvsp[0].f; }
        !          1443: break;
        !          1444: case 68:
        !          1445: #line 353 "parse.y"
        !          1446: { yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); }
        !          1447: break;
        !          1448: case 69:
        !          1449: #line 355 "parse.y"
        !          1450: { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); }
        !          1451: break;
        !          1452: case 70:
1.2       noro     1453: #line 357 "parse.y"
1.3     ! noro     1454: { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); }
1.1       noro     1455: break;
1.3     ! noro     1456: case 71:
1.2       noro     1457: #line 359 "parse.y"
1.3     ! noro     1458: { yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); }
1.1       noro     1459: break;
1.3     ! noro     1460: case 72:
1.2       noro     1461: #line 361 "parse.y"
1.3     ! noro     1462: { yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); }
1.1       noro     1463: break;
1.3     ! noro     1464: case 73:
1.2       noro     1465: #line 363 "parse.y"
1.3     ! noro     1466: { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); }
1.1       noro     1467: break;
1.3     ! noro     1468: case 74:
1.2       noro     1469: #line 365 "parse.y"
1.3     ! noro     1470: { yyval.f = yyvsp[0].f; }
1.1       noro     1471: break;
1.3     ! noro     1472: case 75:
1.2       noro     1473: #line 367 "parse.y"
1.3     ! noro     1474: { yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); }
1.1       noro     1475: break;
1.3     ! noro     1476: case 76:
1.2       noro     1477: #line 369 "parse.y"
1.3     ! noro     1478: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1479: break;
1.3     ! noro     1480: case 77:
1.2       noro     1481: #line 371 "parse.y"
1.3     ! noro     1482: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1483: break;
1.3     ! noro     1484: case 78:
1.2       noro     1485: #line 373 "parse.y"
1.3     ! noro     1486: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1487: break;
1.3     ! noro     1488: case 79:
1.2       noro     1489: #line 375 "parse.y"
1.1       noro     1490: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
                   1491: break;
1.3     ! noro     1492: case 80:
1.2       noro     1493: #line 377 "parse.y"
1.1       noro     1494: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
                   1495: break;
1.3     ! noro     1496: case 81:
1.2       noro     1497: #line 379 "parse.y"
1.1       noro     1498: { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); }
                   1499: break;
1.3     ! noro     1500: case 82:
1.2       noro     1501: #line 381 "parse.y"
1.3     ! noro     1502: { yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1503: break;
1.3     ! noro     1504: case 83:
1.2       noro     1505: #line 383 "parse.y"
1.3     ! noro     1506: { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); }
1.1       noro     1507: break;
1.3     ! noro     1508: case 84:
1.2       noro     1509: #line 385 "parse.y"
1.3     ! noro     1510: { yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1511: break;
1.3     ! noro     1512: case 85:
1.2       noro     1513: #line 387 "parse.y"
1.3     ! noro     1514: { yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1515: break;
1.3     ! noro     1516: case 86:
1.2       noro     1517: #line 389 "parse.y"
1.3     ! noro     1518: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); }
1.1       noro     1519: break;
1.3     ! noro     1520: case 87:
1.2       noro     1521: #line 391 "parse.y"
1.3     ! noro     1522: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1523: break;
1.3     ! noro     1524: case 88:
1.2       noro     1525: #line 393 "parse.y"
1.3     ! noro     1526: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1527: break;
1.3     ! noro     1528: case 89:
1.2       noro     1529: #line 395 "parse.y"
1.3     ! noro     1530: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1531: break;
1.3     ! noro     1532: case 90:
1.2       noro     1533: #line 397 "parse.y"
1.1       noro     1534: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
                   1535: break;
1.3     ! noro     1536: case 91:
1.2       noro     1537: #line 399 "parse.y"
1.1       noro     1538: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
                   1539: break;
1.3     ! noro     1540: case 92:
1.2       noro     1541: #line 401 "parse.y"
1.1       noro     1542: { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); }
                   1543: break;
1.3     ! noro     1544: case 93:
1.2       noro     1545: #line 403 "parse.y"
1.3     ! noro     1546: { yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); }
1.1       noro     1547: break;
1.3     ! noro     1548: case 94:
1.2       noro     1549: #line 405 "parse.y"
1.3     ! noro     1550: { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); }
1.1       noro     1551: break;
1.3     ! noro     1552: case 95:
1.2       noro     1553: #line 407 "parse.y"
1.3     ! noro     1554: { yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); }
1.1       noro     1555: break;
1.3     ! noro     1556: case 96:
1.2       noro     1557: #line 409 "parse.y"
                   1558: { MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); }
                   1559: break;
1.3     ! noro     1560: #line 1561 "y.tab.c"
1.1       noro     1561:     }
                   1562:     yyssp -= yym;
                   1563:     yystate = *yyssp;
                   1564:     yyvsp -= yym;
                   1565:     yym = yylhs[yyn];
                   1566:     if (yystate == 0 && yym == 0)
                   1567:     {
                   1568: #if YYDEBUG
                   1569:         if (yydebug)
                   1570:             printf("%sdebug: after reduction, shifting from state 0 to\
                   1571:  state %d\n", YYPREFIX, YYFINAL);
                   1572: #endif
                   1573:         yystate = YYFINAL;
                   1574:         *++yyssp = YYFINAL;
                   1575:         *++yyvsp = yyval;
                   1576:         if (yychar < 0)
                   1577:         {
                   1578:             if ((yychar = yylex()) < 0) yychar = 0;
                   1579: #if YYDEBUG
                   1580:             if (yydebug)
                   1581:             {
                   1582:                 yys = 0;
                   1583:                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
                   1584:                 if (!yys) yys = "illegal-symbol";
                   1585:                 printf("%sdebug: state %d, reading %d (%s)\n",
                   1586:                         YYPREFIX, YYFINAL, yychar, yys);
                   1587:             }
                   1588: #endif
                   1589:         }
                   1590:         if (yychar == 0) goto yyaccept;
                   1591:         goto yyloop;
                   1592:     }
                   1593:     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
                   1594:             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
                   1595:         yystate = yytable[yyn];
                   1596:     else
                   1597:         yystate = yydgoto[yym];
                   1598: #if YYDEBUG
                   1599:     if (yydebug)
                   1600:         printf("%sdebug: after reduction, shifting from state %d \
                   1601: to state %d\n", YYPREFIX, *yyssp, yystate);
                   1602: #endif
                   1603:     if (yyssp >= yysslim && yygrowstack())
                   1604:     {
                   1605:         goto yyoverflow;
                   1606:     }
                   1607:     *++yyssp = yystate;
                   1608:     *++yyvsp = yyval;
                   1609:     goto yyloop;
                   1610: yyoverflow:
                   1611:     yyerror("yacc stack overflow");
                   1612: yyabort:
                   1613:     return (1);
                   1614: yyaccept:
                   1615:     return (0);
                   1616: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>