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