diff options
author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:34:59 -0400 |
---|---|---|
committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:34:59 -0400 |
commit | ce7edc9b3c7370f32fec0bc7a8ec3e29ed9a5f61 (patch) | |
tree | acdb9a8816483652a9db1a47db71df5df43707c5 /Zend/zend_language_parser.c | |
parent | 10f5b47dc7c1cf2b9a00991629f43652710322d3 (diff) | |
download | php-ce7edc9b3c7370f32fec0bc7a8ec3e29ed9a5f61.tar.gz |
Imported Upstream version 5.1.1upstream/5.1.1
Diffstat (limited to 'Zend/zend_language_parser.c')
-rw-r--r-- | Zend/zend_language_parser.c | 6420 |
1 files changed, 3778 insertions, 2642 deletions
diff --git a/Zend/zend_language_parser.c b/Zend/zend_language_parser.c index 4a74878d7..c77105582 100644 --- a/Zend/zend_language_parser.c +++ b/Zend/zend_language_parser.c @@ -1,139 +1,317 @@ -/* A Bison parser, made from Zend/zend_language_parser.y - by GNU bison 1.35. */ +/* A Bison parser, made by GNU Bison 1.875d. */ -#define YYBISON 1 /* Identify Bison output. */ +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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 1 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + +/* If NAME_PREFIX is specified substitute the variables and functions + names. */ #define yyparse zendparse -#define yylex zendlex +#define yylex zendlex #define yyerror zenderror -#define yylval zendlval -#define yychar zendchar +#define yylval zendlval +#define yychar zendchar #define yydebug zenddebug #define yynerrs zendnerrs -# define T_INCLUDE 257 -# define T_INCLUDE_ONCE 258 -# define T_EVAL 259 -# define T_REQUIRE 260 -# define T_REQUIRE_ONCE 261 -# define T_LOGICAL_OR 262 -# define T_LOGICAL_XOR 263 -# define T_LOGICAL_AND 264 -# define T_PRINT 265 -# define T_PLUS_EQUAL 266 -# define T_MINUS_EQUAL 267 -# define T_MUL_EQUAL 268 -# define T_DIV_EQUAL 269 -# define T_CONCAT_EQUAL 270 -# define T_MOD_EQUAL 271 -# define T_AND_EQUAL 272 -# define T_OR_EQUAL 273 -# define T_XOR_EQUAL 274 -# define T_SL_EQUAL 275 -# define T_SR_EQUAL 276 -# define T_BOOLEAN_OR 277 -# define T_BOOLEAN_AND 278 -# define T_IS_EQUAL 279 -# define T_IS_NOT_EQUAL 280 -# define T_IS_IDENTICAL 281 -# define T_IS_NOT_IDENTICAL 282 -# define T_IS_SMALLER_OR_EQUAL 283 -# define T_IS_GREATER_OR_EQUAL 284 -# define T_SL 285 -# define T_SR 286 -# define T_INSTANCEOF 287 -# define T_INC 288 -# define T_DEC 289 -# define T_INT_CAST 290 -# define T_DOUBLE_CAST 291 -# define T_STRING_CAST 292 -# define T_ARRAY_CAST 293 -# define T_OBJECT_CAST 294 -# define T_BOOL_CAST 295 -# define T_UNSET_CAST 296 -# define T_NEW 297 -# define T_CLONE 298 -# define T_EXIT 299 -# define T_IF 300 -# define T_ELSEIF 301 -# define T_ELSE 302 -# define T_ENDIF 303 -# define T_LNUMBER 304 -# define T_DNUMBER 305 -# define T_STRING 306 -# define T_STRING_VARNAME 307 -# define T_VARIABLE 308 -# define T_NUM_STRING 309 -# define T_INLINE_HTML 310 -# define T_CHARACTER 311 -# define T_BAD_CHARACTER 312 -# define T_ENCAPSED_AND_WHITESPACE 313 -# define T_CONSTANT_ENCAPSED_STRING 314 -# define T_ECHO 315 -# define T_DO 316 -# define T_WHILE 317 -# define T_ENDWHILE 318 -# define T_FOR 319 -# define T_ENDFOR 320 -# define T_FOREACH 321 -# define T_ENDFOREACH 322 -# define T_DECLARE 323 -# define T_ENDDECLARE 324 -# define T_AS 325 -# define T_SWITCH 326 -# define T_ENDSWITCH 327 -# define T_CASE 328 -# define T_DEFAULT 329 -# define T_BREAK 330 -# define T_CONTINUE 331 -# define T_FUNCTION 332 -# define T_CONST 333 -# define T_RETURN 334 -# define T_TRY 335 -# define T_CATCH 336 -# define T_THROW 337 -# define T_USE 338 -# define T_GLOBAL 339 -# define T_STATIC 340 -# define T_ABSTRACT 341 -# define T_FINAL 342 -# define T_PRIVATE 343 -# define T_PROTECTED 344 -# define T_PUBLIC 345 -# define T_VAR 346 -# define T_UNSET 347 -# define T_ISSET 348 -# define T_EMPTY 349 -# define T_CLASS 350 -# define T_INTERFACE 351 -# define T_EXTENDS 352 -# define T_IMPLEMENTS 353 -# define T_OBJECT_OPERATOR 354 -# define T_DOUBLE_ARROW 355 -# define T_LIST 356 -# define T_ARRAY 357 -# define T_CLASS_C 358 -# define T_METHOD_C 359 -# define T_FUNC_C 360 -# define T_LINE 361 -# define T_FILE 362 -# define T_COMMENT 363 -# define T_DOC_COMMENT 364 -# define T_OPEN_TAG 365 -# define T_OPEN_TAG_WITH_ECHO 366 -# define T_CLOSE_TAG 367 -# define T_WHITESPACE 368 -# define T_START_HEREDOC 369 -# define T_END_HEREDOC 370 -# define T_DOLLAR_OPEN_CURLY_BRACES 371 -# define T_CURLY_OPEN 372 -# define T_PAAMAYIM_NEKUDOTAYIM 373 + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + T_REQUIRE_ONCE = 258, + T_REQUIRE = 259, + T_EVAL = 260, + T_INCLUDE_ONCE = 261, + T_INCLUDE = 262, + T_LOGICAL_OR = 263, + T_LOGICAL_XOR = 264, + T_LOGICAL_AND = 265, + T_PRINT = 266, + T_SR_EQUAL = 267, + T_SL_EQUAL = 268, + T_XOR_EQUAL = 269, + T_OR_EQUAL = 270, + T_AND_EQUAL = 271, + T_MOD_EQUAL = 272, + T_CONCAT_EQUAL = 273, + T_DIV_EQUAL = 274, + T_MUL_EQUAL = 275, + T_MINUS_EQUAL = 276, + T_PLUS_EQUAL = 277, + T_BOOLEAN_OR = 278, + T_BOOLEAN_AND = 279, + T_IS_NOT_IDENTICAL = 280, + T_IS_IDENTICAL = 281, + T_IS_NOT_EQUAL = 282, + T_IS_EQUAL = 283, + T_IS_GREATER_OR_EQUAL = 284, + T_IS_SMALLER_OR_EQUAL = 285, + T_SR = 286, + T_SL = 287, + T_INSTANCEOF = 288, + T_UNSET_CAST = 289, + T_BOOL_CAST = 290, + T_OBJECT_CAST = 291, + T_ARRAY_CAST = 292, + T_STRING_CAST = 293, + T_DOUBLE_CAST = 294, + T_INT_CAST = 295, + T_DEC = 296, + T_INC = 297, + T_CLONE = 298, + T_NEW = 299, + T_EXIT = 300, + T_IF = 301, + T_ELSEIF = 302, + T_ELSE = 303, + T_ENDIF = 304, + T_LNUMBER = 305, + T_DNUMBER = 306, + T_STRING = 307, + T_STRING_VARNAME = 308, + T_VARIABLE = 309, + T_NUM_STRING = 310, + T_INLINE_HTML = 311, + T_CHARACTER = 312, + T_BAD_CHARACTER = 313, + T_ENCAPSED_AND_WHITESPACE = 314, + T_CONSTANT_ENCAPSED_STRING = 315, + T_ECHO = 316, + T_DO = 317, + T_WHILE = 318, + T_ENDWHILE = 319, + T_FOR = 320, + T_ENDFOR = 321, + T_FOREACH = 322, + T_ENDFOREACH = 323, + T_DECLARE = 324, + T_ENDDECLARE = 325, + T_AS = 326, + T_SWITCH = 327, + T_ENDSWITCH = 328, + T_CASE = 329, + T_DEFAULT = 330, + T_BREAK = 331, + T_CONTINUE = 332, + T_FUNCTION = 333, + T_CONST = 334, + T_RETURN = 335, + T_TRY = 336, + T_CATCH = 337, + T_THROW = 338, + T_USE = 339, + T_GLOBAL = 340, + T_PUBLIC = 341, + T_PROTECTED = 342, + T_PRIVATE = 343, + T_FINAL = 344, + T_ABSTRACT = 345, + T_STATIC = 346, + T_VAR = 347, + T_UNSET = 348, + T_ISSET = 349, + T_EMPTY = 350, + T_HALT_COMPILER = 351, + T_CLASS = 352, + T_INTERFACE = 353, + T_EXTENDS = 354, + T_IMPLEMENTS = 355, + T_OBJECT_OPERATOR = 356, + T_DOUBLE_ARROW = 357, + T_LIST = 358, + T_ARRAY = 359, + T_CLASS_C = 360, + T_METHOD_C = 361, + T_FUNC_C = 362, + T_LINE = 363, + T_FILE = 364, + T_COMMENT = 365, + T_DOC_COMMENT = 366, + T_OPEN_TAG = 367, + T_OPEN_TAG_WITH_ECHO = 368, + T_CLOSE_TAG = 369, + T_WHITESPACE = 370, + T_START_HEREDOC = 371, + T_END_HEREDOC = 372, + T_DOLLAR_OPEN_CURLY_BRACES = 373, + T_CURLY_OPEN = 374, + T_PAAMAYIM_NEKUDOTAYIM = 375 + }; +#endif +#define T_REQUIRE_ONCE 258 +#define T_REQUIRE 259 +#define T_EVAL 260 +#define T_INCLUDE_ONCE 261 +#define T_INCLUDE 262 +#define T_LOGICAL_OR 263 +#define T_LOGICAL_XOR 264 +#define T_LOGICAL_AND 265 +#define T_PRINT 266 +#define T_SR_EQUAL 267 +#define T_SL_EQUAL 268 +#define T_XOR_EQUAL 269 +#define T_OR_EQUAL 270 +#define T_AND_EQUAL 271 +#define T_MOD_EQUAL 272 +#define T_CONCAT_EQUAL 273 +#define T_DIV_EQUAL 274 +#define T_MUL_EQUAL 275 +#define T_MINUS_EQUAL 276 +#define T_PLUS_EQUAL 277 +#define T_BOOLEAN_OR 278 +#define T_BOOLEAN_AND 279 +#define T_IS_NOT_IDENTICAL 280 +#define T_IS_IDENTICAL 281 +#define T_IS_NOT_EQUAL 282 +#define T_IS_EQUAL 283 +#define T_IS_GREATER_OR_EQUAL 284 +#define T_IS_SMALLER_OR_EQUAL 285 +#define T_SR 286 +#define T_SL 287 +#define T_INSTANCEOF 288 +#define T_UNSET_CAST 289 +#define T_BOOL_CAST 290 +#define T_OBJECT_CAST 291 +#define T_ARRAY_CAST 292 +#define T_STRING_CAST 293 +#define T_DOUBLE_CAST 294 +#define T_INT_CAST 295 +#define T_DEC 296 +#define T_INC 297 +#define T_CLONE 298 +#define T_NEW 299 +#define T_EXIT 300 +#define T_IF 301 +#define T_ELSEIF 302 +#define T_ELSE 303 +#define T_ENDIF 304 +#define T_LNUMBER 305 +#define T_DNUMBER 306 +#define T_STRING 307 +#define T_STRING_VARNAME 308 +#define T_VARIABLE 309 +#define T_NUM_STRING 310 +#define T_INLINE_HTML 311 +#define T_CHARACTER 312 +#define T_BAD_CHARACTER 313 +#define T_ENCAPSED_AND_WHITESPACE 314 +#define T_CONSTANT_ENCAPSED_STRING 315 +#define T_ECHO 316 +#define T_DO 317 +#define T_WHILE 318 +#define T_ENDWHILE 319 +#define T_FOR 320 +#define T_ENDFOR 321 +#define T_FOREACH 322 +#define T_ENDFOREACH 323 +#define T_DECLARE 324 +#define T_ENDDECLARE 325 +#define T_AS 326 +#define T_SWITCH 327 +#define T_ENDSWITCH 328 +#define T_CASE 329 +#define T_DEFAULT 330 +#define T_BREAK 331 +#define T_CONTINUE 332 +#define T_FUNCTION 333 +#define T_CONST 334 +#define T_RETURN 335 +#define T_TRY 336 +#define T_CATCH 337 +#define T_THROW 338 +#define T_USE 339 +#define T_GLOBAL 340 +#define T_PUBLIC 341 +#define T_PROTECTED 342 +#define T_PRIVATE 343 +#define T_FINAL 344 +#define T_ABSTRACT 345 +#define T_STATIC 346 +#define T_VAR 347 +#define T_UNSET 348 +#define T_ISSET 349 +#define T_EMPTY 350 +#define T_HALT_COMPILER 351 +#define T_CLASS 352 +#define T_INTERFACE 353 +#define T_EXTENDS 354 +#define T_IMPLEMENTS 355 +#define T_OBJECT_OPERATOR 356 +#define T_DOUBLE_ARROW 357 +#define T_LIST 358 +#define T_ARRAY 359 +#define T_CLASS_C 360 +#define T_METHOD_C 361 +#define T_FUNC_C 362 +#define T_LINE 363 +#define T_FILE 364 +#define T_COMMENT 365 +#define T_DOC_COMMENT 366 +#define T_OPEN_TAG 367 +#define T_OPEN_TAG_WITH_ECHO 368 +#define T_CLOSE_TAG 369 +#define T_WHITESPACE 370 +#define T_START_HEREDOC 371 +#define T_END_HEREDOC 372 +#define T_DOLLAR_OPEN_CURLY_BRACES 373 +#define T_CURLY_OPEN 374 +#define T_PAAMAYIM_NEKUDOTAYIM 375 + + + + +/* Copy the first part of user declarations. */ /* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ - | Copyright (c) 1998-2004 Zend Technologies Ltd. (http://www.zend.com) | + | Copyright (c) 1998-2005 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | @@ -148,7 +326,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_language_parser.y,v 1.144.2.3 2005/06/08 06:48:38 dmitry Exp $ */ +/* $Id: zend_language_parser.y,v 1.160.2.2 2005/10/17 07:57:00 dmitry Exp $ */ /* * LALR shift/reduce conflicts and how they are resolved: @@ -165,6 +343,8 @@ #include "zend_list.h" #include "zend_globals.h" #include "zend_API.h" +#include "zend_constants.h" + #define YYERROR_VERBOSE #define YYSTYPE znode @@ -174,39 +354,174 @@ #endif -#ifndef YYSTYPE -# define YYSTYPE int -# define YYSTYPE_IS_TRIVIAL 1 -#endif + + +/* 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) +typedef int YYSTYPE; +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +/* Copy the second part of user declarations. */ + + +/* Line 214 of yacc.c. */ + + +#if ! defined (yyoverflow) || YYERROR_VERBOSE + +# ifndef YYFREE +# define YYFREE free +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# endif + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# endif +# else +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# endif +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short int 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 int) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) -#define YYFINAL 776 -#define YYFLAG -32768 -#define YYNTBASE 149 +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined (__GNUC__) && 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) -/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ -#define YYTRANSLATE(x) ((unsigned)(x) <= 373 ? yytranslate[x] : 316) +#endif + +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short int yysigned_char; +#endif -/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ -static const short yytranslate[] = +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 3 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 4041 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 150 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 170 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 424 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 787 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 375 + +#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, 48, 146, 2, 144, 47, 31, 147, - 141, 142, 45, 42, 8, 43, 44, 46, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 26, 143, - 36, 13, 38, 25, 60, 2, 2, 2, 2, 2, + 2, 2, 2, 48, 147, 2, 145, 47, 31, 148, + 140, 141, 45, 42, 8, 43, 44, 46, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 26, 142, + 36, 13, 37, 25, 51, 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, 61, 2, 148, 30, 2, 145, 2, 2, 2, + 2, 61, 2, 149, 30, 2, 146, 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, 139, 29, 140, 50, 2, 2, 2, + 2, 2, 2, 143, 29, 144, 50, 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, @@ -219,1185 +534,1254 @@ static const short yytranslate[] = 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, 3, 4, 5, - 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 27, 28, 32, - 33, 34, 35, 37, 39, 40, 41, 49, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138 + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 27, 28, + 32, 33, 34, 35, 38, 39, 40, 41, 49, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139 }; #if YYDEBUG -static const short yyprhs[] = +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned short int yyprhs[] = { - 0, 0, 2, 3, 7, 8, 10, 12, 14, 15, - 19, 20, 22, 24, 26, 28, 32, 33, 34, 44, - 45, 46, 59, 60, 61, 69, 70, 71, 81, 82, - 83, 84, 97, 98, 105, 108, 112, 115, 119, 122, - 126, 130, 134, 138, 142, 144, 147, 151, 157, 158, - 159, 170, 171, 172, 183, 184, 191, 193, 194, 195, - 196, 197, 198, 217, 221, 223, 224, 226, 229, 230, - 231, 242, 244, 248, 250, 252, 256, 258, 260, 261, - 263, 264, 265, 277, 278, 287, 288, 296, 298, 301, - 304, 305, 308, 310, 311, 314, 315, 318, 320, 324, - 325, 328, 330, 333, 335, 340, 342, 347, 349, 354, - 358, 364, 368, 373, 378, 384, 385, 386, 393, 394, - 400, 402, 404, 406, 411, 412, 413, 421, 422, 423, - 432, 433, 436, 437, 441, 443, 444, 447, 451, 457, - 462, 467, 473, 481, 488, 489, 491, 493, 494, 496, - 498, 501, 505, 509, 514, 518, 520, 522, 525, 530, - 534, 540, 542, 546, 549, 550, 551, 556, 559, 560, - 561, 572, 574, 578, 580, 582, 583, 585, 587, 590, - 592, 594, 596, 598, 600, 602, 606, 612, 614, 618, - 624, 629, 633, 635, 636, 638, 639, 644, 646, 647, - 655, 659, 664, 665, 673, 674, 679, 682, 686, 690, - 694, 698, 702, 706, 710, 714, 718, 722, 726, 729, - 732, 735, 738, 739, 744, 745, 750, 751, 756, 757, - 762, 766, 770, 774, 778, 782, 786, 790, 794, 798, - 802, 806, 810, 813, 816, 819, 822, 826, 830, 834, - 838, 842, 846, 850, 854, 858, 862, 863, 864, 872, - 874, 877, 880, 883, 886, 889, 892, 895, 898, 899, - 903, 905, 910, 914, 917, 918, 924, 925, 933, 934, - 942, 943, 949, 951, 953, 955, 956, 957, 964, 966, - 969, 970, 973, 974, 977, 981, 982, 986, 988, 990, - 992, 994, 996, 998, 1000, 1002, 1004, 1006, 1009, 1012, - 1017, 1019, 1023, 1025, 1027, 1029, 1031, 1035, 1039, 1043, - 1044, 1047, 1048, 1050, 1056, 1060, 1064, 1066, 1068, 1070, - 1072, 1073, 1076, 1077, 1080, 1081, 1082, 1090, 1092, 1095, - 1096, 1097, 1102, 1103, 1108, 1109, 1111, 1114, 1118, 1120, - 1122, 1124, 1127, 1129, 1134, 1139, 1141, 1143, 1148, 1149, - 1151, 1153, 1154, 1157, 1162, 1167, 1169, 1171, 1175, 1177, - 1180, 1184, 1186, 1188, 1189, 1195, 1196, 1197, 1200, 1206, - 1210, 1214, 1216, 1223, 1228, 1233, 1236, 1239, 1242, 1245, - 1248, 1251, 1254, 1257, 1260, 1263, 1266, 1269, 1270, 1272, - 1273, 1279, 1283, 1287, 1294, 1298, 1300, 1302, 1304, 1309, - 1314, 1317, 1320, 1325, 1328, 1331, 1333, 1334, 1339 + 0, 0, 3, 5, 6, 10, 11, 13, 15, 17, + 22, 23, 27, 28, 30, 32, 34, 39, 41, 45, + 46, 47, 57, 58, 59, 72, 73, 74, 82, 83, + 84, 94, 95, 96, 97, 110, 111, 118, 121, 125, + 128, 132, 135, 139, 143, 147, 151, 155, 157, 160, + 164, 170, 171, 172, 173, 185, 186, 187, 188, 200, + 201, 208, 210, 211, 212, 213, 214, 215, 234, 238, + 240, 241, 243, 246, 247, 248, 259, 261, 265, 267, + 269, 273, 275, 277, 278, 280, 281, 282, 294, 295, + 304, 305, 313, 315, 318, 321, 322, 325, 327, 328, + 331, 332, 335, 337, 341, 342, 345, 347, 350, 352, + 357, 359, 364, 366, 371, 375, 381, 385, 390, 395, + 401, 402, 403, 410, 411, 417, 419, 421, 423, 428, + 429, 430, 438, 439, 440, 449, 450, 453, 454, 458, + 460, 461, 464, 468, 474, 479, 484, 490, 498, 505, + 506, 508, 510, 512, 513, 515, 517, 520, 524, 528, + 533, 537, 539, 541, 544, 549, 553, 559, 561, 565, + 568, 569, 570, 575, 578, 579, 580, 591, 593, 597, + 599, 601, 602, 604, 606, 609, 611, 613, 615, 617, + 619, 621, 625, 631, 633, 637, 643, 648, 652, 654, + 655, 657, 658, 663, 665, 666, 674, 678, 683, 684, + 692, 693, 698, 701, 705, 709, 713, 717, 721, 725, + 729, 733, 737, 741, 745, 748, 751, 754, 757, 758, + 763, 764, 769, 770, 775, 776, 781, 785, 789, 793, + 797, 801, 805, 809, 813, 817, 821, 825, 829, 832, + 835, 838, 841, 845, 849, 853, 857, 861, 865, 869, + 873, 877, 881, 882, 883, 891, 893, 896, 899, 902, + 905, 908, 911, 914, 917, 918, 922, 924, 929, 933, + 936, 937, 943, 944, 952, 953, 961, 962, 968, 970, + 972, 974, 975, 976, 983, 985, 988, 989, 992, 993, + 996, 1000, 1001, 1005, 1007, 1009, 1011, 1013, 1015, 1017, + 1019, 1021, 1023, 1025, 1028, 1031, 1036, 1038, 1042, 1044, + 1046, 1048, 1050, 1054, 1058, 1062, 1063, 1066, 1067, 1069, + 1075, 1079, 1083, 1085, 1087, 1089, 1091, 1092, 1095, 1096, + 1099, 1100, 1101, 1109, 1111, 1114, 1115, 1116, 1121, 1122, + 1127, 1128, 1130, 1133, 1137, 1139, 1141, 1143, 1146, 1148, + 1153, 1158, 1160, 1162, 1167, 1168, 1170, 1172, 1173, 1176, + 1181, 1186, 1188, 1190, 1194, 1196, 1199, 1203, 1205, 1207, + 1208, 1214, 1215, 1216, 1219, 1225, 1229, 1233, 1235, 1242, + 1247, 1252, 1255, 1258, 1261, 1264, 1267, 1270, 1273, 1276, + 1279, 1282, 1285, 1288, 1289, 1291, 1292, 1298, 1302, 1306, + 1313, 1317, 1319, 1321, 1323, 1328, 1333, 1336, 1339, 1344, + 1347, 1350, 1352, 1353, 1358 }; -static const short yyrhs[] = + +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const short int yyrhs[] = { - 150, 0, 0, 150, 151, 152, 0, 0, 156, 0, - 188, 0, 189, 0, 0, 153, 154, 155, 0, 0, - 156, 0, 188, 0, 189, 0, 157, 0, 139, 153, - 140, 0, 0, 0, 65, 141, 277, 142, 158, 156, - 159, 215, 219, 0, 0, 0, 65, 141, 277, 142, - 26, 160, 153, 161, 217, 220, 68, 143, 0, 0, - 0, 82, 141, 162, 277, 142, 163, 214, 0, 0, - 0, 81, 164, 156, 82, 141, 165, 277, 142, 143, - 0, 0, 0, 0, 84, 141, 242, 143, 166, 242, - 143, 167, 242, 142, 168, 205, 0, 0, 91, 141, - 277, 142, 169, 209, 0, 95, 143, 0, 95, 277, - 143, 0, 96, 143, 0, 96, 277, 143, 0, 99, - 143, 0, 99, 245, 143, 0, 99, 283, 143, 0, - 104, 226, 143, 0, 105, 228, 143, 0, 80, 241, - 143, 0, 75, 0, 277, 143, 0, 103, 187, 143, - 0, 112, 141, 185, 142, 143, 0, 0, 0, 86, - 141, 283, 90, 170, 204, 203, 142, 171, 206, 0, - 0, 0, 86, 141, 245, 90, 172, 279, 203, 142, - 173, 206, 0, 0, 88, 174, 141, 208, 142, 207, - 0, 143, 0, 0, 0, 0, 0, 0, 100, 175, - 139, 153, 140, 101, 141, 176, 261, 177, 73, 142, - 178, 139, 153, 140, 179, 180, 0, 102, 277, 143, - 0, 181, 0, 0, 182, 0, 181, 182, 0, 0, - 0, 101, 141, 261, 183, 73, 142, 184, 139, 153, - 140, 0, 186, 0, 185, 8, 186, 0, 283, 0, - 79, 0, 141, 79, 142, 0, 191, 0, 194, 0, - 0, 31, 0, 0, 0, 97, 192, 190, 71, 193, - 141, 221, 142, 139, 153, 140, 0, 0, 197, 71, - 198, 195, 201, 139, 229, 140, 0, 0, 199, 71, - 196, 200, 139, 229, 140, 0, 115, 0, 106, 115, - 0, 107, 115, 0, 0, 117, 261, 0, 116, 0, - 0, 117, 202, 0, 0, 118, 202, 0, 261, 0, - 202, 8, 261, 0, 0, 120, 204, 0, 279, 0, - 31, 279, 0, 156, 0, 26, 153, 85, 143, 0, - 156, 0, 26, 153, 87, 143, 0, 156, 0, 26, - 153, 89, 143, 0, 71, 13, 271, 0, 208, 8, - 71, 13, 271, 0, 139, 210, 140, 0, 139, 143, - 210, 140, 0, 26, 210, 92, 143, 0, 26, 143, - 210, 92, 143, 0, 0, 0, 210, 93, 277, 213, - 211, 153, 0, 0, 210, 94, 213, 212, 153, 0, - 26, 0, 143, 0, 156, 0, 26, 153, 83, 143, - 0, 0, 0, 215, 66, 141, 277, 142, 216, 156, - 0, 0, 0, 217, 66, 141, 277, 142, 26, 218, - 153, 0, 0, 67, 156, 0, 0, 67, 26, 153, - 0, 222, 0, 0, 223, 73, 0, 223, 31, 73, - 0, 223, 31, 73, 13, 271, 0, 223, 73, 13, - 271, 0, 222, 8, 223, 73, 0, 222, 8, 223, - 31, 73, 0, 222, 8, 223, 31, 73, 13, 271, - 0, 222, 8, 223, 73, 13, 271, 0, 0, 71, - 0, 225, 0, 0, 245, 0, 283, 0, 31, 279, - 0, 225, 8, 245, 0, 225, 8, 283, 0, 225, - 8, 31, 279, 0, 226, 8, 227, 0, 227, 0, - 73, 0, 144, 278, 0, 144, 139, 277, 140, 0, - 228, 8, 73, 0, 228, 8, 73, 13, 271, 0, - 73, 0, 73, 13, 271, 0, 229, 230, 0, 0, - 0, 235, 231, 239, 143, 0, 240, 143, 0, 0, - 0, 236, 97, 232, 190, 71, 233, 141, 221, 142, - 234, 0, 143, 0, 139, 153, 140, 0, 237, 0, - 111, 0, 0, 237, 0, 238, 0, 237, 238, 0, - 110, 0, 109, 0, 108, 0, 105, 0, 106, 0, - 107, 0, 239, 8, 73, 0, 239, 8, 73, 13, - 271, 0, 73, 0, 73, 13, 271, 0, 240, 8, - 71, 13, 271, 0, 98, 71, 13, 271, 0, 241, - 8, 277, 0, 277, 0, 0, 243, 0, 0, 243, - 8, 244, 277, 0, 277, 0, 0, 121, 141, 246, - 303, 142, 13, 277, 0, 283, 13, 277, 0, 283, - 13, 31, 283, 0, 0, 283, 13, 31, 62, 262, - 247, 269, 0, 0, 62, 262, 248, 269, 0, 63, - 277, 0, 283, 14, 277, 0, 283, 15, 277, 0, - 283, 16, 277, 0, 283, 17, 277, 0, 283, 18, - 277, 0, 283, 19, 277, 0, 283, 20, 277, 0, - 283, 21, 277, 0, 283, 22, 277, 0, 283, 23, - 277, 0, 283, 24, 277, 0, 281, 51, 0, 51, - 281, 0, 281, 52, 0, 52, 281, 0, 0, 277, - 27, 249, 277, 0, 0, 277, 28, 250, 277, 0, - 0, 277, 9, 251, 277, 0, 0, 277, 11, 252, - 277, 0, 277, 10, 277, 0, 277, 29, 277, 0, - 277, 31, 277, 0, 277, 30, 277, 0, 277, 44, - 277, 0, 277, 42, 277, 0, 277, 43, 277, 0, - 277, 45, 277, 0, 277, 46, 277, 0, 277, 47, - 277, 0, 277, 40, 277, 0, 277, 41, 277, 0, - 42, 277, 0, 43, 277, 0, 48, 277, 0, 50, - 277, 0, 277, 34, 277, 0, 277, 35, 277, 0, - 277, 32, 277, 0, 277, 33, 277, 0, 277, 36, - 277, 0, 277, 37, 277, 0, 277, 38, 277, 0, - 277, 39, 277, 0, 277, 49, 262, 0, 141, 277, - 142, 0, 0, 0, 277, 25, 253, 277, 26, 254, - 277, 0, 312, 0, 53, 277, 0, 54, 277, 0, - 55, 277, 0, 56, 277, 0, 57, 277, 0, 58, - 277, 0, 59, 277, 0, 64, 268, 0, 0, 60, - 255, 277, 0, 273, 0, 122, 141, 306, 142, 0, - 145, 308, 145, 0, 12, 277, 0, 0, 71, 141, - 257, 224, 142, 0, 0, 261, 138, 71, 141, 258, - 224, 142, 0, 0, 261, 138, 291, 141, 259, 224, - 142, 0, 0, 291, 141, 260, 224, 142, 0, 71, - 0, 71, 0, 263, 0, 0, 0, 294, 119, 264, - 298, 265, 266, 0, 294, 0, 266, 267, 0, 0, - 119, 298, 0, 0, 141, 142, 0, 141, 277, 142, - 0, 0, 141, 224, 142, 0, 69, 0, 70, 0, - 79, 0, 126, 0, 127, 0, 123, 0, 124, 0, - 125, 0, 270, 0, 71, 0, 42, 271, 0, 43, - 271, 0, 122, 141, 274, 142, 0, 272, 0, 71, - 138, 71, 0, 71, 0, 72, 0, 315, 0, 270, - 0, 146, 308, 146, 0, 147, 308, 147, 0, 134, - 308, 135, 0, 0, 276, 275, 0, 0, 8, 0, - 276, 8, 271, 120, 271, 0, 276, 8, 271, 0, - 271, 120, 271, 0, 271, 0, 278, 0, 245, 0, - 283, 0, 0, 283, 280, 0, 0, 283, 282, 0, - 0, 0, 293, 119, 284, 298, 285, 289, 286, 0, - 293, 0, 286, 287, 0, 0, 0, 119, 298, 288, - 289, 0, 0, 141, 290, 224, 142, 0, 0, 295, - 0, 302, 295, 0, 261, 138, 291, 0, 294, 0, - 256, 0, 295, 0, 302, 295, 0, 292, 0, 295, - 61, 297, 148, 0, 295, 139, 277, 140, 0, 296, - 0, 73, 0, 144, 139, 277, 140, 0, 0, 277, - 0, 300, 0, 0, 291, 299, 0, 300, 61, 297, - 148, 0, 300, 139, 277, 140, 0, 301, 0, 71, - 0, 139, 277, 140, 0, 144, 0, 302, 144, 0, - 303, 8, 304, 0, 304, 0, 283, 0, 0, 121, - 141, 305, 303, 142, 0, 0, 0, 307, 275, 0, - 307, 8, 277, 120, 277, 0, 307, 8, 277, 0, - 277, 120, 277, 0, 277, 0, 307, 8, 277, 120, - 31, 279, 0, 307, 8, 31, 279, 0, 277, 120, - 31, 279, 0, 31, 279, 0, 308, 309, 0, 308, - 71, 0, 308, 74, 0, 308, 78, 0, 308, 76, - 0, 308, 77, 0, 308, 61, 0, 308, 148, 0, - 308, 139, 0, 308, 140, 0, 308, 119, 0, 0, - 73, 0, 0, 73, 61, 310, 311, 148, 0, 73, - 119, 71, 0, 136, 277, 140, 0, 136, 72, 61, - 277, 148, 140, 0, 137, 283, 140, 0, 71, 0, - 74, 0, 73, 0, 113, 141, 313, 142, 0, 114, - 141, 283, 142, 0, 3, 277, 0, 4, 277, 0, - 5, 141, 277, 142, 0, 6, 277, 0, 7, 277, - 0, 283, 0, 0, 313, 8, 314, 283, 0, 261, - 138, 71, 0 + 151, 0, -1, 152, -1, -1, 152, 153, 154, -1, + -1, 158, -1, 192, -1, 193, -1, 115, 140, 141, + 142, -1, -1, 155, 156, 157, -1, -1, 158, -1, + 192, -1, 193, -1, 115, 140, 141, 142, -1, 159, + -1, 143, 155, 144, -1, -1, -1, 65, 140, 281, + 141, 160, 158, 161, 219, 223, -1, -1, -1, 65, + 140, 281, 141, 26, 162, 155, 163, 221, 224, 68, + 142, -1, -1, -1, 82, 140, 164, 281, 141, 165, + 218, -1, -1, -1, 81, 166, 158, 82, 140, 167, + 281, 141, 142, -1, -1, -1, -1, 84, 140, 246, + 142, 168, 246, 142, 169, 246, 141, 170, 209, -1, + -1, 91, 140, 281, 141, 171, 213, -1, 95, 142, + -1, 95, 281, 142, -1, 96, 142, -1, 96, 281, + 142, -1, 99, 142, -1, 99, 249, 142, -1, 99, + 287, 142, -1, 104, 230, 142, -1, 110, 232, 142, + -1, 80, 245, 142, -1, 75, -1, 281, 142, -1, + 103, 191, 142, -1, 112, 140, 189, 141, 142, -1, + -1, -1, -1, 86, 140, 287, 172, 90, 173, 208, + 207, 141, 174, 210, -1, -1, -1, -1, 86, 140, + 249, 175, 90, 176, 287, 207, 141, 177, 210, -1, + -1, 88, 178, 140, 212, 141, 211, -1, 142, -1, + -1, -1, -1, -1, -1, 100, 179, 143, 155, 144, + 101, 140, 180, 265, 181, 73, 141, 182, 143, 155, + 144, 183, 184, -1, 102, 281, 142, -1, 185, -1, + -1, 186, -1, 185, 186, -1, -1, -1, 101, 140, + 265, 187, 73, 141, 188, 143, 155, 144, -1, 190, + -1, 189, 8, 190, -1, 287, -1, 79, -1, 140, + 79, 141, -1, 195, -1, 198, -1, -1, 31, -1, + -1, -1, 97, 196, 194, 71, 197, 140, 225, 141, + 143, 155, 144, -1, -1, 201, 71, 202, 199, 205, + 143, 233, 144, -1, -1, 203, 71, 200, 204, 143, + 233, 144, -1, 116, -1, 109, 116, -1, 108, 116, + -1, -1, 118, 265, -1, 117, -1, -1, 118, 206, + -1, -1, 119, 206, -1, 265, -1, 206, 8, 265, + -1, -1, 121, 208, -1, 287, -1, 31, 287, -1, + 158, -1, 26, 155, 85, 142, -1, 158, -1, 26, + 155, 87, 142, -1, 158, -1, 26, 155, 89, 142, + -1, 71, 13, 275, -1, 212, 8, 71, 13, 275, + -1, 143, 214, 144, -1, 143, 142, 214, 144, -1, + 26, 214, 92, 142, -1, 26, 142, 214, 92, 142, + -1, -1, -1, 214, 93, 281, 217, 215, 155, -1, + -1, 214, 94, 217, 216, 155, -1, 26, -1, 142, + -1, 158, -1, 26, 155, 83, 142, -1, -1, -1, + 219, 66, 140, 281, 141, 220, 158, -1, -1, -1, + 221, 66, 140, 281, 141, 26, 222, 155, -1, -1, + 67, 158, -1, -1, 67, 26, 155, -1, 226, -1, + -1, 227, 73, -1, 227, 31, 73, -1, 227, 31, + 73, 13, 275, -1, 227, 73, 13, 275, -1, 226, + 8, 227, 73, -1, 226, 8, 227, 31, 73, -1, + 226, 8, 227, 31, 73, 13, 275, -1, 226, 8, + 227, 73, 13, 275, -1, -1, 71, -1, 123, -1, + 229, -1, -1, 249, -1, 287, -1, 31, 283, -1, + 229, 8, 249, -1, 229, 8, 287, -1, 229, 8, + 31, 283, -1, 230, 8, 231, -1, 231, -1, 73, + -1, 145, 282, -1, 145, 143, 281, 144, -1, 232, + 8, 73, -1, 232, 8, 73, 13, 275, -1, 73, + -1, 73, 13, 275, -1, 233, 234, -1, -1, -1, + 239, 235, 243, 142, -1, 244, 142, -1, -1, -1, + 240, 97, 236, 194, 71, 237, 140, 225, 141, 238, + -1, 142, -1, 143, 155, 144, -1, 241, -1, 111, + -1, -1, 241, -1, 242, -1, 241, 242, -1, 105, + -1, 106, -1, 107, -1, 110, -1, 109, -1, 108, + -1, 243, 8, 73, -1, 243, 8, 73, 13, 275, + -1, 73, -1, 73, 13, 275, -1, 244, 8, 71, + 13, 275, -1, 98, 71, 13, 275, -1, 245, 8, + 281, -1, 281, -1, -1, 247, -1, -1, 247, 8, + 248, 281, -1, 281, -1, -1, 122, 140, 250, 307, + 141, 13, 281, -1, 287, 13, 281, -1, 287, 13, + 31, 287, -1, -1, 287, 13, 31, 63, 266, 251, + 273, -1, -1, 63, 266, 252, 273, -1, 62, 281, + -1, 287, 24, 281, -1, 287, 23, 281, -1, 287, + 22, 281, -1, 287, 21, 281, -1, 287, 20, 281, + -1, 287, 19, 281, -1, 287, 18, 281, -1, 287, + 17, 281, -1, 287, 16, 281, -1, 287, 15, 281, + -1, 287, 14, 281, -1, 285, 60, -1, 60, 285, + -1, 285, 59, -1, 59, 285, -1, -1, 281, 27, + 253, 281, -1, -1, 281, 28, 254, 281, -1, -1, + 281, 9, 255, 281, -1, -1, 281, 11, 256, 281, + -1, 281, 10, 281, -1, 281, 29, 281, -1, 281, + 31, 281, -1, 281, 30, 281, -1, 281, 44, 281, + -1, 281, 42, 281, -1, 281, 43, 281, -1, 281, + 45, 281, -1, 281, 46, 281, -1, 281, 47, 281, + -1, 281, 41, 281, -1, 281, 40, 281, -1, 42, + 281, -1, 43, 281, -1, 48, 281, -1, 50, 281, + -1, 281, 33, 281, -1, 281, 32, 281, -1, 281, + 35, 281, -1, 281, 34, 281, -1, 281, 36, 281, + -1, 281, 39, 281, -1, 281, 37, 281, -1, 281, + 38, 281, -1, 281, 49, 266, -1, 140, 281, 141, + -1, -1, -1, 281, 25, 257, 281, 26, 258, 281, + -1, 316, -1, 58, 281, -1, 57, 281, -1, 56, + 281, -1, 55, 281, -1, 54, 281, -1, 53, 281, + -1, 52, 281, -1, 64, 272, -1, -1, 51, 259, + 281, -1, 277, -1, 123, 140, 310, 141, -1, 146, + 312, 146, -1, 12, 281, -1, -1, 71, 140, 261, + 228, 141, -1, -1, 265, 139, 71, 140, 262, 228, + 141, -1, -1, 265, 139, 295, 140, 263, 228, 141, + -1, -1, 295, 140, 264, 228, 141, -1, 71, -1, + 71, -1, 267, -1, -1, -1, 298, 120, 268, 302, + 269, 270, -1, 298, -1, 270, 271, -1, -1, 120, + 302, -1, -1, 140, 141, -1, 140, 281, 141, -1, + -1, 140, 228, 141, -1, 69, -1, 70, -1, 79, + -1, 127, -1, 128, -1, 124, -1, 125, -1, 126, + -1, 274, -1, 71, -1, 42, 275, -1, 43, 275, + -1, 123, 140, 278, 141, -1, 276, -1, 71, 139, + 71, -1, 71, -1, 72, -1, 319, -1, 274, -1, + 147, 312, 147, -1, 148, 312, 148, -1, 135, 312, + 136, -1, -1, 280, 279, -1, -1, 8, -1, 280, + 8, 275, 121, 275, -1, 280, 8, 275, -1, 275, + 121, 275, -1, 275, -1, 282, -1, 249, -1, 287, + -1, -1, 287, 284, -1, -1, 287, 286, -1, -1, + -1, 297, 120, 288, 302, 289, 293, 290, -1, 297, + -1, 290, 291, -1, -1, -1, 120, 302, 292, 293, + -1, -1, 140, 294, 228, 141, -1, -1, 299, -1, + 306, 299, -1, 265, 139, 295, -1, 298, -1, 260, + -1, 299, -1, 306, 299, -1, 296, -1, 299, 61, + 301, 149, -1, 299, 143, 281, 144, -1, 300, -1, + 73, -1, 145, 143, 281, 144, -1, -1, 281, -1, + 304, -1, -1, 295, 303, -1, 304, 61, 301, 149, + -1, 304, 143, 281, 144, -1, 305, -1, 71, -1, + 143, 281, 144, -1, 145, -1, 306, 145, -1, 307, + 8, 308, -1, 308, -1, 287, -1, -1, 122, 140, + 309, 307, 141, -1, -1, -1, 311, 279, -1, 311, + 8, 281, 121, 281, -1, 311, 8, 281, -1, 281, + 121, 281, -1, 281, -1, 311, 8, 281, 121, 31, + 283, -1, 311, 8, 31, 283, -1, 281, 121, 31, + 283, -1, 31, 283, -1, 312, 313, -1, 312, 71, + -1, 312, 74, -1, 312, 78, -1, 312, 76, -1, + 312, 77, -1, 312, 61, -1, 312, 149, -1, 312, + 143, -1, 312, 144, -1, 312, 120, -1, -1, 73, + -1, -1, 73, 61, 314, 315, 149, -1, 73, 120, + 71, -1, 137, 281, 144, -1, 137, 72, 61, 281, + 149, 144, -1, 138, 287, 144, -1, 71, -1, 74, + -1, 73, -1, 113, 140, 317, 141, -1, 114, 140, + 287, 141, -1, 7, 281, -1, 6, 281, -1, 5, + 140, 281, 141, -1, 4, 281, -1, 3, 281, -1, + 287, -1, -1, 317, 8, 318, 287, -1, 265, 139, + 71, -1 }; -#endif - -#if YYDEBUG -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const short yyrline[] = +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short int yyrline[] = { - 0, 148, 152, 152, 154, 158, 160, 161, 165, 165, - 167, 171, 173, 174, 178, 182, 184, 184, 184, 185, - 185, 185, 186, 186, 186, 187, 187, 187, 188, 188, - 188, 188, 197, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 212, - 212, 213, 213, 213, 214, 214, 215, 216, 216, 216, - 216, 216, 216, 222, 226, 228, 231, 233, 237, 237, - 237, 242, 244, 247, 251, 253, 257, 261, 266, 268, - 272, 272, 272, 277, 277, 284, 284, 293, 295, 296, - 299, 301, 304, 308, 310, 313, 315, 318, 320, 323, - 325, 329, 331, 334, 336, 340, 342, 346, 348, 352, - 354, 358, 360, 361, 362, 366, 368, 368, 369, 369, - 373, 375, 379, 381, 386, 388, 388, 392, 394, 394, - 398, 400, 404, 406, 410, 412, 416, 418, 419, 420, - 421, 422, 423, 424, 428, 430, 434, 436, 440, 442, - 443, 444, 445, 446, 449, 451, 455, 457, 458, 462, - 464, 465, 466, 471, 473, 477, 477, 479, 480, 480, - 480, 485, 487, 490, 492, 495, 497, 500, 502, 505, - 507, 508, 509, 510, 511, 514, 516, 517, 518, 521, - 523, 526, 528, 532, 534, 537, 537, 539, 542, 542, - 544, 545, 546, 546, 547, 547, 548, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 564, 564, 565, 565, 566, 566, 567, 567, - 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, - 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, - 588, 589, 590, 591, 592, 593, 594, 594, 594, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 606, - 607, 608, 609, 610, 613, 613, 617, 617, 620, 620, - 623, 623, 628, 632, 634, 638, 638, 638, 642, 646, - 648, 652, 656, 658, 659, 663, 665, 669, 671, 672, - 673, 674, 675, 676, 677, 681, 683, 684, 685, 686, - 687, 690, 694, 696, 697, 698, 699, 700, 701, 705, - 707, 710, 712, 715, 717, 718, 719, 722, 724, 728, - 733, 733, 738, 738, 743, 743, 743, 747, 750, 752, - 756, 756, 760, 760, 765, 768, 770, 773, 778, 780, - 784, 786, 787, 790, 792, 793, 797, 799, 802, 804, - 808, 810, 810, 813, 815, 816, 819, 821, 824, 826, - 829, 831, 835, 837, 837, 838, 842, 844, 847, 849, - 850, 851, 852, 853, 854, 855, 858, 860, 861, 862, - 863, 864, 865, 866, 867, 868, 869, 870, 876, 878, - 878, 879, 880, 881, 882, 886, 888, 889, 893, 895, - 896, 897, 898, 899, 900, 903, 905, 905, 908 + 0, 152, 152, 156, 156, 157, 162, 163, 164, 165, + 170, 170, 171, 176, 177, 178, 179, 184, 188, 189, + 189, 189, 190, 190, 190, 191, 191, 191, 192, 192, + 192, 196, 198, 200, 193, 202, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 217, 221, 222, 223, 221, 225, + 225, 226, 227, 228, 229, 230, 231, 227, 233, 238, + 239, 243, 244, 249, 249, 249, 254, 255, 259, 263, + 264, 269, 273, 278, 279, 284, 284, 284, 290, 289, + 296, 295, 305, 306, 307, 311, 312, 316, 319, 321, + 324, 326, 330, 331, 335, 336, 341, 342, 346, 347, + 352, 353, 358, 359, 364, 365, 370, 371, 372, 373, + 378, 379, 379, 380, 380, 385, 386, 391, 392, 397, + 399, 399, 403, 405, 405, 409, 411, 415, 417, 422, + 423, 428, 429, 430, 431, 432, 433, 434, 435, 440, + 441, 442, 447, 448, 453, 454, 455, 456, 457, 458, + 462, 463, 468, 469, 470, 475, 476, 477, 478, 484, + 485, 490, 490, 491, 492, 492, 492, 498, 499, 503, + 504, 508, 509, 513, 514, 518, 519, 520, 521, 522, + 523, 527, 528, 529, 530, 534, 535, 539, 540, 545, + 546, 550, 550, 551, 555, 555, 556, 557, 558, 558, + 559, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 576, + 577, 577, 578, 578, 579, 579, 580, 581, 582, 583, + 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, + 604, 605, 606, 607, 606, 609, 610, 611, 612, 613, + 614, 615, 616, 617, 618, 618, 619, 620, 621, 622, + 626, 626, 629, 629, 632, 632, 635, 635, 641, 645, + 646, 651, 652, 651, 654, 659, 660, 665, 669, 670, + 671, 676, 677, 682, 683, 684, 685, 686, 687, 688, + 689, 694, 695, 696, 697, 698, 699, 703, 707, 708, + 709, 710, 711, 712, 713, 718, 719, 722, 724, 728, + 729, 730, 731, 735, 736, 741, 746, 746, 751, 751, + 756, 757, 756, 759, 763, 764, 769, 769, 773, 773, + 777, 781, 782, 786, 791, 792, 797, 798, 799, 803, + 804, 805, 810, 811, 815, 816, 821, 822, 822, 826, + 827, 828, 832, 833, 837, 838, 842, 843, 848, 849, + 849, 850, 855, 856, 860, 861, 862, 863, 864, 865, + 866, 867, 871, 872, 873, 874, 875, 876, 877, 878, + 879, 880, 881, 882, 889, 890, 890, 891, 892, 893, + 894, 899, 900, 901, 906, 907, 908, 909, 910, 911, + 912, 916, 917, 917, 921 }; #endif - -#if (YYDEBUG) || defined YYERROR_VERBOSE - -/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$", "error", "$undefined.", "T_INCLUDE", "T_INCLUDE_ONCE", "T_EVAL", - "T_REQUIRE", "T_REQUIRE_ONCE", "','", "T_LOGICAL_OR", "T_LOGICAL_XOR", - "T_LOGICAL_AND", "T_PRINT", "'='", "T_PLUS_EQUAL", "T_MINUS_EQUAL", - "T_MUL_EQUAL", "T_DIV_EQUAL", "T_CONCAT_EQUAL", "T_MOD_EQUAL", - "T_AND_EQUAL", "T_OR_EQUAL", "T_XOR_EQUAL", "T_SL_EQUAL", "T_SR_EQUAL", - "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'", "'^'", "'&'", - "T_IS_EQUAL", "T_IS_NOT_EQUAL", "T_IS_IDENTICAL", "T_IS_NOT_IDENTICAL", - "'<'", "T_IS_SMALLER_OR_EQUAL", "'>'", "T_IS_GREATER_OR_EQUAL", "T_SL", - "T_SR", "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'", "T_INSTANCEOF", - "'~'", "T_INC", "T_DEC", "T_INT_CAST", "T_DOUBLE_CAST", "T_STRING_CAST", - "T_ARRAY_CAST", "T_OBJECT_CAST", "T_BOOL_CAST", "T_UNSET_CAST", "'@'", - "'['", "T_NEW", "T_CLONE", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", - "T_ENDIF", "T_LNUMBER", "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", - "T_VARIABLE", "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", - "T_BAD_CHARACTER", "T_ENCAPSED_AND_WHITESPACE", - "T_CONSTANT_ENCAPSED_STRING", "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", - "T_FOR", "T_ENDFOR", "T_FOREACH", "T_ENDFOREACH", "T_DECLARE", - "T_ENDDECLARE", "T_AS", "T_SWITCH", "T_ENDSWITCH", "T_CASE", - "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_FUNCTION", "T_CONST", - "T_RETURN", "T_TRY", "T_CATCH", "T_THROW", "T_USE", "T_GLOBAL", - "T_STATIC", "T_ABSTRACT", "T_FINAL", "T_PRIVATE", "T_PROTECTED", - "T_PUBLIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY", "T_CLASS", - "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", - "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CLASS_C", "T_METHOD_C", - "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT", "T_DOC_COMMENT", - "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG", "T_WHITESPACE", - "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES", - "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", "'{'", "'}'", "'('", "')'", - "';'", "'$'", "'`'", "'\\\"'", "'\\''", "']'", "start", - "top_statement_list", "@1", "top_statement", "inner_statement_list", - "@2", "inner_statement", "statement", "unticked_statement", "@3", "@4", - "@5", "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", - "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "@24", - "additional_catches", "non_empty_additional_catches", - "additional_catch", "@25", "@26", "unset_variables", "unset_variable", - "use_filename", "function_declaration_statement", - "class_declaration_statement", "is_reference", - "unticked_function_declaration_statement", "@27", "@28", - "unticked_class_declaration_statement", "@29", "@30", - "class_entry_type", "extends_from", "interface_entry", - "interface_extends_list", "implements_list", "interface_list", - "foreach_optional_arg", "foreach_variable", "for_statement", - "foreach_statement", "declare_statement", "declare_list", - "switch_case_list", "case_list", "@31", "@32", "case_separator", - "while_statement", "elseif_list", "@33", "new_elseif_list", "@34", - "else_single", "new_else_single", "parameter_list", - "non_empty_parameter_list", "optional_class_type", - "function_call_parameter_list", - "non_empty_function_call_parameter_list", "global_var_list", - "global_var", "static_var_list", "class_statement_list", - "class_statement", "@35", "@36", "@37", "method_body", - "variable_modifiers", "method_modifiers", "non_empty_member_modifiers", - "member_modifier", "class_variable_declaration", - "class_constant_declaration", "echo_expr_list", "for_expr", - "non_empty_for_expr", "@38", "expr_without_variable", "@39", "@40", - "@41", "@42", "@43", "@44", "@45", "@46", "@47", "@48", "function_call", - "@49", "@50", "@51", "@52", "fully_qualified_class_name", - "class_name_reference", "dynamic_class_name_reference", "@53", "@54", - "dynamic_class_name_variable_properties", - "dynamic_class_name_variable_property", "exit_expr", "ctor_arguments", - "common_scalar", "static_scalar", "static_class_constant", "scalar", - "static_array_pair_list", "possible_comma", - "non_empty_static_array_pair_list", "expr", "r_variable", "w_variable", - "@55", "rw_variable", "@56", "variable", "@57", "@58", - "variable_properties", "variable_property", "@59", "method_or_not", - "@60", "variable_without_objects", "static_member", - "base_variable_with_function_calls", "base_variable", - "reference_variable", "compound_variable", "dim_offset", - "object_property", "@61", "object_dim_list", "variable_name", - "simple_indirect_reference", "assignment_list", - "assignment_list_element", "@62", "array_pair_list", - "non_empty_array_pair_list", "encaps_list", "encaps_var", "@63", - "encaps_var_offset", "internal_functions_in_yacc", "isset_variables", - "@64", "class_constant", 0 + "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL", + "T_INCLUDE_ONCE", "T_INCLUDE", "','", "T_LOGICAL_OR", "T_LOGICAL_XOR", + "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL", "T_SL_EQUAL", + "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL", + "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL", + "T_PLUS_EQUAL", "'?'", "':'", "T_BOOLEAN_OR", "T_BOOLEAN_AND", "'|'", + "'^'", "'&'", "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL", + "T_IS_EQUAL", "'<'", "'>'", "T_IS_GREATER_OR_EQUAL", + "T_IS_SMALLER_OR_EQUAL", "T_SR", "T_SL", "'+'", "'-'", "'.'", "'*'", + "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "'@'", "T_UNSET_CAST", + "T_BOOL_CAST", "T_OBJECT_CAST", "T_ARRAY_CAST", "T_STRING_CAST", + "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE", + "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER", + "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE", + "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER", + "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO", + "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH", + "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH", + "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", + "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_THROW", + "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED", "T_PRIVATE", "T_FINAL", + "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY", + "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS", + "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW", "T_LIST", "T_ARRAY", "T_CLASS_C", + "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_COMMENT", + "T_DOC_COMMENT", "T_OPEN_TAG", "T_OPEN_TAG_WITH_ECHO", "T_CLOSE_TAG", + "T_WHITESPACE", "T_START_HEREDOC", "T_END_HEREDOC", + "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", + "'('", "')'", "';'", "'{'", "'}'", "'$'", "'`'", "'\"'", "'''", "']'", + "$accept", "start", "top_statement_list", "@1", "top_statement", + "inner_statement_list", "@2", "inner_statement", "statement", + "unticked_statement", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10", + "@11", "@12", "@13", "@14", "@15", "@16", "@17", "@18", "@19", "@20", + "@21", "@22", "@23", "@24", "@25", "@26", "additional_catches", + "non_empty_additional_catches", "additional_catch", "@27", "@28", + "unset_variables", "unset_variable", "use_filename", + "function_declaration_statement", "class_declaration_statement", + "is_reference", "unticked_function_declaration_statement", "@29", "@30", + "unticked_class_declaration_statement", "@31", "@32", "class_entry_type", + "extends_from", "interface_entry", "interface_extends_list", + "implements_list", "interface_list", "foreach_optional_arg", + "foreach_variable", "for_statement", "foreach_statement", + "declare_statement", "declare_list", "switch_case_list", "case_list", + "@33", "@34", "case_separator", "while_statement", "elseif_list", "@35", + "new_elseif_list", "@36", "else_single", "new_else_single", + "parameter_list", "non_empty_parameter_list", "optional_class_type", + "function_call_parameter_list", "non_empty_function_call_parameter_list", + "global_var_list", "global_var", "static_var_list", + "class_statement_list", "class_statement", "@37", "@38", "@39", + "method_body", "variable_modifiers", "method_modifiers", + "non_empty_member_modifiers", "member_modifier", + "class_variable_declaration", "class_constant_declaration", + "echo_expr_list", "for_expr", "non_empty_for_expr", "@40", + "expr_without_variable", "@41", "@42", "@43", "@44", "@45", "@46", "@47", + "@48", "@49", "@50", "function_call", "@51", "@52", "@53", "@54", + "fully_qualified_class_name", "class_name_reference", + "dynamic_class_name_reference", "@55", "@56", + "dynamic_class_name_variable_properties", + "dynamic_class_name_variable_property", "exit_expr", "ctor_arguments", + "common_scalar", "static_scalar", "static_class_constant", "scalar", + "static_array_pair_list", "possible_comma", + "non_empty_static_array_pair_list", "expr", "r_variable", "w_variable", + "@57", "rw_variable", "@58", "variable", "@59", "@60", + "variable_properties", "variable_property", "@61", "method_or_not", + "@62", "variable_without_objects", "static_member", + "base_variable_with_function_calls", "base_variable", + "reference_variable", "compound_variable", "dim_offset", + "object_property", "@63", "object_dim_list", "variable_name", + "simple_indirect_reference", "assignment_list", + "assignment_list_element", "@64", "array_pair_list", + "non_empty_array_pair_list", "encaps_list", "encaps_var", "@65", + "encaps_var_offset", "internal_functions_in_yacc", "isset_variables", + "@66", "class_constant", 0 }; #endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const short yyr1[] = +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short int yytoknum[] = { - 0, 149, 151, 150, 150, 152, 152, 152, 154, 153, - 153, 155, 155, 155, 156, 157, 158, 159, 157, 160, - 161, 157, 162, 163, 157, 164, 165, 157, 166, 167, - 168, 157, 169, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 157, 157, 157, 157, 157, 170, 171, - 157, 172, 173, 157, 174, 157, 157, 175, 176, 177, - 178, 179, 157, 157, 180, 180, 181, 181, 183, 184, - 182, 185, 185, 186, 187, 187, 188, 189, 190, 190, - 192, 193, 191, 195, 194, 196, 194, 197, 197, 197, - 198, 198, 199, 200, 200, 201, 201, 202, 202, 203, - 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, - 208, 209, 209, 209, 209, 210, 211, 210, 212, 210, - 213, 213, 214, 214, 215, 216, 215, 217, 218, 217, - 219, 219, 220, 220, 221, 221, 222, 222, 222, 222, - 222, 222, 222, 222, 223, 223, 224, 224, 225, 225, - 225, 225, 225, 225, 226, 226, 227, 227, 227, 228, - 228, 228, 228, 229, 229, 231, 230, 230, 232, 233, - 230, 234, 234, 235, 235, 236, 236, 237, 237, 238, - 238, 238, 238, 238, 238, 239, 239, 239, 239, 240, - 240, 241, 241, 242, 242, 244, 243, 243, 246, 245, - 245, 245, 247, 245, 248, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 249, 245, 250, 245, 251, 245, 252, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 253, 254, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 255, 245, - 245, 245, 245, 245, 257, 256, 258, 256, 259, 256, - 260, 256, 261, 262, 262, 264, 265, 263, 263, 266, - 266, 267, 268, 268, 268, 269, 269, 270, 270, 270, - 270, 270, 270, 270, 270, 271, 271, 271, 271, 271, - 271, 272, 273, 273, 273, 273, 273, 273, 273, 274, - 274, 275, 275, 276, 276, 276, 276, 277, 277, 278, - 280, 279, 282, 281, 284, 285, 283, 283, 286, 286, - 288, 287, 290, 289, 289, 291, 291, 292, 293, 293, - 294, 294, 294, 295, 295, 295, 296, 296, 297, 297, - 298, 299, 298, 300, 300, 300, 301, 301, 302, 302, - 303, 303, 304, 305, 304, 304, 306, 306, 307, 307, - 307, 307, 307, 307, 307, 307, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 309, 310, - 309, 309, 309, 309, 309, 311, 311, 311, 312, 312, - 312, 312, 312, 312, 312, 313, 314, 313, 315 + 0, 256, 257, 258, 259, 260, 261, 262, 44, 263, + 264, 265, 266, 61, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 63, 58, 278, 279, 124, + 94, 38, 280, 281, 282, 283, 60, 62, 284, 285, + 286, 287, 43, 45, 46, 42, 47, 37, 33, 288, + 126, 64, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 91, 298, 299, 300, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 40, 41, 59, 123, 125, 36, 96, 34, 39, 93 }; +# endif -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const short yyr2[] = +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned short int yyr1[] = { - 0, 1, 0, 3, 0, 1, 1, 1, 0, 3, - 0, 1, 1, 1, 1, 3, 0, 0, 9, 0, - 0, 12, 0, 0, 7, 0, 0, 9, 0, 0, - 0, 12, 0, 6, 2, 3, 2, 3, 2, 3, - 3, 3, 3, 3, 1, 2, 3, 5, 0, 0, - 10, 0, 0, 10, 0, 6, 1, 0, 0, 0, - 0, 0, 18, 3, 1, 0, 1, 2, 0, 0, - 10, 1, 3, 1, 1, 3, 1, 1, 0, 1, - 0, 0, 11, 0, 8, 0, 7, 1, 2, 2, - 0, 2, 1, 0, 2, 0, 2, 1, 3, 0, - 2, 1, 2, 1, 4, 1, 4, 1, 4, 3, - 5, 3, 4, 4, 5, 0, 0, 6, 0, 5, - 1, 1, 1, 4, 0, 0, 7, 0, 0, 8, - 0, 2, 0, 3, 1, 0, 2, 3, 5, 4, - 4, 5, 7, 6, 0, 1, 1, 0, 1, 1, - 2, 3, 3, 4, 3, 1, 1, 2, 4, 3, - 5, 1, 3, 2, 0, 0, 4, 2, 0, 0, - 10, 1, 3, 1, 1, 0, 1, 1, 2, 1, - 1, 1, 1, 1, 1, 3, 5, 1, 3, 5, - 4, 3, 1, 0, 1, 0, 4, 1, 0, 7, - 3, 4, 0, 7, 0, 4, 2, 3, 3, 3, + 0, 150, 151, 153, 152, 152, 154, 154, 154, 154, + 156, 155, 155, 157, 157, 157, 157, 158, 159, 160, + 161, 159, 162, 163, 159, 164, 165, 159, 166, 167, + 159, 168, 169, 170, 159, 171, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 172, 173, 174, 159, 175, 176, 177, 159, 178, + 159, 159, 179, 180, 181, 182, 183, 159, 159, 184, + 184, 185, 185, 187, 188, 186, 189, 189, 190, 191, + 191, 192, 193, 194, 194, 196, 197, 195, 199, 198, + 200, 198, 201, 201, 201, 202, 202, 203, 204, 204, + 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, + 210, 210, 211, 211, 212, 212, 213, 213, 213, 213, + 214, 215, 214, 216, 214, 217, 217, 218, 218, 219, + 220, 219, 221, 222, 221, 223, 223, 224, 224, 225, + 225, 226, 226, 226, 226, 226, 226, 226, 226, 227, + 227, 227, 228, 228, 229, 229, 229, 229, 229, 229, + 230, 230, 231, 231, 231, 232, 232, 232, 232, 233, + 233, 235, 234, 234, 236, 237, 234, 238, 238, 239, + 239, 240, 240, 241, 241, 242, 242, 242, 242, 242, + 242, 243, 243, 243, 243, 244, 244, 245, 245, 246, + 246, 248, 247, 247, 250, 249, 249, 249, 251, 249, + 252, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 253, 249, + 254, 249, 255, 249, 256, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, + 249, 249, 257, 258, 249, 249, 249, 249, 249, 249, + 249, 249, 249, 249, 259, 249, 249, 249, 249, 249, + 261, 260, 262, 260, 263, 260, 264, 260, 265, 266, + 266, 268, 269, 267, 267, 270, 270, 271, 272, 272, + 272, 273, 273, 274, 274, 274, 274, 274, 274, 274, + 274, 275, 275, 275, 275, 275, 275, 276, 277, 277, + 277, 277, 277, 277, 277, 278, 278, 279, 279, 280, + 280, 280, 280, 281, 281, 282, 284, 283, 286, 285, + 288, 289, 287, 287, 290, 290, 292, 291, 294, 293, + 293, 295, 295, 296, 297, 297, 298, 298, 298, 299, + 299, 299, 300, 300, 301, 301, 302, 303, 302, 304, + 304, 304, 305, 305, 306, 306, 307, 307, 308, 309, + 308, 308, 310, 310, 311, 311, 311, 311, 311, 311, + 311, 311, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 313, 314, 313, 313, 313, 313, + 313, 315, 315, 315, 316, 316, 316, 316, 316, 316, + 316, 317, 318, 317, 319 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 1, 0, 3, 0, 1, 1, 1, 4, + 0, 3, 0, 1, 1, 1, 4, 1, 3, 0, + 0, 9, 0, 0, 12, 0, 0, 7, 0, 0, + 9, 0, 0, 0, 12, 0, 6, 2, 3, 2, + 3, 2, 3, 3, 3, 3, 3, 1, 2, 3, + 5, 0, 0, 0, 11, 0, 0, 0, 11, 0, + 6, 1, 0, 0, 0, 0, 0, 18, 3, 1, + 0, 1, 2, 0, 0, 10, 1, 3, 1, 1, + 3, 1, 1, 0, 1, 0, 0, 11, 0, 8, + 0, 7, 1, 2, 2, 0, 2, 1, 0, 2, + 0, 2, 1, 3, 0, 2, 1, 2, 1, 4, + 1, 4, 1, 4, 3, 5, 3, 4, 4, 5, + 0, 0, 6, 0, 5, 1, 1, 1, 4, 0, + 0, 7, 0, 0, 8, 0, 2, 0, 3, 1, + 0, 2, 3, 5, 4, 4, 5, 7, 6, 0, + 1, 1, 1, 0, 1, 1, 2, 3, 3, 4, + 3, 1, 1, 2, 4, 3, 5, 1, 3, 2, + 0, 0, 4, 2, 0, 0, 10, 1, 3, 1, + 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, + 1, 3, 5, 1, 3, 5, 4, 3, 1, 0, + 1, 0, 4, 1, 0, 7, 3, 4, 0, 7, + 0, 4, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 0, 4, + 0, 4, 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 2, 0, 4, 0, 4, 0, 4, 0, 4, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 0, 0, 7, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 0, 3, - 1, 4, 3, 2, 0, 5, 0, 7, 0, 7, - 0, 5, 1, 1, 1, 0, 0, 6, 1, 2, - 0, 2, 0, 2, 3, 0, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 4, - 1, 3, 1, 1, 1, 1, 3, 3, 3, 0, - 2, 0, 1, 5, 3, 3, 1, 1, 1, 1, - 0, 2, 0, 2, 0, 0, 7, 1, 2, 0, - 0, 4, 0, 4, 0, 1, 2, 3, 1, 1, - 1, 2, 1, 4, 4, 1, 1, 4, 0, 1, - 1, 0, 2, 4, 4, 1, 1, 3, 1, 2, - 3, 1, 1, 0, 5, 0, 0, 2, 5, 3, - 3, 1, 6, 4, 4, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 0, 1, 0, - 5, 3, 3, 6, 3, 1, 1, 1, 4, 4, - 2, 2, 4, 2, 2, 1, 0, 4, 3 + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 0, 0, 7, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 0, 3, 1, 4, 3, 2, + 0, 5, 0, 7, 0, 7, 0, 5, 1, 1, + 1, 0, 0, 6, 1, 2, 0, 2, 0, 2, + 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 4, 1, 3, 1, 1, + 1, 1, 3, 3, 3, 0, 2, 0, 1, 5, + 3, 3, 1, 1, 1, 1, 0, 2, 0, 2, + 0, 0, 7, 1, 2, 0, 0, 4, 0, 4, + 0, 1, 2, 3, 1, 1, 1, 2, 1, 4, + 4, 1, 1, 4, 0, 1, 1, 0, 2, 4, + 4, 1, 1, 3, 1, 2, 3, 1, 1, 0, + 5, 0, 0, 2, 5, 3, 3, 1, 6, 4, + 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 0, 1, 0, 5, 3, 3, 6, + 3, 1, 1, 1, 4, 4, 2, 2, 4, 2, + 2, 1, 0, 4, 3 }; -/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ -static const short yydefact[] = +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned short int yydefact[] = { - 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 0, 0, 292, 0, 297, 298, 312, - 313, 356, 44, 299, 0, 25, 0, 0, 0, 54, - 0, 0, 0, 80, 0, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 92, 0, 0, 302, - 303, 304, 300, 301, 397, 10, 0, 56, 368, 397, - 397, 397, 3, 5, 14, 6, 7, 76, 77, 0, - 0, 328, 349, 0, 315, 270, 0, 327, 0, 329, - 0, 352, 337, 348, 350, 355, 0, 259, 314, 410, - 411, 0, 413, 414, 273, 242, 243, 244, 245, 282, - 0, 219, 332, 221, 260, 261, 262, 263, 264, 265, - 266, 0, 283, 0, 204, 284, 288, 350, 0, 206, - 0, 267, 0, 274, 0, 192, 0, 22, 193, 0, - 0, 0, 34, 0, 36, 0, 78, 38, 328, 0, - 329, 0, 0, 74, 0, 0, 156, 0, 0, 155, - 161, 0, 88, 89, 0, 0, 0, 198, 376, 0, - 8, 0, 0, 0, 0, 0, 90, 85, 0, 226, - 0, 228, 256, 222, 224, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 218, 220, 0, 0, + 5, 0, 3, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 298, 0, 303, + 304, 318, 319, 362, 47, 305, 0, 28, 0, 0, + 0, 59, 0, 0, 0, 85, 0, 62, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 97, + 0, 0, 308, 309, 310, 306, 307, 403, 0, 61, + 12, 374, 403, 403, 403, 4, 6, 17, 7, 8, + 81, 82, 0, 0, 334, 355, 0, 321, 276, 0, + 333, 0, 335, 0, 358, 343, 354, 356, 361, 0, + 265, 320, 420, 419, 0, 417, 416, 279, 248, 249, + 250, 251, 0, 272, 271, 270, 269, 268, 267, 266, + 288, 0, 227, 338, 225, 212, 289, 0, 210, 290, + 294, 356, 0, 0, 273, 0, 280, 0, 198, 0, + 25, 199, 0, 0, 0, 37, 0, 39, 0, 83, + 41, 334, 0, 335, 0, 0, 79, 0, 0, 162, + 0, 0, 161, 94, 93, 167, 0, 0, 0, 0, + 0, 204, 382, 0, 0, 10, 0, 0, 0, 0, + 95, 90, 0, 232, 0, 234, 262, 228, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 333, 280, 334, 358, 0, 369, 351, 0, 0, 269, - 0, 295, 285, 351, 293, 0, 0, 147, 0, 43, - 0, 0, 0, 194, 197, 328, 329, 0, 0, 35, - 37, 79, 0, 39, 40, 10, 63, 0, 46, 0, - 157, 329, 0, 41, 0, 0, 42, 0, 71, 73, - 415, 0, 0, 375, 0, 381, 0, 321, 392, 387, - 398, 388, 390, 391, 389, 396, 318, 0, 0, 394, - 395, 393, 386, 15, 0, 255, 0, 272, 316, 317, - 0, 83, 93, 418, 347, 345, 0, 0, 230, 0, - 0, 0, 0, 231, 233, 232, 248, 249, 246, 247, - 250, 251, 252, 253, 240, 241, 235, 236, 234, 237, - 238, 239, 254, 0, 200, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 147, 0, 359, 0, - 0, 412, 0, 347, 147, 205, 0, 294, 16, 0, - 0, 146, 328, 329, 191, 0, 0, 28, 195, 51, - 48, 0, 0, 32, 81, 8, 75, 0, 154, 0, - 0, 306, 0, 305, 162, 310, 159, 0, 0, 416, - 408, 409, 0, 372, 0, 371, 385, 330, 0, 271, - 322, 377, 399, 0, 313, 0, 0, 9, 11, 12, - 13, 357, 282, 91, 95, 0, 0, 276, 278, 346, - 227, 229, 0, 223, 225, 0, 201, 0, 366, 0, - 361, 335, 360, 365, 353, 354, 0, 286, 19, 0, - 150, 275, 0, 26, 23, 193, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 158, 307, 308, 0, 319, - 0, 72, 47, 0, 373, 375, 0, 331, 0, 380, - 0, 379, 0, 401, 0, 402, 404, 0, 0, 94, - 97, 164, 147, 147, 257, 202, 281, 0, 362, 344, - 358, 0, 296, 290, 10, 17, 0, 328, 329, 0, - 0, 0, 196, 99, 0, 99, 101, 109, 0, 10, - 107, 55, 115, 115, 33, 144, 0, 311, 326, 0, - 321, 160, 417, 375, 370, 0, 384, 383, 0, 405, - 407, 406, 0, 0, 96, 164, 0, 175, 0, 0, - 0, 295, 367, 342, 339, 0, 0, 287, 8, 124, - 153, 0, 10, 122, 24, 29, 0, 0, 102, 0, - 0, 8, 115, 0, 115, 0, 145, 0, 134, 0, - 58, 0, 309, 322, 320, 0, 199, 0, 378, 400, - 0, 175, 98, 0, 182, 183, 184, 181, 180, 179, - 174, 86, 163, 165, 0, 173, 177, 0, 277, 279, - 258, 203, 147, 336, 363, 364, 0, 289, 127, 130, - 0, 8, 193, 100, 52, 49, 110, 0, 0, 0, - 0, 0, 0, 111, 0, 144, 0, 136, 0, 325, - 324, 374, 382, 403, 84, 0, 0, 168, 178, 0, - 167, 0, 0, 338, 291, 132, 0, 0, 18, 27, - 0, 0, 0, 0, 108, 0, 113, 0, 120, 121, - 118, 112, 10, 0, 137, 0, 59, 0, 0, 187, - 0, 78, 0, 343, 340, 0, 0, 0, 0, 131, - 123, 30, 10, 105, 53, 50, 114, 116, 10, 8, - 0, 140, 0, 139, 0, 323, 190, 0, 0, 166, - 0, 0, 344, 0, 10, 0, 0, 0, 8, 10, - 8, 82, 141, 0, 138, 0, 188, 185, 169, 189, - 341, 0, 8, 21, 125, 10, 103, 31, 0, 8, - 0, 143, 60, 0, 0, 0, 0, 8, 106, 142, - 0, 186, 144, 128, 126, 0, 10, 0, 10, 104, - 8, 0, 8, 61, 10, 171, 170, 65, 8, 0, - 62, 64, 66, 172, 0, 67, 68, 0, 0, 69, - 0, 10, 8, 70, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 226, 224, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 339, 286, 340, 364, 0, 375, + 357, 0, 275, 0, 0, 301, 291, 357, 299, 0, + 0, 153, 0, 46, 0, 0, 0, 200, 203, 334, + 335, 0, 0, 38, 40, 84, 0, 42, 43, 12, + 68, 0, 49, 0, 163, 335, 0, 44, 0, 0, + 45, 0, 76, 78, 421, 0, 0, 0, 381, 0, + 387, 0, 327, 398, 393, 404, 394, 396, 397, 395, + 402, 324, 0, 0, 400, 401, 399, 392, 261, 18, + 0, 0, 278, 322, 323, 0, 88, 98, 424, 353, + 351, 0, 0, 236, 0, 0, 0, 0, 237, 239, + 238, 253, 252, 255, 254, 256, 258, 259, 257, 247, + 246, 241, 242, 240, 243, 244, 245, 260, 0, 206, + 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, + 213, 153, 0, 365, 0, 0, 418, 0, 353, 153, + 211, 0, 300, 19, 0, 0, 152, 334, 335, 197, + 0, 0, 31, 201, 0, 0, 0, 0, 35, 86, + 10, 80, 0, 160, 0, 0, 312, 0, 311, 168, + 316, 165, 0, 0, 422, 414, 415, 9, 0, 378, + 0, 377, 391, 336, 0, 277, 328, 383, 405, 0, + 319, 0, 0, 0, 11, 13, 14, 15, 363, 288, + 96, 100, 0, 0, 282, 284, 352, 233, 235, 0, + 229, 231, 0, 207, 0, 372, 0, 367, 341, 366, + 371, 359, 360, 0, 292, 22, 0, 156, 281, 0, + 29, 26, 199, 0, 56, 52, 0, 0, 0, 0, + 0, 0, 164, 313, 314, 0, 325, 0, 77, 50, + 0, 379, 381, 0, 337, 0, 386, 0, 385, 0, + 407, 0, 408, 410, 0, 0, 0, 99, 102, 170, + 153, 153, 263, 208, 287, 0, 368, 350, 364, 0, + 302, 296, 12, 20, 0, 334, 335, 0, 0, 0, + 202, 0, 0, 114, 0, 12, 112, 60, 120, 120, + 36, 149, 0, 317, 332, 0, 327, 166, 423, 381, + 376, 0, 390, 389, 0, 411, 413, 412, 0, 0, + 0, 101, 170, 0, 181, 0, 0, 0, 301, 373, + 348, 345, 0, 0, 293, 10, 129, 159, 0, 12, + 127, 27, 32, 104, 0, 104, 106, 0, 10, 120, + 0, 120, 0, 150, 151, 0, 139, 0, 63, 0, + 315, 328, 326, 0, 205, 0, 384, 406, 0, 16, + 181, 103, 0, 185, 186, 187, 190, 189, 188, 180, + 91, 169, 171, 0, 179, 183, 0, 283, 285, 264, + 209, 153, 342, 369, 370, 0, 295, 132, 135, 0, + 10, 199, 0, 0, 107, 0, 115, 0, 0, 0, + 0, 0, 0, 116, 0, 149, 0, 141, 0, 331, + 330, 380, 388, 409, 89, 0, 0, 174, 184, 0, + 173, 0, 0, 344, 297, 137, 0, 0, 21, 30, + 0, 0, 105, 57, 53, 113, 0, 118, 0, 125, + 126, 123, 117, 12, 0, 142, 0, 64, 0, 0, + 193, 0, 83, 0, 349, 346, 0, 0, 0, 0, + 136, 128, 33, 0, 0, 119, 121, 12, 10, 0, + 145, 0, 144, 0, 329, 196, 0, 0, 172, 0, + 0, 350, 0, 12, 0, 0, 0, 12, 110, 58, + 54, 12, 10, 87, 146, 0, 143, 0, 194, 191, + 175, 195, 347, 0, 10, 24, 130, 12, 108, 34, + 10, 10, 0, 148, 65, 0, 0, 0, 0, 10, + 0, 147, 0, 192, 149, 133, 131, 0, 111, 12, + 0, 12, 109, 10, 0, 10, 66, 177, 12, 176, + 70, 10, 0, 67, 69, 71, 178, 0, 72, 73, + 0, 0, 74, 0, 12, 10, 75 }; -static const short yydefgoto[] = +/* YYDEFGOTO[NTERM-NUM]. */ +static const short int yydefgoto[] = { - 774, 1, 2, 72, 170, 294, 407, 683, 74, 439, - 549, 494, 608, 241, 500, 136, 499, 445, 612, 707, - 452, 448, 653, 447, 652, 140, 151, 628, 694, 740, - 757, 760, 761, 762, 767, 770, 267, 268, 155, 75, - 76, 252, 77, 146, 453, 78, 414, 302, 79, 301, - 80, 416, 478, 479, 557, 505, 727, 684, 511, 372, - 514, 563, 709, 688, 660, 554, 609, 736, 645, 748, - 648, 677, 567, 568, 569, 360, 361, 158, 159, 161, - 537, 592, 636, 671, 734, 756, 593, 594, 595, 596, - 670, 597, 134, 242, 243, 446, 81, 273, 541, 231, - 311, 312, 307, 309, 310, 540, 121, 82, 237, 482, - 483, 346, 83, 124, 125, 356, 493, 547, 607, 131, - 355, 84, 384, 385, 85, 519, 401, 520, 86, 87, - 506, 467, 88, 220, 89, 347, 489, 603, 643, 702, - 544, 602, 90, 91, 92, 93, 94, 95, 349, 431, - 488, 432, 433, 96, 394, 395, 523, 276, 277, 169, - 292, 472, 532, 97, 271, 463, 98 + -1, 1, 2, 4, 75, 175, 300, 414, 718, 77, + 446, 556, 502, 617, 245, 508, 139, 507, 452, 621, + 716, 459, 375, 512, 694, 374, 511, 693, 143, 154, + 638, 703, 752, 770, 773, 774, 775, 780, 783, 271, + 272, 158, 78, 79, 256, 80, 149, 460, 81, 421, + 307, 82, 306, 83, 423, 486, 487, 623, 565, 739, + 719, 517, 377, 520, 570, 721, 697, 671, 561, 618, + 748, 655, 761, 658, 688, 575, 576, 577, 365, 366, + 161, 162, 166, 544, 601, 646, 682, 746, 769, 602, + 603, 604, 605, 681, 606, 137, 246, 247, 453, 84, + 278, 548, 235, 316, 317, 312, 314, 315, 547, 112, + 85, 241, 490, 491, 351, 86, 128, 129, 361, 501, + 554, 616, 134, 360, 87, 389, 390, 88, 525, 407, + 526, 89, 90, 402, 474, 91, 224, 92, 352, 497, + 612, 653, 711, 551, 611, 93, 94, 95, 96, 97, + 98, 354, 438, 496, 439, 440, 99, 400, 401, 529, + 281, 282, 173, 297, 479, 538, 100, 275, 470, 101 }; -static const short yypact[] = +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -447 +static const short int yypact[] = { - -32768, 18, 781, 2731, 2731, -118, 2731, 2731, 2731, 2731, - 2731, 2731, 2731, 17, 17, 2731, 2731, 2731, 2731, 2731, - 2731, 2731,-32768, 45, 2731, -81, -76,-32768,-32768, 37, - -32768,-32768,-32768,-32768, 2731,-32768, -26, -19, 35,-32768, - 42, 1531, 1656,-32768, 1781,-32768, 2731, -21, -16, 59, - 56, 72, 111, 147, 149,-32768,-32768, 150, 152,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 2731,-32768, 20,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 121, - 132,-32768,-32768, 166,-32768,-32768, 1837,-32768, 41, 921, - 169,-32768, 192,-32768, -45,-32768, 26,-32768,-32768, 3756, - 3756, 2731, 3756, 3756, 2084, 323, 323, 264,-32768, 173, - 179,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768, 2731, 180, 195,-32768,-32768, 211, -8, 26,-32768, - 1906,-32768, 2731,-32768, 7, 3756, 1406,-32768, 2731, 2731, - 201, 2731,-32768, 1962,-32768, 2887, 314,-32768, 204, 3756, - 88, 209, 2957,-32768, 271, 222,-32768, -10, 11,-32768, - 360, 13,-32768,-32768, 17, 17, 17,-32768, 2031, 248, - 235, 3004, 2731, 461, 922, 1047, 260,-32768, 46,-32768, - 2731,-32768,-32768,-32768,-32768, 2731, 2731, 2731, 2731, 2731, - 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, - 2731, 2731, 2731, 2731, 45,-32768,-32768,-32768, 2131, 2731, - 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731, - -32768,-32768,-32768, 2731, 2731, 20, -44, 3045, 106,-32768, - 50, 237,-32768, -8,-32768, 3086, 3127, 2231, 2731,-32768, - 307, 2731, 252, 389, 3756, 318, 1297, 333, 3168,-32768, - -32768,-32768, 338,-32768,-32768,-32768,-32768, 268,-32768, 2731, - -32768,-32768, -16,-32768, 550, 340,-32768, 1,-32768,-32768, - -32768, 3, 278, 16, 17, 3619, 279, 414,-32768,-32768, - 77,-32768,-32768,-32768,-32768,-32768,-32768, 2831, 17,-32768, - -32768,-32768,-32768,-32768, 781,-32768, 3373,-32768,-32768,-32768, - 353,-32768, 311, 285, 289, -8, 26, 2731, 3833, 2731, - 2731, 2731, 2731, 2481, 1398, 1522, 1647, 1647, 1647, 1647, - 720, 720, 720, 720, 317, 317, 323, 323, 323, 264, - 264, 264,-32768, -23, 2084, 2084, 2084, 2084, 2084, 2084, - 2084, 2084, 2084, 2084, 2084, 2084, 2231, 199, 3756, 283, - 3414,-32768, 285,-32768, 2231,-32768, 199,-32768, 415, 17, - 298, 434, 5, 62, 3756, 304, 3209,-32768,-32768,-32768, - -32768, 433, 30,-32768,-32768, 308,-32768, 3455,-32768, 550, - 550, 320, 306,-32768,-32768,-32768, 436, 17, 313,-32768, - -32768,-32768, 321,-32768, 39,-32768,-32768,-32768, 2331,-32768, - 2431,-32768,-32768, 394, 405, 3496, 329,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, 354, 353, 339,-32768,-32768, -8, - 3796, 2084, 3715, 2283, 2382, 45,-32768, 335,-32768, 2731, - -32768,-32768, -6,-32768,-32768,-32768, 337,-32768,-32768, 1406, - -32768,-32768, 2531,-32768,-32768, 2731, 2731, 17, -9, 550, - 410, 906, -12, 341, 383,-32768,-32768,-32768, 416, 550, - 550,-32768,-32768, 17,-32768, 16, 472,-32768, 17, 3756, - 17, 3660, 200,-32768, 2731,-32768,-32768, 353, 347, 480, - -32768,-32768, 2231, 2231,-32768,-32768,-32768, 3537,-32768, 348, - 2731, 2731,-32768,-32768,-32768,-32768, 17, 43, 647, 2731, - 1031, 349, 3756, 370, 17, 370,-32768,-32768, 481,-32768, - -32768,-32768, 350, 352,-32768, 53, 356,-32768, 378, 359, - 494,-32768,-32768, 16,-32768, 2731,-32768,-32768, 2631,-32768, - -32768,-32768, 355, 1588, 480,-32768, 353, 191, 362, 363, - 2731, 237,-32768,-32768,-32768, 358, 3578, 392, 261,-32768, - -32768, 3250,-32768,-32768,-32768,-32768, -9, 371,-32768, 372, - 550, 423,-32768, 247,-32768, 48,-32768, 376, 512, 136, - -32768, 550,-32768, 550,-32768, 44, 2084, 17, 3756,-32768, - 381, 246,-32768, 455,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, 430, 309,-32768, 19,-32768,-32768, - 2184,-32768, 2231, 409,-32768,-32768, 199,-32768,-32768, 102, - 386, 448, 2731,-32768,-32768,-32768,-32768, 390, 288, 393, - 2731, -18, 114,-32768, 408, 473, 475, 536, 353,-32768, - 431,-32768,-32768,-32768,-32768, 539, 482,-32768,-32768, 483, - -32768, 417, 199,-32768,-32768, 210, 420, 1406,-32768,-32768, - 413, 424, 1156, 1156,-32768, 419,-32768, 1712,-32768,-32768, - -32768,-32768,-32768, 233, 544, 550,-32768, 550, 550, 545, - 22, 314, 554,-32768,-32768, 427, 543, 502, 2731,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 432, - 498, 560, 550,-32768, 503,-32768,-32768, 550, 504,-32768, - 507, 550, 348, 2731,-32768, 438, 3291, 1281, 488,-32768, - 107,-32768, 566, 550,-32768, 440,-32768, 570,-32768,-32768, - -32768, 3332, 516,-32768,-32768,-32768,-32768,-32768, 443, 165, - 550,-32768,-32768, 550, 447, 563, 1406, 505,-32768,-32768, - 452,-32768, 53,-32768,-32768, 451,-32768, 453,-32768,-32768, - 456, -71, 324,-32768,-32768,-32768,-32768, 501, 459, 462, - -32768, 501,-32768,-32768, 353,-32768,-32768, 531, 465,-32768, - 471,-32768, 474,-32768, 611, 612,-32768 + -447, 55, 78, -447, 820, 3088, 3088, -78, 3088, 3088, + 3088, 3088, 3088, 3088, 3088, -447, 3088, 3088, 3088, 3088, + 3088, 3088, 3088, 49, 49, 3088, 99, -75, -58, -447, + -447, -89, -447, -447, -447, -447, 3088, -447, -44, 2, + 23, -447, 34, 1702, 1828, -447, 1954, -447, 3088, 110, + -27, 43, 60, 127, 114, 141, 155, 170, -447, -447, + 171, 174, -447, -447, -447, -447, -447, -447, 3088, -447, + -447, 156, -447, -447, -447, -447, -447, -447, -447, -447, + -447, -447, 69, 247, -447, -447, 182, -447, -447, 3341, + -447, -2, 762, 184, -447, 207, -447, -9, -447, 56, + -447, -447, 2766, 2766, 3088, 2766, 2766, 3141, 239, 239, + 293, -447, 3088, -447, -447, -447, -447, -447, -447, -447, + 191, 211, -447, -447, -447, -447, 213, 214, -447, -447, + 223, 22, 56, 2080, -447, 3088, -447, -1, 2766, 1576, + -447, 3088, 3088, 215, 3088, -447, 3386, -447, 3427, 326, + -447, 218, 2766, 963, 227, 3468, -447, 309, 236, -447, + -54, 1, -447, -447, -447, 381, 5, 49, 49, 49, + 256, -447, 2206, 202, 3509, 262, 3088, 252, 669, 1088, + 289, -447, 100, -447, 3088, -447, -447, -447, -447, 3088, + 3088, 3088, 3088, 3088, 3088, 3088, 3088, 3088, 3088, 3088, + 3088, 3088, 3088, 3088, 3088, 3088, 3088, 3088, 99, -447, + -447, -447, 2332, 3088, 3088, 3088, 3088, 3088, 3088, 3088, + 3088, 3088, 3088, 3088, -447, -447, -447, 3088, 3088, 156, + 26, 3550, -447, 126, 57, 260, -447, 22, -447, 3591, + 3632, 2458, 3088, -447, 328, 3088, 269, 410, 2766, 330, + 1341, 350, 3673, -447, -447, -447, 351, -447, -447, -447, + -447, 284, -447, 3088, -447, -447, -27, -447, 501, 355, + -447, 16, -447, -447, -447, 19, 290, 288, -55, 49, + 70, 291, 415, -447, -447, 137, -447, -447, -447, -447, + -447, -447, 3214, 49, -447, -447, -447, -447, -447, -447, + 946, 1884, -447, -447, -447, 362, -447, 316, 295, 296, + 22, 56, 3088, 3017, 3088, 3088, 3088, 3088, 3992, 1568, + 1693, 1819, 1819, 1819, 1819, 1441, 1441, 1441, 1441, 319, + 319, 239, 239, 239, 293, 293, 293, -447, 62, 3141, + 3141, 3141, 3141, 3141, 3141, 3141, 3141, 3141, 3141, 3141, + 3141, 2458, 50, 2766, 294, 2010, -447, 295, -447, 2458, + -447, 50, -447, 411, 49, 297, 431, 27, 664, 2766, + 300, 3714, -447, -447, 352, 354, 432, 39, -447, -447, + 304, -447, 2136, -447, 501, 501, 311, 313, -447, -447, + -447, 438, 49, 317, -447, -447, -447, -447, 315, -447, + 40, -447, -447, -447, 2584, -447, 2710, -447, -447, 389, + 400, 2262, 320, 323, -447, -447, -447, -447, -447, -447, + -447, 346, 362, 324, -447, -447, 22, 2891, 3141, 2640, + 3951, 3972, 99, -447, 325, -447, 3088, -447, -447, 24, + -447, -447, -447, 327, -447, -447, 1576, -447, -447, 2836, + -447, -447, 3088, 3088, -447, -447, 501, 403, 1072, -15, + 335, 378, -447, -447, -447, 409, 501, 501, -447, -447, + 49, -447, -55, 469, -447, 49, 2766, 49, 3878, 216, + -447, 3088, -447, -447, 342, 362, 341, 477, -447, -447, + 2458, 2458, -447, -447, -447, 2388, -447, 347, 3088, 3088, + -447, -447, -447, -447, 49, 41, 828, 3088, 1198, 348, + 2766, 49, 13, -447, 479, -447, -447, -447, 353, 358, + -447, 65, 356, -447, 372, 361, 486, -447, -447, -55, + -447, 3088, -447, -447, 2962, -447, -447, -447, 360, 1759, + 363, 477, -447, 362, 275, 366, 371, 3088, 260, -447, + -447, -447, 364, 2514, 377, 241, -447, -447, 3755, -447, + -447, -447, -447, 382, 49, 382, -447, 501, 425, -447, + 282, -447, 173, -447, -447, 375, 496, 243, -447, 501, + -447, 501, -447, 45, 3141, 49, 2766, -447, 373, -447, + 593, -447, 450, -447, -447, -447, -447, -447, -447, -447, + -447, -447, -447, 428, -36, -447, 6, -447, -447, 3911, + -447, 2458, 402, -447, -447, 50, -447, -447, 9, 384, + 445, 3088, 13, 388, -447, 391, -447, 392, 299, 394, + 3088, -16, 204, -447, 387, 67, 460, 524, 362, -447, + 419, -447, -447, -447, -447, 532, 473, -447, -447, 476, + -447, 408, 50, -447, -447, 235, 416, 1576, -447, -447, + 418, 420, -447, -447, -447, -447, 421, -447, 3270, -447, + -447, -447, -447, -447, 246, 537, 501, -447, 501, 501, + 544, 7, 326, 551, -447, -447, 426, 539, 500, 3088, + -447, -447, -447, 1324, 1324, -447, -447, -447, 429, 502, + 556, 501, -447, 503, -447, -447, 501, 505, -447, 510, + 501, 347, 3088, -447, 440, 3796, 1450, -447, -447, -447, + -447, -447, 159, -447, 561, 501, -447, 443, -447, 572, + -447, -447, -447, 3837, 519, -447, -447, -447, -447, -447, + 504, 200, 501, -447, -447, 501, 448, 563, 1576, 507, + 451, -447, 447, -447, 65, -447, -447, 452, -447, -447, + 454, -447, -447, 453, -50, 336, -447, -447, -447, -447, + 497, 456, 461, -447, 497, -447, -447, 362, -447, -447, + 530, 464, -447, 463, -447, 467, -447 }; -static const short yypgoto[] = +/* YYPGOTO[NTERM-NUM]. */ +static const short int yypgoto[] = { - -32768,-32768,-32768,-32768, -229,-32768,-32768, 0,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, -148,-32768,-32768,-32768, 229,-32768, 328, - 331, -54,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 146, 119, 74,-32768, -25,-32768,-32768, - -32768, -311,-32768,-32768, -24,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, -110,-32768, 9, -334,-32768,-32768, 373,-32768, - 101,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 47, - -32768,-32768,-32768, -438,-32768,-32768, -39,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, -13, -180,-32768,-32768,-32768,-32768,-32768,-32768, - 97, 14, 81,-32768,-32768,-32768, 120,-32768, 25, 486, - -201,-32768, 269,-32768, 272,-32768,-32768,-32768,-32768,-32768, - -63,-32768, -174,-32768,-32768, -20, 2,-32768, 156, -350, - -32768,-32768,-32768, 51, 125, 184,-32768,-32768,-32768, 330, - -32768,-32768,-32768,-32768,-32768,-32768,-32768 + -447, -447, -447, -447, -447, -182, -447, -447, 0, -447, + -447, -447, -447, -447, -447, -447, -447, -447, -447, -447, + -447, -447, -447, -447, -447, -447, -447, -447, -447, -447, + -447, -447, -447, -447, -447, -447, -167, -447, -447, -447, + 221, -447, 308, 314, -66, -447, -447, -447, -447, -447, + -447, -447, -447, -447, -447, -447, 132, 53, 10, -447, + -74, -447, -447, -447, -311, -447, -447, -47, -447, -447, + -447, -447, -447, -447, -447, -132, -447, -12, -339, -447, + -447, 367, -447, 88, -447, -447, -447, -447, -447, -447, + -447, -447, 30, -447, -447, -447, -446, -447, -447, 8, + -447, -447, -447, -447, -447, -447, -447, -447, -447, -447, + -447, -447, -447, -447, -447, -23, -186, -447, -447, -447, + -447, -447, -447, 87, 86, 92, -447, -447, -447, 112, + -447, 20, 480, -321, -447, 281, -447, 245, -447, -447, + -447, -447, -447, -72, -447, -174, -447, -447, -24, -5, + -447, 138, -356, -447, -447, -447, -3, 113, 172, -447, + -447, -447, 343, -447, -447, -447, -447, -447, -447, -447 }; - -#define YYLAST 3882 - - -static const short yytable[] = +/* 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 -353 +static const short int yytable[] = { - 110, 110, 73, 126, 304, 148, 437, 501, 658, 387, - 123, 389, 427, -148, 512, 238, 223, 223, -1, 262, - 436, 265, 504, 101, 332, 127, 375, 639, 99, 100, - 698, 102, 103, 104, 105, 106, 107, 108, 450, 425, - 114, 115, 116, 117, 118, 119, 120, 465, 109, 129, - 31, -151, 465, 223, 304, 490, 353, 156, 153, 135, - 130, 109, 109, 31, 31, 132, 143, 145, 754, 149, - -149, 152, 755, 396, 128, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 109, 109, 31, - 31, 171, 206, 207, 224, 224, -345, -346, 226, 31, - 245, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, -332, -332, 137, 122, 303, 31, 31, - 154, 68, 138, 31, 566, 659, 227, 513, 157, 259, - 233, 224, 160, 491, 68, 68, 240, 392, 402, -332, - -332, 620, 621, 388, 110, 390, 229, -148, 538, 539, - 239, 110, 110, 110, 263, 235, 266, 236, 440, 172, - 68, 68, 640, 244, 149, 699, 248, 626, 646, 647, - 225, 162, 451, 430, 651, -282, 139, 352, 133, 31, - 305, 466, 430, 141, 126, -151, 631, 163, 623, 68, - 68, 123, 176, 275, 68, -135, 403, 296, 362, -119, - -119, -119, 565, 177, -149, 308, 127, 620, 621, 627, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 306, - 305, 254, 305, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 485, 503, -119, 348, 350, - 68, 618, 164, 622, 661, 128, 644, -117, -117, -117, - 110, 110, 149, 364, 690, 548, 366, 526, 641, 527, - 428, 529, 31, 530, 531, 110, 675, 676, 383, 306, - 561, 306, 111, 113, 377, 112, 112, 413, 165, 583, - 166, 167, 674, 168, 408, 550, 584, 585, 586, 587, - 588, 589, 590, 558, 178, -117, 691, 362, 419, 278, - 221, 222, 405, 204, 133, 362, 150, 228, -282, 279, - 110, 280, 281, 611, 282, 283, 284, -20, -20, -20, - 232, 591, 420, 230, 421, 422, 423, 424, 429, 619, - 620, 621, 247, 68, 583, 251, 110, 253, 255, 305, - 257, 584, 585, 586, 587, 588, 589, 590, 305, 198, - 199, 200, 201, 202, 203, 258, 204, 285, 201, 202, - 203, 149, 204, 264, 110, 293, 632, 300, 354, 149, - 655, 620, 621, 286, 287, 288, 634, 289, 290, 365, - -129, -129, -129, 383, 383, 367, 291, 368, 306, 173, - 174, 175, 480, 497, 371, 126, -176, 306, 369, 374, - 376, 246, 123, 386, 584, 585, 586, 587, 588, 589, - 391, 399, 400, 469, 412, 471, 417, 127, 415, 261, - 418, 434, 430, 689, 110, 110, 269, 270, 272, 495, - 441, 438, 442, 362, 362, 443, 449, 459, 454, 460, - 110, 510, 110, 708, 487, 110, 462, 110, 458, 710, - 456, 457, 464, 383, 480, 473, 474, 149, 430, 476, - 244, 502, 477, 383, 383, 722, 128, 486, 481, 492, - 729, 508, 515, 110, 516, 525, 535, 517, 536, 543, - 556, 110, 555, 562, 560, 564, 737, 570, 571, 533, - 553, 572, 573, 579, 598, 599, 604, 149, 149, 363, - 110, 606, 617, 614, 615, 348, 546, 750, 624, 752, - 625, 633, 278, 582, 551, 758, 635, 637, 642, 649, - 507, 650, 279, 654, 280, 281, 656, 282, 283, 284, - 518, 521, 772, 110, 566, 393, 397, 662, 664, 665, - 576, 667, 668, 578, 672, 669, 680, 692, 697, 673, - 406, 678, 686, 362, 110, 600, 681, 701, 703, 704, - 705, 712, 711, 713, 383, 728, 715, 717, 718, 730, - 285, 723, 732, 733, -133, 383, 738, 383, 742, 743, - 745, 746, 379, 380, 749, 751, 753, 287, 288, 763, - 289, 290, 759, 764, 768, 426, 297, 769, 305, 291, - 771, 775, 776, 765, 773, 666, 461, 700, 363, 27, - 28, 381, 409, 534, 559, 410, 363, 149, 685, 33, - 613, 397, 747, 687, 663, 378, 581, 244, 601, 720, - 574, 616, 638, 260, 305, 657, 545, 679, 575, 524, - 0, 0, 629, 0, 630, -152, 0, 306, 0, 269, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 382, 59, 60, 61, 62, 63, 0, 383, - 0, 383, 383, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 306, 0, 0, 0, 0, -332, -332, - 0, 0, 0, 706, 0, 0, 383, 726, 0, 0, - 0, 383, 0, 0, 498, 383, 0, 0, 0, 397, - 397, 0, 0, 0, 0, 0, 0, 383, 721, 0, - 0, 0, 0, 0, 0, 522, 744, 393, 0, 0, - 397, 0, 397, 0, 383, 0, 693, 383, 695, 696, - 0, 766, 0, 0, 363, 363,-32768,-32768,-32768,-32768, - 196, 197, 198, 199, 200, 201, 202, 203, 397, 204, - 0, 0, 0, 714, 0, 0, 397, 0, 716, 0, - 0, 0, 719, 0, 3, 4, 5, 6, 7, -152, - 0, 0, 0, 8, 731, 393, 0, 0, 0, 0, + 121, 121, 130, 127, 76, 444, 509, 242, 309, 266, + 669, 518, 434, 269, 649, 707, 120, 120, 33, 33, + 443, 131, 337, 132, 392, 102, 103, 394, 105, 106, + 107, 108, 109, 110, 111, -154, 113, 114, 115, 116, + 117, 118, 119, 447, 564, 125, 159, 457, 472, -157, + -288, 136, 227, 472, 151, 3, 138, 210, 211, 309, + 358, -182, 104, 146, 148, 133, 152, 398, 155, 593, + 594, 595, 596, 597, 598, 656, 657, 380, -2, 183, + 184, 185, 135, 227, 120, 498, 33, 227, 174, 263, + 71, 71, 767, 768, 230, 186, 140, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 160, 208, + 120, 435, 33, 33, 231, 432, 670, 237, 519, 33, + 33, -351, 232, 120, 228, 33, 573, 121, 573, 244, + 180, 243, 141, 267, 121, 121, 121, 270, 650, 708, + 249, 545, 546, 239, 532, 240, 533, 393, 71, 163, + 395, 248, 152, 142, 252, 228, -352, 499, -154, 228, + 126, 308, 33, 33, 144, 661, 164, 310, 437, 311, + 458, 473, -157, 557, 130, 127, 641, 437, 574, 156, + 574, 404, 280, 436, 71, 71, 301, 357, 408, 33, + 165, 229, 71, 131, 313, 132, -140, 71, 572, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 310, 310, + 311, 311, 339, 340, 341, 342, 343, 344, 345, 346, + 347, 348, 349, 350, 71, 71, 493, 353, 355, 367, + 157, -124, -124, -124, 167, 121, 121, 409, 628, 654, + 632, 152, 369, 283, 642, 371, 630, 631, 123, 123, + 121, 71, 651, 284, 636, 285, 286, 699, 287, 288, + 289, 168, 420, 382, 205, 206, 207, 535, 208, 536, + 537, 153, -122, -122, -122, 169, 685, 630, 631, 176, + 415, 686, 687, -124, 122, 124, 426, -23, -23, -23, + 170, 171, 411, 283, 172, 121, 637, 633, 181, 700, + 555, 182, 290, 284, 225, 285, 286, 226, 287, 288, + 289, 136, 427, 568, 428, 429, 430, 431, 291, 292, + 293, 121, 208, 236, -122, 294, 295, 310, 672, 311, + 233, 296, -288, 234, 388, 251, 310, 255, 311, 367, + 257, 202, 203, 204, 205, 206, 207, 367, 208, 121, + 259, 152, 290, 592, 629, 630, 631, 620, 262, 152, + 593, 594, 595, 596, 597, 598, 599, 250, 261, 292, + 293, 666, 630, 631, 268, 294, 295, 277, 302, 488, + 359, 296, -134, -134, -134, 265, 299, 305, 130, 127, + 370, 372, 273, 274, 276, 177, 178, 179, 373, 600, + -55, 376, 379, 406, 476, 381, 478, 131, 391, 132, + 397, 396, 405, 419, 422, 424, 425, 445, 448, 449, + 450, 437, 454, 441, 455, 456, 503, 121, 461, 121, + 465, 467, 121, 466, 121, 471, 495, 505, 516, 469, + 480, 481, 488, 484, 483, 485, 494, 489, 500, 152, + 388, 388, 248, 510, 514, 521, 463, 464, 437, 522, + 523, 121, 531, 540, 542, 543, 368, 550, 121, 121, + 562, 698, 567, 579, 581, 569, 578, 615, 367, 367, + 571, 539, 580, 622, 635, 589, 121, 607, 560, 587, + 152, 152, 608, 613, 627, 722, 634, 643, 353, 553, + 591, 645, 652, 399, 403, 647, 659, 558, 660, 663, + 673, 734, 664, 675, 665, 740, 667, 676, 412, 741, + 678, 121, 388, 384, 385, 679, 680, 683, 513, 684, + 701, 584, 388, 388, 586, 749, 689, 706, 524, 527, + 691, 692, 121, 695, 710, 713, 712, 609, 714, 725, + 29, 30, 386, 723, 742, 724, 727, 763, 729, 765, + 35, 730, 735, 433, 744, 745, 771, -138, 754, 755, + 759, 750, 757, 758, 762, 764, 368, 766, 772, 121, + 776, 777, 785, 781, 368, 782, 784, 778, 416, 403, + 310, 786, 311, 468, 417, 677, 709, 541, 625, 367, + 720, 696, 760, 674, 387, 62, 63, 64, 65, 66, + 590, 152, 662, 383, 648, 610, 552, 273, 582, 732, + 264, 248, 583, 0, 530, 0, 0, 310, 0, 311, + 668, 0, 0, 388, 0, 0, 0, 690, 0, 626, + 0, 0, 0, 0, 0, 388, 0, 388, 0, 0, + 0, 639, -155, 640, 0, 0, 0, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, + 0, 592, 0, 0, 506, 0, 0, 0, 593, 594, + 595, 596, 597, 598, 599, 0, 0, 0, 0, 715, + 0, 0, 0, 0, 0, 528, 738, 399, 0, 0, + 403, 0, 403, -338, -338, 0, 0, 0, 0, 0, + 283, 0, 733, 0, 0, 368, 368, 644, 0, 0, + 284, 0, 285, 286, 0, 287, 288, 289, 756, 403, + 0, 0, 0, 0, 779, 0, 563, 566, 0, 0, + 0, 0, 388, 0, 388, 388, 0, 0, 702, 0, + 704, 705, 0, 0, 399, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 223, 388, 0, 290, + 0, 0, 388, 726, 0, 0, 388, 0, 728, 0, + 0, 0, 731, 0, 0, -155, 292, 293, 0, 624, + 0, 388, 294, 295, 0, 0, 303, 743, 296, 0, + 0, -338, -338, 5, 6, 7, 8, 9, 388, 0, + 403, 388, 10, 0, 751, 0, -158, 753, 0, 0, + 0, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 0, 0, 0, 368, 0, 0, 0, + 0, 0, 11, 12, 0, 0, 0, 566, 13, 0, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 0, 25, 26, 27, 28, 0, -338, -338, 29, + 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, + 36, 37, 38, 0, 39, 0, 40, 0, 41, 0, + 0, 42, 0, 0, 0, 43, 44, 45, 0, 46, + 47, 0, 48, 49, 50, 0, 0, 0, 51, 52, + 53, 0, 54, 55, 56, 57, 58, 59, 0, 0, + 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, + 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, + 68, 0, 69, 70, 0, 71, 72, 73, 74, -158, + 0, 0, 0, 0, 0, 0, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 11, 12, + 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, + 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, + 0, 34, -338, -338, 0, 35, 36, 37, 38, 0, + 39, 0, 40, 0, 41, 0, 0, 42, 0, 0, + 0, 43, 44, 45, 0, 46, 47, 0, 48, 49, + 50, 0, 0, 0, 51, 52, 53, 0, 54, 55, + 56, 413, 58, 59, 0, 0, 0, 0, 60, 61, + 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, + 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, + 0, 71, 72, 73, 74, 0, 0, 0, 515, 0, + 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 28, 0, 0, + 0, 29, 30, 31, 32, 33, 0, 34, 0, 283, + 0, 35, 36, 37, 38, 0, 39, 0, 40, 284, + 41, 285, 286, 42, 287, 288, 289, 43, 44, 0, + 0, 46, 47, 0, 48, 49, 50, 0, 0, 0, + 0, 0, 53, 0, 54, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 5, 6, 7, 8, 9, 0, 67, 290, 0, + 10, 0, 68, 0, 69, 70, 0, 71, 72, 73, + 74, 0, 0, 0, 559, 292, 293, 0, 0, 0, + 0, 294, 295, 0, 0, 0, 304, 296, 0, 0, + 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 26, 27, 28, 0, 0, 0, 29, 30, 31, + 32, 33, 0, 34, 0, 0, 0, 35, 36, 37, + 38, 0, 39, 0, 40, 0, 41, 0, 0, 42, + 0, 0, 0, 43, 44, 0, 0, 46, 47, 0, + 48, 49, 50, 0, 0, 0, 0, 0, 53, 0, + 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, + 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, + 69, 70, 0, 71, 72, 73, 74, 0, 0, 0, + 717, 0, 0, 0, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 11, 12, 0, 0, + 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 26, 27, 28, + 0, 0, 0, 29, 30, 31, 32, 33, 0, 34, + -338, -338, 0, 35, 36, 37, 38, 0, 39, 0, + 40, 0, 41, 0, 0, 42, 0, 0, 0, 43, + 44, 0, 0, 46, 47, 0, 48, 49, 50, 0, + 0, -51, 0, 0, 53, 0, 54, 55, 56, 0, + 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, + 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, + 0, 0, 10, 0, 68, 0, 69, 70, 0, 71, + 72, 73, 74, 0, 0, 0, 737, -353, -353, -353, + -353, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 0, 11, 12, 0, 0, 0, 0, 13, 0, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 0, 25, 26, 27, 28, 0, 0, 0, 29, + 30, 31, 32, 33, 0, 34, 0, 0, 0, 35, + 36, 37, 38, 0, 39, 0, 40, 0, 41, 0, + 0, 42, 0, 0, 0, 43, 44, 0, 0, 46, + 47, 0, 48, 49, 50, 0, 0, 0, 0, 0, + 53, 0, 54, 55, 56, 0, 0, 0, 0, 0, + 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, + 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, + 68, 0, 69, 70, 0, 71, 72, 73, 74, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 0, 208, 11, 12, + 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, + 27, 28, 0, 0, 0, 29, 30, 31, 32, 33, + 0, 34, 0, 0, 0, 35, 36, 37, 38, 0, + 39, 0, 40, 0, 41, 0, 0, 42, 0, 0, + 0, 43, 44, 0, 0, 46, 47, 0, 48, 49, + 50, 0, 0, 0, 0, 0, 53, 0, 54, 55, + 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, + 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, + 0, 67, 0, 0, 10, 0, 68, 0, 69, 70, + 0, 71, 72, 73, 74, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 0, 208, 0, 11, 12, 0, 0, 0, 0, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 183, 184, + 185, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 0, 0, 186, 0, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 0, 208, 0, + 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, + 10, 0, 68, 0, 145, 0, 0, 71, 72, 73, + 74, -353, -353, -353, -353, 196, 197, 198, 199, 200, + 201, 202, 203, 204, 205, 206, 207, 0, 208, 0, + 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 26, 27, 183, 184, 185, 0, 29, 30, 31, + 32, 33, 0, 0, 0, 0, 0, 35, 588, 186, + 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 0, 208, 0, 0, 0, 0, 0, 0, + 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, + 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, + 147, 0, 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 739, 0, 0, 741, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 10, 0, 0, 0, 397, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 26, 0, 0, 397, - 27, 28, 29, 30, 31, 0, 32, 0, 0, 0, - 33, 34, 35, 36, 0, 37, 0, 38, 0, 39, - 0, 0, 40, 0, 363, 0, 41, 42, 43, 0, - 44, 45, 0, 46, 47, 48, 49, 50, 51, 0, - 0, 0, 0, 52, 53, 54, 55, 56, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 3, - 4, 5, 6, 7, 0, 64, 0, 0, 8, 0, - 65, 0, 66, 0, 67, 68, 69, 70, 71, 0, - 0, 0, 509, 0, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 0, 0, 9, 10, - 0, 0, 0, 0, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 0, 23, 24, - 25, 26, -332, -332, 0, 27, 28, 29, 30, 31, - 0, 32, 0, 278, 0, 33, 34, 35, 36, 0, - 37, 0, 38, 279, 39, 280, 281, 40, 282, 283, - 284, 41, 42, 0, 0, 44, 45, 0, 46, 47, - 48, 49, 0, 0, 0, 0, 0, 0, 52, 53, - 54, 0, 0, 0, 0, 0, 0, 57, 58, 59, - 60, 61, 62, 63, 3, 4, 5, 6, 7, 0, - 64, 285, 0, 8, 0, 65, 0, 66, 0, 67, - 68, 69, 70, 71, 0, 0, 0, 552, 287, 288, - 0, 289, 290, 0, 0, 0, 0, 0, 298, 0, - 291, 0, 0, 9, 10, 0, 0, 0, 0, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 26, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 32, 0, 278, 0, - 33, 34, 35, 36, 0, 37, 0, 38, 279, 39, - 280, 281, 40, 282, 283, 284, 41, 42, 0, 0, - 44, 45, 0, 46, 47, 48, 49, 0, 0, 0, - 0, 0, 0, 52, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 3, - 4, 5, 6, 7, 0, 64, 285, 0, 8, 0, - 65, 0, 66, 0, 67, 68, 69, 70, 71, 0, - 0, 0, 682, 287, 288, 0, 289, 290, 0, 0, - 0, 0, 0, 0, 299, 291, 0, 0, 9, 10, - 0, 0, 0, 0, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 0, 23, 24, - 25, 26, 0, 0, 0, 27, 28, 29, 30, 31, - 0, 32, 0, 0, 0, 33, 34, 35, 36, 0, - 37, 0, 38, 0, 39, 0, 0, 40, 0, 0, - 0, 41, 42, 0, 0, 44, 45, 0, 46, 47, - 48, 49, 0, 0, 0, 0, 0, 0, 52, 53, - 54, 0, 0, 0, 0, 0, 0, 57, 58, 59, - 60, 61, 62, 63, 3, 4, 5, 6, 7, 0, - 64, 0, 0, 8, 0, 65, 0, 66, 0, 67, - 68, 69, 70, 71, 0, 0, 0, 725, 0, 0, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 0, 9, 10, 0, 0, 0, 0, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 26, 0, -332, -332, - 27, 28, 29, 30, 31, 0, 32, 0, 0, 0, - 33, 34, 35, 36, 0, 37, 0, 38, 0, 39, - 0, 0, 40, 0, 0, 0, 41, 42, 0, 0, - 44, 45, 0, 46, 47, 48, 49, 370, 0, 0, - 0, 0, 0, 52, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 3, - 4, 5, 6, 7, 0, 64, 0, 0, 8, 0, - 65, 0, 66, 0, 67, 68, 69, 70, 71, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 0, 204, 9, 10, - 0, 0, 0, 0, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 0, 23, 24, - 25, 26, 0, 0, 0, 27, 28, 29, 30, 31, - 0, 32, 0, 0, 0, 33, 34, 35, 36, 0, - 37, 0, 38, 0, 39, 0, 0, 40, 0, 0, - 0, 41, 42, 0, 0, 44, 45, 0, 46, 47, - 48, 49, 0, 0, 0, 0, 0, 0, 52, 53, - 54, 0, 0, 0, 0, 0, 0, 57, 58, 59, - 60, 61, 62, 63, 3, 4, 5, 6, 7, 0, - 64, 0, 0, 8, 0, 65, 0, 66, 0, 67, - 68, 69, 70, 71, 188, 189, 190, 191, 192, 193, + 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, + 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 26, 27, 183, + 184, 185, 0, 29, 30, 31, 32, 33, 418, 0, + 0, 0, 0, 35, 0, 186, 0, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, + 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, + 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, + 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, + 0, 0, 10, 0, 68, 0, 150, 0, 0, 71, + 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 0, 25, 26, 27, 183, 184, 185, 0, 29, + 30, 31, 32, 33, 442, 0, 0, 0, 0, 35, + 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 0, 204, 0, 9, 10, 0, 0, 0, 0, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 179, 180, 181, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 0, 0, 182, 0, 183, 184, 185, 186, 187, + 204, 205, 206, 207, 0, 208, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, + 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, + 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, + 68, 238, 0, 0, 0, 71, 72, 73, 74, 0, + 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, + 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, + 27, 183, 184, 185, 0, 29, 30, 31, 32, 33, + 462, 0, 0, 0, 0, 35, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 0, 204, 0, 0, - 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 3, - 4, 5, 6, 7, 0, 64, 0, 0, 8, 0, - 0, 0, 66, 0, 142, 68, 69, 70, 71,-32768, - -32768,-32768,-32768, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 0, 9, 10, - 0, 0, 0, 0, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 0, 23, 24, - 25, 179, 180, 181, 0, 27, 28, 29, 30, 31, - 0, 0, 0, 0, 0, 33, 580, 182, 658, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 0, 204, 0, 0, 0, 0, 0, 0, 0, 53, - 54, 0, 0, 0, 0, 0, 0, 57, 58, 59, - 60, 61, 62, 63, 3, 4, 5, 6, 7, 0, - 64, 0, 0, 8, 0, 0, 0, 66, 0, 144, - 68, 69, 70, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 10, 0, 0, 0, 0, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 179, 180, 181, 0, - 27, 28, 29, 30, 31, 659, 0, 0, 0, 0, - 33, 0, 182, 0, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 0, 0, 0, - 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 3, - 4, 5, 6, 7, 0, 64, 0, 0, 8, 0, - 0, 0, 66, 0, 147, 68, 69, 70, 71, 0, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 0, 208, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, + 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, + 0, 67, 0, 0, 10, 0, 68, 0, 0, 0, + 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 338, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 183, 184, 185, + 0, 29, 30, 31, 32, 33, 482, 0, 0, 0, + 0, 35, 0, 186, 0, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 0, 208, 0, 0, + 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, + 10, 0, 68, 0, 0, 0, 0, 71, 72, 73, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, - 0, 0, 0, 0, 11, 0, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 0, 23, 24, - 25, 179, 180, 181, 0, 27, 28, 29, 30, 31, - 205, 0, 0, 0, 0, 33, 0, 182, 0, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 26, 27, 183, 184, 185, 0, 29, 30, 31, + 32, 33, 549, 0, 0, 0, 0, 35, 0, 186, + 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 0, 208, 0, 0, 0, 0, 0, 0, + 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, + 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, + 0, 0, 0, 71, 72, 73, 74, 0, 0, 0, + 0, 0, 0, 0, 0, 475, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, + 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 26, 27, 183, + 184, 185, 0, 29, 30, 31, 32, 33, 614, 0, + 0, 0, 0, 35, 0, 186, 492, 187, 188, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, + 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, + 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, + 64, 65, 66, 5, 6, 7, 8, 9, 0, 67, + 0, 0, 10, 0, 68, 0, 0, 0, 0, 71, + 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 12, 0, 0, 0, 0, 13, 0, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 0, 25, 26, 27, 183, 184, 185, 0, 29, + 30, 31, 32, 33, 0, 0, 0, 0, 0, 35, + 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 0, 204, 0, 0, 0, 0, 0, 0, 0, 53, - 54, 0, 0, 0, 0, 0, 0, 57, 58, 59, - 60, 61, 62, 63, 3, 4, 5, 6, 7, 0, - 64, 0, 0, 8, 0, 0, 0, 66, 234, 0, - 68, 69, 70, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 274, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 10, 0, 0, 0, 0, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 249, 0, 0, 0, 182, - 33, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 0, 204, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 333, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 0, 204, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 359, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 204, 205, 206, 207, 0, 208, 0, 0, 0, 0, + 0, 0, 0, 55, 56, 0, 0, 0, 0, 0, + 0, 0, 60, 61, 62, 63, 64, 65, 66, 5, + 6, 7, 8, 9, 0, 67, 0, 0, 10, 0, + 68, 0, 0, 0, 0, 71, 72, 73, 74, 0, + 0, 0, 0, 0, 0, 0, 0, 504, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, + 0, 0, 0, 0, 13, 0, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 0, 25, 26, + 27, 184, 185, 0, 0, 29, 30, 31, 32, 33, + 0, 0, 0, 0, 0, 35, 186, 0, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 56, 0, 0, 0, 0, 0, 0, 0, 60, 61, + 62, 63, 64, 65, 66, 5, 6, 7, 8, 9, + 0, 67, 0, 0, 10, 0, 68, 0, 0, 0, + 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 585, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 11, 12, 0, 0, 0, 0, + 13, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 0, 25, 26, 27, 0, 185, 0, + 0, 29, 30, 31, 32, 33, 0, 0, 0, 0, + 0, 35, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 0, 204, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 468, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 0, 204, 0, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 470, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 0, - 204, 0, 0, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 496, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 577, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 203, 204, 205, 206, 207, 0, 208, 0, 0, 0, + 0, 0, 0, 0, 0, 55, 56, 0, 0, 0, + 0, 0, 0, 0, 60, 61, 62, 63, 64, 65, + 66, 5, 6, 7, 8, 9, 0, 67, 0, 0, + 10, 0, 68, 0, 0, 0, 0, 71, 72, 73, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 4, 5, 6, 7, 0, - 0, 0, 0, 8, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, - 0, 0, 66, 9, 10, 68, 69, 70, 71, 11, - 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 0, 23, 24, 25, 179, 180, 181, 0, - 27, 28, 29, 404, 31, 0, 0, 0, 0, 0, - 33, 0, 182, 0, 183, 184, 185, 186, 187, 188, + 11, 12, 0, 0, 0, 0, 13, 0, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 0, + 25, 26, 27, 0, 0, 0, 0, 29, 30, 31, + 32, 33, 0, 0, 0, 0, 186, 35, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 0, 0, 0, - 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, - 0, 0, 57, 58, 59, 60, 61, 62, 63, 0, - 0, 0, 0, 0, 0, 64, 179, 180, 181, 0, - 0, 0, 66, 0, 0, 68, 69, 70, 71, 0, - 0, 0, 182, 0, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 0, 0, 0, - 0, 0, 0, 179, 180, 181, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, - 250, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 0, 204, 179, 180, 181, 0, 0, 0, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 55, 56, 0, 0, 0, 0, 0, 0, 0, + 60, 61, 62, 63, 64, 65, 66, 5, 6, 7, + 8, 9, 0, 67, 0, 0, 10, 0, 68, 0, + 0, 0, 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 182, 0, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 0, 204, 179, 180, 181, 0, 0, - 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 183, 184, 185, 186, 187, 188, 189, + 0, 0, 0, 0, 0, 0, 11, 12, 0, 0, + 0, 0, 13, 0, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 0, 25, 26, 27, 183, + 184, 185, 0, 29, 30, 31, 410, 33, 0, 0, + 0, 0, 0, 35, 0, 186, 669, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 0, 204, 179, 180, 181, 0, - 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, - 0, 0, 182, 0, 183, 184, 185, 186, 187, 188, + 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, + 0, 0, 0, 0, 0, 0, 0, 55, 56, 0, + 0, 0, 0, 0, 0, 0, 60, 61, 62, 63, + 64, 65, 66, 0, 0, 0, 0, 0, 0, 67, + 183, 184, 185, 0, 68, 0, 0, 0, 0, 71, + 72, 73, 74, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 179, 180, 181, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, - 0, 0, 0, 182, 0, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 0, 204, 179, 180, - 181, 0, 0, 0, 0, 0, 0, 0, 357, 0, - 0, 0, 0, 0, 182, 0, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 0, 204, 179, - 180, 181, 0, 0, 0, 0, 0, 0, 0, 358, - 0, 0, 0, 0, 0, 182, 0, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 0, 204, - 179, 180, 181, 0, 0, 0, 0, 0, 0, 0, - 373, 0, 0, 0, 0, 0, 182, 0, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 0, - 204, 179, 180, 181, 0, 0, 0, 0, 0, 0, - 0, 444, 0, 0, 0, 0, 0, 182, 0, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 0, 0, 0, 0, 183, 184, 185, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 186, 670, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 0, 204, 179, 180, 181, 0, 0, 0, 0, 0, - 0, 0, 610, 0, 0, 0, 0, 0, 182, 0, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 204, 205, 206, 207, 0, 208, 183, 184, 185, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 0, 204, 179, 180, 181, 0, 0, 0, 0, - 0, 0, 0, 724, 0, 0, 0, 0, 0, 182, - 0, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 203, 204, 205, 206, 207, 0, 208, 183, 184, 185, + 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 0, 204, 179, 180, 181, 0, 0, 0, - 0, 0, 0, 0, 735, 0, 0, 0, 0, 0, - 182, 0, 183, 184, 185, 186, 187, 188, 189, 190, + 202, 203, 204, 205, 206, 207, 0, 208, 183, 184, + 185, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 0, 204, 179, 180, 181, 0, 0, - 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 183, 184, 185, 186, 187, 188, 189, + 201, 202, 203, 204, 205, 206, 207, 0, 208, 183, + 184, 185, 0, 0, 0, 0, 0, 0, 0, 254, + 0, 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 0, 204, 179, 180, 181, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 182, 0, 183, 184, 185, 186, 187, 188, + 200, 201, 202, 203, 204, 205, 206, 207, 0, 208, + 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, + 260, 0, 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 0, 204, 179, 180, 181, - 0, 0, 0, 0, 0, 455, 0, 0, 0, 0, - 0, 0, 0, 182, 0, 183, 184, 185, 186, 187, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 183, 184, 185, 0, 0, 0, 0, 0, 0, + 298, 0, 0, 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 0, 204, 179, 180, - 181, 0, 0, 0, 0, 0, 475, 0, 0, 0, - 0, 0, 0, 0, 182, 0, 183, 184, 185, 186, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 0, 208, 183, 184, 185, 0, 0, 0, 0, 0, + 0, 356, 0, 0, 0, 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 0, 204, 179, - 180, 181, 0, 0, 0, 0, 0, 542, 0, 0, - 0, 0, 0, 0, 0, 182, 0, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 0, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 605, 0, - 0, 0, 0, 0, 179, 180, 181, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, - 182, 484, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 0, 204, 179, 180, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 528, 182, 0, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 0, 204, 180, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 0, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 181, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 0, 208, 183, 184, 185, 0, 0, 0, 0, + 0, 0, 362, 0, 0, 0, 0, 0, 0, 186, + 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 0, 208, 183, 184, 185, 0, 0, 0, + 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, + 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 0, 208, 183, 184, 185, 0, 0, + 0, 0, 0, 0, 378, 0, 0, 0, 0, 0, + 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 0, 208, 183, 184, 185, 0, + 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, + 0, 0, 186, 0, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 0, 204 + 203, 204, 205, 206, 207, 0, 208, 183, 184, 185, + 0, 0, 0, 0, 0, 0, 619, 0, 0, 0, + 0, 0, 0, 186, 0, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 0, 208, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 736, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 747, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 534, + 208, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 0, 208, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 0, 208 }; -static const short yycheck[] = +static const short int yycheck[] = { - 13, 14, 2, 23, 178, 44, 356, 445, 26, 8, - 23, 8, 346, 8, 26, 8, 61, 61, 0, 8, - 354, 8, 31, 141, 204, 23, 255, 8, 3, 4, - 8, 6, 7, 8, 9, 10, 11, 12, 8, 62, - 15, 16, 17, 18, 19, 20, 21, 8, 71, 24, - 73, 8, 8, 61, 228, 61, 230, 73, 79, 34, - 141, 71, 71, 73, 73, 141, 41, 42, 139, 44, - 8, 46, 143, 274, 23, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 71, 71, 73, - 73, 66, 51, 52, 139, 139, 141, 141, 96, 73, - 139, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 51, 52, 141, 71, 71, 73, 73, - 141, 144, 141, 73, 71, 143, 101, 139, 144, 139, - 128, 139, 73, 139, 144, 144, 136, 121, 61, 51, - 52, 93, 94, 142, 157, 142, 121, 142, 482, 483, - 143, 164, 165, 166, 143, 130, 143, 132, 359, 139, - 144, 144, 143, 138, 139, 143, 141, 31, 66, 67, - 144, 115, 142, 347, 612, 138, 141, 71, 141, 73, - 178, 142, 356, 141, 204, 142, 142, 115, 140, 144, - 144, 204, 71, 168, 144, 142, 119, 172, 237, 92, - 93, 94, 513, 71, 142, 180, 204, 93, 94, 73, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 178, - 228, 143, 230, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 425, 447, 140, 223, 224, - 144, 562, 141, 564, 140, 204, 606, 92, 93, 94, - 273, 274, 237, 238, 31, 494, 241, 468, 602, 470, - 71, 71, 73, 73, 74, 288, 66, 67, 264, 228, - 509, 230, 13, 14, 259, 13, 14, 300, 141, 98, - 141, 141, 642, 141, 294, 496, 105, 106, 107, 108, - 109, 110, 111, 504, 138, 140, 73, 346, 306, 61, - 141, 119, 287, 49, 141, 354, 44, 138, 138, 71, - 333, 73, 74, 552, 76, 77, 78, 66, 67, 68, - 119, 140, 307, 138, 309, 310, 311, 312, 139, 92, - 93, 94, 141, 144, 98, 31, 359, 143, 139, 347, - 79, 105, 106, 107, 108, 109, 110, 111, 356, 42, - 43, 44, 45, 46, 47, 143, 49, 119, 45, 46, - 47, 346, 49, 13, 387, 140, 577, 117, 141, 354, - 92, 93, 94, 135, 136, 137, 140, 139, 140, 82, - 66, 67, 68, 379, 380, 143, 148, 8, 347, 69, - 70, 71, 415, 442, 71, 425, 97, 356, 90, 71, - 142, 139, 425, 73, 105, 106, 107, 108, 109, 110, - 142, 142, 8, 398, 71, 400, 141, 425, 117, 157, - 141, 148, 606, 662, 447, 448, 164, 165, 166, 439, - 142, 26, 8, 482, 483, 141, 13, 141, 140, 13, - 463, 451, 465, 682, 429, 468, 143, 470, 138, 688, - 379, 380, 141, 449, 477, 71, 61, 442, 642, 140, - 445, 446, 118, 459, 460, 704, 425, 142, 139, 142, - 709, 71, 141, 496, 101, 13, 139, 71, 8, 141, - 120, 504, 143, 143, 13, 143, 725, 141, 120, 474, - 500, 142, 8, 148, 142, 142, 148, 482, 483, 237, - 523, 119, 89, 142, 142, 490, 491, 746, 142, 748, - 8, 140, 61, 536, 499, 754, 71, 97, 119, 143, - 449, 83, 71, 143, 73, 74, 143, 76, 77, 78, - 459, 460, 771, 556, 71, 273, 274, 139, 73, 13, - 525, 120, 13, 528, 71, 73, 143, 13, 13, 142, - 288, 141, 143, 602, 577, 540, 142, 13, 141, 26, - 68, 73, 140, 13, 560, 87, 73, 73, 71, 13, - 119, 143, 142, 13, 68, 571, 143, 573, 141, 26, - 85, 139, 42, 43, 143, 142, 140, 136, 137, 140, - 139, 140, 101, 141, 73, 333, 145, 142, 606, 148, - 139, 0, 0, 761, 140, 628, 387, 671, 346, 69, - 70, 71, 294, 477, 505, 294, 354, 602, 653, 79, - 556, 359, 742, 657, 625, 262, 535, 612, 541, 702, - 520, 560, 595, 157, 642, 620, 490, 647, 523, 465, - -1, -1, 571, -1, 573, 8, -1, 606, -1, 387, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 122, 123, 124, 125, 126, 127, -1, 665, - -1, 667, 668, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 642, -1, -1, -1, -1, 51, 52, - -1, -1, -1, 678, -1, -1, 692, 707, -1, -1, - -1, 697, -1, -1, 442, 701, -1, -1, -1, 447, - 448, -1, -1, -1, -1, -1, -1, 713, 703, -1, - -1, -1, -1, -1, -1, 463, 736, 465, -1, -1, - 468, -1, 470, -1, 730, -1, 665, 733, 667, 668, - -1, 764, -1, -1, 482, 483, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 496, 49, - -1, -1, -1, 692, -1, -1, 504, -1, 697, -1, - -1, -1, 701, -1, 3, 4, 5, 6, 7, 142, - -1, -1, -1, 12, 713, 523, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 730, -1, -1, 733, -1, -1, -1, -1, -1, - -1, -1, -1, 42, 43, -1, -1, -1, 556, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, -1, -1, 577, - 69, 70, 71, 72, 73, -1, 75, -1, -1, -1, - 79, 80, 81, 82, -1, 84, -1, 86, -1, 88, - -1, -1, 91, -1, 602, -1, 95, 96, 97, -1, - 99, 100, -1, 102, 103, 104, 105, 106, 107, -1, - -1, -1, -1, 112, 113, 114, 115, 116, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, 3, - 4, 5, 6, 7, -1, 134, -1, -1, 12, -1, - 139, -1, 141, -1, 143, 144, 145, 146, 147, -1, - -1, -1, 26, -1, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, 42, 43, - -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, 65, 51, 52, -1, 69, 70, 71, 72, 73, - -1, 75, -1, 61, -1, 79, 80, 81, 82, -1, - 84, -1, 86, 71, 88, 73, 74, 91, 76, 77, - 78, 95, 96, -1, -1, 99, 100, -1, 102, 103, - 104, 105, -1, -1, -1, -1, -1, -1, 112, 113, - 114, -1, -1, -1, -1, -1, -1, 121, 122, 123, - 124, 125, 126, 127, 3, 4, 5, 6, 7, -1, - 134, 119, -1, 12, -1, 139, -1, 141, -1, 143, - 144, 145, 146, 147, -1, -1, -1, 26, 136, 137, - -1, 139, 140, -1, -1, -1, -1, -1, 146, -1, - 148, -1, -1, 42, 43, -1, -1, -1, -1, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, -1, -1, -1, - 69, 70, 71, 72, 73, -1, 75, -1, 61, -1, - 79, 80, 81, 82, -1, 84, -1, 86, 71, 88, - 73, 74, 91, 76, 77, 78, 95, 96, -1, -1, - 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, - -1, -1, -1, 112, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, 3, - 4, 5, 6, 7, -1, 134, 119, -1, 12, -1, - 139, -1, 141, -1, 143, 144, 145, 146, 147, -1, - -1, -1, 26, 136, 137, -1, 139, 140, -1, -1, - -1, -1, -1, -1, 147, 148, -1, -1, 42, 43, + 23, 24, 26, 26, 4, 361, 452, 8, 182, 8, + 26, 26, 351, 8, 8, 8, 71, 71, 73, 73, + 359, 26, 208, 26, 8, 5, 6, 8, 8, 9, + 10, 11, 12, 13, 14, 8, 16, 17, 18, 19, + 20, 21, 22, 364, 31, 25, 73, 8, 8, 8, + 139, 140, 61, 8, 46, 0, 36, 59, 60, 233, + 234, 97, 140, 43, 44, 140, 46, 122, 48, 105, + 106, 107, 108, 109, 110, 66, 67, 259, 0, 9, + 10, 11, 140, 61, 71, 61, 73, 61, 68, 143, + 145, 145, 142, 143, 99, 25, 140, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 145, 49, + 71, 71, 73, 73, 104, 63, 142, 132, 143, 73, + 73, 140, 112, 71, 143, 73, 71, 160, 71, 139, + 71, 142, 140, 142, 167, 168, 169, 142, 142, 142, + 142, 490, 491, 133, 475, 135, 477, 141, 145, 116, + 141, 141, 142, 140, 144, 143, 140, 143, 141, 143, + 71, 71, 73, 73, 140, 621, 116, 182, 352, 182, + 141, 141, 141, 504, 208, 208, 141, 361, 123, 79, + 123, 121, 172, 143, 145, 145, 176, 71, 61, 73, + 73, 145, 145, 208, 184, 208, 141, 145, 519, 189, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 233, 234, + 233, 234, 212, 213, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 145, 145, 432, 227, 228, 241, + 140, 92, 93, 94, 140, 278, 279, 120, 569, 615, + 571, 241, 242, 61, 585, 245, 93, 94, 23, 24, + 293, 145, 611, 71, 31, 73, 74, 31, 76, 77, + 78, 140, 305, 263, 45, 46, 47, 71, 49, 73, + 74, 46, 92, 93, 94, 140, 652, 93, 94, 143, + 300, 66, 67, 144, 23, 24, 311, 66, 67, 68, + 140, 140, 292, 61, 140, 338, 73, 144, 71, 73, + 502, 139, 120, 71, 140, 73, 74, 120, 76, 77, + 78, 140, 312, 515, 314, 315, 316, 317, 136, 137, + 138, 364, 49, 120, 144, 143, 144, 352, 144, 352, + 139, 149, 139, 139, 268, 140, 361, 31, 361, 351, + 142, 42, 43, 44, 45, 46, 47, 359, 49, 392, + 143, 351, 120, 98, 92, 93, 94, 559, 142, 359, + 105, 106, 107, 108, 109, 110, 111, 142, 79, 137, + 138, 92, 93, 94, 13, 143, 144, 141, 146, 422, + 140, 149, 66, 67, 68, 160, 144, 118, 432, 432, + 82, 142, 167, 168, 169, 72, 73, 74, 8, 144, + 90, 71, 71, 8, 404, 141, 406, 432, 73, 432, + 142, 141, 141, 71, 118, 140, 140, 26, 141, 8, + 140, 615, 90, 149, 90, 13, 446, 470, 144, 472, + 139, 13, 475, 140, 477, 140, 436, 449, 458, 142, + 71, 61, 485, 140, 144, 119, 141, 143, 141, 449, + 384, 385, 452, 453, 71, 140, 384, 385, 652, 101, + 71, 504, 13, 141, 143, 8, 241, 140, 511, 512, + 142, 673, 13, 121, 8, 142, 140, 120, 490, 491, + 142, 481, 141, 121, 8, 142, 529, 141, 508, 149, + 490, 491, 141, 149, 89, 697, 141, 144, 498, 499, + 543, 71, 120, 278, 279, 97, 142, 507, 83, 141, + 143, 713, 141, 73, 142, 717, 142, 13, 293, 721, + 121, 564, 456, 42, 43, 13, 73, 71, 456, 141, + 13, 531, 466, 467, 534, 737, 140, 13, 466, 467, + 142, 141, 585, 142, 13, 26, 140, 547, 68, 13, + 69, 70, 71, 144, 13, 73, 73, 759, 73, 761, + 79, 71, 142, 338, 141, 13, 768, 68, 140, 26, + 143, 87, 85, 142, 142, 141, 351, 144, 101, 622, + 144, 140, 784, 73, 359, 141, 143, 774, 300, 364, + 615, 144, 615, 392, 300, 638, 682, 485, 565, 611, + 694, 668, 754, 635, 123, 124, 125, 126, 127, 128, + 542, 611, 622, 266, 604, 548, 498, 392, 526, 711, + 160, 621, 529, -1, 472, -1, -1, 652, -1, 652, + 630, -1, -1, 567, -1, -1, -1, 657, -1, 567, + -1, -1, -1, -1, -1, 579, -1, 581, -1, -1, + -1, 579, 8, 581, -1, -1, -1, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, 98, -1, -1, 449, -1, -1, -1, 105, 106, + 107, 108, 109, 110, 111, -1, -1, -1, -1, 689, + -1, -1, -1, -1, -1, 470, 716, 472, -1, -1, + 475, -1, 477, 59, 60, -1, -1, -1, -1, -1, + 61, -1, 712, -1, -1, 490, 491, 144, -1, -1, + 71, -1, 73, 74, -1, 76, 77, 78, 748, 504, + -1, -1, -1, -1, 777, -1, 511, 512, -1, -1, + -1, -1, 676, -1, 678, 679, -1, -1, 676, -1, + 678, 679, -1, -1, 529, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 701, -1, 120, + -1, -1, 706, 701, -1, -1, 710, -1, 706, -1, + -1, -1, 710, -1, -1, 141, 137, 138, -1, 564, + -1, 725, 143, 144, -1, -1, 147, 725, 149, -1, + -1, 59, 60, 3, 4, 5, 6, 7, 742, -1, + 585, 745, 12, -1, 742, -1, 8, 745, -1, -1, + -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, -1, -1, -1, 611, -1, -1, -1, + -1, -1, 42, 43, -1, -1, -1, 622, 48, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 65, -1, 59, 60, 69, + 70, 71, 72, 73, -1, 75, -1, -1, -1, 79, + 80, 81, 82, -1, 84, -1, 86, -1, 88, -1, + -1, 91, -1, -1, -1, 95, 96, 97, -1, 99, + 100, -1, 102, 103, 104, -1, -1, -1, 108, 109, + 110, -1, 112, 113, 114, 115, 116, 117, -1, -1, + -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, + 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, + 140, -1, 142, 143, -1, 145, 146, 147, 148, 141, + -1, -1, -1, -1, -1, -1, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, 72, 73, - -1, 75, -1, -1, -1, 79, 80, 81, 82, -1, + -1, 75, 59, 60, -1, 79, 80, 81, 82, -1, 84, -1, 86, -1, 88, -1, -1, 91, -1, -1, - -1, 95, 96, -1, -1, 99, 100, -1, 102, 103, - 104, 105, -1, -1, -1, -1, -1, -1, 112, 113, - 114, -1, -1, -1, -1, -1, -1, 121, 122, 123, - 124, 125, 126, 127, 3, 4, 5, 6, 7, -1, - 134, -1, -1, 12, -1, 139, -1, 141, -1, 143, - 144, 145, 146, 147, -1, -1, -1, 26, -1, -1, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, 42, 43, -1, -1, -1, -1, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 65, -1, 51, 52, - 69, 70, 71, 72, 73, -1, 75, -1, -1, -1, - 79, 80, 81, 82, -1, 84, -1, 86, -1, 88, - -1, -1, 91, -1, -1, -1, 95, 96, -1, -1, - 99, 100, -1, 102, 103, 104, 105, 90, -1, -1, - -1, -1, -1, 112, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, 3, - 4, 5, 6, 7, -1, 134, -1, -1, 12, -1, - 139, -1, 141, -1, 143, 144, 145, 146, 147, 31, + -1, 95, 96, 97, -1, 99, 100, -1, 102, 103, + 104, -1, -1, -1, 108, 109, 110, -1, 112, 113, + 114, 115, 116, 117, -1, -1, -1, -1, 122, 123, + 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, + -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, + -1, 145, 146, 147, 148, -1, -1, -1, 26, -1, + -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, + -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, 65, -1, -1, + -1, 69, 70, 71, 72, 73, -1, 75, -1, 61, + -1, 79, 80, 81, 82, -1, 84, -1, 86, 71, + 88, 73, 74, 91, 76, 77, 78, 95, 96, -1, + -1, 99, 100, -1, 102, 103, 104, -1, -1, -1, + -1, -1, 110, -1, 112, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 3, 4, 5, 6, 7, -1, 135, 120, -1, + 12, -1, 140, -1, 142, 143, -1, 145, 146, 147, + 148, -1, -1, -1, 26, 137, 138, -1, -1, -1, + -1, 143, 144, -1, -1, -1, 148, 149, -1, -1, + 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, + 62, 63, 64, 65, -1, -1, -1, 69, 70, 71, + 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, + 82, -1, 84, -1, 86, -1, 88, -1, -1, 91, + -1, -1, -1, 95, 96, -1, -1, 99, 100, -1, + 102, 103, 104, -1, -1, -1, -1, -1, 110, -1, + 112, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, + 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, + 142, 143, -1, 145, 146, 147, 148, -1, -1, -1, + 26, -1, -1, -1, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 42, 43, -1, -1, + -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 65, + -1, -1, -1, 69, 70, 71, 72, 73, -1, 75, + 59, 60, -1, 79, 80, 81, 82, -1, 84, -1, + 86, -1, 88, -1, -1, 91, -1, -1, -1, 95, + 96, -1, -1, 99, 100, -1, 102, 103, 104, -1, + -1, 90, -1, -1, 110, -1, 112, 113, 114, -1, + -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, + 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, + -1, -1, 12, -1, 140, -1, 142, 143, -1, 145, + 146, 147, 148, -1, -1, -1, 26, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, + 49, -1, 42, 43, -1, -1, -1, -1, 48, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 65, -1, -1, -1, 69, + 70, 71, 72, 73, -1, 75, -1, -1, -1, 79, + 80, 81, 82, -1, 84, -1, 86, -1, 88, -1, + -1, 91, -1, -1, -1, 95, 96, -1, -1, 99, + 100, -1, 102, 103, 104, -1, -1, -1, -1, -1, + 110, -1, 112, 113, 114, -1, -1, -1, -1, -1, + -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, + 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, + 140, -1, 142, 143, -1, 145, 146, 147, 148, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, @@ -1406,174 +1790,187 @@ static const short yycheck[] = -1, 75, -1, -1, -1, 79, 80, 81, 82, -1, 84, -1, 86, -1, 88, -1, -1, 91, -1, -1, -1, 95, 96, -1, -1, 99, 100, -1, 102, 103, - 104, 105, -1, -1, -1, -1, -1, -1, 112, 113, - 114, -1, -1, -1, -1, -1, -1, 121, 122, 123, - 124, 125, 126, 127, 3, 4, 5, 6, 7, -1, - 134, -1, -1, 12, -1, 139, -1, 141, -1, 143, - 144, 145, 146, 147, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, -1, 42, 43, -1, -1, -1, -1, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, 9, 10, 11, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, -1, -1, 25, -1, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, - -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, 3, - 4, 5, 6, 7, -1, 134, -1, -1, 12, -1, - -1, -1, 141, -1, 143, 144, 145, 146, 147, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, 42, 43, - -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, - 64, 9, 10, 11, -1, 69, 70, 71, 72, 73, - -1, -1, -1, -1, -1, 79, 148, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, -1, -1, -1, -1, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, 121, 122, 123, - 124, 125, 126, 127, 3, 4, 5, 6, 7, -1, - 134, -1, -1, 12, -1, -1, -1, 141, -1, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, -1, + 104, -1, -1, -1, -1, -1, 110, -1, 112, 113, + 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, + 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, + -1, 135, -1, -1, 12, -1, 140, -1, 142, 143, + -1, 145, 146, 147, 148, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, -1, 49, -1, 42, 43, -1, -1, -1, -1, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, 9, 10, + 11, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, -1, -1, 25, -1, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, + -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, + 12, -1, 140, -1, 142, -1, -1, 145, 146, 147, + 148, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, + 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, + 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, + 72, 73, -1, -1, -1, -1, -1, 79, 149, 25, + -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, + -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, + 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, + 142, -1, -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 9, 10, 11, -1, - 69, 70, 71, 72, 73, 143, -1, -1, -1, -1, - 79, -1, 25, -1, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, 3, - 4, 5, 6, 7, -1, 134, -1, -1, 12, -1, - -1, -1, 141, -1, 143, 144, 145, 146, 147, -1, + -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, + -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, + 10, 11, -1, 69, 70, 71, 72, 73, 144, -1, + -1, -1, -1, 79, -1, 25, -1, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, + -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, + 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, + -1, -1, 12, -1, 140, -1, 142, -1, -1, 145, + 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 9, 10, 11, -1, 69, + 70, 71, 72, 73, 144, -1, -1, -1, -1, 79, + -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, + -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, + -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, + 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, + 140, 141, -1, -1, -1, 145, 146, 147, 148, -1, + -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, 72, 73, - 143, -1, -1, -1, -1, 79, -1, 25, -1, 27, + 144, -1, -1, -1, -1, 79, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, 121, 122, 123, - 124, 125, 126, 127, 3, 4, 5, 6, 7, -1, - 134, -1, -1, 12, -1, -1, -1, 141, 142, -1, - 144, 145, 146, 147, -1, -1, -1, -1, -1, -1, - -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, 143, -1, -1, -1, 25, - 79, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, + 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, + -1, 135, -1, -1, 12, -1, 140, -1, -1, -1, + -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, 9, 10, 11, + -1, 69, 70, 71, 72, 73, 144, -1, -1, -1, + -1, 79, -1, 25, -1, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, + 12, -1, 140, -1, -1, -1, -1, 145, 146, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, 31, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, + 62, 63, 64, 9, 10, 11, -1, 69, 70, 71, + 72, 73, 144, -1, -1, -1, -1, 79, -1, 25, + -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - -1, 49, -1, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 46, 47, -1, 49, -1, -1, -1, -1, -1, -1, + -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, + 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, + -1, -1, -1, 145, 146, 147, 148, -1, -1, -1, + -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, + -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, + 10, 11, -1, 69, 70, 71, 72, 73, 144, -1, + -1, -1, -1, 79, -1, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, + -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, + 126, 127, 128, 3, 4, 5, 6, 7, -1, 135, + -1, -1, 12, -1, 140, -1, -1, -1, -1, 145, + 146, 147, 148, -1, -1, -1, -1, -1, -1, -1, + -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, -1, 62, 63, 64, 9, 10, 11, -1, 69, + 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, + -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, 49, -1, -1, -1, -1, + -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, + -1, -1, 122, 123, 124, 125, 126, 127, 128, 3, + 4, 5, 6, 7, -1, 135, -1, -1, 12, -1, + 140, -1, -1, -1, -1, 145, 146, 147, 148, -1, + -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, + -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, -1, 62, 63, + 64, 10, 11, -1, -1, 69, 70, 71, 72, 73, + -1, -1, -1, -1, -1, 79, 25, -1, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, - 49, -1, -1, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, 31, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, - -1, -1, -1, 12, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, 42, 43, 144, 145, 146, 147, 48, - -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, -1, 62, 63, 64, 9, 10, 11, -1, - 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, - 79, -1, 25, -1, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, -1, -1, 134, 9, 10, 11, -1, - -1, -1, 141, -1, -1, 144, 145, 146, 147, -1, - -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, + 49, -1, -1, -1, -1, -1, -1, -1, -1, 113, + 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, + 124, 125, 126, 127, 128, 3, 4, 5, 6, 7, + -1, 135, -1, -1, 12, -1, 140, -1, -1, -1, + -1, 145, 146, 147, 148, -1, -1, -1, -1, -1, + -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, + 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, -1, 62, 63, 64, -1, 11, -1, + -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, + -1, 79, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, -1, - -1, -1, -1, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, - 143, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, -1, 113, 114, -1, -1, -1, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 3, 4, 5, 6, 7, -1, 135, -1, -1, + 12, -1, 140, -1, -1, -1, -1, 145, 146, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, - 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, + 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, + 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, + 72, 73, -1, -1, -1, -1, 25, 79, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, + 122, 123, 124, 125, 126, 127, 128, 3, 4, 5, + 6, 7, -1, 135, -1, -1, 12, -1, 140, -1, + -1, -1, -1, 145, 146, 147, 148, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, + -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, -1, 62, 63, 64, 9, + 10, 11, -1, 69, 70, 71, 72, 73, -1, -1, + -1, -1, -1, 79, -1, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, + -1, -1, -1, -1, -1, -1, -1, 113, 114, -1, + -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, + 126, 127, 128, -1, -1, -1, -1, -1, -1, 135, + 9, 10, 11, -1, 140, -1, -1, -1, -1, 145, + 146, 147, 148, -1, -1, -1, 25, -1, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 25, 142, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, 142, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 142, -1, -1, + -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, @@ -1590,200 +1987,133 @@ static const short yycheck[] = 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, 142, -1, -1, -1, -1, -1, 25, -1, 27, + 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, 142, -1, -1, -1, -1, -1, 25, -1, + -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 142, -1, -1, -1, -1, -1, 25, + -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, -1, - -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, + -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, - -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, -1, - -1, -1, -1, -1, 140, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, 11, - -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, 9, 10, - 11, -1, -1, -1, -1, -1, 140, -1, -1, -1, - -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, - 10, 11, -1, -1, -1, -1, -1, 140, -1, -1, - -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, - -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, - -1, -1, -1, -1, 9, 10, 11, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 49, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, 25, -1, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, -1, 49, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 11, 49, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49 + 42, 43, 44, 45, 46, 47, -1, 49, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, + 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 141, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 121, + 49, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, 49, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, 49 }; -#define YYPURE 1 - -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ - -/* Skeleton output parser for bison, - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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. */ - -/* This is the parser code that is written into each bison parser when - the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* 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. */ - -#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca -# else -# ifndef YYSTACK_USE_ALLOCA -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca -# else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -# if defined (__STDC__) || defined (__cplusplus) -# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -# define YYSTACK_ALLOC malloc -# define YYSTACK_FREE free -# endif -#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ - - -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned short int yystos[] = { - short yyss; - YYSTYPE yyvs; -# if YYLSP_NEEDED - YYLTYPE yyls; -# endif + 0, 151, 152, 0, 153, 3, 4, 5, 6, 7, + 12, 42, 43, 48, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 62, 63, 64, 65, 69, + 70, 71, 72, 73, 75, 79, 80, 81, 82, 84, + 86, 88, 91, 95, 96, 97, 99, 100, 102, 103, + 104, 108, 109, 110, 112, 113, 114, 115, 116, 117, + 122, 123, 124, 125, 126, 127, 128, 135, 140, 142, + 143, 145, 146, 147, 148, 154, 158, 159, 192, 193, + 195, 198, 201, 203, 249, 260, 265, 274, 277, 281, + 282, 285, 287, 295, 296, 297, 298, 299, 300, 306, + 316, 319, 281, 281, 140, 281, 281, 281, 281, 281, + 281, 281, 259, 281, 281, 281, 281, 281, 281, 281, + 71, 265, 285, 287, 285, 281, 71, 265, 266, 267, + 298, 299, 306, 140, 272, 140, 140, 245, 281, 166, + 140, 140, 140, 178, 140, 142, 281, 142, 281, 196, + 142, 249, 281, 287, 179, 281, 79, 140, 191, 73, + 145, 230, 231, 116, 116, 73, 232, 140, 140, 140, + 140, 140, 140, 312, 281, 155, 143, 312, 312, 312, + 71, 71, 139, 9, 10, 11, 25, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 49, 142, + 59, 60, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 286, 140, 120, 61, 143, 145, + 299, 281, 281, 139, 139, 252, 120, 299, 141, 281, + 281, 261, 8, 142, 158, 164, 246, 247, 281, 249, + 287, 140, 281, 142, 142, 31, 194, 142, 142, 143, + 142, 79, 142, 143, 282, 287, 8, 142, 13, 8, + 142, 189, 190, 287, 287, 317, 287, 141, 250, 31, + 281, 310, 311, 61, 71, 73, 74, 76, 77, 78, + 120, 136, 137, 138, 143, 144, 149, 313, 141, 144, + 156, 281, 146, 147, 148, 118, 202, 200, 71, 295, + 299, 306, 255, 281, 256, 257, 253, 254, 281, 281, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, + 281, 281, 281, 281, 281, 281, 281, 266, 31, 281, + 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, + 281, 264, 288, 281, 301, 281, 141, 71, 295, 140, + 273, 268, 141, 141, 31, 228, 229, 249, 287, 281, + 82, 281, 142, 8, 175, 172, 71, 212, 141, 71, + 155, 141, 281, 231, 42, 43, 71, 123, 274, 275, + 276, 73, 8, 141, 8, 141, 141, 142, 122, 287, + 307, 308, 283, 287, 121, 141, 8, 279, 61, 120, + 72, 281, 287, 115, 157, 158, 192, 193, 144, 71, + 265, 199, 118, 204, 140, 140, 299, 281, 281, 281, + 281, 281, 63, 287, 228, 71, 143, 295, 302, 304, + 305, 149, 144, 228, 302, 26, 160, 283, 141, 8, + 140, 141, 168, 248, 90, 90, 13, 8, 141, 171, + 197, 144, 144, 275, 275, 139, 140, 13, 190, 142, + 318, 140, 8, 141, 284, 31, 281, 31, 281, 314, + 71, 61, 144, 144, 140, 119, 205, 206, 265, 143, + 262, 263, 26, 266, 141, 281, 303, 289, 61, 143, + 141, 269, 162, 158, 31, 249, 287, 167, 165, 246, + 281, 176, 173, 275, 71, 26, 158, 211, 26, 143, + 213, 140, 101, 71, 275, 278, 280, 275, 287, 309, + 308, 13, 283, 283, 121, 71, 73, 74, 315, 281, + 141, 206, 143, 8, 233, 228, 228, 258, 251, 144, + 140, 293, 301, 281, 270, 155, 161, 283, 281, 26, + 158, 218, 142, 287, 31, 208, 287, 13, 155, 142, + 214, 142, 214, 71, 123, 225, 226, 227, 140, 121, + 141, 8, 279, 307, 281, 31, 281, 149, 149, 142, + 233, 265, 98, 105, 106, 107, 108, 109, 110, 111, + 144, 234, 239, 240, 241, 242, 244, 141, 141, 281, + 273, 294, 290, 149, 144, 120, 271, 163, 219, 141, + 155, 169, 121, 207, 287, 207, 275, 89, 214, 92, + 93, 94, 214, 144, 141, 8, 31, 73, 180, 275, + 275, 141, 283, 144, 144, 71, 235, 97, 242, 8, + 142, 228, 120, 291, 302, 221, 66, 67, 223, 142, + 83, 246, 208, 141, 141, 142, 92, 142, 281, 26, + 142, 217, 144, 143, 227, 73, 13, 265, 121, 13, + 73, 243, 236, 71, 141, 302, 66, 67, 224, 140, + 158, 142, 141, 177, 174, 142, 217, 216, 155, 31, + 73, 13, 275, 181, 275, 275, 13, 8, 142, 194, + 13, 292, 140, 26, 68, 281, 170, 26, 158, 210, + 210, 215, 155, 144, 73, 13, 275, 73, 275, 73, + 71, 275, 293, 281, 155, 142, 141, 26, 158, 209, + 155, 155, 13, 275, 141, 13, 237, 141, 220, 155, + 87, 275, 182, 275, 140, 26, 158, 85, 142, 143, + 225, 222, 142, 155, 141, 155, 144, 142, 143, 238, + 183, 155, 101, 184, 185, 186, 144, 140, 186, 265, + 187, 73, 141, 188, 143, 155, 144 }; -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# if YYLSP_NEEDED -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ - + 2 * YYSTACK_GAP_MAX) -# else -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAX) -# endif - -/* 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_MAX; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - -#endif - - #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif @@ -1802,29 +2132,35 @@ union yyalloc #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 + #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + /* 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); \ - yychar1 = YYTRANSLATE (yychar); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ - yyerror ("syntax error: cannot back up"); \ + yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) @@ -1832,41 +2168,24 @@ while (0) #define YYTERROR 1 #define YYERRCODE 256 - /* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). - - When YYLLOC_DEFAULT is run, CURRENT is set the location of the - first token. By default, to implement support for ranges, extend - its range to the last symbol. */ + are run). */ #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; +# 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. */ -#if YYPURE -# if YYLSP_NEEDED -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval, &yylloc) -# endif -# else /* !YYLSP_NEEDED */ -# ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, YYLEX_PARAM) -# else -# define YYLEX yylex (&yylval) -# endif -# endif /* !YYLSP_NEEDED */ -#else /* !YYPURE */ -# define YYLEX yylex () -#endif /* !YYPURE */ - +#ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, YYLEX_PARAM) +#else +# define YYLEX yylex (&yylval) +#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -1881,13 +2200,93 @@ 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 (included). | +`------------------------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short int *bottom, short int *top) +#else +static void +yy_stack_print (bottom, top) + short int *bottom; + short int *top; +#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 +{ + 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; #else /* !YYDEBUG */ # define YYDPRINTF(Args) +# define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ + /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 @@ -1900,15 +2299,17 @@ int yydebug; SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ -#if YYMAXDEPTH == 0 +#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 # undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif + -#ifdef YYERROR_VERBOSE + +#if YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) @@ -1958,77 +2359,126 @@ yystpcpy (yydest, yysrc) } # endif # endif -#endif + +#endif /* !YYERROR_VERBOSE */ + +#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 +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + } + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ + 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 +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + switch (yytype) + { + + default: + break; + } +} + + +/* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) -# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -# define YYPARSE_PARAM_DECL +int yyparse (void *YYPARSE_PARAM); # else -# define YYPARSE_PARAM_ARG YYPARSE_PARAM -# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +int yyparse (); # endif -#else /* !YYPARSE_PARAM */ -# define YYPARSE_PARAM_ARG -# define YYPARSE_PARAM_DECL -#endif /* !YYPARSE_PARAM */ - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -# ifdef YYPARSE_PARAM -int yyparse (void *); -# else +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) int yyparse (void); -# endif +#else +int yyparse (); #endif +#endif /* ! YYPARSE_PARAM */ -/* YY_DECL_VARIABLES -- depending whether we use a pure parser, - variables are global, or local to YYPARSE. */ - -#define YY_DECL_NON_LSP_VARIABLES \ -/* The lookahead symbol. */ \ -int yychar; \ - \ -/* The semantic value of the lookahead symbol. */ \ -YYSTYPE yylval; \ - \ -/* Number of parse errors so far. */ \ -int yynerrs; -#if YYLSP_NEEDED -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES \ - \ -/* Location data for the lookahead symbol. */ \ -YYLTYPE yylloc; -#else -# define YY_DECL_VARIABLES \ -YY_DECL_NON_LSP_VARIABLES -#endif -/* If nonreentrant, generate the variables here. */ -#if !YYPURE -YY_DECL_VARIABLES -#endif /* !YYPURE */ +/*----------. +| 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 (YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +yyparse () + +#endif +#endif { - /* If reentrant, generate the variables here. */ -#if YYPURE - YY_DECL_VARIABLES -#endif /* !YYPURE */ + /* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; register int yystate; register int yyn; @@ -2036,7 +2486,7 @@ yyparse (YYPARSE_PARAM_ARG) /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ - int yychar1 = 0; + int yytoken = 0; /* Three stacks and their tools: `yyss': related to states, @@ -2046,41 +2496,29 @@ yyparse (YYPARSE_PARAM_ARG) 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 state stack. */ + short int yyssa[YYINITDEPTH]; + short int *yyss = yyssa; + register short int *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; -#if YYLSP_NEEDED - /* The location stack. */ - YYLTYPE yylsa[YYINITDEPTH]; - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#endif -#if YYLSP_NEEDED -# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -# define YYPOPSTACK (yyvsp--, yyssp--) -#endif - YYSIZE_T yystacksize = YYINITDEPTH; +#define YYPOPSTACK (yyvsp--, yyssp--) + YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYLSP_NEEDED - YYLTYPE yyloc; -#endif + /* When reducing, the number of symbols on the RHS of the reduced - rule. */ + rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); @@ -2097,9 +2535,8 @@ yyparse (YYPARSE_PARAM_ARG) yyssp = yyss; yyvsp = yyvs; -#if YYLSP_NEEDED - yylsp = yyls; -#endif + + goto yysetstate; /*------------------------------------------------------------. @@ -2114,7 +2551,7 @@ yyparse (YYPARSE_PARAM_ARG) yysetstate: *yyssp = yystate; - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; @@ -2125,26 +2562,19 @@ yyparse (YYPARSE_PARAM_ARG) these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; + short int *yyss1 = yyss; + /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. */ -# if YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; - /* 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), - &yyls1, yysize * sizeof (*yylsp), - &yystacksize); - yyls = yyls1; -# else + 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); -# endif + yyss = yyss1; yyvs = yyvs1; } @@ -2153,24 +2583,22 @@ yyparse (YYPARSE_PARAM_ARG) goto yyoverflowlab; # else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) + if (YYMAXDEPTH <= yystacksize) goto yyoverflowlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { - short *yyss1 = yyss; + short int *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); -# if YYLSP_NEEDED - YYSTACK_RELOCATE (yyls); -# endif -# undef YYSTACK_RELOCATE + +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -2179,14 +2607,12 @@ yyparse (YYPARSE_PARAM_ARG) yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; -#if YYLSP_NEEDED - yylsp = yyls + yysize - 1; -#endif + YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); - if (yyssp >= yyss + yystacksize - 1) + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } @@ -2194,7 +2620,6 @@ yyparse (YYPARSE_PARAM_ARG) goto yybackup; - /*-----------. | yybackup. | `-----------*/ @@ -2207,88 +2632,55 @@ yybackup: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYFLAG) + 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 token in external form. */ - + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - + yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE (yychar); - -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables - which are defined only if `YYDEBUG' is set. */ - if (yydebug) - { - YYFPRINTF (stderr, "Next token is %d (%s", - yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise - meaning of a token, for further debugging info. */ -# ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -# endif - YYFPRINTF (stderr, ")\n"); - } -#endif + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + /* 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]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) + if (yyn <= 0) { - if (yyn == YYFLAG) + if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %d (%s), ", - yychar, yytname[yychar1])); + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif + /* Count tokens shifted since error; after three, turn off error status. */ @@ -2319,1178 +2711,1912 @@ yyreduce: /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. - Otherwise, the following line sets YYVAL to the semantic value of - the lookahead token. This behavior is undocumented and Bison + Otherwise, the following line sets YYVAL to garbage. + 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]; -#if YYLSP_NEEDED - /* Similarly for the default location. Let the user run additional - commands if for instance locations are ranges. */ - yyloc = yylsp[1-yylen]; - YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); -#endif -#if YYDEBUG - /* We have to keep this `#if YYDEBUG', since we use variables which - are defined only if `YYDEBUG' is set. */ - if (yydebug) + YY_REDUCE_PRINT (yyn); + switch (yyn) { - int yyi; + case 3: - YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); + { zend_do_extended_info(TSRMLS_C); } + break; - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif + case 4: - switch (yyn) { + { HANDLE_INTERACTIVE(); } + break; -case 2: -{ zend_do_extended_info(TSRMLS_C); } + case 7: + + { zend_do_early_binding(TSRMLS_C); } break; -case 3: -{ HANDLE_INTERACTIVE(); } + + case 8: + + { zend_do_early_binding(TSRMLS_C); } break; -case 6: -{ zend_do_early_binding(TSRMLS_C); } + + case 9: + + { REGISTER_MAIN_LONG_CONSTANT("__COMPILER_HALT_OFFSET__", zend_get_scanned_file_offset(TSRMLS_C), CONST_CS); YYACCEPT; } break; -case 7: -{ zend_do_early_binding(TSRMLS_C); } + + case 10: + + { zend_do_extended_info(TSRMLS_C); } break; -case 8: -{ zend_do_extended_info(TSRMLS_C); } + + case 11: + + { HANDLE_INTERACTIVE(); } break; -case 9: -{ HANDLE_INTERACTIVE(); } + + case 16: + + { zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope"); } break; -case 14: -{ zend_do_ticks(TSRMLS_C); RESET_DOC_COMMENT(); } + + case 17: + + { zend_do_ticks(TSRMLS_C); } break; -case 16: -{ zend_do_if_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 19: + + { zend_do_if_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 17: -{ zend_do_if_after_statement(&yyvsp[-2], 1 TSRMLS_CC); } + + case 20: + + { zend_do_if_after_statement(&yyvsp[-2], 1 TSRMLS_CC); } break; -case 18: -{ zend_do_if_end(TSRMLS_C); } + + case 21: + + { zend_do_if_end(TSRMLS_C); } break; -case 19: -{ zend_do_if_cond(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } + + case 22: + + { zend_do_if_cond(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 20: -{ zend_do_if_after_statement(&yyvsp[-3], 1 TSRMLS_CC); } + + case 23: + + { zend_do_if_after_statement(&yyvsp[-3], 1 TSRMLS_CC); } break; -case 21: -{ zend_do_if_end(TSRMLS_C); } + + case 24: + + { zend_do_if_end(TSRMLS_C); } break; -case 22: -{ yyvsp[-1].u.opline_num = get_next_op_number(CG(active_op_array)); } + + case 25: + + { yyvsp[-1].u.opline_num = get_next_op_number(CG(active_op_array)); } break; -case 23: -{ zend_do_while_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 26: + + { zend_do_while_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 24: -{ zend_do_while_end(&yyvsp[-6], &yyvsp[-2] TSRMLS_CC); } + + case 27: + + { zend_do_while_end(&yyvsp[-6], &yyvsp[-2] TSRMLS_CC); } break; -case 25: -{ yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); zend_do_do_while_begin(TSRMLS_C); } + + case 28: + + { yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); zend_do_do_while_begin(TSRMLS_C); } break; -case 26: -{ yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); } + + case 29: + + { yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); } break; -case 27: -{ zend_do_do_while_end(&yyvsp[-8], &yyvsp[-4], &yyvsp[-2] TSRMLS_CC); } + + case 30: + + { zend_do_do_while_end(&yyvsp[-8], &yyvsp[-4], &yyvsp[-2] TSRMLS_CC); } break; -case 28: -{ zend_do_free(&yyvsp[-1] TSRMLS_CC); yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); } + + case 31: + + { zend_do_free(&yyvsp[-1] TSRMLS_CC); yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); } break; -case 29: -{ zend_do_extended_info(TSRMLS_C); zend_do_for_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 32: + + { zend_do_extended_info(TSRMLS_C); zend_do_for_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 30: -{ zend_do_free(&yyvsp[-1] TSRMLS_CC); zend_do_for_before_statement(&yyvsp[-6], &yyvsp[-3] TSRMLS_CC); } + + case 33: + + { zend_do_free(&yyvsp[-1] TSRMLS_CC); zend_do_for_before_statement(&yyvsp[-6], &yyvsp[-3] TSRMLS_CC); } break; -case 31: -{ zend_do_for_end(&yyvsp[-5] TSRMLS_CC); } + + case 34: + + { zend_do_for_end(&yyvsp[-5] TSRMLS_CC); } break; -case 32: -{ zend_do_switch_cond(&yyvsp[-1] TSRMLS_CC); } + + case 35: + + { zend_do_switch_cond(&yyvsp[-1] TSRMLS_CC); } break; -case 33: -{ zend_do_switch_end(&yyvsp[0] TSRMLS_CC); } + + case 36: + + { zend_do_switch_end(&yyvsp[0] TSRMLS_CC); } break; -case 34: -{ zend_do_brk_cont(ZEND_BRK, NULL TSRMLS_CC); } + + case 37: + + { zend_do_brk_cont(ZEND_BRK, NULL TSRMLS_CC); } break; -case 35: -{ zend_do_brk_cont(ZEND_BRK, &yyvsp[-1] TSRMLS_CC); } + + case 38: + + { zend_do_brk_cont(ZEND_BRK, &yyvsp[-1] TSRMLS_CC); } break; -case 36: -{ zend_do_brk_cont(ZEND_CONT, NULL TSRMLS_CC); } + + case 39: + + { zend_do_brk_cont(ZEND_CONT, NULL TSRMLS_CC); } break; -case 37: -{ zend_do_brk_cont(ZEND_CONT, &yyvsp[-1] TSRMLS_CC); } + + case 40: + + { zend_do_brk_cont(ZEND_CONT, &yyvsp[-1] TSRMLS_CC); } break; -case 38: -{ zend_do_return(NULL, 0 TSRMLS_CC); } + + case 41: + + { zend_do_return(NULL, 0 TSRMLS_CC); } break; -case 39: -{ zend_do_return(&yyvsp[-1], 0 TSRMLS_CC); } + + case 42: + + { zend_do_return(&yyvsp[-1], 0 TSRMLS_CC); } break; -case 40: -{ zend_do_return(&yyvsp[-1], 1 TSRMLS_CC); } + + case 43: + + { zend_do_return(&yyvsp[-1], 1 TSRMLS_CC); } break; -case 44: -{ zend_do_echo(&yyvsp[0] TSRMLS_CC); } + + case 47: + + { zend_do_echo(&yyvsp[0] TSRMLS_CC); } break; -case 45: -{ zend_do_free(&yyvsp[-1] TSRMLS_CC); } + + case 48: + + { zend_do_free(&yyvsp[-1] TSRMLS_CC); } break; -case 46: -{ zend_error(E_COMPILE_ERROR,"use: Not yet supported. Please use include_once() or require_once()"); zval_dtor(&yyvsp[-1].u.constant); } + + case 49: + + { zend_error(E_COMPILE_ERROR,"use: Not yet supported. Please use include_once() or require_once()"); zval_dtor(&yyvsp[-1].u.constant); } break; -case 48: -{ zend_do_foreach_begin(&yyvsp[-3], &yyvsp[-1], &yyvsp[-2], &yyvsp[0], 1 TSRMLS_CC); } + + case 51: + + { zend_do_foreach_begin(&yyvsp[-2], &yyvsp[-1], &yyvsp[0], 1 TSRMLS_CC); } break; -case 49: -{ zend_do_foreach_cont(&yyvsp[-2], &yyvsp[-1], &yyvsp[-4], &yyvsp[-7] TSRMLS_CC); } + + case 52: + + { zend_do_foreach_fetch(&yyvsp[-4], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } break; -case 50: -{ zend_do_foreach_end(&yyvsp[-9], &yyvsp[-8] TSRMLS_CC); } + + case 53: + + { zend_do_foreach_cont(&yyvsp[-8], &yyvsp[-4], &yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 51: -{ zend_do_foreach_begin(&yyvsp[-3], &yyvsp[-1], &yyvsp[-2], &yyvsp[0], 0 TSRMLS_CC); } + + case 54: + + { zend_do_foreach_end(&yyvsp[-10], &yyvsp[-6] TSRMLS_CC); } break; -case 52: -{ zend_do_foreach_cont(&yyvsp[-2], &yyvsp[-1], &yyvsp[-4], &yyvsp[-7] TSRMLS_CC); } + + case 55: + + { zend_do_foreach_begin(&yyvsp[-2], &yyvsp[-1], &yyvsp[0], 0 TSRMLS_CC); } break; -case 53: -{ zend_do_foreach_end(&yyvsp[-9], &yyvsp[-8] TSRMLS_CC); } + + case 56: + + { zend_do_foreach_fetch(&yyvsp[-4], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } break; -case 54: -{ yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); zend_do_declare_begin(TSRMLS_C); } + + case 57: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_foreach_cont(&yyvsp[-8], &yyvsp[-4], &yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 55: -{ zend_do_declare_end(&yyvsp[-5] TSRMLS_CC); } + + case 58: + + { zend_do_foreach_end(&yyvsp[-10], &yyvsp[-6] TSRMLS_CC); } break; -case 57: -{ zend_do_try(&yyvsp[0] TSRMLS_CC); } + + case 59: + + { yyvsp[0].u.opline_num = get_next_op_number(CG(active_op_array)); zend_do_declare_begin(TSRMLS_C); } break; -case 58: -{ zend_initialize_try_catch_element(&yyvsp[-6] TSRMLS_CC); } + + case 60: + + { zend_do_declare_end(&yyvsp[-5] TSRMLS_CC); } break; -case 59: -{ zend_do_first_catch(&yyvsp[-2] TSRMLS_CC); } + + case 62: + + { zend_do_try(&yyvsp[0] TSRMLS_CC); } break; -case 60: -{ zend_do_begin_catch(&yyvsp[-11], &yyvsp[-3], &yyvsp[-1], 1 TSRMLS_CC); } + + case 63: + + { zend_initialize_try_catch_element(&yyvsp[-6] TSRMLS_CC); } break; -case 61: -{ zend_do_end_catch(&yyvsp[-15] TSRMLS_CC); } + + case 64: + + { zend_do_first_catch(&yyvsp[-2] TSRMLS_CC); } break; -case 62: -{ zend_do_mark_last_catch(&yyvsp[-11], &yyvsp[0] TSRMLS_CC); } + + case 65: + + { zend_do_begin_catch(&yyvsp[-11], &yyvsp[-3], &yyvsp[-1], 1 TSRMLS_CC); } break; -case 63: -{ zend_do_throw(&yyvsp[-1] TSRMLS_CC); } + + case 66: + + { zend_do_end_catch(&yyvsp[-15] TSRMLS_CC); } break; -case 64: -{ yyval = yyvsp[0]; } + + case 67: + + { zend_do_mark_last_catch(&yyvsp[-11], &yyvsp[0] TSRMLS_CC); } break; -case 65: -{ yyval.u.opline_num = -1; } + + case 68: + + { zend_do_throw(&yyvsp[-1] TSRMLS_CC); } break; -case 66: -{ yyval = yyvsp[0]; } + + case 69: + + { yyval = yyvsp[0]; } break; -case 67: -{ yyval = yyvsp[0]; } + + case 70: + + { yyval.u.opline_num = -1; } break; -case 68: -{ yyval.u.opline_num = get_next_op_number(CG(active_op_array)); } + + case 71: + + { yyval = yyvsp[0]; } break; -case 69: -{ zend_do_begin_catch(&yyvsp[-5], &yyvsp[-3], &yyvsp[-1], 0 TSRMLS_CC); } + + case 72: + + { yyval = yyvsp[0]; } break; -case 70: -{ zend_do_end_catch(&yyvsp[-9] TSRMLS_CC); } + + case 73: + + { yyval.u.opline_num = get_next_op_number(CG(active_op_array)); } + break; + + case 74: + + { zend_do_begin_catch(&yyvsp[-5], &yyvsp[-3], &yyvsp[-1], 0 TSRMLS_CC); } + break; + + case 75: + + { zend_do_end_catch(&yyvsp[-9] TSRMLS_CC); } + break; + + case 78: + + { zend_do_end_variable_parse(BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&yyvsp[0] TSRMLS_CC); } break; -case 73: -{ zend_do_end_variable_parse(BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&yyvsp[0] TSRMLS_CC); } + + case 79: + + { yyval = yyvsp[0]; } break; -case 74: -{ yyval = yyvsp[0]; } + + case 80: + + { yyval = yyvsp[-1]; } break; -case 75: -{ yyval = yyvsp[-1]; } + + case 81: + + { zend_do_ticks(TSRMLS_C); } break; -case 76: -{ zend_do_ticks(TSRMLS_C); } + + case 82: + + { zend_do_ticks(TSRMLS_C); } break; -case 77: -{ zend_do_ticks(TSRMLS_C); } + + case 83: + + { yyval.op_type = ZEND_RETURN_VAL; } break; -case 78: -{ yyval.op_type = ZEND_RETURN_VAL; } + + case 84: + + { yyval.op_type = ZEND_RETURN_REF; } break; -case 79: -{ yyval.op_type = ZEND_RETURN_REF; } + + case 85: + + { yyvsp[0].u.opline_num = CG(zend_lineno); } break; -case 80: -{ yyvsp[0].u.opline_num = CG(zend_lineno); } + + case 86: + + { zend_do_begin_function_declaration(&yyvsp[-3], &yyvsp[0], 0, yyvsp[-1].op_type, NULL TSRMLS_CC); } break; -case 81: -{ zend_do_begin_function_declaration(&yyvsp[-3], &yyvsp[0], 0, yyvsp[-1].op_type, NULL TSRMLS_CC); } + + case 87: + + { zend_do_end_function_declaration(&yyvsp[-10] TSRMLS_CC); } break; -case 82: -{ zend_do_end_function_declaration(&yyvsp[-10] TSRMLS_CC); } + + case 88: + + { zend_do_begin_class_declaration(&yyvsp[-2], &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 83: -{ zend_do_begin_class_declaration(&yyvsp[-2], &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 89: + + { zend_do_end_class_declaration(&yyvsp[-7], &yyvsp[-6] TSRMLS_CC); } break; -case 84: -{ zend_do_end_class_declaration(&yyvsp[-7], &yyvsp[-6] TSRMLS_CC); } + + case 90: + + { zend_do_begin_class_declaration(&yyvsp[-1], &yyvsp[0], NULL TSRMLS_CC); } break; -case 85: -{ zend_do_begin_class_declaration(&yyvsp[-1], &yyvsp[0], NULL TSRMLS_CC); } + + case 91: + + { zend_do_end_class_declaration(&yyvsp[-6], &yyvsp[-5] TSRMLS_CC); } break; -case 86: -{ zend_do_end_class_declaration(&yyvsp[-6], &yyvsp[-5] TSRMLS_CC); } + + case 92: + + { yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = 0; } break; -case 87: -{ yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = 0; } + + case 93: + + { yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; } break; -case 88: -{ yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; } + + case 94: + + { yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_FINAL_CLASS; } break; -case 89: -{ yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_FINAL_CLASS; } + + case 95: + + { yyval.op_type = IS_UNUSED; } break; -case 90: -{ yyval.op_type = IS_UNUSED; } + + case 96: + + { yyval = yyvsp[0]; } break; -case 91: -{ yyval = yyvsp[0]; } + + case 97: + + { yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_INTERFACE; } break; -case 92: -{ yyval.u.opline_num = CG(zend_lineno); yyval.u.EA.type = ZEND_ACC_INTERFACE; } + + case 102: + + { zend_do_implements_interface(&yyvsp[0] TSRMLS_CC); } break; -case 97: -{ zend_do_implements_interface(&yyvsp[0] TSRMLS_CC); } + + case 103: + + { zend_do_implements_interface(&yyvsp[0] TSRMLS_CC); } break; -case 98: -{ zend_do_implements_interface(&yyvsp[0] TSRMLS_CC); } + + case 104: + + { yyval.op_type = IS_UNUSED; } break; -case 99: -{ yyval.op_type = IS_UNUSED; } + + case 105: + + { yyval = yyvsp[0]; } break; -case 100: -{ yyval = yyvsp[0]; } + + case 106: + + { zend_check_writable_variable(&yyvsp[0]); yyval = yyvsp[0]; } break; -case 101: -{ yyval = yyvsp[0]; } + + case 107: + + { zend_check_writable_variable(&yyvsp[0]); yyval = yyvsp[0]; yyval.u.EA.type |= ZEND_PARSED_REFERENCE_VARIABLE; } break; -case 102: -{ yyval = yyvsp[0]; yyval.u.EA.type |= ZEND_PARSED_REFERENCE_VARIABLE; } + + case 114: + + { zend_do_declare_stmt(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 109: -{ zend_do_declare_stmt(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 115: + + { zend_do_declare_stmt(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 110: -{ zend_do_declare_stmt(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 116: + + { yyval = yyvsp[-1]; } break; -case 111: -{ yyval = yyvsp[-1]; } + + case 117: + + { yyval = yyvsp[-1]; } break; -case 112: -{ yyval = yyvsp[-1]; } + + case 118: + + { yyval = yyvsp[-2]; } break; -case 113: -{ yyval = yyvsp[-2]; } + + case 119: + + { yyval = yyvsp[-2]; } break; -case 114: -{ yyval = yyvsp[-2]; } + + case 120: + + { yyval.op_type = IS_UNUSED; } break; -case 115: -{ yyval.op_type = IS_UNUSED; } + + case 121: + + { zend_do_extended_info(TSRMLS_C); zend_do_case_before_statement(&yyvsp[-3], &yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 116: -{ zend_do_extended_info(TSRMLS_C); zend_do_case_before_statement(&yyvsp[-3], &yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } + + case 122: + + { zend_do_case_after_statement(&yyval, &yyvsp[-4] TSRMLS_CC); yyval.op_type = IS_CONST; } break; -case 117: -{ zend_do_case_after_statement(&yyval, &yyvsp[-4] TSRMLS_CC); yyval.op_type = IS_CONST; } + + case 123: + + { zend_do_extended_info(TSRMLS_C); zend_do_default_before_statement(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 118: -{ zend_do_extended_info(TSRMLS_C); zend_do_default_before_statement(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } + + case 124: + + { zend_do_case_after_statement(&yyval, &yyvsp[-3] TSRMLS_CC); yyval.op_type = IS_CONST; } break; -case 119: -{ zend_do_case_after_statement(&yyval, &yyvsp[-3] TSRMLS_CC); yyval.op_type = IS_CONST; } + + case 130: + + { zend_do_if_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 125: -{ zend_do_if_cond(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 131: + + { zend_do_if_after_statement(&yyvsp[-2], 0 TSRMLS_CC); } break; -case 126: -{ zend_do_if_after_statement(&yyvsp[-2], 0 TSRMLS_CC); } + + case 133: + + { zend_do_if_cond(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } break; -case 128: -{ zend_do_if_cond(&yyvsp[-2], &yyvsp[-1] TSRMLS_CC); } + + case 134: + + { zend_do_if_after_statement(&yyvsp[-3], 0 TSRMLS_CC); } break; -case 129: -{ zend_do_if_after_statement(&yyvsp[-3], 0 TSRMLS_CC); } + + case 141: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-1], &yyvsp[0], 0 TSRMLS_CC); } break; -case 136: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-1], &yyvsp[0], 0 TSRMLS_CC); } + + case 142: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-2], &yyvsp[0], 1 TSRMLS_CC); } break; -case 137: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-2], &yyvsp[0], 1 TSRMLS_CC); } + + case 143: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-4], &yyvsp[-2], 1 TSRMLS_CC); } break; -case 138: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-4], &yyvsp[-2], 1 TSRMLS_CC); } + + case 144: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-3], &yyvsp[-2], 0 TSRMLS_CC); } break; -case 139: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval.op_type = IS_CONST; yyval.u.constant.value.lval=1; yyval.u.constant.type=IS_LONG; INIT_PZVAL(&yyval.u.constant); zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-3], &yyvsp[-2], 0 TSRMLS_CC); } + + case 145: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval=yyvsp[-3]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-1], &yyvsp[0], 0 TSRMLS_CC); } break; -case 140: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval=yyvsp[-3]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-1], &yyvsp[0], 0 TSRMLS_CC); } + + case 146: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval=yyvsp[-4]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-2], &yyvsp[0], 1 TSRMLS_CC); } break; -case 141: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[0], 0 TSRMLS_CC); yyval=yyvsp[-4]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV, &tmp, &yyval, NULL, &yyvsp[-2], &yyvsp[0], 1 TSRMLS_CC); } + + case 147: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval=yyvsp[-6]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-4], &yyvsp[-2], 1 TSRMLS_CC); } break; -case 142: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval=yyvsp[-6]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-4], &yyvsp[-2], 1 TSRMLS_CC); } + + case 148: + + { znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval=yyvsp[-5]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-3], &yyvsp[-2], 0 TSRMLS_CC); } break; -case 143: -{ znode tmp; fetch_simple_variable(&tmp, &yyvsp[-2], 0 TSRMLS_CC); yyval=yyvsp[-5]; yyval.u.constant.value.lval++; zend_do_receive_arg(ZEND_RECV_INIT, &tmp, &yyval, &yyvsp[0], &yyvsp[-3], &yyvsp[-2], 0 TSRMLS_CC); } + + case 149: + + { yyval.op_type = IS_UNUSED; } break; -case 144: -{ yyval.op_type = IS_UNUSED; } + + case 150: + + { yyval = yyvsp[0]; } break; -case 145: -{ yyval = yyvsp[0]; } + + case 151: + + { yyval.op_type = IS_CONST; yyval.u.constant.type=IS_NULL;} break; -case 146: -{ yyval = yyvsp[0]; } + + case 152: + + { yyval = yyvsp[0]; } break; -case 147: -{ yyval.u.constant.value.lval = 0; } + + case 153: + + { yyval.u.constant.value.lval = 0; } break; -case 148: -{ yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAL, yyval.u.constant.value.lval TSRMLS_CC); } + + case 154: + + { yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAL, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 149: -{ yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAR, yyval.u.constant.value.lval TSRMLS_CC); } + + case 155: + + { yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAR, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 150: -{ yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_REF, yyval.u.constant.value.lval TSRMLS_CC); } + + case 156: + + { yyval.u.constant.value.lval = 1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_REF, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 151: -{ yyval.u.constant.value.lval=yyvsp[-2].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAL, yyval.u.constant.value.lval TSRMLS_CC); } + + case 157: + + { yyval.u.constant.value.lval=yyvsp[-2].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAL, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 152: -{ yyval.u.constant.value.lval=yyvsp[-2].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAR, yyval.u.constant.value.lval TSRMLS_CC); } + + case 158: + + { yyval.u.constant.value.lval=yyvsp[-2].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_VAR, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 153: -{ yyval.u.constant.value.lval=yyvsp[-3].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_REF, yyval.u.constant.value.lval TSRMLS_CC); } + + case 159: + + { yyval.u.constant.value.lval=yyvsp[-3].u.constant.value.lval+1; zend_do_pass_param(&yyvsp[0], ZEND_SEND_REF, yyval.u.constant.value.lval TSRMLS_CC); } break; -case 154: -{ zend_do_fetch_global_variable(&yyvsp[0], NULL, ZEND_FETCH_GLOBAL TSRMLS_CC); } + + case 160: + + { zend_do_fetch_global_variable(&yyvsp[0], NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); } break; -case 155: -{ zend_do_fetch_global_variable(&yyvsp[0], NULL, ZEND_FETCH_GLOBAL TSRMLS_CC); } + + case 161: + + { zend_do_fetch_global_variable(&yyvsp[0], NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); } break; -case 156: -{ yyval = yyvsp[0]; } + + case 162: + + { yyval = yyvsp[0]; } break; -case 157: -{ yyval = yyvsp[0]; } + + case 163: + + { yyval = yyvsp[0]; } break; -case 158: -{ yyval = yyvsp[-1]; } + + case 164: + + { yyval = yyvsp[-1]; } break; -case 159: -{ zend_do_fetch_static_variable(&yyvsp[0], NULL, ZEND_FETCH_STATIC TSRMLS_CC); } + + case 165: + + { zend_do_fetch_static_variable(&yyvsp[0], NULL, ZEND_FETCH_STATIC TSRMLS_CC); } break; -case 160: -{ zend_do_fetch_static_variable(&yyvsp[-2], &yyvsp[0], ZEND_FETCH_STATIC TSRMLS_CC); } + + case 166: + + { zend_do_fetch_static_variable(&yyvsp[-2], &yyvsp[0], ZEND_FETCH_STATIC TSRMLS_CC); } break; -case 161: -{ zend_do_fetch_static_variable(&yyvsp[0], NULL, ZEND_FETCH_STATIC TSRMLS_CC); } + + case 167: + + { zend_do_fetch_static_variable(&yyvsp[0], NULL, ZEND_FETCH_STATIC TSRMLS_CC); } break; -case 162: -{ zend_do_fetch_static_variable(&yyvsp[-2], &yyvsp[0], ZEND_FETCH_STATIC TSRMLS_CC); } + + case 168: + + { zend_do_fetch_static_variable(&yyvsp[-2], &yyvsp[0], ZEND_FETCH_STATIC TSRMLS_CC); } break; -case 165: -{ CG(access_type) = yyvsp[0].u.constant.value.lval; } + + case 171: + + { CG(access_type) = yyvsp[0].u.constant.value.lval; } break; -case 168: -{ yyvsp[0].u.opline_num = CG(zend_lineno); } + + case 174: + + { yyvsp[0].u.opline_num = CG(zend_lineno); } break; -case 169: -{ zend_do_begin_function_declaration(&yyvsp[-3], &yyvsp[0], 1, yyvsp[-1].op_type, &yyvsp[-4] TSRMLS_CC); } + + case 175: + + { zend_do_begin_function_declaration(&yyvsp[-3], &yyvsp[0], 1, yyvsp[-1].op_type, &yyvsp[-4] TSRMLS_CC); } break; -case 170: -{ zend_do_abstract_method(&yyvsp[-5], &yyvsp[-9], &yyvsp[0] TSRMLS_CC); zend_do_end_function_declaration(&yyvsp[-8] TSRMLS_CC); } + + case 176: + + { zend_do_abstract_method(&yyvsp[-5], &yyvsp[-9], &yyvsp[0] TSRMLS_CC); zend_do_end_function_declaration(&yyvsp[-8] TSRMLS_CC); } break; -case 171: -{ yyval.u.constant.value.lval = ZEND_ACC_ABSTRACT; } + + case 177: + + { yyval.u.constant.value.lval = ZEND_ACC_ABSTRACT; } break; -case 172: -{ yyval.u.constant.value.lval = 0; } + + case 178: + + { yyval.u.constant.value.lval = 0; } break; -case 173: -{ yyval = yyvsp[0]; } + + case 179: + + { yyval = yyvsp[0]; } break; -case 174: -{ zend_error(E_STRICT, "var: Deprecated. Please use the public/private/protected modifiers"); yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } + + case 180: + + { zend_error(E_STRICT, "var: Deprecated. Please use the public/private/protected modifiers"); yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } break; -case 175: -{ yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } + + case 181: + + { yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } break; -case 176: -{ yyval = yyvsp[0]; if (!(yyval.u.constant.value.lval & ZEND_ACC_PPP_MASK)) { yyval.u.constant.value.lval |= ZEND_ACC_PUBLIC; } } + + case 182: + + { yyval = yyvsp[0]; if (!(yyval.u.constant.value.lval & ZEND_ACC_PPP_MASK)) { yyval.u.constant.value.lval |= ZEND_ACC_PUBLIC; } } break; -case 177: -{ yyval = yyvsp[0]; } + + case 183: + + { yyval = yyvsp[0]; } break; -case 178: -{ yyval.u.constant.value.lval = zend_do_verify_access_types(&yyvsp[-1], &yyvsp[0]); } + + case 184: + + { yyval.u.constant.value.lval = zend_do_verify_access_types(&yyvsp[-1], &yyvsp[0]); } break; -case 179: -{ yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } + + case 185: + + { yyval.u.constant.value.lval = ZEND_ACC_PUBLIC; } break; -case 180: -{ yyval.u.constant.value.lval = ZEND_ACC_PROTECTED; } + + case 186: + + { yyval.u.constant.value.lval = ZEND_ACC_PROTECTED; } break; -case 181: -{ yyval.u.constant.value.lval = ZEND_ACC_PRIVATE; } + + case 187: + + { yyval.u.constant.value.lval = ZEND_ACC_PRIVATE; } break; -case 182: -{ yyval.u.constant.value.lval = ZEND_ACC_STATIC; } + + case 188: + + { yyval.u.constant.value.lval = ZEND_ACC_STATIC; } break; -case 183: -{ yyval.u.constant.value.lval = ZEND_ACC_ABSTRACT; } + + case 189: + + { yyval.u.constant.value.lval = ZEND_ACC_ABSTRACT; } break; -case 184: -{ yyval.u.constant.value.lval = ZEND_ACC_FINAL; } + + case 190: + + { yyval.u.constant.value.lval = ZEND_ACC_FINAL; } break; -case 185: -{ zend_do_declare_property(&yyvsp[0], NULL, CG(access_type) TSRMLS_CC); } + + case 191: + + { zend_do_declare_property(&yyvsp[0], NULL, CG(access_type) TSRMLS_CC); } break; -case 186: -{ zend_do_declare_property(&yyvsp[-2], &yyvsp[0], CG(access_type) TSRMLS_CC); } + + case 192: + + { zend_do_declare_property(&yyvsp[-2], &yyvsp[0], CG(access_type) TSRMLS_CC); } break; -case 187: -{ zend_do_declare_property(&yyvsp[0], NULL, CG(access_type) TSRMLS_CC); } + + case 193: + + { zend_do_declare_property(&yyvsp[0], NULL, CG(access_type) TSRMLS_CC); } break; -case 188: -{ zend_do_declare_property(&yyvsp[-2], &yyvsp[0], CG(access_type) TSRMLS_CC); } + + case 194: + + { zend_do_declare_property(&yyvsp[-2], &yyvsp[0], CG(access_type) TSRMLS_CC); } break; -case 189: -{ zend_do_declare_class_constant(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 195: + + { zend_do_declare_class_constant(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 190: -{ zend_do_declare_class_constant(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 196: + + { zend_do_declare_class_constant(&yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 191: -{ zend_do_echo(&yyvsp[0] TSRMLS_CC); } + + case 197: + + { zend_do_echo(&yyvsp[0] TSRMLS_CC); } break; -case 192: -{ zend_do_echo(&yyvsp[0] TSRMLS_CC); } + + case 198: + + { zend_do_echo(&yyvsp[0] TSRMLS_CC); } break; -case 193: -{ yyval.op_type = IS_CONST; yyval.u.constant.type = IS_BOOL; yyval.u.constant.value.lval = 1; } + + case 199: + + { yyval.op_type = IS_CONST; yyval.u.constant.type = IS_BOOL; yyval.u.constant.value.lval = 1; } break; -case 194: -{ yyval = yyvsp[0]; } + + case 200: + + { yyval = yyvsp[0]; } break; -case 195: -{ zend_do_free(&yyvsp[-1] TSRMLS_CC); } + + case 201: + + { zend_do_free(&yyvsp[-1] TSRMLS_CC); } break; -case 196: -{ yyval = yyvsp[0]; } + + case 202: + + { yyval = yyvsp[0]; } break; -case 197: -{ yyval = yyvsp[0]; } + + case 203: + + { yyval = yyvsp[0]; } break; -case 198: -{ zend_do_list_init(TSRMLS_C); } + + case 204: + + { zend_do_list_init(TSRMLS_C); } break; -case 199: -{ zend_do_list_end(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 205: + + { zend_do_list_end(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 200: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign(&yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 206: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign(&yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 201: -{ zend_check_writable_variable(&yyvsp[-3]); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&yyval, &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } + + case 207: + + { zend_check_writable_variable(&yyvsp[-3]); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&yyval, &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } break; -case 202: -{ zend_error(E_STRICT, "Assigning the return value of new by reference is deprecated"); zend_check_writable_variable(&yyvsp[-4]); zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 208: + + { zend_error(E_STRICT, "Assigning the return value of new by reference is deprecated"); zend_check_writable_variable(&yyvsp[-4]); zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 203: -{ zend_do_end_new_object(&yyvsp[-4], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&yyval, &yyvsp[-6], &yyvsp[-4] TSRMLS_CC); } + + case 209: + + { zend_do_end_new_object(&yyvsp[-4], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&yyval, &yyvsp[-6], &yyvsp[-4] TSRMLS_CC); } break; -case 204: -{ zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 210: + + { zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 205: -{ zend_do_end_new_object(&yyval, &yyvsp[-3], &yyvsp[0] TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} + + case 211: + + { zend_do_end_new_object(&yyval, &yyvsp[-3], &yyvsp[0] TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} break; -case 206: -{ zend_do_clone(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 212: + + { zend_do_clone(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 207: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_ADD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 213: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_ADD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 208: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SUB, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 214: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SUB, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 209: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MUL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 215: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MUL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 210: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DIV, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 216: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DIV, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 211: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_CONCAT, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 217: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_CONCAT, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 212: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MOD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 218: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MOD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 213: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_AND, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 219: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_AND, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 214: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_OR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 220: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_OR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 215: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 221: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 216: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 222: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 217: -{ zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 223: + + { zend_check_writable_variable(&yyvsp[-2]); zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 218: -{ zend_do_post_incdec(&yyval, &yyvsp[-1], ZEND_POST_INC TSRMLS_CC); } + + case 224: + + { zend_do_post_incdec(&yyval, &yyvsp[-1], ZEND_POST_INC TSRMLS_CC); } break; -case 219: -{ zend_do_pre_incdec(&yyval, &yyvsp[0], ZEND_PRE_INC TSRMLS_CC); } + + case 225: + + { zend_do_pre_incdec(&yyval, &yyvsp[0], ZEND_PRE_INC TSRMLS_CC); } break; -case 220: -{ zend_do_post_incdec(&yyval, &yyvsp[-1], ZEND_POST_DEC TSRMLS_CC); } + + case 226: + + { zend_do_post_incdec(&yyval, &yyvsp[-1], ZEND_POST_DEC TSRMLS_CC); } break; -case 221: -{ zend_do_pre_incdec(&yyval, &yyvsp[0], ZEND_PRE_DEC TSRMLS_CC); } + + case 227: + + { zend_do_pre_incdec(&yyval, &yyvsp[0], ZEND_PRE_DEC TSRMLS_CC); } break; -case 222: -{ zend_do_boolean_or_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 228: + + { zend_do_boolean_or_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 223: -{ zend_do_boolean_or_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 229: + + { zend_do_boolean_or_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 224: -{ zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 230: + + { zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 225: -{ zend_do_boolean_and_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 231: + + { zend_do_boolean_and_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 226: -{ zend_do_boolean_or_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 232: + + { zend_do_boolean_or_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 227: -{ zend_do_boolean_or_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 233: + + { zend_do_boolean_or_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 228: -{ zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 234: + + { zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 229: -{ zend_do_boolean_and_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 235: + + { zend_do_boolean_and_end(&yyval, &yyvsp[-3], &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 230: -{ zend_do_binary_op(ZEND_BOOL_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 236: + + { zend_do_binary_op(ZEND_BOOL_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 231: -{ zend_do_binary_op(ZEND_BW_OR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 237: + + { zend_do_binary_op(ZEND_BW_OR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 232: -{ zend_do_binary_op(ZEND_BW_AND, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 238: + + { zend_do_binary_op(ZEND_BW_AND, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 233: -{ zend_do_binary_op(ZEND_BW_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 239: + + { zend_do_binary_op(ZEND_BW_XOR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 234: -{ zend_do_binary_op(ZEND_CONCAT, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 240: + + { zend_do_binary_op(ZEND_CONCAT, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 235: -{ zend_do_binary_op(ZEND_ADD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 241: + + { zend_do_binary_op(ZEND_ADD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 236: -{ zend_do_binary_op(ZEND_SUB, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 242: + + { zend_do_binary_op(ZEND_SUB, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 237: -{ zend_do_binary_op(ZEND_MUL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 243: + + { zend_do_binary_op(ZEND_MUL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 238: -{ zend_do_binary_op(ZEND_DIV, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 244: + + { zend_do_binary_op(ZEND_DIV, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 239: -{ zend_do_binary_op(ZEND_MOD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 245: + + { zend_do_binary_op(ZEND_MOD, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 240: -{ zend_do_binary_op(ZEND_SL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 246: + + { zend_do_binary_op(ZEND_SL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 241: -{ zend_do_binary_op(ZEND_SR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 247: + + { zend_do_binary_op(ZEND_SR, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 242: -{ yyvsp[-1].u.constant.value.lval=0; yyvsp[-1].u.constant.type=IS_LONG; yyvsp[-1].op_type = IS_CONST; INIT_PZVAL(&yyvsp[-1].u.constant); zend_do_binary_op(ZEND_ADD, &yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 248: + + { yyvsp[-1].u.constant.value.lval=0; yyvsp[-1].u.constant.type=IS_LONG; yyvsp[-1].op_type = IS_CONST; INIT_PZVAL(&yyvsp[-1].u.constant); zend_do_binary_op(ZEND_ADD, &yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 243: -{ yyvsp[-1].u.constant.value.lval=0; yyvsp[-1].u.constant.type=IS_LONG; yyvsp[-1].op_type = IS_CONST; INIT_PZVAL(&yyvsp[-1].u.constant); zend_do_binary_op(ZEND_SUB, &yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 249: + + { yyvsp[-1].u.constant.value.lval=0; yyvsp[-1].u.constant.type=IS_LONG; yyvsp[-1].op_type = IS_CONST; INIT_PZVAL(&yyvsp[-1].u.constant); zend_do_binary_op(ZEND_SUB, &yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 244: -{ zend_do_unary_op(ZEND_BOOL_NOT, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 250: + + { zend_do_unary_op(ZEND_BOOL_NOT, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 245: -{ zend_do_unary_op(ZEND_BW_NOT, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 251: + + { zend_do_unary_op(ZEND_BW_NOT, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 246: -{ zend_do_binary_op(ZEND_IS_IDENTICAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 252: + + { zend_do_binary_op(ZEND_IS_IDENTICAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 247: -{ zend_do_binary_op(ZEND_IS_NOT_IDENTICAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 253: + + { zend_do_binary_op(ZEND_IS_NOT_IDENTICAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 248: -{ zend_do_binary_op(ZEND_IS_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 254: + + { zend_do_binary_op(ZEND_IS_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 249: -{ zend_do_binary_op(ZEND_IS_NOT_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 255: + + { zend_do_binary_op(ZEND_IS_NOT_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 250: -{ zend_do_binary_op(ZEND_IS_SMALLER, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 256: + + { zend_do_binary_op(ZEND_IS_SMALLER, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 251: -{ zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } + + case 257: + + { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &yyval, &yyvsp[-2], &yyvsp[0] TSRMLS_CC); } break; -case 252: -{ zend_do_binary_op(ZEND_IS_SMALLER, &yyval, &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 258: + + { zend_do_binary_op(ZEND_IS_SMALLER, &yyval, &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 253: -{ zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &yyval, &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } + + case 259: + + { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &yyval, &yyvsp[0], &yyvsp[-2] TSRMLS_CC); } break; -case 254: -{ zend_do_instanceof(&yyval, &yyvsp[-2], &yyvsp[0], 0 TSRMLS_CC); } + + case 260: + + { zend_do_instanceof(&yyval, &yyvsp[-2], &yyvsp[0], 0 TSRMLS_CC); } break; -case 255: -{ yyval = yyvsp[-1]; } + + case 261: + + { yyval = yyvsp[-1]; } break; -case 256: -{ zend_do_begin_qm_op(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 262: + + { zend_do_begin_qm_op(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 257: -{ zend_do_qm_true(&yyvsp[-1], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } + + case 263: + + { zend_do_qm_true(&yyvsp[-1], &yyvsp[-3], &yyvsp[0] TSRMLS_CC); } break; -case 258: -{ zend_do_qm_false(&yyval, &yyvsp[0], &yyvsp[-5], &yyvsp[-2] TSRMLS_CC); } + + case 264: + + { zend_do_qm_false(&yyval, &yyvsp[0], &yyvsp[-5], &yyvsp[-2] TSRMLS_CC); } break; -case 259: -{ yyval = yyvsp[0]; } + + case 265: + + { yyval = yyvsp[0]; } break; -case 260: -{ zend_do_cast(&yyval, &yyvsp[0], IS_LONG TSRMLS_CC); } + + case 266: + + { zend_do_cast(&yyval, &yyvsp[0], IS_LONG TSRMLS_CC); } break; -case 261: -{ zend_do_cast(&yyval, &yyvsp[0], IS_DOUBLE TSRMLS_CC); } + + case 267: + + { zend_do_cast(&yyval, &yyvsp[0], IS_DOUBLE TSRMLS_CC); } break; -case 262: -{ zend_do_cast(&yyval, &yyvsp[0], IS_STRING TSRMLS_CC); } + + case 268: + + { zend_do_cast(&yyval, &yyvsp[0], IS_STRING TSRMLS_CC); } break; -case 263: -{ zend_do_cast(&yyval, &yyvsp[0], IS_ARRAY TSRMLS_CC); } + + case 269: + + { zend_do_cast(&yyval, &yyvsp[0], IS_ARRAY TSRMLS_CC); } break; -case 264: -{ zend_do_cast(&yyval, &yyvsp[0], IS_OBJECT TSRMLS_CC); } + + case 270: + + { zend_do_cast(&yyval, &yyvsp[0], IS_OBJECT TSRMLS_CC); } break; -case 265: -{ zend_do_cast(&yyval, &yyvsp[0], IS_BOOL TSRMLS_CC); } + + case 271: + + { zend_do_cast(&yyval, &yyvsp[0], IS_BOOL TSRMLS_CC); } break; -case 266: -{ zend_do_cast(&yyval, &yyvsp[0], IS_NULL TSRMLS_CC); } + + case 272: + + { zend_do_cast(&yyval, &yyvsp[0], IS_NULL TSRMLS_CC); } break; -case 267: -{ zend_do_exit(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 273: + + { zend_do_exit(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 268: -{ zend_do_begin_silence(&yyvsp[0] TSRMLS_CC); } + + case 274: + + { zend_do_begin_silence(&yyvsp[0] TSRMLS_CC); } break; -case 269: -{ zend_do_end_silence(&yyvsp[-2] TSRMLS_CC); yyval = yyvsp[0]; } + + case 275: + + { zend_do_end_silence(&yyvsp[-2] TSRMLS_CC); yyval = yyvsp[0]; } break; -case 270: -{ yyval = yyvsp[0]; } + + case 276: + + { yyval = yyvsp[0]; } break; -case 271: -{ yyval = yyvsp[-1]; } + + case 277: + + { yyval = yyvsp[-1]; } break; -case 272: -{ zend_do_shell_exec(&yyval, &yyvsp[-1] TSRMLS_CC); } + + case 278: + + { zend_do_shell_exec(&yyval, &yyvsp[-1] TSRMLS_CC); } break; -case 273: -{ zend_do_print(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 279: + + { zend_do_print(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 274: -{ yyvsp[0].u.opline_num = zend_do_begin_function_call(&yyvsp[-1] TSRMLS_CC); } + + case 280: + + { yyvsp[0].u.opline_num = zend_do_begin_function_call(&yyvsp[-1] TSRMLS_CC); } break; -case 275: -{ zend_do_end_function_call(&yyvsp[-4], &yyval, &yyvsp[-1], 0, yyvsp[-3].u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); } + + case 281: + + { zend_do_end_function_call(&yyvsp[-4], &yyval, &yyvsp[-1], 0, yyvsp[-3].u.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); } break; -case 276: -{ zend_do_begin_class_member_function_call(&yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 282: + + { zend_do_begin_class_member_function_call(&yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 277: -{ zend_do_end_function_call(NULL, &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} + + case 283: + + { zend_do_end_function_call(NULL, &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} break; -case 278: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 284: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 279: -{ zend_do_end_function_call(NULL, &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} + + case 285: + + { zend_do_end_function_call(NULL, &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} break; -case 280: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_dynamic_function_call(&yyvsp[-1] TSRMLS_CC); } + + case 286: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_dynamic_function_call(&yyvsp[-1] TSRMLS_CC); } break; -case 281: -{ zend_do_end_function_call(&yyvsp[-4], &yyval, &yyvsp[-1], 0, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} + + case 287: + + { zend_do_end_function_call(&yyvsp[-4], &yyval, &yyvsp[-1], 0, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);} break; -case 282: -{ zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 288: + + { zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 283: -{ zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 289: + + { zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 284: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } + + case 290: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_fetch_class(&yyval, &yyvsp[0] TSRMLS_CC); } break; -case 285: -{ zend_do_push_object(&yyvsp[-1] TSRMLS_CC); } + + case 291: + + { zend_do_push_object(&yyvsp[-1] TSRMLS_CC); } break; -case 286: -{ zend_do_push_object(&yyvsp[0] TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); } + + case 292: + + { zend_do_push_object(&yyvsp[0] TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); } break; -case 287: -{ zend_do_pop_object(&yyval TSRMLS_CC); yyval.u.EA.type = ZEND_PARSED_MEMBER; } + + case 293: + + { zend_do_pop_object(&yyval TSRMLS_CC); yyval.u.EA.type = ZEND_PARSED_MEMBER; } break; -case 288: -{ yyval = yyvsp[0]; } + + case 294: + + { yyval = yyvsp[0]; } break; -case 291: -{ zend_do_push_object(&yyvsp[0] TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); } + + case 297: + + { zend_do_push_object(&yyvsp[0] TSRMLS_CC); zend_do_declare_implicit_property(TSRMLS_C); } break; -case 292: -{ memset(&yyval, 0, sizeof(znode)); yyval.op_type = IS_UNUSED; } + + case 298: + + { memset(&yyval, 0, sizeof(znode)); yyval.op_type = IS_UNUSED; } break; -case 293: -{ memset(&yyval, 0, sizeof(znode)); yyval.op_type = IS_UNUSED; } + + case 299: + + { memset(&yyval, 0, sizeof(znode)); yyval.op_type = IS_UNUSED; } break; -case 294: -{ yyval = yyvsp[-1]; } + + case 300: + + { yyval = yyvsp[-1]; } break; -case 295: -{ yyval.u.constant.value.lval=0; } + + case 301: + + { yyval.u.constant.value.lval=0; } break; -case 296: -{ yyval = yyvsp[-1]; } + + case 302: + + { yyval = yyvsp[-1]; } break; -case 297: -{ yyval = yyvsp[0]; } + + case 303: + + { yyval = yyvsp[0]; } break; -case 298: -{ yyval = yyvsp[0]; } + + case 304: + + { yyval = yyvsp[0]; } break; -case 299: -{ yyval = yyvsp[0]; } + + case 305: + + { yyval = yyvsp[0]; } break; -case 300: -{ yyval = yyvsp[0]; } + + case 306: + + { yyval = yyvsp[0]; } break; -case 301: -{ yyval = yyvsp[0]; } + + case 307: + + { yyval = yyvsp[0]; } break; -case 302: -{ yyval = yyvsp[0]; } + + case 308: + + { yyval = yyvsp[0]; } break; -case 303: -{ yyval = yyvsp[0]; } + + case 309: + + { yyval = yyvsp[0]; } break; -case 304: -{ yyval = yyvsp[0]; } + + case 310: + + { yyval = yyvsp[0]; } break; -case 305: -{ yyval = yyvsp[0]; } + + case 311: + + { yyval = yyvsp[0]; } break; -case 306: -{ zend_do_fetch_constant(&yyval, NULL, &yyvsp[0], ZEND_CT TSRMLS_CC); } + + case 312: + + { zend_do_fetch_constant(&yyval, NULL, &yyvsp[0], ZEND_CT TSRMLS_CC); } break; -case 307: -{ yyval = yyvsp[0]; } + + case 313: + + { yyval = yyvsp[0]; } break; -case 308: -{ zval minus_one; minus_one.type = IS_LONG; minus_one.value.lval = -1; mul_function(&yyvsp[0].u.constant, &yyvsp[0].u.constant, &minus_one TSRMLS_CC); yyval = yyvsp[0]; } + + case 314: + + { zval minus_one; minus_one.type = IS_LONG; minus_one.value.lval = -1; mul_function(&yyvsp[0].u.constant, &yyvsp[0].u.constant, &minus_one TSRMLS_CC); yyval = yyvsp[0]; } break; -case 309: -{ yyval = yyvsp[-1]; yyval.u.constant.type = IS_CONSTANT_ARRAY; } + + case 315: + + { yyval = yyvsp[-1]; yyval.u.constant.type = IS_CONSTANT_ARRAY; } break; -case 310: -{ yyval = yyvsp[0]; } + + case 316: + + { yyval = yyvsp[0]; } break; -case 311: -{ zend_do_fetch_constant(&yyval, &yyvsp[-2], &yyvsp[0], ZEND_CT TSRMLS_CC); } + + case 317: + + { zend_do_fetch_constant(&yyval, &yyvsp[-2], &yyvsp[0], ZEND_CT TSRMLS_CC); } break; -case 312: -{ zend_do_fetch_constant(&yyval, NULL, &yyvsp[0], ZEND_RT TSRMLS_CC); } + + case 318: + + { zend_do_fetch_constant(&yyval, NULL, &yyvsp[0], ZEND_RT TSRMLS_CC); } break; -case 313: -{ yyval = yyvsp[0]; } + + case 319: + + { yyval = yyvsp[0]; } break; -case 314: -{ yyval = yyvsp[0]; } + + case 320: + + { yyval = yyvsp[0]; } break; -case 315: -{ yyval = yyvsp[0]; } + + case 321: + + { yyval = yyvsp[0]; } break; -case 316: -{ yyval = yyvsp[-1]; } + + case 322: + + { yyval = yyvsp[-1]; } break; -case 317: -{ yyval = yyvsp[-1]; } + + case 323: + + { yyval = yyvsp[-1]; } break; -case 318: -{ yyval = yyvsp[-1]; zend_do_end_heredoc(TSRMLS_C); } + + case 324: + + { yyval = yyvsp[-1]; zend_do_end_heredoc(TSRMLS_C); } break; -case 319: -{ yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); } + + case 325: + + { yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); } break; -case 320: -{ yyval = yyvsp[-1]; } + + case 326: + + { yyval = yyvsp[-1]; } break; -case 323: -{ zend_do_add_static_array_element(&yyval, &yyvsp[-2], &yyvsp[0]); } + + case 329: + + { zend_do_add_static_array_element(&yyval, &yyvsp[-2], &yyvsp[0]); } break; -case 324: -{ zend_do_add_static_array_element(&yyval, NULL, &yyvsp[0]); } + + case 330: + + { zend_do_add_static_array_element(&yyval, NULL, &yyvsp[0]); } break; -case 325: -{ yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); zend_do_add_static_array_element(&yyval, &yyvsp[-2], &yyvsp[0]); } + + case 331: + + { yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); zend_do_add_static_array_element(&yyval, &yyvsp[-2], &yyvsp[0]); } break; -case 326: -{ yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); zend_do_add_static_array_element(&yyval, NULL, &yyvsp[0]); } + + case 332: + + { yyval.op_type = IS_CONST; INIT_PZVAL(&yyval.u.constant); array_init(&yyval.u.constant); zend_do_add_static_array_element(&yyval, NULL, &yyvsp[0]); } break; -case 327: -{ yyval = yyvsp[0]; } + + case 333: + + { yyval = yyvsp[0]; } break; -case 328: -{ yyval = yyvsp[0]; } + + case 334: + + { yyval = yyvsp[0]; } break; -case 329: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); yyval = yyvsp[0]; } + + case 335: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); yyval = yyvsp[0]; } break; -case 330: -{ zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); yyval = yyvsp[0]; } + + case 336: + + { zend_do_end_variable_parse(BP_VAR_W, 0 TSRMLS_CC); yyval = yyvsp[0]; } break; -case 331: -{ zend_check_writable_variable(&yyvsp[-1]); } + + case 337: + + { zend_check_writable_variable(&yyvsp[-1]); } break; -case 332: -{ zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); yyval = yyvsp[0]; } + + case 338: + + { zend_do_end_variable_parse(BP_VAR_RW, 0 TSRMLS_CC); yyval = yyvsp[0]; } break; -case 333: -{ zend_check_writable_variable(&yyvsp[-1]); } + + case 339: + + { zend_check_writable_variable(&yyvsp[-1]); } break; -case 334: -{ zend_do_push_object(&yyvsp[-1] TSRMLS_CC); } + + case 340: + + { zend_do_push_object(&yyvsp[-1] TSRMLS_CC); } break; -case 335: -{ zend_do_push_object(&yyvsp[0] TSRMLS_CC); } + + case 341: + + { zend_do_push_object(&yyvsp[0] TSRMLS_CC); } break; -case 336: -{ zend_do_pop_object(&yyval TSRMLS_CC); yyval.u.EA.type = yyvsp[-6].u.EA.type | (yyvsp[0].u.EA.type ? yyvsp[0].u.EA.type : yyvsp[-1].u.EA.type); } + + case 342: + + { zend_do_pop_object(&yyval TSRMLS_CC); yyval.u.EA.type = yyvsp[-6].u.EA.type | (yyvsp[0].u.EA.type ? yyvsp[0].u.EA.type : yyvsp[-1].u.EA.type); } break; -case 337: -{ yyval = yyvsp[0]; } + + case 343: + + { yyval = yyvsp[0]; } break; -case 338: -{ yyval.u.EA.type = yyvsp[0].u.EA.type; } + + case 344: + + { yyval.u.EA.type = yyvsp[0].u.EA.type; } break; -case 339: -{ yyval.u.EA.type = 0; } + + case 345: + + { yyval.u.EA.type = 0; } break; -case 340: -{ zend_do_push_object(&yyvsp[0] TSRMLS_CC); } + + case 346: + + { zend_do_push_object(&yyvsp[0] TSRMLS_CC); } break; -case 341: -{ yyval.u.EA.type = yyvsp[0].u.EA.type; } + + case 347: + + { yyval.u.EA.type = yyvsp[0].u.EA.type; } break; -case 342: -{ zend_do_pop_object(&yyvsp[0] TSRMLS_CC); zend_do_begin_method_call(&yyvsp[0] TSRMLS_CC); } + + case 348: + + { zend_do_pop_object(&yyvsp[0] TSRMLS_CC); zend_do_begin_method_call(&yyvsp[0] TSRMLS_CC); } break; -case 343: -{ zend_do_end_function_call(&yyvsp[-3], &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); + + case 349: + + { zend_do_end_function_call(&yyvsp[-3], &yyval, &yyvsp[-1], 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_push_object(&yyval TSRMLS_CC); yyval.u.EA.type = ZEND_PARSED_METHOD_CALL; } break; -case 344: -{ zend_do_declare_implicit_property(TSRMLS_C); yyval.u.EA.type = ZEND_PARSED_MEMBER; } + + case 350: + + { zend_do_declare_implicit_property(TSRMLS_C); yyval.u.EA.type = ZEND_PARSED_MEMBER; } break; -case 345: -{ yyval = yyvsp[0]; } + + case 351: + + { yyval = yyvsp[0]; } break; -case 346: -{ zend_do_indirect_references(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 352: + + { zend_do_indirect_references(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 347: -{ yyval = yyvsp[0]; zend_do_fetch_static_member(&yyvsp[-2] TSRMLS_CC); } + + case 353: + + { yyval = yyvsp[0]; zend_do_fetch_static_member(&yyval, &yyvsp[-2] TSRMLS_CC); } break; -case 348: -{ yyval = yyvsp[0]; } + + case 354: + + { yyval = yyvsp[0]; } break; -case 349: -{ zend_do_begin_variable_parse(TSRMLS_C); yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_FUNCTION_CALL; } + + case 355: + + { zend_do_begin_variable_parse(TSRMLS_C); yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_FUNCTION_CALL; } break; -case 350: -{ yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_VARIABLE; } + + case 356: + + { yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_VARIABLE; } break; -case 351: -{ zend_do_indirect_references(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); yyval.u.EA.type = ZEND_PARSED_VARIABLE; } + + case 357: + + { zend_do_indirect_references(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); yyval.u.EA.type = ZEND_PARSED_VARIABLE; } break; -case 352: -{ yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_STATIC_MEMBER; } + + case 358: + + { yyval = yyvsp[0]; yyval.u.EA.type = ZEND_PARSED_STATIC_MEMBER; } break; -case 353: -{ fetch_array_dim(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 359: + + { fetch_array_dim(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 354: -{ fetch_string_offset(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 360: + + { fetch_string_offset(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 355: -{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } + + case 361: + + { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } break; -case 356: -{ yyval = yyvsp[0]; } + + case 362: + + { yyval = yyvsp[0]; } break; -case 357: -{ yyval = yyvsp[-1]; } + + case 363: + + { yyval = yyvsp[-1]; } break; -case 358: -{ yyval.op_type = IS_UNUSED; } + + case 364: + + { yyval.op_type = IS_UNUSED; } break; -case 359: -{ yyval = yyvsp[0]; } + + case 365: + + { yyval = yyvsp[0]; } break; -case 360: -{ yyval = yyvsp[0]; } + + case 366: + + { yyval = yyvsp[0]; } break; -case 361: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); } + + case 367: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); } break; -case 362: -{ znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&yyval, &tmp_znode, &yyvsp[-1] TSRMLS_CC);} + + case 368: + + { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&yyval, &tmp_znode, &yyvsp[-1] TSRMLS_CC);} break; -case 363: -{ fetch_array_dim(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 369: + + { fetch_array_dim(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 364: -{ fetch_string_offset(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } + + case 370: + + { fetch_string_offset(&yyval, &yyvsp[-3], &yyvsp[-1] TSRMLS_CC); } break; -case 365: -{ znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&yyval, &tmp_znode, &yyvsp[0] TSRMLS_CC);} + + case 371: + + { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&yyval, &tmp_znode, &yyvsp[0] TSRMLS_CC);} break; -case 366: -{ yyval = yyvsp[0]; } + + case 372: + + { yyval = yyvsp[0]; } break; -case 367: -{ yyval = yyvsp[-1]; } + + case 373: + + { yyval = yyvsp[-1]; } break; -case 368: -{ yyval.u.constant.value.lval = 1; } + + case 374: + + { yyval.u.constant.value.lval = 1; } break; -case 369: -{ yyval.u.constant.value.lval++; } + + case 375: + + { yyval.u.constant.value.lval++; } break; -case 372: -{ zend_do_add_list_element(&yyvsp[0] TSRMLS_CC); } + + case 378: + + { zend_do_add_list_element(&yyvsp[0] TSRMLS_CC); } break; -case 373: -{ zend_do_new_list_begin(TSRMLS_C); } + + case 379: + + { zend_do_new_list_begin(TSRMLS_C); } break; -case 374: -{ zend_do_new_list_end(TSRMLS_C); } + + case 380: + + { zend_do_new_list_end(TSRMLS_C); } break; -case 375: -{ zend_do_add_list_element(NULL TSRMLS_CC); } + + case 381: + + { zend_do_add_list_element(NULL TSRMLS_CC); } break; -case 376: -{ zend_do_init_array(&yyval, NULL, NULL, 0 TSRMLS_CC); } + + case 382: + + { zend_do_init_array(&yyval, NULL, NULL, 0 TSRMLS_CC); } break; -case 377: -{ yyval = yyvsp[-1]; } + + case 383: + + { yyval = yyvsp[-1]; } break; -case 378: -{ zend_do_add_array_element(&yyval, &yyvsp[0], &yyvsp[-2], 0 TSRMLS_CC); } + + case 384: + + { zend_do_add_array_element(&yyval, &yyvsp[0], &yyvsp[-2], 0 TSRMLS_CC); } break; -case 379: -{ zend_do_add_array_element(&yyval, &yyvsp[0], NULL, 0 TSRMLS_CC); } + + case 385: + + { zend_do_add_array_element(&yyval, &yyvsp[0], NULL, 0 TSRMLS_CC); } break; -case 380: -{ zend_do_init_array(&yyval, &yyvsp[0], &yyvsp[-2], 0 TSRMLS_CC); } + + case 386: + + { zend_do_init_array(&yyval, &yyvsp[0], &yyvsp[-2], 0 TSRMLS_CC); } break; -case 381: -{ zend_do_init_array(&yyval, &yyvsp[0], NULL, 0 TSRMLS_CC); } + + case 387: + + { zend_do_init_array(&yyval, &yyvsp[0], NULL, 0 TSRMLS_CC); } break; -case 382: -{ zend_do_add_array_element(&yyval, &yyvsp[0], &yyvsp[-3], 1 TSRMLS_CC); } + + case 388: + + { zend_do_add_array_element(&yyval, &yyvsp[0], &yyvsp[-3], 1 TSRMLS_CC); } break; -case 383: -{ zend_do_add_array_element(&yyval, &yyvsp[0], NULL, 1 TSRMLS_CC); } + + case 389: + + { zend_do_add_array_element(&yyval, &yyvsp[0], NULL, 1 TSRMLS_CC); } break; -case 384: -{ zend_do_init_array(&yyval, &yyvsp[0], &yyvsp[-3], 1 TSRMLS_CC); } + + case 390: + + { zend_do_init_array(&yyval, &yyvsp[0], &yyvsp[-3], 1 TSRMLS_CC); } break; -case 385: -{ zend_do_init_array(&yyval, &yyvsp[0], NULL, 1 TSRMLS_CC); } + + case 391: + + { zend_do_init_array(&yyval, &yyvsp[0], NULL, 1 TSRMLS_CC); } break; -case 386: -{ zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 392: + + { zend_do_end_variable_parse(BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 387: -{ zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 393: + + { zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 388: -{ zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 394: + + { zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 389: -{ zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 395: + + { zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 390: -{ zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 396: + + { zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 391: -{ zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 397: + + { zend_do_add_string(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 392: -{ yyvsp[0].u.constant.value.lval = (long) '['; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 398: + + { yyvsp[0].u.constant.value.lval = (long) '['; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 393: -{ yyvsp[0].u.constant.value.lval = (long) ']'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 399: + + { yyvsp[0].u.constant.value.lval = (long) ']'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 394: -{ yyvsp[0].u.constant.value.lval = (long) '{'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 400: + + { yyvsp[0].u.constant.value.lval = (long) '{'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 395: -{ yyvsp[0].u.constant.value.lval = (long) '}'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 401: + + { yyvsp[0].u.constant.value.lval = (long) '}'; zend_do_add_char(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 396: -{ znode tmp; yyvsp[0].u.constant.value.lval = (long) '-'; zend_do_add_char(&tmp, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); yyvsp[0].u.constant.value.lval = (long) '>'; zend_do_add_char(&yyval, &tmp, &yyvsp[0] TSRMLS_CC); } + + case 402: + + { znode tmp; yyvsp[0].u.constant.value.lval = (long) '-'; zend_do_add_char(&tmp, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); yyvsp[0].u.constant.value.lval = (long) '>'; zend_do_add_char(&yyval, &tmp, &yyvsp[0] TSRMLS_CC); } break; -case 397: -{ zend_do_init_string(&yyval TSRMLS_CC); } + + case 403: + + { zend_do_init_string(&yyval TSRMLS_CC); } break; -case 398: -{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } + + case 404: + + { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } break; -case 399: -{ zend_do_begin_variable_parse(TSRMLS_C); } + + case 405: + + { zend_do_begin_variable_parse(TSRMLS_C); } break; -case 400: -{ fetch_array_begin(&yyval, &yyvsp[-4], &yyvsp[-1] TSRMLS_CC); } + + case 406: + + { fetch_array_begin(&yyval, &yyvsp[-4], &yyvsp[-1] TSRMLS_CC); } break; -case 401: -{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyvsp[-1], &yyvsp[-2], 1 TSRMLS_CC); zend_do_fetch_property(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 407: + + { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyvsp[-1], &yyvsp[-2], 1 TSRMLS_CC); zend_do_fetch_property(&yyval, &yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 402: -{ zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[-1], 1 TSRMLS_CC); } + + case 408: + + { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&yyval, &yyvsp[-1], 1 TSRMLS_CC); } break; -case 403: -{ zend_do_begin_variable_parse(TSRMLS_C); fetch_array_begin(&yyval, &yyvsp[-4], &yyvsp[-2] TSRMLS_CC); } + + case 409: + + { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_begin(&yyval, &yyvsp[-4], &yyvsp[-2] TSRMLS_CC); } break; -case 404: -{ yyval = yyvsp[-1]; } + + case 410: + + { yyval = yyvsp[-1]; } break; -case 405: -{ yyval = yyvsp[0]; } + + case 411: + + { yyval = yyvsp[0]; } break; -case 406: -{ yyval = yyvsp[0]; } + + case 412: + + { yyval = yyvsp[0]; } break; -case 407: -{ fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } + + case 413: + + { fetch_simple_variable(&yyval, &yyvsp[0], 1 TSRMLS_CC); } break; -case 408: -{ yyval = yyvsp[-1]; } + + case 414: + + { yyval = yyvsp[-1]; } break; -case 409: -{ zend_do_isset_or_isempty(ZEND_ISEMPTY, &yyval, &yyvsp[-1] TSRMLS_CC); } + + case 415: + + { zend_do_isset_or_isempty(ZEND_ISEMPTY, &yyval, &yyvsp[-1] TSRMLS_CC); } break; -case 410: -{ zend_do_include_or_eval(ZEND_INCLUDE, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 416: + + { zend_do_include_or_eval(ZEND_INCLUDE, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 411: -{ zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 417: + + { zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 412: -{ zend_do_include_or_eval(ZEND_EVAL, &yyval, &yyvsp[-1] TSRMLS_CC); } + + case 418: + + { zend_do_include_or_eval(ZEND_EVAL, &yyval, &yyvsp[-1] TSRMLS_CC); } break; -case 413: -{ zend_do_include_or_eval(ZEND_REQUIRE, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 419: + + { zend_do_include_or_eval(ZEND_REQUIRE, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 414: -{ zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 420: + + { zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 415: -{ zend_do_isset_or_isempty(ZEND_ISSET, &yyval, &yyvsp[0] TSRMLS_CC); } + + case 421: + + { zend_do_isset_or_isempty(ZEND_ISSET, &yyval, &yyvsp[0] TSRMLS_CC); } break; -case 416: -{ zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } + + case 422: + + { zend_do_boolean_and_begin(&yyvsp[-1], &yyvsp[0] TSRMLS_CC); } break; -case 417: -{ znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &yyvsp[0] TSRMLS_CC); zend_do_boolean_and_end(&yyval, &yyvsp[-3], &tmp, &yyvsp[-2] TSRMLS_CC); } + + case 423: + + { znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &yyvsp[0] TSRMLS_CC); zend_do_boolean_and_end(&yyval, &yyvsp[-3], &tmp, &yyvsp[-2] TSRMLS_CC); } break; -case 418: -{ zend_do_fetch_constant(&yyval, &yyvsp[-2], &yyvsp[0], ZEND_RT TSRMLS_CC); } + + case 424: + + { zend_do_fetch_constant(&yyval, &yyvsp[-2], &yyvsp[0], ZEND_RT TSRMLS_CC); } break; -} + } + +/* Line 1010 of yacc.c. */ + yyvsp -= yylen; yyssp -= yylen; -#if YYLSP_NEEDED - yylsp -= yylen; -#endif -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif + + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; -#if YYLSP_NEEDED - *++yylsp = yyloc; -#endif + /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule @@ -3498,11 +4624,11 @@ case 418: yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTBASE]; + yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; @@ -3515,145 +4641,151 @@ yyerrlab: if (!yyerrstatus) { ++yynerrs; - -#ifdef YYERROR_VERBOSE +#if YYERROR_VERBOSE yyn = yypact[yystate]; - if (yyn > YYFLAG && yyn < YYLAST) + if (YYPACT_NINF < yyn && yyn < YYLAST) { YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + const char* yyprefix; char *yymsg; - int yyx, yycount; + int yyx; - yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx) - yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("parse error, unexpected ") + 1; - yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); + 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, "parse error, unexpected "); - yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); if (yycount < 5) { - yycount = 0; - for (yyx = yyn < 0 ? -yyn : 0; - yyx < (int) (sizeof (yytname) / sizeof (char *)); - yyx++) - if (yycheck[yyx + yyn] == yyx) + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { - const char *yyq = ! yycount ? ", expecting " : " or "; - yyp = yystpcpy (yyp, yyq); + yyp = yystpcpy (yyp, yyprefix); yyp = yystpcpy (yyp, yytname[yyx]); - yycount++; + yyprefix = " or "; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exhausted"); + yyerror ("syntax error; also virtual memory exhausted"); } else -#endif /* defined (YYERROR_VERBOSE) */ - yyerror ("parse error"); +#endif /* YYERROR_VERBOSE */ + yyerror ("syntax error"); } - goto yyerrlab1; -/*--------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action | -`--------------------------------------------------*/ -yyerrlab1: + 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) - YYABORT; - YYDPRINTF ((stderr, "Discarding token %d (%s).\n", - yychar, yytname[yychar1])); - yychar = YYEMPTY; + if (yychar <= YYEOF) + { + /* If at end of input, pop the error token, + then the rest of the stack, then return failure. */ + if (yychar == YYEOF) + for (;;) + { + YYPOPSTACK; + if (yyssp == yyss) + YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + } + } + else + { + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); + yychar = YYEMPTY; + + } } /* Else will try to reuse lookahead token after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; + goto yyerrlab1; -/*-------------------------------------------------------------------. -| yyerrdefault -- current state does not do anything special for the | -| error token. | -`-------------------------------------------------------------------*/ -yyerrdefault: -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: - /* If its default is to accept any token, ok. Otherwise pop it. */ - yyn = yydefact[yystate]; - if (yyn) - goto yydefault; +#ifdef __GNUC__ + /* Pacify GCC when the user code never invokes YYERROR and the label + yyerrorlab therefore never appears in user code. */ + if (0) + goto yyerrorlab; #endif + yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; -/*---------------------------------------------------------------. -| yyerrpop -- pop the current state because it cannot handle the | -| error token | -`---------------------------------------------------------------*/ -yyerrpop: - if (yyssp == yyss) - YYABORT; - yyvsp--; - yystate = *--yyssp; -#if YYLSP_NEEDED - yylsp--; -#endif -#if YYDEBUG - if (yydebug) - { - short *yyssp1 = yyss - 1; - YYFPRINTF (stderr, "Error: state stack now"); - while (yyssp1 != yyssp) - YYFPRINTF (stderr, " %d", *++yyssp1); - YYFPRINTF (stderr, "\n"); - } -#endif +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ -/*--------------. -| yyerrhandle. | -`--------------*/ -yyerrhandle: - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; + for (;;) + { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + YYPOPSTACK; + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; @@ -3661,9 +4793,7 @@ yyerrhandle: YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; -#if YYLSP_NEEDED - *++yylsp = yylloc; -#endif + yystate = yyn; goto yynewstate; @@ -3683,13 +4813,15 @@ yyabortlab: yyresult = 1; goto yyreturn; -/*---------------------------------------------. -| yyoverflowab -- parser overflow comes here. | -`---------------------------------------------*/ +#ifndef yyoverflow +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ +#endif yyreturn: #ifndef yyoverflow @@ -3700,6 +4832,9 @@ yyreturn: } + + + /* * Local variables: * tab-width: 4 @@ -3707,3 +4842,4 @@ yyreturn: * indent-tabs-mode: t * End: */ + |