-extern char *malloc(), *realloc();
-
-# line 2 "a2p.y"
-/* $RCSfile: a2p.y,v $$Revision: 4.0.1.2 $$Date: 92/06/08 16:13:03 $
+#ifndef lint
+static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93";
+#endif
+#define YYBYACC 1
+#define YYMAJOR 1
+#define YYMINOR 9
+#define yyclearin (yychar=(-1))
+#define yyerrok (yyerrflag=0)
+#define YYRECOVERING (yyerrflag!=0)
+extern int yyparse(void);
+#define YYPREFIX "yy"
+#line 2 "a2p.y"
+/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
*
- * Copyright (c) 1991, Larry Wall
+ * Copyright (C) 1991, 1992, 1993, 1994, 1996, 1997, 1999, 2000,
+ * by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* $Log: a2p.y,v $
- * Revision 4.0.1.2 92/06/08 16:13:03 lwall
- * patch20: in a2p, getline should allow variable to be array element
- *
- * Revision 4.0.1.1 91/06/07 12:12:41 lwall
- * patch4: new copyright notice
- *
- * Revision 4.0 91/03/20 01:57:21 lwall
- * 4.0 baseline.
- *
*/
#include "INTERN.h"
int begins = Nullop;
int ends = Nullop;
-# define BEGIN 257
-# define END 258
-# define REGEX 259
-# define SEMINEW 260
-# define NEWLINE 261
-# define COMMENT 262
-# define FUN1 263
-# define FUNN 264
-# define GRGR 265
-# define PRINT 266
-# define PRINTF 267
-# define SPRINTF 268
-# define SPLIT 269
-# define IF 270
-# define ELSE 271
-# define WHILE 272
-# define FOR 273
-# define IN 274
-# define EXIT 275
-# define NEXT 276
-# define BREAK 277
-# define CONTINUE 278
-# define RET 279
-# define GETLINE 280
-# define DO 281
-# define SUB 282
-# define GSUB 283
-# define MATCH 284
-# define FUNCTION 285
-# define USERFUN 286
-# define DELETE 287
-# define ASGNOP 288
-# define OROR 289
-# define ANDAND 290
-# define NUMBER 291
-# define VAR 292
-# define SUBSTR 293
-# define INDEX 294
-# define MATCHOP 295
-# define RELOP 296
-# define OR 297
-# define STRING 298
-# define UMINUS 299
-# define NOT 300
-# define INCR 301
-# define DECR 302
-# define FIELD 303
-# define VFIELD 304
-#define yyclearin yychar = -1
-#define yyerrok yyerrflag = 0
-extern int yychar;
-extern int yyerrflag;
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH 150
-#endif
-#ifndef YYSTYPE
-#define YYSTYPE int
-#endif
-YYSTYPE yylval, yyval;
-# define YYERRCODE 256
-
-# line 402 "a2p.y"
-
-#include "a2py.c"
-int yyexca[] ={
--1, 1,
- 0, -1,
- -2, 0,
- };
-# define YYNPROD 137
-# define YYLAST 3142
-int yyact[]={
-
- 63, 44, 156, 32, 50, 31, 222, 73, 74, 75,
- 210, 53, 45, 46, 124, 49, 86, 307, 104, 158,
- 74, 75, 52, 54, 53, 302, 126, 271, 306, 265,
- 106, 107, 270, 245, 51, 157, 269, 21, 56, 92,
- 2, 131, 55, 20, 48, 72, 19, 90, 69, 132,
- 47, 196, 241, 102, 100, 272, 195, 193, 109, 110,
- 111, 112, 253, 76, 79, 252, 72, 139, 15, 77,
- 237, 68, 78, 311, 236, 160, 66, 64, 309, 65,
- 293, 67, 187, 174, 255, 139, 198, 184, 183, 130,
- 68, 80, 179, 129, 5, 66, 64, 71, 65, 128,
- 67, 68, 286, 214, 199, 212, 66, 211, 105, 103,
- 99, 67, 98, 97, 96, 95, 71, 108, 94, 89,
- 88, 152, 87, 4, 153, 10, 9, 200, 69, 14,
- 177, 178, 239, 140, 13, 3, 136, 137, 127, 1,
- 0, 0, 0, 185, 186, 0, 72, 69, 151, 0,
- 0, 154, 0, 0, 0, 0, 0, 0, 69, 0,
- 0, 0, 0, 204, 205, 72, 0, 106, 107, 0,
- 0, 0, 0, 0, 175, 176, 72, 213, 0, 215,
- 76, 0, 140, 0, 0, 0, 77, 0, 0, 78,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 230, 231, 232, 233, 234, 235, 0,
- 206, 207, 0, 0, 0, 0, 244, 0, 0, 0,
- 159, 106, 107, 34, 35, 0, 162, 163, 37, 39,
- 170, 0, 171, 173, 248, 166, 165, 164, 167, 168,
- 33, 172, 42, 43, 41, 161, 36, 169, 44, 18,
- 247, 27, 44, 38, 40, 54, 53, 249, 28, 45,
- 46, 29, 30, 45, 46, 54, 53, 54, 53, 0,
- 282, 18, 18, 238, 284, 285, 242, 243, 289, 290,
- 54, 53, 240, 91, 54, 53, 0, 299, 300, 54,
- 53, 0, 304, 0, 0, 6, 7, 8, 18, 0,
- 0, 298, 0, 113, 114, 115, 116, 63, 70, 18,
- 32, 310, 31, 313, 312, 315, 314, 316, 0, 18,
- 0, 0, 303, 0, 247, 0, 158, 70, 201, 202,
- 203, 0, 133, 135, 91, 91, 308, 287, 247, 141,
- 143, 144, 145, 146, 147, 149, 91, 0, 0, 91,
- 0, 301, 0, 0, 0, 18, 18, 0, 0, 0,
- 63, 0, 0, 32, 0, 31, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 181, 158,
- 0, 0, 0, 0, 0, 0, 0, 0, 141, 0,
- 174, 0, 305, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 91, 91,
- 63, 0, 208, 32, 209, 31, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
- 0, 219, 220, 0, 221, 0, 223, 225, 226, 227,
- 228, 229, 0, 174, 0, 274, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 18, 18, 0,
- 246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 0, 0, 32, 0, 31, 0, 0,
- 0, 0, 266, 0, 0, 0, 267, 268, 0, 0,
- 0, 158, 0, 174, 0, 217, 275, 0, 276, 0,
- 0, 0, 0, 0, 278, 0, 279, 0, 280, 0,
- 281, 0, 0, 0, 0, 0, 0, 0, 18, 0,
- 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
- 34, 35, 18, 162, 163, 37, 39, 170, 0, 171,
- 173, 0, 166, 165, 164, 167, 168, 33, 172, 42,
- 43, 41, 0, 36, 169, 174, 0, 216, 27, 44,
- 38, 40, 0, 0, 0, 28, 0, 0, 29, 30,
- 45, 46, 63, 0, 0, 32, 0, 31, 0, 0,
- 159, 0, 0, 34, 35, 0, 162, 163, 37, 39,
- 170, 0, 171, 173, 0, 166, 165, 164, 167, 168,
- 33, 172, 42, 43, 41, 0, 36, 169, 0, 0,
- 0, 27, 44, 38, 40, 0, 0, 0, 28, 0,
- 0, 29, 30, 45, 46, 0, 25, 0, 0, 32,
- 159, 31, 0, 34, 35, 0, 162, 163, 37, 39,
- 170, 0, 171, 173, 0, 166, 165, 164, 167, 168,
- 33, 172, 42, 43, 41, 0, 36, 169, 0, 0,
- 0, 27, 44, 38, 40, 0, 0, 0, 28, 0,
- 0, 29, 30, 45, 46, 63, 0, 0, 32, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 159, 0, 158, 34, 35, 0, 162, 163,
- 37, 39, 170, 0, 171, 173, 0, 166, 165, 164,
- 167, 168, 33, 172, 42, 43, 41, 0, 36, 169,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 63, 0, 0,
- 32, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 158, 0, 174, 0,
- 197, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 0, 0, 32, 138, 31, 0, 0,
- 0, 0, 0, 0, 0, 34, 35, 0, 162, 163,
- 37, 39, 59, 0, 58, 0, 0, 166, 165, 164,
- 167, 168, 33, 0, 42, 43, 41, 0, 36, 169,
- 174, 0, 155, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 0,
- 0, 0, 0, 0, 0, 24, 0, 106, 107, 34,
- 35, 0, 0, 0, 37, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 26, 29, 30, 45,
- 46, 0, 0, 0, 0, 159, 0, 0, 34, 35,
- 0, 162, 163, 37, 39, 170, 0, 171, 173, 0,
- 166, 165, 164, 167, 168, 33, 172, 42, 43, 41,
- 63, 36, 169, 32, 0, 31, 27, 44, 38, 40,
- 0, 0, 0, 28, 0, 0, 29, 30, 45, 46,
- 59, 0, 58, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
- 34, 35, 0, 162, 163, 37, 39, 170, 0, 171,
- 173, 0, 166, 165, 164, 167, 168, 33, 172, 42,
- 43, 41, 0, 36, 169, 23, 0, 0, 27, 44,
- 38, 40, 0, 0, 0, 28, 0, 0, 29, 30,
- 45, 46, 0, 0, 62, 34, 35, 0, 0, 0,
- 37, 39, 0, 0, 0, 81, 82, 62, 62, 85,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 62, 27, 44, 38, 40, 60, 57, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 0,
- 62, 62, 62, 62, 62, 62, 25, 62, 0, 32,
- 0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 62, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,
- 62, 62, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 180, 0, 0, 0, 0, 0, 0, 62,
- 63, 62, 0, 32, 0, 31, 0, 62, 0, 62,
- 62, 62, 62, 62, 0, 62, 0, 0, 0, 12,
- 0, 0, 0, 34, 35, 0, 0, 62, 37, 39,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 0, 42, 43, 41, 62, 36, 62, 0, 0,
- 0, 27, 44, 38, 40, 60, 57, 0, 28, 0,
- 0, 29, 30, 45, 46, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 62, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 62, 62, 62, 0, 62,
- 0, 62, 62, 62, 62, 62, 0, 0, 0, 0,
- 0, 0, 0, 22, 0, 0, 0, 0, 0, 0,
- 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 62, 62, 62, 83, 84, 0, 0, 0,
- 0, 62, 62, 0, 62, 62, 62, 62, 0, 0,
- 101, 0, 0, 16, 17, 24, 0, 0, 0, 34,
- 35, 0, 0, 0, 37, 39, 0, 0, 118, 119,
- 120, 121, 122, 123, 0, 125, 33, 0, 42, 43,
- 41, 11, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 61, 26, 29, 30, 45,
- 46, 0, 25, 0, 0, 32, 0, 31, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 61, 61, 61,
- 61, 288, 0, 34, 35, 0, 0, 0, 37, 39,
- 0, 0, 0, 0, 0, 0, 0, 61, 0, 61,
- 33, 0, 42, 43, 41, 61, 36, 61, 61, 61,
- 61, 61, 25, 61, 0, 32, 0, 31, 28, 0,
- 0, 29, 30, 45, 46, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 218, 0, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 63, 263, 0, 32, 264, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 61, 61, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 61, 61, 61, 0, 61, 0, 61,
- 61, 61, 61, 61, 0, 0, 63, 261, 0, 32,
- 262, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 61, 61, 0, 0, 0, 0, 0, 0, 61,
- 61, 0, 61, 61, 61, 61, 63, 259, 0, 32,
- 260, 31, 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, 24, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 257, 0, 32, 258, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 26, 29, 30, 45, 46, 0, 0, 0,
- 0, 24, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 251, 0, 32, 250, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 26, 29, 30, 45, 46, 34, 35, 0,
- 0, 0, 37, 39, 0, 0, 63, 0, 0, 32,
- 0, 31, 0, 0, 33, 0, 42, 43, 41, 0,
- 36, 0, 0, 0, 0, 27, 44, 38, 40, 0,
- 0, 0, 28, 0, 0, 29, 30, 45, 46, 34,
- 35, 0, 0, 0, 37, 39, 0, 0, 0, 0,
- 0, 0, 142, 0, 0, 32, 33, 31, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 0, 0, 0, 0, 0, 0, 0, 34,
- 35, 0, 0, 0, 37, 39, 63, 297, 0, 32,
- 0, 31, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 296, 0, 32, 0, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 0,
- 0, 0, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 295, 0, 32, 0, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 106, 107, 34,
- 35, 0, 0, 0, 37, 39, 63, 294, 0, 32,
- 0, 31, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 24, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 292, 0, 32, 0, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 26, 29, 30, 45, 46, 0, 0, 34,
- 35, 0, 0, 0, 37, 39, 63, 291, 0, 32,
- 0, 31, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 0, 0, 0, 34, 35, 0, 0, 63,
- 37, 39, 32, 0, 31, 0, 0, 0, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 0,
- 0, 0, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 283, 63, 0, 0, 32, 0, 31, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 34,
- 35, 0, 0, 0, 37, 39, 63, 273, 0, 32,
- 0, 31, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 0, 0, 0, 34, 35, 0, 0, 0,
- 37, 39, 63, 256, 0, 32, 0, 31, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 0, 34,
- 35, 0, 0, 0, 37, 39, 63, 254, 0, 32,
- 0, 31, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 34, 35, 0, 0, 0, 37, 39, 0,
- 0, 0, 63, 0, 0, 32, 0, 31, 0, 33,
- 0, 42, 43, 41, 0, 36, 0, 0, 0, 0,
- 27, 44, 38, 40, 0, 0, 0, 28, 0, 0,
- 29, 30, 45, 46, 0, 0, 0, 0, 0, 0,
- 0, 0, 277, 0, 0, 63, 34, 35, 32, 194,
- 31, 37, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 0, 42, 43, 41, 0, 36,
- 0, 0, 0, 0, 27, 44, 38, 40, 0, 0,
- 0, 28, 0, 0, 29, 30, 45, 46, 63, 34,
- 35, 32, 192, 31, 37, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 0, 0, 0, 63, 34, 35, 32, 191, 31,
- 37, 39, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 0, 63, 34,
- 35, 32, 190, 31, 37, 39, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 0, 42, 43,
- 41, 0, 36, 0, 0, 0, 0, 27, 44, 38,
- 40, 0, 0, 0, 28, 0, 0, 29, 30, 45,
- 46, 224, 0, 0, 63, 34, 35, 32, 189, 31,
- 37, 39, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 33, 0, 42, 43, 41, 0, 36, 0,
- 0, 0, 0, 27, 44, 38, 40, 0, 0, 0,
- 28, 0, 0, 29, 30, 45, 46, 63, 34, 35,
- 32, 188, 31, 37, 39, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 33, 0, 42, 43, 41,
- 0, 36, 0, 0, 0, 0, 27, 44, 38, 40,
- 0, 0, 0, 28, 0, 0, 29, 30, 45, 46,
- 0, 34, 35, 0, 0, 0, 37, 39, 63, 182,
- 0, 32, 0, 31, 0, 0, 0, 0, 33, 0,
- 42, 43, 41, 0, 36, 0, 0, 0, 0, 27,
- 44, 38, 40, 0, 0, 0, 28, 0, 0, 29,
- 30, 45, 46, 0, 0, 0, 0, 34, 35, 0,
- 0, 0, 37, 39, 63, 0, 0, 32, 0, 31,
- 0, 0, 0, 0, 33, 0, 42, 43, 41, 0,
- 36, 0, 0, 0, 0, 27, 44, 38, 40, 0,
- 0, 0, 28, 0, 0, 29, 30, 45, 46, 0,
- 0, 34, 35, 0, 0, 0, 37, 39, 0, 0,
- 63, 0, 0, 32, 0, 31, 0, 0, 33, 0,
- 42, 43, 41, 0, 36, 0, 0, 0, 0, 27,
- 44, 38, 40, 0, 0, 0, 28, 0, 0, 29,
- 30, 45, 46, 0, 0, 0, 0, 34, 35, 0,
- 0, 0, 37, 39, 63, 0, 0, 32, 138, 31,
- 0, 0, 0, 0, 33, 0, 42, 43, 41, 0,
- 36, 0, 0, 0, 0, 27, 44, 38, 40, 0,
- 0, 0, 28, 0, 0, 29, 30, 45, 46, 0,
- 34, 35, 0, 0, 0, 37, 39, 63, 134, 0,
- 32, 0, 31, 0, 0, 0, 0, 33, 0, 42,
- 43, 41, 0, 36, 0, 0, 0, 0, 27, 44,
- 38, 40, 0, 0, 0, 28, 0, 0, 29, 30,
- 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 34, 35, 0, 0, 63, 37, 39, 32, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 33, 0,
- 42, 43, 41, 0, 36, 0, 0, 0, 0, 27,
- 44, 38, 40, 0, 0, 0, 28, 0, 0, 29,
- 30, 45, 46, 150, 0, 0, 0, 34, 35, 0,
- 0, 63, 37, 39, 32, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 33, 0, 42, 43, 41, 0,
- 36, 0, 0, 0, 0, 27, 44, 38, 40, 0,
- 0, 0, 28, 0, 0, 29, 30, 45, 46, 148,
- 0, 0, 0, 34, 35, 0, 0, 93, 37, 39,
- 32, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 33, 0, 42, 43, 41, 0, 36, 0, 0, 0,
- 0, 27, 44, 38, 40, 0, 0, 0, 28, 0,
- 0, 29, 30, 45, 46, 0, 0, 34, 35, 0,
- 0, 0, 37, 39, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 0, 42, 43, 41, 0,
- 36, 0, 0, 0, 0, 27, 44, 38, 40, 0,
- 0, 0, 28, 0, 0, 29, 30, 45, 46, 0,
- 34, 35, 0, 0, 0, 37, 39, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 33, 0, 42,
- 43, 41, 0, 36, 0, 0, 0, 0, 27, 44,
- 38, 40, 0, 0, 0, 28, 0, 0, 29, 30,
- 45, 46, 0, 0, 117, 0, 0, 0, 34, 35,
- 0, 0, 0, 37, 39, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 33, 0, 42, 43, 41,
- 0, 36, 0, 0, 0, 0, 27, 44, 38, 40,
- 0, 0, 0, 28, 0, 0, 29, 30, 45, 46,
- 0, 0, 0, 0, 34, 35, 0, 0, 0, 37,
- 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 0, 42, 43, 41, 0, 36, 0, 0,
- 0, 0, 27, 44, 38, 40, 0, 0, 0, 28,
- 0, 0, 29, 30, 45, 46, 0, 0, 0, 0,
- 34, 35, 0, 0, 0, 37, 39, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 33, 0, 42,
- 43, 41, 0, 36, 0, 0, 0, 0, 27, 44,
- 38, 40, 0, 0, 0, 28, 0, 0, 29, 30,
- 45, 46 };
-int yypact[]={
-
- -1000, -1000, 35, 1016, -1000, -1000, -1000, -1000, -1000, -1000,
- -79, -271, -1000, -1000, -227, -22, -81, -85, 880, -1000,
- -1000, -1000, 53, -281, -1000, 1332, 1332, -1000, -1000, -291,
- -291, 2791, 2791, -44, 82, 80, 79, 2837, 78, 75,
- 74, 73, 72, 70, -37, -1000, 2791, 35, -1000, 69,
- -231, -1000, 1332, -1000, -1000, -1000, -1000, 2791, 2791, 2791,
- 2745, 53, -293, 1332, 2791, 2791, 2791, 2791, 2791, 2791,
- -278, 2791, -254, 1332, -1000, -1000, 58, 52, 48, 0,
- -1000, -1000, -1000, -46, -46, -11, 2791, 2697, 2837, 2837,
- -1000, 2654, 23, 1652, 2791, 2791, 2791, 2791, 2610, 2564,
- 2837, -67, -231, 2837, 697, -1000, -1000, -1000, -266, 586,
- 586, -231, -231, 1080, 1080, 1080, 1080, -1000, 64, 64,
- -46, -46, -46, -46, -1000, 34, -291, -266, -1000, -1000,
- -1000, -1000, 2791, 1080, -1000, 2518, 47, 46, -1000, -1000,
- 41, 742, 1652, 2467, 2424, 2378, 2334, 2288, 13, 2245,
- 12, -42, 635, 45, -1000, -1000, -1000, 68, -1000, -1000,
- -1000, 2791, 2837, 2837, -1000, -1000, 2791, -1000, 2791, -282,
- 67, 65, -1000, 63, -1000, -1000, -279, 432, 370, 2791,
- -1000, 1080, -1000, -1000, -1000, 1606, 1606, -1000, 2791, -286,
- 2791, 2202, 2791, 2791, 2791, 2791, -1000, -1000, -1000, -1000,
- -1000, -1000, -1000, -1000, -231, -231, 8, 8, 2791, 2791,
- -39, 1332, 1332, -40, 532, -231, -1000, -1000, 53, 2791,
- 2791, 1562, 21, 2156, 43, 2112, 1512, 1466, 1416, 1374,
- -94, -231, -231, -231, -231, -231, 2791, -1000, -1000, -1000,
- 2791, 2791, -5, -9, -245, -4, 2066, -1000, 320, 35,
- 2791, -1000, 2023, -1000, -1000, -1000, -1000, -1000, 2791, -1000,
- 2791, -1000, 2791, -1000, 2791, -1000, 2791, 2791, 1969, -1000,
- -1000, 62, 1282, -1000, -1000, 1926, 1882, 39, 1836, 1792,
- 1742, 1696, -231, -1000, -40, -40, 1332, -34, 532, -40,
- -231, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 267, -243,
- -1000, -24, 532, 37, -1000, -1000, -1000, -1000, 32, -1000,
- -40, -1000, -40, -1000, -40, -1000, -1000 };
-int yypgo[]={
-
- 0, 139, 40, 135, 134, 4, 18, 129, 126, 125,
- 124, 47, 64, 245, 46, 43, 37, 1223, 985, 39,
- 123, 108, 104, 2, 35, 75, 33, 74 };
-int yyr1[]={
-
- 0, 1, 4, 7, 7, 3, 3, 8, 8, 8,
- 8, 8, 8, 10, 9, 9, 12, 12, 12, 12,
- 16, 16, 16, 16, 15, 15, 15, 15, 14, 14,
- 14, 14, 13, 13, 13, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 18, 18, 18, 18, 11, 11, 11, 19, 19,
- 19, 2, 2, 20, 20, 20, 20, 5, 5, 21,
- 21, 22, 22, 22, 22, 6, 6, 23, 23, 23,
- 23, 26, 26, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 27, 27, 27, 25,
- 25, 25, 25, 25, 25, 25, 25 };
-int yyr2[]={
-
- 0, 5, 13, 11, 5, 7, 1, 3, 11, 21,
- 9, 2, 2, 3, 3, 7, 2, 2, 2, 2,
- 7, 9, 9, 5, 7, 7, 7, 7, 7, 7,
- 3, 7, 3, 5, 7, 3, 3, 3, 7, 7,
- 7, 7, 7, 7, 7, 11, 5, 5, 5, 5,
- 5, 5, 7, 3, 5, 7, 9, 7, 9, 3,
- 7, 9, 9, 9, 5, 17, 13, 17, 17, 13,
- 13, 13, 13, 13, 13, 13, 13, 17, 17, 17,
- 17, 3, 9, 3, 5, 2, 2, 1, 9, 9,
- 7, 5, 1, 3, 3, 3, 3, 5, 1, 3,
- 3, 5, 5, 5, 5, 5, 1, 7, 5, 5,
- 2, 2, 1, 2, 9, 5, 9, 5, 3, 3,
- 3, 5, 3, 3, 5, 11, 3, 3, 3, 13,
- 19, 13, 15, 21, 19, 13, 11 };
-int yychk[]={
-
- -1000, -1, -2, -3, -20, 59, 260, 261, 262, -8,
- -9, 285, 123, -4, -7, -12, 257, 258, -13, -14,
- -15, -16, -17, -18, 259, 40, 300, 291, 298, 301,
- 302, 45, 43, 280, 263, 264, 286, 268, 293, 269,
- 294, 284, 282, 283, 292, 303, 304, -2, 123, 286,
- -5, 261, 44, 290, 289, 123, 123, 296, 62, 60,
- 295, -17, -18, 40, 43, 45, 42, 47, 37, 94,
- 274, 63, 112, 288, 301, 302, -16, -15, -14, -12,
- -12, -18, -18, -17, -17, -18, 60, 40, 40, 40,
- -11, -13, -19, 40, 40, 40, 40, 40, 40, 40,
- 91, -17, -5, 40, -6, -21, 261, 262, -12, -5,
- -5, -5, -5, -13, -13, -13, -13, 259, -17, -17,
- -17, -17, -17, -17, 292, -17, 280, -12, 41, 41,
- 41, 41, 60, -13, 41, -13, -11, -11, 44, 44,
- -19, -13, 40, -13, -13, -13, -13, -13, 259, -13,
- 259, -11, -6, -10, -11, 125, -23, -24, 59, 260,
- -25, -13, 266, 267, 277, 276, 275, 278, 279, 287,
- 270, 272, 281, 273, 123, -12, -12, -6, -6, 58,
- -18, -13, 41, 41, 41, -5, -5, 41, 44, 44,
- 44, 44, 44, 44, 44, 44, 93, 125, 41, -22,
- 59, 260, 261, 262, -5, -5, -11, -11, -13, -13,
- 292, 40, 40, -5, 40, -5, 125, 125, -17, -13,
- -13, -13, 292, -13, 259, -13, -13, -13, -13, -13,
- -5, -5, -5, -5, -5, -5, -27, 62, 265, 124,
- -27, 91, -12, -12, -23, -26, -13, -24, -6, -2,
- 44, 41, 44, 41, 41, 41, 41, 41, 44, 41,
- 44, 41, 44, 41, 44, 123, -13, -13, -13, 41,
- 41, 272, 59, 41, 125, -13, -13, 259, -13, -13,
- -13, -13, -5, 93, -5, -5, 40, -12, 59, -5,
- -5, 41, 41, 41, 41, 41, 41, 41, -6, -23,
- -23, -12, 59, -26, -23, 125, 271, 41, -26, 41,
- -5, 41, -5, -23, -5, -23, -23 };
-int yydef[]={
-
- 92, -2, 6, 1, 91, 93, 94, 95, 96, 92,
- 7, 0, 98, 11, 12, 14, 0, 0, 16, 17,
- 18, 19, 32, 35, 30, 0, 0, 36, 37, 0,
- 0, 0, 0, 53, 59, 0, 0, 87, 0, 0,
- 0, 0, 0, 0, 81, 83, 0, 5, 98, 0,
- 106, 4, 0, 98, 98, 98, 98, 0, 0, 0,
- 0, 33, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 46, 47, 19, 18, 17, 0,
- 23, 48, 49, 50, 51, 54, 0, 0, 87, 87,
- 64, 85, 86, 0, 0, 0, 0, 0, 0, 0,
- 87, 84, 106, 87, 0, 97, 99, 100, 15, 0,
- 0, 106, 106, 24, 25, 26, 28, 29, 38, 39,
- 40, 41, 42, 43, 44, 0, 57, 34, 20, 27,
- 31, 52, 0, 55, 60, 0, 0, 0, 98, 98,
- 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 10, 105, 0, 98, 98,
- 110, 113, 87, 87, 118, 119, 120, 122, 123, 0,
- 0, 0, 98, 0, 98, 21, 22, 0, 0, 0,
- 58, 56, 61, 62, 63, 0, 0, 90, 0, 0,
- 0, 0, 0, 0, 0, 0, 82, 8, 98, 98,
- 98, 98, 98, 98, 108, 109, 115, 117, 121, 124,
- 0, 0, 0, 0, 112, 106, 92, 3, 45, 88,
- 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 107, 101, 102, 103, 104, 0, 126, 127, 128,
- 0, 0, 0, 0, 0, 0, 113, 111, 0, 2,
- 0, 66, 0, 69, 70, 71, 72, 73, 0, 74,
- 0, 75, 0, 76, 0, 98, 114, 116, 0, 98,
- 98, 0, 0, 98, 98, 0, 0, 0, 0, 0,
- 0, 0, 106, 125, 0, 0, 0, 0, 112, 0,
- 136, 65, 67, 68, 77, 78, 79, 80, 0, 129,
- 131, 0, 112, 0, 135, 9, 98, 132, 0, 98,
- 0, 98, 0, 130, 0, 134, 133 };
-typedef struct { char *t_name; int t_val; } yytoktype;
+#line 32 "y.tab.c"
+#define BEGIN 257
+#define END 258
+#define REGEX 259
+#define SEMINEW 260
+#define NEWLINE 261
+#define COMMENT 262
+#define FUN1 263
+#define FUNN 264
+#define GRGR 265
+#define PRINT 266
+#define PRINTF 267
+#define SPRINTF_OLD 268
+#define SPRINTF_NEW 269
+#define SPLIT 270
+#define IF 271
+#define ELSE 272
+#define WHILE 273
+#define FOR 274
+#define IN 275
+#define EXIT 276
+#define NEXT 277
+#define BREAK 278
+#define CONTINUE 279
+#define RET 280
+#define GETLINE 281
+#define DO 282
+#define SUB 283
+#define GSUB 284
+#define MATCH 285
+#define FUNCTION 286
+#define USERFUN 287
+#define DELETE 288
+#define ASGNOP 289
+#define OROR 290
+#define ANDAND 291
+#define NUMBER 292
+#define VAR 293
+#define SUBSTR 294
+#define INDEX 295
+#define MATCHOP 296
+#define RELOP 297
+#define OR 298
+#define STRING 299
+#define UMINUS 300
+#define NOT 301
+#define INCR 302
+#define DECR 303
+#define FIELD 304
+#define VFIELD 305
+#define SVFIELD 306
+#define YYERRCODE 256
+short yylhs[] = { -1,
+ 0, 3, 6, 6, 2, 2, 7, 7, 7, 7,
+ 7, 7, 9, 8, 8, 11, 11, 11, 11, 11,
+ 15, 15, 15, 15, 14, 14, 14, 14, 13, 13,
+ 13, 13, 12, 12, 12, 12, 18, 18, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 17, 17, 17, 17, 17, 10,
+ 10, 10, 19, 19, 19, 1, 1, 20, 20, 20,
+ 20, 4, 4, 21, 21, 22, 22, 22, 22, 5,
+ 5, 23, 23, 23, 23, 26, 26, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 27, 27, 27, 25, 25, 25, 25, 25, 25, 25,
+ 25,
+};
+short yylen[] = { 2,
+ 2, 6, 5, 2, 3, 0, 1, 5, 10, 4,
+ 1, 1, 1, 1, 3, 1, 1, 1, 1, 5,
+ 3, 4, 4, 2, 3, 3, 3, 3, 3, 3,
+ 1, 3, 1, 2, 5, 3, 1, 1, 1, 1,
+ 1, 3, 3, 3, 3, 3, 3, 3, 2, 2,
+ 2, 2, 2, 2, 3, 1, 2, 3, 4, 3,
+ 4, 1, 3, 4, 4, 4, 4, 2, 8, 6,
+ 8, 8, 6, 6, 6, 6, 6, 6, 6, 6,
+ 8, 8, 8, 8, 1, 4, 1, 1, 2, 1,
+ 1, 0, 4, 4, 3, 2, 0, 1, 1, 1,
+ 1, 2, 0, 1, 1, 2, 2, 2, 2, 2,
+ 0, 3, 2, 2, 1, 1, 0, 1, 4, 2,
+ 4, 2, 1, 1, 1, 2, 1, 1, 2, 5,
+ 1, 1, 1, 6, 9, 6, 7, 10, 9, 6,
+ 5,
+};
+short yydefred[] = { 97,
+ 0, 0, 99, 100, 101, 98, 0, 96, 0, 0,
+ 31, 0, 0, 38, 0, 0, 0, 0, 0, 0,
+ 0, 0, 40, 0, 0, 0, 41, 0, 0, 0,
+ 0, 0, 87, 0, 88, 103, 0, 11, 0, 97,
+ 0, 0, 0, 17, 18, 19, 0, 0, 0, 103,
+ 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
+ 51, 52, 0, 0, 0, 0, 0, 0, 4, 0,
+ 103, 0, 103, 103, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 49, 50, 0, 68, 0, 0, 0, 0, 63, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 104, 105, 0, 102, 55,
+ 32, 28, 21, 0, 0, 0, 0, 0, 0, 30,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 103, 103, 0, 0,
+ 64, 65, 67, 0, 0, 0, 0, 0, 0, 0,
+ 0, 13, 66, 86, 0, 0, 103, 0, 0, 0,
+ 0, 0, 0, 124, 123, 127, 0, 103, 0, 103,
+ 10, 103, 0, 110, 0, 115, 0, 0, 0, 22,
+ 0, 61, 95, 0, 0, 97, 3, 0, 0, 0,
+ 0, 0, 0, 0, 103, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
+ 103, 103, 103, 103, 8, 0, 0, 0, 0, 0,
+ 73, 0, 78, 0, 77, 0, 80, 0, 79, 0,
+ 75, 76, 0, 70, 0, 74, 132, 131, 133, 0,
+ 0, 0, 0, 0, 116, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 103, 0, 0, 0, 103, 103, 103, 0, 0, 0,
+ 103, 72, 71, 82, 81, 84, 83, 0, 69, 0,
+ 0, 0, 0, 0, 0, 130, 0, 0, 0, 136,
+ 140, 0, 0, 0, 9, 103, 103, 0, 137, 0,
+ 0, 103, 135, 139, 0, 138,
+};
+short yydgoto[] = { 1,
+ 2, 7, 38, 74, 128, 39, 40, 41, 171, 104,
+ 75, 193, 44, 45, 46, 47, 48, 49, 106, 8,
+ 129, 234, 194, 195, 196, 266, 260,
+};
+short yysindex[] = { 0,
+ 0, -52, 0, 0, 0, 0, 6281, 0, -83, -65,
+ 0, 27, 28, 0, 43, 46, 29, 48, 50, 51,
+ -218, 64, 0, -14, 65, 66, 0, 8153, 8153, 6722,
+ -176, -176, 0, 8153, 0, 0, 6722, 0, -165, 0,
+ -38, -13, 6376, 0, 0, 0, -32, -232, 8198, 0,
+ 0, 7770, 8198, 8198, 8153, 8153, 47, 7835, 7883, 8153,
+ 69, 8198, 8198, 8153, 8153, 6722, -57, -267, -57, 0,
+ 0, 0, -2, -210, -41, 79, 80, 85, 0, -52,
+ 0, 8153, 0, 0, 6722, 8153, 7931, 8153, 8153, 8153,
+ -32, -166, 8153, 8153, 8153, 8153, 8153, 8153, -150, 6722,
+ 0, 0, 6770, 0, 3731, 88, -210, -210, 0, 1055,
+ 93, 94, 6815, 184, 8153, 92, 6892, 96, 6939, 7003,
+ 8198, 97, 44, 7048, 7094, 0, 0, 5585, 0, 0,
+ 0, 0, 0, -210, 7172, 2108, 2108, -60, 7216, 0,
+ 184, 184, 184, 184, 0, 45, 45, -57, -57, -57,
+ -57, -176, -60, 6770, 6332, 32, 0, 0, 5632, 5700,
+ 0, 0, 0, -148, 184, 8153, 8153, 8153, 8153, 8001,
+ 102, 0, 0, 0, 8153, 8153, 0, 8198, 8198, 107,
+ 121, 127, 8153, 0, 0, 0, 8153, 0, -130, 0,
+ 0, 0, 8045, 0, -43, 0, 5899, 8153, -119, 0,
+ 8153, 0, 0, 1434, 1434, 0, 0, 37, 5431, 6447,
+ 6491, 6548, 134, 7281, 0, 6611, 7327, -210, -45, -45,
+ 6722, 6722, 2656, 8045, 8045, 4777, 90, -210, -210, 0,
+ 0, 0, 0, 0, 0, 8045, 8045, 8045, 8045, -52,
+ 0, 8105, 0, 8153, 0, 8153, 0, 8153, 0, 8153,
+ 0, 0, -96, 0, 8153, 0, 0, 0, 0, 8153,
+ 8153, -39, -37, 7371, 0, 124, -89, 8198, 5967, -210,
+ -210, -210, -210, -210, 144, 7449, 7493, 7560, 7604, 7648,
+ 0, 7726, 8045, 8045, 0, 0, 0, 6659, 146, 95,
+ 0, 0, 0, 0, 0, 0, 0, -210, 0, 4777,
+ 4777, 4777, 2656, -51, 6722, 0, -210, 6014, -85, 0,
+ 0, 151, 2656, -35, 0, 0, 0, 152, 0, 4777,
+ 4777, 0, 0, 0, 4777, 0,
+};
+short yyrindex[] = { 0,
+ 0, 2742, 0, 0, 0, 0, 194, 0, 0, 0,
+ 0, 56, 0, 0, 111, 0, 3174, 0, 0, 0,
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2475, 0,
+ 2531, 2375, 4311, 0, 0, 0, 2057, 1630, 3897, 0,
+ 0, 0, 154, 154, 0, 0, 382, 0, 0, 0,
+ 0, 154, 105, 0, 0, 0, 818, 872, 1143, 0,
+ 0, 0, 437, 6065, 0, -54, -49, -44, 0, 2798,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2324, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4263, 492, 6065, 6065, 0, 0,
+ 0, 0, 0, 3222, 0, 0, 0, 0, 0, 0,
+ 154, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6065, 0, 0, 0, 2425, 0, 0,
+ 3462, 3507, 3552, 3621, 0, 1956, 2007, 1197, 1251, 1522,
+ 1576, 3119, 1901, 0, -23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3830, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 504, 504, 0,
+ 0, 0, 13, 0, 0, 0, 103, 0, 0, 0,
+ 0, 0, 123, 0, 0, 0, 0, 0, 763, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4830, 173, 242,
+ 0, 0, 140, 297, 350, 0, 0, 6065, 4878, 0,
+ 0, 0, 0, 0, 0, 3945, 4017, 4106, 4208, 2848,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 141, 0, 0, 0, 105, 0, 4952,
+ 5145, 5219, 5266, 5318, 0, 0, 0, 0, 0, 0,
+ 0, 0, 398, 484, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 6065, 0, 0,
+ 0, 0, 161, 0, 0, 0, 5534, 0, 6180, 0,
+ 0, 0, 161, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+};
+short yygindex[] = { 0,
+ -17, 0, 0, 4597, -87, 0, 0, 0, 0, 12,
+ 23, 4555, -12, -8, -3, 8435, 4752, 0, -70, 0,
+ 0, 0, -124, -191, 0, -264, -7,
+};
+#define YYTABLESIZE 8719
+short yytable[] = { 130,
+ 85, 285, 82, 286, 97, 319, 6, 313, 17, 95,
+ 93, 82, 94, 18, 96, 233, 258, 16, 19, 159,
+ 160, 82, 80, 82, 76, 82, 281, 82, 77, 42,
+ 85, 265, 156, 78, 101, 102, 98, 85, 312, 50,
+ 85, 85, 85, 85, 85, 85, 197, 85, 318, 82,
+ 126, 127, 70, 125, 99, 62, 100, 51, 85, 85,
+ 85, 98, 85, 85, 111, 112, 52, 53, 61, 101,
+ 102, 125, 203, 122, 123, 158, 63, 241, 259, 99,
+ 242, 97, 54, 156, 81, 55, 95, 58, 56, 59,
+ 60, 96, 62, 85, 85, 79, 62, 62, 62, 62,
+ 62, 267, 62, 62, 64, 65, 115, 138, 121, 99,
+ 37, 265, 85, 62, 62, 62, 24, 62, 62, 131,
+ 132, 265, 153, 85, 85, 133, 145, 33, 34, 35,
+ 152, 158, 172, 162, 163, 166, 174, 173, 98, 168,
+ 269, 76, 215, 128, 208, 77, 221, 37, 62, 62,
+ 78, 37, 37, 37, 37, 37, 99, 37, 199, 200,
+ 222, 128, 227, 118, 126, 127, 223, 62, 37, 37,
+ 37, 84, 37, 37, 251, 309, 310, 311, 62, 62,
+ 268, 118, 288, 289, 292, 305, 316, 306, 240, 219,
+ 220, 317, 322, 1, 92, 323, 324, 92, 117, 118,
+ 326, 117, 0, 37, 37, 0, 0, 3, 4, 5,
+ 308, 0, 261, 120, 0, 0, 230, 231, 232, 257,
+ 0, 0, 37, 66, 0, 0, 28, 0, 29, 83,
+ 84, 120, 0, 37, 37, 17, 17, 0, 83, 84,
+ 18, 18, 92, 262, 263, 19, 19, 0, 83, 84,
+ 83, 84, 83, 84, 83, 84, 0, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 16, 16, 85, 85,
+ 85, 0, 125, 125, 125, 85, 83, 84, 0, 290,
+ 0, 85, 122, 85, 85, 85, 85, 85, 0, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 0, 85,
+ 122, 85, 85, 85, 85, 85, 85, 0, 0, 0,
+ 304, 0, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 24, 0, 62, 62, 62, 0, 314, 0, 0,
+ 62, 0, 33, 34, 35, 0, 62, 126, 62, 62,
+ 62, 62, 62, 0, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 0, 62, 126, 62, 62, 62, 62,
+ 62, 62, 128, 128, 128, 0, 0, 37, 37, 37,
+ 37, 37, 37, 37, 37, 37, 0, 0, 37, 37,
+ 37, 57, 118, 118, 118, 37, 0, 0, 0, 0,
+ 129, 37, 0, 37, 37, 37, 37, 37, 0, 37,
+ 37, 37, 37, 37, 37, 37, 37, 37, 129, 37,
+ 0, 37, 37, 37, 37, 37, 37, 0, 57, 0,
+ 0, 57, 57, 57, 57, 57, 57, 0, 57, 0,
+ 0, 0, 120, 120, 120, 0, 89, 0, 119, 57,
+ 57, 0, 0, 57, 57, 0, 12, 13, 0, 0,
+ 0, 14, 15, 16, 0, 0, 119, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 0, 0, 89, 57, 57, 89, 89, 89, 89,
+ 89, 89, 27, 89, 0, 31, 32, 33, 34, 35,
+ 0, 91, 0, 57, 89, 89, 89, 0, 89, 89,
+ 0, 122, 122, 122, 57, 57, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 121, 0, 0, 0, 91, 89,
+ 89, 91, 91, 91, 91, 0, 91, 0, 91, 0,
+ 0, 0, 121, 0, 92, 0, 0, 0, 0, 91,
+ 91, 91, 0, 91, 91, 0, 126, 126, 126, 89,
+ 89, 0, 92, 0, 0, 92, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 91, 91, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 91, 0, 0, 0, 0, 0, 129,
+ 129, 129, 0, 0, 91, 91, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 92, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 57,
+ 57, 57, 57, 57, 57, 57, 57, 0, 0, 57,
+ 57, 57, 0, 0, 0, 0, 57, 119, 119, 119,
+ 0, 0, 57, 0, 57, 57, 57, 57, 57, 0,
+ 57, 57, 57, 57, 57, 57, 57, 57, 57, 0,
+ 57, 0, 57, 57, 57, 57, 57, 57, 0, 0,
+ 0, 0, 0, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 0, 0, 89, 89, 89, 0, 0, 0,
+ 0, 89, 0, 0, 0, 0, 0, 89, 0, 89,
+ 89, 89, 89, 89, 0, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 0, 89, 0, 89, 89, 89,
+ 89, 89, 89, 121, 121, 121, 0, 0, 91, 91,
+ 91, 91, 91, 91, 91, 91, 91, 0, 0, 91,
+ 91, 91, 23, 92, 92, 92, 91, 0, 92, 0,
+ 0, 0, 91, 0, 91, 91, 91, 91, 91, 0,
+ 91, 91, 91, 91, 91, 91, 91, 91, 91, 0,
+ 91, 0, 91, 91, 91, 91, 91, 91, 0, 23,
+ 0, 0, 23, 23, 23, 23, 23, 23, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 54, 0, 0,
+ 23, 23, 23, 0, 23, 23, 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, 54, 23, 23, 54, 54, 54,
+ 54, 54, 54, 0, 54, 0, 0, 0, 0, 0,
+ 0, 39, 0, 0, 23, 54, 54, 54, 0, 54,
+ 54, 0, 0, 0, 0, 23, 23, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
+ 54, 39, 39, 39, 39, 39, 39, 0, 39, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,
+ 39, 39, 0, 39, 39, 0, 0, 0, 0, 0,
+ 54, 54, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 39, 39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 39, 39, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 0, 0,
+ 23, 23, 23, 0, 0, 0, 0, 23, 0, 0,
+ 0, 0, 0, 23, 0, 23, 23, 23, 23, 23,
+ 0, 23, 23, 0, 23, 23, 23, 23, 23, 23,
+ 0, 23, 0, 23, 23, 23, 23, 23, 23, 0,
+ 0, 0, 0, 0, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 0, 0, 54, 54, 54, 0, 0,
+ 0, 0, 54, 0, 66, 161, 0, 28, 54, 29,
+ 54, 54, 54, 54, 54, 0, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 0, 54, 86, 54, 54,
+ 54, 54, 54, 54, 0, 0, 0, 0, 39, 39,
+ 39, 39, 39, 39, 39, 39, 39, 0, 0, 39,
+ 39, 39, 53, 0, 0, 0, 39, 0, 0, 0,
+ 0, 0, 39, 0, 39, 39, 39, 39, 39, 0,
+ 39, 39, 39, 39, 39, 39, 39, 39, 39, 0,
+ 39, 0, 39, 0, 0, 39, 39, 39, 0, 53,
+ 0, 0, 53, 53, 53, 53, 53, 53, 0, 53,
+ 0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
+ 53, 53, 53, 0, 53, 53, 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, 44, 0, 53, 44, 44, 44, 44,
+ 44, 44, 0, 44, 0, 0, 0, 0, 0, 0,
+ 45, 0, 0, 0, 44, 44, 44, 0, 44, 44,
+ 0, 0, 0, 0, 0, 53, 53, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 45, 0, 44,
+ 45, 45, 45, 45, 45, 45, 0, 45, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 45, 45,
+ 45, 0, 45, 45, 0, 0, 0, 12, 13, 44,
+ 44, 0, 14, 15, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 45, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 45, 45, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 0, 0,
+ 53, 53, 53, 0, 0, 0, 0, 53, 0, 0,
+ 0, 0, 0, 53, 0, 53, 53, 53, 53, 53,
+ 0, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 0, 53, 0, 53, 53, 53, 53, 53, 53, 0,
+ 0, 0, 0, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 0, 0, 44, 44, 44, 0, 0, 0,
+ 0, 44, 0, 66, 0, 0, 28, 44, 29, 44,
+ 44, 44, 44, 44, 0, 44, 44, 44, 44, 44,
+ 44, 44, 44, 44, 0, 44, 0, 44, 44, 44,
+ 44, 44, 44, 0, 0, 0, 0, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 0, 0, 45, 45,
+ 45, 46, 0, 0, 0, 45, 0, 0, 0, 0,
+ 0, 45, 0, 45, 45, 45, 45, 45, 0, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 0, 45,
+ 0, 45, 45, 45, 45, 45, 45, 0, 46, 0,
+ 0, 46, 46, 46, 46, 46, 46, 0, 46, 0,
+ 0, 0, 0, 0, 0, 47, 0, 0, 0, 46,
+ 46, 46, 0, 46, 46, 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, 47, 0, 46, 47, 47, 47, 47, 47,
+ 47, 0, 47, 0, 0, 0, 0, 0, 0, 39,
+ 0, 0, 0, 47, 47, 47, 0, 47, 47, 0,
+ 0, 0, 0, 0, 46, 46, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 39, 0, 47, 39,
+ 39, 39, 39, 39, 39, 0, 39, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 39, 39, 39,
+ 0, 39, 39, 0, 126, 127, 12, 13, 47, 47,
+ 0, 14, 15, 16, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 0, 39, 39, 0, 23, 24, 25, 26, 0,
+ 0, 0, 27, 0, 0, 31, 32, 33, 34, 35,
+ 0, 39, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 39, 39, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 46, 46,
+ 46, 46, 46, 46, 46, 46, 46, 0, 0, 46,
+ 46, 46, 0, 0, 0, 0, 46, 0, 0, 0,
+ 0, 0, 46, 0, 46, 46, 46, 46, 46, 0,
+ 46, 46, 46, 46, 46, 46, 46, 46, 46, 0,
+ 46, 0, 46, 46, 46, 46, 46, 46, 0, 0,
+ 0, 0, 47, 47, 47, 47, 47, 47, 47, 47,
+ 47, 0, 0, 47, 47, 47, 0, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 47, 0, 47, 47,
+ 47, 47, 47, 0, 47, 47, 47, 47, 47, 47,
+ 47, 47, 47, 0, 47, 0, 47, 47, 47, 47,
+ 47, 47, 0, 0, 0, 0, 39, 39, 39, 39,
+ 39, 39, 39, 39, 39, 0, 0, 39, 39, 39,
+ 36, 0, 0, 0, 39, 0, 0, 0, 0, 0,
+ 39, 0, 39, 39, 39, 39, 39, 0, 0, 39,
+ 39, 39, 39, 39, 39, 39, 39, 0, 39, 0,
+ 39, 0, 0, 39, 39, 39, 0, 36, 0, 0,
+ 36, 36, 36, 36, 36, 36, 0, 36, 0, 0,
+ 0, 0, 0, 0, 0, 42, 0, 0, 36, 36,
+ 36, 0, 36, 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, 36, 36, 42, 42, 0, 42, 42,
+ 42, 0, 0, 0, 0, 0, 43, 0, 0, 0,
+ 0, 0, 36, 42, 42, 42, 0, 42, 42, 0,
+ 0, 0, 0, 36, 36, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 43, 43, 42, 43,
+ 43, 43, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 0, 0, 0, 43, 43, 43, 0, 43, 43,
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 42,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 33, 33, 0, 43,
+ 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 33, 33, 0, 33, 33,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
+ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 37, 0, 33,
+ 28, 0, 29, 0, 0, 0, 0, 36, 36, 36,
+ 36, 36, 36, 36, 36, 36, 0, 0, 36, 36,
+ 36, 0, 0, 0, 0, 36, 0, 0, 0, 33,
+ 33, 36, 0, 36, 36, 36, 36, 36, 0, 36,
+ 0, 0, 36, 36, 36, 36, 36, 36, 0, 36,
+ 0, 36, 36, 36, 36, 36, 36, 0, 0, 0,
+ 0, 0, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 0, 0, 42, 42, 42, 0, 0, 0, 0,
+ 42, 0, 0, 0, 0, 0, 42, 0, 42, 42,
+ 42, 42, 42, 0, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 0, 42, 0, 42, 42, 42, 42,
+ 42, 42, 0, 43, 43, 43, 43, 43, 43, 43,
+ 43, 43, 0, 0, 43, 43, 43, 0, 0, 0,
+ 0, 43, 0, 0, 0, 0, 0, 43, 0, 43,
+ 43, 43, 43, 43, 0, 43, 43, 43, 43, 43,
+ 43, 43, 43, 43, 0, 43, 0, 43, 43, 43,
+ 43, 43, 43, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 0, 34, 33, 33, 33, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 33, 0, 33,
+ 33, 33, 33, 33, 0, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 0, 33, 0, 33, 33, 33,
+ 33, 33, 33, 34, 34, 0, 11, 34, 126, 127,
+ 12, 13, 0, 0, 14, 14, 15, 16, 0, 0,
+ 0, 34, 34, 34, 0, 34, 34, 0, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 0, 0, 0, 27, 0, 30, 31,
+ 32, 33, 34, 35, 14, 0, 34, 14, 0, 14,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
+ 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 34, 34, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 0, 0, 15, 0, 15,
+ 0, 0, 0, 0, 12, 0, 0, 0, 0, 0,
+ 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 14, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 12, 0, 0, 12, 0, 12,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0, 0, 12, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0, 0, 7, 0, 7, 0, 0, 0, 0,
+ 34, 34, 34, 34, 34, 34, 34, 34, 34, 7,
+ 0, 34, 34, 34, 0, 0, 0, 12, 0, 0,
+ 0, 0, 0, 0, 34, 0, 34, 34, 34, 34,
+ 34, 0, 34, 34, 34, 34, 34, 34, 34, 34,
+ 34, 0, 34, 0, 34, 34, 34, 34, 34, 34,
+ 0, 14, 14, 14, 14, 14, 14, 14, 14, 0,
+ 0, 0, 14, 14, 14, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 14, 0, 14, 14, 14,
+ 14, 14, 0, 0, 0, 0, 14, 14, 14, 14,
+ 0, 0, 0, 14, 0, 14, 14, 14, 14, 14,
+ 14, 15, 15, 15, 15, 15, 15, 15, 15, 0,
+ 0, 0, 15, 15, 15, 66, 0, 0, 28, 0,
+ 29, 0, 0, 0, 0, 15, 0, 15, 15, 15,
+ 15, 15, 0, 0, 0, 0, 15, 15, 15, 15,
+ 0, 0, 0, 15, 0, 15, 15, 15, 15, 15,
+ 15, 12, 12, 12, 12, 0, 12, 12, 12, 0,
+ 0, 6, 12, 12, 12, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 12, 0, 12, 12, 12,
+ 12, 12, 0, 0, 0, 0, 12, 12, 12, 12,
+ 0, 0, 0, 12, 0, 12, 12, 12, 12, 12,
+ 12, 6, 0, 0, 6, 0, 6, 7, 7, 7,
+ 7, 7, 7, 7, 7, 0, 0, 5, 7, 7,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 7, 0, 7, 7, 7, 7, 7, 0, 0,
+ 0, 0, 7, 7, 7, 7, 0, 0, 0, 7,
+ 0, 7, 7, 7, 7, 7, 7, 5, 0, 0,
+ 5, 0, 5, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
+ 2, 0, 2, 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, 12, 13,
+ 5, 178, 179, 14, 15, 16, 0, 0, 0, 0,
+ 0, 183, 184, 185, 186, 187, 17, 0, 18, 19,
+ 20, 0, 22, 189, 0, 0, 0, 23, 24, 25,
+ 26, 0, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 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, 6, 6,
+ 6, 0, 0, 0, 6, 6, 0, 0, 0, 6,
+ 6, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 6, 6, 6, 6, 6, 0,
+ 0, 0, 0, 6, 6, 6, 6, 0, 0, 0,
+ 6, 0, 6, 6, 6, 6, 6, 6, 0, 0,
+ 0, 0, 0, 0, 5, 5, 5, 0, 0, 0,
+ 5, 5, 0, 0, 0, 5, 5, 5, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,
+ 5, 5, 5, 5, 5, 0, 0, 0, 0, 5,
+ 5, 5, 5, 0, 0, 0, 5, 0, 5, 5,
+ 5, 5, 5, 5, 2, 2, 2, 0, 0, 0,
+ 2, 2, 0, 0, 0, 2, 2, 2, 60, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 2, 2, 2, 2, 2, 0, 0, 0, 0, 2,
+ 2, 2, 2, 0, 0, 0, 2, 0, 2, 2,
+ 2, 2, 2, 2, 0, 60, 0, 0, 60, 60,
+ 60, 60, 60, 60, 0, 60, 0, 0, 0, 0,
+ 0, 0, 0, 56, 0, 0, 60, 60, 60, 0,
+ 60, 60, 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,
+ 56, 60, 60, 56, 56, 56, 56, 56, 56, 0,
+ 56, 58, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 56, 56, 0, 0, 56, 56, 0, 0, 0,
+ 0, 60, 60, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
+ 0, 0, 58, 58, 0, 58, 56, 56, 58, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
+ 58, 58, 0, 58, 58, 56, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 56, 56, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 58, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 58, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 58, 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, 60, 60, 60, 60, 60,
+ 60, 60, 60, 60, 0, 0, 60, 60, 60, 0,
+ 0, 0, 0, 60, 0, 0, 0, 0, 0, 60,
+ 0, 60, 60, 60, 60, 60, 0, 60, 60, 60,
+ 60, 0, 60, 60, 60, 60, 0, 60, 0, 60,
+ 60, 60, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 0,
+ 0, 56, 56, 56, 0, 0, 0, 0, 56, 0,
+ 0, 0, 0, 0, 56, 0, 56, 56, 56, 56,
+ 56, 29, 56, 56, 56, 56, 0, 56, 56, 56,
+ 56, 0, 56, 0, 56, 56, 56, 0, 58, 58,
+ 58, 58, 58, 58, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 58, 0, 29, 0,
+ 0, 0, 29, 29, 0, 29, 25, 58, 29, 0,
+ 58, 58, 58, 58, 58, 58, 58, 58, 58, 29,
+ 29, 29, 58, 29, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 25, 0, 0, 0, 25, 25, 0,
+ 25, 27, 0, 25, 29, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 25, 25, 0, 25, 25,
+ 0, 0, 0, 29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 29, 29, 0, 0, 27, 0,
+ 0, 0, 27, 27, 0, 27, 0, 0, 27, 25,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 27,
+ 27, 27, 0, 27, 27, 0, 0, 0, 25, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 25,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 27, 27, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 26, 0, 0,
+ 0, 26, 26, 27, 26, 0, 0, 26, 0, 0,
+ 0, 0, 0, 0, 27, 27, 0, 0, 26, 26,
+ 26, 0, 26, 26, 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, 26, 26, 0, 0, 0, 29, 29,
+ 29, 29, 29, 29, 0, 0, 29, 0, 0, 0,
+ 0, 0, 26, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 0, 26, 26, 0, 0, 29, 0, 0,
+ 29, 29, 29, 29, 29, 29, 29, 29, 29, 0,
+ 0, 0, 29, 25, 25, 25, 25, 25, 25, 0,
+ 66, 25, 0, 28, 157, 29, 0, 0, 0, 0,
+ 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 25, 86, 0, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 0, 0, 0, 25, 27, 27,
+ 27, 27, 27, 27, 0, 0, 27, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 27, 0, 0, 59,
+ 0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
+ 27, 27, 27, 27, 27, 27, 27, 27, 27, 0,
+ 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
+ 59, 59, 0, 59, 0, 0, 59, 26, 26, 26,
+ 26, 26, 26, 0, 0, 26, 0, 59, 59, 59,
+ 0, 59, 59, 0, 0, 26, 92, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 0, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
+ 0, 26, 59, 59, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 92, 0, 0, 0, 92, 92, 0,
+ 92, 59, 0, 92, 20, 0, 0, 0, 0, 0,
+ 0, 0, 59, 59, 92, 92, 92, 0, 92, 92,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 20, 0, 0, 0, 20, 20, 0, 20, 92,
+ 92, 20, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 20, 20, 20, 0, 20, 0, 92, 0,
+ 0, 17, 0, 18, 19, 20, 35, 22, 0, 92,
+ 92, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 20, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 35, 0, 0, 20, 35, 35, 0,
+ 35, 0, 0, 35, 0, 0, 0, 20, 20, 0,
+ 0, 0, 0, 0, 35, 35, 35, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 59, 59, 59, 59,
+ 59, 59, 0, 0, 59, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 59, 93, 0, 0, 0, 35,
+ 35, 0, 0, 0, 0, 59, 0, 0, 59, 59,
+ 59, 59, 59, 59, 59, 59, 59, 0, 35, 0,
+ 59, 0, 0, 0, 0, 0, 0, 0, 0, 35,
+ 35, 0, 93, 0, 0, 0, 93, 93, 0, 93,
+ 0, 0, 93, 92, 92, 92, 92, 92, 92, 0,
+ 0, 92, 0, 93, 93, 93, 0, 93, 0, 0,
+ 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 92, 0, 0, 92, 92, 92, 0, 0,
+ 0, 0, 92, 92, 0, 0, 0, 92, 93, 93,
+ 0, 20, 20, 20, 20, 20, 20, 94, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 93, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
+ 20, 0, 0, 20, 20, 20, 0, 0, 0, 0,
+ 20, 20, 0, 0, 94, 20, 0, 0, 94, 94,
+ 0, 94, 0, 0, 94, 0, 0, 0, 0, 0,
+ 0, 0, 90, 0, 0, 94, 94, 94, 0, 94,
+ 0, 0, 0, 35, 35, 35, 35, 35, 35, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 35, 0, 0, 0, 0, 0, 0, 0, 90,
+ 94, 94, 35, 90, 90, 35, 35, 35, 0, 90,
+ 16, 0, 35, 35, 0, 0, 0, 35, 0, 94,
+ 90, 90, 90, 0, 90, 0, 0, 0, 0, 0,
+ 94, 94, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 16, 16, 0, 16, 90, 90, 16, 0, 0,
+ 0, 0, 93, 93, 93, 93, 93, 93, 16, 16,
+ 93, 0, 0, 0, 90, 0, 0, 0, 0, 0,
+ 93, 0, 0, 0, 0, 90, 90, 0, 0, 0,
+ 0, 93, 0, 0, 93, 93, 93, 0, 0, 0,
+ 0, 93, 93, 16, 16, 0, 93, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 16, 16, 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, 94, 94, 94, 94, 94, 94,
+ 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 94, 0, 0, 94, 94, 94, 0,
+ 0, 0, 0, 94, 94, 0, 0, 0, 94, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
+ 90, 90, 90, 90, 90, 0, 0, 90, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 90, 0,
+ 0, 90, 90, 90, 0, 0, 0, 0, 90, 90,
+ 0, 43, 0, 90, 0, 0, 0, 16, 16, 16,
+ 16, 16, 16, 0, 0, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43, 16, 0, 0, 0, 0,
+ 0, 43, 0, 0, 0, 0, 16, 0, 0, 16,
+ 16, 16, 0, 105, 0, 0, 110, 105, 105, 113,
+ 114, 16, 117, 119, 120, 0, 105, 105, 124, 125,
+ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 135, 0, 0, 43,
+ 139, 141, 142, 143, 144, 0, 107, 108, 0, 0,
+ 0, 0, 0, 0, 43, 0, 0, 155, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 165,
+ 0, 0, 0, 0, 0, 105, 0, 134, 0, 136,
+ 137, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 43, 43, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 155, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 209, 210, 211, 212, 214, 0, 0, 0, 0, 216,
+ 217, 0, 105, 105, 0, 0, 0, 224, 0, 0,
+ 0, 225, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 236, 204, 205, 237, 0, 0, 238, 239,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
+ 0, 0, 0, 218, 0, 43, 43, 264, 0, 68,
+ 68, 0, 71, 72, 226, 68, 228, 0, 229, 0,
+ 0, 0, 0, 0, 68, 0, 276, 0, 277, 0,
+ 278, 0, 279, 0, 280, 0, 0, 0, 0, 282,
+ 0, 253, 0, 0, 283, 284, 66, 0, 0, 28,
+ 0, 29, 105, 0, 0, 0, 270, 271, 272, 273,
+ 274, 0, 0, 0, 0, 192, 0, 0, 0, 0,
+ 0, 0, 43, 0, 68, 68, 68, 68, 68, 68,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 43,
+ 0, 68, 0, 0, 68, 68, 0, 0, 68, 114,
+ 68, 68, 114, 0, 114, 68, 68, 298, 0, 0,
+ 0, 300, 301, 302, 0, 0, 68, 307, 114, 0,
+ 68, 0, 68, 68, 68, 68, 0, 0, 0, 190,
+ 0, 0, 0, 202, 0, 0, 68, 0, 0, 0,
+ 0, 0, 320, 321, 0, 0, 68, 113, 325, 0,
+ 113, 0, 113, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 113, 0, 0, 0,
+ 0, 0, 0, 0, 68, 0, 0, 0, 0, 0,
+ 0, 0, 114, 0, 114, 0, 0, 0, 0, 0,
+ 68, 68, 68, 68, 0, 68, 0, 68, 68, 0,
+ 0, 0, 0, 0, 0, 68, 68, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 68, 68,
+ 68, 107, 0, 0, 107, 0, 107, 0, 0, 0,
+ 113, 0, 113, 0, 0, 0, 0, 0, 0, 0,
+ 107, 0, 0, 0, 0, 68, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 68, 68,
+ 68, 68, 0, 68, 68, 68, 177, 126, 127, 12,
+ 13, 0, 178, 179, 14, 15, 16, 180, 0, 181,
+ 182, 0, 183, 184, 185, 186, 187, 17, 188, 18,
+ 19, 20, 0, 22, 189, 0, 0, 0, 23, 24,
+ 25, 26, 0, 0, 107, 27, 107, 0, 31, 32,
+ 33, 34, 35, 0, 0, 0, 0, 0, 0, 114,
+ 0, 0, 114, 114, 0, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 0, 114, 114, 114, 114, 114,
+ 114, 114, 114, 114, 114, 0, 114, 114, 0, 0,
+ 0, 114, 114, 114, 114, 0, 0, 0, 114, 0,
+ 0, 114, 114, 114, 114, 114, 0, 113, 0, 0,
+ 113, 113, 0, 113, 113, 113, 113, 113, 113, 113,
+ 113, 113, 0, 113, 113, 113, 113, 113, 113, 113,
+ 113, 113, 113, 0, 113, 113, 0, 0, 0, 113,
+ 113, 113, 113, 0, 0, 0, 113, 0, 0, 113,
+ 113, 113, 113, 113, 108, 0, 0, 108, 0, 108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
+ 0, 107, 0, 0, 107, 107, 0, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 0, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 0, 107, 107,
+ 0, 0, 0, 107, 107, 107, 107, 0, 0, 0,
+ 107, 0, 0, 107, 107, 107, 107, 107, 109, 0,
+ 0, 109, 0, 109, 0, 0, 0, 108, 0, 108,
+ 0, 0, 0, 0, 0, 0, 0, 109, 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, 106, 0, 0, 106, 0,
+ 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 106, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 109, 0, 109, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 112, 0, 0,
+ 112, 0, 112, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 112, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
+ 106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 108, 0, 0, 108, 108, 0,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 0,
+ 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
+ 0, 108, 108, 0, 0, 0, 108, 108, 108, 108,
+ 112, 0, 112, 108, 0, 0, 108, 108, 108, 108,
+ 108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 243, 0, 28, 244, 29, 0, 0, 109, 0,
+ 0, 109, 109, 0, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 86, 109, 109, 109, 109, 109, 109,
+ 109, 109, 109, 109, 0, 109, 109, 0, 0, 0,
+ 109, 109, 109, 109, 0, 0, 0, 109, 0, 0,
+ 109, 109, 109, 109, 109, 106, 0, 0, 106, 106,
+ 0, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+ 0, 106, 106, 106, 106, 106, 106, 106, 106, 106,
+ 106, 0, 106, 106, 0, 0, 0, 106, 106, 106,
+ 106, 0, 0, 0, 106, 0, 0, 106, 106, 106,
+ 106, 106, 0, 141, 0, 0, 141, 112, 141, 0,
+ 112, 112, 0, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 141, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 0, 112, 112, 0, 0, 0, 112,
+ 112, 112, 112, 0, 0, 0, 112, 0, 0, 112,
+ 112, 112, 112, 112, 66, 0, 0, 28, 0, 29,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 192, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 141, 0, 141, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 66, 0, 0, 28, 0, 29, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 192, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 0, 0, 0, 0, 190, 0, 191,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 66,
+ 0, 0, 28, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 190, 0, 206, 0, 192, 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, 141, 0, 0, 141, 141, 0, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 0, 141,
+ 141, 141, 141, 141, 141, 141, 141, 141, 141, 0,
+ 141, 141, 190, 0, 207, 141, 141, 141, 141, 0,
+ 0, 0, 141, 0, 0, 141, 141, 141, 141, 141,
+ 0, 0, 0, 0, 177, 0, 0, 12, 13, 0,
+ 178, 179, 14, 15, 16, 180, 0, 181, 182, 0,
+ 183, 184, 185, 186, 187, 17, 188, 18, 19, 20,
+ 0, 22, 189, 0, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 177, 0, 0, 12, 13, 0, 178, 179, 14,
+ 15, 16, 180, 0, 181, 182, 0, 183, 184, 185,
+ 186, 187, 17, 188, 18, 19, 20, 0, 22, 189,
+ 0, 0, 0, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 35, 66, 0,
+ 0, 28, 0, 29, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 192, 0, 177,
+ 0, 0, 12, 13, 0, 178, 179, 14, 15, 16,
+ 180, 0, 181, 182, 0, 183, 184, 185, 186, 187,
+ 17, 188, 18, 19, 20, 0, 22, 189, 0, 0,
+ 0, 23, 24, 25, 26, 0, 0, 0, 27, 0,
+ 0, 31, 32, 33, 34, 35, 66, 0, 0, 28,
+ 0, 29, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 190, 0, 235, 0, 192, 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, 66, 0, 0, 28, 0, 29, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 192, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 190,
+ 0, 291, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 111, 0, 0, 111, 0, 111,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 111, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 190, 0, 315, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 177, 0,
+ 0, 12, 13, 0, 178, 179, 14, 15, 16, 180,
+ 0, 181, 182, 0, 183, 184, 185, 186, 187, 17,
+ 188, 18, 19, 20, 0, 22, 189, 111, 0, 111,
+ 23, 24, 25, 26, 0, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 134,
+ 0, 0, 134, 0, 134, 0, 177, 0, 0, 12,
+ 13, 0, 178, 179, 14, 15, 16, 180, 134, 181,
+ 182, 0, 183, 184, 185, 186, 187, 17, 188, 18,
+ 19, 20, 0, 22, 189, 0, 0, 0, 23, 24,
+ 25, 26, 0, 0, 0, 27, 0, 0, 31, 32,
+ 33, 34, 35, 177, 0, 0, 12, 13, 0, 178,
+ 179, 14, 15, 16, 180, 0, 181, 182, 0, 183,
+ 184, 185, 186, 187, 17, 188, 18, 19, 20, 0,
+ 22, 189, 134, 0, 134, 23, 24, 25, 26, 0,
+ 0, 0, 27, 0, 0, 31, 32, 33, 34, 35,
+ 37, 0, 0, 28, 111, 29, 0, 111, 111, 0,
+ 111, 111, 111, 111, 111, 111, 0, 111, 111, 0,
+ 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
+ 0, 111, 111, 0, 0, 0, 111, 111, 111, 111,
+ 0, 0, 0, 111, 0, 0, 111, 111, 111, 111,
+ 111, 66, 0, 0, 28, 157, 29, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 89, 0, 90, 86, 0, 0, 0, 0, 0,
+ 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 66, 0, 0, 28, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 89, 0, 90, 86, 134,
+ 0, 0, 134, 134, 0, 134, 134, 134, 134, 134,
+ 134, 0, 134, 134, 0, 134, 134, 134, 134, 134,
+ 134, 134, 134, 134, 134, 0, 134, 134, 0, 0,
+ 0, 134, 134, 134, 134, 0, 0, 0, 134, 0,
+ 0, 134, 134, 134, 134, 134, 66, 245, 0, 28,
+ 246, 29, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 247, 0, 28, 248, 29, 0, 9, 10, 11,
+ 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 86, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 21, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 30, 31, 32, 33, 34, 35, 66, 249, 0,
+ 28, 250, 29, 0, 12, 13, 0, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 0, 17, 0, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 87, 88, 0,
+ 27, 0, 0, 31, 32, 33, 34, 35, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 0, 0,
+ 66, 254, 0, 28, 255, 29, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 87, 88, 86, 27, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
+ 0, 28, 0, 29, 0, 0, 0, 0, 0, 12,
+ 13, 0, 0, 0, 14, 15, 16, 303, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 17, 0, 18,
+ 19, 20, 0, 22, 0, 0, 0, 0, 23, 24,
+ 25, 26, 0, 0, 0, 27, 0, 0, 31, 32,
+ 33, 34, 35, 12, 13, 0, 0, 0, 14, 15,
+ 16, 37, 0, 0, 28, 0, 29, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
+ 12, 13, 28, 0, 29, 14, 15, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 0, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 35, 66, 0, 0, 28, 164, 29,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 12, 13, 0, 0, 86, 14, 15,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 11, 0, 0,
+ 0, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 66, 0, 0, 28, 167, 29, 0, 0, 17,
+ 0, 18, 19, 20, 0, 22, 0, 0, 0, 0,
+ 23, 24, 25, 26, 86, 0, 0, 27, 0, 30,
+ 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,
+ 11, 28, 169, 29, 12, 13, 0, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 17, 0, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 30, 31, 32, 33, 34, 35, 11, 0,
+ 0, 0, 12, 13, 0, 0, 0, 14, 15, 16,
+ 0, 0, 66, 0, 0, 28, 170, 29, 0, 0,
+ 17, 0, 18, 19, 20, 0, 22, 0, 0, 0,
+ 0, 23, 24, 25, 26, 86, 0, 0, 27, 0,
+ 30, 31, 32, 33, 34, 35, 0, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 66, 0, 0,
+ 28, 175, 29, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 86, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 66, 0, 0, 28, 176, 29, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 12, 13, 86, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 35, 0, 0,
+ 0, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 66, 0, 0, 28, 0, 29, 0, 0, 17,
+ 0, 18, 19, 20, 0, 22, 0, 0, 0, 198,
+ 23, 24, 25, 26, 86, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 66, 0, 0, 28, 0,
+ 29, 0, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 15, 16, 201, 0, 0, 0, 0, 86, 0,
+ 0, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 0, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 35, 0,
+ 12, 13, 0, 0, 0, 14, 15, 16, 0, 0,
+ 66, 252, 0, 28, 0, 29, 0, 0, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 86, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 35, 0, 0, 12, 13, 0, 0,
+ 0, 14, 15, 16, 0, 0, 66, 256, 0, 28,
+ 0, 29, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 0, 0, 0, 0, 23, 24, 25, 26, 86,
+ 0, 0, 27, 0, 0, 31, 32, 33, 34, 35,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 287, 0, 28, 0, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 86, 12, 13, 0, 0, 0, 14,
+ 15, 16, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 17, 0, 18, 19, 20, 0, 22, 0,
+ 0, 0, 0, 23, 24, 25, 26, 0, 0, 0,
+ 27, 0, 0, 31, 32, 33, 34, 35, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 66, 293,
+ 0, 28, 0, 29, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 86, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 66, 294, 0, 28, 0, 29, 0, 0,
+ 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 0, 0, 86, 0, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 12,
+ 13, 0, 0, 0, 14, 15, 16, 0, 0, 66,
+ 295, 0, 28, 0, 29, 0, 0, 17, 0, 18,
+ 19, 20, 0, 22, 0, 0, 0, 0, 23, 24,
+ 25, 26, 86, 0, 0, 27, 0, 0, 31, 32,
+ 33, 34, 35, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 66, 296, 0, 28, 0, 29, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 86, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 66, 297, 0,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 12, 13, 0, 0, 0, 14, 15, 16, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+ 0, 18, 19, 20, 0, 22, 0, 0, 0, 0,
+ 23, 24, 25, 26, 0, 0, 0, 27, 0, 0,
+ 31, 32, 33, 34, 35, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 66, 299, 0, 28, 0,
+ 29, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 86, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
+ 109, 0, 28, 0, 29, 0, 0, 0, 0, 0,
+ 0, 0, 12, 13, 0, 0, 0, 14, 15, 16,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 18, 19, 20, 0, 22, 0, 0, 0,
+ 0, 23, 24, 25, 26, 0, 0, 0, 27, 0,
+ 0, 31, 32, 33, 34, 35, 12, 13, 0, 0,
+ 0, 14, 15, 16, 66, 0, 0, 28, 0, 29,
+ 0, 0, 0, 0, 17, 0, 18, 19, 20, 0,
+ 22, 0, 0, 0, 0, 23, 24, 25, 26, 0,
+ 0, 0, 27, 0, 0, 31, 32, 33, 34, 35,
+ 12, 13, 0, 0, 0, 14, 15, 16, 0, 0,
+ 0, 0, 66, 0, 0, 28, 0, 29, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 0, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 0, 0, 28, 0, 29, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 12, 13,
+ 0, 0, 0, 14, 15, 16, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 17, 0, 18, 19,
+ 20, 0, 22, 0, 0, 0, 0, 23, 24, 25,
+ 26, 0, 0, 0, 27, 0, 0, 31, 32, 33,
+ 34, 35, 12, 13, 0, 0, 0, 14, 15, 16,
+ 66, 0, 0, 28, 0, 29, 0, 0, 0, 0,
+ 17, 0, 18, 19, 20, 0, 22, 0, 0, 0,
+ 0, 23, 24, 25, 26, 0, 0, 0, 27, 0,
+ 0, 31, 32, 33, 34, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 0, 0, 28, 0, 29,
+ 0, 0, 0, 116, 0, 0, 0, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 86, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 118, 0, 0, 66, 12, 13, 28, 0, 29,
+ 14, 15, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 0, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 35, 140,
+ 0, 0, 66, 12, 13, 28, 0, 29, 14, 15,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 103, 0, 0,
+ 28, 0, 29, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 213,
+ 0, 0, 0, 12, 13, 0, 0, 0, 14, 15,
+ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17, 0, 18, 19, 20, 0, 22, 0, 0,
+ 0, 0, 23, 24, 25, 26, 0, 0, 0, 27,
+ 0, 0, 31, 32, 33, 34, 35, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 0, 0, 0, 12, 13, 0,
+ 0, 0, 14, 15, 16, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
+ 0, 22, 0, 0, 0, 0, 23, 24, 25, 26,
+ 0, 0, 0, 27, 0, 0, 31, 32, 33, 34,
+ 35, 0, 0, 0, 0, 12, 13, 0, 0, 0,
+ 14, 15, 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 17, 0, 18, 19, 20, 0, 22,
+ 0, 0, 0, 0, 23, 24, 25, 26, 0, 0,
+ 0, 27, 0, 0, 31, 32, 33, 34, 35, 0,
+ 12, 13, 67, 69, 0, 14, 15, 16, 73, 0,
+ 0, 0, 0, 0, 0, 0, 0, 91, 17, 0,
+ 18, 19, 20, 0, 22, 0, 0, 0, 0, 23,
+ 24, 25, 26, 0, 0, 0, 27, 0, 0, 31,
+ 32, 33, 34, 35, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 146, 147, 148,
+ 149, 150, 151, 0, 0, 0, 0, 0, 0, 91,
+ 0, 0, 0, 0, 91, 0, 0, 91, 91, 0,
+ 0, 91, 0, 91, 91, 0, 0, 0, 91, 91,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
+ 0, 0, 0, 91, 0, 91, 91, 91, 91, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
+ 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, 91, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 91, 91, 91, 91, 0, 91, 0,
+ 91, 91, 0, 0, 0, 0, 0, 0, 91, 91,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 91, 91, 91, 91, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 91, 91, 91, 91, 91, 0, 91, 91, 91,
+};
+short yycheck[] = { 41,
+ 0, 41, 63, 41, 37, 41, 59, 59, 63, 42,
+ 43, 63, 45, 63, 47, 59, 62, 41, 63, 107,
+ 108, 63, 40, 63, 37, 63, 123, 63, 37, 7,
+ 44, 223, 103, 37, 302, 303, 94, 37, 303, 123,
+ 40, 41, 42, 43, 44, 45, 134, 47, 313, 63,
+ 261, 262, 30, 41, 112, 0, 289, 123, 58, 59,
+ 60, 94, 62, 63, 53, 54, 40, 40, 287, 302,
+ 303, 59, 41, 62, 63, 44, 91, 41, 124, 112,
+ 44, 37, 40, 154, 123, 40, 42, 40, 60, 40,
+ 40, 47, 37, 93, 94, 261, 41, 42, 43, 44,
+ 45, 226, 47, 40, 40, 40, 60, 85, 40, 112,
+ 0, 303, 112, 58, 59, 60, 293, 62, 63, 41,
+ 41, 313, 100, 123, 124, 41, 293, 304, 305, 306,
+ 281, 44, 121, 41, 41, 44, 93, 41, 94, 44,
+ 228, 154, 41, 41, 293, 154, 40, 37, 93, 94,
+ 154, 41, 42, 43, 44, 45, 112, 47, 136, 137,
+ 40, 59, 293, 41, 261, 262, 40, 112, 58, 59,
+ 60, 291, 62, 63, 41, 300, 301, 302, 123, 124,
+ 91, 59, 59, 273, 41, 40, 272, 93, 206, 178,
+ 179, 41, 41, 0, 41, 320, 321, 93, 59, 59,
+ 325, 41, -1, 93, 94, -1, -1, 260, 261, 262,
+ 298, -1, 220, 41, -1, -1, 260, 261, 262, 265,
+ -1, -1, 112, 40, -1, -1, 43, -1, 45, 290,
+ 291, 59, -1, 123, 124, 290, 291, -1, 290, 291,
+ 290, 291, 275, 221, 222, 290, 291, -1, 290, 291,
+ 290, 291, 290, 291, 290, 291, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 290, 291, 268, 269,
+ 270, -1, 260, 261, 262, 275, 290, 291, -1, 268,
+ -1, 281, 41, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ 59, 301, 302, 303, 304, 305, 306, -1, -1, -1,
+ 288, -1, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 293, -1, 268, 269, 270, -1, 305, -1, -1,
+ 275, -1, 304, 305, 306, -1, 281, 41, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, -1, 299, 59, 301, 302, 303, 304,
+ 305, 306, 260, 261, 262, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
+ 270, 0, 260, 261, 262, 275, -1, -1, -1, -1,
+ 41, 281, -1, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 59, 299,
+ -1, 301, 302, 303, 304, 305, 306, -1, 37, -1,
+ -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
+ -1, -1, 260, 261, 262, -1, 0, -1, 41, 58,
+ 59, -1, -1, 62, 63, -1, 263, 264, -1, -1,
+ -1, 268, 269, 270, -1, -1, 59, -1, -1, -1,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, -1,
+ 287, -1, -1, 37, 93, 94, 40, 41, 42, 43,
+ 44, 45, 299, 47, -1, 302, 303, 304, 305, 306,
+ -1, 0, -1, 112, 58, 59, 60, -1, 62, 63,
+ -1, 260, 261, 262, 123, 124, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 41, -1, -1, -1, 37, 93,
+ 94, 40, 41, 42, 43, -1, 45, -1, 47, -1,
+ -1, -1, 59, -1, 41, -1, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, -1, 260, 261, 262, 123,
+ 124, -1, 59, -1, -1, 62, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 112, -1, -1, -1, -1, -1, 260,
+ 261, 262, -1, -1, 123, 124, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, 275, 260, 261, 262,
+ -1, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
+ -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, -1, -1, 268, 269, 270, -1, -1, -1,
+ -1, 275, -1, -1, -1, -1, -1, 281, -1, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, -1, 301, 302, 303,
+ 304, 305, 306, 260, 261, 262, -1, -1, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
+ 269, 270, 0, 260, 261, 262, 275, -1, 265, -1,
+ -1, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, 37,
+ -1, -1, 40, 41, 42, 43, 44, 45, -1, 47,
+ -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
+ 58, 59, 60, -1, 62, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 37, 93, 94, 40, 41, 42,
+ 43, 44, 45, -1, 47, -1, -1, -1, -1, -1,
+ -1, 0, -1, -1, 112, 58, 59, 60, -1, 62,
+ 63, -1, -1, -1, -1, 123, 124, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
+ 93, 40, 41, 42, 43, 44, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
+ 123, 124, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
+ 268, 269, 270, -1, -1, -1, -1, 275, -1, -1,
+ -1, -1, -1, 281, -1, 283, 284, 285, 286, 287,
+ -1, 289, 290, -1, 292, 293, 294, 295, 296, 297,
+ -1, 299, -1, 301, 302, 303, 304, 305, 306, -1,
+ -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, -1, -1, 268, 269, 270, -1, -1,
+ -1, -1, 275, -1, 40, 41, -1, 43, 281, 45,
+ 283, 284, 285, 286, 287, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, -1, 299, 63, 301, 302,
+ 303, 304, 305, 306, -1, -1, -1, -1, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
+ 269, 270, 0, -1, -1, -1, 275, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, 301, -1, -1, 304, 305, 306, -1, 37,
+ -1, -1, 40, 41, 42, 43, 44, 45, -1, 47,
+ -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
+ 58, 59, 60, -1, 62, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 37, -1, 93, 40, 41, 42, 43,
+ 44, 45, -1, 47, -1, -1, -1, -1, -1, -1,
+ 0, -1, -1, -1, 58, 59, 60, -1, 62, 63,
+ -1, -1, -1, -1, -1, 123, 124, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 37, -1, 93,
+ 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
+ 60, -1, 62, 63, -1, -1, -1, 263, 264, 123,
+ 124, -1, 268, 269, 270, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ -1, 287, -1, 93, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 123, 124, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, -1, -1,
+ 268, 269, 270, -1, -1, -1, -1, 275, -1, -1,
+ -1, -1, -1, 281, -1, 283, 284, 285, 286, 287,
+ -1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ -1, 299, -1, 301, 302, 303, 304, 305, 306, -1,
+ -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, -1, -1, 268, 269, 270, -1, -1, -1,
+ -1, 275, -1, 40, -1, -1, 43, 281, 45, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, -1, 301, 302, 303,
+ 304, 305, 306, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
+ 270, 0, -1, -1, -1, 275, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, 286, 287, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ -1, 301, 302, 303, 304, 305, 306, -1, 37, -1,
+ -1, 40, 41, 42, 43, 44, 45, -1, 47, -1,
+ -1, -1, -1, -1, -1, 0, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 37, -1, 93, 40, 41, 42, 43, 44,
+ 45, -1, 47, -1, -1, -1, -1, -1, -1, 0,
+ -1, -1, -1, 58, 59, 60, -1, 62, 63, -1,
+ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 37, -1, 93, 40,
+ 41, 42, 43, 44, 45, -1, 47, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
+ -1, 62, 63, -1, 261, 262, 263, 264, 123, 124,
+ -1, 268, 269, 270, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, -1,
+ 287, -1, 93, 94, -1, 292, 293, 294, 295, -1,
+ -1, -1, 299, -1, -1, 302, 303, 304, 305, 306,
+ -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 123, 124, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, 275, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, -1, -1, 268, 269, 270, -1, -1, -1, -1,
+ 275, -1, -1, -1, -1, -1, 281, -1, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, -1, 299, -1, 301, 302, 303, 304,
+ 305, 306, -1, -1, -1, -1, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, -1, -1, 268, 269, 270,
+ 0, -1, -1, -1, 275, -1, -1, -1, -1, -1,
+ 281, -1, 283, 284, 285, 286, 287, -1, -1, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, -1,
+ 301, -1, -1, 304, 305, 306, -1, 37, -1, -1,
+ 40, 41, 42, 43, 44, 45, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, 0, -1, -1, 58, 59,
+ 60, -1, 62, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 94, 40, 41, -1, 43, 44,
+ 45, -1, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, -1, 112, 58, 59, 60, -1, 62, 63, -1,
+ -1, -1, -1, 123, 124, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 40, 41, 93, 43,
+ 44, 45, -1, -1, -1, -1, 0, -1, -1, -1,
+ -1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 40, 41, -1, 93,
+ 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, 93,
+ 43, -1, 45, -1, -1, -1, -1, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, 275, -1, -1, -1, 123,
+ 124, 281, -1, 283, 284, 285, 286, 287, -1, 289,
+ -1, -1, 292, 293, 294, 295, 296, 297, -1, 299,
+ -1, 301, 302, 303, 304, 305, 306, -1, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, -1, -1, 268, 269, 270, -1, -1, -1, -1,
+ 275, -1, -1, -1, -1, -1, 281, -1, 283, 284,
+ 285, 286, 287, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, -1, 299, -1, 301, 302, 303, 304,
+ 305, 306, -1, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, -1, -1, 268, 269, 270, -1, -1, -1,
+ -1, 275, -1, -1, -1, -1, -1, 281, -1, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, -1, 301, 302, 303,
+ 304, 305, 306, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, -1, 0, 268, 269, 270, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 281, -1, 283,
+ 284, 285, 286, 287, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, -1, 301, 302, 303,
+ 304, 305, 306, 40, 41, -1, 259, 44, 261, 262,
+ 263, 264, -1, -1, 0, 268, 269, 270, -1, -1,
+ -1, 58, 59, 60, -1, 62, 63, -1, 281, -1,
+ 283, 284, 285, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, 301, 302,
+ 303, 304, 305, 306, 40, -1, 93, 43, -1, 45,
+ -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 59,
+ -1, 268, 269, 270, -1, -1, -1, 123, -1, -1,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, 286,
+ 287, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
+ -1, 257, 258, 259, 260, 261, 262, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ 286, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, 301, 302, 303, 304, 305,
+ 306, 257, 258, 259, 260, 261, 262, 263, 264, -1,
+ -1, -1, 268, 269, 270, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ 286, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, 301, 302, 303, 304, 305,
+ 306, 257, 258, 259, 260, -1, 262, 263, 264, -1,
+ -1, 0, 268, 269, 270, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ 286, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, 301, 302, 303, 304, 305,
+ 306, 40, -1, -1, 43, -1, 45, 257, 258, 259,
+ 260, 261, 262, 263, 264, -1, -1, 0, 268, 269,
+ 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, 286, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, 301, 302, 303, 304, 305, 306, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, 0, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 263, 264,
+ 123, 266, 267, 268, 269, 270, -1, -1, -1, -1,
+ -1, 276, 277, 278, 279, 280, 281, -1, 283, 284,
+ 285, -1, 287, 288, -1, -1, -1, 292, 293, 294,
+ 295, -1, -1, -1, 299, -1, -1, 302, 303, 304,
+ 305, 306, -1, -1, -1, -1, -1, -1, -1, -1,
+ 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
+ 259, -1, -1, -1, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, 286, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, 301, 302, 303, 304, 305, 306, -1, -1,
+ -1, -1, -1, -1, 257, 258, 259, -1, -1, -1,
+ 263, 264, -1, -1, -1, 268, 269, 270, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 281, -1,
+ 283, 284, 285, 286, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, 301, 302,
+ 303, 304, 305, 306, 257, 258, 259, -1, -1, -1,
+ 263, 264, -1, -1, -1, 268, 269, 270, 0, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 281, -1,
+ 283, 284, 285, 286, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, 301, 302,
+ 303, 304, 305, 306, -1, 37, -1, -1, 40, 41,
+ 42, 43, 44, 45, -1, 47, -1, -1, -1, -1,
+ -1, -1, -1, 0, -1, -1, 58, 59, 60, -1,
+ 62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 37, 93, 94, 40, 41, 42, 43, 44, 45, -1,
+ 47, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ 112, 58, 59, -1, -1, 62, 63, -1, -1, -1,
+ -1, 123, 124, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
+ -1, -1, 41, 42, -1, 44, 93, 94, 47, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, 112, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 123, 124, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 123, 124, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, -1, -1, 268, 269, 270, -1,
+ -1, -1, -1, 275, -1, -1, -1, -1, -1, 281,
+ -1, 283, 284, 285, 286, 287, -1, 289, 290, 291,
+ 292, -1, 294, 295, 296, 297, -1, 299, -1, 301,
+ 302, 303, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
+ -1, 268, 269, 270, -1, -1, -1, -1, 275, -1,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, 286,
+ 287, 0, 289, 290, 291, 292, -1, 294, 295, 296,
+ 297, -1, 299, -1, 301, 302, 303, -1, 257, 258,
+ 259, 260, 261, 262, -1, -1, 265, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 275, -1, 37, -1,
+ -1, -1, 41, 42, -1, 44, 0, 286, 47, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, 58,
+ 59, 60, 301, 62, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 37, -1, -1, -1, 41, 42, -1,
+ 44, 0, -1, 47, 93, 94, -1, -1, -1, -1,
+ -1, -1, -1, -1, 58, 59, 60, -1, 62, 63,
+ -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 123, 124, -1, -1, 37, -1,
+ -1, -1, 41, 42, -1, 44, -1, -1, 47, 93,
+ 94, -1, -1, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, -1, 62, 63, -1, -1, -1, 112, -1,
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 93, 94, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
+ -1, 41, 42, 112, 44, -1, -1, 47, -1, -1,
+ -1, -1, -1, -1, 123, 124, -1, -1, 58, 59,
+ 60, -1, 62, 63, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 93, 94, -1, -1, -1, 257, 258,
+ 259, 260, 261, 262, -1, -1, 265, -1, -1, -1,
+ -1, -1, 112, -1, -1, -1, 275, -1, -1, -1,
+ -1, -1, -1, 123, 124, -1, -1, 286, -1, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ -1, -1, 301, 257, 258, 259, 260, 261, 262, -1,
+ 40, 265, -1, 43, 44, 45, -1, -1, -1, -1,
+ -1, 275, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 286, 63, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, -1, -1, 301, 257, 258,
+ 259, 260, 261, 262, -1, -1, 265, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 275, -1, -1, 0,
+ -1, -1, -1, -1, -1, -1, -1, 286, -1, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ -1, -1, 301, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
+ 41, 42, -1, 44, -1, -1, 47, 257, 258, 259,
+ 260, 261, 262, -1, -1, 265, -1, 58, 59, 60,
+ -1, 62, 63, -1, -1, 275, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 286, -1, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, -1,
+ -1, 301, 93, 94, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 37, -1, -1, -1, 41, 42, -1,
+ 44, 112, -1, 47, 0, -1, -1, -1, -1, -1,
+ -1, -1, 123, 124, 58, 59, 60, -1, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 37, -1, -1, -1, 41, 42, -1, 44, 93,
+ 94, 47, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, 58, 59, 60, -1, 62, -1, 112, -1,
+ -1, 281, -1, 283, 284, 285, 0, 287, -1, 123,
+ 124, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, 93, 94, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 37, -1, -1, 112, 41, 42, -1,
+ 44, -1, -1, 47, -1, -1, -1, 123, 124, -1,
+ -1, -1, -1, -1, 58, 59, 60, -1, 62, -1,
+ -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
+ 261, 262, -1, -1, 265, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 275, 0, -1, -1, -1, 93,
+ 94, -1, -1, -1, -1, 286, -1, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 112, -1,
+ 301, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ 124, -1, 37, -1, -1, -1, 41, 42, -1, 44,
+ -1, -1, 47, 257, 258, 259, 260, 261, 262, -1,
+ -1, 265, -1, 58, 59, 60, -1, 62, -1, -1,
+ -1, 275, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 286, -1, -1, 289, 290, 291, -1, -1,
+ -1, -1, 296, 297, -1, -1, -1, 301, 93, 94,
+ -1, 257, 258, 259, 260, 261, 262, 0, -1, 265,
+ -1, -1, -1, -1, -1, -1, -1, 112, -1, 275,
+ -1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
+ 286, -1, -1, 289, 290, 291, -1, -1, -1, -1,
+ 296, 297, -1, -1, 37, 301, -1, -1, 41, 42,
+ -1, 44, -1, -1, 47, -1, -1, -1, -1, -1,
+ -1, -1, 0, -1, -1, 58, 59, 60, -1, 62,
+ -1, -1, -1, 257, 258, 259, 260, 261, 262, -1,
+ -1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 275, -1, -1, -1, -1, -1, -1, -1, 37,
+ 93, 94, 286, 41, 42, 289, 290, 291, -1, 47,
+ 0, -1, 296, 297, -1, -1, -1, 301, -1, 112,
+ 58, 59, 60, -1, 62, -1, -1, -1, -1, -1,
+ 123, 124, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
+ -1, 41, 42, -1, 44, 93, 94, 47, -1, -1,
+ -1, -1, 257, 258, 259, 260, 261, 262, 58, 59,
+ 265, -1, -1, -1, 112, -1, -1, -1, -1, -1,
+ 275, -1, -1, -1, -1, 123, 124, -1, -1, -1,
+ -1, 286, -1, -1, 289, 290, 291, -1, -1, -1,
+ -1, 296, 297, 93, 94, -1, 301, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 123, 124, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
+ -1, -1, 265, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 275, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 286, -1, -1, 289, 290, 291, -1,
+ -1, -1, -1, 296, 297, -1, -1, -1, 301, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
+ 258, 259, 260, 261, 262, -1, -1, 265, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 275, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 286, -1,
+ -1, 289, 290, 291, -1, -1, -1, -1, 296, 297,
+ -1, 7, -1, 301, -1, -1, -1, 257, 258, 259,
+ 260, 261, 262, -1, -1, 265, -1, -1, -1, -1,
+ -1, -1, -1, -1, 30, 275, -1, -1, -1, -1,
+ -1, 37, -1, -1, -1, -1, 286, -1, -1, 289,
+ 290, 291, -1, 49, -1, -1, 52, 53, 54, 55,
+ 56, 301, 58, 59, 60, -1, 62, 63, 64, 65,
+ 66, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 82, -1, -1, 85,
+ 86, 87, 88, 89, 90, -1, 50, 51, -1, -1,
+ -1, -1, -1, -1, 100, -1, -1, 103, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 115,
+ -1, -1, -1, -1, -1, 121, -1, 81, -1, 83,
+ 84, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 136, 137, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 154, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 166, 167, 168, 169, 170, -1, -1, -1, -1, 175,
+ 176, -1, 178, 179, -1, -1, -1, 183, -1, -1,
+ -1, 187, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 198, 157, 158, 201, -1, -1, 204, 205,
+ -1, -1, -1, -1, -1, -1, -1, -1, 17, -1,
+ -1, -1, -1, 177, -1, 221, 222, 223, -1, 28,
+ 29, -1, 31, 32, 188, 34, 190, -1, 192, -1,
+ -1, -1, -1, -1, 43, -1, 242, -1, 244, -1,
+ 246, -1, 248, -1, 250, -1, -1, -1, -1, 255,
+ -1, 215, -1, -1, 260, 261, 40, -1, -1, 43,
+ -1, 45, 268, -1, -1, -1, 230, 231, 232, 233,
+ 234, -1, -1, -1, -1, 59, -1, -1, -1, -1,
+ -1, -1, 288, -1, 93, 94, 95, 96, 97, 98,
+ -1, -1, -1, -1, -1, -1, 105, -1, -1, 305,
+ -1, 110, -1, -1, 113, 114, -1, -1, 117, 40,
+ 119, 120, 43, -1, 45, 124, 125, 281, -1, -1,
+ -1, 285, 286, 287, -1, -1, 135, 291, 59, -1,
+ 139, -1, 141, 142, 143, 144, -1, -1, -1, 123,
+ -1, -1, -1, 152, -1, -1, 155, -1, -1, -1,
+ -1, -1, 316, 317, -1, -1, 165, 40, 322, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
+ -1, -1, -1, -1, 193, -1, -1, -1, -1, -1,
+ -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
+ 209, 210, 211, 212, -1, 214, -1, 216, 217, -1,
+ -1, -1, -1, -1, -1, 224, 225, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 236, 237, 238,
+ 239, 40, -1, -1, 43, -1, 45, -1, -1, -1,
+ 123, -1, 125, -1, -1, -1, -1, -1, -1, -1,
+ 59, -1, -1, -1, -1, 264, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 276, 277, 278,
+ 279, 280, -1, 282, 283, 284, 260, 261, 262, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, -1, 273,
+ 274, -1, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, -1, 287, 288, -1, -1, -1, 292, 293,
+ 294, 295, -1, -1, 123, 299, 125, -1, 302, 303,
+ 304, 305, 306, -1, -1, -1, -1, -1, -1, 260,
+ -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, -1, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, -1, 287, 288, -1, -1,
+ -1, 292, 293, 294, 295, -1, -1, -1, 299, -1,
+ -1, 302, 303, 304, 305, 306, -1, 260, -1, -1,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, -1, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, -1, 287, 288, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, 260, -1, -1, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, 272, 273, 274, -1, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, 306, 40, -1,
+ -1, 43, -1, 45, -1, -1, -1, 123, -1, 125,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 123, -1, 125, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 260, -1, -1, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, -1,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ -1, 287, 288, -1, -1, -1, 292, 293, 294, 295,
+ 123, -1, 125, 299, -1, -1, 302, 303, 304, 305,
+ 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, -1, 43, 44, 45, -1, -1, 260, -1,
+ -1, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 63, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, -1, 287, 288, -1, -1, -1,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 306, 260, -1, -1, 263, 264,
+ -1, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, -1, 287, 288, -1, -1, -1, 292, 293, 294,
+ 295, -1, -1, -1, 299, -1, -1, 302, 303, 304,
+ 305, 306, -1, 40, -1, -1, 43, 260, 45, -1,
+ 263, 264, -1, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 59, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, -1, 287, 288, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 123, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 40, -1, -1, 43, -1, 45, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 59, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, -1, -1, 123, -1, 125,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, -1, -1, 40,
+ -1, -1, 43, -1, 45, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 123, -1, 125, -1, 59, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 260, -1, -1, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, 272, 273, 274, -1, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
+ 287, 288, 123, -1, 125, 292, 293, 294, 295, -1,
+ -1, -1, 299, -1, -1, 302, 303, 304, 305, 306,
+ -1, -1, -1, -1, 260, -1, -1, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, -1, 273, 274, -1,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ -1, 287, 288, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, 260, -1, -1, 263, 264, -1, 266, 267, 268,
+ 269, 270, 271, -1, 273, 274, -1, 276, 277, 278,
+ 279, 280, 281, 282, 283, 284, 285, -1, 287, 288,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, 306, 40, -1,
+ -1, 43, -1, 45, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 59, -1, 260,
+ -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, -1, 273, 274, -1, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, -1, 287, 288, -1, -1,
+ -1, 292, 293, 294, 295, -1, -1, -1, 299, -1,
+ -1, 302, 303, 304, 305, 306, 40, -1, -1, 43,
+ -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 123, -1, 125, -1, 59, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 40, -1, -1, 43, -1, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 59, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 123,
+ -1, 125, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 59, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 123, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 260, -1,
+ -1, 263, 264, -1, 266, 267, 268, 269, 270, 271,
+ -1, 273, 274, -1, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, -1, 287, 288, 123, -1, 125,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 306, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
+ -1, -1, 43, -1, 45, -1, 260, -1, -1, 263,
+ 264, -1, 266, 267, 268, 269, 270, 271, 59, 273,
+ 274, -1, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, -1, 287, 288, -1, -1, -1, 292, 293,
+ 294, 295, -1, -1, -1, 299, -1, -1, 302, 303,
+ 304, 305, 306, 260, -1, -1, 263, 264, -1, 266,
+ 267, 268, 269, 270, 271, -1, 273, 274, -1, 276,
+ 277, 278, 279, 280, 281, 282, 283, 284, 285, -1,
+ 287, 288, 123, -1, 125, 292, 293, 294, 295, -1,
+ -1, -1, 299, -1, -1, 302, 303, 304, 305, 306,
+ 40, -1, -1, 43, 260, 45, -1, 263, 264, -1,
+ 266, 267, 268, 269, 270, 271, -1, 273, 274, -1,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ -1, 287, 288, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, 40, -1, -1, 43, 44, 45, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 60, -1, 62, 63, -1, -1, -1, -1, -1,
+ -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 60, -1, 62, 63, 260,
+ -1, -1, 263, 264, -1, 266, 267, 268, 269, 270,
+ 271, -1, 273, 274, -1, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, -1, 287, 288, -1, -1,
+ -1, 292, 293, 294, 295, -1, -1, -1, 299, -1,
+ -1, 302, 303, 304, 305, 306, 40, 41, -1, 43,
+ 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, -1, 43, 44, 45, -1, 257, 258, 259,
+ -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, 63, -1, -1, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, 286, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, 301, 302, 303, 304, 305, 306, 40, 41, -1,
+ 43, 44, 45, -1, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ 63, -1, 281, -1, 283, 284, 285, -1, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, 296, 297, -1,
+ 299, -1, -1, 302, 303, 304, 305, 306, 263, 264,
+ -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
+ 40, 41, -1, 43, 44, 45, 281, -1, 283, 284,
+ 285, -1, 287, -1, -1, -1, -1, 292, 293, 294,
+ 295, 296, 297, 63, 299, -1, -1, 302, 303, 304,
+ 305, 306, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
+ -1, 43, -1, 45, -1, -1, -1, -1, -1, 263,
+ 264, -1, -1, -1, 268, 269, 270, 59, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 281, -1, 283,
+ 284, 285, -1, 287, -1, -1, -1, -1, 292, 293,
+ 294, 295, -1, -1, -1, 299, -1, -1, 302, 303,
+ 304, 305, 306, 263, 264, -1, -1, -1, 268, 269,
+ 270, 40, -1, -1, 43, -1, 45, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
+ 263, 264, 43, -1, 45, 268, 269, 270, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 281, -1,
+ 283, 284, 285, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, 40, -1, -1, 43, 44, 45,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 263, 264, -1, -1, 63, 268, 269,
+ 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, 259, -1, -1,
+ -1, 263, 264, -1, -1, -1, 268, 269, 270, -1,
+ -1, 40, -1, -1, 43, 44, 45, -1, -1, 281,
+ -1, 283, 284, 285, -1, 287, -1, -1, -1, -1,
+ 292, 293, 294, 295, 63, -1, -1, 299, -1, 301,
+ 302, 303, 304, 305, 306, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
+ 259, 43, 44, 45, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 63, 281, -1, 283, 284, 285, -1, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, 301, 302, 303, 304, 305, 306, 259, -1,
+ -1, -1, 263, 264, -1, -1, -1, 268, 269, 270,
+ -1, -1, 40, -1, -1, 43, 44, 45, -1, -1,
+ 281, -1, 283, 284, 285, -1, 287, -1, -1, -1,
+ -1, 292, 293, 294, 295, 63, -1, -1, 299, -1,
+ 301, 302, 303, 304, 305, 306, -1, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, 40, -1, -1,
+ 43, 44, 45, -1, -1, 281, -1, 283, 284, 285,
+ -1, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ 63, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 40, -1, -1, 43, 44, 45, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 263, 264, 63, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, -1, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, 306, -1, -1,
+ -1, 263, 264, -1, -1, -1, 268, 269, 270, -1,
+ -1, 40, -1, -1, 43, -1, 45, -1, -1, 281,
+ -1, 283, 284, 285, -1, 287, -1, -1, -1, 58,
+ 292, 293, 294, 295, 63, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 306, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 40, -1, -1, 43, -1,
+ 45, -1, -1, -1, -1, 263, 264, -1, -1, -1,
+ 268, 269, 270, 58, -1, -1, -1, -1, 63, -1,
+ -1, -1, -1, 281, -1, 283, 284, 285, -1, 287,
+ -1, -1, -1, -1, 292, 293, 294, 295, -1, -1,
+ -1, 299, -1, -1, 302, 303, 304, 305, 306, -1,
+ 263, 264, -1, -1, -1, 268, 269, 270, -1, -1,
+ 40, 41, -1, 43, -1, 45, -1, -1, 281, -1,
+ 283, 284, 285, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, 63, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, -1, -1, 263, 264, -1, -1,
+ -1, 268, 269, 270, -1, -1, 40, 41, -1, 43,
+ -1, 45, -1, -1, 281, -1, 283, 284, 285, -1,
+ 287, -1, -1, -1, -1, 292, 293, 294, 295, 63,
+ -1, -1, 299, -1, -1, 302, 303, 304, 305, 306,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, -1, 43, -1, 45, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 63, 263, 264, -1, -1, -1, 268,
+ 269, 270, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 281, -1, 283, 284, 285, -1, 287, -1,
+ -1, -1, -1, 292, 293, 294, 295, -1, -1, -1,
+ 299, -1, -1, 302, 303, 304, 305, 306, 263, 264,
+ -1, -1, -1, 268, 269, 270, -1, -1, 40, 41,
+ -1, 43, -1, 45, -1, -1, 281, -1, 283, 284,
+ 285, -1, 287, -1, -1, -1, -1, 292, 293, 294,
+ 295, 63, -1, -1, 299, -1, -1, 302, 303, 304,
+ 305, 306, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 40, 41, -1, 43, -1, 45, -1, -1,
+ -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, 63, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, -1, -1, 263,
+ 264, -1, -1, -1, 268, 269, 270, -1, -1, 40,
+ 41, -1, 43, -1, 45, -1, -1, 281, -1, 283,
+ 284, 285, -1, 287, -1, -1, -1, -1, 292, 293,
+ 294, 295, 63, -1, -1, 299, -1, -1, 302, 303,
+ 304, 305, 306, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, 40, 41, -1, 43, -1, 45, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, 63, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 63, 263, 264, -1, -1, -1, 268, 269, 270, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 281,
+ -1, 283, 284, 285, -1, 287, -1, -1, -1, -1,
+ 292, 293, 294, 295, -1, -1, -1, 299, -1, -1,
+ 302, 303, 304, 305, 306, 263, 264, -1, -1, -1,
+ 268, 269, 270, -1, -1, 40, 41, -1, 43, -1,
+ 45, -1, -1, 281, -1, 283, 284, 285, -1, 287,
+ -1, -1, -1, -1, 292, 293, 294, 295, 63, -1,
+ -1, 299, -1, -1, 302, 303, 304, 305, 306, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, -1, 43, -1, 45, -1, -1, -1, -1, -1,
+ -1, -1, 263, 264, -1, -1, -1, 268, 269, 270,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 281, -1, 283, 284, 285, -1, 287, -1, -1, -1,
+ -1, 292, 293, 294, 295, -1, -1, -1, 299, -1,
+ -1, 302, 303, 304, 305, 306, 263, 264, -1, -1,
+ -1, 268, 269, 270, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, -1, 281, -1, 283, 284, 285, -1,
+ 287, -1, -1, -1, -1, 292, 293, 294, 295, -1,
+ -1, -1, 299, -1, -1, 302, 303, 304, 305, 306,
+ 263, 264, -1, -1, -1, 268, 269, 270, -1, -1,
+ -1, -1, 40, -1, -1, 43, -1, 45, 281, -1,
+ 283, 284, 285, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 263, 264,
+ -1, -1, -1, 268, 269, 270, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 281, -1, 283, 284,
+ 285, -1, 287, -1, -1, -1, -1, 292, 293, 294,
+ 295, -1, -1, -1, 299, -1, -1, 302, 303, 304,
+ 305, 306, 263, 264, -1, -1, -1, 268, 269, 270,
+ 40, -1, -1, 43, -1, 45, -1, -1, -1, -1,
+ 281, -1, 283, 284, 285, -1, 287, -1, -1, -1,
+ -1, 292, 293, 294, 295, -1, -1, -1, 299, -1,
+ -1, 302, 303, 304, 305, 306, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, 43, -1, 45,
+ -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ -1, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, 259, -1, -1, 40, 263, 264, 43, -1, 45,
+ 268, 269, 270, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 281, -1, 283, 284, 285, -1, 287,
+ -1, -1, -1, -1, 292, 293, 294, 295, -1, -1,
+ -1, 299, -1, -1, 302, 303, 304, 305, 306, 259,
+ -1, -1, 40, 263, 264, 43, -1, 45, 268, 269,
+ 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, 40, -1, -1,
+ 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 259,
+ -1, -1, -1, 263, 264, -1, -1, -1, 268, 269,
+ 270, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 281, -1, 283, 284, 285, -1, 287, -1, -1,
+ -1, -1, 292, 293, 294, 295, -1, -1, -1, 299,
+ -1, -1, 302, 303, 304, 305, 306, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ -1, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 259, -1, -1, -1, 263, 264, -1,
+ -1, -1, 268, 269, 270, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 281, -1, 283, 284, 285,
+ -1, 287, -1, -1, -1, -1, 292, 293, 294, 295,
+ -1, -1, -1, 299, -1, -1, 302, 303, 304, 305,
+ 306, -1, -1, -1, -1, 263, 264, -1, -1, -1,
+ 268, 269, 270, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 281, -1, 283, 284, 285, -1, 287,
+ -1, -1, -1, -1, 292, 293, 294, 295, -1, -1,
+ -1, 299, -1, -1, 302, 303, 304, 305, 306, -1,
+ 263, 264, 28, 29, -1, 268, 269, 270, 34, -1,
+ -1, -1, -1, -1, -1, -1, -1, 43, 281, -1,
+ 283, 284, 285, -1, 287, -1, -1, -1, -1, 292,
+ 293, 294, 295, -1, -1, -1, 299, -1, -1, 302,
+ 303, 304, 305, 306, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, 94, 95,
+ 96, 97, 98, -1, -1, -1, -1, -1, -1, 105,
+ -1, -1, -1, -1, 110, -1, -1, 113, 114, -1,
+ -1, 117, -1, 119, 120, -1, -1, -1, 124, 125,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 135,
+ -1, -1, -1, 139, -1, 141, 142, 143, 144, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 155,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 165,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 193, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 209, 210, 211, 212, -1, 214, -1,
+ 216, 217, -1, -1, -1, -1, -1, -1, 224, 225,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 236, 237, 238, 239, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 264, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 276, 277, 278, 279, 280, -1, 282, 283, 284,
+};
+#define YYFINAL 1
#ifndef YYDEBUG
-# define YYDEBUG 0 /* don't allow debugging */
+#define YYDEBUG 0
#endif
-
+#define YYMAXTOKEN 306
#if YYDEBUG
-
-yytoktype yytoks[] =
-{
- "BEGIN", 257,
- "END", 258,
- "REGEX", 259,
- "SEMINEW", 260,
- "NEWLINE", 261,
- "COMMENT", 262,
- "FUN1", 263,
- "FUNN", 264,
- "GRGR", 265,
- "PRINT", 266,
- "PRINTF", 267,
- "SPRINTF", 268,
- "SPLIT", 269,
- "IF", 270,
- "ELSE", 271,
- "WHILE", 272,
- "FOR", 273,
- "IN", 274,
- "EXIT", 275,
- "NEXT", 276,
- "BREAK", 277,
- "CONTINUE", 278,
- "RET", 279,
- "GETLINE", 280,
- "DO", 281,
- "SUB", 282,
- "GSUB", 283,
- "MATCH", 284,
- "FUNCTION", 285,
- "USERFUN", 286,
- "DELETE", 287,
- "ASGNOP", 288,
- "?", 63,
- ":", 58,
- "OROR", 289,
- "ANDAND", 290,
- "NUMBER", 291,
- "VAR", 292,
- "SUBSTR", 293,
- "INDEX", 294,
- "MATCHOP", 295,
- "RELOP", 296,
- "<", 60,
- ">", 62,
- "OR", 297,
- "STRING", 298,
- "+", 43,
- "-", 45,
- "*", 42,
- "/", 47,
- "%", 37,
- "UMINUS", 299,
- "NOT", 300,
- "^", 94,
- "INCR", 301,
- "DECR", 302,
- "FIELD", 303,
- "VFIELD", 304,
- "-unknown-", -1 /* ends search */
+const char *yyname[] = {
+"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,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,0,0,
+0,0,0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'p'",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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BEGIN","END","REGEX","SEMINEW",
+"NEWLINE","COMMENT","FUN1","FUNN","GRGR","PRINT","PRINTF","SPRINTF_OLD",
+"SPRINTF_NEW","SPLIT","IF","ELSE","WHILE","FOR","IN","EXIT","NEXT","BREAK",
+"CONTINUE","RET","GETLINE","DO","SUB","GSUB","MATCH","FUNCTION","USERFUN",
+"DELETE","ASGNOP","OROR","ANDAND","NUMBER","VAR","SUBSTR","INDEX","MATCHOP",
+"RELOP","OR","STRING","UMINUS","NOT","INCR","DECR","FIELD","VFIELD","SVFIELD",
};
-
-char * yyreds[] =
-{
- "-no such reduction-",
- "program : junk hunks",
- "begin : BEGIN '{' maybe states '}' junk",
- "end : END '{' maybe states '}'",
- "end : end NEWLINE",
- "hunks : hunks hunk junk",
- "hunks : /* empty */",
- "hunk : patpat",
- "hunk : patpat '{' maybe states '}'",
- "hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
- "hunk : '{' maybe states '}'",
- "hunk : begin",
- "hunk : end",
- "arg_list : expr_list",
- "patpat : cond",
- "patpat : cond ',' cond",
- "cond : expr",
- "cond : match",
- "cond : rel",
- "cond : compound_cond",
- "compound_cond : '(' compound_cond ')'",
- "compound_cond : cond ANDAND maybe cond",
- "compound_cond : cond OROR maybe cond",
- "compound_cond : NOT cond",
- "rel : expr RELOP expr",
- "rel : expr '>' expr",
- "rel : expr '<' expr",
- "rel : '(' rel ')'",
- "match : expr MATCHOP expr",
- "match : expr MATCHOP REGEX",
- "match : REGEX",
- "match : '(' match ')'",
- "expr : term",
- "expr : expr term",
- "expr : variable ASGNOP cond",
- "term : variable",
- "term : NUMBER",
- "term : STRING",
- "term : term '+' term",
- "term : term '-' term",
- "term : term '*' term",
- "term : term '/' term",
- "term : term '%' term",
- "term : term '^' term",
- "term : term IN VAR",
- "term : term '?' term ':' term",
- "term : variable INCR",
- "term : variable DECR",
- "term : INCR variable",
- "term : DECR variable",
- "term : '-' term",
- "term : '+' term",
- "term : '(' cond ')'",
- "term : GETLINE",
- "term : GETLINE variable",
- "term : GETLINE '<' expr",
- "term : GETLINE variable '<' expr",
- "term : term 'p' GETLINE",
- "term : term 'p' GETLINE variable",
- "term : FUN1",
- "term : FUN1 '(' ')'",
- "term : FUN1 '(' expr ')'",
- "term : FUNN '(' expr_list ')'",
- "term : USERFUN '(' expr_list ')'",
- "term : SPRINTF expr_list",
- "term : SUBSTR '(' expr ',' expr ',' expr ')'",
- "term : SUBSTR '(' expr ',' expr ')'",
- "term : SPLIT '(' expr ',' VAR ',' expr ')'",
- "term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
- "term : SPLIT '(' expr ',' VAR ')'",
- "term : INDEX '(' expr ',' expr ')'",
- "term : MATCH '(' expr ',' REGEX ')'",
- "term : MATCH '(' expr ',' expr ')'",
- "term : SUB '(' expr ',' expr ')'",
- "term : SUB '(' REGEX ',' expr ')'",
- "term : GSUB '(' expr ',' expr ')'",
- "term : GSUB '(' REGEX ',' expr ')'",
- "term : SUB '(' expr ',' expr ',' expr ')'",
- "term : SUB '(' REGEX ',' expr ',' expr ')'",
- "term : GSUB '(' expr ',' expr ',' expr ')'",
- "term : GSUB '(' REGEX ',' expr ',' expr ')'",
- "variable : VAR",
- "variable : VAR '[' expr_list ']'",
- "variable : FIELD",
- "variable : VFIELD term",
- "expr_list : expr",
- "expr_list : clist",
- "expr_list : /* empty */",
- "clist : expr ',' maybe expr",
- "clist : clist ',' maybe expr",
- "clist : '(' clist ')'",
- "junk : junk hunksep",
- "junk : /* empty */",
- "hunksep : ';'",
- "hunksep : SEMINEW",
- "hunksep : NEWLINE",
- "hunksep : COMMENT",
- "maybe : maybe nlstuff",
- "maybe : /* empty */",
- "nlstuff : NEWLINE",
- "nlstuff : COMMENT",
- "separator : ';' maybe",
- "separator : SEMINEW maybe",
- "separator : NEWLINE maybe",
- "separator : COMMENT maybe",
- "states : states statement",
- "states : /* empty */",
- "statement : simple separator maybe",
- "statement : ';' maybe",
- "statement : SEMINEW maybe",
- "statement : compound",
- "simpnull : simple",
- "simpnull : /* empty */",
- "simple : expr",
- "simple : PRINT expr_list redir expr",
- "simple : PRINT expr_list",
- "simple : PRINTF expr_list redir expr",
- "simple : PRINTF expr_list",
- "simple : BREAK",
- "simple : NEXT",
- "simple : EXIT",
- "simple : EXIT expr",
- "simple : CONTINUE",
- "simple : RET",
- "simple : RET expr",
- "simple : DELETE VAR '[' expr ']'",
- "redir : '>'",
- "redir : GRGR",
- "redir : '|'",
- "compound : IF '(' cond ')' maybe statement",
- "compound : IF '(' cond ')' maybe statement ELSE maybe statement",
- "compound : WHILE '(' cond ')' maybe statement",
- "compound : DO maybe statement WHILE '(' cond ')'",
- "compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
- "compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
- "compound : FOR '(' expr ')' maybe statement",
- "compound : '{' maybe states '}' maybe",
+const char *yyrule[] = {
+"$accept : program",
+"program : junk hunks",
+"begin : BEGIN '{' maybe states '}' junk",
+"end : END '{' maybe states '}'",
+"end : end NEWLINE",
+"hunks : hunks hunk junk",
+"hunks :",
+"hunk : patpat",
+"hunk : patpat '{' maybe states '}'",
+"hunk : FUNCTION USERFUN '(' arg_list ')' maybe '{' maybe states '}'",
+"hunk : '{' maybe states '}'",
+"hunk : begin",
+"hunk : end",
+"arg_list : expr_list",
+"patpat : cond",
+"patpat : cond ',' cond",
+"cond : expr",
+"cond : match",
+"cond : rel",
+"cond : compound_cond",
+"cond : cond '?' expr ':' expr",
+"compound_cond : '(' compound_cond ')'",
+"compound_cond : cond ANDAND maybe cond",
+"compound_cond : cond OROR maybe cond",
+"compound_cond : NOT cond",
+"rel : expr RELOP expr",
+"rel : expr '>' expr",
+"rel : expr '<' expr",
+"rel : '(' rel ')'",
+"match : expr MATCHOP expr",
+"match : expr MATCHOP REGEX",
+"match : REGEX",
+"match : '(' match ')'",
+"expr : term",
+"expr : expr term",
+"expr : expr '?' expr ':' expr",
+"expr : variable ASGNOP cond",
+"sprintf : SPRINTF_NEW",
+"sprintf : SPRINTF_OLD",
+"term : variable",
+"term : NUMBER",
+"term : STRING",
+"term : term '+' term",
+"term : term '-' term",
+"term : term '*' term",
+"term : term '/' term",
+"term : term '%' term",
+"term : term '^' term",
+"term : term IN VAR",
+"term : variable INCR",
+"term : variable DECR",
+"term : INCR variable",
+"term : DECR variable",
+"term : '-' term",
+"term : '+' term",
+"term : '(' cond ')'",
+"term : GETLINE",
+"term : GETLINE variable",
+"term : GETLINE '<' expr",
+"term : GETLINE variable '<' expr",
+"term : term 'p' GETLINE",
+"term : term 'p' GETLINE variable",
+"term : FUN1",
+"term : FUN1 '(' ')'",
+"term : FUN1 '(' expr ')'",
+"term : FUNN '(' expr_list ')'",
+"term : USERFUN '(' expr_list ')'",
+"term : SPRINTF_NEW '(' expr_list ')'",
+"term : sprintf expr_list",
+"term : SUBSTR '(' expr ',' expr ',' expr ')'",
+"term : SUBSTR '(' expr ',' expr ')'",
+"term : SPLIT '(' expr ',' VAR ',' expr ')'",
+"term : SPLIT '(' expr ',' VAR ',' REGEX ')'",
+"term : SPLIT '(' expr ',' VAR ')'",
+"term : INDEX '(' expr ',' expr ')'",
+"term : MATCH '(' expr ',' REGEX ')'",
+"term : MATCH '(' expr ',' expr ')'",
+"term : SUB '(' expr ',' expr ')'",
+"term : SUB '(' REGEX ',' expr ')'",
+"term : GSUB '(' expr ',' expr ')'",
+"term : GSUB '(' REGEX ',' expr ')'",
+"term : SUB '(' expr ',' expr ',' expr ')'",
+"term : SUB '(' REGEX ',' expr ',' expr ')'",
+"term : GSUB '(' expr ',' expr ',' expr ')'",
+"term : GSUB '(' REGEX ',' expr ',' expr ')'",
+"variable : VAR",
+"variable : VAR '[' expr_list ']'",
+"variable : FIELD",
+"variable : SVFIELD",
+"variable : VFIELD term",
+"expr_list : expr",
+"expr_list : clist",
+"expr_list :",
+"clist : expr ',' maybe expr",
+"clist : clist ',' maybe expr",
+"clist : '(' clist ')'",
+"junk : junk hunksep",
+"junk :",
+"hunksep : ';'",
+"hunksep : SEMINEW",
+"hunksep : NEWLINE",
+"hunksep : COMMENT",
+"maybe : maybe nlstuff",
+"maybe :",
+"nlstuff : NEWLINE",
+"nlstuff : COMMENT",
+"separator : ';' maybe",
+"separator : SEMINEW maybe",
+"separator : NEWLINE maybe",
+"separator : COMMENT maybe",
+"states : states statement",
+"states :",
+"statement : simple separator maybe",
+"statement : ';' maybe",
+"statement : SEMINEW maybe",
+"statement : compound",
+"simpnull : simple",
+"simpnull :",
+"simple : expr",
+"simple : PRINT expr_list redir expr",
+"simple : PRINT expr_list",
+"simple : PRINTF expr_list redir expr",
+"simple : PRINTF expr_list",
+"simple : BREAK",
+"simple : NEXT",
+"simple : EXIT",
+"simple : EXIT expr",
+"simple : CONTINUE",
+"simple : RET",
+"simple : RET expr",
+"simple : DELETE VAR '[' expr_list ']'",
+"redir : '>'",
+"redir : GRGR",
+"redir : '|'",
+"compound : IF '(' cond ')' maybe statement",
+"compound : IF '(' cond ')' maybe statement ELSE maybe statement",
+"compound : WHILE '(' cond ')' maybe statement",
+"compound : DO maybe statement WHILE '(' cond ')'",
+"compound : FOR '(' simpnull ';' cond ';' simpnull ')' maybe statement",
+"compound : FOR '(' simpnull ';' ';' simpnull ')' maybe statement",
+"compound : FOR '(' expr ')' maybe statement",
+"compound : '{' maybe states '}' maybe",
};
-#endif /* YYDEBUG */
-#line 1 "/usr/lib/yaccpar"
-/* @(#)yaccpar 1.10 89/04/04 SMI; from S5R3 1.10 */
-
-/*
-** Skeleton parser driver for yacc output
-*/
-
-/*
-** yacc user known macros and defines
-*/
-#define YYERROR goto yyerrlab
-#define YYACCEPT { free(yys); free(yyv); return(0); }
-#define YYABORT { free(yys); free(yyv); return(1); }
-#define YYBACKUP( newtoken, newvalue )\
-{\
- if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\
- {\
- yyerror( "syntax error - cannot backup" );\
- goto yyerrlab;\
- }\
- yychar = newtoken;\
- yystate = *yyps;\
- yylval = newvalue;\
- goto yynewstate;\
-}
-#define YYRECOVERING() (!!yyerrflag)
-#ifndef YYDEBUG
-# define YYDEBUG 1 /* make debugging available */
#endif
+#ifndef YYSTYPE
+typedef int YYSTYPE;
+#endif
+#ifdef YYSTACKSIZE
+#undef YYMAXDEPTH
+#define YYMAXDEPTH YYSTACKSIZE
+#else
+#ifdef YYMAXDEPTH
+#define YYSTACKSIZE YYMAXDEPTH
+#else
+#define YYSTACKSIZE 500
+#define YYMAXDEPTH 500
+#endif
+#endif
+int yydebug;
+int yynerrs;
+int yyerrflag;
+int yychar;
+short *yyssp;
+YYSTYPE *yyvsp;
+YYSTYPE yyval;
+YYSTYPE yylval;
+short yyss[YYSTACKSIZE];
+YYSTYPE yyvs[YYSTACKSIZE];
+#define yystacksize YYSTACKSIZE
+#line 429 "a2p.y"
-/*
-** user known globals
-*/
-int yydebug; /* set to 1 to get debugging */
-
-/*
-** driver internal defines
-*/
-#define YYFLAG (-1000)
-
-/*
-** static variables used by the parser
-*/
-static YYSTYPE *yyv; /* value stack */
-static int *yys; /* state stack */
-
-static YYSTYPE *yypv; /* top of value stack */
-static int *yyps; /* top of state stack */
-
-static int yystate; /* current state */
-static int yytmp; /* extra var (lasts between blocks) */
-
-int yynerrs; /* number of errors */
+int yyparse (void);
-int yyerrflag; /* error recovery flag */
-int yychar; /* current input token number */
+#include "a2py.c"
+#line 2178 "y.tab.c"
+#define YYABORT goto yyabort
+#define YYREJECT goto yyabort
+#define YYACCEPT goto yyaccept
+#define YYERROR goto yyerrlab
+#if YYDEBUG
+# if defined(WIN32) && !defined(__BORLANDC__)
+EXTERN_C _CRTIMP char *getenv(const char *);
+# else
+EXTERN_C char *getenv(const char *);
+# endif
+#endif
-/*
-** yyparse - return 0 if worked, 1 if syntax error not recovered from
-*/
int
-yyparse()
+yyparse(void)
{
- register YYSTYPE *yypvt; /* top of value stack for $vars */
- unsigned yymaxdepth = YYMAXDEPTH;
-
- /*
- ** Initialize externals - yyparse may be called more than once
- */
- yyv = (YYSTYPE*)malloc(yymaxdepth*sizeof(YYSTYPE));
- yys = (int*)malloc(yymaxdepth*sizeof(int));
- if (!yyv || !yys)
- {
- yyerror( "out of memory" );
- return(1);
- }
- yypv = &yyv[-1];
- yyps = &yys[-1];
- yystate = 0;
- yytmp = 0;
- yynerrs = 0;
- yyerrflag = 0;
- yychar = -1;
-
- goto yystack;
- {
- register YYSTYPE *yy_pv; /* top of value stack */
- register int *yy_ps; /* top of state stack */
- register int yy_state; /* current state */
- register int yy_n; /* internal state number info */
-
- /*
- ** get globals into registers.
- ** branch to here only if YYBACKUP was called.
- */
- yynewstate:
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
- goto yy_newstate;
+ register int yym, yyn, yystate;
+#if YYDEBUG
+ register const char *yys;
- /*
- ** get globals into registers.
- ** either we just started, or we just finished a reduction
- */
- yystack:
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
+ if ((yys = getenv("YYDEBUG")))
+ {
+ yyn = *yys;
+ if (yyn >= '0' && yyn <= '9')
+ yydebug = yyn - '0';
+ }
+#endif
- /*
- ** top of for (;;) loop while no reductions done
- */
- yy_stack:
- /*
- ** put a state and value onto the stacks
- */
-#if YYDEBUG
- /*
- ** if debugging, look up token value in list of value vs.
- ** name pairs. 0 and negative (-1) are special values.
- ** Note: linear search is used since time is not a real
- ** consideration while debugging.
- */
- if ( yydebug )
- {
- register int yy_i;
+ yynerrs = 0;
+ yyerrflag = 0;
+ yychar = (-1);
- (void)printf( "State %d, token ", yy_state );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val == yychar )
- break;
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
-#endif /* YYDEBUG */
- if ( ++yy_ps >= &yys[ yymaxdepth ] ) /* room on stack? */
- {
- /*
- ** reallocate and recover. Note that pointers
- ** have to be reset, or bad things will happen
- */
- int yyps_index = (yy_ps - yys);
- int yypv_index = (yy_pv - yyv);
- int yypvt_index = (yypvt - yyv);
- yymaxdepth += YYMAXDEPTH;
- yyv = (YYSTYPE*)realloc((char*)yyv,
- yymaxdepth * sizeof(YYSTYPE));
- yys = (int*)realloc((char*)yys,
- yymaxdepth * sizeof(int));
- if (!yyv || !yys)
- {
- yyerror( "yacc stack overflow" );
- return(1);
- }
- yy_ps = yys + yyps_index;
- yy_pv = yyv + yypv_index;
- yypvt = yyv + yypvt_index;
- }
- *yy_ps = yy_state;
- *++yy_pv = yyval;
+ yyssp = yyss;
+ yyvsp = yyvs;
+ *yyssp = yystate = 0;
- /*
- ** we have a new state - find out what to do
- */
- yy_newstate:
- if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG )
- goto yydefault; /* simple state */
+yyloop:
+ if (((yyn = yydefred[yystate])) != 0) goto yyreduce;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
#if YYDEBUG
- /*
- ** if debugging, need to mark whether new token grabbed
- */
- yytmp = yychar < 0;
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
+ }
#endif
- if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
- yychar = 0; /* reached EOF */
+ }
+ if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
#if YYDEBUG
- if ( yydebug && yytmp )
- {
- register int yy_i;
-
- (void)printf( "Received token " );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0; yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val == yychar )
- break;
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
-#endif /* YYDEBUG */
- if ( ( ( yy_n += yychar ) < 0 ) || ( yy_n >= YYLAST ) )
- goto yydefault;
- if ( yychk[ yy_n = yyact[ yy_n ] ] == yychar ) /*valid shift*/
- {
- yychar = -1;
- yyval = yylval;
- yy_state = yy_n;
- if ( yyerrflag > 0 )
- yyerrflag--;
- goto yy_stack;
- }
+ if (yydebug)
+ printf("%sdebug: state %d, shifting to state %d\n",
+ YYPREFIX, yystate, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ yychar = (-1);
+ if (yyerrflag > 0) --yyerrflag;
+ goto yyloop;
+ }
+ if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
+ {
+ yyn = yytable[yyn];
+ goto yyreduce;
+ }
+ if (yyerrflag) goto yyinrecovery;
+#ifdef lint
- yydefault:
- if ( ( yy_n = yydef[ yy_state ] ) == -2 )
- {
-#if YYDEBUG
- yytmp = yychar < 0;
#endif
- if ( ( yychar < 0 ) && ( ( yychar = yylex() ) < 0 ) )
- yychar = 0; /* reached EOF */
-#if YYDEBUG
- if ( yydebug && yytmp )
- {
- register int yy_i;
- (void)printf( "Received token " );
- if ( yychar == 0 )
- (void)printf( "end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "-none-\n" );
- else
- {
- for ( yy_i = 0;
- yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val
- == yychar )
- {
- break;
- }
- }
- (void)printf( "%s\n", yytoks[yy_i].t_name );
- }
- }
-#endif /* YYDEBUG */
- /*
- ** look through exception table
- */
- {
- register int *yyxi = yyexca;
+ yyerror("syntax error");
+#ifdef lint
- while ( ( *yyxi != -1 ) ||
- ( yyxi[1] != yy_state ) )
- {
- yyxi += 2;
- }
- while ( ( *(yyxi += 2) >= 0 ) &&
- ( *yyxi != yychar ) )
- ;
- if ( ( yy_n = yyxi[1] ) < 0 )
- YYACCEPT;
- }
- }
+#endif
- /*
- ** check for syntax error
- */
- if ( yy_n == 0 ) /* have an error */
- {
- /* no worry about speed here! */
- switch ( yyerrflag )
- {
- case 0: /* new error */
- yyerror( "syntax error" );
- goto skip_init;
- yyerrlab:
- /*
- ** get globals into registers.
- ** we have a user generated syntax type error
- */
- yy_pv = yypv;
- yy_ps = yyps;
- yy_state = yystate;
- yynerrs++;
- skip_init:
- case 1:
- case 2: /* incompletely recovered error */
- /* try again... */
- yyerrflag = 3;
- /*
- ** find state where "error" is a legal
- ** shift action
- */
- while ( yy_ps >= yys )
- {
- yy_n = yypact[ *yy_ps ] + YYERRCODE;
- if ( yy_n >= 0 && yy_n < YYLAST &&
- yychk[yyact[yy_n]] == YYERRCODE) {
- /*
- ** simulate shift of "error"
- */
- yy_state = yyact[ yy_n ];
- goto yy_stack;
- }
- /*
- ** current state has no shift on
- ** "error", pop stack
- */
+ ++yynerrs;
+yyinrecovery:
+ if (yyerrflag < 3)
+ {
+ yyerrflag = 3;
+ for (;;)
+ {
+ if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ {
#if YYDEBUG
-# define _POP_ "Error recovery pops state %d, uncovers state %d\n"
- if ( yydebug )
- (void)printf( _POP_, *yy_ps,
- yy_ps[-1] );
-# undef _POP_
+ if (yydebug)
+ printf("%sdebug: state %d, error recovery shifting\
+ to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
#endif
- yy_ps--;
- yy_pv--;
- }
- /*
- ** there is no state on stack with "error" as
- ** a valid shift. give up.
- */
- YYABORT;
- case 3: /* no shift yet; eat a token */
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ goto yyloop;
+ }
+ else
+ {
#if YYDEBUG
- /*
- ** if debugging, look up token in list of
- ** pairs. 0 and negative shouldn't occur,
- ** but since timing doesn't matter when
- ** debugging, it doesn't hurt to leave the
- ** tests here.
- */
- if ( yydebug )
- {
- register int yy_i;
-
- (void)printf( "Error recovery discards " );
- if ( yychar == 0 )
- (void)printf( "token end-of-file\n" );
- else if ( yychar < 0 )
- (void)printf( "token -none-\n" );
- else
- {
- for ( yy_i = 0;
- yytoks[yy_i].t_val >= 0;
- yy_i++ )
- {
- if ( yytoks[yy_i].t_val
- == yychar )
- {
- break;
- }
- }
- (void)printf( "token %s\n",
- yytoks[yy_i].t_name );
- }
- }
-#endif /* YYDEBUG */
- if ( yychar == 0 ) /* reached EOF. quit */
- YYABORT;
- yychar = -1;
- goto yy_newstate;
- }
- }/* end if ( yy_n == 0 ) */
- /*
- ** reduction by production yy_n
- ** put stack tops, etc. so things right after switch
- */
+ if (yydebug)
+ printf("%sdebug: error recovery discarding state %d\n",
+ YYPREFIX, *yyssp);
+#endif
+ if (yyssp <= yyss) goto yyabort;
+ --yyssp;
+ --yyvsp;
+ }
+ }
+ }
+ else
+ {
+ if (yychar == 0) goto yyabort;
#if YYDEBUG
- /*
- ** if debugging, print the string that is the user's
- ** specification of the reduction which is just about
- ** to be done.
- */
- if ( yydebug )
- (void)printf( "Reduce by (%d) \"%s\"\n",
- yy_n, yyreds[ yy_n ] );
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
+ }
#endif
- yytmp = yy_n; /* value to switch over */
- yypvt = yy_pv; /* $vars top of value stack */
- /*
- ** Look in goto table for next state
- ** Sorry about using yy_state here as temporary
- ** register variable, but why not, if it works...
- ** If yyr2[ yy_n ] doesn't have the low order bit
- ** set, then there is no action to be done for
- ** this reduction. So, no saving & unsaving of
- ** registers done. The only difference between the
- ** code just after the if and the body of the if is
- ** the goto yy_stack in the body. This way the test
- ** can be made before the choice of what to do is needed.
- */
- {
- /* length of production doubled with extra bit */
- register int yy_len = yyr2[ yy_n ];
-
- if ( !( yy_len & 01 ) )
- {
- yy_len >>= 1;
- yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */
- yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
- *( yy_ps -= yy_len ) + 1;
- if ( yy_state >= YYLAST ||
- yychk[ yy_state =
- yyact[ yy_state ] ] != -yy_n )
- {
- yy_state = yyact[ yypgo[ yy_n ] ];
- }
- goto yy_stack;
- }
- yy_len >>= 1;
- yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */
- yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] +
- *( yy_ps -= yy_len ) + 1;
- if ( yy_state >= YYLAST ||
- yychk[ yy_state = yyact[ yy_state ] ] != -yy_n )
- {
- yy_state = yyact[ yypgo[ yy_n ] ];
- }
- }
- /* save until reenter driver code */
- yystate = yy_state;
- yyps = yy_ps;
- yypv = yy_pv;
- }
- /*
- ** code supplied by user is placed in this switch
- */
- switch( yytmp )
- {
-
+ yychar = (-1);
+ goto yyloop;
+ }
+yyreduce:
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, reducing by rule %d (%s)\n",
+ YYPREFIX, yystate, yyn, yyrule[yyn]);
+#endif
+ yym = yylen[yyn];
+ yyval = yyvsp[1-yym];
+ switch (yyn)
+ {
case 1:
-# line 60 "a2p.y"
-{ root = oper4(OPROG,yypvt[-1],begins,yypvt[-0],ends); } break;
+#line 52 "a2p.y"
+{ root = oper4(OPROG,yyvsp[-1],begins,yyvsp[0],ends); }
+break;
case 2:
-# line 64 "a2p.y"
-{ begins = oper4(OJUNK,begins,yypvt[-3],yypvt[-2],yypvt[-0]); in_begin = FALSE;
- yyval = Nullop; } break;
+#line 56 "a2p.y"
+{ begins = oper4(OJUNK,begins,yyvsp[-3],yyvsp[-2],yyvsp[0]); in_begin = FALSE;
+ yyval = Nullop; }
+break;
case 3:
-# line 69 "a2p.y"
-{ ends = oper3(OJUNK,ends,yypvt[-2],yypvt[-1]); yyval = Nullop; } break;
+#line 61 "a2p.y"
+{ ends = oper3(OJUNK,ends,yyvsp[-2],yyvsp[-1]); yyval = Nullop; }
+break;
case 4:
-# line 71 "a2p.y"
-{ yyval = yypvt[-1]; } break;
+#line 63 "a2p.y"
+{ yyval = yyvsp[-1]; }
+break;
case 5:
-# line 75 "a2p.y"
-{ yyval = oper3(OHUNKS,yypvt[-2],yypvt[-1],yypvt[-0]); } break;
+#line 67 "a2p.y"
+{ yyval = oper3(OHUNKS,yyvsp[-2],yyvsp[-1],yyvsp[0]); }
+break;
case 6:
-# line 77 "a2p.y"
-{ yyval = Nullop; } break;
+#line 69 "a2p.y"
+{ yyval = Nullop; }
+break;
case 7:
-# line 81 "a2p.y"
-{ yyval = oper1(OHUNK,yypvt[-0]); need_entire = TRUE; } break;
+#line 73 "a2p.y"
+{ yyval = oper1(OHUNK,yyvsp[0]); need_entire = TRUE; }
+break;
case 8:
-# line 83 "a2p.y"
-{ yyval = oper2(OHUNK,yypvt[-4],oper2(OJUNK,yypvt[-2],yypvt[-1])); } break;
+#line 75 "a2p.y"
+{ yyval = oper2(OHUNK,yyvsp[-4],oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
+break;
case 9:
-# line 85 "a2p.y"
-{ fixfargs(yypvt[-8],yypvt[-6],0); yyval = oper5(OUSERDEF,yypvt[-8],yypvt[-6],yypvt[-4],yypvt[-2],yypvt[-1]); } break;
+#line 77 "a2p.y"
+{ fixfargs(yyvsp[-8],yyvsp[-6],0); yyval = oper5(OUSERDEF,yyvsp[-8],yyvsp[-6],yyvsp[-4],yyvsp[-2],yyvsp[-1]); }
+break;
case 10:
-# line 87 "a2p.y"
-{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yypvt[-2],yypvt[-1])); } break;
+#line 79 "a2p.y"
+{ yyval = oper2(OHUNK,Nullop,oper2(OJUNK,yyvsp[-2],yyvsp[-1])); }
+break;
case 13:
-# line 93 "a2p.y"
-{ yyval = rememberargs(yyval); } break;
+#line 85 "a2p.y"
+{ yyval = rememberargs(yyval); }
+break;
case 14:
-# line 97 "a2p.y"
-{ yyval = oper1(OPAT,yypvt[-0]); } break;
+#line 89 "a2p.y"
+{ yyval = oper1(OPAT,yyvsp[0]); }
+break;
case 15:
-# line 99 "a2p.y"
-{ yyval = oper2(ORANGE,yypvt[-2],yypvt[-0]); } break;
+#line 91 "a2p.y"
+{ yyval = oper2(ORANGE,yyvsp[-2],yyvsp[0]); }
+break;
case 20:
-# line 110 "a2p.y"
-{ yyval = oper1(OCPAREN,yypvt[-1]); } break;
+#line 99 "a2p.y"
+{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
+break;
case 21:
-# line 112 "a2p.y"
-{ yyval = oper3(OCANDAND,yypvt[-3],yypvt[-1],yypvt[-0]); } break;
+#line 104 "a2p.y"
+{ yyval = oper1(OCPAREN,yyvsp[-1]); }
+break;
case 22:
-# line 114 "a2p.y"
-{ yyval = oper3(OCOROR,yypvt[-3],yypvt[-1],yypvt[-0]); } break;
+#line 106 "a2p.y"
+{ yyval = oper3(OCANDAND,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
+break;
case 23:
-# line 116 "a2p.y"
-{ yyval = oper1(OCNOT,yypvt[-0]); } break;
+#line 108 "a2p.y"
+{ yyval = oper3(OCOROR,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
+break;
case 24:
-# line 120 "a2p.y"
-{ yyval = oper3(ORELOP,yypvt[-1],yypvt[-2],yypvt[-0]); } break;
+#line 110 "a2p.y"
+{ yyval = oper1(OCNOT,yyvsp[0]); }
+break;
case 25:
-# line 122 "a2p.y"
-{ yyval = oper3(ORELOP,string(">",1),yypvt[-2],yypvt[-0]); } break;
+#line 114 "a2p.y"
+{ yyval = oper3(ORELOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
+break;
case 26:
-# line 124 "a2p.y"
-{ yyval = oper3(ORELOP,string("<",1),yypvt[-2],yypvt[-0]); } break;
+#line 116 "a2p.y"
+{ yyval = oper3(ORELOP,string(">",1),yyvsp[-2],yyvsp[0]); }
+break;
case 27:
-# line 126 "a2p.y"
-{ yyval = oper1(ORPAREN,yypvt[-1]); } break;
+#line 118 "a2p.y"
+{ yyval = oper3(ORELOP,string("<",1),yyvsp[-2],yyvsp[0]); }
+break;
case 28:
-# line 130 "a2p.y"
-{ yyval = oper3(OMATCHOP,yypvt[-1],yypvt[-2],yypvt[-0]); } break;
+#line 120 "a2p.y"
+{ yyval = oper1(ORPAREN,yyvsp[-1]); }
+break;
case 29:
-# line 132 "a2p.y"
-{ yyval = oper3(OMATCHOP,yypvt[-1],yypvt[-2],oper1(OREGEX,yypvt[-0])); } break;
+#line 124 "a2p.y"
+{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],yyvsp[0]); }
+break;
case 30:
-# line 134 "a2p.y"
-{ yyval = oper1(OREGEX,yypvt[-0]); } break;
+#line 126 "a2p.y"
+{ yyval = oper3(OMATCHOP,yyvsp[-1],yyvsp[-2],oper1(OREGEX,yyvsp[0])); }
+break;
case 31:
-# line 136 "a2p.y"
-{ yyval = oper1(OMPAREN,yypvt[-1]); } break;
+#line 128 "a2p.y"
+{ yyval = oper1(OREGEX,yyvsp[0]); }
+break;
case 32:
-# line 140 "a2p.y"
-{ yyval = yypvt[-0]; } break;
+#line 130 "a2p.y"
+{ yyval = oper1(OMPAREN,yyvsp[-1]); }
+break;
case 33:
-# line 142 "a2p.y"
-{ yyval = oper2(OCONCAT,yypvt[-1],yypvt[-0]); } break;
+#line 134 "a2p.y"
+{ yyval = yyvsp[0]; }
+break;
case 34:
-# line 144 "a2p.y"
-{ yyval = oper3(OASSIGN,yypvt[-1],yypvt[-2],yypvt[-0]);
- if ((ops[yypvt[-2]].ival & 255) == OFLD)
- lval_field = TRUE;
- if ((ops[yypvt[-2]].ival & 255) == OVFLD)
- lval_field = TRUE;
- } break;
+#line 136 "a2p.y"
+{ yyval = oper2(OCONCAT,yyvsp[-1],yyvsp[0]); }
+break;
case 35:
-# line 153 "a2p.y"
-{ yyval = yypvt[-0]; } break;
+#line 138 "a2p.y"
+{ yyval = oper3(OCOND,yyvsp[-4],yyvsp[-2],yyvsp[0]); }
+break;
case 36:
-# line 155 "a2p.y"
-{ yyval = oper1(ONUM,yypvt[-0]); } break;
-case 37:
-# line 157 "a2p.y"
-{ yyval = oper1(OSTR,yypvt[-0]); } break;
-case 38:
-# line 159 "a2p.y"
-{ yyval = oper2(OADD,yypvt[-2],yypvt[-0]); } break;
+#line 140 "a2p.y"
+{
+ yyval = oper3(OASSIGN,yyvsp[-1],yyvsp[-2],yyvsp[0]);
+ if ((ops[yyvsp[-2]].ival & 255) == OFLD)
+ lval_field = TRUE;
+ else if ((ops[yyvsp[-2]].ival & 255) == OVFLD)
+ lval_field = TRUE;
+ }
+break;
case 39:
-# line 161 "a2p.y"
-{ yyval = oper2(OSUBTRACT,yypvt[-2],yypvt[-0]); } break;
+#line 153 "a2p.y"
+{ yyval = yyvsp[0]; }
+break;
case 40:
-# line 163 "a2p.y"
-{ yyval = oper2(OMULT,yypvt[-2],yypvt[-0]); } break;
+#line 155 "a2p.y"
+{ yyval = oper1(ONUM,yyvsp[0]); }
+break;
case 41:
-# line 165 "a2p.y"
-{ yyval = oper2(ODIV,yypvt[-2],yypvt[-0]); } break;
+#line 157 "a2p.y"
+{ yyval = oper1(OSTR,yyvsp[0]); }
+break;
case 42:
-# line 167 "a2p.y"
-{ yyval = oper2(OMOD,yypvt[-2],yypvt[-0]); } break;
+#line 159 "a2p.y"
+{ yyval = oper2(OADD,yyvsp[-2],yyvsp[0]); }
+break;
case 43:
-# line 169 "a2p.y"
-{ yyval = oper2(OPOW,yypvt[-2],yypvt[-0]); } break;
+#line 161 "a2p.y"
+{ yyval = oper2(OSUBTRACT,yyvsp[-2],yyvsp[0]); }
+break;
case 44:
-# line 171 "a2p.y"
-{ yyval = oper2(ODEFINED,aryrefarg(yypvt[-0]),yypvt[-2]); } break;
+#line 163 "a2p.y"
+{ yyval = oper2(OMULT,yyvsp[-2],yyvsp[0]); }
+break;
case 45:
-# line 173 "a2p.y"
-{ yyval = oper3(OCOND,yypvt[-4],yypvt[-2],yypvt[-0]); } break;
+#line 165 "a2p.y"
+{ yyval = oper2(ODIV,yyvsp[-2],yyvsp[0]); }
+break;
case 46:
-# line 175 "a2p.y"
-{ yyval = oper1(OPOSTINCR,yypvt[-1]); } break;
+#line 167 "a2p.y"
+{ yyval = oper2(OMOD,yyvsp[-2],yyvsp[0]); }
+break;
case 47:
-# line 177 "a2p.y"
-{ yyval = oper1(OPOSTDECR,yypvt[-1]); } break;
+#line 169 "a2p.y"
+{ yyval = oper2(OPOW,yyvsp[-2],yyvsp[0]); }
+break;
case 48:
-# line 179 "a2p.y"
-{ yyval = oper1(OPREINCR,yypvt[-0]); } break;
+#line 171 "a2p.y"
+{ yyval = oper2(ODEFINED,aryrefarg(yyvsp[0]),yyvsp[-2]); }
+break;
case 49:
-# line 181 "a2p.y"
-{ yyval = oper1(OPREDECR,yypvt[-0]); } break;
+#line 173 "a2p.y"
+{
+ yyval = oper1(OPOSTINCR,yyvsp[-1]);
+ if ((ops[yyvsp[-1]].ival & 255) == OFLD)
+ lval_field = TRUE;
+ else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
+ lval_field = TRUE;
+ }
+break;
case 50:
-# line 183 "a2p.y"
-{ yyval = oper1(OUMINUS,yypvt[-0]); } break;
+#line 181 "a2p.y"
+{
+ yyval = oper1(OPOSTDECR,yyvsp[-1]);
+ if ((ops[yyvsp[-1]].ival & 255) == OFLD)
+ lval_field = TRUE;
+ else if ((ops[yyvsp[-1]].ival & 255) == OVFLD)
+ lval_field = TRUE;
+ }
+break;
case 51:
-# line 185 "a2p.y"
-{ yyval = oper1(OUPLUS,yypvt[-0]); } break;
+#line 189 "a2p.y"
+{
+ yyval = oper1(OPREINCR,yyvsp[0]);
+ if ((ops[yyvsp[0]].ival & 255) == OFLD)
+ lval_field = TRUE;
+ else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
+ lval_field = TRUE;
+ }
+break;
case 52:
-# line 187 "a2p.y"
-{ yyval = oper1(OPAREN,yypvt[-1]); } break;
+#line 197 "a2p.y"
+{
+ yyval = oper1(OPREDECR,yyvsp[0]);
+ if ((ops[yyvsp[0]].ival & 255) == OFLD)
+ lval_field = TRUE;
+ else if ((ops[yyvsp[0]].ival & 255) == OVFLD)
+ lval_field = TRUE;
+ }
+break;
case 53:
-# line 189 "a2p.y"
-{ yyval = oper0(OGETLINE); } break;
+#line 205 "a2p.y"
+{ yyval = oper1(OUMINUS,yyvsp[0]); }
+break;
case 54:
-# line 191 "a2p.y"
-{ yyval = oper1(OGETLINE,yypvt[-0]); } break;
+#line 207 "a2p.y"
+{ yyval = oper1(OUPLUS,yyvsp[0]); }
+break;
case 55:
-# line 193 "a2p.y"
-{ yyval = oper3(OGETLINE,Nullop,string("<",1),yypvt[-0]);
- if (ops[yypvt[-0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
+#line 209 "a2p.y"
+{ yyval = oper1(OPAREN,yyvsp[-1]); }
+break;
case 56:
-# line 196 "a2p.y"
-{ yyval = oper3(OGETLINE,yypvt[-2],string("<",1),yypvt[-0]);
- if (ops[yypvt[-0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
+#line 211 "a2p.y"
+{ yyval = oper0(OGETLINE); }
+break;
case 57:
-# line 199 "a2p.y"
-{ yyval = oper3(OGETLINE,Nullop,string("|",1),yypvt[-2]);
- if (ops[yypvt[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
+#line 213 "a2p.y"
+{ yyval = oper1(OGETLINE,yyvsp[0]); }
+break;
case 58:
-# line 202 "a2p.y"
-{ yyval = oper3(OGETLINE,yypvt[-0],string("|",1),yypvt[-3]);
- if (ops[yypvt[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
+#line 215 "a2p.y"
+{ yyval = oper3(OGETLINE,Nullop,string("<",1),yyvsp[0]);
+ if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 59:
-# line 205 "a2p.y"
-{ yyval = oper0(yypvt[-0]); need_entire = do_chop = TRUE; } break;
+#line 218 "a2p.y"
+{ yyval = oper3(OGETLINE,yyvsp[-2],string("<",1),yyvsp[0]);
+ if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 60:
-# line 207 "a2p.y"
-{ yyval = oper1(yypvt[-2],Nullop); need_entire = do_chop = TRUE; } break;
+#line 221 "a2p.y"
+{ yyval = oper3(OGETLINE,Nullop,string("|",1),yyvsp[-2]);
+ if (ops[yyvsp[-2]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 61:
-# line 209 "a2p.y"
-{ yyval = oper1(yypvt[-3],yypvt[-1]); } break;
+#line 224 "a2p.y"
+{ yyval = oper3(OGETLINE,yyvsp[0],string("|",1),yyvsp[-3]);
+ if (ops[yyvsp[-3]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 62:
-# line 211 "a2p.y"
-{ yyval = oper1(yypvt[-3],yypvt[-1]); } break;
+#line 227 "a2p.y"
+{ yyval = oper0(yyvsp[0]); need_entire = do_chop = TRUE; }
+break;
case 63:
-# line 213 "a2p.y"
-{ yyval = oper2(OUSERFUN,yypvt[-3],yypvt[-1]); } break;
+#line 229 "a2p.y"
+{ yyval = oper1(yyvsp[-2],Nullop); need_entire = do_chop = TRUE; }
+break;
case 64:
-# line 215 "a2p.y"
-{ yyval = oper1(OSPRINTF,yypvt[-0]); } break;
+#line 231 "a2p.y"
+{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
+break;
case 65:
-# line 217 "a2p.y"
-{ yyval = oper3(OSUBSTR,yypvt[-5],yypvt[-3],yypvt[-1]); } break;
+#line 233 "a2p.y"
+{ yyval = oper1(yyvsp[-3],yyvsp[-1]); }
+break;
case 66:
-# line 219 "a2p.y"
-{ yyval = oper2(OSUBSTR,yypvt[-3],yypvt[-1]); } break;
+#line 235 "a2p.y"
+{ yyval = oper2(OUSERFUN,yyvsp[-3],yyvsp[-1]); }
+break;
case 67:
-# line 221 "a2p.y"
-{ yyval = oper3(OSPLIT,yypvt[-5],aryrefarg(numary(yypvt[-3])),yypvt[-1]); } break;
+#line 237 "a2p.y"
+{ yyval = oper1(OSPRINTF,yyvsp[-1]); }
+break;
case 68:
-# line 223 "a2p.y"
-{ yyval = oper3(OSPLIT,yypvt[-5],aryrefarg(numary(yypvt[-3])),oper1(OREGEX,yypvt[-1]));} break;
+#line 239 "a2p.y"
+{ yyval = oper1(OSPRINTF,yyvsp[0]); }
+break;
case 69:
-# line 225 "a2p.y"
-{ yyval = oper2(OSPLIT,yypvt[-3],aryrefarg(numary(yypvt[-1]))); } break;
+#line 241 "a2p.y"
+{ yyval = oper3(OSUBSTR,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
+break;
case 70:
-# line 227 "a2p.y"
-{ yyval = oper2(OINDEX,yypvt[-3],yypvt[-1]); } break;
+#line 243 "a2p.y"
+{ yyval = oper2(OSUBSTR,yyvsp[-3],yyvsp[-1]); }
+break;
case 71:
-# line 229 "a2p.y"
-{ yyval = oper2(OMATCH,yypvt[-3],oper1(OREGEX,yypvt[-1])); } break;
+#line 245 "a2p.y"
+{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),yyvsp[-1]); }
+break;
case 72:
-# line 231 "a2p.y"
-{ yyval = oper2(OMATCH,yypvt[-3],yypvt[-1]); } break;
+#line 247 "a2p.y"
+{ yyval = oper3(OSPLIT,yyvsp[-5],aryrefarg(numary(yyvsp[-3])),oper1(OREGEX,yyvsp[-1]));}
+break;
case 73:
-# line 233 "a2p.y"
-{ yyval = oper2(OSUB,yypvt[-3],yypvt[-1]); } break;
+#line 249 "a2p.y"
+{ yyval = oper2(OSPLIT,yyvsp[-3],aryrefarg(numary(yyvsp[-1]))); }
+break;
case 74:
-# line 235 "a2p.y"
-{ yyval = oper2(OSUB,oper1(OREGEX,yypvt[-3]),yypvt[-1]); } break;
+#line 251 "a2p.y"
+{ yyval = oper2(OINDEX,yyvsp[-3],yyvsp[-1]); }
+break;
case 75:
-# line 237 "a2p.y"
-{ yyval = oper2(OGSUB,yypvt[-3],yypvt[-1]); } break;
+#line 253 "a2p.y"
+{ yyval = oper2(OMATCH,yyvsp[-3],oper1(OREGEX,yyvsp[-1])); }
+break;
case 76:
-# line 239 "a2p.y"
-{ yyval = oper2(OGSUB,oper1(OREGEX,yypvt[-3]),yypvt[-1]); } break;
+#line 255 "a2p.y"
+{ yyval = oper2(OMATCH,yyvsp[-3],yyvsp[-1]); }
+break;
case 77:
-# line 241 "a2p.y"
-{ yyval = oper3(OSUB,yypvt[-5],yypvt[-3],yypvt[-1]); } break;
+#line 257 "a2p.y"
+{ yyval = oper2(OSUB,yyvsp[-3],yyvsp[-1]); }
+break;
case 78:
-# line 243 "a2p.y"
-{ yyval = oper3(OSUB,oper1(OREGEX,yypvt[-5]),yypvt[-3],yypvt[-1]); } break;
+#line 259 "a2p.y"
+{ yyval = oper2(OSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
+break;
case 79:
-# line 245 "a2p.y"
-{ yyval = oper3(OGSUB,yypvt[-5],yypvt[-3],yypvt[-1]); } break;
+#line 261 "a2p.y"
+{ yyval = oper2(OGSUB,yyvsp[-3],yyvsp[-1]); }
+break;
case 80:
-# line 247 "a2p.y"
-{ yyval = oper3(OGSUB,oper1(OREGEX,yypvt[-5]),yypvt[-3],yypvt[-1]); } break;
+#line 263 "a2p.y"
+{ yyval = oper2(OGSUB,oper1(OREGEX,yyvsp[-3]),yyvsp[-1]); }
+break;
case 81:
-# line 251 "a2p.y"
-{ yyval = oper1(OVAR,yypvt[-0]); } break;
+#line 265 "a2p.y"
+{ yyval = oper3(OSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
+break;
case 82:
-# line 253 "a2p.y"
-{ yyval = oper2(OVAR,aryrefarg(yypvt[-3]),yypvt[-1]); } break;
+#line 267 "a2p.y"
+{ yyval = oper3(OSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
+break;
case 83:
-# line 255 "a2p.y"
-{ yyval = oper1(OFLD,yypvt[-0]); } break;
+#line 269 "a2p.y"
+{ yyval = oper3(OGSUB,yyvsp[-5],yyvsp[-3],yyvsp[-1]); }
+break;
case 84:
-# line 257 "a2p.y"
-{ yyval = oper1(OVFLD,yypvt[-0]); } break;
+#line 271 "a2p.y"
+{ yyval = oper3(OGSUB,oper1(OREGEX,yyvsp[-5]),yyvsp[-3],yyvsp[-1]); }
+break;
+case 85:
+#line 275 "a2p.y"
+{ yyval = oper1(OVAR,yyvsp[0]); }
+break;
+case 86:
+#line 277 "a2p.y"
+{ yyval = oper2(OVAR,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
+break;
case 87:
-# line 264 "a2p.y"
-{ yyval = Nullop; } break;
+#line 279 "a2p.y"
+{ yyval = oper1(OFLD,yyvsp[0]); }
+break;
case 88:
-# line 268 "a2p.y"
-{ yyval = oper3(OCOMMA,yypvt[-3],yypvt[-1],yypvt[-0]); } break;
+#line 281 "a2p.y"
+{ yyval = oper1(OVFLD,oper1(OVAR,yyvsp[0])); }
+break;
case 89:
-# line 270 "a2p.y"
-{ yyval = oper3(OCOMMA,yypvt[-3],yypvt[-1],yypvt[-0]); } break;
-case 90:
-# line 272 "a2p.y"
-{ yyval = yypvt[-1]; } break;
-case 91:
-# line 276 "a2p.y"
-{ yyval = oper2(OJUNK,yypvt[-1],yypvt[-0]); } break;
+#line 283 "a2p.y"
+{ yyval = oper1(OVFLD,yyvsp[0]); }
+break;
case 92:
-# line 278 "a2p.y"
-{ yyval = Nullop; } break;
+#line 290 "a2p.y"
+{ yyval = Nullop; }
+break;
case 93:
-# line 282 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } break;
+#line 294 "a2p.y"
+{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
+break;
case 94:
-# line 284 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); } break;
+#line 296 "a2p.y"
+{ yyval = oper3(OCOMMA,yyvsp[-3],yyvsp[-1],yyvsp[0]); }
+break;
case 95:
-# line 286 "a2p.y"
-{ yyval = oper0(ONEWLINE); } break;
+#line 298 "a2p.y"
+{ yyval = yyvsp[-1]; }
+break;
case 96:
-# line 288 "a2p.y"
-{ yyval = oper1(OCOMMENT,yypvt[-0]); } break;
+#line 302 "a2p.y"
+{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
+break;
case 97:
-# line 292 "a2p.y"
-{ yyval = oper2(OJUNK,yypvt[-1],yypvt[-0]); } break;
+#line 304 "a2p.y"
+{ yyval = Nullop; }
+break;
case 98:
-# line 294 "a2p.y"
-{ yyval = Nullop; } break;
+#line 308 "a2p.y"
+{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
+break;
case 99:
-# line 298 "a2p.y"
-{ yyval = oper0(ONEWLINE); } break;
+#line 310 "a2p.y"
+{ yyval = oper2(OJUNK,oper0(OSEMICOLON),oper0(ONEWLINE)); }
+break;
case 100:
-# line 300 "a2p.y"
-{ yyval = oper1(OCOMMENT,yypvt[-0]); } break;
+#line 312 "a2p.y"
+{ yyval = oper0(ONEWLINE); }
+break;
case 101:
-# line 305 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yypvt[-0]); } break;
+#line 314 "a2p.y"
+{ yyval = oper1(OCOMMENT,yyvsp[0]); }
+break;
case 102:
-# line 307 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yypvt[-0]); } break;
+#line 318 "a2p.y"
+{ yyval = oper2(OJUNK,yyvsp[-1],yyvsp[0]); }
+break;
case 103:
-# line 309 "a2p.y"
-{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yypvt[-0]); } break;
+#line 320 "a2p.y"
+{ yyval = Nullop; }
+break;
case 104:
-# line 311 "a2p.y"
-{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yypvt[-1]),yypvt[-0]); } break;
+#line 324 "a2p.y"
+{ yyval = oper0(ONEWLINE); }
+break;
case 105:
-# line 315 "a2p.y"
-{ yyval = oper2(OSTATES,yypvt[-1],yypvt[-0]); } break;
+#line 326 "a2p.y"
+{ yyval = oper1(OCOMMENT,yyvsp[0]); }
+break;
case 106:
-# line 317 "a2p.y"
-{ yyval = Nullop; } break;
+#line 331 "a2p.y"
+{ yyval = oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0]); }
+break;
case 107:
-# line 322 "a2p.y"
-{ yyval = oper2(OJUNK,oper2(OSTATE,yypvt[-2],yypvt[-1]),yypvt[-0]); } break;
+#line 333 "a2p.y"
+{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
+break;
case 108:
-# line 324 "a2p.y"
-{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yypvt[-0])); } break;
+#line 335 "a2p.y"
+{ yyval = oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0]); }
+break;
case 109:
-# line 326 "a2p.y"
-{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yypvt[-0])); } break;
+#line 337 "a2p.y"
+{ yyval = oper2(OJUNK,oper1(OSCOMMENT,yyvsp[-1]),yyvsp[0]); }
+break;
+case 110:
+#line 341 "a2p.y"
+{ yyval = oper2(OSTATES,yyvsp[-1],yyvsp[0]); }
+break;
+case 111:
+#line 343 "a2p.y"
+{ yyval = Nullop; }
+break;
case 112:
-# line 332 "a2p.y"
-{ yyval = Nullop; } break;
+#line 348 "a2p.y"
+{ yyval = oper2(OJUNK,oper2(OSTATE,yyvsp[-2],yyvsp[-1]),yyvsp[0]); }
+break;
+case 113:
+#line 350 "a2p.y"
+{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSEMICOLON),yyvsp[0])); }
+break;
case 114:
-# line 338 "a2p.y"
-{ yyval = oper3(OPRINT,yypvt[-2],yypvt[-1],yypvt[-0]);
- do_opens = TRUE;
- saw_ORS = saw_OFS = TRUE;
- if (!yypvt[-2]) need_entire = TRUE;
- if (ops[yypvt[-0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
-case 115:
-# line 344 "a2p.y"
-{ yyval = oper1(OPRINT,yypvt[-0]);
- if (!yypvt[-0]) need_entire = TRUE;
- saw_ORS = saw_OFS = TRUE;
- } break;
-case 116:
-# line 349 "a2p.y"
-{ yyval = oper3(OPRINTF,yypvt[-2],yypvt[-1],yypvt[-0]);
- do_opens = TRUE;
- if (!yypvt[-2]) need_entire = TRUE;
- if (ops[yypvt[-0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; } break;
+#line 352 "a2p.y"
+{ yyval = oper2(OSTATE,Nullop,oper2(OJUNK,oper0(OSNEWLINE),yyvsp[0])); }
+break;
case 117:
-# line 354 "a2p.y"
-{ yyval = oper1(OPRINTF,yypvt[-0]);
- if (!yypvt[-0]) need_entire = TRUE;
- } break;
-case 118:
-# line 358 "a2p.y"
-{ yyval = oper0(OBREAK); } break;
+#line 358 "a2p.y"
+{ yyval = Nullop; }
+break;
case 119:
-# line 360 "a2p.y"
-{ yyval = oper0(ONEXT); } break;
+#line 364 "a2p.y"
+{ yyval = oper3(OPRINT,yyvsp[-2],yyvsp[-1],yyvsp[0]);
+ do_opens = TRUE;
+ saw_ORS = saw_OFS = TRUE;
+ if (!yyvsp[-2]) need_entire = TRUE;
+ if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 120:
-# line 362 "a2p.y"
-{ yyval = oper0(OEXIT); } break;
+#line 370 "a2p.y"
+{ yyval = oper1(OPRINT,yyvsp[0]);
+ if (!yyvsp[0]) need_entire = TRUE;
+ saw_ORS = saw_OFS = TRUE;
+ }
+break;
case 121:
-# line 364 "a2p.y"
-{ yyval = oper1(OEXIT,yypvt[-0]); } break;
+#line 375 "a2p.y"
+{ yyval = oper3(OPRINTF,yyvsp[-2],yyvsp[-1],yyvsp[0]);
+ do_opens = TRUE;
+ if (!yyvsp[-2]) need_entire = TRUE;
+ if (ops[yyvsp[0]].ival != OSTR + (1<<8)) do_fancy_opens = TRUE; }
+break;
case 122:
-# line 366 "a2p.y"
-{ yyval = oper0(OCONTINUE); } break;
+#line 380 "a2p.y"
+{ yyval = oper1(OPRINTF,yyvsp[0]);
+ if (!yyvsp[0]) need_entire = TRUE;
+ }
+break;
case 123:
-# line 368 "a2p.y"
-{ yyval = oper0(ORETURN); } break;
+#line 384 "a2p.y"
+{ yyval = oper0(OBREAK); }
+break;
case 124:
-# line 370 "a2p.y"
-{ yyval = oper1(ORETURN,yypvt[-0]); } break;
+#line 386 "a2p.y"
+{ yyval = oper0(ONEXT); }
+break;
case 125:
-# line 372 "a2p.y"
-{ yyval = oper2(ODELETE,aryrefarg(yypvt[-3]),yypvt[-1]); } break;
+#line 388 "a2p.y"
+{ yyval = oper0(OEXIT); }
+break;
case 126:
-# line 376 "a2p.y"
-{ yyval = oper1(OREDIR,string(">",1)); } break;
+#line 390 "a2p.y"
+{ yyval = oper1(OEXIT,yyvsp[0]); }
+break;
case 127:
-# line 378 "a2p.y"
-{ yyval = oper1(OREDIR,string(">>",2)); } break;
+#line 392 "a2p.y"
+{ yyval = oper0(OCONTINUE); }
+break;
case 128:
-# line 380 "a2p.y"
-{ yyval = oper1(OREDIR,string("|",1)); } break;
+#line 394 "a2p.y"
+{ yyval = oper0(ORETURN); }
+break;
case 129:
-# line 385 "a2p.y"
-{ yyval = oper2(OIF,yypvt[-3],bl(yypvt[-0],yypvt[-1])); } break;
+#line 396 "a2p.y"
+{ yyval = oper1(ORETURN,yyvsp[0]); }
+break;
case 130:
-# line 387 "a2p.y"
-{ yyval = oper3(OIF,yypvt[-6],bl(yypvt[-3],yypvt[-4]),bl(yypvt[-0],yypvt[-1])); } break;
+#line 398 "a2p.y"
+{ yyval = oper2(ODELETE,aryrefarg(yyvsp[-3]),yyvsp[-1]); }
+break;
case 131:
-# line 389 "a2p.y"
-{ yyval = oper2(OWHILE,yypvt[-3],bl(yypvt[-0],yypvt[-1])); } break;
+#line 402 "a2p.y"
+{ yyval = oper1(OREDIR,string(">",1)); }
+break;
case 132:
-# line 391 "a2p.y"
-{ yyval = oper2(ODO,bl(yypvt[-4],yypvt[-5]),yypvt[-1]); } break;
+#line 404 "a2p.y"
+{ yyval = oper1(OREDIR,string(">>",2)); }
+break;
case 133:
-# line 393 "a2p.y"
-{ yyval = oper4(OFOR,yypvt[-7],yypvt[-5],yypvt[-3],bl(yypvt[-0],yypvt[-1])); } break;
+#line 406 "a2p.y"
+{ yyval = oper1(OREDIR,string("|",1)); }
+break;
case 134:
-# line 395 "a2p.y"
-{ yyval = oper4(OFOR,yypvt[-6],string("",0),yypvt[-3],bl(yypvt[-0],yypvt[-1])); } break;
+#line 411 "a2p.y"
+{ yyval = oper2(OIF,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
+break;
case 135:
-# line 397 "a2p.y"
-{ yyval = oper2(OFORIN,yypvt[-3],bl(yypvt[-0],yypvt[-1])); } break;
+#line 413 "a2p.y"
+{ yyval = oper3(OIF,yyvsp[-6],bl(yyvsp[-3],yyvsp[-4]),bl(yyvsp[0],yyvsp[-1])); }
+break;
case 136:
-# line 399 "a2p.y"
-{ yyval = oper3(OBLOCK,oper2(OJUNK,yypvt[-3],yypvt[-2]),Nullop,yypvt[-0]); } break;
- }
- goto yystack; /* reset registers in driver code */
+#line 415 "a2p.y"
+{ yyval = oper2(OWHILE,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
+break;
+case 137:
+#line 417 "a2p.y"
+{ yyval = oper2(ODO,bl(yyvsp[-4],yyvsp[-5]),yyvsp[-1]); }
+break;
+case 138:
+#line 419 "a2p.y"
+{ yyval = oper4(OFOR,yyvsp[-7],yyvsp[-5],yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
+break;
+case 139:
+#line 421 "a2p.y"
+{ yyval = oper4(OFOR,yyvsp[-6],string("",0),yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
+break;
+case 140:
+#line 423 "a2p.y"
+{ yyval = oper2(OFORIN,yyvsp[-3],bl(yyvsp[0],yyvsp[-1])); }
+break;
+case 141:
+#line 425 "a2p.y"
+{ yyval = oper3(OBLOCK,oper2(OJUNK,yyvsp[-3],yyvsp[-2]),Nullop,yyvsp[0]); }
+break;
+#line 2878 "y.tab.c"
+ }
+ yyssp -= yym;
+ yystate = *yyssp;
+ yyvsp -= yym;
+ yym = yylhs[yyn];
+ if (yystate == 0 && yym == 0)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state 0 to\
+ state %d\n", YYPREFIX, YYFINAL);
+#endif
+ yystate = YYFINAL;
+ *++yyssp = YYFINAL;
+ *++yyvsp = yyval;
+ if (yychar < 0)
+ {
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, YYFINAL, yychar, yys);
+ }
+#endif
+ }
+ if (yychar == 0) goto yyaccept;
+ goto yyloop;
+ }
+ if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ yystate = yytable[yyn];
+ else
+ yystate = yydgoto[yym];
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state %d \
+to state %d\n", YYPREFIX, *yyssp, yystate);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+yyoverflow:
+ yyerror("yacc stack overflow");
+yyabort:
+ return (1);
+yyaccept:
+ return (0);
}