| version 1.1, 2000/12/06 01:27:16 | version 1.8, 2005/10/03 00:57:35 | 
|  |  | 
| #ifndef lint | /* A Bison parser, made by GNU Bison 1.875b.  */ | 
| static char const |  | 
| yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $"; | /* Skeleton parser for Yacc-like parsing with Bison, | 
|  | Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 
|  |  | 
|  | This program is free software; you can redistribute it and/or modify | 
|  | it under the terms of the GNU General Public License as published by | 
|  | the Free Software Foundation; either version 2, or (at your option) | 
|  | any later version. | 
|  |  | 
|  | This program is distributed in the hope that it will be useful, | 
|  | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | GNU General Public License for more details. | 
|  |  | 
|  | You should have received a copy of the GNU General Public License | 
|  | along with this program; if not, write to the Free Software | 
|  | Foundation, Inc., 59 Temple Place - Suite 330, | 
|  | Boston, MA 02111-1307, USA.  */ | 
|  |  | 
|  | /* As a special exception, when this file is copied by Bison into a | 
|  | Bison output file, you may use that output file without restriction. | 
|  | This special exception was added by the Free Software Foundation | 
|  | in version 1.24 of Bison.  */ | 
|  |  | 
|  | /* Written by Richard Stallman by simplifying the original so called | 
|  | ``semantic'' parser.  */ | 
|  |  | 
|  | /* All symbols defined below should begin with yy or YY, to avoid | 
|  | infringing on user name space.  This should be done even for local | 
|  | variables, as they might otherwise be expanded by user macros. | 
|  | There are some unavoidable exceptions within include files to | 
|  | define necessary library symbols; they are noted "INFRINGES ON | 
|  | USER NAME SPACE" below.  */ | 
|  |  | 
|  | /* Identify Bison output.  */ | 
|  | #define YYBISON 1 | 
|  |  | 
|  | /* Skeleton name.  */ | 
|  | #define YYSKELETON_NAME "yacc.c" | 
|  |  | 
|  | /* Pure parsers.  */ | 
|  | #define YYPURE 0 | 
|  |  | 
|  | /* Using locations.  */ | 
|  | #define YYLSP_NEEDED 0 | 
|  |  | 
|  |  | 
|  |  | 
|  | /* Tokens.  */ | 
|  | #ifndef YYTOKENTYPE | 
|  | # define YYTOKENTYPE | 
|  | /* Put the tokens into the symbol table, so that GDB and other debuggers | 
|  | know about them.  */ | 
|  | enum yytokentype { | 
|  | STRUCT = 258, | 
|  | POINT = 259, | 
|  | NEWSTRUCT = 260, | 
|  | ANS = 261, | 
|  | FDEF = 262, | 
|  | PFDEF = 263, | 
|  | MODDEF = 264, | 
|  | MODEND = 265, | 
|  | GLOBAL = 266, | 
|  | MGLOBAL = 267, | 
|  | LOCAL = 268, | 
|  | LOCALF = 269, | 
|  | CMP = 270, | 
|  | OR = 271, | 
|  | AND = 272, | 
|  | CAR = 273, | 
|  | CDR = 274, | 
|  | QUOTED = 275, | 
|  | COLONCOLON = 276, | 
|  | DO = 277, | 
|  | WHILE = 278, | 
|  | FOR = 279, | 
|  | IF = 280, | 
|  | ELSE = 281, | 
|  | BREAK = 282, | 
|  | RETURN = 283, | 
|  | CONTINUE = 284, | 
|  | PARIF = 285, | 
|  | MAP = 286, | 
|  | RECMAP = 287, | 
|  | TIMER = 288, | 
|  | GF2NGEN = 289, | 
|  | GFPNGEN = 290, | 
|  | GFSNGEN = 291, | 
|  | GETOPT = 292, | 
|  | FOP_AND = 293, | 
|  | FOP_OR = 294, | 
|  | FOP_IMPL = 295, | 
|  | FOP_REPL = 296, | 
|  | FOP_EQUIV = 297, | 
|  | FOP_NOT = 298, | 
|  | LOP = 299, | 
|  | FORMULA = 300, | 
|  | UCASE = 301, | 
|  | LCASE = 302, | 
|  | STR = 303, | 
|  | SELF = 304, | 
|  | BOPASS = 305, | 
|  | PLUS = 306, | 
|  | MINUS = 307 | 
|  | }; | 
| #endif | #endif | 
| #include <stdlib.h> | #define STRUCT 258 | 
| #define YYBYACC 1 | #define POINT 259 | 
| #define YYMAJOR 1 | #define NEWSTRUCT 260 | 
| #define YYMINOR 9 | #define ANS 261 | 
| #define YYLEX yylex() | #define FDEF 262 | 
| #define YYEMPTY -1 | #define PFDEF 263 | 
| #define yyclearin (yychar=(YYEMPTY)) | #define MODDEF 264 | 
| #define yyerrok (yyerrflag=0) | #define MODEND 265 | 
| #define YYRECOVERING() (yyerrflag!=0) | #define GLOBAL 266 | 
| static int yygrowstack(); | #define MGLOBAL 267 | 
| #define YYPREFIX "yy" | #define LOCAL 268 | 
| #line 51 "parse.y" | #define LOCALF 269 | 
|  | #define CMP 270 | 
|  | #define OR 271 | 
|  | #define AND 272 | 
|  | #define CAR 273 | 
|  | #define CDR 274 | 
|  | #define QUOTED 275 | 
|  | #define COLONCOLON 276 | 
|  | #define DO 277 | 
|  | #define WHILE 278 | 
|  | #define FOR 279 | 
|  | #define IF 280 | 
|  | #define ELSE 281 | 
|  | #define BREAK 282 | 
|  | #define RETURN 283 | 
|  | #define CONTINUE 284 | 
|  | #define PARIF 285 | 
|  | #define MAP 286 | 
|  | #define RECMAP 287 | 
|  | #define TIMER 288 | 
|  | #define GF2NGEN 289 | 
|  | #define GFPNGEN 290 | 
|  | #define GFSNGEN 291 | 
|  | #define GETOPT 292 | 
|  | #define FOP_AND 293 | 
|  | #define FOP_OR 294 | 
|  | #define FOP_IMPL 295 | 
|  | #define FOP_REPL 296 | 
|  | #define FOP_EQUIV 297 | 
|  | #define FOP_NOT 298 | 
|  | #define LOP 299 | 
|  | #define FORMULA 300 | 
|  | #define UCASE 301 | 
|  | #define LCASE 302 | 
|  | #define STR 303 | 
|  | #define SELF 304 | 
|  | #define BOPASS 305 | 
|  | #define PLUS 306 | 
|  | #define MINUS 307 | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | /* Copy the first part of user declarations.  */ | 
|  | #line 50 "parse.y" | 
|  |  | 
| #define malloc(x) GC_malloc(x) | #define malloc(x) GC_malloc(x) | 
| #define realloc(x,y) GC_realloc(x,y) | #define realloc(x,y) GC_realloc(x,y) | 
| #define free(x) GC_free(x) | #define free(x) GC_free(x) | 
| 
| Line 29  static int yygrowstack(); |  | 
| Line 177  static int yygrowstack(); |  | 
|  |  | 
| #define NOPR (prresult=0) | #define NOPR (prresult=0) | 
|  |  | 
| extern int gdef; | extern int gdef,mgdef,ldef; | 
| extern SNODE parse_snode; | extern SNODE parse_snode; | 
| extern int main_parser; | extern int main_parser, allow_create_var; | 
|  |  | 
| int prresult; | int prresult,saveresult; | 
|  |  | 
| static int ind; | static int ind; | 
| static FNODE t; | static FNODE t; | 
| static NODE a,b; | static NODE a,b; | 
| static NODE2 a2; | static NODE2 a2; | 
| static pointer val; | static pointer val; | 
|  | static QUOTE quote; | 
| extern jmp_buf env; | extern jmp_buf env; | 
| #line 82 "parse.y" |  | 
| typedef union { |  | 
|  | /* Enabling traces.  */ | 
|  | #ifndef YYDEBUG | 
|  | # define YYDEBUG 0 | 
|  | #endif | 
|  |  | 
|  | /* Enabling verbose error messages.  */ | 
|  | #ifdef YYERROR_VERBOSE | 
|  | # undef YYERROR_VERBOSE | 
|  | # define YYERROR_VERBOSE 1 | 
|  | #else | 
|  | # define YYERROR_VERBOSE 0 | 
|  | #endif | 
|  |  | 
|  | #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) | 
|  | #line 83 "parse.y" | 
|  | typedef union YYSTYPE { | 
| FNODE f; | FNODE f; | 
| SNODE s; | SNODE s; | 
| NODE n; | NODE n; | 
|  |  | 
| int i; | int i; | 
| pointer p; | pointer p; | 
| } YYSTYPE; | } YYSTYPE; | 
| #line 54 "y.tab.c" | /* Line 191 of yacc.c.  */ | 
| #define YYERRCODE 256 | #line 220 "y.tab.c" | 
| #define STRUCT 257 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | 
| #define POINT 258 | # define YYSTYPE_IS_DECLARED 1 | 
| #define NEWSTRUCT 259 | # define YYSTYPE_IS_TRIVIAL 1 | 
| #define ANS 260 | #endif | 
| #define FDEF 261 |  | 
| #define PFDEF 262 |  | 
| #define GLOBAL 263 |  | 
| #define CMP 264 | /* Copy the second part of user declarations.  */ | 
| #define OR 265 |  | 
| #define AND 266 |  | 
| #define CAR 267 | /* Line 214 of yacc.c.  */ | 
| #define CDR 268 | #line 232 "y.tab.c" | 
| #define DO 269 |  | 
| #define WHILE 270 | #if ! defined (yyoverflow) || YYERROR_VERBOSE | 
| #define FOR 271 |  | 
| #define IF 272 | /* The parser invokes alloca or malloc; define the necessary symbols.  */ | 
| #define ELSE 273 |  | 
| #define BREAK 274 | # if YYSTACK_USE_ALLOCA | 
| #define RETURN 275 | #  define YYSTACK_ALLOC alloca | 
| #define CONTINUE 276 | # else | 
| #define PARIF 277 | #  ifndef YYSTACK_USE_ALLOCA | 
| #define MAP 278 | #   if defined (alloca) || defined (_ALLOCA_H) | 
| #define TIMER 279 | #    define YYSTACK_ALLOC alloca | 
| #define GF2NGEN 280 | #   else | 
| #define GFPNGEN 281 | #    ifdef __GNUC__ | 
| #define GETOPT 282 | #     define YYSTACK_ALLOC __builtin_alloca | 
| #define FOP_AND 283 | #    endif | 
| #define FOP_OR 284 | #   endif | 
| #define FOP_IMPL 285 | #  endif | 
| #define FOP_REPL 286 | # endif | 
| #define FOP_EQUIV 287 |  | 
| #define FOP_NOT 288 | # ifdef YYSTACK_ALLOC | 
| #define LOP 289 | /* Pacify GCC's `empty if-body' warning. */ | 
| #define FORMULA 290 | #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) | 
| #define UCASE 291 | # else | 
| #define LCASE 292 | #  if defined (__STDC__) || defined (__cplusplus) | 
| #define STR 293 | #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | 
| #define SELF 294 | #   define YYSIZE_T size_t | 
| #define BOPASS 295 | #  endif | 
| #define PLUS 296 | #  define YYSTACK_ALLOC malloc | 
| #define MINUS 297 | #  define YYSTACK_FREE free | 
| const short yylhs[] = {                                        -1, | # endif | 
| 0,    6,   15,   16,    6,    6,    6,    6,    6,    6, | #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ | 
| 6,    6,    6,    6,    6,    6,    6,    6,    6,   17, |  | 
| 6,    6,   14,   14,    1,    1,    7,   12,   12,   11, |  | 
| 11,    8,    8,    9,    9,   10,   10,   13,   13,    2, | #if (! defined (yyoverflow) \ | 
| 2,    5,    4,    4,    4,    4,    4,    4,    4,    4, | && (! defined (__cplusplus) \ | 
| 4,    4,    4,    4,    4,    4,    4,    4,    4,    4, | || (YYSTYPE_IS_TRIVIAL))) | 
| 4,    4,    3,    3,    3,    3,    3,    3,    3,    3, |  | 
| 3,    3,    3,    3,    3,    3,    3,    3,    3,    3, | /* A type that is properly aligned for any stack member.  */ | 
| 3,    3,    3,    3,    3,    3,    3,    3,    3,    3, | union yyalloc | 
| 3, | { | 
|  | short yyss; | 
|  | YYSTYPE yyvs; | 
|  | }; | 
|  |  | 
|  | /* The size of the maximum gap between one aligned stack and the next.  */ | 
|  | # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) | 
|  |  | 
|  | /* The size of an array large to enough to hold all stacks, each with | 
|  | N elements.  */ | 
|  | # define YYSTACK_BYTES(N) \ | 
|  | ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \ | 
|  | + YYSTACK_GAP_MAXIMUM) | 
|  |  | 
|  | /* Copy COUNT objects from FROM to TO.  The source and destination do | 
|  | not overlap.  */ | 
|  | # ifndef YYCOPY | 
|  | #  if 1 < __GNUC__ | 
|  | #   define YYCOPY(To, From, Count) \ | 
|  | __builtin_memcpy (To, From, (Count) * sizeof (*(From))) | 
|  | #  else | 
|  | #   define YYCOPY(To, From, Count)              \ | 
|  | do                                        \ | 
|  | {                                       \ | 
|  | register YYSIZE_T yyi;                \ | 
|  | for (yyi = 0; yyi < (Count); yyi++)   \ | 
|  | (To)[yyi] = (From)[yyi];            \ | 
|  | }                                       \ | 
|  | while (0) | 
|  | #  endif | 
|  | # endif | 
|  |  | 
|  | /* Relocate STACK from its old location to the new one.  The | 
|  | local variables YYSIZE and YYSTACKSIZE give the old and new number of | 
|  | elements in the stack, and YYPTR gives the new location of the | 
|  | stack.  Advance YYPTR to a properly aligned location for the next | 
|  | stack.  */ | 
|  | # define YYSTACK_RELOCATE(Stack)                                        \ | 
|  | do                                                                  \ | 
|  | {                                                                 \ | 
|  | YYSIZE_T yynewbytes;                                            \ | 
|  | YYCOPY (&yyptr->Stack, Stack, yysize);                          \ | 
|  | Stack = &yyptr->Stack;                                          \ | 
|  | yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ | 
|  | yyptr += yynewbytes / sizeof (*yyptr);                          \ | 
|  | }                                                                 \ | 
|  | while (0) | 
|  |  | 
|  | #endif | 
|  |  | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | typedef signed char yysigned_char; | 
|  | #else | 
|  | typedef short yysigned_char; | 
|  | #endif | 
|  |  | 
|  | /* YYFINAL -- State number of the termination state. */ | 
|  | #define YYFINAL  101 | 
|  | /* YYLAST -- Last index in YYTABLE.  */ | 
|  | #define YYLAST   1290 | 
|  |  | 
|  | /* YYNTOKENS -- Number of terminals. */ | 
|  | #define YYNTOKENS  77 | 
|  | /* YYNNTS -- Number of nonterminals. */ | 
|  | #define YYNNTS  26 | 
|  | /* YYNRULES -- Number of rules. */ | 
|  | #define YYNRULES  113 | 
|  | /* YYNRULES -- Number of states. */ | 
|  | #define YYNSTATES  280 | 
|  |  | 
|  | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ | 
|  | #define YYUNDEFTOK  2 | 
|  | #define YYMAXUTOK   307 | 
|  |  | 
|  | #define YYTRANSLATE(YYX)                                                \ | 
|  | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | 
|  |  | 
|  | /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */ | 
|  | static const unsigned char yytranslate[] = | 
|  | { | 
|  | 0,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,    64,     2,     2,    70,    56,    61,     2, | 
|  | 67,    68,    53,    51,    71,    52,     2,    54,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,    59,    69, | 
|  | 75,    57,    76,    58,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,    73,     2,    74,    55,     2,    60,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,    65,    72,    66,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     2,     2,     2,     2, | 
|  | 2,     2,     2,     2,     2,     2,     1,     2,     3,     4, | 
|  | 5,     6,     7,     8,     9,    10,    11,    12,    13,    14, | 
|  | 15,    16,    17,    18,    19,    20,    21,    22,    23,    24, | 
|  | 25,    26,    27,    28,    29,    30,    31,    32,    33,    34, | 
|  | 35,    36,    37,    38,    39,    40,    41,    42,    43,    44, | 
|  | 45,    46,    47,    48,    49,    50,    62,    63 | 
| }; | }; | 
| const short yylen[] = {                                         2, |  | 
| 1,    1,    0,    0,    5,    6,    2,    1,    2,    2, | #if YYDEBUG | 
| 2,    3,    5,    7,    9,    5,    7,    8,    5,    0, | /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in | 
| 10,    2,    1,    1,    0,    1,    3,    1,    3,    1, | YYRHS.  */ | 
| 3,    0,    2,    0,    1,    1,    3,    1,    3,    1, | static const unsigned short yyprhs[] = | 
| 1,    3,    1,    1,    1,    1,    1,    1,    4,    6, | { | 
| 7,    4,    6,    8,    6,    7,    4,    4,    3,    1, | 0,     0,     3,     5,     7,     8,     9,    15,    16,    17, | 
| 4,    3,    1,    5,    3,    3,    2,    2,    3,    2, | 23,    24,    25,    31,    35,    42,    45,    47,    50,    53, | 
| 2,    3,    3,    3,    3,    3,    3,    3,    2,    3, | 56,    60,    66,    74,    84,    90,    98,   107,   114,   115, | 
| 3,    2,    3,    3,    3,    3,    3,    3,    5,    3, | 116,   117,   130,   134,   137,   140,   142,   144,   145,   147, | 
| 4, | 151,   153,   157,   159,   163,   165,   169,   170,   173,   174, | 
|  | 176,   178,   182,   184,   188,   190,   192,   196,   198,   200, | 
|  | 202,   204,   206,   208,   210,   215,   222,   229,   236,   244, | 
|  | 249,   253,   262,   267,   274,   282,   287,   292,   297,   301, | 
|  | 303,   308,   312,   314,   320,   324,   328,   331,   334,   338, | 
|  | 341,   344,   348,   352,   356,   360,   364,   368,   372,   375, | 
|  | 379,   383,   386,   390,   394,   398,   402,   406,   410,   416, | 
|  | 420,   425,   430,   436 | 
| }; | }; | 
| const short yydefred[] = {                                      0, |  | 
| 0,    0,    0,   45,    0,    0,    3,    0,    0,    0, | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,   46, | static const yysigned_char yyrhs[] = | 
| 47,    0,    0,   44,   60,    0,   43,    0,    0,    0, | { | 
| 0,   32,    0,   23,   24,    0,    0,    0,    0,    0, | 78,     0,    -1,    79,    -1,    89,    -1,    -1,    -1,    11, | 
| 1,    8,    2,   22,   40,   41,    0,    0,   20,    0, | 80,    94,    81,    89,    -1,    -1,    -1,    12,    82,    94, | 
| 0,    0,    0,    0,    0,    0,    0,    9,    0,    0, | 83,    89,    -1,    -1,    -1,    13,    84,    94,    85,    89, | 
| 11,   10,    0,    0,    0,    0,    0,    0,    0,    0, | -1,    14,    93,    89,    -1,     3,    99,    65,    92,    66, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 89,    -1,   102,    89,    -1,    91,    -1,    27,    89,    -1, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 29,    89,    -1,    28,    89,    -1,    28,   102,    89,    -1, | 
| 67,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 25,    67,    96,    68,    79,    -1,    25,    67,    96,    68, | 
| 7,    0,    0,    0,    0,    0,    0,   30,    0,    0, | 79,    26,    79,    -1,    24,    67,    96,    69,    96,    69, | 
| 0,    0,    0,    0,    0,    0,   12,    0,    0,    0, | 96,    68,    79,    -1,    23,    67,    96,    68,    79,    -1, | 
| 0,    0,    0,   27,   33,    0,    0,   59,   69,    0, | 22,    79,    23,    67,    96,    68,    89,    -1,    47,    67, | 
| 90,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 96,    68,    59,    57,   102,    89,    -1,     8,    47,    67, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,   62, | 96,    68,    89,    -1,    -1,    -1,    -1,     7,    47,    86, | 
| 0,   28,    0,   91,    0,    0,    0,    0,   57,   58, | 67,    87,    96,    88,    68,    90,    65,    95,    66,    -1, | 
| 0,    0,    0,    0,    0,    0,    0,    0,   52,    0, | 9,    47,    89,    -1,    10,    89,    -1,     1,    89,    -1, | 
| 0,    0,    0,    0,    0,    0,   61,    0,    0,    0, | 69,    -1,    70,    -1,    -1,    48,    -1,    65,    95,    66, | 
| 19,   31,    5,    0,   16,    0,    0,   49,    0,    0, | -1,    99,    -1,    92,    71,    99,    -1,    47,    -1,    93, | 
| 0,    0,    0,    0,   38,    0,    0,    0,    0,    0, | 71,    47,    -1,    46,    -1,    94,    71,    46,    -1,    -1, | 
| 6,   29,    0,    0,    0,    0,   55,   53,    0,    0, | 95,    79,    -1,    -1,    97,    -1,   102,    -1,    97,    71, | 
| 0,    0,   50,    0,    0,   26,    0,   17,    0,   14, | 102,    -1,   100,    -1,    98,    71,   100,    -1,    46,    -1, | 
| 0,   51,    0,    0,   39,   56,   32,    0,   54,   18, | 47,    -1,    99,    57,   102,    -1,    48,    -1,    45,    -1, | 
| 0,   15,   21, | 6,    -1,    34,    -1,    35,    -1,    36,    -1,    47,    -1, | 
|  | 47,    67,    96,    68,    -1,    47,    67,    96,    72,    98, | 
|  | 68,    -1,    31,    67,    47,    71,    96,    68,    -1,    32, | 
|  | 67,    47,    71,    96,    68,    -1,    47,    65,    96,    66, | 
|  | 67,    96,    68,    -1,    37,    67,    99,    68,    -1,    37, | 
|  | 67,    68,    -1,    33,    67,   102,    71,   102,    71,   102, | 
|  | 68,    -1,    30,    67,    47,    68,    -1,    30,    67,    47, | 
|  | 71,    96,    68,    -1,    67,    53,   102,    68,    67,    96, | 
|  | 68,    -1,    46,    67,    96,    68,    -1,    18,    67,   102, | 
|  | 68,    -1,    19,    67,   102,    68,    -1,    67,   102,    68, | 
|  | -1,    46,    -1,   101,    73,   102,    74,    -1,   101,     4, | 
|  | 99,    -1,   101,    -1,    67,     3,    99,    68,   101,    -1, | 
|  | 102,    57,   102,    -1,   102,    50,   102,    -1,   102,    49, | 
|  | -1,    49,   102,    -1,    73,    96,    74,    -1,    51,   102, | 
|  | -1,    52,   102,    -1,   102,    51,   102,    -1,   102,    52, | 
|  | 102,    -1,   102,    53,   102,    -1,   102,    54,   102,    -1, | 
|  | 102,    56,   102,    -1,   102,    55,   102,    -1,   102,    15, | 
|  | 102,    -1,    64,   102,    -1,   102,    16,   102,    -1,   102, | 
|  | 17,   102,    -1,    43,   102,    -1,   102,    38,   102,    -1, | 
|  | 102,    39,   102,    -1,   102,    40,   102,    -1,   102,    41, | 
|  | 102,    -1,   102,    42,   102,    -1,   102,    44,   102,    -1, | 
|  | 102,    58,   102,    59,   102,    -1,    75,    96,    76,    -1, | 
|  | 5,    67,    99,    68,    -1,    20,    67,   102,    68,    -1, | 
|  | 73,    96,    72,   102,    74,    -1,    60,   102,    -1 | 
| }; | }; | 
| const short yydgoto[] = {                                      38, |  | 
| 217,  194,   78,   40,  195,  125,   42,   74,   79,   80, | /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ | 
| 109,  153,  196,   43,   51,  158,  106, | static const unsigned short yyrline[] = | 
|  | { | 
|  | 0,   130,   130,   139,   141,   141,   141,   143,   143,   143, | 
|  | 145,   145,   145,   147,   149,   151,   153,   155,   157,   159, | 
|  | 161,   163,   165,   167,   169,   171,   173,   175,   177,   177, | 
|  | 177,   177,   183,   189,   191,   194,   196,   200,   201,   204, | 
|  | 207,   209,   212,   214,   217,   219,   223,   224,   228,   229, | 
|  | 232,   234,   237,   239,   242,   244,   247,   250,   252,   254, | 
|  | 256,   258,   260,   262,   283,   290,   297,   303,   309,   314, | 
|  | 318,   322,   326,   333,   340,   344,   358,   360,   362,   364, | 
|  | 377,   387,   390,   392,   394,   396,   398,   400,   402,   404, | 
|  | 406,   408,   410,   412,   414,   416,   418,   420,   422,   424, | 
|  | 426,   428,   430,   432,   434,   436,   438,   440,   442,   444, | 
|  | 446,   448,   450,   452 | 
| }; | }; | 
| const short yysindex[] = {                                    119, | #endif | 
| -20, -240,  -33,    0, -279, -275,    0,    2,    8,  119, |  | 
| 15,   16,   18,  -20,  155,  -20,   22,   24,   25,    0, | #if YYDEBUG || YYERROR_VERBOSE | 
| 0,   29,  458,    0,    0,  -37,    0,  458,  458,  458, | /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | 
| 458,    0,  193,    0,    0,  458,  458,    0, 1376,  -89, | First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | 
| 0,    0,    0,    0,    0,    0, -104, -240,    0,   32, | static const char *const yytname[] = | 
| -217,  458,  458, -195,  458,  458,  458,    0,  -25, 1376, | { | 
| 0,    0, -215, -214,  458, -240, 2001,  458,  458, -213, | "$end", "error", "$undefined", "STRUCT", "POINT", "NEWSTRUCT", "ANS", | 
| 12,   12, -213,   40, -240,  458, 1522, 1943,  -14,   38, | "FDEF", "PFDEF", "MODDEF", "MODEND", "GLOBAL", "MGLOBAL", "LOCAL", | 
| 43,  458,  458,  458,  458,  458,  458,  458,  458,  458, | "LOCALF", "CMP", "OR", "AND", "CAR", "CDR", "QUOTED", "COLONCOLON", | 
| 0,  458,  458,  458,  458,  458,  458,  458,  458,  458, | "DO", "WHILE", "FOR", "IF", "ELSE", "BREAK", "RETURN", "CONTINUE", | 
| 0, -240,  458, -240,   68,   44,  458,    0,   66, 1675, | "PARIF", "MAP", "RECMAP", "TIMER", "GF2NGEN", "GFPNGEN", "GFSNGEN", | 
| 1733,   72,   73,   56,   76,  458,    0,   77,   83, 1776, | "GETOPT", "FOP_AND", "FOP_OR", "FOP_IMPL", "FOP_REPL", "FOP_EQUIV", | 
| 87,    4,  -21,    0,    0,   91, 1789,    0,    0,  458, | "FOP_NOT", "LOP", "FORMULA", "UCASE", "LCASE", "STR", "SELF", "BOPASS", | 
| 0,   -7,  600,  987,  467, 2118, 2056, 1860,  720,  757, | "'+'", "'-'", "'*'", "'/'", "'^'", "'%'", "'='", "'?'", "':'", "'`'", | 
| 1943,   12,   12,  -90,  -90,  -90,  -90, 1943, 1826,    0, | "'&'", "PLUS", "MINUS", "'!'", "'{'", "'}'", "'('", "')'", "';'", "'$'", | 
| 1853,    0,  -34,    0,  458,   94, -155,  -20,    0,    0, | "','", "'|'", "'['", "']'", "'<'", "'>'", "$accept", "start", "stat", | 
| 458,  119,  458,  119,  -17,  458,  458,  458,    0,   97, | "@1", "@2", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "tail", "desc", | 
| 86, -240, 2037,   98, 1943,  458,    0,  -20, -240,  100, | "complex", "members", "vars", "pvars", "stats", "node", "_node", | 
| 0,    0,    0,  104,    0,   88, -127,    0,  107,  108, | "optlist", "rawstr", "opt", "pexpr", "expr", 0 | 
| 1887,  458,   89,   90,    0,  -32,  422,  -89,  458, 1988, |  | 
| 0,    0, -139,  -20,  458,  119,    0,    0,  458,  115, |  | 
| 458,  458,    0, -240,  116,    0,   35,    0,  125,    0, |  | 
| 1930,    0, 1376, 1943,    0,    0,    0,  119,    0,    0, |  | 
| 80,    0,    0, |  | 
| }; | }; | 
| const short yyrindex[] = {                                      0, | #endif | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | # ifdef YYPRINT | 
| 0,    0,    0,    0,    0, 1100,    0,    0,    0,    0, | /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to | 
| 0,    0,    0,    0,    0,   67,  106,    0,    0,  526, | token YYLEX-NUM.  */ | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | static const unsigned short yytoknum[] = | 
| 0,    0,    0,    0,  135,  118,  135,    0,  489,    0, | { | 
| 0,    0,    0,    0,    0,    0,  -30,   55,    6,  818, | 0,   256,   257,   258,   259,   260,   261,   262,   263,   264, | 
| 1032, 1209,  846,    0,    0,    0,    0,   49,    0,  435, | 265,   266,   267,   268,   269,   270,   271,   272,   273,   274, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 275,   276,   277,   278,   279,   280,   281,   282,   283,   284, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 285,   286,   287,   288,   289,   290,   291,   292,   293,   294, | 
| 0,    0,    0,    0,    0,    0,  135,    0,    7,    0, | 295,   296,   297,   298,   299,   300,   301,   302,   303,   304, | 
| 0,    0,    0,    0,    0,    6,    0,    0,    0,    0, | 305,    43,    45,    42,    47,    94,    37,    61,    63,    58, | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, | 96,    38,   306,   307,    33,   123,   125,    40,    41,    59, | 
| 0, 1418, 1477, 1464,  -36, 1424,  131, 1631,  605, 1571, | 36,    44,   124,    91,    93,    60,    62 | 
| 60, 1267, 1309,  886,  914,  954,  999,  618,    0,    0, |  | 
| 0,    0,    0,    0,  135,    0,    0,    0,    0,    0, |  | 
| 135,    0,  118,    0,    0,  135,  135,    0,    0,    0, |  | 
| 1361,    0,    0,    0,  397,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    1,    0,    0,    0, |  | 
| 0,  135,    0,    0,    0,    0,    0,  563,  135,    9, |  | 
| 0,    0,   58,    0,  135,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,  -23,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0, |  | 
| }; | }; | 
| const short yygindex[] = {                                      0, | # endif | 
| 0,   95, 2334,   10,  -28,  202,    0,  -45, 2286,    0, |  | 
| 0,    0,    0,  601,    0,    0,    0, | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ | 
|  | static const unsigned char yyr1[] = | 
|  | { | 
|  | 0,    77,    78,    79,    80,    81,    79,    82,    83,    79, | 
|  | 84,    85,    79,    79,    79,    79,    79,    79,    79,    79, | 
|  | 79,    79,    79,    79,    79,    79,    79,    79,    86,    87, | 
|  | 88,    79,    79,    79,    79,    89,    89,    90,    90,    91, | 
|  | 92,    92,    93,    93,    94,    94,    95,    95,    96,    96, | 
|  | 97,    97,    98,    98,    99,    99,   100,   101,   101,   101, | 
|  | 101,   101,   101,   101,   101,   101,   101,   101,   101,   101, | 
|  | 101,   101,   101,   101,   101,   101,   101,   101,   101,   101, | 
|  | 101,   101,   102,   102,   102,   102,   102,   102,   102,   102, | 
|  | 102,   102,   102,   102,   102,   102,   102,   102,   102,   102, | 
|  | 102,   102,   102,   102,   102,   102,   102,   102,   102,   102, | 
|  | 102,   102,   102,   102 | 
| }; | }; | 
| #define YYTABLESIZE 2565 |  | 
| const short yytable[] = {                                      83, | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ | 
| 13,  103,   69,   97,   83,   82,   48,   83,  213,  179, | static const unsigned char yyr2[] = | 
| 82,  214,   49,   82,  116,   35,   50,   42,  104,  171, | { | 
| 42,   83,   83,  188,   83,   83,   83,   82,   82,   98, | 0,     2,     1,     1,     0,     0,     5,     0,     0,     5, | 
| 82,   82,   82,   13,   95,   93,   13,   94,   34,   96, | 0,     0,     5,     3,     6,     2,     1,     2,     2,     2, | 
| 13,   52,    4,   13,   89,   13,   34,   53,   98,   89, | 3,     5,     7,     9,     5,     7,     8,     6,     0,     0, | 
| 45,   46,   89,   95,   55,   56,   83,   57,   96,   13, | 0,    12,     3,     2,     2,     1,     1,     0,     1,     3, | 
| 13,   63,   82,   64,   65,    4,   89,   89,   66,   89, | 1,     3,     1,     3,     1,     3,     0,     2,     0,     1, | 
| 89,  107,   31,  108,  112,   35,  118,  119,  129,   33, | 1,     3,     1,     3,     1,     1,     3,     1,     1,     1, | 
| 91,  130,   29,  155,   30,   68,   97,   83,   83,   36, | 1,     1,     1,     1,     4,     6,     6,     6,     7,     4, | 
| 178,   13,   36,   82,   82,   66,   47,   68,   34,   37, | 3,     8,     4,     6,     7,     4,     4,     4,     3,     1, | 
| 66,   89,  172,   66,  131,   97,  172,   36,  154,  157, | 4,     3,     1,     5,     3,     3,     2,     2,     3,     2, | 
| 36,  161,   31,  162,  163,   35,  164,   66,   66,   33, | 2,     3,     3,     3,     3,     3,     3,     3,     2,     3, | 
| 166,   66,   29,   13,   30,   13,  167,  169,  170,   34, | 3,     2,     3,     3,     3,     3,     3,     3,     5,     3, | 
| 36,  173,   89,   89,  181,  182,  192,  199,   34,   37, | 4,     4,     5,     2 | 
| 203,   36,  105,  193,  204,  206,  205,  207,  208,  211, |  | 
| 212,   31,   66,  216,   35,  222,  226,  227,   33,   34, |  | 
| 121,   29,   32,   30,  124,  228,   85,   34,  102,  126, |  | 
| 36,   85,   36,   36,   85,   34,   34,   34,   37,   34, |  | 
| 25,  231,  198,   66,   66,  225,    0,   31,   85,   85, |  | 
| 35,   85,   85,   85,   33,    0,  150,   29,  152,   30, |  | 
| 0,   41,   32,   91,  233,    0,    0,    0,    0,   36, |  | 
| 0,   54,    0,   34,   37,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,   85,    0,   31,    0,    0,    0,    0, |  | 
| 0,    0,   33,    0,   76,   29,    0,   30,    0,    0, |  | 
| 0,   32,    0,    0,    0,   36,   83,   83,   83,   83, |  | 
| 83,    0,   37,    0,   85,   85,   13,   13,   83,   13, |  | 
| 13,   13,   13,   13,   82,    0,    0,   13,   13,   13, |  | 
| 13,   13,   13,  202,   13,   13,   13,   13,   13,   13, |  | 
| 13,   13,   13,   36,    0,    0,   91,    0,   13,    0, |  | 
| 13,   13,   13,   13,   13,    1,    2,    0,    3,    4, |  | 
| 5,    6,    7,   89,    0,   91,    8,    9,   10,   11, |  | 
| 12,   13,    0,   14,   15,   16,   17,   18,   19,   20, |  | 
| 21,   22,    0,    0,    0,    0,    0,   23,    0,   24, |  | 
| 25,   26,   27,   28,    0,    1,    2,    0,    3,    4, |  | 
| 5,    6,    7,    0,    0,    0,    8,    9,   10,   11, |  | 
| 12,   13,    0,   14,   15,   16,   17,   18,   19,   20, |  | 
| 21,   22,    0,  185,    0,  187,    0,   23,    0,   24, |  | 
| 25,   26,   27,   28,    1,    2,    0,    3,    4,    5, |  | 
| 6,    7,    0,    0,    0,    8,    9,   10,   11,   12, |  | 
| 13,    0,   14,   15,   16,   17,   18,   19,   20,   21, |  | 
| 22,    0,    0,    0,    0,    0,   23,  220,   24,   25, |  | 
| 26,   27,   28,    3,    4,   85,   85,   85,    0,    0, |  | 
| 0,    8,    9,    0,    0,   85,    0,    0,    0,  232, |  | 
| 0,   17,   18,   19,   20,   21,   22,   37,    0,    0, |  | 
| 37,    0,   23,    0,   24,   25,   59,   27,   28,   75, |  | 
| 0,    3,    4,    0,   31,   37,    0,    0,   37,    8, |  | 
| 9,   33,    0,   76,   29,    0,   30,    0,    0,   17, |  | 
| 18,   19,   20,   21,   22,   35,    0,    0,    0,    0, |  | 
| 23,   37,   24,   25,   59,   27,   28,    0,    0,   37, |  | 
| 31,    0,    0,   35,    0,    0,   35,   33,    0,    0, |  | 
| 29,    0,   30,   98,    0,    0,    0,    0,   95,   93, |  | 
| 0,   94,   36,   96,    0,    0,    0,   37,    0,    0, |  | 
| 37,   37,    0,    0,   48,   48,    0,   35,    0,   48, |  | 
| 48,   48,   48,   48,    0,   48,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,   48,   48,   36,   48, |  | 
| 48,   48,    0,    0,    0,    0,    0,    0,   35,   35, |  | 
| 97,   63,   63,    0,    0,    0,   63,   63,   63,   63, |  | 
| 63,    0,   63,    0,    0,    0,    0,    0,    0,   48, |  | 
| 0,   48,   48,   63,   63,    0,   63,   63,   63,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,   64,   64, |  | 
| 0,   44,    0,   64,   64,   64,   64,   64,    0,   64, |  | 
| 0,    0,   48,   48,   58,   61,   62,    0,   63,   63, |  | 
| 64,   64,    0,   64,   64,   64,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,   98,    0,    0,  101, |  | 
| 87,   95,   93,    0,   94,   87,   96,    0,   87,   63, |  | 
| 63,    0,    0,   65,    0,   64,   64,    0,   65,    0, |  | 
| 117,   65,   87,   87,    0,   87,   87,   87,    0,    0, |  | 
| 0,    0,    0,    0,    0,   65,   65,    0,    0,   65, |  | 
| 3,    4,    0,    0,    0,    0,   64,   64,    8,    9, |  | 
| 0,    0,    0,   97,    0,    0,    0,   87,   17,   18, |  | 
| 19,   20,   21,   22,    0,    0,    0,    0,    0,   23, |  | 
| 65,   24,   25,   59,   27,   28,    3,    4,    0,    0, |  | 
| 0,    0,    0,    0,    8,    9,    0,    0,   87,   87, |  | 
| 82,   83,   84,    0,   17,   18,   19,   20,   21,   22, |  | 
| 0,   65,   65,    0,    0,   23,   48,   24,   25,   59, |  | 
| 27,   28,   48,   48,   48,   90,   98,    0,  183,    0, |  | 
| 91,   95,   93,    0,   94,    0,   96,    0,    0,    0, |  | 
| 0,   48,   48,   48,   48,   48,    0,   48,  201,    0, |  | 
| 0,    0,   48,   48,    0,    0,    0,    0,    0,   63, |  | 
| 63,   63,    0,   98,    0,    0,    0,    0,   95,   93, |  | 
| 0,   94,    0,   96,  218,    0,    0,    0,   63,   63, |  | 
| 63,   63,   63,   97,   63,    0,    0,    0,    0,   63, |  | 
| 63,    0,    0,  230,    0,    0,   64,   64,   64,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,   64,   64,   64,   64,   64, |  | 
| 97,   64,    0,   68,   68,    0,   64,   64,   68,   68, |  | 
| 68,   68,   68,   82,   68,   84,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,   68,   68,    0,   68,   68, |  | 
| 68,   79,   79,    0,    0,    0,   79,   79,   79,   79, |  | 
| 79,   87,   79,   91,    0,    0,    0,    0,    0,   87, |  | 
| 0,    0,    0,   79,   79,    0,   79,   79,   79,    0, |  | 
| 68,   68,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,   74,   74,    0,    0,    0,   74,   74,   74,   74, |  | 
| 74,    0,   74,    0,    0,    0,    0,    0,   79,   79, |  | 
| 0,   68,   68,   74,   74,    0,   74,   74,   74,   75, |  | 
| 75,    0,    0,    0,   75,   75,   75,   75,   75,    0, |  | 
| 75,    0,    0,    0,    0,    0,    0,    0,    0,   79, |  | 
| 79,   75,   75,    0,   75,   75,   75,    0,   74,    0, |  | 
| 0,    0,    0,   82,   83,   84,    0,    0,    0,   77, |  | 
| 77,    0,    0,    0,   77,   77,   77,   77,   77,    0, |  | 
| 77,    0,   85,   86,   87,   88,   75,    0,   90,   74, |  | 
| 74,   77,   77,   91,   77,   77,   77,    0,    0,    0, |  | 
| 82,   83,   84,   98,    0,    0,    0,    0,   95,   93, |  | 
| 0,   94,    0,   96,   76,   76,    0,   75,   75,   76, |  | 
| 76,   76,   76,   76,    0,   76,   77,    0,    0,    0, |  | 
| 91,    0,    0,    0,    0,    0,   76,   76,    0,   76, |  | 
| 76,   76,    0,    0,    0,    0,    0,   70,    0,    0, |  | 
| 0,    0,   70,    0,   70,   70,   70,   77,   77,    0, |  | 
| 97,   68,   68,   68,    0,    0,    0,    0,    0,   70, |  | 
| 70,   76,   70,   70,   70,    0,    0,    0,    0,    0, |  | 
| 68,   68,   68,   68,   68,    0,   68,    0,    0,   79, |  | 
| 79,   79,   68,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,   76,   76,   70,    0,    0,    0,   79,   79, |  | 
| 79,   79,   79,    0,   79,   48,   48,    0,    0,    0, |  | 
| 79,   48,   48,    0,   48,    0,   48,    0,    0,   74, |  | 
| 74,   74,    0,    0,    0,   70,   70,    0,   48,    0, |  | 
| 48,    0,   48,    0,    0,    0,    0,    0,   74,   74, |  | 
| 74,   74,   74,    0,   74,    0,    0,   75,   75,   75, |  | 
| 74,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 48,    0,    0,   48,    0,    0,   75,   75,   75,   75, |  | 
| 75,    0,   75,    0,    0,    0,    0,    0,   75,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,   77,   77,   77, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,   77,   77,   77,   77, |  | 
| 77,    0,   77,    0,   71,    0,    0,    0,   77,   71, |  | 
| 82,   71,   71,   71,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,   76,   76,   76,    0,   71,   71,    0,   71, |  | 
| 71,   71,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 91,   76,   76,   76,   76,   76,    0,   76,    0,    0, |  | 
| 0,    0,    0,   76,    0,   70,   70,   70,    0,    0, |  | 
| 0,   71,   72,    0,    0,    0,    0,   72,    0,   72, |  | 
| 72,   72,    0,    0,   70,   70,   70,   70,   70,    0, |  | 
| 70,    0,    0,    0,   72,   72,   70,   72,   72,   72, |  | 
| 0,    0,   71,   71,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,   73,    0,    0,    0,    0,   73, |  | 
| 0,   73,   73,   73,    0,    0,    0,   48,    0,   72, |  | 
| 0,    0,    0,   48,   48,   48,   73,   73,    0,   73, |  | 
| 73,   73,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,   48,   48,   48,   48,   48,    0,   48,    0, |  | 
| 72,   72,    0,   48,   48,    0,   49,   49,    0,    0, |  | 
| 0,   73,   49,   49,    0,   49,    0,   49,    0,    0, |  | 
| 0,   35,   98,    0,    0,    0,    0,   95,   93,   49, |  | 
| 94,   49,   96,   49,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,   73,   73,   34,    0,   99,    0,  100,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,   49,    0,   78,   49,    0,    0,    0,   78,   84, |  | 
| 0,   78,    0,    0,   84,    0,    0,   84,    0,   97, |  | 
| 0,    0,   71,   71,   71,   78,   78,    0,   78,   78, |  | 
| 78,   84,   84,    0,   84,   84,   84,    0,    0,    0, |  | 
| 0,   71,   71,   71,   71,   71,    0,   71,    0,   81, |  | 
| 0,    0,    0,   71,   81,    0,    0,   81,    0,    0, |  | 
| 78,    0,   80,    0,    0,    0,   84,   80,    0,    0, |  | 
| 80,   81,   81,    0,   81,   81,   81,    0,    0,    0, |  | 
| 72,   72,   72,    0,   80,   80,    0,   80,   80,   80, |  | 
| 0,   78,   78,    0,    0,    0,    0,   84,   84,   72, |  | 
| 72,   72,   72,   72,    0,   72,   81,    0,   98,    0, |  | 
| 0,   72,  128,   95,   93,    0,   94,    0,   96,   80, |  | 
| 0,    0,   73,   73,   73,    0,    0,    0,    0,    0, |  | 
| 0,    0,   99,    0,  100,    0,    0,   81,   81,    0, |  | 
| 0,   73,   73,   73,   73,   73,    0,   73,    0,    0, |  | 
| 80,   80,    0,   73,    0,    0,   88,    0,    0,    0, |  | 
| 0,   88,    0,    0,   88,   97,    0,    0,   49,    0, |  | 
| 0,    0,    0,    0,   49,   49,   49,    0,   88,   88, |  | 
| 0,   88,   88,   88,    0,    0,    0,    0,    0,   82, |  | 
| 83,   84,    0,   49,   49,   49,   49,   49,    0,   49, |  | 
| 0,    0,    0,    0,   49,   49,    0,    0,   85,   86, |  | 
| 87,   88,   89,   88,   90,    0,   86,    0,    0,   91, |  | 
| 92,   86,    0,    0,   86,    0,    0,    0,    0,    0, |  | 
| 0,   78,   78,   78,    0,    0,    0,    0,   86,   86, |  | 
| 0,   86,   86,   86,   88,   88,    0,    0,    0,    0, |  | 
| 78,   78,   78,   78,   78,    0,   78,   84,   84,   84, |  | 
| 84,   98,   78,    0,    0,  159,   95,   93,   84,   94, |  | 
| 0,   96,    0,   86,    0,    0,    0,    0,   81,   81, |  | 
| 0,    0,    0,    0,    0,   99,    0,  100,    0,    0, |  | 
| 0,   80,    0,    0,    0,    0,   81,   81,   81,   81, |  | 
| 81,    0,   81,    0,   86,   86,    0,    0,   81,   80, |  | 
| 80,   80,   80,   80,    0,   80,    0,    0,   97,   98, |  | 
| 0,   80,    0,  160,   95,   93,    0,   94,    0,   96, |  | 
| 0,    0,    0,    0,    0,   82,   83,   84,    0,    0, |  | 
| 0,    0,    0,   99,    0,  100,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,   85,   86,   87,   88,   89,    0, |  | 
| 90,    0,   98,    0,    0,   91,   92,   95,   93,  168, |  | 
| 94,    0,   96,    0,    0,   98,   97,    0,    0,  174, |  | 
| 95,   93,    0,   94,    0,   96,   99,    0,  100,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,   99, |  | 
| 0,  100,    0,   88,   88,   88,   88,   88,    0,   88, |  | 
| 0,    0,   98,    0,    0,   88,    0,   95,   93,   97, |  | 
| 94,    0,   96,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,   97,  176,    0,    0,   99,    0,  100,   98, |  | 
| 0,    0,    0,    0,   95,   93,   98,   94,    0,   96, |  | 
| 0,   95,   93,    0,   94,    0,   96,    0,    0,    0, |  | 
| 0,    0,    0,   99,    0,  100,   86,   86,    0,   97, |  | 
| 0,    0,    0,   98,    0,   86,    0,    0,   95,   93, |  | 
| 209,   94,    0,   96,    0,    0,    0,    0,   82,   83, |  | 
| 84,    0,    0,    0,    0,  177,   97,   99,    0,  100, |  | 
| 0,    0,    0,   97,    0,    0,    0,   85,   86,   87, |  | 
| 88,   89,    0,   90,    0,    0,   98,    0,   91,   92, |  | 
| 229,   95,   93,    0,   94,    0,   96,    0,    0,   98, |  | 
| 97,    0,    0,    0,   95,   93,    0,   94,    0,   96, |  | 
| 99,    0,  100,    0,    0,    0,   82,   83,   84,    0, |  | 
| 0,    0,    0,   99,    0,  100,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,   85,   86,   87,   88,   89, |  | 
| 0,   90,    0,   97,   98,    0,   91,   92,    0,   95, |  | 
| 93,    0,   94,    0,   96,    0,   97,   98,    0,   82, |  | 
| 83,   84,   95,   93,    0,   94,    0,   96,    0,    0, |  | 
| 100,    0,   82,   83,   84,    0,    0,    0,   85,   86, |  | 
| 87,   88,   89,    0,   90,    0,    0,    0,    0,   91, |  | 
| 92,   85,   86,   87,   88,   89,  197,   90,    0,    0, |  | 
| 0,   97,   91,   92,    0,    0,    0,    0,    0,   82, |  | 
| 83,   84,   98,    0,   97,    0,    0,   95,   93,    0, |  | 
| 94,    0,   96,    0,    0,    0,    0,    0,   85,   86, |  | 
| 87,   88,   89,    0,   90,    0,   82,   83,   84,   91, |  | 
| 92,    0,    0,   82,   83,   84,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,   85,   86,   87,   88,   89, |  | 
| 0,   90,   85,   86,   87,    0,   91,   92,   90,   97, |  | 
| 82,   83,   84,   91,   98,    0,    0,    0,    0,   95, |  | 
| 93,    0,   94,    0,   96,    0,    0,    0,    0,   85, |  | 
| 86,   87,   88,   89,    0,   90,    0,    0,    0,    0, |  | 
| 91,   92,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,   82,   83,   84,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,   82,   83,   84,    0, |  | 
| 0,   97,   85,   86,   87,   88,   89,    0,   90,    0, |  | 
| 0,    0,    0,   91,   92,   85,   86,   87,   88,   89, |  | 
| 0,   90,    0,    0,    0,    0,   91,   92,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,   82,   83,   84,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,   82,   83,   84,    0,    0,    0, |  | 
| 85,   86,   87,   88,   89,    0,   90,    0,    0,    0, |  | 
| 0,   91,    0,   85,   86,   87,   88,   89,    0,   90, |  | 
| 0,    0,    0,    0,   91,    0,    4,    0,    0,    0, |  | 
| 0,    0,    0,    8,    9,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,   17,   18,   19,   20,   21,   22,   82, |  | 
| 83,   84,   81,    0,    0,    0,   24,   25,   59,   27, |  | 
| 0,    0,    0,   39,    0,    0,    0,    0,   85,   86, |  | 
| 113,  114,  115,   39,   90,    0,    0,    0,   60,   91, |  | 
| 0,    0,    0,  122,  123,    0,   67,    0,    0,    0, |  | 
| 0,   70,   71,   72,   73,    0,   77,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,   82,   83,   84,    0,  110,  111,    0,    0,    0, |  | 
| 0,    0,  156,    0,    0,    0,    0,    0,  120,    0, |  | 
| 85,  165,    0,    0,    0,    0,   90,   39,    0,  127, |  | 
| 0,   91,    0,    0,    0,  132,  133,  134,  135,  136, |  | 
| 137,  138,  139,  140,    0,  141,  142,  143,  144,  145, |  | 
| 146,  147,  148,  149,    0,    0,  151,    0,    0,    0, |  | 
| 180,    0,    0,    0,    0,    0,  184,    0,  186,    0, |  | 
| 0,  189,  190,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,  175,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,  210,    0,    0, |  | 
| 0,    0,    0,    0,  215,    0,    0,    0,    0,    0, |  | 
| 219,    0,    0,    0,    0,   39,    0,   39,    0,    0, |  | 
| 0,  191,    0,    0,    0,    0,    0,    0,    0,  200, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 77,    0,    0,    0,    0,    0,    0,    0,    0,   39, |  | 
| 0,    0,  221,    0,  223,  224,    0,    0,    0,    0, |  | 
| 0,    0,    0,    0,    0,    0,    0,    0,    0,    0, |  | 
| 0,   39,    0,    0,   39, |  | 
| }; | }; | 
| const short yycheck[] = {                                      36, |  | 
| 0,   91,   40,   94,   41,   36,   40,   44,   41,   44, | /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state | 
| 41,   44,  292,   44,   40,   36,  292,   41,  123,   41, | STATE-NUM when YYTABLE doesn't specify something else to do.  Zero | 
| 44,   58,   59,   41,   61,   62,   63,   58,   59,   37, | means the default is an error.  */ | 
| 61,   62,   63,   33,   42,   43,   36,   45,   59,   47, | static const unsigned char yydefact[] = | 
| 40,   40,   36,   43,   36,   45,   41,   40,   37,   41, | { | 
| 291,  292,   44,   42,   40,   40,   93,   40,   47,   59, | 0,     0,     0,     0,    59,     0,     0,     0,     0,     4, | 
| 60,   40,   93,   40,   40,   59,   58,   59,   40,   61, | 7,    10,     0,     0,     0,     0,     0,     0,     0,     0, | 
| 62,   40,   33,  291,  270,   36,  292,  292,   93,   40, | 0,     0,     0,     0,     0,     0,     0,    60,    61,    62, | 
| 294,   44,   43,   40,   45,  123,   94,  124,  125,   41, | 0,     0,    58,    79,    63,    57,     0,     0,     0,     0, | 
| 125,   91,   44,  124,  125,   36,    2,  123,   59,   60, | 0,    46,     0,    35,    36,    48,    48,     0,     2,     3, | 
| 41,   93,  124,   44,   62,   94,  124,   59,   41,   44, | 16,    82,     0,    34,    54,    55,     0,     0,    28,     0, | 
| 62,   40,   33,   41,   59,   36,   41,   58,   59,   40, | 0,    33,     0,     0,     0,    42,     0,     0,     0,     0, | 
| 44,   62,   43,  123,   45,  125,   44,   41,  125,  124, | 0,    48,    48,    48,    17,    63,    19,     0,    18,     0, | 
| 91,   41,  124,  125,   41,  291,   40,   40,   59,   60, | 0,     0,     0,     0,   101,    48,    48,    48,    87,    89, | 
| 41,   93,   48,   58,   41,  273,   59,   41,   41,   61, | 90,   113,    98,     0,     0,     0,     0,     0,    49,    50, | 
| 61,   33,   93,  293,   36,   41,   41,  123,   40,   93, | 0,     1,     0,     0,     0,     0,     0,     0,     0,     0, | 
| 66,   43,  123,   45,  125,   41,   36,   62,  258,   75, | 0,     0,     0,    86,     0,     0,     0,     0,     0,     0, | 
| 91,   41,  124,  125,   44,   41,   59,   59,   60,  125, | 0,     0,     0,    15,     0,     0,     0,    48,    32,    44, | 
| 123,  227,  173,  124,  125,  214,   -1,   33,   58,   59, | 5,     8,    11,     0,    13,     0,     0,     0,     0,     0, | 
| 36,   61,   62,   63,   40,   -1,  102,   43,  104,   45, | 0,     0,    48,    20,     0,     0,     0,     0,    70,     0, | 
| -1,    0,  123,  294,  125,   -1,   -1,   -1,   -1,   91, | 0,     0,     0,    39,    47,     0,     0,    78,     0,    88, | 
| -1,   10,   -1,   59,   60,   -1,   -1,   -1,   -1,   -1, | 0,   109,    81,     0,    97,    99,   100,   102,   103,   104, | 
| -1,   -1,   -1,   93,   -1,   33,   -1,   -1,   -1,   -1, | 105,   106,   107,    85,    91,    92,    93,    94,    96,    95, | 
| -1,   -1,   40,   -1,   42,   43,   -1,   45,   -1,   -1, | 84,     0,     0,    40,   110,    29,     0,     0,     0,     0, | 
| -1,  123,   -1,   -1,   -1,   91,  283,  284,  285,  286, | 0,    43,    76,    77,   111,    48,     0,    48,     0,     0, | 
| 287,   -1,   60,   -1,  124,  125,  256,  257,  295,  259, | 72,    48,    48,    48,     0,    69,    75,     0,    64,     0, | 
| 260,  261,  262,  263,  295,   -1,   -1,  267,  268,  269, | 0,     0,     0,    51,    80,     0,     0,     0,    48,     0, | 
| 270,  271,  272,  179,  274,  275,  276,  277,  278,  279, | 45,     6,     9,    12,     0,    24,     0,    21,    64,     0, | 
| 280,  281,  282,   91,   -1,   -1,  294,   -1,  288,   -1, | 0,     0,     0,    48,     0,     0,     0,    52,     0,    83, | 
| 290,  291,  292,  293,  294,  256,  257,   -1,  259,  260, | 48,   112,   108,    14,    41,    30,    27,     0,    48,     0, | 
| 261,  262,  263,  295,   -1,  294,  267,  268,  269,  270, | 73,    66,    67,     0,     0,     0,    65,     0,     0,     0, | 
| 271,  272,   -1,  274,  275,  276,  277,  278,  279,  280, | 0,    25,     0,    22,     0,    68,     0,    53,    56,    74, | 
| 281,  282,   -1,   -1,   -1,   -1,   -1,  288,   -1,  290, | 37,     0,    71,    26,    38,     0,    23,    46,     0,    31 | 
| 291,  292,  293,  294,   -1,  256,  257,   -1,  259,  260, |  | 
| 261,  262,  263,   -1,   -1,   -1,  267,  268,  269,  270, |  | 
| 271,  272,   -1,  274,  275,  276,  277,  278,  279,  280, |  | 
| 281,  282,   -1,  162,   -1,  164,   -1,  288,   -1,  290, |  | 
| 291,  292,  293,  294,  256,  257,   -1,  259,  260,  261, |  | 
| 262,  263,   -1,   -1,   -1,  267,  268,  269,  270,  271, |  | 
| 272,   -1,  274,  275,  276,  277,  278,  279,  280,  281, |  | 
| 282,   -1,   -1,   -1,   -1,   -1,  288,  206,  290,  291, |  | 
| 292,  293,  294,  259,  260,  285,  286,  287,   -1,   -1, |  | 
| -1,  267,  268,   -1,   -1,  295,   -1,   -1,   -1,  228, |  | 
| -1,  277,  278,  279,  280,  281,  282,   41,   -1,   -1, |  | 
| 44,   -1,  288,   -1,  290,  291,  292,  293,  294,  257, |  | 
| -1,  259,  260,   -1,   33,   59,   -1,   -1,   62,  267, |  | 
| 268,   40,   -1,   42,   43,   -1,   45,   -1,   -1,  277, |  | 
| 278,  279,  280,  281,  282,   41,   -1,   -1,   -1,   -1, |  | 
| 288,   60,  290,  291,  292,  293,  294,   -1,   -1,   93, |  | 
| 33,   -1,   -1,   59,   -1,   -1,   62,   40,   -1,   -1, |  | 
| 43,   -1,   45,   37,   -1,   -1,   -1,   -1,   42,   43, |  | 
| -1,   45,   91,   47,   -1,   -1,   -1,   60,   -1,   -1, |  | 
| 124,  125,   -1,   -1,   36,   37,   -1,   93,   -1,   41, |  | 
| 42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   91,   61, |  | 
| 62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  124,  125, |  | 
| 94,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44, |  | 
| 45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   91, |  | 
| -1,   93,   94,   58,   59,   -1,   61,   62,   63,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   36,   37, |  | 
| -1,    1,   -1,   41,   42,   43,   44,   45,   -1,   47, |  | 
| -1,   -1,  124,  125,   14,   15,   16,   -1,   93,   94, |  | 
| 58,   59,   -1,   61,   62,   63,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,   39, |  | 
| 36,   42,   43,   -1,   45,   41,   47,   -1,   44,  124, |  | 
| 125,   -1,   -1,   36,   -1,   93,   94,   -1,   41,   -1, |  | 
| 60,   44,   58,   59,   -1,   61,   62,   63,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   62, |  | 
| 259,  260,   -1,   -1,   -1,   -1,  124,  125,  267,  268, |  | 
| -1,   -1,   -1,   94,   -1,   -1,   -1,   93,  277,  278, |  | 
| 279,  280,  281,  282,   -1,   -1,   -1,   -1,   -1,  288, |  | 
| 93,  290,  291,  292,  293,  294,  259,  260,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,  267,  268,   -1,   -1,  124,  125, |  | 
| 264,  265,  266,   -1,  277,  278,  279,  280,  281,  282, |  | 
| -1,  124,  125,   -1,   -1,  288,  258,  290,  291,  292, |  | 
| 293,  294,  264,  265,  266,  289,   37,   -1,  158,   -1, |  | 
| 294,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1, |  | 
| -1,  283,  284,  285,  286,  287,   -1,  289,  178,   -1, |  | 
| -1,   -1,  294,  295,   -1,   -1,   -1,   -1,   -1,  264, |  | 
| 265,  266,   -1,   37,   -1,   -1,   -1,   -1,   42,   43, |  | 
| -1,   45,   -1,   47,  204,   -1,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   94,  289,   -1,   -1,   -1,   -1,  294, |  | 
| 295,   -1,   -1,  223,   -1,   -1,  264,  265,  266,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287, |  | 
| 94,  289,   -1,   36,   37,   -1,  294,  295,   41,   42, |  | 
| 43,   44,   45,  264,   47,  266,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,   62, |  | 
| 63,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44, |  | 
| 45,  287,   47,  294,   -1,   -1,   -1,   -1,   -1,  295, |  | 
| -1,   -1,   -1,   58,   59,   -1,   61,   62,   63,   -1, |  | 
| 93,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   36,   37,   -1,   -1,   -1,   41,   42,   43,   44, |  | 
| 45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   93,   94, |  | 
| -1,  124,  125,   58,   59,   -1,   61,   62,   63,   36, |  | 
| 37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1, |  | 
| 47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124, |  | 
| 125,   58,   59,   -1,   61,   62,   63,   -1,   93,   -1, |  | 
| -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   36, |  | 
| 37,   -1,   -1,   -1,   41,   42,   43,   44,   45,   -1, |  | 
| 47,   -1,  283,  284,  285,  286,   93,   -1,  289,  124, |  | 
| 125,   58,   59,  294,   61,   62,   63,   -1,   -1,   -1, |  | 
| 264,  265,  266,   37,   -1,   -1,   -1,   -1,   42,   43, |  | 
| -1,   45,   -1,   47,   36,   37,   -1,  124,  125,   41, |  | 
| 42,   43,   44,   45,   -1,   47,   93,   -1,   -1,   -1, |  | 
| 294,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61, |  | 
| 62,   63,   -1,   -1,   -1,   -1,   -1,   36,   -1,   -1, |  | 
| -1,   -1,   41,   -1,   43,   44,   45,  124,  125,   -1, |  | 
| 94,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   58, |  | 
| 59,   93,   61,   62,   63,   -1,   -1,   -1,   -1,   -1, |  | 
| 283,  284,  285,  286,  287,   -1,  289,   -1,   -1,  264, |  | 
| 265,  266,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,  124,  125,   93,   -1,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   -1,  289,   36,   37,   -1,   -1,   -1, |  | 
| 295,   42,   43,   -1,   45,   -1,   47,   -1,   -1,  264, |  | 
| 265,  266,   -1,   -1,   -1,  124,  125,   -1,   59,   -1, |  | 
| 61,   -1,   63,   -1,   -1,   -1,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   -1,  289,   -1,   -1,  264,  265,  266, |  | 
| 295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| 91,   -1,   -1,   94,   -1,   -1,  283,  284,  285,  286, |  | 
| 287,   -1,  289,   -1,   -1,   -1,   -1,   -1,  295,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286, |  | 
| 287,   -1,  289,   -1,   36,   -1,   -1,   -1,  295,   41, |  | 
| 264,   43,   44,   45,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,  264,  265,  266,   -1,   58,   59,   -1,   61, |  | 
| 62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| 294,  283,  284,  285,  286,  287,   -1,  289,   -1,   -1, |  | 
| -1,   -1,   -1,  295,   -1,  264,  265,  266,   -1,   -1, |  | 
| -1,   93,   36,   -1,   -1,   -1,   -1,   41,   -1,   43, |  | 
| 44,   45,   -1,   -1,  283,  284,  285,  286,  287,   -1, |  | 
| 289,   -1,   -1,   -1,   58,   59,  295,   61,   62,   63, |  | 
| -1,   -1,  124,  125,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,   -1,   41, |  | 
| -1,   43,   44,   45,   -1,   -1,   -1,  258,   -1,   93, |  | 
| -1,   -1,   -1,  264,  265,  266,   58,   59,   -1,   61, |  | 
| 62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,  283,  284,  285,  286,  287,   -1,  289,   -1, |  | 
| 124,  125,   -1,  294,  295,   -1,   36,   37,   -1,   -1, |  | 
| -1,   93,   42,   43,   -1,   45,   -1,   47,   -1,   -1, |  | 
| -1,   36,   37,   -1,   -1,   -1,   -1,   42,   43,   59, |  | 
| 45,   61,   47,   63,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,  124,  125,   59,   -1,   61,   -1,   63,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   91,   -1,   36,   94,   -1,   -1,   -1,   41,   36, |  | 
| -1,   44,   -1,   -1,   41,   -1,   -1,   44,   -1,   94, |  | 
| -1,   -1,  264,  265,  266,   58,   59,   -1,   61,   62, |  | 
| 63,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1, |  | 
| -1,  283,  284,  285,  286,  287,   -1,  289,   -1,   36, |  | 
| -1,   -1,   -1,  295,   41,   -1,   -1,   44,   -1,   -1, |  | 
| 93,   -1,   36,   -1,   -1,   -1,   93,   41,   -1,   -1, |  | 
| 44,   58,   59,   -1,   61,   62,   63,   -1,   -1,   -1, |  | 
| 264,  265,  266,   -1,   58,   59,   -1,   61,   62,   63, |  | 
| -1,  124,  125,   -1,   -1,   -1,   -1,  124,  125,  283, |  | 
| 284,  285,  286,  287,   -1,  289,   93,   -1,   37,   -1, |  | 
| -1,  295,   41,   42,   43,   -1,   45,   -1,   47,   93, |  | 
| -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   61,   -1,   63,   -1,   -1,  124,  125,   -1, |  | 
| -1,  283,  284,  285,  286,  287,   -1,  289,   -1,   -1, |  | 
| 124,  125,   -1,  295,   -1,   -1,   36,   -1,   -1,   -1, |  | 
| -1,   41,   -1,   -1,   44,   94,   -1,   -1,  258,   -1, |  | 
| -1,   -1,   -1,   -1,  264,  265,  266,   -1,   58,   59, |  | 
| -1,   61,   62,   63,   -1,   -1,   -1,   -1,   -1,  264, |  | 
| 265,  266,   -1,  283,  284,  285,  286,  287,   -1,  289, |  | 
| -1,   -1,   -1,   -1,  294,  295,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   93,  289,   -1,   36,   -1,   -1,  294, |  | 
| 295,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,  264,  265,  266,   -1,   -1,   -1,   -1,   58,   59, |  | 
| -1,   61,   62,   63,  124,  125,   -1,   -1,   -1,   -1, |  | 
| 283,  284,  285,  286,  287,   -1,  289,  284,  285,  286, |  | 
| 287,   37,  295,   -1,   -1,   41,   42,   43,  295,   45, |  | 
| -1,   47,   -1,   93,   -1,   -1,   -1,   -1,  265,  266, |  | 
| -1,   -1,   -1,   -1,   -1,   61,   -1,   63,   -1,   -1, |  | 
| -1,  265,   -1,   -1,   -1,   -1,  283,  284,  285,  286, |  | 
| 287,   -1,  289,   -1,  124,  125,   -1,   -1,  295,  283, |  | 
| 284,  285,  286,  287,   -1,  289,   -1,   -1,   94,   37, |  | 
| -1,  295,   -1,   41,   42,   43,   -1,   45,   -1,   47, |  | 
| -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1,   -1, |  | 
| -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,  283,  284,  285,  286,  287,   -1, |  | 
| 289,   -1,   37,   -1,   -1,  294,  295,   42,   43,   44, |  | 
| 45,   -1,   47,   -1,   -1,   37,   94,   -1,   -1,   41, |  | 
| 42,   43,   -1,   45,   -1,   47,   61,   -1,   63,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61, |  | 
| -1,   63,   -1,  283,  284,  285,  286,  287,   -1,  289, |  | 
| -1,   -1,   37,   -1,   -1,  295,   -1,   42,   43,   94, |  | 
| 45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   94,   58,   -1,   -1,   61,   -1,   63,   37, |  | 
| -1,   -1,   -1,   -1,   42,   43,   37,   45,   -1,   47, |  | 
| -1,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   61,   -1,   63,  286,  287,   -1,   94, |  | 
| -1,   -1,   -1,   37,   -1,  295,   -1,   -1,   42,   43, |  | 
| 44,   45,   -1,   47,   -1,   -1,   -1,   -1,  264,  265, |  | 
| 266,   -1,   -1,   -1,   -1,   93,   94,   61,   -1,   63, |  | 
| -1,   -1,   -1,   94,   -1,   -1,   -1,  283,  284,  285, |  | 
| 286,  287,   -1,  289,   -1,   -1,   37,   -1,  294,  295, |  | 
| 41,   42,   43,   -1,   45,   -1,   47,   -1,   -1,   37, |  | 
| 94,   -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47, |  | 
| 61,   -1,   63,   -1,   -1,   -1,  264,  265,  266,   -1, |  | 
| -1,   -1,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287, |  | 
| -1,  289,   -1,   94,   37,   -1,  294,  295,   -1,   42, |  | 
| 43,   -1,   45,   -1,   47,   -1,   94,   37,   -1,  264, |  | 
| 265,  266,   42,   43,   -1,   45,   -1,   47,   -1,   -1, |  | 
| 63,   -1,  264,  265,  266,   -1,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   -1,  289,   -1,   -1,   -1,   -1,  294, |  | 
| 295,  283,  284,  285,  286,  287,   40,  289,   -1,   -1, |  | 
| -1,   94,  294,  295,   -1,   -1,   -1,   -1,   -1,  264, |  | 
| 265,  266,   37,   -1,   94,   -1,   -1,   42,   43,   -1, |  | 
| 45,   -1,   47,   -1,   -1,   -1,   -1,   -1,  283,  284, |  | 
| 285,  286,  287,   -1,  289,   -1,  264,  265,  266,  294, |  | 
| 295,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,  283,  284,  285,  286,  287, |  | 
| -1,  289,  283,  284,  285,   -1,  294,  295,  289,   94, |  | 
| 264,  265,  266,  294,   37,   -1,   -1,   -1,   -1,   42, |  | 
| 43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,  283, |  | 
| 284,  285,  286,  287,   -1,  289,   -1,   -1,   -1,   -1, |  | 
| 294,  295,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,  264,  265,  266,   -1, |  | 
| -1,   94,  283,  284,  285,  286,  287,   -1,  289,   -1, |  | 
| -1,   -1,   -1,  294,  295,  283,  284,  285,  286,  287, |  | 
| -1,  289,   -1,   -1,   -1,   -1,  294,  295,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,  264,  265,  266,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,  264,  265,  266,   -1,   -1,   -1, |  | 
| 283,  284,  285,  286,  287,   -1,  289,   -1,   -1,   -1, |  | 
| -1,  294,   -1,  283,  284,  285,  286,  287,   -1,  289, |  | 
| -1,   -1,   -1,   -1,  294,   -1,  260,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,  267,  268,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,  277,  278,  279,  280,  281,  282,  264, |  | 
| 265,  266,   37,   -1,   -1,   -1,  290,  291,  292,  293, |  | 
| -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,  283,  284, |  | 
| 55,   56,   57,   10,  289,   -1,   -1,   -1,   15,  294, |  | 
| -1,   -1,   -1,   68,   69,   -1,   23,   -1,   -1,   -1, |  | 
| -1,   28,   29,   30,   31,   -1,   33,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,  264,  265,  266,   -1,   52,   53,   -1,   -1,   -1, |  | 
| -1,   -1,  107,   -1,   -1,   -1,   -1,   -1,   65,   -1, |  | 
| 283,  116,   -1,   -1,   -1,   -1,  289,   74,   -1,   76, |  | 
| -1,  294,   -1,   -1,   -1,   82,   83,   84,   85,   86, |  | 
| 87,   88,   89,   90,   -1,   92,   93,   94,   95,   96, |  | 
| 97,   98,   99,  100,   -1,   -1,  103,   -1,   -1,   -1, |  | 
| 155,   -1,   -1,   -1,   -1,   -1,  161,   -1,  163,   -1, |  | 
| -1,  166,  167,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,  130,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,  192,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,  199,   -1,   -1,   -1,   -1,   -1, |  | 
| 205,   -1,   -1,   -1,   -1,  162,   -1,  164,   -1,   -1, |  | 
| -1,  168,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  176, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| 197,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  206, |  | 
| -1,   -1,  209,   -1,  211,  212,   -1,   -1,   -1,   -1, |  | 
| -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, |  | 
| -1,  228,   -1,   -1,  231, |  | 
| }; | }; | 
| #define YYFINAL 38 |  | 
| #ifndef YYDEBUG | /* YYDEFGOTO[NTERM-NUM]. */ | 
| #define YYDEBUG 0 | static const short yydefgoto[] = | 
| #endif | { | 
| #define YYMAXTOKEN 297 | -1,    47,   154,    62,   188,    63,   189,    64,   190,   126, | 
| #if YYDEBUG | 218,   260,    49,   275,    50,   182,    66,   130,    93,    97, | 
| const char * const yyname[] = { | 98,   235,   236,   237,    51,    99 | 
| "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,0,0,0,0,0,0,0,"'{'","'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |  | 
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |  | 
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |  | 
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"STRUCT","POINT", |  | 
| "NEWSTRUCT","ANS","FDEF","PFDEF","GLOBAL","CMP","OR","AND","CAR","CDR","DO", |  | 
| "WHILE","FOR","IF","ELSE","BREAK","RETURN","CONTINUE","PARIF","MAP","TIMER", |  | 
| "GF2NGEN","GFPNGEN","GETOPT","FOP_AND","FOP_OR","FOP_IMPL","FOP_REPL", |  | 
| "FOP_EQUIV","FOP_NOT","LOP","FORMULA","UCASE","LCASE","STR","SELF","BOPASS", |  | 
| "PLUS","MINUS", |  | 
| }; | }; | 
| const char * const yyrule[] = { |  | 
| "$accept : start", | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing | 
| "start : stat", | STATE-NUM.  */ | 
| "stat : tail", | #define YYPACT_NINF -65 | 
| "$$1 :", | static const short yypact[] = | 
| "$$2 :", | { | 
| "stat : GLOBAL $$1 pvars $$2 tail", | 465,   -36,     8,   -64,   -65,   -27,    19,    26,   -36,   -65, | 
| "stat : STRUCT rawstr '{' members '}' tail", | -65,   -65,    33,   -16,    21,    24,   465,    56,    60,    64, | 
| "stat : expr tail", | -36,   586,   -36,    67,    68,    70,    78,   -65,   -65,   -65, | 
| "stat : complex", | 80,   696,   -65,    81,    25,   -65,   696,   696,   696,   696, | 
| "stat : BREAK tail", | 696,   -65,   536,   -65,   -65,   696,   696,   133,   -65,   -65, | 
| "stat : CONTINUE tail", | -65,    -2,   853,   -65,   -65,   -65,    84,     8,   -65,    86, | 
| "stat : RETURN tail", | -36,   -65,   100,   100,   100,   -65,   -12,   696,   696,   696, | 
| "stat : RETURN expr tail", | 132,   696,   696,   696,   -65,    61,   -65,   853,   -65,   112, | 
| "stat : IF '(' node ')' stat", | 114,   115,   696,   -33,  1173,   696,   696,   696,   118,   -26, | 
| "stat : IF '(' node ')' stat ELSE stat", | -26,  1173,   118,   323,     8,   696,   897,    -9,    92,  1113, | 
| "stat : FOR '(' node ';' node ';' node ')' stat", | 101,   -65,     8,   696,   696,   696,   696,   696,   696,   696, | 
| "stat : WHILE '(' node ')' stat", | 696,   696,   696,   -65,   696,   696,   696,   696,   696,   696, | 
| "stat : DO stat WHILE '(' node ')' tail", | 696,   696,   696,   -65,     8,   108,   111,   696,   -65,   -65, | 
| "stat : LCASE '(' node ')' ':' '=' expr tail", | 109,   109,   109,   134,   -65,   928,   959,   990,   120,   123, | 
| "stat : PFDEF LCASE '(' node ')'", | 110,   127,   696,   -65,   -19,   129,   130,   765,   -65,   135, | 
| "$$3 :", | 139,   116,   -53,   -65,   -65,   140,  1021,   -65,   696,   -65, | 
| "stat : FDEF LCASE $$3 '(' node ')' desc '{' stats '}'", | 696,   -65,   -65,   249,    23,   262,    87,  1234,  1217,  1192, | 
| "stat : error tail", | 173,    45,    -8,  1113,   -26,   -26,   -45,   -45,   -45,   -45, | 
| "tail : ';'", | 1113,  1083,   -60,   -65,   -65,   -65,   141,   156,   -36,   -36, | 
| "tail : '$'", | -36,   -65,   -65,   -65,   -65,   696,   465,   696,   465,   -50, | 
| "desc :", | -65,   696,   696,   696,   696,   -65,   -65,   143,   155,     8, | 
| "desc : STR", | 138,   149,   734,  1113,   -65,   696,   -36,     8,   696,   -36, | 
| "complex : '{' stats '}'", | -65,   -65,   -65,   -65,   150,   -65,   161,   193,   -65,   163, | 
| "members : rawstr", | 164,   165,   809,   696,   177,   -18,   178,   -65,   646,    -2, | 
| "members : members ',' rawstr", | 696,   -65,  1143,   -65,   -65,   -65,   -65,   -36,   696,   465, | 
| "pvars : UCASE", | -65,   -65,   -65,   696,   168,   696,   -65,     8,   696,   169, | 
| "pvars : pvars ',' UCASE", | 171,   -65,   172,   -65,  1052,   -65,   853,   -65,  1113,   -65, | 
| "stats :", | 194,   465,   -65,   -65,   -65,   176,   -65,   -65,   394,   -65 | 
| "stats : stats stat", |  | 
| "node :", |  | 
| "node : _node", |  | 
| "_node : expr", |  | 
| "_node : _node ',' expr", |  | 
| "optlist : opt", |  | 
| "optlist : optlist ',' opt", |  | 
| "rawstr : UCASE", |  | 
| "rawstr : LCASE", |  | 
| "opt : rawstr '=' expr", |  | 
| "pexpr : STR", |  | 
| "pexpr : FORMULA", |  | 
| "pexpr : ANS", |  | 
| "pexpr : GF2NGEN", |  | 
| "pexpr : GFPNGEN", |  | 
| "pexpr : LCASE", |  | 
| "pexpr : LCASE '(' node ')'", |  | 
| "pexpr : LCASE '(' node '|' optlist ')'", |  | 
| "pexpr : LCASE '{' node '}' '(' node ')'", |  | 
| "pexpr : GETOPT '(' rawstr ')'", |  | 
| "pexpr : MAP '(' LCASE ',' node ')'", |  | 
| "pexpr : TIMER '(' expr ',' expr ',' expr ')'", |  | 
| "pexpr : PARIF '(' LCASE ',' node ')'", |  | 
| "pexpr : '(' '*' expr ')' '(' node ')'", |  | 
| "pexpr : CAR '(' expr ')'", |  | 
| "pexpr : CDR '(' expr ')'", |  | 
| "pexpr : '(' expr ')'", |  | 
| "pexpr : UCASE", |  | 
| "pexpr : pexpr '[' expr ']'", |  | 
| "pexpr : pexpr POINT rawstr", |  | 
| "expr : pexpr", |  | 
| "expr : '(' STRUCT rawstr ')' pexpr", |  | 
| "expr : expr '=' expr", |  | 
| "expr : expr BOPASS expr", |  | 
| "expr : expr SELF", |  | 
| "expr : SELF expr", |  | 
| "expr : '[' node ']'", |  | 
| "expr : '+' expr", |  | 
| "expr : '-' expr", |  | 
| "expr : expr '+' expr", |  | 
| "expr : expr '-' expr", |  | 
| "expr : expr '*' expr", |  | 
| "expr : expr '/' expr", |  | 
| "expr : expr '%' expr", |  | 
| "expr : expr '^' expr", |  | 
| "expr : expr CMP expr", |  | 
| "expr : '!' expr", |  | 
| "expr : expr OR expr", |  | 
| "expr : expr AND expr", |  | 
| "expr : FOP_NOT expr", |  | 
| "expr : expr FOP_AND expr", |  | 
| "expr : expr FOP_OR expr", |  | 
| "expr : expr FOP_IMPL expr", |  | 
| "expr : expr FOP_REPL expr", |  | 
| "expr : expr FOP_EQUIV expr", |  | 
| "expr : expr LOP expr", |  | 
| "expr : expr '?' expr ':' expr", |  | 
| "expr : '<' node '>'", |  | 
| "expr : NEWSTRUCT '(' rawstr ')'", |  | 
| }; | }; | 
|  |  | 
|  | /* YYPGOTO[NTERM-NUM].  */ | 
|  | static const yysigned_char yypgoto[] = | 
|  | { | 
|  | -65,   -65,     1,   -65,   -65,   -65,   -65,   -65,   -65,   -65, | 
|  | -65,   -65,     4,   -65,   -65,   -65,   -65,    66,   -34,    79, | 
|  | -65,   -65,    30,   -13,    35,     0 | 
|  | }; | 
|  |  | 
|  | /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If | 
|  | positive, shift that token.  If negative, reduce the rule which | 
|  | number is the opposite.  If zero, do what YYDEFACT says. | 
|  | If YYTABLE_NINF, syntax error.  */ | 
|  | #define YYTABLE_NINF -1 | 
|  | static const unsigned short yytable[] = | 
|  | { | 
|  | 52,    48,   102,    57,   113,    53,   216,   104,   105,   106, | 
|  | 119,   217,    61,    54,    55,   208,    52,    70,   228,   209, | 
|  | 58,    77,   209,   113,    74,    76,    78,   117,   118,   119, | 
|  | 120,    84,    56,    43,    44,   148,    88,    89,    90,    91, | 
|  | 92,   113,    96,   115,   116,   117,   118,   119,   120,   200, | 
|  | 256,    67,   201,   257,    54,    55,   123,    43,    44,   133, | 
|  | 104,   105,   106,   158,   128,   159,    59,   135,   136,   137, | 
|  | 134,   103,   113,    60,   115,   116,   117,   118,   119,   120, | 
|  | 65,   143,   147,   107,   108,   109,   110,   125,    68,   112, | 
|  | 86,    69,    87,    52,   113,   156,   115,   116,   117,   118, | 
|  | 119,   120,   104,   163,   164,   165,   166,   167,   168,   169, | 
|  | 170,   171,   172,   149,   173,   174,   175,   176,   177,   178, | 
|  | 179,   180,   181,    71,   155,   100,    86,    72,   142,   131, | 
|  | 132,    73,   162,   101,    79,    80,   113,    81,   115,   116, | 
|  | 117,   118,   119,   120,     4,    82,   129,    83,    85,   124, | 
|  | 139,   140,   141,   127,   183,   138,    13,    14,   212,   144, | 
|  | 213,   145,   146,   160,   150,   151,   152,   113,    23,    24, | 
|  | 25,    26,    27,    28,    29,    30,   184,   161,   185,   197, | 
|  | 187,   191,   207,    32,    33,    75,    35,   195,   104,   105, | 
|  | 106,   196,   221,   222,   223,   198,    52,   225,    52,   227, | 
|  | 202,   203,   220,   205,   232,   238,   186,   206,   210,   219, | 
|  | 233,   107,   108,   109,   234,   242,   240,   112,   247,   249, | 
|  | 243,   199,   113,   246,   115,   116,   117,   118,   119,   120, | 
|  | 248,   250,   251,   252,   255,   258,   265,   269,    96,   270, | 
|  | 271,   277,   274,   278,   267,   239,     0,   244,     0,    52, | 
|  | 263,   261,     0,   264,     0,   266,     0,     0,   268,     0, | 
|  | 0,     0,     0,     0,   104,   105,   106,     0,     0,     0, | 
|  | 273,    52,   276,     0,   224,     0,   226,   104,    52,   106, | 
|  | 229,   230,   231,     0,     0,     0,     0,   107,   108,   109, | 
|  | 110,   111,     0,   112,     0,     0,     0,   245,   113,   114, | 
|  | 115,   116,   117,   118,   119,   120,   121,   122,     0,     0, | 
|  | 0,   113,   254,   115,   116,   117,   118,   119,   120,   259, | 
|  | 0,     0,     0,   214,     1,     0,     2,   262,     3,     4, | 
|  | 5,     6,     7,     8,     9,    10,    11,    12,     0,     0, | 
|  | 0,    13,    14,    15,     0,    16,    17,    18,    19,     0, | 
|  | 20,    21,    22,    23,    24,    25,    26,    27,    28,    29, | 
|  | 30,     0,     0,     0,     0,     0,    31,     0,    32,    33, | 
|  | 34,    35,    36,     0,    37,    38,     0,     0,     0,     0, | 
|  | 0,     0,     0,    39,     0,     0,     0,    40,    41,   153, | 
|  | 42,     0,    43,    44,     0,     1,    45,     2,    46,     3, | 
|  | 4,     5,     6,     7,     8,     9,    10,    11,    12,     0, | 
|  | 0,     0,    13,    14,    15,     0,    16,    17,    18,    19, | 
|  | 0,    20,    21,    22,    23,    24,    25,    26,    27,    28, | 
|  | 29,    30,     0,     0,     0,     0,     0,    31,     0,    32, | 
|  | 33,    34,    35,    36,     0,    37,    38,     0,     0,     0, | 
|  | 0,     0,     0,     0,    39,     0,     0,     0,    40,    41, | 
|  | 279,    42,     0,    43,    44,     0,     1,    45,     2,    46, | 
|  | 3,     4,     5,     6,     7,     8,     9,    10,    11,    12, | 
|  | 0,     0,     0,    13,    14,    15,     0,    16,    17,    18, | 
|  | 19,     0,    20,    21,    22,    23,    24,    25,    26,    27, | 
|  | 28,    29,    30,     0,     0,     0,     0,     0,    31,     0, | 
|  | 32,    33,    34,    35,    36,     0,    37,    38,     0,     0, | 
|  | 0,     0,     0,     0,     0,    39,     0,     0,     0,    40, | 
|  | 41,     0,    42,     0,    43,    44,     0,     0,    45,    94, | 
|  | 46,     3,     4,     0,     0,     0,     0,     0,     0,     0, | 
|  | 0,     0,     0,     0,    13,    14,    15,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,    23,    24,    25,    26, | 
|  | 27,    28,    29,    30,     0,     0,     0,     0,     0,    31, | 
|  | 0,    32,    33,    75,    35,    36,     0,    37,    38,    95, | 
|  | 0,     3,     4,     0,     0,     0,    39,     0,     0,     0, | 
|  | 40,     0,     0,    42,    13,    14,    15,     0,     0,    45, | 
|  | 0,    46,     0,     0,     0,     0,    23,    24,    25,    26, | 
|  | 27,    28,    29,    30,     0,     0,     0,     0,     0,    31, | 
|  | 0,    32,    33,    75,    35,    36,     0,    37,    38,     0, | 
|  | 0,     0,     0,     0,     0,     0,    39,     0,     0,     0, | 
|  | 40,     3,     4,    42,     0,    43,    44,     0,     0,    45, | 
|  | 0,    46,     0,     0,    13,    14,    15,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,    23,    24,    25,    26, | 
|  | 27,    28,    29,    30,     0,     0,     0,     0,     0,    31, | 
|  | 0,    32,    33,    75,    35,    36,     0,    37,    38,    95, | 
|  | 0,     3,     4,     0,     0,     0,    39,     0,     0,     0, | 
|  | 40,     0,     0,    42,    13,    14,    15,     0,     0,    45, | 
|  | 0,    46,     0,     0,     0,     0,    23,    24,    25,    26, | 
|  | 27,    28,    29,    30,     0,     0,     0,     0,     0,    31, | 
|  | 0,    32,    33,    75,    35,    36,     0,    37,    38,   104, | 
|  | 105,   106,     0,     0,     0,     0,    39,     0,     0,     0, | 
|  | 40,     0,     0,    42,     0,     0,     0,     0,     0,    45, | 
|  | 0,    46,   107,   108,   109,   110,   111,     0,   112,     0, | 
|  | 104,   105,   106,   113,   114,   115,   116,   117,   118,   119, | 
|  | 120,   121,   122,     0,     0,     0,     0,     0,     0,     0, | 
|  | 0,     0,     0,   107,   108,   109,   110,   111,   241,   112, | 
|  | 0,     0,     0,     0,   113,   114,   115,   116,   117,   118, | 
|  | 119,   120,   121,   122,   104,   105,   106,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,   204,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,     0,   107,   108,   109, | 
|  | 110,   111,     0,   112,     0,     0,     0,     0,   113,   114, | 
|  | 115,   116,   117,   118,   119,   120,   121,   122,   104,   105, | 
|  | 106,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|  | 253,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|  | 0,   107,   108,   109,   110,   111,     0,   112,     0,     0, | 
|  | 0,     0,   113,   114,   115,   116,   117,   118,   119,   120, | 
|  | 121,   122,   104,   105,   106,     0,     0,     0,     0,     0, | 
|  | 0,     0,    43,    44,     0,     0,     0,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,   107,   108,   109,   110,   111, | 
|  | 0,   112,     0,   104,   105,   106,   113,   114,   115,   116, | 
|  | 117,   118,   119,   120,   121,   122,     0,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,   157,   107,   108,   109,   110, | 
|  | 111,     0,   112,     0,   104,   105,   106,   113,   114,   115, | 
|  | 116,   117,   118,   119,   120,   121,   122,     0,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,   192,   107,   108,   109, | 
|  | 110,   111,     0,   112,     0,   104,   105,   106,   113,   114, | 
|  | 115,   116,   117,   118,   119,   120,   121,   122,     0,     0, | 
|  | 0,     0,     0,     0,     0,     0,     0,   193,   107,   108, | 
|  | 109,   110,   111,     0,   112,     0,   104,   105,   106,   113, | 
|  | 114,   115,   116,   117,   118,   119,   120,   121,   122,     0, | 
|  | 0,     0,     0,     0,     0,     0,     0,     0,   194,   107, | 
|  | 108,   109,   110,   111,     0,   112,     0,   104,   105,   106, | 
|  | 113,   114,   115,   116,   117,   118,   119,   120,   121,   122, | 
|  | 0,     0,     0,     0,     0,     0,     0,     0,     0,   211, | 
|  | 107,   108,   109,   110,   111,     0,   112,     0,   104,   105, | 
|  | 106,   113,   114,   115,   116,   117,   118,   119,   120,   121, | 
|  | 122,     0,     0,     0,     0,     0,     0,     0,     0,     0, | 
|  | 272,   107,   108,   109,   110,   111,     0,   112,   104,   105, | 
|  | 106,     0,   113,   114,   115,   116,   117,   118,   119,   120, | 
|  | 121,   122,   215,     0,     0,     0,     0,     0,     0,     0, | 
|  | 0,   107,   108,   109,   110,   111,     0,   112,   104,   105, | 
|  | 106,     0,   113,   114,   115,   116,   117,   118,   119,   120, | 
|  | 121,   122,     0,     0,     0,     0,     0,     0,     0,     0, | 
|  | 0,   107,   108,   109,   110,   111,     0,   112,   104,   105, | 
|  | 106,     0,   113,     0,   115,   116,   117,   118,   119,   120, | 
|  | 0,   122,     0,     0,     0,     0,     0,   104,   105,   106, | 
|  | 0,   107,   108,   109,   110,   111,     0,   112,     0,     0, | 
|  | 0,     0,   113,     0,   115,   116,   117,   118,   119,   120, | 
|  | 107,   108,   104,   105,   106,     0,   112,     0,     0,     0, | 
|  | 0,   113,     0,   115,   116,   117,   118,   119,   120,   104, | 
|  | 105,   106,     0,     0,     0,   107,     0,     0,     0,     0, | 
|  | 0,   112,     0,     0,     0,     0,   113,     0,   115,   116, | 
|  | 117,   118,   119,   120,     0,     0,     0,     0,   112,     0, | 
|  | 0,     0,     0,   113,     0,   115,   116,   117,   118,   119, | 
|  | 120 | 
|  | }; | 
|  |  | 
|  | static const short yycheck[] = | 
|  | { | 
|  | 0,     0,     4,    67,    49,     1,    66,    15,    16,    17, | 
|  | 55,    71,     8,    46,    47,    68,    16,    16,    68,    72, | 
|  | 47,    21,    72,    49,    20,    21,    22,    53,    54,    55, | 
|  | 56,    31,     2,    69,    70,    68,    36,    37,    38,    39, | 
|  | 40,    49,    42,    51,    52,    53,    54,    55,    56,    68, | 
|  | 68,    67,    71,    71,    46,    47,    52,    69,    70,    71, | 
|  | 15,    16,    17,    72,    60,    74,    47,    67,    68,    69, | 
|  | 66,    73,    49,    47,    51,    52,    53,    54,    55,    56, | 
|  | 47,    77,    82,    38,    39,    40,    41,    57,    67,    44, | 
|  | 65,    67,    67,    93,    49,    95,    51,    52,    53,    54, | 
|  | 55,    56,    15,   103,   104,   105,   106,   107,   108,   109, | 
|  | 110,   111,   112,    83,   114,   115,   116,   117,   118,   119, | 
|  | 120,   121,   122,    67,    94,    46,    65,    67,    67,    63, | 
|  | 64,    67,   102,     0,    67,    67,    49,    67,    51,    52, | 
|  | 53,    54,    55,    56,     6,    67,    46,    67,    67,    65, | 
|  | 71,    72,    73,    67,   124,    23,    18,    19,   158,    47, | 
|  | 160,    47,    47,    71,    85,    86,    87,    49,    30,    31, | 
|  | 32,    33,    34,    35,    36,    37,    68,    76,    67,    69, | 
|  | 71,    47,    66,    45,    46,    47,    48,    67,    15,    16, | 
|  | 17,    68,   188,   189,   190,    68,   196,   196,   198,   198, | 
|  | 71,    71,    46,    68,   204,    67,   127,    68,    68,    68, | 
|  | 67,    38,    39,    40,    59,   215,    67,    44,    68,    26, | 
|  | 216,   142,    49,   219,    51,    52,    53,    54,    55,    56, | 
|  | 69,    68,    68,    68,    57,    57,    68,    68,   238,    68, | 
|  | 68,    65,    48,   277,   257,   210,    -1,   217,    -1,   249, | 
|  | 249,   247,    -1,   253,    -1,   255,    -1,    -1,   258,    -1, | 
|  | -1,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1, | 
|  | 266,   271,   271,    -1,   195,    -1,   197,    15,   278,    17, | 
|  | 201,   202,   203,    -1,    -1,    -1,    -1,    38,    39,    40, | 
|  | 41,    42,    -1,    44,    -1,    -1,    -1,   218,    49,    50, | 
|  | 51,    52,    53,    54,    55,    56,    57,    58,    -1,    -1, | 
|  | -1,    49,   233,    51,    52,    53,    54,    55,    56,   240, | 
|  | -1,    -1,    -1,    74,     1,    -1,     3,   248,     5,     6, | 
|  | 7,     8,     9,    10,    11,    12,    13,    14,    -1,    -1, | 
|  | -1,    18,    19,    20,    -1,    22,    23,    24,    25,    -1, | 
|  | 27,    28,    29,    30,    31,    32,    33,    34,    35,    36, | 
|  | 37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46, | 
|  | 47,    48,    49,    -1,    51,    52,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,    66, | 
|  | 67,    -1,    69,    70,    -1,     1,    73,     3,    75,     5, | 
|  | 6,     7,     8,     9,    10,    11,    12,    13,    14,    -1, | 
|  | -1,    -1,    18,    19,    20,    -1,    22,    23,    24,    25, | 
|  | -1,    27,    28,    29,    30,    31,    32,    33,    34,    35, | 
|  | 36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45, | 
|  | 46,    47,    48,    49,    -1,    51,    52,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65, | 
|  | 66,    67,    -1,    69,    70,    -1,     1,    73,     3,    75, | 
|  | 5,     6,     7,     8,     9,    10,    11,    12,    13,    14, | 
|  | -1,    -1,    -1,    18,    19,    20,    -1,    22,    23,    24, | 
|  | 25,    -1,    27,    28,    29,    30,    31,    32,    33,    34, | 
|  | 35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1, | 
|  | 45,    46,    47,    48,    49,    -1,    51,    52,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64, | 
|  | 65,    -1,    67,    -1,    69,    70,    -1,    -1,    73,     3, | 
|  | 75,     5,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    18,    19,    20,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33, | 
|  | 34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43, | 
|  | -1,    45,    46,    47,    48,    49,    -1,    51,    52,    53, | 
|  | -1,     5,     6,    -1,    -1,    -1,    60,    -1,    -1,    -1, | 
|  | 64,    -1,    -1,    67,    18,    19,    20,    -1,    -1,    73, | 
|  | -1,    75,    -1,    -1,    -1,    -1,    30,    31,    32,    33, | 
|  | 34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43, | 
|  | -1,    45,    46,    47,    48,    49,    -1,    51,    52,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1, | 
|  | 64,     5,     6,    67,    -1,    69,    70,    -1,    -1,    73, | 
|  | -1,    75,    -1,    -1,    18,    19,    20,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,    33, | 
|  | 34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43, | 
|  | -1,    45,    46,    47,    48,    49,    -1,    51,    52,    53, | 
|  | -1,     5,     6,    -1,    -1,    -1,    60,    -1,    -1,    -1, | 
|  | 64,    -1,    -1,    67,    18,    19,    20,    -1,    -1,    73, | 
|  | -1,    75,    -1,    -1,    -1,    -1,    30,    31,    32,    33, | 
|  | 34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43, | 
|  | -1,    45,    46,    47,    48,    49,    -1,    51,    52,    15, | 
|  | 16,    17,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1, | 
|  | 64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,    73, | 
|  | -1,    75,    38,    39,    40,    41,    42,    -1,    44,    -1, | 
|  | 15,    16,    17,    49,    50,    51,    52,    53,    54,    55, | 
|  | 56,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    38,    39,    40,    41,    42,    74,    44, | 
|  | -1,    -1,    -1,    -1,    49,    50,    51,    52,    53,    54, | 
|  | 55,    56,    57,    58,    15,    16,    17,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    40, | 
|  | 41,    42,    -1,    44,    -1,    -1,    -1,    -1,    49,    50, | 
|  | 51,    52,    53,    54,    55,    56,    57,    58,    15,    16, | 
|  | 17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | 71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    38,    39,    40,    41,    42,    -1,    44,    -1,    -1, | 
|  | -1,    -1,    49,    50,    51,    52,    53,    54,    55,    56, | 
|  | 57,    58,    15,    16,    17,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    38,    39,    40,    41,    42, | 
|  | -1,    44,    -1,    15,    16,    17,    49,    50,    51,    52, | 
|  | 53,    54,    55,    56,    57,    58,    -1,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    68,    38,    39,    40,    41, | 
|  | 42,    -1,    44,    -1,    15,    16,    17,    49,    50,    51, | 
|  | 52,    53,    54,    55,    56,    57,    58,    -1,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    68,    38,    39,    40, | 
|  | 41,    42,    -1,    44,    -1,    15,    16,    17,    49,    50, | 
|  | 51,    52,    53,    54,    55,    56,    57,    58,    -1,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    38,    39, | 
|  | 40,    41,    42,    -1,    44,    -1,    15,    16,    17,    49, | 
|  | 50,    51,    52,    53,    54,    55,    56,    57,    58,    -1, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    38, | 
|  | 39,    40,    41,    42,    -1,    44,    -1,    15,    16,    17, | 
|  | 49,    50,    51,    52,    53,    54,    55,    56,    57,    58, | 
|  | -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68, | 
|  | 38,    39,    40,    41,    42,    -1,    44,    -1,    15,    16, | 
|  | 17,    49,    50,    51,    52,    53,    54,    55,    56,    57, | 
|  | 58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | 68,    38,    39,    40,    41,    42,    -1,    44,    15,    16, | 
|  | 17,    -1,    49,    50,    51,    52,    53,    54,    55,    56, | 
|  | 57,    58,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    38,    39,    40,    41,    42,    -1,    44,    15,    16, | 
|  | 17,    -1,    49,    50,    51,    52,    53,    54,    55,    56, | 
|  | 57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, | 
|  | -1,    38,    39,    40,    41,    42,    -1,    44,    15,    16, | 
|  | 17,    -1,    49,    -1,    51,    52,    53,    54,    55,    56, | 
|  | -1,    58,    -1,    -1,    -1,    -1,    -1,    15,    16,    17, | 
|  | -1,    38,    39,    40,    41,    42,    -1,    44,    -1,    -1, | 
|  | -1,    -1,    49,    -1,    51,    52,    53,    54,    55,    56, | 
|  | 38,    39,    15,    16,    17,    -1,    44,    -1,    -1,    -1, | 
|  | -1,    49,    -1,    51,    52,    53,    54,    55,    56,    15, | 
|  | 16,    17,    -1,    -1,    -1,    38,    -1,    -1,    -1,    -1, | 
|  | -1,    44,    -1,    -1,    -1,    -1,    49,    -1,    51,    52, | 
|  | 53,    54,    55,    56,    -1,    -1,    -1,    -1,    44,    -1, | 
|  | -1,    -1,    -1,    49,    -1,    51,    52,    53,    54,    55, | 
|  | 56 | 
|  | }; | 
|  |  | 
|  | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing | 
|  | symbol of state STATE-NUM.  */ | 
|  | static const unsigned char yystos[] = | 
|  | { | 
|  | 0,     1,     3,     5,     6,     7,     8,     9,    10,    11, | 
|  | 12,    13,    14,    18,    19,    20,    22,    23,    24,    25, | 
|  | 27,    28,    29,    30,    31,    32,    33,    34,    35,    36, | 
|  | 37,    43,    45,    46,    47,    48,    49,    51,    52,    60, | 
|  | 64,    65,    67,    69,    70,    73,    75,    78,    79,    89, | 
|  | 91,   101,   102,    89,    46,    47,    99,    67,    47,    47, | 
|  | 47,    89,    80,    82,    84,    47,    93,    67,    67,    67, | 
|  | 79,    67,    67,    67,    89,    47,    89,   102,    89,    67, | 
|  | 67,    67,    67,    67,   102,    67,    65,    67,   102,   102, | 
|  | 102,   102,   102,    95,     3,    53,   102,    96,    97,   102, | 
|  | 96,     0,     4,    73,    15,    16,    17,    38,    39,    40, | 
|  | 41,    42,    44,    49,    50,    51,    52,    53,    54,    55, | 
|  | 56,    57,    58,    89,    65,    99,    86,    67,    89,    46, | 
|  | 94,    94,    94,    71,    89,   102,   102,   102,    23,    96, | 
|  | 96,    96,    67,    89,    47,    47,    47,   102,    68,    99, | 
|  | 96,    96,    96,    66,    79,    99,   102,    68,    72,    74, | 
|  | 71,    76,    99,   102,   102,   102,   102,   102,   102,   102, | 
|  | 102,   102,   102,   102,   102,   102,   102,   102,   102,   102, | 
|  | 102,   102,    92,    99,    68,    67,    96,    71,    81,    83, | 
|  | 85,    47,    68,    68,    68,    67,    68,    69,    68,    96, | 
|  | 68,    71,    71,    71,    71,    68,    68,    66,    68,    72, | 
|  | 68,    68,   102,   102,    74,    59,    66,    71,    87,    68, | 
|  | 46,    89,    89,    89,    96,    79,    96,    79,    68,    96, | 
|  | 96,    96,   102,    67,    59,    98,    99,   100,    67,   101, | 
|  | 67,    74,   102,    89,    99,    96,    89,    68,    69,    26, | 
|  | 68,    68,    68,    71,    96,    57,    68,    71,    57,    96, | 
|  | 88,    89,    96,    79,   102,    68,   102,   100,   102,    68, | 
|  | 68,    68,    68,    89,    48,    90,    79,    65,    95,    66 | 
|  | }; | 
|  |  | 
|  | #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) | 
|  | # define YYSIZE_T __SIZE_TYPE__ | 
| #endif | #endif | 
| #if YYDEBUG | #if ! defined (YYSIZE_T) && defined (size_t) | 
| #include <stdio.h> | # define YYSIZE_T size_t | 
| #endif | #endif | 
| #ifdef YYSTACKSIZE | #if ! defined (YYSIZE_T) | 
| #undef YYMAXDEPTH | # if defined (__STDC__) || defined (__cplusplus) | 
| #define YYMAXDEPTH YYSTACKSIZE | #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */ | 
|  | #  define YYSIZE_T size_t | 
|  | # endif | 
|  | #endif | 
|  | #if ! defined (YYSIZE_T) | 
|  | # define YYSIZE_T unsigned int | 
|  | #endif | 
|  |  | 
|  | #define yyerrok         (yyerrstatus = 0) | 
|  | #define yyclearin       (yychar = YYEMPTY) | 
|  | #define YYEMPTY         (-2) | 
|  | #define YYEOF           0 | 
|  |  | 
|  | #define YYACCEPT        goto yyacceptlab | 
|  | #define YYABORT         goto yyabortlab | 
|  | #define YYERROR         goto yyerrlab1 | 
|  |  | 
|  |  | 
|  | /* Like YYERROR except do call yyerror.  This remains here temporarily | 
|  | to ease the transition to the new meaning of YYERROR, for GCC. | 
|  | Once GCC version 2 has supplanted version 1, this can go.  */ | 
|  |  | 
|  | #define YYFAIL          goto yyerrlab | 
|  |  | 
|  | #define YYRECOVERING()  (!!yyerrstatus) | 
|  |  | 
|  | #define YYBACKUP(Token, Value)                                  \ | 
|  | do                                                              \ | 
|  | if (yychar == YYEMPTY && yylen == 1)                          \ | 
|  | {                                                           \ | 
|  | yychar = (Token);                                         \ | 
|  | yylval = (Value);                                         \ | 
|  | yytoken = YYTRANSLATE (yychar);                           \ | 
|  | YYPOPSTACK;                                               \ | 
|  | goto yybackup;                                            \ | 
|  | }                                                           \ | 
|  | else                                                          \ | 
|  | {                                                           \ | 
|  | yyerror ("syntax error: cannot back up");\ | 
|  | YYERROR;                                                  \ | 
|  | }                                                           \ | 
|  | while (0) | 
|  |  | 
|  | #define YYTERROR        1 | 
|  | #define YYERRCODE       256 | 
|  |  | 
|  | /* YYLLOC_DEFAULT -- Compute the default location (before the actions | 
|  | are run).  */ | 
|  |  | 
|  | #ifndef YYLLOC_DEFAULT | 
|  | # define YYLLOC_DEFAULT(Current, Rhs, N)         \ | 
|  | Current.first_line   = Rhs[1].first_line;      \ | 
|  | Current.first_column = Rhs[1].first_column;    \ | 
|  | Current.last_line    = Rhs[N].last_line;       \ | 
|  | Current.last_column  = Rhs[N].last_column; | 
|  | #endif | 
|  |  | 
|  | /* YYLEX -- calling `yylex' with the right arguments.  */ | 
|  |  | 
|  | #ifdef YYLEX_PARAM | 
|  | # define YYLEX yylex (YYLEX_PARAM) | 
| #else | #else | 
| #ifdef YYMAXDEPTH | # define YYLEX yylex () | 
| #define YYSTACKSIZE YYMAXDEPTH | #endif | 
|  |  | 
|  | /* Enable debugging if requested.  */ | 
|  | #if YYDEBUG | 
|  |  | 
|  | # ifndef YYFPRINTF | 
|  | #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */ | 
|  | #  define YYFPRINTF fprintf | 
|  | # endif | 
|  |  | 
|  | # define YYDPRINTF(Args)                        \ | 
|  | do {                                            \ | 
|  | if (yydebug)                                  \ | 
|  | YYFPRINTF Args;                             \ | 
|  | } while (0) | 
|  |  | 
|  | # define YYDSYMPRINT(Args)                      \ | 
|  | do {                                            \ | 
|  | if (yydebug)                                  \ | 
|  | yysymprint Args;                            \ | 
|  | } while (0) | 
|  |  | 
|  | # define YYDSYMPRINTF(Title, Token, Value, Location)            \ | 
|  | do {                                                            \ | 
|  | if (yydebug)                                                  \ | 
|  | {                                                           \ | 
|  | YYFPRINTF (stderr, "%s ", Title);                         \ | 
|  | yysymprint (stderr,                                       \ | 
|  | Token, Value);        \ | 
|  | YYFPRINTF (stderr, "\n");                                 \ | 
|  | }                                                           \ | 
|  | } while (0) | 
|  |  | 
|  | /*------------------------------------------------------------------. | 
|  | | yy_stack_print -- Print the state stack from its BOTTOM up to its | | 
|  | | TOP (cinluded).                                                   | | 
|  | `------------------------------------------------------------------*/ | 
|  |  | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | static void | 
|  | yy_stack_print (short *bottom, short *top) | 
| #else | #else | 
| #define YYSTACKSIZE 10000 | static void | 
| #define YYMAXDEPTH 10000 | yy_stack_print (bottom, top) | 
|  | short *bottom; | 
|  | short *top; | 
| #endif | #endif | 
|  | { | 
|  | YYFPRINTF (stderr, "Stack now"); | 
|  | for (/* Nothing. */; bottom <= top; ++bottom) | 
|  | YYFPRINTF (stderr, " %d", *bottom); | 
|  | YYFPRINTF (stderr, "\n"); | 
|  | } | 
|  |  | 
|  | # define YY_STACK_PRINT(Bottom, Top)                            \ | 
|  | do {                                                            \ | 
|  | if (yydebug)                                                  \ | 
|  | yy_stack_print ((Bottom), (Top));                           \ | 
|  | } while (0) | 
|  |  | 
|  |  | 
|  | /*------------------------------------------------. | 
|  | | Report that the YYRULE is going to be reduced.  | | 
|  | `------------------------------------------------*/ | 
|  |  | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | static void | 
|  | yy_reduce_print (int yyrule) | 
|  | #else | 
|  | static void | 
|  | yy_reduce_print (yyrule) | 
|  | int yyrule; | 
| #endif | #endif | 
| #define YYINITSTACKSIZE 200 | { | 
|  | int yyi; | 
|  | unsigned int yylno = yyrline[yyrule]; | 
|  | YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", | 
|  | yyrule - 1, yylno); | 
|  | /* Print the symbols being reduced, and their result.  */ | 
|  | for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) | 
|  | YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); | 
|  | YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); | 
|  | } | 
|  |  | 
|  | # define YY_REDUCE_PRINT(Rule)          \ | 
|  | do {                                    \ | 
|  | if (yydebug)                          \ | 
|  | yy_reduce_print (Rule);             \ | 
|  | } while (0) | 
|  |  | 
|  | /* Nonzero means print parse trace.  It is left uninitialized so that | 
|  | multiple parsers can coexist.  */ | 
| int yydebug; | int yydebug; | 
| int yynerrs; | #else /* !YYDEBUG */ | 
| int yyerrflag; | # define YYDPRINTF(Args) | 
| int yychar; | # define YYDSYMPRINT(Args) | 
| short *yyssp; | # define YYDSYMPRINTF(Title, Token, Value, Location) | 
| YYSTYPE *yyvsp; | # define YY_STACK_PRINT(Bottom, Top) | 
| YYSTYPE yyval; | # define YY_REDUCE_PRINT(Rule) | 
| YYSTYPE yylval; | #endif /* !YYDEBUG */ | 
| short *yyss; |  | 
| short *yysslim; |  | 
| YYSTYPE *yyvs; | /* YYINITDEPTH -- initial size of the parser's stacks.  */ | 
| int yystacksize; | #ifndef YYINITDEPTH | 
| /* allocate initial stack or double stack size, up to YYMAXDEPTH */ | # define YYINITDEPTH 200 | 
| static int yygrowstack() | #endif | 
|  |  | 
|  | /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only | 
|  | if the built-in stack extension method is used). | 
|  |  | 
|  | Do not make this value too large; the results are undefined if | 
|  | SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) | 
|  | evaluated with infinite-precision integer arithmetic.  */ | 
|  |  | 
|  | #if YYMAXDEPTH == 0 | 
|  | # undef YYMAXDEPTH | 
|  | #endif | 
|  |  | 
|  | #ifndef YYMAXDEPTH | 
|  | # define YYMAXDEPTH 10000 | 
|  | #endif | 
|  |  | 
|  |  | 
|  |  | 
|  | #if YYERROR_VERBOSE | 
|  |  | 
|  | # ifndef yystrlen | 
|  | #  if defined (__GLIBC__) && defined (_STRING_H) | 
|  | #   define yystrlen strlen | 
|  | #  else | 
|  | /* Return the length of YYSTR.  */ | 
|  | static YYSIZE_T | 
|  | #   if defined (__STDC__) || defined (__cplusplus) | 
|  | yystrlen (const char *yystr) | 
|  | #   else | 
|  | yystrlen (yystr) | 
|  | const char *yystr; | 
|  | #   endif | 
| { | { | 
| int newsize, i; | register const char *yys = yystr; | 
| short *newss; |  | 
| YYSTYPE *newvs; |  | 
|  |  | 
| if ((newsize = yystacksize) == 0) | while (*yys++ != '\0') | 
| newsize = YYINITSTACKSIZE; | continue; | 
| else if (newsize >= YYMAXDEPTH) |  | 
| return -1; | return yys - yystr - 1; | 
| else if ((newsize *= 2) > YYMAXDEPTH) |  | 
| newsize = YYMAXDEPTH; |  | 
| i = yyssp - yyss; |  | 
| newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) : |  | 
| (short *)malloc(newsize * sizeof *newss); |  | 
| if (newss == NULL) |  | 
| return -1; |  | 
| yyss = newss; |  | 
| yyssp = newss + i; |  | 
| newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) : |  | 
| (YYSTYPE *)malloc(newsize * sizeof *newvs); |  | 
| if (newvs == NULL) |  | 
| return -1; |  | 
| yyvs = newvs; |  | 
| yyvsp = newvs + i; |  | 
| yystacksize = newsize; |  | 
| yysslim = yyss + newsize - 1; |  | 
| return 0; |  | 
| } | } | 
|  | #  endif | 
|  | # endif | 
|  |  | 
| #define YYABORT goto yyabort | # ifndef yystpcpy | 
| #define YYREJECT goto yyabort | #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) | 
| #define YYACCEPT goto yyaccept | #   define yystpcpy stpcpy | 
| #define YYERROR goto yyerrlab | #  else | 
|  | /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in | 
|  | YYDEST.  */ | 
|  | static char * | 
|  | #   if defined (__STDC__) || defined (__cplusplus) | 
|  | yystpcpy (char *yydest, const char *yysrc) | 
|  | #   else | 
|  | yystpcpy (yydest, yysrc) | 
|  | char *yydest; | 
|  | const char *yysrc; | 
|  | #   endif | 
|  | { | 
|  | register char *yyd = yydest; | 
|  | register const char *yys = yysrc; | 
|  |  | 
| #ifndef YYPARSE_PARAM | while ((*yyd++ = *yys++) != '\0') | 
| #if defined(__cplusplus) || __STDC__ | continue; | 
| #define YYPARSE_PARAM_ARG void |  | 
| #define YYPARSE_PARAM_DECL | return yyd - 1; | 
| #else   /* ! ANSI-C/C++ */ | } | 
| #define YYPARSE_PARAM_ARG | #  endif | 
| #define YYPARSE_PARAM_DECL | # endif | 
| #endif  /* ANSI-C/C++ */ |  | 
| #else   /* YYPARSE_PARAM */ | #endif /* !YYERROR_VERBOSE */ | 
| #ifndef YYPARSE_PARAM_TYPE |  | 
| #define YYPARSE_PARAM_TYPE void * |  | 
|  |  | 
|  | #if YYDEBUG | 
|  | /*--------------------------------. | 
|  | | Print this symbol on YYOUTPUT.  | | 
|  | `--------------------------------*/ | 
|  |  | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | static void | 
|  | yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) | 
|  | #else | 
|  | static void | 
|  | yysymprint (yyoutput, yytype, yyvaluep) | 
|  | FILE *yyoutput; | 
|  | int yytype; | 
|  | YYSTYPE *yyvaluep; | 
| #endif | #endif | 
| #if defined(__cplusplus) || __STDC__ | { | 
| #define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM | /* Pacify ``unused variable'' warnings.  */ | 
| #define YYPARSE_PARAM_DECL | (void) yyvaluep; | 
| #else   /* ! ANSI-C/C++ */ |  | 
| #define YYPARSE_PARAM_ARG YYPARSE_PARAM |  | 
| #define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM; |  | 
| #endif  /* ANSI-C/C++ */ |  | 
| #endif  /* ! YYPARSE_PARAM */ |  | 
|  |  | 
| int | if (yytype < YYNTOKENS) | 
| yyparse (YYPARSE_PARAM_ARG) | { | 
| YYPARSE_PARAM_DECL | YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); | 
|  | # ifdef YYPRINT | 
|  | YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); | 
|  | # endif | 
|  | } | 
|  | else | 
|  | YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); | 
|  |  | 
|  | switch (yytype) | 
|  | { | 
|  | default: | 
|  | break; | 
|  | } | 
|  | YYFPRINTF (yyoutput, ")"); | 
|  | } | 
|  |  | 
|  | #endif /* ! YYDEBUG */ | 
|  | /*-----------------------------------------------. | 
|  | | Release the memory associated to this symbol.  | | 
|  | `-----------------------------------------------*/ | 
|  |  | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | static void | 
|  | yydestruct (int yytype, YYSTYPE *yyvaluep) | 
|  | #else | 
|  | static void | 
|  | yydestruct (yytype, yyvaluep) | 
|  | int yytype; | 
|  | YYSTYPE *yyvaluep; | 
|  | #endif | 
| { | { | 
| register int yym, yyn, yystate; | /* Pacify ``unused variable'' warnings.  */ | 
| #if YYDEBUG | (void) yyvaluep; | 
| register const char *yys; |  | 
|  |  | 
| if ((yys = getenv("YYDEBUG"))) | switch (yytype) | 
| { | { | 
| yyn = *yys; |  | 
| if (yyn >= '0' && yyn <= '9') | default: | 
| yydebug = yyn - '0'; | break; | 
| } | } | 
|  | } | 
|  |  | 
|  |  | 
|  | /* Prevent warnings from -Wmissing-prototypes.  */ | 
|  |  | 
|  | #ifdef YYPARSE_PARAM | 
|  | # if defined (__STDC__) || defined (__cplusplus) | 
|  | int yyparse (void *YYPARSE_PARAM); | 
|  | # else | 
|  | int yyparse (); | 
|  | # endif | 
|  | #else /* ! YYPARSE_PARAM */ | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | int yyparse (void); | 
|  | #else | 
|  | int yyparse (); | 
| #endif | #endif | 
|  | #endif /* ! YYPARSE_PARAM */ | 
|  |  | 
| yynerrs = 0; |  | 
| yyerrflag = 0; |  | 
| yychar = (-1); |  | 
|  |  | 
| if (yyss == NULL && yygrowstack()) goto yyoverflow; |  | 
| yyssp = yyss; |  | 
| yyvsp = yyvs; |  | 
| *yyssp = yystate = 0; |  | 
|  |  | 
| yyloop: | /* The lookahead symbol.  */ | 
| if ((yyn = yydefred[yystate])) goto yyreduce; | int yychar; | 
| if (yychar < 0) |  | 
| { | /* The semantic value of the lookahead symbol.  */ | 
| if ((yychar = yylex()) < 0) yychar = 0; | YYSTYPE yylval; | 
| #if YYDEBUG |  | 
| if (yydebug) | /* Number of syntax errors so far.  */ | 
| { | int yynerrs; | 
| 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); | | yyparse.  | | 
| } | `----------*/ | 
|  |  | 
|  | #ifdef YYPARSE_PARAM | 
|  | # if defined (__STDC__) || defined (__cplusplus) | 
|  | int yyparse (void *YYPARSE_PARAM) | 
|  | # else | 
|  | int yyparse (YYPARSE_PARAM) | 
|  | void *YYPARSE_PARAM; | 
|  | # endif | 
|  | #else /* ! YYPARSE_PARAM */ | 
|  | #if defined (__STDC__) || defined (__cplusplus) | 
|  | int | 
|  | yyparse (void) | 
|  | #else | 
|  | int | 
|  | yyparse () | 
|  |  | 
| #endif | #endif | 
|  | #endif | 
|  | { | 
|  |  | 
|  | register int yystate; | 
|  | register int yyn; | 
|  | int yyresult; | 
|  | /* Number of tokens to shift before error messages enabled.  */ | 
|  | int yyerrstatus; | 
|  | /* Lookahead token as an internal (translated) token number.  */ | 
|  | int yytoken = 0; | 
|  |  | 
|  | /* Three stacks and their tools: | 
|  | `yyss': related to states, | 
|  | `yyvs': related to semantic values, | 
|  | `yyls': related to locations. | 
|  |  | 
|  | Refer to the stacks thru separate pointers, to allow yyoverflow | 
|  | to reallocate them elsewhere.  */ | 
|  |  | 
|  | /* The state stack.  */ | 
|  | short yyssa[YYINITDEPTH]; | 
|  | short *yyss = yyssa; | 
|  | register short *yyssp; | 
|  |  | 
|  | /* The semantic value stack.  */ | 
|  | YYSTYPE yyvsa[YYINITDEPTH]; | 
|  | YYSTYPE *yyvs = yyvsa; | 
|  | register YYSTYPE *yyvsp; | 
|  |  | 
|  |  | 
|  |  | 
|  | #define YYPOPSTACK   (yyvsp--, yyssp--) | 
|  |  | 
|  | YYSIZE_T yystacksize = YYINITDEPTH; | 
|  |  | 
|  | /* The variables used to return semantic value and location from the | 
|  | action routines.  */ | 
|  | YYSTYPE yyval; | 
|  |  | 
|  |  | 
|  | /* When reducing, the number of symbols on the RHS of the reduced | 
|  | rule.  */ | 
|  | int yylen; | 
|  |  | 
|  | YYDPRINTF ((stderr, "Starting parse\n")); | 
|  |  | 
|  | yystate = 0; | 
|  | yyerrstatus = 0; | 
|  | yynerrs = 0; | 
|  | yychar = YYEMPTY;             /* Cause a token to be read.  */ | 
|  |  | 
|  | /* Initialize stack pointers. | 
|  | Waste one element of value and location stack | 
|  | so that they stay on the same level as the state stack. | 
|  | The wasted elements are never initialized.  */ | 
|  |  | 
|  | yyssp = yyss; | 
|  | yyvsp = yyvs; | 
|  |  | 
|  | goto yysetstate; | 
|  |  | 
|  | /*------------------------------------------------------------. | 
|  | | yynewstate -- Push a new state, which is found in yystate.  | | 
|  | `------------------------------------------------------------*/ | 
|  | yynewstate: | 
|  | /* In all cases, when you get here, the value and location stacks | 
|  | have just been pushed. so pushing a state here evens the stacks. | 
|  | */ | 
|  | yyssp++; | 
|  |  | 
|  | yysetstate: | 
|  | *yyssp = yystate; | 
|  |  | 
|  | if (yyss + yystacksize - 1 <= yyssp) | 
|  | { | 
|  | /* Get the current used size of the three stacks, in elements.  */ | 
|  | YYSIZE_T yysize = yyssp - yyss + 1; | 
|  |  | 
|  | #ifdef yyoverflow | 
|  | { | 
|  | /* Give user a chance to reallocate the stack. Use copies of | 
|  | these so that the &'s don't force the real ones into | 
|  | memory.  */ | 
|  | YYSTYPE *yyvs1 = yyvs; | 
|  | short *yyss1 = yyss; | 
|  |  | 
|  |  | 
|  | /* Each stack pointer address is followed by the size of the | 
|  | data in use in that stack, in bytes.  This used to be a | 
|  | conditional around just the two extra args, but that might | 
|  | be undefined if yyoverflow is a macro.  */ | 
|  | yyoverflow ("parser stack overflow", | 
|  | &yyss1, yysize * sizeof (*yyssp), | 
|  | &yyvs1, yysize * sizeof (*yyvsp), | 
|  |  | 
|  | &yystacksize); | 
|  |  | 
|  | yyss = yyss1; | 
|  | yyvs = yyvs1; | 
|  | } | 
|  | #else /* no yyoverflow */ | 
|  | # ifndef YYSTACK_RELOCATE | 
|  | goto yyoverflowlab; | 
|  | # else | 
|  | /* Extend the stack our own way.  */ | 
|  | if (YYMAXDEPTH <= yystacksize) | 
|  | goto yyoverflowlab; | 
|  | yystacksize *= 2; | 
|  | if (YYMAXDEPTH < yystacksize) | 
|  | yystacksize = YYMAXDEPTH; | 
|  |  | 
|  | { | 
|  | short *yyss1 = yyss; | 
|  | union yyalloc *yyptr = | 
|  | (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); | 
|  | if (! yyptr) | 
|  | goto yyoverflowlab; | 
|  | YYSTACK_RELOCATE (yyss); | 
|  | YYSTACK_RELOCATE (yyvs); | 
|  |  | 
|  | #  undef YYSTACK_RELOCATE | 
|  | if (yyss1 != yyssa) | 
|  | YYSTACK_FREE (yyss1); | 
|  | } | 
|  | # endif | 
|  | #endif /* no yyoverflow */ | 
|  |  | 
|  | yyssp = yyss + yysize - 1; | 
|  | yyvsp = yyvs + yysize - 1; | 
|  |  | 
|  |  | 
|  | YYDPRINTF ((stderr, "Stack size increased to %lu\n", | 
|  | (unsigned long int) yystacksize)); | 
|  |  | 
|  | if (yyss + yystacksize - 1 <= yyssp) | 
|  | YYABORT; | 
| } | } | 
| if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && |  | 
| yyn <= YYTABLESIZE && yycheck[yyn] == yychar) | YYDPRINTF ((stderr, "Entering state %d\n", yystate)); | 
|  |  | 
|  | goto yybackup; | 
|  |  | 
|  | /*-----------. | 
|  | | yybackup.  | | 
|  | `-----------*/ | 
|  | yybackup: | 
|  |  | 
|  | /* Do appropriate processing given the current state.  */ | 
|  | /* Read a lookahead token if we need one and don't already have one.  */ | 
|  | /* yyresume: */ | 
|  |  | 
|  | /* First try to decide what to do without reference to lookahead token.  */ | 
|  |  | 
|  | yyn = yypact[yystate]; | 
|  | if (yyn == YYPACT_NINF) | 
|  | goto yydefault; | 
|  |  | 
|  | /* Not known => get a lookahead token if don't already have one.  */ | 
|  |  | 
|  | /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */ | 
|  | if (yychar == YYEMPTY) | 
| { | { | 
| #if YYDEBUG | YYDPRINTF ((stderr, "Reading a token: ")); | 
| if (yydebug) | yychar = YYLEX; | 
| printf("%sdebug: state %d, shifting to state %d\n", |  | 
| YYPREFIX, yystate, yytable[yyn]); |  | 
| #endif |  | 
| if (yyssp >= yysslim && yygrowstack()) |  | 
| { |  | 
| 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) | if (yychar <= YYEOF) | 
| { | { | 
| yyn = yytable[yyn]; | yychar = yytoken = YYEOF; | 
| goto yyreduce; | YYDPRINTF ((stderr, "Now at end of input.\n")); | 
| } | } | 
| if (yyerrflag) goto yyinrecovery; | else | 
| #if defined(lint) || defined(__GNUC__) |  | 
| goto yynewerror; |  | 
| #endif |  | 
| yynewerror: |  | 
| yyerror("syntax error"); |  | 
| #if defined(lint) || defined(__GNUC__) |  | 
| goto yyerrlab; |  | 
| #endif |  | 
| yyerrlab: |  | 
| ++yynerrs; |  | 
| yyinrecovery: |  | 
| if (yyerrflag < 3) |  | 
| { | { | 
| yyerrflag = 3; | yytoken = YYTRANSLATE (yychar); | 
| for (;;) | YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); | 
| { |  | 
| if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && |  | 
| yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) |  | 
| { |  | 
| #if YYDEBUG |  | 
| if (yydebug) |  | 
| printf("%sdebug: state %d, error recovery shifting\ |  | 
| to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); |  | 
| #endif |  | 
| if (yyssp >= yysslim && yygrowstack()) |  | 
| { |  | 
| goto yyoverflow; |  | 
| } |  | 
| *++yyssp = yystate = yytable[yyn]; |  | 
| *++yyvsp = yylval; |  | 
| goto yyloop; |  | 
| } |  | 
| else |  | 
| { |  | 
| #if YYDEBUG |  | 
| if (yydebug) |  | 
| printf("%sdebug: error recovery discarding state %d\n", |  | 
| YYPREFIX, *yyssp); |  | 
| #endif |  | 
| if (yyssp <= yyss) goto yyabort; |  | 
| --yyssp; |  | 
| --yyvsp; |  | 
| } |  | 
| } |  | 
| } | } | 
| else |  | 
|  | /* If the proper action on seeing token YYTOKEN is to reduce or to | 
|  | detect an error, take that action.  */ | 
|  | yyn += yytoken; | 
|  | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | 
|  | goto yydefault; | 
|  | yyn = yytable[yyn]; | 
|  | if (yyn <= 0) | 
| { | { | 
| if (yychar == 0) goto yyabort; | if (yyn == 0 || yyn == YYTABLE_NINF) | 
| #if YYDEBUG | goto yyerrlab; | 
| if (yydebug) | yyn = -yyn; | 
| { | goto yyreduce; | 
| 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 |  | 
| yychar = (-1); |  | 
| goto yyloop; |  | 
| } | } | 
|  |  | 
|  | if (yyn == YYFINAL) | 
|  | YYACCEPT; | 
|  |  | 
|  | /* Shift the lookahead token.  */ | 
|  | YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); | 
|  |  | 
|  | /* Discard the token being shifted unless it is eof.  */ | 
|  | if (yychar != YYEOF) | 
|  | yychar = YYEMPTY; | 
|  |  | 
|  | *++yyvsp = yylval; | 
|  |  | 
|  |  | 
|  | /* Count tokens shifted since error; after three, turn off error | 
|  | status.  */ | 
|  | if (yyerrstatus) | 
|  | yyerrstatus--; | 
|  |  | 
|  | yystate = yyn; | 
|  | goto yynewstate; | 
|  |  | 
|  |  | 
|  | /*-----------------------------------------------------------. | 
|  | | yydefault -- do the default action for the current state.  | | 
|  | `-----------------------------------------------------------*/ | 
|  | yydefault: | 
|  | yyn = yydefact[yystate]; | 
|  | if (yyn == 0) | 
|  | goto yyerrlab; | 
|  | goto yyreduce; | 
|  |  | 
|  |  | 
|  | /*-----------------------------. | 
|  | | yyreduce -- Do a reduction.  | | 
|  | `-----------------------------*/ | 
| yyreduce: | yyreduce: | 
| #if YYDEBUG | /* yyn is the number of a rule to reduce with.  */ | 
| if (yydebug) | yylen = yyr2[yyn]; | 
| printf("%sdebug: state %d, reducing by rule %d (%s)\n", |  | 
| YYPREFIX, yystate, yyn, yyrule[yyn]); | /* If YYLEN is nonzero, implement the default value of the action: | 
| #endif | `$$ = $1'. | 
| yym = yylen[yyn]; |  | 
| yyval = yyvsp[1-yym]; | Otherwise, the following line sets YYVAL to garbage. | 
| switch (yyn) | This behavior is undocumented and Bison | 
|  | users should not rely upon it.  Assigning to YYVAL | 
|  | unconditionally makes the parser a bit smaller, and it avoids a | 
|  | GCC warning that YYVAL may be used uninitialized.  */ | 
|  | yyval = yyvsp[1-yylen]; | 
|  |  | 
|  |  | 
|  | YY_REDUCE_PRINT (yyn); | 
|  | switch (yyn) | 
| { | { | 
| case 1: | case 2: | 
| #line 128 "parse.y" |  | 
| { parse_snode = yyvsp[0].s; YYACCEPT; } |  | 
| break; |  | 
| case 2: |  | 
| #line 131 "parse.y" | #line 131 "parse.y" | 
| { yyval.s = 0; } | { | 
| break; | parse_snode = yyvsp[0].s; | 
| case 3: | if ( yychar >= 0 ) | 
| #line 132 "parse.y" | fprintf(stderr, | 
| { gdef=1; } | "Warning: a token was wasted after an 'if' statement without 'else'.\n"); | 
| break; | YYACCEPT; | 
| case 4: | } | 
| #line 132 "parse.y" | break; | 
| { gdef=0; } |  | 
| break; | case 3: | 
| case 5: | #line 140 "parse.y" | 
| #line 133 "parse.y" | { yyval.s = 0; } | 
| { yyval.s = 0; } | break; | 
| break; |  | 
| case 6: | case 4: | 
| #line 135 "parse.y" |  | 
| { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; } |  | 
| break; |  | 
| case 7: |  | 
| #line 137 "parse.y" |  | 
| { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); } |  | 
| break; |  | 
| case 8: |  | 
| #line 139 "parse.y" |  | 
| { yyval.s = yyvsp[0].s; } |  | 
| break; |  | 
| case 9: |  | 
| #line 141 "parse.y" | #line 141 "parse.y" | 
| { yyval.s = mksnode(0,S_BREAK); } | { gdef=1; } | 
| break; | break; | 
| case 10: |  | 
|  | case 5: | 
|  | #line 141 "parse.y" | 
|  | { gdef=0; } | 
|  | break; | 
|  |  | 
|  | case 6: | 
|  | #line 142 "parse.y" | 
|  | { yyval.s = 0; NOPR; } | 
|  | break; | 
|  |  | 
|  | case 7: | 
| #line 143 "parse.y" | #line 143 "parse.y" | 
| { yyval.s = mksnode(0,S_CONTINUE); } | { mgdef=1; } | 
| break; | break; | 
| case 11: |  | 
|  | case 8: | 
|  | #line 143 "parse.y" | 
|  | { mgdef=0; } | 
|  | break; | 
|  |  | 
|  | case 9: | 
|  | #line 144 "parse.y" | 
|  | { yyval.s = 0; NOPR; } | 
|  | break; | 
|  |  | 
|  | case 10: | 
| #line 145 "parse.y" | #line 145 "parse.y" | 
| { yyval.s = mksnode(1,S_RETURN,0); } | { ldef=1; } | 
| break; | break; | 
| case 12: |  | 
| #line 147 "parse.y" | case 11: | 
| { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); } | #line 145 "parse.y" | 
| break; | { ldef=0; } | 
| case 13: | break; | 
| #line 149 "parse.y" |  | 
| { yyval.s = mksnode(4,S_IFELSE,yyvsp[-4].i,yyvsp[-2].n,yyvsp[0].s,0); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | case 12: | 
| break; | #line 146 "parse.y" | 
| case 14: | { yyval.s = 0; NOPR; } | 
| #line 151 "parse.y" | break; | 
| { yyval.s = mksnode(4,S_IFELSE,yyvsp[-6].i,yyvsp[-4].n,yyvsp[-2].s,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } |  | 
| break; | case 13: | 
| case 15: | #line 148 "parse.y" | 
| #line 153 "parse.y" | { appenduflist(yyvsp[-1].n); yyval.s = 0; NOPR; } | 
| { yyval.s = mksnode(5,S_FOR,yyvsp[-8].i,yyvsp[-6].n,yyvsp[-4].n?yyvsp[-4].n:ONENODE,yyvsp[-2].n,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | break; | 
| break; |  | 
| case 16: | case 14: | 
| #line 155 "parse.y" | #line 150 "parse.y" | 
| { yyval.s = mksnode(5,S_FOR,yyvsp[-4].i,0,yyvsp[-2].n,0,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | { structdef(yyvsp[-4].p,yyvsp[-2].n); yyval.s = 0; NOPR; } | 
| break; | break; | 
| case 17: |  | 
| #line 157 "parse.y" | case 15: | 
| { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); } | #line 152 "parse.y" | 
| break; | { yyval.s = mksnode(1,S_SINGLE,yyvsp[-1].f); } | 
| case 18: | break; | 
| #line 159 "parse.y" |  | 
| { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; } | case 16: | 
| break; | #line 154 "parse.y" | 
| case 19: | { yyval.s = yyvsp[0].s; } | 
| #line 161 "parse.y" | break; | 
| { yyval.s = mksnode(3,S_PFDEF,yyvsp[-3].p,yyvsp[-1].n,0); NOPR; } |  | 
| break; | case 17: | 
| case 20: | #line 156 "parse.y" | 
|  | { yyval.s = mksnode(0,S_BREAK); } | 
|  | break; | 
|  |  | 
|  | case 18: | 
|  | #line 158 "parse.y" | 
|  | { yyval.s = mksnode(0,S_CONTINUE); } | 
|  | break; | 
|  |  | 
|  | case 19: | 
|  | #line 160 "parse.y" | 
|  | { yyval.s = mksnode(1,S_RETURN,0); } | 
|  | break; | 
|  |  | 
|  | case 20: | 
| #line 162 "parse.y" | #line 162 "parse.y" | 
| { mkpvs(); } | { yyval.s = mksnode(1,S_RETURN,yyvsp[-1].f); } | 
| break; | break; | 
| case 21: |  | 
| #line 163 "parse.y" | case 21: | 
| { | #line 164 "parse.y" | 
| mkuf(yyvsp[-8].p,asir_infile->name,yyvsp[-5].n, | { yyval.s = mksnode(4,S_IFELSE,yyvsp[-4].i,yyvsp[-2].n,yyvsp[0].s,0); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | 
| mksnode(1,S_CPLX,yyvsp[-1].n),yyvsp[-9].i,asir_infile->ln,yyvsp[-3].p); | break; | 
| yyval.s = 0; NOPR; |  | 
| } | case 22: | 
| break; | #line 166 "parse.y" | 
| case 22: | { yyval.s = mksnode(4,S_IFELSE,yyvsp[-6].i,yyvsp[-4].n,yyvsp[-2].s,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | 
| #line 169 "parse.y" | break; | 
| { yyerrok; yyval.s = 0; } |  | 
| break; | case 23: | 
| case 23: | #line 168 "parse.y" | 
|  | { yyval.s = mksnode(5,S_FOR,yyvsp[-8].i,yyvsp[-6].n,yyvsp[-4].n?yyvsp[-4].n:ONENODE,yyvsp[-2].n,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | 
|  | break; | 
|  |  | 
|  | case 24: | 
|  | #line 170 "parse.y" | 
|  | { yyval.s = mksnode(5,S_FOR,yyvsp[-4].i,0,yyvsp[-2].n,0,yyvsp[0].s); yyvsp[0].s?yyval.s->ln=yyvsp[0].s->ln:0; NOPR; } | 
|  | break; | 
|  |  | 
|  | case 25: | 
| #line 172 "parse.y" | #line 172 "parse.y" | 
| { if ( main_parser ) prresult = 1; } | { yyval.s = mksnode(3,S_DO,yyvsp[-6].i,yyvsp[-5].s,yyvsp[-2].n); NOPR; } | 
| break; | break; | 
| case 24: |  | 
|  | case 26: | 
| #line 174 "parse.y" | #line 174 "parse.y" | 
| { if ( main_parser ) prresult = 0; } | { yyval.s = mksnode(3,S_PFDEF,yyvsp[-7].p,yyvsp[-5].n,yyvsp[-1].f); NOPR; } | 
| break; | break; | 
| case 25: |  | 
|  | case 27: | 
| #line 176 "parse.y" | #line 176 "parse.y" | 
| { yyval.p = 0; } | { yyval.s = mksnode(3,S_PFDEF,yyvsp[-4].p,yyvsp[-2].n,0); NOPR; } | 
| break; | break; | 
| case 26: |  | 
|  | case 28: | 
|  | #line 177 "parse.y" | 
|  | { mkpvs(yyvsp[0].p); } | 
|  | break; | 
|  |  | 
|  | case 29: | 
|  | #line 177 "parse.y" | 
|  | { ldef = 1; } | 
|  | break; | 
|  |  | 
|  | case 30: | 
|  | #line 177 "parse.y" | 
|  | { ldef = -1; } | 
|  | break; | 
|  |  | 
|  | case 31: | 
| #line 178 "parse.y" | #line 178 "parse.y" | 
| { yyval.p = yyvsp[0].p; } | { | 
| break; | mkuf(yyvsp[-10].p,asir_infile->name,yyvsp[-6].n, | 
| case 27: | mksnode(1,S_CPLX,yyvsp[-1].n),yyvsp[-11].i,asir_infile->ln,yyvsp[-3].p,CUR_MODULE); | 
| #line 181 "parse.y" | yyval.s = 0; NOPR; | 
| { yyval.s = mksnode(1,S_CPLX,yyvsp[-1].n); } | } | 
| break; | break; | 
| case 28: |  | 
|  | case 32: | 
| #line 184 "parse.y" | #line 184 "parse.y" | 
| { MKNODE(yyval.n,yyvsp[0].p,0); } | { | 
| break; | CUR_MODULE = mkmodule(yyvsp[-1].p); | 
| case 29: | MPVS = CUR_MODULE->pvs; | 
| #line 186 "parse.y" | yyval.s = mksnode(1,S_MODULE,CUR_MODULE); NOPR; | 
| { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); } | } | 
| break; | break; | 
| case 30: |  | 
| #line 189 "parse.y" | case 33: | 
| { val = (pointer)makepvar(yyvsp[0].p); MKNODE(yyval.n,val,0); } | #line 190 "parse.y" | 
| break; | { CUR_MODULE = 0; MPVS = 0; yyval.s = mksnode(1,S_MODULE,0); NOPR; } | 
| case 31: | break; | 
| #line 191 "parse.y" |  | 
| { appendtonode(yyvsp[-2].n,(pointer)makepvar(yyvsp[0].p),&yyval.n); } | case 34: | 
| break; | #line 192 "parse.y" | 
| case 32: | { yyerrok; yyval.s = 0; } | 
| #line 194 "parse.y" | break; | 
| { yyval.n = 0; } |  | 
| break; | case 35: | 
| case 33: | #line 195 "parse.y" | 
| #line 196 "parse.y" | { if ( main_parser ) prresult = 1; } | 
| { appendtonode(yyvsp[-1].n,(pointer)yyvsp[0].s,&yyval.n); } | break; | 
| break; |  | 
| case 34: | case 36: | 
| #line 199 "parse.y" | #line 197 "parse.y" | 
| { yyval.n = 0; } | { if ( main_parser ) prresult = 0; } | 
| break; | break; | 
| case 35: |  | 
| #line 201 "parse.y" | case 37: | 
| { yyval.n = yyvsp[0].n; } | #line 200 "parse.y" | 
| break; | { yyval.p = 0; } | 
| case 36: | break; | 
| #line 204 "parse.y" |  | 
| { MKNODE(yyval.n,yyvsp[0].f,0); } | case 38: | 
| break; | #line 202 "parse.y" | 
| case 37: | { yyval.p = yyvsp[0].p; } | 
| #line 206 "parse.y" | break; | 
| { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); } |  | 
| break; | case 39: | 
| case 38: | #line 205 "parse.y" | 
| #line 209 "parse.y" | { yyval.s = mksnode(1,S_CPLX,yyvsp[-1].n); } | 
| { MKNODE(yyval.n,yyvsp[0].f,0); } | break; | 
| break; |  | 
| case 39: | case 40: | 
| #line 211 "parse.y" | #line 208 "parse.y" | 
| { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); } | { MKNODE(yyval.n,yyvsp[0].p,0); } | 
| break; | break; | 
| case 40: |  | 
| #line 214 "parse.y" | case 41: | 
| { yyval.p = yyvsp[0].p; } | #line 210 "parse.y" | 
| break; | { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); } | 
| case 41: | break; | 
| #line 216 "parse.y" |  | 
| { yyval.p = yyvsp[0].p; } | case 42: | 
| break; | #line 213 "parse.y" | 
| case 42: | { MKNODE(yyval.n,yyvsp[0].p,0); } | 
| #line 219 "parse.y" | break; | 
| { yyval.f = mkfnode(2,I_OPT,yyvsp[-2].p,yyvsp[0].f); } |  | 
| break; | case 43: | 
| case 43: | #line 215 "parse.y" | 
| #line 222 "parse.y" | { appendtonode(yyvsp[-2].n,yyvsp[0].p,&yyval.n); } | 
| { yyval.f = mkfnode(1,I_STR,yyvsp[0].p); } | break; | 
| break; |  | 
| case 44: | case 44: | 
| #line 224 "parse.y" | #line 218 "parse.y" | 
| { yyval.f = mkfnode(1,I_FORMULA,yyvsp[0].p); } | { val = (pointer)makepvar(yyvsp[0].p); MKNODE(yyval.n,val,0); } | 
| break; | break; | 
| case 45: |  | 
| #line 226 "parse.y" | case 45: | 
| { yyval.f = mkfnode(1,I_ANS,yyvsp[0].i); } | #line 220 "parse.y" | 
| break; | { appendtonode(yyvsp[-2].n,(pointer)makepvar(yyvsp[0].p),&yyval.n); } | 
| case 46: | break; | 
|  |  | 
|  | case 46: | 
|  | #line 223 "parse.y" | 
|  | { yyval.n = 0; } | 
|  | break; | 
|  |  | 
|  | case 47: | 
|  | #line 225 "parse.y" | 
|  | { appendtonode(yyvsp[-1].n,(pointer)yyvsp[0].s,&yyval.n); } | 
|  | break; | 
|  |  | 
|  | case 48: | 
| #line 228 "parse.y" | #line 228 "parse.y" | 
| { yyval.f = mkfnode(0,I_GF2NGEN); } | { yyval.n = 0; } | 
| break; | break; | 
| case 47: |  | 
|  | case 49: | 
| #line 230 "parse.y" | #line 230 "parse.y" | 
| { yyval.f = mkfnode(0,I_GFPNGEN); } | { yyval.n = yyvsp[0].n; } | 
| break; | break; | 
| case 48: |  | 
| #line 232 "parse.y" | case 50: | 
| { | #line 233 "parse.y" | 
|  | { MKNODE(yyval.n,yyvsp[0].f,0); } | 
|  | break; | 
|  |  | 
|  | case 51: | 
|  | #line 235 "parse.y" | 
|  | { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); } | 
|  | break; | 
|  |  | 
|  | case 52: | 
|  | #line 238 "parse.y" | 
|  | { MKNODE(yyval.n,yyvsp[0].f,0); } | 
|  | break; | 
|  |  | 
|  | case 53: | 
|  | #line 240 "parse.y" | 
|  | { appendtonode(yyvsp[-2].n,(pointer)yyvsp[0].f,&yyval.n); } | 
|  | break; | 
|  |  | 
|  | case 54: | 
|  | #line 243 "parse.y" | 
|  | { yyval.p = yyvsp[0].p; } | 
|  | break; | 
|  |  | 
|  | case 55: | 
|  | #line 245 "parse.y" | 
|  | { yyval.p = yyvsp[0].p; } | 
|  | break; | 
|  |  | 
|  | case 56: | 
|  | #line 248 "parse.y" | 
|  | { yyval.f = mkfnode(2,I_OPT,yyvsp[-2].p,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 57: | 
|  | #line 251 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_STR,yyvsp[0].p); } | 
|  | break; | 
|  |  | 
|  | case 58: | 
|  | #line 253 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_FORMULA,yyvsp[0].p); } | 
|  | break; | 
|  |  | 
|  | case 59: | 
|  | #line 255 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_ANS,yyvsp[0].i); } | 
|  | break; | 
|  |  | 
|  | case 60: | 
|  | #line 257 "parse.y" | 
|  | { yyval.f = mkfnode(0,I_GF2NGEN); } | 
|  | break; | 
|  |  | 
|  | case 61: | 
|  | #line 259 "parse.y" | 
|  | { yyval.f = mkfnode(0,I_GFPNGEN); } | 
|  | break; | 
|  |  | 
|  | case 62: | 
|  | #line 261 "parse.y" | 
|  | { yyval.f = mkfnode(0,I_GFSNGEN); } | 
|  | break; | 
|  |  | 
|  | case 63: | 
|  | #line 263 "parse.y" | 
|  | { | 
| FUNC f; | FUNC f; | 
|  |  | 
| searchf(noargsysf,yyvsp[0].p,&f); | searchf(noargsysf,yyvsp[0].p,&f); | 
|  |  | 
| if ( f ) | if ( f ) | 
| yyval.f = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,0)); | yyval.f = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,0)); | 
| else { | else { | 
| searchf(sysf,yyvsp[0].p,&f); | gen_searchf_searchonly(yyvsp[0].p,(FUNC *)&f); | 
| if ( !f ) |  | 
| searchf(ubinf,yyvsp[0].p,&f); |  | 
| if ( !f ) |  | 
| searchpf(yyvsp[0].p,&f); |  | 
| if ( !f ) |  | 
| searchf(usrf,yyvsp[0].p,&f); |  | 
| if ( f ) | if ( f ) | 
| makesrvar(f,(P *)&val); | makesrvar(f,(P *)&val); | 
| else | else | 
|  |  | 
| } | } | 
| } | } | 
| } | } | 
| break; | break; | 
| case 49: |  | 
| #line 259 "parse.y" | case 64: | 
| { | #line 284 "parse.y" | 
| searchf(sysf,yyvsp[-3].p,(FUNC *)&val); | { | 
| if ( !val ) | gen_searchf(yyvsp[-3].p,(FUNC *)&val); | 
| searchf(ubinf,yyvsp[-3].p,(FUNC *)&val); | print_crossref(val); | 
| if ( !val ) |  | 
| searchpf(yyvsp[-3].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| searchf(usrf,yyvsp[-3].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| appenduf(yyvsp[-3].p,(FUNC *)&val); |  | 
| yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
| } | } | 
| break; | break; | 
| case 50: |  | 
| #line 273 "parse.y" | case 65: | 
| { | #line 291 "parse.y" | 
| searchf(sysf,yyvsp[-5].p,(FUNC *)&val); | { | 
| if ( !val ) | gen_searchf(yyvsp[-5].p,(FUNC *)&val); | 
| searchf(ubinf,yyvsp[-5].p,(FUNC *)&val); | print_crossref(val); | 
| if ( !val ) |  | 
| searchpf(yyvsp[-5].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| searchf(usrf,yyvsp[-5].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| appenduf(yyvsp[-5].p,(FUNC *)&val); |  | 
| yyval.f = mkfnode(3,I_FUNC_OPT,val, | yyval.f = mkfnode(3,I_FUNC_OPT,val, | 
| mkfnode(1,I_LIST,yyvsp[-3].n),mkfnode(1,I_LIST,yyvsp[-1].n)); | mkfnode(1,I_LIST,yyvsp[-3].n),mkfnode(1,I_LIST,yyvsp[-1].n)); | 
| } | } | 
| break; | break; | 
| case 51: |  | 
| #line 287 "parse.y" | case 66: | 
| { | #line 298 "parse.y" | 
|  | { | 
|  | gen_searchf(yyvsp[-3].p,(FUNC *)&val); | 
|  | print_crossref(val); | 
|  | yyval.f = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
|  | } | 
|  | break; | 
|  |  | 
|  | case 67: | 
|  | #line 304 "parse.y" | 
|  | { | 
|  | gen_searchf(yyvsp[-3].p,(FUNC *)&val); | 
|  | print_crossref(val); | 
|  | yyval.f = mkfnode(2,I_RECMAP,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
|  | } | 
|  | break; | 
|  |  | 
|  | case 68: | 
|  | #line 310 "parse.y" | 
|  | { | 
| searchpf(yyvsp[-6].p,(FUNC *)&val); | searchpf(yyvsp[-6].p,(FUNC *)&val); | 
| yyval.f = mkfnode(2,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n)); | yyval.f = mkfnode(3,I_PFDERIV,val,mkfnode(1,I_LIST,yyvsp[-1].n),mkfnode(1,I_LIST,yyvsp[-4].n)); | 
| } | } | 
| break; | break; | 
| case 52: |  | 
| #line 292 "parse.y" | case 69: | 
| { | #line 315 "parse.y" | 
|  | { | 
| yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p); | yyval.f = mkfnode(2,I_GETOPT,yyvsp[-1].p); | 
| } | } | 
| break; | break; | 
| case 53: |  | 
| #line 296 "parse.y" | case 70: | 
| { | #line 319 "parse.y" | 
| searchf(sysf,yyvsp[-3].p,(FUNC *)&val); | { | 
| if ( !val ) | yyval.f = mkfnode(2,I_GETOPT,0); | 
| searchf(ubinf,yyvsp[-3].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| searchpf(yyvsp[-3].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| searchf(usrf,yyvsp[-3].p,(FUNC *)&val); |  | 
| if ( !val ) |  | 
| appenduf(yyvsp[-3].p,(FUNC *)&val); |  | 
| yyval.f = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,yyvsp[-1].n)); |  | 
| } | } | 
| break; | break; | 
| case 54: |  | 
| #line 309 "parse.y" | case 71: | 
| { | #line 323 "parse.y" | 
|  | { | 
| yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f); | yyval.f = mkfnode(3,I_TIMER,yyvsp[-5].f,yyvsp[-3].f,yyvsp[-1].f); | 
| } | } | 
| break; | break; | 
| case 55: |  | 
| #line 313 "parse.y" | case 72: | 
| { | #line 327 "parse.y" | 
|  | { | 
|  | searchf(parif,yyvsp[-1].p,(FUNC *)&val); | 
|  | if ( !val ) | 
|  | mkparif(yyvsp[-1].p,(FUNC *)&val); | 
|  | yyval.f = mkfnode(2,I_FUNC,val,0); | 
|  | } | 
|  | break; | 
|  |  | 
|  | case 73: | 
|  | #line 334 "parse.y" | 
|  | { | 
| searchf(parif,yyvsp[-3].p,(FUNC *)&val); | searchf(parif,yyvsp[-3].p,(FUNC *)&val); | 
| if ( !val ) | if ( !val ) | 
| mkparif(yyvsp[-3].p,(FUNC *)&val); | mkparif(yyvsp[-3].p,(FUNC *)&val); | 
| yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | yyval.f = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
| } | } | 
| break; | break; | 
| case 56: |  | 
| #line 320 "parse.y" | case 74: | 
| { | #line 341 "parse.y" | 
|  | { | 
| yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n)); | yyval.f = mkfnode(2,I_IFUNC,yyvsp[-4].f,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
| } | } | 
| break; | break; | 
| case 57: |  | 
| #line 324 "parse.y" | case 75: | 
| { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); } | #line 345 "parse.y" | 
| break; | { | 
| case 58: | if ( main_parser || allow_create_var ) | 
| #line 326 "parse.y" | t = mkfnode(2,I_PVAR,makepvar(yyvsp[-3].p),0); | 
| { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); } | else { | 
| break; | ind = searchpvar(yyvsp[-3].p); | 
| case 59: | if ( ind == -1 ) { | 
| #line 328 "parse.y" | fprintf(stderr,"%s : no such variable.\n",yyvsp[-3].p); | 
| { yyval.f = yyvsp[-1].f; } | YYABORT; | 
| break; | } else | 
| case 60: | t = mkfnode(2,I_PVAR,ind,0); | 
| #line 330 "parse.y" | } | 
| { | yyval.f = mkfnode(2,I_IFUNC,t,mkfnode(1,I_LIST,yyvsp[-1].n)); | 
| if ( main_parser ) | } | 
|  | break; | 
|  |  | 
|  | case 76: | 
|  | #line 359 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_CAR,yyvsp[-1].f); } | 
|  | break; | 
|  |  | 
|  | case 77: | 
|  | #line 361 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_CDR,yyvsp[-1].f); } | 
|  | break; | 
|  |  | 
|  | case 78: | 
|  | #line 363 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_PAREN,yyvsp[-1].f); } | 
|  | break; | 
|  |  | 
|  | case 79: | 
|  | #line 365 "parse.y" | 
|  | { | 
|  | if ( main_parser || allow_create_var ) | 
| yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0); | yyval.f = mkfnode(2,I_PVAR,makepvar(yyvsp[0].p),0); | 
| else { | else { | 
| ind = searchpvar(yyvsp[0].p); | ind = searchpvar(yyvsp[0].p); | 
|  |  | 
| yyval.f = mkfnode(2,I_PVAR,ind,0); | yyval.f = mkfnode(2,I_PVAR,ind,0); | 
| } | } | 
| } | } | 
| break; | break; | 
| case 61: |  | 
| #line 343 "parse.y" | case 80: | 
| { | #line 378 "parse.y" | 
|  | { | 
| if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) { | if ( yyvsp[-3].f->id == I_PVAR || yyvsp[-3].f->id == I_INDEX ) { | 
| appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a); | appendtonode((NODE)yyvsp[-3].f->arg[1],(pointer)yyvsp[-1].f,&a); | 
| yyvsp[-3].f->arg[1] = (pointer)a; yyval.f = yyvsp[-3].f; | yyvsp[-3].f->arg[1] = (pointer)a; yyval.f = yyvsp[-3].f; | 
|  |  | 
| yyval.f = mkfnode(2,I_INDEX,(pointer)yyvsp[-3].f,a); | yyval.f = mkfnode(2,I_INDEX,(pointer)yyvsp[-3].f,a); | 
| } | } | 
| } | } | 
| break; | break; | 
| case 62: |  | 
| #line 353 "parse.y" | case 81: | 
| { yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); } |  | 
| break; |  | 
| case 63: |  | 
| #line 356 "parse.y" |  | 
| { yyval.f = yyvsp[0].f; } |  | 
| break; |  | 
| case 64: |  | 
| #line 358 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); } |  | 
| break; |  | 
| case 65: |  | 
| #line 360 "parse.y" |  | 
| { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 66: |  | 
| #line 362 "parse.y" |  | 
| { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); } |  | 
| break; |  | 
| case 67: |  | 
| #line 364 "parse.y" |  | 
| { yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); } |  | 
| break; |  | 
| case 68: |  | 
| #line 366 "parse.y" |  | 
| { yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); } |  | 
| break; |  | 
| case 69: |  | 
| #line 368 "parse.y" |  | 
| { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); } |  | 
| break; |  | 
| case 70: |  | 
| #line 370 "parse.y" |  | 
| { yyval.f = yyvsp[0].f; } |  | 
| break; |  | 
| case 71: |  | 
| #line 372 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,0,yyvsp[0].f); } |  | 
| break; |  | 
| case 72: |  | 
| #line 374 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 73: |  | 
| #line 376 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 74: |  | 
| #line 378 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 75: |  | 
| #line 380 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 76: |  | 
| #line 382 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 77: |  | 
| #line 384 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 78: |  | 
| #line 386 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; |  | 
| case 79: |  | 
| #line 388 "parse.y" | #line 388 "parse.y" | 
| { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); } | { yyval.f = mkfnode(2,I_POINT,yyvsp[-2].f,yyvsp[0].p); } | 
| break; | break; | 
| case 80: |  | 
| #line 390 "parse.y" | case 82: | 
| { yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); } | #line 391 "parse.y" | 
| break; | { yyval.f = yyvsp[0].f; } | 
| case 81: | break; | 
| #line 392 "parse.y" |  | 
| { yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); } | case 83: | 
| break; | #line 393 "parse.y" | 
| case 82: | { yyval.f = mkfnode(3,I_CAST,structtoindex(yyvsp[-2].p),yyvsp[0].f,0); } | 
| #line 394 "parse.y" | break; | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); } |  | 
| break; | case 84: | 
| case 83: | #line 395 "parse.y" | 
| #line 396 "parse.y" | { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,yyvsp[0].f); } | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | break; | 
| break; |  | 
| case 84: | case 85: | 
| #line 398 "parse.y" | #line 397 "parse.y" | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | { yyval.f = mkfnode(2,I_ASSPVAR,yyvsp[-2].f,mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f)); } | 
| break; | break; | 
| case 85: |  | 
| #line 400 "parse.y" | case 86: | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | #line 399 "parse.y" | 
| break; | { yyval.f = mkfnode(2,I_POSTSELF,yyvsp[0].p,yyvsp[-1].f); } | 
| case 86: | break; | 
| #line 402 "parse.y" |  | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | case 87: | 
| break; | #line 401 "parse.y" | 
| case 87: | { yyval.f = mkfnode(2,I_PRESELF,yyvsp[-1].p,yyvsp[0].f); } | 
| #line 404 "parse.y" | break; | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } |  | 
| break; | case 88: | 
| case 88: | #line 403 "parse.y" | 
| #line 406 "parse.y" | { yyval.f = mkfnode(1,I_LIST,yyvsp[-1].n); } | 
| { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | break; | 
| break; |  | 
| case 89: | case 89: | 
| #line 408 "parse.y" | #line 405 "parse.y" | 
| { yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); } | { yyval.f = yyvsp[0].f; } | 
| break; | break; | 
| case 90: |  | 
| #line 410 "parse.y" | case 90: | 
| { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); } | #line 407 "parse.y" | 
| break; | { yyval.f = mkfnode(1,I_MINUS,yyvsp[0].f); } | 
| case 91: | break; | 
| #line 412 "parse.y" |  | 
| { yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); } | case 91: | 
| break; | #line 409 "parse.y" | 
| #line 1523 "y.tab.c" | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 92: | 
|  | #line 411 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 93: | 
|  | #line 413 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 94: | 
|  | #line 415 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 95: | 
|  | #line 417 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 96: | 
|  | #line 419 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_BOP,yyvsp[-1].p,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 97: | 
|  | #line 421 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_COP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 98: | 
|  | #line 423 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_NOT,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 99: | 
|  | #line 425 "parse.y" | 
|  | { yyval.f = mkfnode(2,I_OR,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 100: | 
|  | #line 427 "parse.y" | 
|  | { yyval.f = mkfnode(2,I_AND,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 101: | 
|  | #line 429 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[0].f,0); } | 
|  | break; | 
|  |  | 
|  | case 102: | 
|  | #line 431 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 103: | 
|  | #line 433 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 104: | 
|  | #line 435 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 105: | 
|  | #line 437 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 106: | 
|  | #line 439 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 107: | 
|  | #line 441 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_LOP,yyvsp[-1].i,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 108: | 
|  | #line 443 "parse.y" | 
|  | { yyval.f = mkfnode(3,I_CE,yyvsp[-4].f,yyvsp[-2].f,yyvsp[0].f); } | 
|  | break; | 
|  |  | 
|  | case 109: | 
|  | #line 445 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_EV,yyvsp[-1].n); } | 
|  | break; | 
|  |  | 
|  | case 110: | 
|  | #line 447 "parse.y" | 
|  | { yyval.f = mkfnode(1,I_NEWCOMP,(int)structtoindex(yyvsp[-1].p)); } | 
|  | break; | 
|  |  | 
|  | case 111: | 
|  | #line 449 "parse.y" | 
|  | { MKQUOTE(quote,yyvsp[-1].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } | 
|  | break; | 
|  |  | 
|  | case 112: | 
|  | #line 451 "parse.y" | 
|  | { yyval.f = mkfnode(2,I_CONS,yyvsp[-3].n,yyvsp[-1].f); } | 
|  | break; | 
|  |  | 
|  | case 113: | 
|  | #line 453 "parse.y" | 
|  | { MKQUOTE(quote,yyvsp[0].f); yyval.f = mkfnode(1,I_FORMULA,(pointer)quote); } | 
|  | break; | 
|  |  | 
|  |  | 
| } | } | 
| yyssp -= yym; |  | 
| yystate = *yyssp; | /* Line 999 of yacc.c.  */ | 
| yyvsp -= yym; | #line 2208 "y.tab.c" | 
| yym = yylhs[yyn]; |  | 
| if (yystate == 0 && yym == 0) | yyvsp -= yylen; | 
|  | yyssp -= yylen; | 
|  |  | 
|  |  | 
|  | YY_STACK_PRINT (yyss, yyssp); | 
|  |  | 
|  | *++yyvsp = yyval; | 
|  |  | 
|  |  | 
|  | /* Now `shift' the result of the reduction.  Determine what state | 
|  | that goes to, based on the state we popped back to and the rule | 
|  | number reduced by.  */ | 
|  |  | 
|  | yyn = yyr1[yyn]; | 
|  |  | 
|  | yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; | 
|  | if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) | 
|  | yystate = yytable[yystate]; | 
|  | else | 
|  | yystate = yydefgoto[yyn - YYNTOKENS]; | 
|  |  | 
|  | goto yynewstate; | 
|  |  | 
|  |  | 
|  | /*------------------------------------. | 
|  | | yyerrlab -- here on detecting error | | 
|  | `------------------------------------*/ | 
|  | yyerrlab: | 
|  | /* If not already recovering from an error, report this error.  */ | 
|  | if (!yyerrstatus) | 
| { | { | 
| #if YYDEBUG | ++yynerrs; | 
| if (yydebug) | #if YYERROR_VERBOSE | 
| printf("%sdebug: after reduction, shifting from state 0 to\ | yyn = yypact[yystate]; | 
| state %d\n", YYPREFIX, YYFINAL); |  | 
| #endif | if (YYPACT_NINF < yyn && yyn < YYLAST) | 
| yystate = YYFINAL; | { | 
| *++yyssp = YYFINAL; | YYSIZE_T yysize = 0; | 
| *++yyvsp = yyval; | int yytype = YYTRANSLATE (yychar); | 
| if (yychar < 0) | const char* yyprefix; | 
|  | char *yymsg; | 
|  | int yyx; | 
|  |  | 
|  | /* Start YYX at -YYN if negative to avoid negative indexes in | 
|  | YYCHECK.  */ | 
|  | int yyxbegin = yyn < 0 ? -yyn : 0; | 
|  |  | 
|  | /* Stay within bounds of both yycheck and yytname.  */ | 
|  | int yychecklim = YYLAST - yyn; | 
|  | int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; | 
|  | int yycount = 0; | 
|  |  | 
|  | yyprefix = ", expecting "; | 
|  | for (yyx = yyxbegin; yyx < yyxend; ++yyx) | 
|  | if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) | 
|  | { | 
|  | yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); | 
|  | yycount += 1; | 
|  | if (yycount == 5) | 
|  | { | 
|  | yysize = 0; | 
|  | break; | 
|  | } | 
|  | } | 
|  | yysize += (sizeof ("syntax error, unexpected ") | 
|  | + yystrlen (yytname[yytype])); | 
|  | yymsg = (char *) YYSTACK_ALLOC (yysize); | 
|  | if (yymsg != 0) | 
|  | { | 
|  | char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); | 
|  | yyp = yystpcpy (yyp, yytname[yytype]); | 
|  |  | 
|  | if (yycount < 5) | 
|  | { | 
|  | yyprefix = ", expecting "; | 
|  | for (yyx = yyxbegin; yyx < yyxend; ++yyx) | 
|  | if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) | 
|  | { | 
|  | yyp = yystpcpy (yyp, yyprefix); | 
|  | yyp = yystpcpy (yyp, yytname[yyx]); | 
|  | yyprefix = " or "; | 
|  | } | 
|  | } | 
|  | yyerror (yymsg); | 
|  | YYSTACK_FREE (yymsg); | 
|  | } | 
|  | else | 
|  | yyerror ("syntax error; also virtual memory exhausted"); | 
|  | } | 
|  | else | 
|  | #endif /* YYERROR_VERBOSE */ | 
|  | yyerror ("syntax error"); | 
|  | } | 
|  |  | 
|  |  | 
|  |  | 
|  | if (yyerrstatus == 3) | 
|  | { | 
|  | /* If just tried and failed to reuse lookahead token after an | 
|  | error, discard it.  */ | 
|  |  | 
|  | /* Return failure if at end of input.  */ | 
|  | if (yychar == YYEOF) | 
| { | { | 
| if ((yychar = yylex()) < 0) yychar = 0; | /* Pop the error token.  */ | 
| #if YYDEBUG | YYPOPSTACK; | 
| if (yydebug) | /* Pop the rest of the stack.  */ | 
| { | while (yyss < yyssp) | 
| yys = 0; | { | 
| if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; | YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); | 
| if (!yys) yys = "illegal-symbol"; | yydestruct (yystos[*yyssp], yyvsp); | 
| printf("%sdebug: state %d, reading %d (%s)\n", | YYPOPSTACK; | 
| YYPREFIX, YYFINAL, yychar, yys); | } | 
| } | YYABORT; | 
| #endif |  | 
| } | } | 
| if (yychar == 0) goto yyaccept; |  | 
| goto yyloop; | YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); | 
|  | yydestruct (yytoken, &yylval); | 
|  | yychar = YYEMPTY; | 
|  |  | 
| } | } | 
| if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && |  | 
| yyn <= YYTABLESIZE && yycheck[yyn] == yystate) | /* Else will try to reuse lookahead token after shifting the error | 
| yystate = yytable[yyn]; | token.  */ | 
| else | goto yyerrlab1; | 
| yystate = yydgoto[yym]; |  | 
| #if YYDEBUG |  | 
| if (yydebug) | /*----------------------------------------------------. | 
| printf("%sdebug: after reduction, shifting from state %d \ | | yyerrlab1 -- error raised explicitly by an action.  | | 
| to state %d\n", YYPREFIX, *yyssp, yystate); | `----------------------------------------------------*/ | 
| #endif | yyerrlab1: | 
| if (yyssp >= yysslim && yygrowstack()) | yyerrstatus = 3;      /* Each real token shifted decrements this.  */ | 
|  |  | 
|  | for (;;) | 
| { | { | 
| goto yyoverflow; | yyn = yypact[yystate]; | 
|  | if (yyn != YYPACT_NINF) | 
|  | { | 
|  | yyn += YYTERROR; | 
|  | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) | 
|  | { | 
|  | yyn = yytable[yyn]; | 
|  | if (0 < yyn) | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | /* Pop the current state because it cannot handle the error token.  */ | 
|  | if (yyssp == yyss) | 
|  | YYABORT; | 
|  |  | 
|  | YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); | 
|  | yydestruct (yystos[yystate], yyvsp); | 
|  | yyvsp--; | 
|  | yystate = *--yyssp; | 
|  |  | 
|  | YY_STACK_PRINT (yyss, yyssp); | 
| } | } | 
| *++yyssp = yystate; |  | 
| *++yyvsp = yyval; | if (yyn == YYFINAL) | 
| goto yyloop; | YYACCEPT; | 
| yyoverflow: |  | 
| yyerror("yacc stack overflow"); | YYDPRINTF ((stderr, "Shifting error token, ")); | 
| yyabort: |  | 
| return (1); | *++yyvsp = yylval; | 
| yyaccept: |  | 
| return (0); |  | 
|  | yystate = yyn; | 
|  | goto yynewstate; | 
|  |  | 
|  |  | 
|  | /*-------------------------------------. | 
|  | | yyacceptlab -- YYACCEPT comes here.  | | 
|  | `-------------------------------------*/ | 
|  | yyacceptlab: | 
|  | yyresult = 0; | 
|  | goto yyreturn; | 
|  |  | 
|  | /*-----------------------------------. | 
|  | | yyabortlab -- YYABORT comes here.  | | 
|  | `-----------------------------------*/ | 
|  | yyabortlab: | 
|  | yyresult = 1; | 
|  | goto yyreturn; | 
|  |  | 
|  | #ifndef yyoverflow | 
|  | /*----------------------------------------------. | 
|  | | yyoverflowlab -- parser overflow comes here.  | | 
|  | `----------------------------------------------*/ | 
|  | yyoverflowlab: | 
|  | yyerror ("parser stack overflow"); | 
|  | yyresult = 2; | 
|  | /* Fall through.  */ | 
|  | #endif | 
|  |  | 
|  | yyreturn: | 
|  | #ifndef yyoverflow | 
|  | if (yyss != yyssa) | 
|  | YYSTACK_FREE (yyss); | 
|  | #endif | 
|  | return yyresult; | 
| } | } | 
|  |  | 
|  |  | 
|  | #line 455 "parse.y" | 
|  |  | 
|  |  |