diff --git a/Wrapping/Tools/lex.yy.c b/Wrapping/Tools/lex.yy.c index 5ce0f0d6becc0dbe2318f2b09aacea0d2150bc0c..a4a8120b201bf950d2fb135b2cf4c3004f6fd858 100644 --- a/Wrapping/Tools/lex.yy.c +++ b/Wrapping/Tools/lex.yy.c @@ -97,15 +97,15 @@ typedef unsigned int flex_uint32_t; /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST -#else /* ! __cplusplus */ +#else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const @@ -209,7 +209,7 @@ struct yy_buffer_state FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ + char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. @@ -289,12 +289,12 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; -static int yy_init = 0; /* whether we need to initialize */ +static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches @@ -1865,8 +1865,11 @@ Modify lex.yy.c: - convert tabs to spaces (8 spaces per tab) - remove extra space from end of lines - remove blank lines from end of file - - replace "int yyl" with "yy_size_t yyl" + - replace "int yyl;" with "yy_size_t yyl;" - compile with gcc and "-Wsign-compare", there should be no warnings + - replace "#line" lines with blank lines + - remove usage of the "register" keyword + - add a prototype for isatty */ @@ -2121,7 +2124,7 @@ YY_DECL #endif if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ + (yy_start) = 1; /* first start state */ if ( ! yyin ) yyin = stdin; @@ -2138,7 +2141,7 @@ YY_DECL yy_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); @@ -2193,7 +2196,7 @@ yy_find_action: ; } -do_action: /* This label is used only to access EOF actions. */ +do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ @@ -3615,13 +3618,13 @@ YY_FATAL_ERROR( "flex scanner jammed" ); /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer (void) { - char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; char *source = (yytext_ptr); int number_to_move, i; int ret_val; @@ -3784,12 +3787,12 @@ static int yy_get_next_buffer (void) /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis - * next_state = yy_try_NUL_trans( current_state ); + * next_state = yy_try_NUL_trans( current_state ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { int yy_is_jam; - char *yy_cp = (yy_c_buf_p); + char *yy_cp = (yy_c_buf_p); YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) @@ -3916,8 +3919,8 @@ static int yy_get_next_buffer (void) } } - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); @@ -3928,7 +3931,7 @@ static int yy_get_next_buffer (void) return c; } -#endif /* ifndef YY_NO_INPUT */ +#endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. @@ -3957,8 +3960,8 @@ static int yy_get_next_buffer (void) /* TODO. We should be able to replace this entire function body * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); */ yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) @@ -3985,7 +3988,7 @@ static int yy_get_next_buffer (void) static void yy_load_buffer_state (void) { - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); @@ -4074,7 +4077,7 @@ static void yy_load_buffer_state (void) */ void yy_flush_buffer (YY_BUFFER_STATE b ) { - if ( ! b ) + if ( ! b ) return; b->yy_n_chars = 0; @@ -4103,7 +4106,7 @@ static void yy_load_buffer_state (void) */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { - if (new_buffer == NULL) + if (new_buffer == NULL) return; yyensure_buffer_stack(); @@ -4133,7 +4136,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) */ void yypop_buffer_state (void) { - if (!YY_CURRENT_BUFFER) + if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); @@ -4213,7 +4216,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; @@ -4285,7 +4288,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len static void yy_fatal_error (yyconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -4482,7 +4485,7 @@ void *yyrealloc (void * ptr, yy_size_t size ) void yyfree (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" diff --git a/Wrapping/Tools/vtkParse.l b/Wrapping/Tools/vtkParse.l index 7ab58b348b5ec6d8301d4a1da61bbdfb0f38a829..8a882cf02d6753bc89b530a82b84618707c3a86a 100644 --- a/Wrapping/Tools/vtkParse.l +++ b/Wrapping/Tools/vtkParse.l @@ -13,8 +13,11 @@ Modify lex.yy.c: - convert tabs to spaces (8 spaces per tab) - remove extra space from end of lines - remove blank lines from end of file - - replace "int yyl" with "yy_size_t yyl" + - replace "int yyl;" with "yy_size_t yyl;" - compile with gcc and "-Wsign-compare", there should be no warnings + - replace "#line" lines with blank lines + - remove usage of the "register" keyword + - add a prototype for isatty */ diff --git a/Wrapping/Tools/vtkParse.tab.c b/Wrapping/Tools/vtkParse.tab.c index 9824d05401b3e717d7741aca2970991770bf853b..e4ed8274868e6475d0616d48ace4e8409fea5593 100644 --- a/Wrapping/Tools/vtkParse.tab.c +++ b/Wrapping/Tools/vtkParse.tab.c @@ -1,8 +1,8 @@ -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* A Bison parser, made by GNU Bison 3.0.2. */ /* Skeleton implementation for Bison GLR parsers in C - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2002-2013 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 @@ -36,7 +36,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "glr.c" @@ -44,15 +44,12 @@ /* Pure parsers. */ #define YYPURE 0 -/* Using locations. */ -#define YYLSP_NEEDED 0 -/* Copy the first part of user declarations. */ -/* Line 172 of glr.c */ +/* First part of user declarations. */ @@ -60,14 +57,15 @@ This file must be translated to C and modified to build everywhere. -Run yacc like this: +Run bison like this: - yacc -b vtkParse vtkParse.y + bison -b vtkParse vtkParse.y Modify vtkParse.tab.c: - convert TABs to spaces (eight per tab) - remove spaces from ends of lines, s/ *$//g - replace all instances of "static inline" with "static". + - replace "#line" lines with blank lines */ /* @@ -146,7 +144,7 @@ to the more usual form y x; without parentheses. /* Borland and MSVC do not define __STDC__ properly. */ #if !defined(__STDC__) -# if defined(_MSC_VER) || defined(__BORLANDC__) +# if (defined(_MSC_VER) && _MSC_VER >= 1200) || defined(__BORLANDC__) # define __STDC__ 1 # endif #endif @@ -1316,188 +1314,183 @@ unsigned int add_indirection_to_array(unsigned int type) -/* Line 172 of glr.c */ - - +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - ID = 258, - VTK_ID = 259, - QT_ID = 260, - StdString = 261, - UnicodeString = 262, - OSTREAM = 263, - ISTREAM = 264, - LP = 265, - LA = 266, - STRING_LITERAL = 267, - INT_LITERAL = 268, - HEX_LITERAL = 269, - OCT_LITERAL = 270, - FLOAT_LITERAL = 271, - CHAR_LITERAL = 272, - ZERO = 273, - NULLPTR = 274, - SSIZE_T = 275, - SIZE_T = 276, - NULLPTR_T = 277, - BEGIN_ATTRIB = 278, - STRUCT = 279, - CLASS = 280, - UNION = 281, - ENUM = 282, - PUBLIC = 283, - PRIVATE = 284, - PROTECTED = 285, - CONST = 286, - VOLATILE = 287, - MUTABLE = 288, - STATIC = 289, - THREAD_LOCAL = 290, - VIRTUAL = 291, - EXPLICIT = 292, - INLINE = 293, - CONSTEXPR = 294, - FRIEND = 295, - EXTERN = 296, - OPERATOR = 297, - TEMPLATE = 298, - THROW = 299, - TRY = 300, - CATCH = 301, - NOEXCEPT = 302, - DECLTYPE = 303, - TYPENAME = 304, - TYPEDEF = 305, - NAMESPACE = 306, - USING = 307, - NEW = 308, - DELETE = 309, - DEFAULT = 310, - STATIC_CAST = 311, - DYNAMIC_CAST = 312, - CONST_CAST = 313, - REINTERPRET_CAST = 314, - OP_LSHIFT_EQ = 315, - OP_RSHIFT_EQ = 316, - OP_LSHIFT = 317, - OP_RSHIFT_A = 318, - OP_DOT_POINTER = 319, - OP_ARROW_POINTER = 320, - OP_ARROW = 321, - OP_INCR = 322, - OP_DECR = 323, - OP_PLUS_EQ = 324, - OP_MINUS_EQ = 325, - OP_TIMES_EQ = 326, - OP_DIVIDE_EQ = 327, - OP_REMAINDER_EQ = 328, - OP_AND_EQ = 329, - OP_OR_EQ = 330, - OP_XOR_EQ = 331, - OP_LOGIC_AND = 332, - OP_LOGIC_OR = 333, - OP_LOGIC_EQ = 334, - OP_LOGIC_NEQ = 335, - OP_LOGIC_LEQ = 336, - OP_LOGIC_GEQ = 337, - ELLIPSIS = 338, - DOUBLE_COLON = 339, - OTHER = 340, - AUTO = 341, - VOID = 342, - BOOL = 343, - FLOAT = 344, - DOUBLE = 345, - INT = 346, - SHORT = 347, - LONG = 348, - INT64__ = 349, - CHAR = 350, - CHAR16_T = 351, - CHAR32_T = 352, - WCHAR_T = 353, - SIGNED = 354, - UNSIGNED = 355, - IdType = 356, - TypeInt8 = 357, - TypeUInt8 = 358, - TypeInt16 = 359, - TypeUInt16 = 360, - TypeInt32 = 361, - TypeUInt32 = 362, - TypeInt64 = 363, - TypeUInt64 = 364, - TypeFloat32 = 365, - TypeFloat64 = 366, - SetMacro = 367, - GetMacro = 368, - SetStringMacro = 369, - GetStringMacro = 370, - SetClampMacro = 371, - SetObjectMacro = 372, - GetObjectMacro = 373, - BooleanMacro = 374, - SetVector2Macro = 375, - SetVector3Macro = 376, - SetVector4Macro = 377, - SetVector6Macro = 378, - GetVector2Macro = 379, - GetVector3Macro = 380, - GetVector4Macro = 381, - GetVector6Macro = 382, - SetVectorMacro = 383, - GetVectorMacro = 384, - ViewportCoordinateMacro = 385, - WorldCoordinateMacro = 386, - TypeMacro = 387, - VTK_BYTE_SWAP_DECL = 388 - }; + enum yytokentype + { + ID = 258, + VTK_ID = 259, + QT_ID = 260, + StdString = 261, + UnicodeString = 262, + OSTREAM = 263, + ISTREAM = 264, + LP = 265, + LA = 266, + STRING_LITERAL = 267, + INT_LITERAL = 268, + HEX_LITERAL = 269, + OCT_LITERAL = 270, + FLOAT_LITERAL = 271, + CHAR_LITERAL = 272, + ZERO = 273, + NULLPTR = 274, + SSIZE_T = 275, + SIZE_T = 276, + NULLPTR_T = 277, + BEGIN_ATTRIB = 278, + STRUCT = 279, + CLASS = 280, + UNION = 281, + ENUM = 282, + PUBLIC = 283, + PRIVATE = 284, + PROTECTED = 285, + CONST = 286, + VOLATILE = 287, + MUTABLE = 288, + STATIC = 289, + THREAD_LOCAL = 290, + VIRTUAL = 291, + EXPLICIT = 292, + INLINE = 293, + CONSTEXPR = 294, + FRIEND = 295, + EXTERN = 296, + OPERATOR = 297, + TEMPLATE = 298, + THROW = 299, + TRY = 300, + CATCH = 301, + NOEXCEPT = 302, + DECLTYPE = 303, + TYPENAME = 304, + TYPEDEF = 305, + NAMESPACE = 306, + USING = 307, + NEW = 308, + DELETE = 309, + DEFAULT = 310, + STATIC_CAST = 311, + DYNAMIC_CAST = 312, + CONST_CAST = 313, + REINTERPRET_CAST = 314, + OP_LSHIFT_EQ = 315, + OP_RSHIFT_EQ = 316, + OP_LSHIFT = 317, + OP_RSHIFT_A = 318, + OP_DOT_POINTER = 319, + OP_ARROW_POINTER = 320, + OP_ARROW = 321, + OP_INCR = 322, + OP_DECR = 323, + OP_PLUS_EQ = 324, + OP_MINUS_EQ = 325, + OP_TIMES_EQ = 326, + OP_DIVIDE_EQ = 327, + OP_REMAINDER_EQ = 328, + OP_AND_EQ = 329, + OP_OR_EQ = 330, + OP_XOR_EQ = 331, + OP_LOGIC_AND = 332, + OP_LOGIC_OR = 333, + OP_LOGIC_EQ = 334, + OP_LOGIC_NEQ = 335, + OP_LOGIC_LEQ = 336, + OP_LOGIC_GEQ = 337, + ELLIPSIS = 338, + DOUBLE_COLON = 339, + OTHER = 340, + AUTO = 341, + VOID = 342, + BOOL = 343, + FLOAT = 344, + DOUBLE = 345, + INT = 346, + SHORT = 347, + LONG = 348, + INT64__ = 349, + CHAR = 350, + CHAR16_T = 351, + CHAR32_T = 352, + WCHAR_T = 353, + SIGNED = 354, + UNSIGNED = 355, + IdType = 356, + TypeInt8 = 357, + TypeUInt8 = 358, + TypeInt16 = 359, + TypeUInt16 = 360, + TypeInt32 = 361, + TypeUInt32 = 362, + TypeInt64 = 363, + TypeUInt64 = 364, + TypeFloat32 = 365, + TypeFloat64 = 366, + SetMacro = 367, + GetMacro = 368, + SetStringMacro = 369, + GetStringMacro = 370, + SetClampMacro = 371, + SetObjectMacro = 372, + GetObjectMacro = 373, + BooleanMacro = 374, + SetVector2Macro = 375, + SetVector3Macro = 376, + SetVector4Macro = 377, + SetVector6Macro = 378, + GetVector2Macro = 379, + GetVector3Macro = 380, + GetVector4Macro = 381, + GetVector6Macro = 382, + SetVectorMacro = 383, + GetVectorMacro = 384, + ViewportCoordinateMacro = 385, + WorldCoordinateMacro = 386, + TypeMacro = 387, + VTK_BYTE_SWAP_DECL = 388 + }; #endif - -#ifndef YYSTYPE -typedef union YYSTYPE +/* Value type. */ +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE YYSTYPE; +union YYSTYPE { -/* Line 215 of glr.c */ - const char *str; unsigned int integer; - -/* Line 215 of glr.c */ - -} YYSTYPE; +}; # define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 #endif -#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE -{ - - char yydummy; - -} YYLTYPE; -# define YYLTYPE_IS_DECLARED 1 -# define YYLTYPE_IS_TRIVIAL 1 -#endif +extern YYSTYPE yylval; +int yyparse (void); -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -1507,61 +1500,32 @@ typedef struct YYLTYPE # define YYERROR_VERBOSE 0 #endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - /* Default (constant) value used for initialization for null - right-hand sides. Unlike the standard yacc.c template, - here we set the default value of $$ to a zeroed-out value. - Since the default value is undefined, this behavior is - technically correct. */ + right-hand sides. Unlike the standard yacc.c template, here we set + the default value of $$ to a zeroed-out value. Since the default + value is undefined, this behavior is technically correct. */ static YYSTYPE yyval_default; /* Copy the second part of user declarations. */ -/* Line 243 of glr.c */ - #include #include #include #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ -# define YY_(msgid) msgid +# define YY_(Msgid) Msgid # endif #endif -/* Suppress unused-variable warnings by "using" E. */ -#define YYUSE(e) ((void) (e)) - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int i) -#else -static int -YYID (i) - int i; -#endif -{ - return i; -} -#endif - #ifndef YYFREE # define YYFREE free #endif @@ -1585,31 +1549,67 @@ YYID (i) #ifndef YYSETJMP # include # define YYJMP_BUF jmp_buf -# define YYSETJMP(env) setjmp (env) -# define YYLONGJMP(env, val) longjmp (env, val) +# define YYSETJMP(Env) setjmp (Env) +/* Pacify clang. */ +# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0)) #endif -/*-----------------. -| GCC extensions. | -`-----------------*/ +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if (! defined __GNUC__ || __GNUC__ < 2 \ - || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__) -# define __attribute__(Spec) /* empty */ +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(E) ((void) (E)) +#else +# define YYUSE(E) /* empty */ +#endif -#ifdef __cplusplus -# define YYOPTIONAL_LOC(Name) /* empty */ +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -# define YYOPTIONAL_LOC(Name) Name __attribute__ ((__unused__)) +# define YY_INITIAL_VALUE(Value) Value +#endif +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END +#endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif + #ifndef YYASSERT -# define YYASSERT(condition) ((void) ((condition) || (abort (), 0))) +# define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0))) #endif /* YYFINAL -- State number of the termination state. */ @@ -1683,359 +1683,84 @@ static const unsigned char yytranslate[] = }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const unsigned short int yyprhs[] = -{ - 0, 0, 3, 5, 6, 7, 12, 14, 16, 18, - 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, - 40, 42, 44, 47, 49, 52, 55, 58, 61, 64, - 70, 75, 81, 86, 87, 94, 100, 102, 105, 110, - 114, 120, 125, 131, 132, 138, 139, 147, 152, 153, - 159, 162, 164, 166, 168, 172, 177, 180, 182, 184, - 185, 187, 188, 189, 194, 198, 200, 202, 204, 206, - 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, - 228, 230, 233, 236, 238, 241, 244, 247, 250, 253, - 257, 260, 264, 266, 271, 274, 279, 284, 285, 287, - 288, 290, 292, 294, 296, 302, 306, 313, 318, 324, - 325, 331, 336, 340, 342, 345, 348, 349, 350, 354, - 356, 360, 361, 363, 364, 369, 376, 379, 381, 387, - 394, 398, 403, 409, 413, 415, 418, 424, 430, 437, - 443, 450, 453, 454, 458, 461, 463, 465, 466, 467, - 476, 478, 482, 484, 487, 490, 493, 497, 501, 506, - 507, 516, 520, 521, 527, 529, 530, 535, 536, 537, - 543, 544, 545, 551, 552, 553, 554, 562, 563, 565, - 567, 569, 570, 572, 573, 577, 579, 582, 585, 588, - 591, 594, 598, 603, 606, 610, 613, 617, 622, 625, - 630, 636, 640, 642, 644, 647, 649, 652, 656, 657, - 658, 668, 671, 672, 677, 678, 686, 689, 691, 695, - 696, 699, 700, 704, 706, 709, 711, 714, 716, 718, - 720, 723, 726, 727, 729, 730, 734, 738, 740, 742, - 749, 750, 757, 758, 766, 767, 768, 775, 776, 783, - 784, 787, 789, 793, 797, 798, 799, 802, 804, 805, - 810, 814, 816, 817, 818, 824, 825, 827, 828, 832, - 833, 836, 841, 844, 845, 848, 849, 850, 855, 858, - 859, 861, 865, 866, 873, 877, 878, 884, 885, 889, - 891, 892, 893, 894, 902, 904, 905, 908, 911, 915, - 919, 922, 924, 927, 929, 932, 933, 935, 938, 943, - 945, 947, 949, 950, 952, 953, 956, 958, 961, 962, - 968, 969, 970, 973, 975, 977, 979, 981, 983, 986, - 989, 992, 995, 998, 1001, 1004, 1007, 1011, 1015, 1019, - 1020, 1026, 1028, 1030, 1032, 1033, 1039, 1040, 1044, 1046, - 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, - 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, - 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1101, 1105, 1107, - 1109, 1111, 1113, 1116, 1120, 1122, 1124, 1126, 1128, 1130, - 1132, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, - 1154, 1157, 1158, 1162, 1163, 1168, 1170, 1174, 1179, 1181, - 1183, 1184, 1189, 1192, 1195, 1198, 1199, 1203, 1204, 1209, - 1212, 1213, 1217, 1218, 1223, 1225, 1227, 1229, 1231, 1234, - 1237, 1240, 1243, 1246, 1248, 1250, 1252, 1254, 1256, 1258, - 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278, - 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 1296, 1298, - 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 1316, 1318, - 1320, 1322, 1324, 1327, 1330, 1333, 1334, 1339, 1340, 1342, - 1344, 1347, 1348, 1351, 1352, 1353, 1360, 1361, 1369, 1370, - 1371, 1372, 1382, 1383, 1389, 1390, 1396, 1397, 1398, 1409, - 1410, 1418, 1419, 1420, 1421, 1431, 1438, 1439, 1447, 1448, - 1456, 1457, 1465, 1466, 1474, 1475, 1483, 1484, 1492, 1493, - 1501, 1502, 1510, 1511, 1521, 1522, 1532, 1537, 1542, 1550, - 1551, 1553, 1556, 1559, 1563, 1567, 1569, 1571, 1573, 1575, - 1578, 1581, 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, - 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, - 1620, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, - 1640, 1642, 1644, 1646, 1648, 1650, 1652, 1654, 1656, 1658, - 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, 1678, - 1680, 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, 1698, - 1700, 1702, 1704, 1706, 1708, 1710, 1712, 1714, 1716, 1718, - 1720, 1722, 1724, 1726, 1728, 1730, 1733, 1735, 1737, 1739, - 1740, 1744, 1746, 1748, 1750, 1752, 1754, 1756, 1758, 1760, - 1762, 1764, 1766, 1768, 1770, 1771, 1774, 1776, 1778, 1780, - 1782, 1784, 1786, 1788, 1790, 1792, 1793, 1796, 1797, 1800, - 1802, 1804, 1806, 1808, 1810, 1811, 1816, 1818, 1820, 1821, - 1826, 1827, 1833, 1834, 1839, 1840, 1845, 1846, 1851, 1852, - 1857, 1858, 1861, 1862, 1865, 1867, 1869, 1871, 1873, 1875, - 1877, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895, - 1897, 1899, 1901, 1903, 1905, 1907, 1911, 1915, 1920, 1924, - 1926, 1928 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short int yyrhs[] = -{ - 158, 0, -1, 159, -1, -1, -1, 159, 160, 367, - 161, -1, 218, -1, 216, -1, 219, -1, 168, -1, - 191, -1, 165, -1, 167, -1, 164, -1, 206, -1, - 289, -1, 192, -1, 170, -1, 239, -1, 162, -1, - 163, -1, 371, -1, 319, 134, -1, 134, -1, 221, - 170, -1, 221, 239, -1, 221, 202, -1, 221, 162, - -1, 221, 219, -1, 41, 43, 428, 425, 134, -1, - 43, 428, 425, 134, -1, 41, 12, 135, 159, 136, - -1, 51, 135, 424, 136, -1, -1, 51, 332, 166, - 135, 159, 136, -1, 51, 332, 137, 321, 134, -1, - 169, -1, 221, 169, -1, 176, 367, 177, 134, -1, - 176, 367, 134, -1, 335, 176, 367, 177, 134, -1, - 171, 333, 291, 134, -1, 335, 171, 333, 291, 134, - -1, -1, 173, 172, 135, 180, 136, -1, -1, 176, - 367, 177, 179, 138, 174, 186, -1, 176, 367, 177, - 179, -1, -1, 176, 367, 138, 175, 186, -1, 176, - 367, -1, 25, -1, 24, -1, 26, -1, 322, 178, - 367, -1, 326, 322, 178, 367, -1, 178, 367, -1, - 331, -1, 327, -1, -1, 3, -1, -1, -1, 180, - 181, 367, 183, -1, 180, 182, 138, -1, 28, -1, - 29, -1, 30, -1, 216, -1, 219, -1, 168, -1, - 191, -1, 185, -1, 206, -1, 289, -1, 192, -1, - 170, -1, 243, -1, 184, -1, 163, -1, 371, -1, - 133, 431, -1, 319, 134, -1, 134, -1, 221, 170, - -1, 221, 243, -1, 221, 184, -1, 221, 219, -1, - 40, 204, -1, 40, 221, 204, -1, 40, 168, -1, - 40, 244, 265, -1, 187, -1, 186, 139, 367, 187, - -1, 319, 233, -1, 36, 189, 319, 233, -1, 190, - 188, 319, 233, -1, -1, 36, -1, -1, 190, -1, - 28, -1, 29, -1, 30, -1, 196, 367, 319, 197, - 134, -1, 196, 367, 134, -1, 335, 196, 367, 319, - 197, 134, -1, 193, 333, 291, 134, -1, 335, 193, - 333, 291, 134, -1, -1, 195, 135, 194, 199, 136, - -1, 196, 367, 319, 197, -1, 196, 367, 197, -1, - 27, -1, 27, 25, -1, 27, 24, -1, -1, -1, - 138, 198, 342, -1, 200, -1, 199, 139, 200, -1, - -1, 331, -1, -1, 331, 137, 201, 399, -1, 341, - 233, 322, 331, 203, 134, -1, 137, 425, -1, 429, - -1, 176, 367, 177, 179, 205, -1, 335, 176, 367, - 177, 179, 205, -1, 176, 367, 205, -1, 335, 176, - 367, 205, -1, 135, 424, 136, 425, 134, -1, 138, - 425, 134, -1, 207, -1, 335, 207, -1, 50, 341, - 215, 209, 134, -1, 50, 171, 333, 208, 134, -1, - 50, 335, 171, 333, 208, 134, -1, 50, 193, 333, - 208, 134, -1, 50, 335, 193, 333, 208, 134, -1, - 210, 209, -1, -1, 209, 139, 210, -1, 295, 215, - -1, 298, -1, 212, -1, -1, -1, 233, 309, 140, - 213, 278, 141, 214, 305, -1, 211, -1, 52, 217, - 134, -1, 319, -1, 49, 319, -1, 322, 254, -1, - 322, 249, -1, 326, 322, 254, -1, 326, 322, 249, - -1, 52, 51, 319, 134, -1, -1, 52, 319, 367, - 137, 220, 341, 296, 134, -1, 43, 142, 414, -1, - -1, 43, 142, 222, 223, 414, -1, 225, -1, -1, - 223, 139, 224, 225, -1, -1, -1, 226, 352, 296, - 227, 235, -1, -1, -1, 228, 234, 296, 229, 235, - -1, -1, -1, -1, 230, 221, 25, 231, 296, 232, - 235, -1, -1, 83, -1, 25, -1, 49, -1, -1, - 236, -1, -1, 137, 237, 238, -1, 410, -1, 238, - 410, -1, 240, 265, -1, 245, 265, -1, 241, 265, - -1, 242, 265, -1, 341, 233, 256, -1, 341, 233, - 322, 256, -1, 322, 270, -1, 335, 322, 270, -1, - 322, 246, -1, 335, 322, 246, -1, 341, 233, 322, - 250, -1, 244, 265, -1, 322, 254, 367, 134, -1, - 335, 322, 254, 367, 134, -1, 341, 233, 256, -1, - 245, -1, 270, -1, 335, 270, -1, 246, -1, 335, - 246, -1, 341, 233, 250, -1, -1, -1, 249, 140, - 247, 278, 141, 367, 248, 257, 262, -1, 255, 341, - -1, -1, 252, 251, 257, 262, -1, -1, 254, 367, - 140, 253, 278, 141, 367, -1, 255, 395, -1, 42, - -1, 268, 257, 262, -1, -1, 257, 258, -1, -1, - 44, 259, 418, -1, 31, -1, 137, 18, -1, 3, - -1, 260, 418, -1, 260, -1, 261, -1, 47, -1, - 137, 54, -1, 137, 55, -1, -1, 263, -1, -1, - 66, 264, 348, -1, 135, 424, 136, -1, 266, -1, - 134, -1, 45, 275, 135, 424, 136, 267, -1, -1, - 267, 46, 431, 135, 424, 136, -1, -1, 320, 367, - 140, 269, 278, 141, 367, -1, -1, -1, 273, 271, - 275, 272, 257, 262, -1, -1, 320, 140, 274, 278, - 141, 367, -1, -1, 138, 276, -1, 277, -1, 276, - 139, 277, -1, 319, 431, 233, -1, -1, -1, 279, - 280, -1, 282, -1, -1, 280, 139, 281, 282, -1, - 280, 139, 83, -1, 83, -1, -1, -1, 283, 341, - 296, 284, 285, -1, -1, 286, -1, -1, 137, 287, - 399, -1, -1, 288, 422, -1, 341, 290, 292, 134, - -1, 298, 285, -1, -1, 294, 292, -1, -1, -1, - 292, 139, 293, 294, -1, 295, 290, -1, -1, 360, - -1, 233, 308, 302, -1, -1, 300, 367, 306, 141, - 297, 302, -1, 233, 309, 311, -1, -1, 300, 307, - 141, 299, 302, -1, -1, 10, 301, 365, -1, 11, - -1, -1, -1, -1, 140, 303, 278, 141, 367, 304, - 305, -1, 312, -1, -1, 305, 33, -1, 305, 31, - -1, 305, 44, 431, -1, 305, 47, 431, -1, 305, - 47, -1, 296, -1, 360, 296, -1, 298, -1, 360, - 298, -1, -1, 309, -1, 320, 367, -1, 320, 367, - 138, 310, -1, 15, -1, 13, -1, 14, -1, -1, - 312, -1, -1, 313, 314, -1, 315, -1, 314, 315, - -1, -1, 143, 316, 317, 144, 367, -1, -1, -1, - 318, 399, -1, 320, -1, 321, -1, 331, -1, 327, - -1, 329, -1, 324, 178, -1, 324, 329, -1, 322, - 320, -1, 326, 320, -1, 326, 321, -1, 325, 326, - -1, 327, 326, -1, 329, 326, -1, 322, 325, 326, - -1, 322, 327, 326, -1, 322, 329, 326, -1, -1, - 322, 43, 323, 327, 326, -1, 145, -1, 332, -1, - 84, -1, -1, 332, 142, 328, 408, 414, -1, -1, - 48, 330, 418, -1, 4, -1, 5, -1, 3, -1, - 9, -1, 8, -1, 6, -1, 7, -1, 22, -1, - 21, -1, 20, -1, 102, -1, 103, -1, 104, -1, - 105, -1, 106, -1, 107, -1, 108, -1, 109, -1, - 110, -1, 111, -1, 101, -1, 3, -1, 5, -1, - 4, -1, 9, -1, 8, -1, 6, -1, 7, -1, - -1, 333, 334, 367, -1, 336, -1, 359, -1, 50, - -1, 40, -1, 336, 367, -1, 335, 336, 367, -1, - 337, -1, 338, -1, 339, -1, 39, -1, 33, -1, - 41, -1, 41, 12, -1, 34, -1, 35, -1, 38, - -1, 36, -1, 37, -1, 31, -1, 32, -1, 339, - -1, 340, 339, -1, 342, 295, -1, -1, 345, 343, - 333, -1, -1, 335, 345, 344, 333, -1, 346, -1, - 176, 367, 177, -1, 196, 367, 319, 367, -1, 357, - -1, 329, -1, -1, 49, 347, 319, 367, -1, 327, - 367, -1, 321, 367, -1, 349, 295, -1, -1, 346, - 350, 333, -1, -1, 335, 346, 351, 333, -1, 353, - 295, -1, -1, 356, 354, 333, -1, -1, 335, 345, - 355, 333, -1, 357, -1, 329, -1, 327, -1, 321, - -1, 24, 319, -1, 26, 319, -1, 196, 319, -1, - 359, 367, -1, 358, 367, -1, 6, -1, 7, -1, - 8, -1, 9, -1, 3, -1, 4, -1, 5, -1, - 22, -1, 20, -1, 21, -1, 102, -1, 103, -1, - 104, -1, 105, -1, 106, -1, 107, -1, 108, -1, - 109, -1, 110, -1, 111, -1, 101, -1, 86, -1, - 87, -1, 88, -1, 89, -1, 90, -1, 95, -1, - 96, -1, 97, -1, 98, -1, 91, -1, 92, -1, - 93, -1, 94, -1, 99, -1, 100, -1, 361, -1, - 362, -1, 366, -1, 366, 361, -1, 146, 367, -1, - 77, 367, -1, -1, 147, 367, 364, 365, -1, -1, - 340, -1, 363, -1, 366, 363, -1, -1, 367, 368, - -1, -1, -1, 23, 369, 404, 370, 144, 144, -1, - -1, 112, 140, 331, 139, 372, 341, 141, -1, -1, - -1, -1, 113, 140, 373, 331, 139, 374, 341, 375, - 141, -1, -1, 114, 140, 376, 331, 141, -1, -1, - 115, 140, 377, 331, 141, -1, -1, -1, 116, 140, - 331, 139, 378, 341, 379, 139, 425, 141, -1, -1, - 117, 140, 331, 139, 380, 341, 141, -1, -1, -1, - -1, 118, 140, 381, 331, 139, 382, 341, 383, 141, - -1, 119, 140, 331, 139, 341, 141, -1, -1, 120, - 140, 331, 139, 384, 341, 141, -1, -1, 124, 140, - 331, 139, 385, 341, 141, -1, -1, 121, 140, 331, - 139, 386, 341, 141, -1, -1, 125, 140, 331, 139, - 387, 341, 141, -1, -1, 122, 140, 331, 139, 388, - 341, 141, -1, -1, 126, 140, 331, 139, 389, 341, - 141, -1, -1, 123, 140, 331, 139, 390, 341, 141, - -1, -1, 127, 140, 331, 139, 391, 341, 141, -1, - -1, 128, 140, 331, 139, 392, 341, 139, 13, 141, - -1, -1, 129, 140, 331, 139, 393, 341, 139, 13, - 141, -1, 130, 140, 331, 141, -1, 131, 140, 331, - 141, -1, 132, 140, 331, 139, 319, 394, 141, -1, - -1, 139, -1, 140, 141, -1, 143, 144, -1, 53, - 143, 144, -1, 54, 143, 144, -1, 142, -1, 148, - -1, 139, -1, 137, -1, 63, 148, -1, 63, 63, - -1, 12, 3, -1, 396, -1, 149, -1, 147, -1, - 150, -1, 151, -1, 152, -1, 153, -1, 145, -1, - 146, -1, 154, -1, 155, -1, 53, -1, 54, -1, - 60, -1, 61, -1, 62, -1, 64, -1, 65, -1, - 66, -1, 69, -1, 70, -1, 71, -1, 72, -1, - 73, -1, 67, -1, 68, -1, 74, -1, 75, -1, - 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, - 81, -1, 82, -1, 50, -1, 49, -1, 25, -1, - 24, -1, 26, -1, 43, -1, 28, -1, 30, -1, - 29, -1, 31, -1, 34, -1, 35, -1, 39, -1, - 38, -1, 36, -1, 37, -1, 48, -1, 55, -1, - 41, -1, 52, -1, 51, -1, 42, -1, 27, -1, - 44, -1, 47, -1, 58, -1, 57, -1, 56, -1, - 59, -1, 15, -1, 13, -1, 14, -1, 16, -1, - 17, -1, 12, -1, 18, -1, 19, -1, 400, -1, - 399, 400, -1, 402, -1, 412, -1, 142, -1, -1, - 148, 401, 403, -1, 63, -1, 403, -1, 84, -1, - 415, -1, 418, -1, 422, -1, 396, -1, 138, -1, - 156, -1, 397, -1, 398, -1, 359, -1, 358, -1, - -1, 404, 406, -1, 402, -1, 142, -1, 148, -1, - 63, -1, 405, -1, 137, -1, 139, -1, 406, -1, - 134, -1, -1, 408, 411, -1, -1, 409, 407, -1, - 412, -1, 402, -1, 410, -1, 137, -1, 139, -1, - -1, 142, 413, 408, 414, -1, 148, -1, 63, -1, - -1, 143, 416, 404, 144, -1, -1, 23, 417, 404, - 144, 144, -1, -1, 140, 419, 404, 141, -1, -1, - 10, 420, 404, 141, -1, -1, 11, 421, 404, 141, - -1, -1, 135, 423, 409, 136, -1, -1, 424, 426, - -1, -1, 425, 427, -1, 427, -1, 134, -1, 428, - -1, 142, -1, 429, -1, 431, -1, 430, -1, 84, - -1, 83, -1, 396, -1, 63, -1, 138, -1, 156, - -1, 148, -1, 137, -1, 139, -1, 397, -1, 398, - -1, 359, -1, 358, -1, 85, -1, 135, 424, 136, - -1, 143, 424, 144, -1, 23, 424, 144, 144, -1, - 432, 424, 141, -1, 140, -1, 10, -1, 11, -1 -}; - /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 1467, 1467, 1469, 1471, 1470, 1481, 1482, 1483, 1484, - 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, - 1495, 1496, 1497, 1498, 1501, 1502, 1503, 1504, 1505, 1508, - 1509, 1516, 1523, 1524, 1524, 1528, 1535, 1536, 1539, 1540, - 1541, 1544, 1545, 1548, 1548, 1563, 1562, 1568, 1574, 1573, - 1578, 1584, 1585, 1586, 1589, 1591, 1593, 1596, 1597, 1600, - 1601, 1603, 1605, 1604, 1613, 1617, 1618, 1619, 1622, 1623, - 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, - 1634, 1635, 1636, 1637, 1640, 1641, 1642, 1643, 1646, 1647, - 1648, 1649, 1652, 1653, 1656, 1658, 1661, 1666, 1667, 1670, - 1671, 1674, 1675, 1676, 1687, 1688, 1689, 1693, 1694, 1698, - 1698, 1711, 1717, 1725, 1726, 1727, 1730, 1731, 1731, 1735, - 1736, 1738, 1739, 1740, 1740, 1748, 1752, 1753, 1756, 1758, - 1760, 1761, 1764, 1765, 1773, 1774, 1777, 1778, 1780, 1782, - 1784, 1788, 1790, 1791, 1794, 1797, 1798, 1801, 1802, 1801, - 1806, 1840, 1843, 1844, 1845, 1847, 1849, 1851, 1855, 1858, - 1858, 1889, 1892, 1891, 1909, 1911, 1910, 1915, 1917, 1915, - 1919, 1921, 1919, 1923, 1924, 1926, 1923, 1937, 1938, 1941, - 1942, 1944, 1945, 1948, 1948, 1958, 1959, 1967, 1968, 1969, - 1970, 1973, 1976, 1977, 1978, 1981, 1982, 1983, 1986, 1987, - 1988, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2004, 2009, - 2003, 2021, 2025, 2025, 2037, 2036, 2045, 2049, 2052, 2061, - 2062, 2065, 2065, 2066, 2067, 2073, 2078, 2079, 2080, 2083, - 2086, 2087, 2089, 2090, 2093, 2093, 2101, 2102, 2103, 2106, - 2108, 2109, 2113, 2112, 2125, 2126, 2125, 2145, 2145, 2149, - 2150, 2153, 2154, 2157, 2163, 2164, 2164, 2167, 2168, 2168, - 2170, 2172, 2176, 2178, 2176, 2202, 2203, 2206, 2206, 2208, - 2208, 2216, 2219, 2278, 2279, 2281, 2282, 2282, 2285, 2288, - 2289, 2293, 2304, 2304, 2323, 2325, 2325, 2343, 2343, 2345, - 2349, 2350, 2351, 2350, 2356, 2358, 2359, 2360, 2361, 2362, - 2363, 2366, 2367, 2371, 2372, 2376, 2377, 2380, 2381, 2385, - 2386, 2387, 2390, 2391, 2394, 2394, 2397, 2398, 2401, 2401, - 2405, 2406, 2406, 2413, 2414, 2417, 2418, 2419, 2420, 2421, - 2424, 2426, 2428, 2432, 2434, 2436, 2438, 2440, 2442, 2444, - 2444, 2449, 2452, 2455, 2458, 2458, 2466, 2466, 2475, 2476, - 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2502, - 2503, 2504, 2505, 2506, 2507, 2508, 2514, 2515, 2518, 2519, - 2521, 2522, 2525, 2526, 2529, 2530, 2531, 2532, 2535, 2536, - 2537, 2538, 2539, 2543, 2544, 2545, 2548, 2549, 2552, 2553, - 2561, 2564, 2564, 2566, 2566, 2570, 2571, 2573, 2577, 2578, - 2580, 2580, 2582, 2584, 2588, 2591, 2591, 2593, 2593, 2597, - 2600, 2600, 2602, 2602, 2606, 2607, 2609, 2611, 2613, 2615, - 2617, 2621, 2622, 2625, 2626, 2627, 2628, 2629, 2630, 2631, - 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, - 2642, 2643, 2644, 2645, 2648, 2649, 2650, 2651, 2652, 2653, - 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2682, - 2683, 2684, 2685, 2688, 2692, 2696, 2696, 2700, 2701, 2716, - 2717, 2733, 2734, 2737, 2737, 2737, 2744, 2744, 2754, 2755, - 2755, 2754, 2764, 2764, 2774, 2774, 2783, 2783, 2783, 2816, - 2815, 2826, 2827, 2827, 2826, 2836, 2854, 2854, 2859, 2859, - 2864, 2864, 2869, 2869, 2874, 2874, 2879, 2879, 2884, 2884, - 2889, 2889, 2894, 2894, 2911, 2911, 2925, 2962, 3000, 3037, - 3038, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, - 3054, 3055, 3056, 3059, 3060, 3061, 3062, 3063, 3064, 3065, - 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, - 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, - 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3095, 3096, 3097, - 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, - 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, - 3118, 3119, 3120, 3121, 3122, 3123, 3126, 3127, 3128, 3129, - 3130, 3131, 3132, 3133, 3140, 3141, 3144, 3145, 3146, 3147, - 3147, 3148, 3151, 3152, 3155, 3156, 3157, 3158, 3188, 3188, - 3189, 3190, 3191, 3192, 3215, 3216, 3219, 3220, 3221, 3222, - 3225, 3226, 3227, 3230, 3231, 3233, 3234, 3236, 3237, 3240, - 3241, 3244, 3245, 3246, 3250, 3249, 3263, 3264, 3267, 3267, - 3269, 3269, 3273, 3273, 3275, 3275, 3277, 3277, 3281, 3281, - 3286, 3287, 3289, 3290, 3293, 3294, 3297, 3298, 3301, 3302, - 3303, 3304, 3305, 3306, 3307, 3308, 3308, 3308, 3308, 3308, - 3309, 3310, 3311, 3312, 3313, 3316, 3319, 3320, 3323, 3326, - 3326, 3326 + 0, 1468, 1468, 1470, 1472, 1471, 1482, 1483, 1484, 1485, + 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, + 1496, 1497, 1498, 1499, 1502, 1503, 1504, 1505, 1506, 1509, + 1510, 1517, 1524, 1525, 1525, 1529, 1536, 1537, 1540, 1541, + 1542, 1545, 1546, 1549, 1549, 1564, 1563, 1569, 1575, 1574, + 1579, 1585, 1586, 1587, 1590, 1592, 1594, 1597, 1598, 1601, + 1602, 1604, 1606, 1605, 1614, 1618, 1619, 1620, 1623, 1624, + 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, + 1635, 1636, 1637, 1638, 1641, 1642, 1643, 1644, 1647, 1648, + 1649, 1650, 1653, 1654, 1657, 1659, 1662, 1667, 1668, 1671, + 1672, 1675, 1676, 1677, 1688, 1689, 1690, 1694, 1695, 1699, + 1699, 1712, 1718, 1726, 1727, 1728, 1731, 1732, 1732, 1736, + 1737, 1739, 1740, 1741, 1741, 1749, 1753, 1754, 1757, 1759, + 1761, 1762, 1765, 1766, 1774, 1775, 1778, 1779, 1781, 1783, + 1785, 1789, 1791, 1792, 1795, 1798, 1799, 1802, 1803, 1802, + 1807, 1841, 1844, 1845, 1846, 1848, 1850, 1852, 1856, 1859, + 1859, 1890, 1893, 1892, 1910, 1912, 1911, 1916, 1918, 1916, + 1920, 1922, 1920, 1924, 1925, 1927, 1924, 1938, 1939, 1942, + 1943, 1945, 1946, 1949, 1949, 1959, 1960, 1968, 1969, 1970, + 1971, 1974, 1977, 1978, 1979, 1982, 1983, 1984, 1987, 1988, + 1989, 1993, 1994, 1995, 1996, 1999, 2000, 2001, 2005, 2010, + 2004, 2022, 2026, 2026, 2038, 2037, 2046, 2050, 2053, 2062, + 2063, 2066, 2066, 2067, 2068, 2074, 2079, 2080, 2081, 2084, + 2087, 2088, 2090, 2091, 2094, 2094, 2102, 2103, 2104, 2107, + 2109, 2110, 2114, 2113, 2126, 2127, 2126, 2146, 2146, 2150, + 2151, 2154, 2155, 2158, 2164, 2165, 2165, 2168, 2169, 2169, + 2171, 2173, 2177, 2179, 2177, 2203, 2204, 2207, 2207, 2209, + 2209, 2217, 2220, 2279, 2280, 2282, 2283, 2283, 2286, 2289, + 2290, 2294, 2305, 2305, 2324, 2326, 2326, 2344, 2344, 2346, + 2350, 2351, 2352, 2351, 2357, 2359, 2360, 2361, 2362, 2363, + 2364, 2367, 2368, 2372, 2373, 2377, 2378, 2381, 2382, 2386, + 2387, 2388, 2391, 2392, 2395, 2395, 2398, 2399, 2402, 2402, + 2406, 2407, 2407, 2414, 2415, 2418, 2419, 2420, 2421, 2422, + 2425, 2427, 2429, 2433, 2435, 2437, 2439, 2441, 2443, 2445, + 2445, 2450, 2453, 2456, 2459, 2459, 2467, 2467, 2476, 2477, + 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, + 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2503, + 2504, 2505, 2506, 2507, 2508, 2509, 2515, 2516, 2519, 2520, + 2522, 2523, 2526, 2527, 2530, 2531, 2532, 2533, 2536, 2537, + 2538, 2539, 2540, 2544, 2545, 2546, 2549, 2550, 2553, 2554, + 2562, 2565, 2565, 2567, 2567, 2571, 2572, 2574, 2578, 2579, + 2581, 2581, 2583, 2585, 2589, 2592, 2592, 2594, 2594, 2598, + 2601, 2601, 2603, 2603, 2607, 2608, 2610, 2612, 2614, 2616, + 2618, 2622, 2623, 2626, 2627, 2628, 2629, 2630, 2631, 2632, + 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, + 2643, 2644, 2645, 2646, 2649, 2650, 2651, 2652, 2653, 2654, + 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2683, + 2684, 2685, 2686, 2689, 2693, 2697, 2697, 2701, 2702, 2717, + 2718, 2734, 2735, 2738, 2738, 2738, 2745, 2745, 2755, 2756, + 2756, 2755, 2765, 2765, 2775, 2775, 2784, 2784, 2784, 2817, + 2816, 2827, 2828, 2828, 2827, 2837, 2855, 2855, 2860, 2860, + 2865, 2865, 2870, 2870, 2875, 2875, 2880, 2880, 2885, 2885, + 2890, 2890, 2895, 2895, 2912, 2912, 2926, 2963, 3001, 3038, + 3039, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, + 3055, 3056, 3057, 3060, 3061, 3062, 3063, 3064, 3065, 3066, + 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, + 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086, + 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3096, 3097, 3098, + 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, + 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, + 3119, 3120, 3121, 3122, 3123, 3124, 3127, 3128, 3129, 3130, + 3131, 3132, 3133, 3134, 3141, 3142, 3145, 3146, 3147, 3148, + 3148, 3149, 3152, 3153, 3156, 3157, 3158, 3159, 3189, 3189, + 3190, 3191, 3192, 3193, 3216, 3217, 3220, 3221, 3222, 3223, + 3226, 3227, 3228, 3231, 3232, 3234, 3235, 3237, 3238, 3241, + 3242, 3245, 3246, 3247, 3251, 3250, 3264, 3265, 3268, 3268, + 3270, 3270, 3274, 3274, 3276, 3276, 3278, 3278, 3282, 3282, + 3287, 3288, 3290, 3291, 3294, 3295, 3298, 3299, 3302, 3303, + 3304, 3305, 3306, 3307, 3308, 3309, 3309, 3309, 3309, 3309, + 3310, 3311, 3312, 3313, 3314, 3317, 3320, 3321, 3324, 3327, + 3327, 3327 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +#if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -2142,318 +1867,142 @@ static const char *const yytname[] = "parentheses_sig", "$@87", "$@88", "$@89", "braces_sig", "$@90", "ignored_items", "ignored_expression", "ignored_item", "ignored_item_no_semi", "ignored_item_no_angle", "ignored_braces", - "ignored_brackets", "ignored_parentheses", "ignored_left_parenthesis", 0 + "ignored_brackets", "ignored_parentheses", "ignored_left_parenthesis", YY_NULLPTR }; #endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned short int yyr1[] = +#define YYPACT_NINF -1028 +#define YYTABLE_NINF -655 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +static const short int yypact[] = { - 0, 157, 158, 159, 160, 159, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 162, 162, 162, 162, 162, 163, - 163, 164, 165, 166, 165, 167, 168, 168, 169, 169, - 169, 170, 170, 172, 171, 174, 173, 173, 175, 173, - 173, 176, 176, 176, 177, 177, 177, 178, 178, 179, - 179, 180, 181, 180, 180, 182, 182, 182, 183, 183, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - 183, 183, 183, 183, 184, 184, 184, 184, 185, 185, - 185, 185, 186, 186, 187, 187, 187, 188, 188, 189, - 189, 190, 190, 190, 191, 191, 191, 192, 192, 194, - 193, 195, 195, 196, 196, 196, 197, 198, 197, 199, - 199, 200, 200, 201, 200, 202, 203, 203, 204, 204, - 204, 204, 205, 205, 206, 206, 207, 207, 207, 207, - 207, 208, 209, 209, 210, 211, 211, 213, 214, 212, - 215, 216, 217, 217, 217, 217, 217, 217, 218, 220, - 219, 221, 222, 221, 223, 224, 223, 226, 227, 225, - 228, 229, 225, 230, 231, 232, 225, 233, 233, 234, - 234, 235, 235, 237, 236, 238, 238, 239, 239, 239, - 239, 240, 241, 241, 241, 242, 242, 242, 243, 243, - 243, 244, 244, 244, 244, 245, 245, 245, 247, 248, - 246, 249, 251, 250, 253, 252, 254, 255, 256, 257, - 257, 259, 258, 258, 258, 258, 258, 258, 258, 260, - 261, 261, 262, 262, 264, 263, 265, 265, 265, 266, - 267, 267, 269, 268, 271, 272, 270, 274, 273, 275, - 275, 276, 276, 277, 278, 279, 278, 280, 281, 280, - 280, 280, 283, 284, 282, 285, 285, 287, 286, 288, - 286, 289, 290, 291, 291, 292, 293, 292, 294, 295, - 295, 296, 297, 296, 298, 299, 298, 301, 300, 300, - 302, 303, 304, 302, 302, 305, 305, 305, 305, 305, - 305, 306, 306, 307, 307, 308, 308, 309, 309, 310, - 310, 310, 311, 311, 313, 312, 314, 314, 316, 315, - 317, 318, 317, 319, 319, 320, 320, 320, 320, 320, - 321, 321, 321, 322, 322, 322, 322, 322, 322, 323, - 322, 324, 325, 326, 328, 327, 330, 329, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 331, 332, - 332, 332, 332, 332, 332, 332, 333, 333, 334, 334, - 334, 334, 335, 335, 336, 336, 336, 336, 337, 337, - 337, 337, 337, 338, 338, 338, 339, 339, 340, 340, - 341, 343, 342, 344, 342, 345, 345, 345, 346, 346, - 347, 346, 346, 346, 348, 350, 349, 351, 349, 352, - 354, 353, 355, 353, 356, 356, 356, 356, 356, 356, - 356, 357, 357, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, - 358, 358, 358, 358, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 360, - 360, 360, 360, 361, 362, 364, 363, 365, 365, 366, - 366, 367, 367, 369, 370, 368, 372, 371, 373, 374, - 375, 371, 376, 371, 377, 371, 378, 379, 371, 380, - 371, 381, 382, 383, 371, 371, 384, 371, 385, 371, - 386, 371, 387, 371, 388, 371, 389, 371, 390, 371, - 391, 371, 392, 371, 393, 371, 371, 371, 371, 394, - 394, 395, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 396, 397, 397, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, - 397, 397, 397, 397, 397, 397, 398, 398, 398, 398, - 398, 398, 398, 398, 399, 399, 400, 400, 400, 401, - 400, 400, 402, 402, 403, 403, 403, 403, 403, 403, - 403, 403, 403, 403, 404, 404, 405, 405, 405, 405, - 406, 406, 406, 407, 407, 408, 408, 409, 409, 410, - 410, 411, 411, 411, 413, 412, 414, 414, 416, 415, - 417, 415, 419, 418, 420, 418, 421, 418, 423, 422, - 424, 424, 425, 425, 426, 426, 427, 427, 428, 428, - 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, - 428, 428, 428, 428, 428, 429, 430, 430, 431, 432, - 432, 432 + -1028, 108, 115, -1028, -1028, 6791, 217, 221, 231, 247, + 250, 288, 291, -71, -29, -12, -1028, -1028, -1028, -1028, + 285, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + 129, -1028, 4328, -1028, -1028, 8663, 173, 7489, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, 148, 150, 192, 246, 269, 273, + 292, 300, 304, 329, 342, -51, -10, 20, 128, 135, + 143, 185, 209, 214, 218, 222, 230, 254, 284, 289, + 299, 306, 314, 326, 354, 358, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, 113, -1028, -1028, -1028, -1028, -1028, -1028, + 8336, -1028, 164, 164, 164, 164, -1028, 375, 8663, -1028, + 123, -1028, 341, 1951, 9036, 437, 7756, 166, 196, -1028, + 7, 8445, -1028, -1028, -1028, -1028, 256, 140, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 383, 4790, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, 15, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 55, 7756, + -7, -3, 4, 28, 152, 162, 179, 511, -1028, -1028, + -1028, -1028, -1028, 7778, 437, 437, 8663, 256, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, 395, -7, -3, 4, + 28, 152, 162, 179, -1028, -1028, -1028, 7756, 7756, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + 400, 406, -1028, 1951, 7756, 437, 437, 6747, -1028, -1028, + -1028, 6747, 6747, -1028, 6747, 6747, 6747, 6747, 6747, 6747, + 6747, 6747, 6747, 6747, 6747, 6747, 6747, 6747, 8191, 407, + 8001, 8191, -1028, 7424, 403, 7756, -1028, -1028, -1028, -1028, + -1028, -1028, 8336, -1028, 8554, 463, 409, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, 8663, -1028, -1028, 525, + -1028, -1028, -1028, -1028, 410, 437, 437, 437, -1028, -1028, + -1028, -1028, 7, -1028, -1028, -1028, -1028, 525, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, 1951, -1028, -1028, 525, + -1028, -1028, -1028, 7826, -1028, 158, 74, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, 366, -1028, 525, 525, 5714, + -1028, -1028, 2172, 2326, -1028, -1028, 228, -1028, 2480, 3558, + 2634, -1028, -1028, -1028, -1028, -1028, -1028, 8219, 8110, 8219, + 7598, -1028, -1028, -1028, -1028, -1028, -1028, 7890, -1028, 2788, + 412, 416, -1028, 428, -1028, 57, -1028, -1028, 6638, 1951, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, 425, 6747, 6747, + 6747, 426, 427, 6747, 429, 432, 433, 436, 438, 442, + 443, 445, 447, 448, 449, 450, 452, 451, -1028, -1028, + 460, -1028, 256, -1028, -1028, -1028, -1028, -1028, -1028, 54, + -1028, 9011, 649, 437, 437, 464, 6747, -1028, -1028, -1028, + 206, -1028, 7644, 8554, 7826, 7756, 444, 2942, 461, 8990, + 676, 409, -1028, -1028, -1028, -1028, -1028, 8191, 8110, 8191, + 7598, -1028, -1028, 525, -1028, 499, -1028, -1028, -1028, 1610, + -1028, -1028, 458, -1028, 1951, 122, -1028, -1028, -1028, 468, + 7890, -1028, 467, 256, 525, 525, 525, -1028, -1028, 1417, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, 466, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, 481, 3712, -1028, -1028, 474, -1028, + -1028, -1028, -1028, 181, -1028, 8772, 77, 576, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, 525, 488, -1028, 256, 64, + 489, 189, 8219, 8219, 183, 239, -1028, -1028, -1028, -1028, + 490, 437, -1028, -1028, -1028, 623, 484, 485, 27, -1028, + -1028, 495, -1028, 486, -1028, -1028, -1028, -1028, -1028, -1028, + 492, 496, 497, -1028, -1028, 501, 8663, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 7756, + -1028, 502, -1028, 525, 67, 7378, -1028, -1028, 504, 525, + -1028, 437, 437, 9011, -1028, 335, -1028, 506, 8663, 510, + 525, -1028, -1028, 1951, 508, -1028, 65, -1028, -1028, 518, + 562, -1028, 437, -1028, 461, 5868, 515, 84, 526, 206, + 1417, -1028, 499, -1028, -1028, 70, 117, -1028, -1028, 519, + 109, -1028, -1028, -1028, -1028, 6176, -1028, -1028, -1028, 499, + -1028, -1028, -1028, 521, -1028, -1028, -1028, -1028, -1028, 7756, + 7756, 7756, -1028, 437, 437, 8663, 256, 140, -1028, -1028, + -1028, -1028, 256, 638, 4944, 5098, 5252, -1028, 527, -1028, + -1028, -1028, 533, 534, -1028, 140, -1028, 78, -1028, 535, + 8663, -1028, 528, 529, -1028, -1028, -1028, -1028, 8663, -1028, + -1028, -1028, 8663, 8663, -1028, 546, 8663, 8663, 8663, 8663, + 8663, 8663, 8663, 8663, 8663, 8663, 530, -1028, -1028, -1028, + -1028, -1028, 536, -1028, -1028, -1028, 382, 537, -1028, 653, + 463, -1028, 525, -1028, -1028, 6747, -1028, -1028, -1028, 83, + 324, 7756, 463, 3096, -1028, -1028, 551, -1028, 8663, -1028, + -1028, 552, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, 560, -1028, 117, -1028, -1028, -1028, -1028, + -1028, -1028, 89, -1028, 55, -1028, -1028, -1028, -1028, 519, + -1028, 514, -1028, 140, -1028, 6022, -1028, 6176, -1028, -1028, + -1028, 345, -1028, 5406, 4482, 5560, -1028, 228, -1028, -1028, + -1028, -1028, 7890, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, -1028, 461, -1028, 256, -1028, -1028, + 554, 8663, -1028, 555, 8663, -1028, 557, 559, 561, 563, + 564, 565, 566, 567, 570, 571, -1028, 572, 1787, -1028, + 7756, -1028, -1028, -1028, 7756, -1028, 7378, 525, -1028, 6176, + -1028, 569, -1028, -1028, -1028, -1028, 525, 632, 256, 117, + -1028, -1028, -1028, -1028, 461, 55, 8881, -1028, -1028, -1028, + -1028, 574, -1028, -1028, -1028, -1028, -1028, 461, -1028, 6484, + -1028, -1028, -1028, -1028, 575, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, 345, -1028, 584, 50, 1417, 584, 256, 581, + 589, -1028, -1028, 585, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, -1028, 713, 714, -1028, 7038, 226, 7709, + 65, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, + -1028, -1028, -1028, 6923, -1028, 164, -1028, -1028, -1028, 595, + 410, 1951, 7153, 256, -1028, 463, 1981, 463, 537, 6176, + 4636, -1028, 684, -1028, -1028, -1028, -1028, -1028, 525, 5868, + 590, -1028, 8881, -1028, -1028, 140, 588, 6176, 592, -1028, + 461, -1028, 1417, -1028, -1028, -1028, -1028, -1028, 598, 256, + -1028, -1028, -1028, -1028, 600, -1028, 602, 604, 606, -1028, + -1028, -1028, 805, 164, 410, 7268, 463, -1028, -1028, -1028, + -1028, 6923, -1028, 7268, -1028, -1028, -1028, -1028, 1951, 7826, + -1028, -1028, -1028, 65, 117, -1028, 158, -1028, -1028, -1028, + -1028, -1028, -1028, 6176, -1028, 607, 6330, -1028, -1028, 584, + -1028, -1028, 3866, -1028, -1028, -1028, 7936, -1028, -1028, 805, + -1028, -1028, 7826, 7268, 90, -1028, -1028, 614, -1028, -1028, + 525, -1028, 1417, 525, 525, -1028, 6330, -1028, 345, -1028, + 434, -1028, -1028, -1028, 95, -1028, 7936, -1028, 8072, -1028, + 93, -1028, 1417, 525, -1028, -1028, -1028, -1028, 65, 65, + 3250, 4020, 373, 56, 8072, 107, -1028, -1028, 3404, -1028, + -1028, -1028, -1028, -1028, -1028, 59, 373, -1028, 434, 4174, + -1028, -1028 }; -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = -{ - 0, 2, 1, 0, 0, 4, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 2, 2, 2, 2, 2, 5, - 4, 5, 4, 0, 6, 5, 1, 2, 4, 3, - 5, 4, 5, 0, 5, 0, 7, 4, 0, 5, - 2, 1, 1, 1, 3, 4, 2, 1, 1, 0, - 1, 0, 0, 4, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 1, 2, 2, 2, 2, 2, 3, - 2, 3, 1, 4, 2, 4, 4, 0, 1, 0, - 1, 1, 1, 1, 5, 3, 6, 4, 5, 0, - 5, 4, 3, 1, 2, 2, 0, 0, 3, 1, - 3, 0, 1, 0, 4, 6, 2, 1, 5, 6, - 3, 4, 5, 3, 1, 2, 5, 5, 6, 5, - 6, 2, 0, 3, 2, 1, 1, 0, 0, 8, - 1, 3, 1, 2, 2, 2, 3, 3, 4, 0, - 8, 3, 0, 5, 1, 0, 4, 0, 0, 5, - 0, 0, 5, 0, 0, 0, 7, 0, 1, 1, - 1, 0, 1, 0, 3, 1, 2, 2, 2, 2, - 2, 3, 4, 2, 3, 2, 3, 4, 2, 4, - 5, 3, 1, 1, 2, 1, 2, 3, 0, 0, - 9, 2, 0, 4, 0, 7, 2, 1, 3, 0, - 2, 0, 3, 1, 2, 1, 2, 1, 1, 1, - 2, 2, 0, 1, 0, 3, 3, 1, 1, 6, - 0, 6, 0, 7, 0, 0, 6, 0, 6, 0, - 2, 1, 3, 3, 0, 0, 2, 1, 0, 4, - 3, 1, 0, 0, 5, 0, 1, 0, 3, 0, - 2, 4, 2, 0, 2, 0, 0, 4, 2, 0, - 1, 3, 0, 6, 3, 0, 5, 0, 3, 1, - 0, 0, 0, 7, 1, 0, 2, 2, 3, 3, - 2, 1, 2, 1, 2, 0, 1, 2, 4, 1, - 1, 1, 0, 1, 0, 2, 1, 2, 0, 5, - 0, 0, 2, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 2, 2, 2, 3, 3, 3, 0, - 5, 1, 1, 1, 0, 5, 0, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 3, 1, 1, - 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 0, 3, 0, 4, 1, 3, 4, 1, 1, - 0, 4, 2, 2, 2, 0, 3, 0, 4, 2, - 0, 3, 0, 4, 1, 1, 1, 1, 2, 2, - 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 0, 4, 0, 1, 1, - 2, 0, 2, 0, 0, 6, 0, 7, 0, 0, - 0, 9, 0, 5, 0, 5, 0, 0, 10, 0, - 7, 0, 0, 0, 9, 6, 0, 7, 0, 7, - 0, 7, 0, 7, 0, 7, 0, 7, 0, 7, - 0, 7, 0, 9, 0, 9, 4, 4, 7, 0, - 1, 2, 2, 3, 3, 1, 1, 1, 1, 2, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 2, 0, 2, 1, - 1, 1, 1, 1, 0, 4, 1, 1, 0, 4, - 0, 5, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 4, 3, 1, - 1, 1 -}; - -/* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */ -static const unsigned char yydprec[] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 -}; - -/* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */ -static const unsigned char yymerger[] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0 -}; - -/* 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 unsigned short int yydefact[] = + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const unsigned short int yydefact[] = { 3, 0, 4, 1, 481, 0, 437, 438, 439, 433, 434, 435, 436, 441, 442, 440, 483, 52, 51, 53, @@ -2576,167 +2125,8 @@ static const unsigned short int yydefact[] = 129, 132 }; -/* YYPDEFGOTO[NTERM-NUM]. */ -static const short int yydefgoto[] = -{ - -1, 1, 2, 4, 88, 356, 90, 91, 92, 461, - 93, 94, 95, 358, 97, 349, 98, 926, 675, 375, - 509, 510, 678, 674, 801, 802, 1005, 1079, 1007, 807, - 808, 924, 920, 809, 100, 101, 102, 516, 103, 359, - 519, 688, 685, 686, 929, 360, 931, 1071, 1145, 105, - 106, 616, 624, 617, 454, 455, 895, 1110, 456, 107, - 320, 108, 361, 770, 362, 436, 603, 877, 604, 605, - 974, 606, 977, 607, 978, 1109, 882, 752, 1055, 1056, - 1106, 1136, 363, 112, 113, 114, 1082, 1015, 1016, 116, - 528, 1033, 117, 546, 714, 547, 944, 548, 118, 550, - 716, 853, 945, 854, 855, 856, 857, 946, 369, 370, - 1032, 551, 957, 1017, 531, 830, 383, 704, 526, 694, - 695, 699, 700, 826, 1035, 827, 828, 1096, 557, 558, - 725, 559, 119, 414, 500, 555, 863, 501, 502, 883, - 1138, 415, 871, 416, 545, 962, 1050, 1169, 1140, 1058, - 562, 972, 552, 956, 717, 963, 719, 859, 860, 951, - 1046, 1047, 810, 121, 282, 283, 530, 124, 125, 126, - 284, 536, 285, 268, 129, 130, 348, 503, 376, 132, - 133, 134, 135, 712, 1076, 137, 426, 544, 138, 139, - 269, 1044, 1045, 1100, 1131, 746, 747, 886, 971, 748, - 140, 141, 142, 421, 422, 423, 424, 729, 713, 425, - 690, 143, 145, 583, 144, 778, 478, 901, 1064, 479, - 480, 782, 983, 783, 483, 904, 1066, 786, 790, 787, - 791, 788, 792, 789, 793, 794, 795, 917, 645, 584, - 585, 586, 867, 868, 959, 587, 588, 429, 589, 590, - 968, 705, 874, 836, 837, 870, 941, 437, 591, 732, - 730, 592, 614, 612, 613, 593, 731, 432, 439, 599, - 600, 601, 264, 265, 266, 267 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -1028 -static const short int yypact[] = -{ - -1028, 108, 115, -1028, -1028, 6791, 217, 221, 231, 247, - 250, 288, 291, -71, -29, -12, -1028, -1028, -1028, -1028, - 285, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - 129, -1028, 4328, -1028, -1028, 8663, 173, 7489, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, 148, 150, 192, 246, 269, 273, - 292, 300, 304, 329, 342, -51, -10, 20, 128, 135, - 143, 185, 209, 214, 218, 222, 230, 254, 284, 289, - 299, 306, 314, 326, 354, 358, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, 113, -1028, -1028, -1028, -1028, -1028, -1028, - 8336, -1028, 164, 164, 164, 164, -1028, 375, 8663, -1028, - 123, -1028, 341, 1951, 9036, 437, 7756, 166, 196, -1028, - 7, 8445, -1028, -1028, -1028, -1028, 256, 140, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 383, 4790, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, 15, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 55, 7756, - -7, -3, 4, 28, 152, 162, 179, 511, -1028, -1028, - -1028, -1028, -1028, 7778, 437, 437, 8663, 256, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, 395, -7, -3, 4, - 28, 152, 162, 179, -1028, -1028, -1028, 7756, 7756, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - 400, 406, -1028, 1951, 7756, 437, 437, 6747, -1028, -1028, - -1028, 6747, 6747, -1028, 6747, 6747, 6747, 6747, 6747, 6747, - 6747, 6747, 6747, 6747, 6747, 6747, 6747, 6747, 8191, 407, - 8001, 8191, -1028, 7424, 403, 7756, -1028, -1028, -1028, -1028, - -1028, -1028, 8336, -1028, 8554, 463, 409, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, 8663, -1028, -1028, 525, - -1028, -1028, -1028, -1028, 410, 437, 437, 437, -1028, -1028, - -1028, -1028, 7, -1028, -1028, -1028, -1028, 525, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, 1951, -1028, -1028, 525, - -1028, -1028, -1028, 7826, -1028, 158, 74, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, 366, -1028, 525, 525, 5714, - -1028, -1028, 2172, 2326, -1028, -1028, 228, -1028, 2480, 3558, - 2634, -1028, -1028, -1028, -1028, -1028, -1028, 8219, 8110, 8219, - 7598, -1028, -1028, -1028, -1028, -1028, -1028, 7890, -1028, 2788, - 412, 416, -1028, 428, -1028, 57, -1028, -1028, 6638, 1951, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, 425, 6747, 6747, - 6747, 426, 427, 6747, 429, 432, 433, 436, 438, 442, - 443, 445, 447, 448, 449, 450, 452, 451, -1028, -1028, - 460, -1028, 256, -1028, -1028, -1028, -1028, -1028, -1028, 54, - -1028, 9011, 649, 437, 437, 464, 6747, -1028, -1028, -1028, - 206, -1028, 7644, 8554, 7826, 7756, 444, 2942, 461, 8990, - 676, 409, -1028, -1028, -1028, -1028, -1028, 8191, 8110, 8191, - 7598, -1028, -1028, 525, -1028, 499, -1028, -1028, -1028, 1610, - -1028, -1028, 458, -1028, 1951, 122, -1028, -1028, -1028, 468, - 7890, -1028, 467, 256, 525, 525, 525, -1028, -1028, 1417, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, 466, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, 481, 3712, -1028, -1028, 474, -1028, - -1028, -1028, -1028, 181, -1028, 8772, 77, 576, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, 525, 488, -1028, 256, 64, - 489, 189, 8219, 8219, 183, 239, -1028, -1028, -1028, -1028, - 490, 437, -1028, -1028, -1028, 623, 484, 485, 27, -1028, - -1028, 495, -1028, 486, -1028, -1028, -1028, -1028, -1028, -1028, - 492, 496, 497, -1028, -1028, 501, 8663, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, 7756, - -1028, 502, -1028, 525, 67, 7378, -1028, -1028, 504, 525, - -1028, 437, 437, 9011, -1028, 335, -1028, 506, 8663, 510, - 525, -1028, -1028, 1951, 508, -1028, 65, -1028, -1028, 518, - 562, -1028, 437, -1028, 461, 5868, 515, 84, 526, 206, - 1417, -1028, 499, -1028, -1028, 70, 117, -1028, -1028, 519, - 109, -1028, -1028, -1028, -1028, 6176, -1028, -1028, -1028, 499, - -1028, -1028, -1028, 521, -1028, -1028, -1028, -1028, -1028, 7756, - 7756, 7756, -1028, 437, 437, 8663, 256, 140, -1028, -1028, - -1028, -1028, 256, 638, 4944, 5098, 5252, -1028, 527, -1028, - -1028, -1028, 533, 534, -1028, 140, -1028, 78, -1028, 535, - 8663, -1028, 528, 529, -1028, -1028, -1028, -1028, 8663, -1028, - -1028, -1028, 8663, 8663, -1028, 546, 8663, 8663, 8663, 8663, - 8663, 8663, 8663, 8663, 8663, 8663, 530, -1028, -1028, -1028, - -1028, -1028, 536, -1028, -1028, -1028, 382, 537, -1028, 653, - 463, -1028, 525, -1028, -1028, 6747, -1028, -1028, -1028, 83, - 324, 7756, 463, 3096, -1028, -1028, 551, -1028, 8663, -1028, - -1028, 552, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, 560, -1028, 117, -1028, -1028, -1028, -1028, - -1028, -1028, 89, -1028, 55, -1028, -1028, -1028, -1028, 519, - -1028, 514, -1028, 140, -1028, 6022, -1028, 6176, -1028, -1028, - -1028, 345, -1028, 5406, 4482, 5560, -1028, 228, -1028, -1028, - -1028, -1028, 7890, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, -1028, 461, -1028, 256, -1028, -1028, - 554, 8663, -1028, 555, 8663, -1028, 557, 559, 561, 563, - 564, 565, 566, 567, 570, 571, -1028, 572, 1787, -1028, - 7756, -1028, -1028, -1028, 7756, -1028, 7378, 525, -1028, 6176, - -1028, 569, -1028, -1028, -1028, -1028, 525, 632, 256, 117, - -1028, -1028, -1028, -1028, 461, 55, 8881, -1028, -1028, -1028, - -1028, 574, -1028, -1028, -1028, -1028, -1028, 461, -1028, 6484, - -1028, -1028, -1028, -1028, 575, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, 345, -1028, 584, 50, 1417, 584, 256, 581, - 589, -1028, -1028, 585, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, -1028, 713, 714, -1028, 7038, 226, 7709, - 65, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, -1028, - -1028, -1028, -1028, 6923, -1028, 164, -1028, -1028, -1028, 595, - 410, 1951, 7153, 256, -1028, 463, 1981, 463, 537, 6176, - 4636, -1028, 684, -1028, -1028, -1028, -1028, -1028, 525, 5868, - 590, -1028, 8881, -1028, -1028, 140, 588, 6176, 592, -1028, - 461, -1028, 1417, -1028, -1028, -1028, -1028, -1028, 598, 256, - -1028, -1028, -1028, -1028, 600, -1028, 602, 604, 606, -1028, - -1028, -1028, 805, 164, 410, 7268, 463, -1028, -1028, -1028, - -1028, 6923, -1028, 7268, -1028, -1028, -1028, -1028, 1951, 7826, - -1028, -1028, -1028, 65, 117, -1028, 158, -1028, -1028, -1028, - -1028, -1028, -1028, 6176, -1028, 607, 6330, -1028, -1028, 584, - -1028, -1028, 3866, -1028, -1028, -1028, 7936, -1028, -1028, 805, - -1028, -1028, 7826, 7268, 90, -1028, -1028, 614, -1028, -1028, - 525, -1028, 1417, 525, 525, -1028, 6330, -1028, 345, -1028, - 434, -1028, -1028, -1028, 95, -1028, 7936, -1028, 8072, -1028, - 93, -1028, 1417, 525, -1028, -1028, -1028, -1028, 65, 65, - 3250, 4020, 373, 56, 8072, 107, -1028, -1028, 3404, -1028, - -1028, -1028, -1028, -1028, -1028, 59, 373, -1028, 434, 4174, - -1028, -1028 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const short int yypgoto[] = + /* YYPGOTO[NTERM-NUM]. */ +static const short int yypgoto[] = { -1028, -1028, -401, -1028, -1028, 745, -167, -1028, -1028, -1028, -1028, -847, -99, -2, -31, -1028, -1028, -1028, -1028, 21, @@ -2768,11 +2158,42 @@ static const short int yypgoto[] = -421, 36, -8, -1028, -658, -1028 }; -/* 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 -655 + /* YYDEFGOTO[NTERM-NUM]. */ +static const short int yydefgoto[] = +{ + -1, 1, 2, 4, 88, 356, 90, 91, 92, 461, + 93, 94, 95, 358, 97, 349, 98, 926, 675, 375, + 509, 510, 678, 674, 801, 802, 1005, 1079, 1007, 807, + 808, 924, 920, 809, 100, 101, 102, 516, 103, 359, + 519, 688, 685, 686, 929, 360, 931, 1071, 1145, 105, + 106, 616, 624, 617, 454, 455, 895, 1110, 456, 107, + 320, 108, 361, 770, 362, 436, 603, 877, 604, 605, + 974, 606, 977, 607, 978, 1109, 882, 752, 1055, 1056, + 1106, 1136, 363, 112, 113, 114, 1082, 1015, 1016, 116, + 528, 1033, 117, 546, 714, 547, 944, 548, 118, 550, + 716, 853, 945, 854, 855, 856, 857, 946, 369, 370, + 1032, 551, 957, 1017, 531, 830, 383, 704, 526, 694, + 695, 699, 700, 826, 1035, 827, 828, 1096, 557, 558, + 725, 559, 119, 414, 500, 555, 863, 501, 502, 883, + 1138, 415, 871, 416, 545, 962, 1050, 1169, 1140, 1058, + 562, 972, 552, 956, 717, 963, 719, 859, 860, 951, + 1046, 1047, 810, 121, 282, 283, 530, 124, 125, 126, + 284, 536, 285, 268, 129, 130, 348, 503, 376, 132, + 133, 134, 135, 712, 1076, 137, 426, 544, 138, 139, + 269, 1044, 1045, 1100, 1131, 746, 747, 886, 971, 748, + 140, 141, 142, 421, 422, 423, 424, 729, 713, 425, + 690, 143, 145, 583, 144, 778, 478, 901, 1064, 479, + 480, 782, 983, 783, 483, 904, 1066, 786, 790, 787, + 791, 788, 792, 789, 793, 794, 795, 917, 645, 584, + 585, 586, 867, 868, 959, 587, 588, 429, 589, 590, + 968, 705, 874, 836, 837, 870, 941, 437, 591, 732, + 730, 592, 614, 612, 613, 593, 731, 432, 439, 599, + 600, 601, 264, 265, 266, 267 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const short int yytable[] = { 127, 420, 381, 96, 278, 595, 382, 408, 280, 444, @@ -3692,962 +3113,7 @@ static const short int yytable[] = 312, 313, 314, 315, 316, 317, 318, 319 }; -/* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of - list of conflicting reductions corresponding to action entry for - state STATE-NUM in yytable. 0 means no conflicts. The list in - yyconfl is terminated by a rule number of 0. */ -static const unsigned char yyconflp[] = -{ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 9, 11, 13, 15, - 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, - 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, - 57, 59, 61, 63, 0, 0, 65, 67, 69, 71, - 73, 75, 0, 77, 79, 81, 83, 0, 0, 85, - 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, - 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, - 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, - 147, 149, 151, 153, 155, 0, 157, 0, 159, 161, - 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, - 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, - 203, 205, 207, 209, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, - 213, 215, 217, 0, 219, 221, 0, 223, 225, 227, - 229, 231, 233, 235, 237, 239, 241, 243, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by - 0, pointed into by YYCONFLP. */ -static const short int yyconfl[] = -{ - 0, 406, 0, 406, 0, 406, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, - 0, 654, 0, 654, 0, 654, 0, 406, 0, 406, - 0 -}; - -static const short int yycheck[] = +static const short int yycheck[] = { 5, 137, 123, 5, 35, 431, 123, 131, 35, 268, 131, 110, 131, 323, 416, 36, 5, 124, 439, 5, @@ -5566,160 +4032,1475 @@ static const short int yycheck[] = 104, 105, 106, 107, 108, 109, 110, 111 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const unsigned short int yystos[] = + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned short int yystos[] = +{ + 0, 158, 159, 0, 160, 367, 3, 4, 5, 6, + 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, + 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 41, 42, 43, 48, 49, 50, 51, 52, 84, 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, 134, 145, 161, 162, + 163, 164, 165, 167, 168, 169, 170, 171, 173, 176, + 191, 192, 193, 195, 196, 206, 207, 216, 218, 219, + 221, 239, 240, 241, 242, 245, 246, 249, 255, 289, + 319, 320, 321, 322, 324, 325, 326, 327, 329, 331, + 332, 335, 336, 337, 338, 339, 341, 342, 345, 346, + 357, 358, 359, 368, 371, 369, 24, 25, 12, 43, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, + 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 135, + 137, 138, 139, 140, 142, 143, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 358, 359, + 396, 397, 398, 428, 429, 430, 431, 432, 330, 347, + 3, 4, 5, 6, 7, 8, 9, 41, 171, 176, + 193, 196, 321, 322, 327, 329, 335, 341, 3, 4, + 5, 6, 7, 8, 9, 135, 332, 3, 4, 5, + 6, 7, 8, 9, 20, 21, 22, 49, 51, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 217, 319, 321, 322, 326, 327, 329, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 140, 333, 172, + 367, 333, 135, 367, 43, 52, 162, 169, 170, 196, + 202, 219, 221, 239, 335, 341, 45, 134, 135, 265, + 266, 265, 265, 265, 140, 176, 335, 341, 134, 367, + 43, 246, 270, 273, 320, 325, 327, 329, 178, 327, + 329, 331, 332, 326, 320, 321, 326, 367, 326, 142, + 171, 176, 193, 196, 207, 246, 322, 336, 345, 367, + 10, 11, 83, 233, 290, 298, 300, 77, 146, 147, + 295, 360, 361, 362, 363, 366, 343, 367, 367, 404, + 135, 428, 424, 424, 63, 148, 222, 414, 424, 425, + 424, 10, 11, 140, 418, 319, 12, 333, 367, 333, + 367, 320, 171, 193, 211, 212, 215, 233, 298, 424, + 137, 166, 319, 319, 134, 367, 249, 254, 255, 322, + 3, 4, 5, 6, 7, 8, 9, 331, 373, 376, + 377, 331, 331, 381, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 40, 50, + 291, 294, 295, 334, 336, 359, 135, 134, 138, 177, + 178, 322, 326, 327, 329, 291, 194, 134, 138, 197, + 319, 319, 367, 335, 233, 138, 275, 424, 247, 367, + 323, 271, 140, 326, 326, 326, 328, 333, 367, 333, + 367, 246, 270, 367, 344, 301, 250, 252, 254, 255, + 256, 268, 309, 320, 322, 292, 137, 285, 286, 288, + 233, 298, 307, 360, 367, 367, 367, 361, 363, 333, + 23, 63, 84, 135, 137, 138, 139, 142, 143, 148, + 156, 358, 359, 370, 396, 397, 398, 402, 403, 405, + 406, 415, 418, 422, 159, 425, 134, 142, 144, 426, + 427, 428, 136, 223, 225, 226, 228, 230, 144, 134, + 427, 141, 420, 421, 419, 367, 208, 210, 295, 177, + 208, 319, 333, 333, 209, 309, 320, 327, 329, 136, + 321, 327, 135, 134, 137, 12, 53, 54, 63, 137, + 139, 140, 142, 143, 148, 395, 396, 249, 254, 139, + 331, 331, 331, 139, 139, 331, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 141, 141, 139, + 134, 292, 290, 367, 180, 175, 3, 134, 179, 367, + 178, 327, 329, 322, 134, 199, 200, 331, 198, 197, + 367, 319, 320, 322, 276, 277, 319, 135, 136, 278, + 279, 177, 327, 275, 274, 408, 291, 177, 291, 319, + 333, 339, 340, 365, 251, 367, 257, 311, 312, 313, + 367, 250, 256, 134, 139, 287, 422, 141, 298, 364, + 417, 423, 416, 144, 136, 134, 144, 139, 414, 24, + 26, 196, 321, 327, 329, 335, 352, 353, 356, 357, + 25, 49, 234, 221, 404, 404, 404, 134, 209, 215, + 134, 197, 208, 208, 134, 139, 140, 367, 134, 159, + 220, 3, 143, 143, 63, 148, 141, 144, 372, 139, + 141, 141, 378, 380, 139, 341, 384, 386, 388, 390, + 385, 387, 389, 391, 392, 393, 319, 28, 29, 30, + 136, 181, 182, 28, 29, 30, 36, 186, 187, 190, + 319, 138, 367, 178, 136, 139, 137, 342, 134, 367, + 331, 139, 431, 424, 141, 83, 280, 282, 283, 326, + 272, 278, 137, 139, 142, 402, 410, 411, 412, 414, + 134, 134, 134, 197, 339, 257, 140, 3, 31, 44, + 47, 66, 137, 258, 260, 261, 262, 263, 143, 314, + 315, 138, 140, 293, 63, 142, 148, 399, 400, 402, + 412, 299, 365, 404, 409, 404, 144, 224, 319, 319, + 319, 345, 233, 296, 300, 295, 354, 296, 25, 141, + 141, 141, 134, 134, 210, 213, 136, 341, 144, 144, + 341, 374, 341, 341, 382, 141, 341, 341, 341, 341, + 341, 341, 341, 341, 341, 341, 139, 394, 367, 138, + 189, 190, 139, 36, 188, 233, 174, 367, 200, 201, + 137, 203, 429, 277, 233, 136, 367, 139, 341, 257, + 141, 413, 134, 262, 253, 259, 264, 18, 54, 55, + 418, 316, 315, 13, 14, 15, 310, 269, 294, 401, + 400, 140, 302, 312, 144, 134, 136, 406, 407, 144, + 225, 355, 308, 309, 227, 367, 333, 229, 231, 278, + 296, 141, 341, 379, 141, 341, 141, 141, 141, 141, + 141, 141, 141, 141, 139, 139, 141, 40, 41, 52, + 133, 134, 163, 168, 170, 183, 184, 185, 191, 192, + 206, 216, 219, 221, 243, 244, 245, 270, 289, 319, + 320, 322, 335, 341, 371, 319, 367, 319, 186, 399, + 425, 134, 267, 248, 83, 281, 296, 262, 367, 408, + 278, 418, 335, 346, 348, 349, 317, 318, 278, 403, + 303, 144, 333, 302, 137, 235, 236, 296, 306, 360, + 235, 296, 141, 134, 375, 139, 383, 13, 13, 168, + 176, 204, 221, 244, 320, 335, 341, 431, 170, 184, + 219, 221, 243, 335, 265, 134, 254, 270, 322, 233, + 233, 187, 233, 46, 257, 282, 284, 414, 141, 346, + 350, 295, 144, 399, 141, 278, 237, 141, 296, 232, + 214, 141, 425, 141, 141, 141, 367, 176, 204, 335, + 265, 176, 233, 335, 367, 254, 256, 431, 262, 285, + 367, 351, 333, 367, 367, 141, 238, 410, 297, 235, + 305, 141, 135, 138, 177, 205, 367, 176, 367, 134, + 367, 135, 333, 367, 410, 302, 31, 33, 44, 47, + 424, 425, 179, 177, 367, 177, 205, 134, 424, 304, + 431, 431, 136, 134, 205, 177, 179, 136, 305, 425, + 205, 134 +}; + + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned short int yyr1[] = +{ + 0, 157, 158, 159, 160, 159, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 162, 162, 162, 162, 162, 163, + 163, 164, 165, 166, 165, 167, 168, 168, 169, 169, + 169, 170, 170, 172, 171, 174, 173, 173, 175, 173, + 173, 176, 176, 176, 177, 177, 177, 178, 178, 179, + 179, 180, 181, 180, 180, 182, 182, 182, 183, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 183, 183, 183, 184, 184, 184, 184, 185, 185, + 185, 185, 186, 186, 187, 187, 187, 188, 188, 189, + 189, 190, 190, 190, 191, 191, 191, 192, 192, 194, + 193, 195, 195, 196, 196, 196, 197, 198, 197, 199, + 199, 200, 200, 201, 200, 202, 203, 203, 204, 204, + 204, 204, 205, 205, 206, 206, 207, 207, 207, 207, + 207, 208, 209, 209, 210, 211, 211, 213, 214, 212, + 215, 216, 217, 217, 217, 217, 217, 217, 218, 220, + 219, 221, 222, 221, 223, 224, 223, 226, 227, 225, + 228, 229, 225, 230, 231, 232, 225, 233, 233, 234, + 234, 235, 235, 237, 236, 238, 238, 239, 239, 239, + 239, 240, 241, 241, 241, 242, 242, 242, 243, 243, + 243, 244, 244, 244, 244, 245, 245, 245, 247, 248, + 246, 249, 251, 250, 253, 252, 254, 255, 256, 257, + 257, 259, 258, 258, 258, 258, 258, 258, 258, 260, + 261, 261, 262, 262, 264, 263, 265, 265, 265, 266, + 267, 267, 269, 268, 271, 272, 270, 274, 273, 275, + 275, 276, 276, 277, 278, 279, 278, 280, 281, 280, + 280, 280, 283, 284, 282, 285, 285, 287, 286, 288, + 286, 289, 290, 291, 291, 292, 293, 292, 294, 295, + 295, 296, 297, 296, 298, 299, 298, 301, 300, 300, + 302, 303, 304, 302, 302, 305, 305, 305, 305, 305, + 305, 306, 306, 307, 307, 308, 308, 309, 309, 310, + 310, 310, 311, 311, 313, 312, 314, 314, 316, 315, + 317, 318, 317, 319, 319, 320, 320, 320, 320, 320, + 321, 321, 321, 322, 322, 322, 322, 322, 322, 323, + 322, 324, 325, 326, 328, 327, 330, 329, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, + 331, 331, 331, 331, 331, 331, 331, 331, 331, 332, + 332, 332, 332, 332, 332, 332, 333, 333, 334, 334, + 334, 334, 335, 335, 336, 336, 336, 336, 337, 337, + 337, 337, 337, 338, 338, 338, 339, 339, 340, 340, + 341, 343, 342, 344, 342, 345, 345, 345, 346, 346, + 347, 346, 346, 346, 348, 350, 349, 351, 349, 352, + 354, 353, 355, 353, 356, 356, 356, 356, 356, 356, + 356, 357, 357, 358, 358, 358, 358, 358, 358, 358, + 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, + 358, 358, 358, 358, 359, 359, 359, 359, 359, 359, + 359, 359, 359, 359, 359, 359, 359, 359, 359, 360, + 360, 360, 360, 361, 362, 364, 363, 365, 365, 366, + 366, 367, 367, 369, 370, 368, 372, 371, 373, 374, + 375, 371, 376, 371, 377, 371, 378, 379, 371, 380, + 371, 381, 382, 383, 371, 371, 384, 371, 385, 371, + 386, 371, 387, 371, 388, 371, 389, 371, 390, 371, + 391, 371, 392, 371, 393, 371, 371, 371, 371, 394, + 394, 395, 395, 395, 395, 395, 395, 395, 395, 395, + 395, 395, 395, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 396, 396, 396, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, + 397, 397, 397, 397, 397, 397, 398, 398, 398, 398, + 398, 398, 398, 398, 399, 399, 400, 400, 400, 401, + 400, 400, 402, 402, 403, 403, 403, 403, 403, 403, + 403, 403, 403, 403, 404, 404, 405, 405, 405, 405, + 406, 406, 406, 407, 407, 408, 408, 409, 409, 410, + 410, 411, 411, 411, 413, 412, 414, 414, 416, 415, + 417, 415, 419, 418, 420, 418, 421, 418, 423, 422, + 424, 424, 425, 425, 426, 426, 427, 427, 428, 428, + 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 428, 428, 428, 429, 430, 430, 431, 432, + 432, 432 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 1, 0, 0, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 1, 2, 2, 2, 2, 2, 5, + 4, 5, 4, 0, 6, 5, 1, 2, 4, 3, + 5, 4, 5, 0, 5, 0, 7, 4, 0, 5, + 2, 1, 1, 1, 3, 4, 2, 1, 1, 0, + 1, 0, 0, 4, 3, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 2, 2, 2, 2, 2, 3, + 2, 3, 1, 4, 2, 4, 4, 0, 1, 0, + 1, 1, 1, 1, 5, 3, 6, 4, 5, 0, + 5, 4, 3, 1, 2, 2, 0, 0, 3, 1, + 3, 0, 1, 0, 4, 6, 2, 1, 5, 6, + 3, 4, 5, 3, 1, 2, 5, 5, 6, 5, + 6, 2, 0, 3, 2, 1, 1, 0, 0, 8, + 1, 3, 1, 2, 2, 2, 3, 3, 4, 0, + 8, 3, 0, 5, 1, 0, 4, 0, 0, 5, + 0, 0, 5, 0, 0, 0, 7, 0, 1, 1, + 1, 0, 1, 0, 3, 1, 2, 2, 2, 2, + 2, 3, 4, 2, 3, 2, 3, 4, 2, 4, + 5, 3, 1, 1, 2, 1, 2, 3, 0, 0, + 9, 2, 0, 4, 0, 7, 2, 1, 3, 0, + 2, 0, 3, 1, 2, 1, 2, 1, 1, 1, + 2, 2, 0, 1, 0, 3, 3, 1, 1, 6, + 0, 6, 0, 7, 0, 0, 6, 0, 6, 0, + 2, 1, 3, 3, 0, 0, 2, 1, 0, 4, + 3, 1, 0, 0, 5, 0, 1, 0, 3, 0, + 2, 4, 2, 0, 2, 0, 0, 4, 2, 0, + 1, 3, 0, 6, 3, 0, 5, 0, 3, 1, + 0, 0, 0, 7, 1, 0, 2, 2, 3, 3, + 2, 1, 2, 1, 2, 0, 1, 2, 4, 1, + 1, 1, 0, 1, 0, 2, 1, 2, 0, 5, + 0, 0, 2, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, 3, 0, + 5, 1, 1, 1, 0, 5, 0, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 3, 1, 1, + 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 0, 3, 0, 4, 1, 3, 4, 1, 1, + 0, 4, 2, 2, 2, 0, 3, 0, 4, 2, + 0, 3, 0, 4, 1, 1, 1, 1, 2, 2, + 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 0, 4, 0, 1, 1, + 2, 0, 2, 0, 0, 6, 0, 7, 0, 0, + 0, 9, 0, 5, 0, 5, 0, 0, 10, 0, + 7, 0, 0, 0, 9, 6, 0, 7, 0, 7, + 0, 7, 0, 7, 0, 7, 0, 7, 0, 7, + 0, 7, 0, 9, 0, 9, 4, 4, 7, 0, + 1, 2, 2, 3, 3, 1, 1, 1, 1, 2, + 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 2, 0, 2, 1, + 1, 1, 1, 1, 0, 4, 1, 1, 0, 4, + 0, 5, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 4, 3, 1, + 1, 1 +}; + + +/* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */ +static const unsigned char yydprec[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 +}; + +/* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */ +static const unsigned char yymerger[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 +}; + +/* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as + in the case of predicates. */ +static const yybool yyimmediate[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0 +}; + +/* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of + list of conflicting reductions corresponding to action entry for + state STATE-NUM in yytable. 0 means no conflicts. The list in + yyconfl is terminated by a rule number of 0. */ +static const unsigned char yyconflp[] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 7, 9, 11, 13, 15, + 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, + 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, + 57, 59, 61, 63, 0, 0, 65, 67, 69, 71, + 73, 75, 0, 77, 79, 81, 83, 0, 0, 85, + 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, + 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, + 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, + 147, 149, 151, 153, 155, 0, 157, 0, 159, 161, + 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, + 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, + 203, 205, 207, 209, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, + 213, 215, 217, 0, 219, 221, 0, 223, 225, 227, + 229, 231, 233, 235, 237, 239, 241, 243, 245, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}; + +/* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by + 0, pointed into by YYCONFLP. */ +static const short int yyconfl[] = { - 0, 158, 159, 0, 160, 367, 3, 4, 5, 6, - 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, - 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 41, 42, 43, 48, 49, 50, 51, 52, 84, 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, 134, 145, 161, 162, - 163, 164, 165, 167, 168, 169, 170, 171, 173, 176, - 191, 192, 193, 195, 196, 206, 207, 216, 218, 219, - 221, 239, 240, 241, 242, 245, 246, 249, 255, 289, - 319, 320, 321, 322, 324, 325, 326, 327, 329, 331, - 332, 335, 336, 337, 338, 339, 341, 342, 345, 346, - 357, 358, 359, 368, 371, 369, 24, 25, 12, 43, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, - 35, 36, 37, 38, 39, 41, 42, 43, 44, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 135, - 137, 138, 139, 140, 142, 143, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 358, 359, - 396, 397, 398, 428, 429, 430, 431, 432, 330, 347, - 3, 4, 5, 6, 7, 8, 9, 41, 171, 176, - 193, 196, 321, 322, 327, 329, 335, 341, 3, 4, - 5, 6, 7, 8, 9, 135, 332, 3, 4, 5, - 6, 7, 8, 9, 20, 21, 22, 49, 51, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 217, 319, 321, 322, 326, 327, 329, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 333, 172, - 367, 333, 135, 367, 43, 52, 162, 169, 170, 196, - 202, 219, 221, 239, 335, 341, 45, 134, 135, 265, - 266, 265, 265, 265, 140, 176, 335, 341, 134, 367, - 43, 246, 270, 273, 320, 325, 327, 329, 178, 327, - 329, 331, 332, 326, 320, 321, 326, 367, 326, 142, - 171, 176, 193, 196, 207, 246, 322, 336, 345, 367, - 10, 11, 83, 233, 290, 298, 300, 77, 146, 147, - 295, 360, 361, 362, 363, 366, 343, 367, 367, 404, - 135, 428, 424, 424, 63, 148, 222, 414, 424, 425, - 424, 10, 11, 140, 418, 319, 12, 333, 367, 333, - 367, 320, 171, 193, 211, 212, 215, 233, 298, 424, - 137, 166, 319, 319, 134, 367, 249, 254, 255, 322, - 3, 4, 5, 6, 7, 8, 9, 331, 373, 376, - 377, 331, 331, 381, 331, 331, 331, 331, 331, 331, - 331, 331, 331, 331, 331, 331, 331, 331, 40, 50, - 291, 294, 295, 334, 336, 359, 135, 134, 138, 177, - 178, 322, 326, 327, 329, 291, 194, 134, 138, 197, - 319, 319, 367, 335, 233, 138, 275, 424, 247, 367, - 323, 271, 140, 326, 326, 326, 328, 333, 367, 333, - 367, 246, 270, 367, 344, 301, 250, 252, 254, 255, - 256, 268, 309, 320, 322, 292, 137, 285, 286, 288, - 233, 298, 307, 360, 367, 367, 367, 361, 363, 333, - 23, 63, 84, 135, 137, 138, 139, 142, 143, 148, - 156, 358, 359, 370, 396, 397, 398, 402, 403, 405, - 406, 415, 418, 422, 159, 425, 134, 142, 144, 426, - 427, 428, 136, 223, 225, 226, 228, 230, 144, 134, - 427, 141, 420, 421, 419, 367, 208, 210, 295, 177, - 208, 319, 333, 333, 209, 309, 320, 327, 329, 136, - 321, 327, 135, 134, 137, 12, 53, 54, 63, 137, - 139, 140, 142, 143, 148, 395, 396, 249, 254, 139, - 331, 331, 331, 139, 139, 331, 139, 139, 139, 139, - 139, 139, 139, 139, 139, 139, 139, 141, 141, 139, - 134, 292, 290, 367, 180, 175, 3, 134, 179, 367, - 178, 327, 329, 322, 134, 199, 200, 331, 198, 197, - 367, 319, 320, 322, 276, 277, 319, 135, 136, 278, - 279, 177, 327, 275, 274, 408, 291, 177, 291, 319, - 333, 339, 340, 365, 251, 367, 257, 311, 312, 313, - 367, 250, 256, 134, 139, 287, 422, 141, 298, 364, - 417, 423, 416, 144, 136, 134, 144, 139, 414, 24, - 26, 196, 321, 327, 329, 335, 352, 353, 356, 357, - 25, 49, 234, 221, 404, 404, 404, 134, 209, 215, - 134, 197, 208, 208, 134, 139, 140, 367, 134, 159, - 220, 3, 143, 143, 63, 148, 141, 144, 372, 139, - 141, 141, 378, 380, 139, 341, 384, 386, 388, 390, - 385, 387, 389, 391, 392, 393, 319, 28, 29, 30, - 136, 181, 182, 28, 29, 30, 36, 186, 187, 190, - 319, 138, 367, 178, 136, 139, 137, 342, 134, 367, - 331, 139, 431, 424, 141, 83, 280, 282, 283, 326, - 272, 278, 137, 139, 142, 402, 410, 411, 412, 414, - 134, 134, 134, 197, 339, 257, 140, 3, 31, 44, - 47, 66, 137, 258, 260, 261, 262, 263, 143, 314, - 315, 138, 140, 293, 63, 142, 148, 399, 400, 402, - 412, 299, 365, 404, 409, 404, 144, 224, 319, 319, - 319, 345, 233, 296, 300, 295, 354, 296, 25, 141, - 141, 141, 134, 134, 210, 213, 136, 341, 144, 144, - 341, 374, 341, 341, 382, 141, 341, 341, 341, 341, - 341, 341, 341, 341, 341, 341, 139, 394, 367, 138, - 189, 190, 139, 36, 188, 233, 174, 367, 200, 201, - 137, 203, 429, 277, 233, 136, 367, 139, 341, 257, - 141, 413, 134, 262, 253, 259, 264, 18, 54, 55, - 418, 316, 315, 13, 14, 15, 310, 269, 294, 401, - 400, 140, 302, 312, 144, 134, 136, 406, 407, 144, - 225, 355, 308, 309, 227, 367, 333, 229, 231, 278, - 296, 141, 341, 379, 141, 341, 141, 141, 141, 141, - 141, 141, 141, 141, 139, 139, 141, 40, 41, 52, - 133, 134, 163, 168, 170, 183, 184, 185, 191, 192, - 206, 216, 219, 221, 243, 244, 245, 270, 289, 319, - 320, 322, 335, 341, 371, 319, 367, 319, 186, 399, - 425, 134, 267, 248, 83, 281, 296, 262, 367, 408, - 278, 418, 335, 346, 348, 349, 317, 318, 278, 403, - 303, 144, 333, 302, 137, 235, 236, 296, 306, 360, - 235, 296, 141, 134, 375, 139, 383, 13, 13, 168, - 176, 204, 221, 244, 320, 335, 341, 431, 170, 184, - 219, 221, 243, 335, 265, 134, 254, 270, 322, 233, - 233, 187, 233, 46, 257, 282, 284, 414, 141, 346, - 350, 295, 144, 399, 141, 278, 237, 141, 296, 232, - 214, 141, 425, 141, 141, 141, 367, 176, 204, 335, - 265, 176, 233, 335, 367, 254, 256, 431, 262, 285, - 367, 351, 333, 367, 367, 141, 238, 410, 297, 235, - 305, 141, 135, 138, 177, 205, 367, 176, 367, 134, - 367, 135, 333, 367, 410, 302, 31, 33, 44, 47, - 424, 425, 179, 177, 367, 177, 205, 134, 424, 304, - 431, 431, 136, 134, 205, 177, 179, 136, 305, 425, - 205, 134 + 0, 406, 0, 406, 0, 406, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 654, 0, 654, + 0, 654, 0, 654, 0, 654, 0, 406, 0, 406, + 0 }; - -/* Prevent warning if -Wmissing-prototypes. */ -int yyparse (void); - /* Error token number */ #define YYTERROR 1 -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) ((void)Rhs) -#endif - - -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif - -/* YYLEX -- calling `yylex' with the right arguments. */ -#define YYLEX yylex () YYSTYPE yylval; -YYLTYPE yylloc; - int yynerrs; int yychar; @@ -5728,9 +5509,12 @@ static const int YYEMPTY = -2; typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG; -#define YYCHK(YYE) \ - do { YYRESULTTAG yyflag = YYE; if (yyflag != yyok) return yyflag; } \ - while (YYID (0)) +#define YYCHK(YYE) \ + do { \ + YYRESULTTAG yychk_flag = YYE; \ + if (yychk_flag != yyok) \ + return yychk_flag; \ + } while (0) #if YYDEBUG @@ -5738,34 +5522,31 @@ typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG; # define YYFPRINTF fprintf # endif +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif + + # define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) + do { \ + if (yydebug) \ + YYFPRINTF Args; \ + } while (0) -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { + FILE *yyo = yyoutput; + YYUSE (yyo); if (!yyvaluep) return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } + YYUSE (yytype); } @@ -5776,30 +5557,33 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) { - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, Type, \ - Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ + do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ + } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; +struct yyGLRStack; +static void yypstack (struct yyGLRStack* yystackp, size_t yyk) + YY_ATTRIBUTE_UNUSED; +static void yypdumpstack (struct yyGLRStack* yystackp) + YY_ATTRIBUTE_UNUSED; + #else /* !YYDEBUG */ # define YYDPRINTF(Args) @@ -5808,7 +5592,7 @@ int yydebug; #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -5831,26 +5615,21 @@ int yydebug; #define YYHEADROOM 2 #ifndef YYSTACKEXPANDABLE -# if (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)) # define YYSTACKEXPANDABLE 1 -# else -# define YYSTACKEXPANDABLE 0 -# endif #endif #if YYSTACKEXPANDABLE -# define YY_RESERVE_GLRSTACK(Yystack) \ - do { \ - if (Yystack->yyspaceLeft < YYHEADROOM) \ - yyexpandGLRStack (Yystack); \ - } while (YYID (0)) +# define YY_RESERVE_GLRSTACK(Yystack) \ + do { \ + if (Yystack->yyspaceLeft < YYHEADROOM) \ + yyexpandGLRStack (Yystack); \ + } while (0) #else -# define YY_RESERVE_GLRSTACK(Yystack) \ - do { \ - if (Yystack->yyspaceLeft < YYHEADROOM) \ - yyMemoryExhausted (Yystack); \ - } while (YYID (0)) +# define YY_RESERVE_GLRSTACK(Yystack) \ + do { \ + if (Yystack->yyspaceLeft < YYHEADROOM) \ + yyMemoryExhausted (Yystack); \ + } while (0) #endif @@ -5933,7 +5712,7 @@ typedef int yyStateNum; typedef int yyRuleNum; /** Grammar symbol */ -typedef short int yySymbol; +typedef int yySymbol; /** Item references, as in LALR(1) machine */ typedef short int yyItemNum; @@ -5954,7 +5733,7 @@ struct yyGLRState { yyStateNum yylrState; /** Preceding state in this stack */ yyGLRState* yypred; - /** Source position of the first token produced by my symbol */ + /** Source position of the last token produced by my symbol */ size_t yyposn; union { /** First in a chain of alternative reductions producing the @@ -5964,8 +5743,6 @@ struct yyGLRState { /** Semantic value for this state. */ YYSTYPE yysval; } yysemantics; - /** Source location for this state. */ - YYLTYPE yyloc; }; struct yyGLRStateSet { @@ -5988,7 +5765,6 @@ struct yySemanticOption { /** The lookahead for this reduction. */ int yyrawchar; YYSTYPE yyval; - YYLTYPE yyloc; /** Next sibling in chain of options. To facilitate merging, * options are chained in decreasing order by address. */ yySemanticOption* yynext; @@ -6018,19 +5794,15 @@ struct yyGLRStack { static void yyexpandGLRStack (yyGLRStack* yystackp); #endif -static void yyFail (yyGLRStack* yystackp, const char* yymsg) - __attribute__ ((__noreturn__)); -static void +static _Noreturn void yyFail (yyGLRStack* yystackp, const char* yymsg) { - if (yymsg != NULL) + if (yymsg != YY_NULLPTR) yyerror (yymsg); YYLONGJMP (yystackp->yyexception_buffer, 1); } -static void yyMemoryExhausted (yyGLRStack* yystackp) - __attribute__ ((__noreturn__)); -static void +static _Noreturn void yyMemoryExhausted (yyGLRStack* yystackp) { YYLONGJMP (yystackp->yyexception_buffer, 2); @@ -6051,19 +5823,24 @@ yytokenName (yySymbol yytoken) /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred * containing the pointer to the next state in the chain. */ -static void yyfillin (yyGLRStackItem *, int, int); +static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED; static void yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1) { - yyGLRState* s; int i; - s = yyvsp[yylow0].yystate.yypred; + yyGLRState *s = yyvsp[yylow0].yystate.yypred; for (i = yylow0-1; i >= yylow1; i -= 1) { - YYASSERT (s->yyresolved); - yyvsp[i].yystate.yyresolved = yytrue; - yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval; - yyvsp[i].yystate.yyloc = s->yyloc; +#if YYDEBUG + yyvsp[i].yystate.yylrState = s->yylrState; +#endif + yyvsp[i].yystate.yyresolved = s->yyresolved; + if (s->yyresolved) + yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval; + else + /* The effect of using yysval or yyloc (in an immediate rule) is + * undefined. */ + yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR; s = yyvsp[i].yystate.yypred = s->yypred; } } @@ -6071,8 +5848,8 @@ yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1) /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1. * For convenience, always return YYLOW1. */ -static int yyfill (yyGLRStackItem *, int *, int, yybool); - +static int yyfill (yyGLRStackItem *, int *, int, yybool) + YY_ATTRIBUTE_UNUSED; static int yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal) { @@ -6089,16 +5866,15 @@ yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal) * value ($$), and yylocp points to place for location information * (@$). Returns yyok for normal return, yyaccept for YYACCEPT, * yyerr for YYERROR, yyabort for YYABORT. */ -/*ARGSUSED*/ static YYRESULTTAG -yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, - YYSTYPE* yyvalp, - YYLTYPE* YYOPTIONAL_LOC (yylocp), - yyGLRStack* yystackp - ) -{ - yybool yynormal = - (yystackp->yysplitPoint == NULL); +static YYRESULTTAG +yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, + yyGLRStack* yystackp, + YYSTYPE* yyvalp) +{ + yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR); int yylow; + YYUSE (yyvalp); + YYUSE (yyrhslen); # undef yyerrok # define yyerrok (yystackp->yyerrState = 0) # undef YYACCEPT @@ -6114,7 +5890,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, # undef YYFILL # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal) # undef YYBACKUP -# define YYBACKUP(Token, Value) \ +# define YYBACKUP(Token, Value) \ return yyerror (YY_("syntax error: cannot back up")), \ yyerrok, yyerr @@ -6123,14 +5899,10 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, *yyvalp = yyval_default; else *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval; - YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen); - switch (yyn) { case 4: -/* Line 936 of glr.c */ - { startSig(); clearType(); @@ -6138,33 +5910,29 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, clearTemplate(); closeComment(); } + break; case 33: -/* Line 936 of glr.c */ + { pushNamespace((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { pushNamespace((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 34: -/* Line 936 of glr.c */ - { popNamespace(); } + break; case 43: -/* Line 936 of glr.c */ - { pushType(); } + break; case 44: -/* Line 936 of glr.c */ - { const char *name = (currentClass ? currentClass->Name : NULL); popType(); @@ -6176,99 +5944,87 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, } end_class(); } + break; case 45: -/* Line 936 of glr.c */ - { - start_class((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (5))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.integer)); - currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.integer); + start_class((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.integer)); + currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer); } + break; case 47: -/* Line 936 of glr.c */ - { - start_class((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer)); - currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer); + start_class((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.integer)); + currentClass->IsFinal = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer); } + break; case 48: -/* Line 936 of glr.c */ - { - start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer)); + start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer)); } + break; case 50: -/* Line 936 of glr.c */ - { - start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer)); + start_class(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer)); } + break; case 51: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 52: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 1; } + break; case 53: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 2; } + break; case 54: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str)); } break; case 55: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3("::", (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3("::", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); } break; case 59: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 60: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str), "final") == 0); } - { ((*yyvalp).integer) = (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), "final") == 0); } break; case 62: -/* Line 936 of glr.c */ - { startSig(); clearType(); @@ -6276,241 +6032,211 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, clearTemplate(); closeComment(); } + break; case 65: -/* Line 936 of glr.c */ - { access_level = VTK_ACCESS_PUBLIC; } + break; case 66: -/* Line 936 of glr.c */ - { access_level = VTK_ACCESS_PRIVATE; } + break; case 67: -/* Line 936 of glr.c */ - { access_level = VTK_ACCESS_PROTECTED; } + break; case 91: -/* Line 936 of glr.c */ - { output_friend_function(); } + break; case 94: -/* Line 936 of glr.c */ + { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), access_level, (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), access_level, (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 95: -/* Line 936 of glr.c */ + { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer), + (VTK_PARSE_VIRTUAL | (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer))); } - { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.integer), - (VTK_PARSE_VIRTUAL | (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer))); } break; case 96: -/* Line 936 of glr.c */ + { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.integer), + ((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer))); } - { add_base_class(currentClass, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer), - ((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (4))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer))); } break; case 97: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 98: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_PARSE_VIRTUAL; } + break; case 99: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = access_level; } + break; case 101: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_ACCESS_PUBLIC; } + break; case 102: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_ACCESS_PRIVATE; } + break; case 103: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_ACCESS_PROTECTED; } + break; case 109: -/* Line 936 of glr.c */ - { pushType(); } + break; case 110: -/* Line 936 of glr.c */ - { popType(); clearTypeId(); - if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str) != NULL) + if ((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str) != NULL) { - setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str)); - setTypeBase(guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str))); + setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str)); + setTypeBase(guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str))); } end_enum(); } + break; case 111: -/* Line 936 of glr.c */ - { - start_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer), getTypeId()); + start_enum((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), getTypeId()); clearTypeId(); - ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str); + ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str); } + break; case 112: -/* Line 936 of glr.c */ - { - start_enum(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), getTypeId()); + start_enum(NULL, (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), getTypeId()); clearTypeId(); ((*yyvalp).str) = NULL; } + break; case 113: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 114: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 1; } + break; case 115: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 1; } + break; case 116: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 117: -/* Line 936 of glr.c */ - { pushType(); } + break; case 118: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = getType(); popType(); } + break; case 122: -/* Line 936 of glr.c */ + { add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str), NULL); } - { add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), NULL); } break; case 123: -/* Line 936 of glr.c */ - { postSig("="); markSig(); } + break; case 124: -/* Line 936 of glr.c */ + { chopSig(); add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.str), copySig()); } - { chopSig(); add_enum((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str), copySig()); } break; case 147: -/* Line 936 of glr.c */ - { pushFunction(); postSig("("); } + break; case 148: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 149: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = (VTK_PARSE_FUNCTION | (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.integer)); popFunction(); } - { ((*yyvalp).integer) = (VTK_PARSE_FUNCTION | (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (8))].yystate.yysemantics.yysval.integer)); popFunction(); } break; case 150: -/* Line 936 of glr.c */ - { ValueInfo *item = (ValueInfo *)malloc(sizeof(ValueInfo)); vtkParse_InitValue(item); item->ItemType = VTK_TYPEDEF_INFO; item->Access = access_level; - handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer), getSig()); + handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), getSig()); if (getVarName()) { @@ -6530,77 +6256,68 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, vtkParse_AddTypedefToNamespace(currentNamespace, item); } } + break; case 151: -/* Line 936 of glr.c */ + { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), 0); } - { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), 0); } break; case 153: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str); } - { ((*yyvalp).str) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str); } break; case 154: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 155: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 156: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 157: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 158: -/* Line 936 of glr.c */ + { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), 1); } - { add_using((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), 1); } break; case 159: -/* Line 936 of glr.c */ - { markSig(); } + break; case 160: -/* Line 936 of glr.c */ - { ValueInfo *item = (ValueInfo *)malloc(sizeof(ValueInfo)); vtkParse_InitValue(item); item->ItemType = VTK_TYPEDEF_INFO; item->Access = access_level; - handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (8))].yystate.yysemantics.yysval.integer), copySig()); + handle_complex_type(item, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer), copySig()); - item->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (8))].yystate.yysemantics.yysval.str); + item->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.str); if (currentTemplate) { @@ -6615,19 +6332,17 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, vtkParse_AddTypedefToNamespace(currentNamespace, item); } } + break; case 161: -/* Line 936 of glr.c */ - { postSig("template<> "); clearTypeId(); } + break; case 162: -/* Line 936 of glr.c */ - { postSig("template<"); pushType(); @@ -6635,12 +6350,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, clearTypeId(); startTemplate(); } + break; case 163: -/* Line 936 of glr.c */ - { chopSig(); if (getSig()[getSigLength()-1] == '>') { postSig(" "); } @@ -6648,175 +6362,153 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, clearTypeId(); popType(); } + break; case 165: -/* Line 936 of glr.c */ - { chopSig(); postSig(", "); clearType(); clearTypeId(); } + break; case 167: -/* Line 936 of glr.c */ - { markSig(); } + break; case 168: -/* Line 936 of glr.c */ + { add_template_parameter(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), copySig()); } - { add_template_parameter(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig()); } break; case 170: -/* Line 936 of glr.c */ - { markSig(); } + break; case 171: -/* Line 936 of glr.c */ + { add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), copySig()); } - { add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig()); } break; case 173: -/* Line 936 of glr.c */ - { pushTemplate(); markSig(); } + break; case 174: -/* Line 936 of glr.c */ - { postSig("class "); } + break; case 175: -/* Line 936 of glr.c */ - { int i; TemplateInfo *newTemplate = currentTemplate; popTemplate(); - add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer), copySig()); + add_template_parameter(0, (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), copySig()); i = currentTemplate->NumberOfParameters-1; currentTemplate->Parameters[i]->Template = newTemplate; } + break; case 177: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 178: -/* Line 936 of glr.c */ - { postSig("..."); ((*yyvalp).integer) = VTK_PARSE_PACK; } + break; case 179: -/* Line 936 of glr.c */ - { postSig("class "); } + break; case 180: -/* Line 936 of glr.c */ - { postSig("typename "); } + break; case 183: -/* Line 936 of glr.c */ - { postSig("="); markSig(); } + break; case 184: -/* Line 936 of glr.c */ - { int i = currentTemplate->NumberOfParameters-1; ValueInfo *param = currentTemplate->Parameters[i]; chopSig(); param->Value = copySig(); } + break; case 187: -/* Line 936 of glr.c */ - { output_function(); } + break; case 188: -/* Line 936 of glr.c */ - { output_function(); } + break; case 189: -/* Line 936 of glr.c */ - { reject_function(); } + break; case 190: -/* Line 936 of glr.c */ - { reject_function(); } + break; case 198: -/* Line 936 of glr.c */ - { output_function(); } + break; case 208: -/* Line 936 of glr.c */ - { postSig("("); currentFunction->IsExplicit = ((getType() & VTK_PARSE_EXPLICIT) != 0); set_return(currentFunction, getType(), getTypeId(), 0); } + break; case 209: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 210: -/* Line 936 of glr.c */ - { postSig(";"); closeSig(); @@ -6825,188 +6517,166 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, currentFunction->Comment = vtkstrdup(getComment()); vtkParseDebug("Parsed operator", "operator typecast"); } + break; case 211: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = copySig(); } + break; case 212: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 213: -/* Line 936 of glr.c */ - { postSig(";"); closeSig(); - currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str); + currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.str); currentFunction->Comment = vtkstrdup(getComment()); vtkParseDebug("Parsed operator", currentFunction->Name); } + break; case 214: -/* Line 936 of glr.c */ - { postSig("("); currentFunction->IsOperator = 1; set_return(currentFunction, getType(), getTypeId(), 0); } + break; case 216: -/* Line 936 of glr.c */ + { chopSig(); ((*yyvalp).str) = vtkstrcat(copySig(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { chopSig(); ((*yyvalp).str) = vtkstrcat(copySig(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 217: -/* Line 936 of glr.c */ - { markSig(); postSig("operator "); } + break; case 218: -/* Line 936 of glr.c */ - { postSig(";"); closeSig(); - currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str); + currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str); currentFunction->Comment = vtkstrdup(getComment()); vtkParseDebug("Parsed func", currentFunction->Name); } + break; case 221: -/* Line 936 of glr.c */ - { postSig(" throw "); } + break; case 222: -/* Line 936 of glr.c */ - { chopSig(); } + break; case 223: -/* Line 936 of glr.c */ - { postSig(" const"); currentFunction->IsConst = 1; } + break; case 224: -/* Line 936 of glr.c */ - { postSig(" = 0"); currentFunction->IsPureVirtual = 1; if (currentClass) { currentClass->IsAbstract = 1; } } + break; case 225: -/* Line 936 of glr.c */ - { - postSig(" "); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); - if (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str), "final") == 0) { currentFunction->IsFinal = 1; } + postSig(" "); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); + if (strcmp((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str), "final") == 0) { currentFunction->IsFinal = 1; } } + break; case 226: -/* Line 936 of glr.c */ - { chopSig(); } + break; case 229: -/* Line 936 of glr.c */ - { postSig(" noexcept"); } + break; case 230: -/* Line 936 of glr.c */ - { currentFunction->IsDeleted = 1; } + break; case 234: -/* Line 936 of glr.c */ - { postSig(" -> "); clearType(); clearTypeId(); } + break; case 235: -/* Line 936 of glr.c */ - { chopSig(); set_return(currentFunction, getType(), getTypeId(), 0); } + break; case 242: -/* Line 936 of glr.c */ - { postSig("("); set_return(currentFunction, getType(), getTypeId(), 0); } + break; case 243: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 244: -/* Line 936 of glr.c */ - { closeSig(); } + break; case 245: -/* Line 936 of glr.c */ - { openSig(); } + break; case 246: -/* Line 936 of glr.c */ - { postSig(";"); closeSig(); @@ -7018,77 +6688,68 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, { currentFunction->IsExplicit = 1; } - currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (6))].yystate.yysemantics.yysval.str); + currentFunction->Name = (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.str); currentFunction->Comment = vtkstrdup(getComment()); vtkParseDebug("Parsed func", currentFunction->Name); } + break; case 247: -/* Line 936 of glr.c */ - { pushType(); postSig("("); } + break; case 248: -/* Line 936 of glr.c */ - { popType(); postSig(")"); } + break; case 255: -/* Line 936 of glr.c */ - { clearType(); clearTypeId(); } + break; case 257: -/* Line 936 of glr.c */ - { clearType(); clearTypeId(); } + break; case 258: -/* Line 936 of glr.c */ - { clearType(); clearTypeId(); postSig(", "); } + break; case 260: -/* Line 936 of glr.c */ - { currentFunction->IsVariadic = 1; postSig(", ..."); } + break; case 261: -/* Line 936 of glr.c */ - { currentFunction->IsVariadic = 1; postSig("..."); } + break; case 262: -/* Line 936 of glr.c */ - { markSig(); } + break; case 263: -/* Line 936 of glr.c */ - { ValueInfo *param = (ValueInfo *)malloc(sizeof(ValueInfo)); vtkParse_InitValue(param); - handle_complex_type(param, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer), copySig()); + handle_complex_type(param, getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer), copySig()); add_legacy_parameter(currentFunction, param); if (getVarName()) @@ -7098,12 +6759,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, vtkParse_AddParameterToFunction(currentFunction, param); } + break; case 264: -/* Line 936 of glr.c */ - { int i = currentFunction->NumberOfParameters-1; if (getVarValue()) @@ -7111,47 +6771,41 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, currentFunction->Parameters[i]->Value = getVarValue(); } } + break; case 265: -/* Line 936 of glr.c */ - { clearVarValue(); } + break; case 267: -/* Line 936 of glr.c */ - { postSig("="); clearVarValue(); markSig(); } + break; case 268: -/* Line 936 of glr.c */ - { chopSig(); setVarValue(copySig()); } + break; case 269: -/* Line 936 of glr.c */ - { clearVarValue(); markSig(); } + break; case 270: -/* Line 936 of glr.c */ - { chopSig(); setVarValue(copySig()); } + break; case 272: -/* Line 936 of glr.c */ - { unsigned int type = getType(); ValueInfo *var = (ValueInfo *)malloc(sizeof(ValueInfo)); @@ -7159,7 +6813,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, var->ItemType = VTK_VARIABLE_INFO; var->Access = access_level; - handle_complex_type(var, type, (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), getSig()); + handle_complex_type(var, type, (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer), getSig()); var->Name = getVarName(); @@ -7209,1277 +6863,1109 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, } } } + break; case 276: -/* Line 936 of glr.c */ - { postSig(", "); } + break; case 279: -/* Line 936 of glr.c */ - { setTypePtr(0); } + break; case 280: -/* Line 936 of glr.c */ + { setTypePtr((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypePtr((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 281: -/* Line 936 of glr.c */ - { - if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) + if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) { - ((*yyvalp).integer) = (VTK_PARSE_FUNCTION_PTR | (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer)); + ((*yyvalp).integer) = (VTK_PARSE_FUNCTION_PTR | (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer)); } else { - ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer); + ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer); } } + break; case 282: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 283: -/* Line 936 of glr.c */ - { const char *scope = getScope(); - unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (6))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.integer)); - if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (6))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) + unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.integer)); + if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) { if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); } getFunction()->Class = scope; ((*yyvalp).integer) = (parens | VTK_PARSE_FUNCTION); } - else if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((6) - (6))].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY) + else if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY) { ((*yyvalp).integer) = add_indirection_to_array(parens); } } + break; case 284: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.integer); } - { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.integer); } break; case 285: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 286: -/* Line 936 of glr.c */ - { const char *scope = getScope(); - unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (5))].yystate.yysemantics.yysval.integer)); - if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) + unsigned int parens = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.integer)); + if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) == VTK_PARSE_FUNCTION) { if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); } getFunction()->Class = scope; ((*yyvalp).integer) = (parens | VTK_PARSE_FUNCTION); } - else if ((((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY) + else if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) == VTK_PARSE_ARRAY) { ((*yyvalp).integer) = add_indirection_to_array(parens); } } + break; case 287: -/* Line 936 of glr.c */ + { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig("*"); } - { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("*"); } break; case 288: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer); } - { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.integer); } break; case 289: -/* Line 936 of glr.c */ - - { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("&"); + { postSig("("); scopeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig("&"); ((*yyvalp).integer) = VTK_PARSE_REF; } + break; case 290: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 291: -/* Line 936 of glr.c */ - { pushFunction(); postSig("("); } + break; case 292: -/* Line 936 of glr.c */ - { postSig(")"); } + break; case 293: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_PARSE_FUNCTION; popFunction(); } + break; case 294: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_PARSE_ARRAY; } + break; case 297: -/* Line 936 of glr.c */ - { currentFunction->IsConst = 1; } + break; case 302: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 304: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { ((*yyvalp).integer) = add_indirection((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 305: -/* Line 936 of glr.c */ - { clearVarName(); chopSig(); } + break; case 307: -/* Line 936 of glr.c */ + { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); } break; case 308: -/* Line 936 of glr.c */ + { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.str)); } - { setVarName((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (4))].yystate.yysemantics.yysval.str)); } break; case 312: -/* Line 936 of glr.c */ - { clearArray(); } + break; case 314: -/* Line 936 of glr.c */ - { clearArray(); } + break; case 318: -/* Line 936 of glr.c */ - { postSig("["); } + break; case 319: -/* Line 936 of glr.c */ - { postSig("]"); } + break; case 320: -/* Line 936 of glr.c */ - { pushArraySize(""); } + break; case 321: -/* Line 936 of glr.c */ - { markSig(); } + break; case 322: -/* Line 936 of glr.c */ - { chopSig(); pushArraySize(copySig()); } + break; case 328: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 329: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat("~", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 330: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 331: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 332: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 333: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 334: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 335: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 336: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 337: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 338: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat3((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (3))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 339: -/* Line 936 of glr.c */ - { postSig("template "); } + break; case 340: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat4((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), "template ", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat4((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (5))].yystate.yysemantics.yysval.str), "template ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str), (((yyGLRStackItem const *)yyvsp)[YYFILL ((5) - (5))].yystate.yysemantics.yysval.str)); } break; case 341: -/* Line 936 of glr.c */ - { postSig("~"); } + break; case 342: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 343: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "::"; postSig(((*yyvalp).str)); } + break; case 344: -/* Line 936 of glr.c */ + { markSig(); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); postSig("<"); } - { markSig(); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); postSig("<"); } break; case 345: -/* Line 936 of glr.c */ - { chopSig(); if (getSig()[getSigLength()-1] == '>') { postSig(" "); } postSig(">"); ((*yyvalp).str) = copySig(); clearTypeId(); } + break; case 346: -/* Line 936 of glr.c */ - { markSig(); postSig("decltype"); } + break; case 347: -/* Line 936 of glr.c */ - { chopSig(); ((*yyvalp).str) = copySig(); clearTypeId(); } + break; case 348: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 349: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 350: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 351: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 352: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 353: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 354: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 355: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 356: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 357: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 358: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeInt8"; postSig(((*yyvalp).str)); } + break; case 359: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeUInt8"; postSig(((*yyvalp).str)); } + break; case 360: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeInt16"; postSig(((*yyvalp).str)); } + break; case 361: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeUInt16"; postSig(((*yyvalp).str)); } + break; case 362: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeInt32"; postSig(((*yyvalp).str)); } + break; case 363: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeUInt32"; postSig(((*yyvalp).str)); } + break; case 364: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeInt64"; postSig(((*yyvalp).str)); } + break; case 365: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeUInt64"; postSig(((*yyvalp).str)); } + break; case 366: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeFloat32"; postSig(((*yyvalp).str)); } + break; case 367: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkTypeFloat64"; postSig(((*yyvalp).str)); } + break; case 368: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "vtkIdType"; postSig(((*yyvalp).str)); } + break; case 379: -/* Line 936 of glr.c */ + { setTypeBase(buildTypeBase(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer))); } - { setTypeBase(buildTypeBase(getType(), (((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer))); } break; case 380: -/* Line 936 of glr.c */ - { setTypeMod(VTK_PARSE_TYPEDEF); } + break; case 381: -/* Line 936 of glr.c */ - { setTypeMod(VTK_PARSE_FRIEND); } + break; case 384: -/* Line 936 of glr.c */ + { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 385: -/* Line 936 of glr.c */ + { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 386: -/* Line 936 of glr.c */ + { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeMod((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 387: -/* Line 936 of glr.c */ - { postSig("constexpr "); ((*yyvalp).integer) = 0; } + break; case 388: -/* Line 936 of glr.c */ - { postSig("mutable "); ((*yyvalp).integer) = VTK_PARSE_MUTABLE; } + break; case 389: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 390: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 391: -/* Line 936 of glr.c */ - { postSig("static "); ((*yyvalp).integer) = VTK_PARSE_STATIC; } + break; case 392: -/* Line 936 of glr.c */ - { postSig("thread_local "); ((*yyvalp).integer) = VTK_PARSE_THREAD_LOCAL; } + break; case 393: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = 0; } + break; case 394: -/* Line 936 of glr.c */ - { postSig("virtual "); ((*yyvalp).integer) = VTK_PARSE_VIRTUAL; } + break; case 395: -/* Line 936 of glr.c */ - { postSig("explicit "); ((*yyvalp).integer) = VTK_PARSE_EXPLICIT; } + break; case 396: -/* Line 936 of glr.c */ - { postSig("const "); ((*yyvalp).integer) = VTK_PARSE_CONST; } + break; case 397: -/* Line 936 of glr.c */ - { postSig("volatile "); ((*yyvalp).integer) = VTK_PARSE_VOLATILE; } + break; case 399: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 401: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 403: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 406: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (3))].yystate.yysemantics.yysval.str)); } break; case 407: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); } break; case 409: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; } break; case 410: -/* Line 936 of glr.c */ - { postSig("typename "); } + break; case 411: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); } break; case 412: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); } break; case 413: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.str)); } break; case 415: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 417: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 420: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer)); } break; case 422: -/* Line 936 of glr.c */ + { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { setTypeBase((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 425: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = 0; } break; case 426: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 427: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); } break; case 428: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 429: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 430: -/* Line 936 of glr.c */ + { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { postSig(" "); setTypeId((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = guess_id_type((((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 431: -/* Line 936 of glr.c */ - { setTypeId(""); } + break; case 433: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_STRING; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_STRING; } break; case 434: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNICODE_STRING;} - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNICODE_STRING;} break; case 435: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OSTREAM; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OSTREAM; } break; case 436: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_ISTREAM; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_ISTREAM; } break; case 437: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNKNOWN; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_UNKNOWN; } break; case 438: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OBJECT; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_OBJECT; } break; case 439: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_QOBJECT; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_QOBJECT; } break; case 440: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_NULLPTR_T; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_NULLPTR_T; } break; case 441: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SSIZE_T; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SSIZE_T; } break; case 442: -/* Line 936 of glr.c */ + { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SIZE_T; } - { typeSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); ((*yyvalp).integer) = VTK_PARSE_SIZE_T; } break; case 443: -/* Line 936 of glr.c */ - { typeSig("vtkTypeInt8"); ((*yyvalp).integer) = VTK_PARSE_INT8; } + break; case 444: -/* Line 936 of glr.c */ - { typeSig("vtkTypeUInt8"); ((*yyvalp).integer) = VTK_PARSE_UINT8; } + break; case 445: -/* Line 936 of glr.c */ - { typeSig("vtkTypeInt16"); ((*yyvalp).integer) = VTK_PARSE_INT16; } + break; case 446: -/* Line 936 of glr.c */ - { typeSig("vtkTypeUInt16"); ((*yyvalp).integer) = VTK_PARSE_UINT16; } + break; case 447: -/* Line 936 of glr.c */ - { typeSig("vtkTypeInt32"); ((*yyvalp).integer) = VTK_PARSE_INT32; } + break; case 448: -/* Line 936 of glr.c */ - { typeSig("vtkTypeUInt32"); ((*yyvalp).integer) = VTK_PARSE_UINT32; } + break; case 449: -/* Line 936 of glr.c */ - { typeSig("vtkTypeInt64"); ((*yyvalp).integer) = VTK_PARSE_INT64; } + break; case 450: -/* Line 936 of glr.c */ - { typeSig("vtkTypeUInt64"); ((*yyvalp).integer) = VTK_PARSE_UINT64; } + break; case 451: -/* Line 936 of glr.c */ - { typeSig("vtkTypeFloat32"); ((*yyvalp).integer) = VTK_PARSE_FLOAT32; } + break; case 452: -/* Line 936 of glr.c */ - { typeSig("vtkTypeFloat64"); ((*yyvalp).integer) = VTK_PARSE_FLOAT64; } + break; case 453: -/* Line 936 of glr.c */ - { typeSig("vtkIdType"); ((*yyvalp).integer) = VTK_PARSE_ID_TYPE; } + break; case 454: -/* Line 936 of glr.c */ - { postSig("auto "); ((*yyvalp).integer) = 0; } + break; case 455: -/* Line 936 of glr.c */ - { postSig("void "); ((*yyvalp).integer) = VTK_PARSE_VOID; } + break; case 456: -/* Line 936 of glr.c */ - { postSig("bool "); ((*yyvalp).integer) = VTK_PARSE_BOOL; } + break; case 457: -/* Line 936 of glr.c */ - { postSig("float "); ((*yyvalp).integer) = VTK_PARSE_FLOAT; } + break; case 458: -/* Line 936 of glr.c */ - { postSig("double "); ((*yyvalp).integer) = VTK_PARSE_DOUBLE; } + break; case 459: -/* Line 936 of glr.c */ - { postSig("char "); ((*yyvalp).integer) = VTK_PARSE_CHAR; } + break; case 460: -/* Line 936 of glr.c */ - { postSig("char16_t "); ((*yyvalp).integer) = VTK_PARSE_CHAR16_T; } + break; case 461: -/* Line 936 of glr.c */ - { postSig("char32_t "); ((*yyvalp).integer) = VTK_PARSE_CHAR32_T; } + break; case 462: -/* Line 936 of glr.c */ - { postSig("wchar_t "); ((*yyvalp).integer) = VTK_PARSE_WCHAR_T; } + break; case 463: -/* Line 936 of glr.c */ - { postSig("int "); ((*yyvalp).integer) = VTK_PARSE_INT; } + break; case 464: -/* Line 936 of glr.c */ - { postSig("short "); ((*yyvalp).integer) = VTK_PARSE_SHORT; } + break; case 465: -/* Line 936 of glr.c */ - { postSig("long "); ((*yyvalp).integer) = VTK_PARSE_LONG; } + break; case 466: -/* Line 936 of glr.c */ - { postSig("__int64 "); ((*yyvalp).integer) = VTK_PARSE___INT64; } + break; case 467: -/* Line 936 of glr.c */ - { postSig("signed "); ((*yyvalp).integer) = VTK_PARSE_INT; } + break; case 468: -/* Line 936 of glr.c */ - { postSig("unsigned "); ((*yyvalp).integer) = VTK_PARSE_UNSIGNED_INT; } + break; case 472: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); } - { ((*yyvalp).integer) = ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); } break; case 473: -/* Line 936 of glr.c */ - { postSig("&"); ((*yyvalp).integer) = VTK_PARSE_REF; } + break; case 474: -/* Line 936 of glr.c */ - { postSig("&&"); ((*yyvalp).integer) = (VTK_PARSE_RVALUE | VTK_PARSE_REF); } + break; case 475: -/* Line 936 of glr.c */ - { postSig("*"); } + break; case 476: -/* Line 936 of glr.c */ + { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer); } - { ((*yyvalp).integer) = (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (4))].yystate.yysemantics.yysval.integer); } break; case 477: -/* Line 936 of glr.c */ - { ((*yyvalp).integer) = VTK_PARSE_POINTER; } + break; case 478: -/* Line 936 of glr.c */ - { - if (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer) & VTK_PARSE_CONST) != 0) + if (((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) & VTK_PARSE_CONST) != 0) { ((*yyvalp).integer) = VTK_PARSE_CONST_POINTER; } - if (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.integer) & VTK_PARSE_VOLATILE) != 0) + if (((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer) & VTK_PARSE_VOLATILE) != 0) { ((*yyvalp).integer) = VTK_PARSE_BAD_INDIRECT; } } + break; case 480: -/* Line 936 of glr.c */ - { unsigned int n; - n = (((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (2))].yystate.yysemantics.yysval.integer) << 2) | (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.integer)); + n = (((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.integer) << 2) | (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.integer)); if ((n & VTK_PARSE_INDIRECT) != n) { n = VTK_PARSE_BAD_INDIRECT; } ((*yyvalp).integer) = n; } + break; case 483: -/* Line 936 of glr.c */ - { closeSig(); } + break; case 484: -/* Line 936 of glr.c */ - { openSig(); } + break; case 486: -/* Line 936 of glr.c */ - {preSig("void Set"); postSig("(");} + break; case 487: -/* Line 936 of glr.c */ - { postSig("a);"); currentFunction->Macro = "vtkSetMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); add_parameter(currentFunction, getType(), getTypeId(), 0); set_return(currentFunction, VTK_PARSE_VOID, "void", 0); output_function(); } + break; case 488: -/* Line 936 of glr.c */ - {postSig("Get");} + break; case 489: -/* Line 936 of glr.c */ - {markSig();} + break; case 490: -/* Line 936 of glr.c */ - {swapSig();} + break; case 491: -/* Line 936 of glr.c */ - { postSig("();"); currentFunction->Macro = "vtkGetMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (9))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, getType(), getTypeId(), 0); output_function(); } + break; case 492: -/* Line 936 of glr.c */ - {preSig("void Set");} + break; case 493: -/* Line 936 of glr.c */ - { postSig("(char *);"); currentFunction->Macro = "vtkSetStringMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); add_parameter(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0); set_return(currentFunction, VTK_PARSE_VOID, "void", 0); output_function(); } + break; case 494: -/* Line 936 of glr.c */ - {preSig("char *Get");} + break; case 495: -/* Line 936 of glr.c */ - { postSig("();"); currentFunction->Macro = "vtkGetStringMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (5))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0); output_function(); } + break; case 496: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 497: -/* Line 936 of glr.c */ - {closeSig();} + break; case 498: -/* Line 936 of glr.c */ - { const char *typeText; chopSig(); typeText = copySig(); currentFunction->Macro = "vtkSetClampMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat5("void ", currentFunction->Name, "(", typeText, ");"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8488,7 +7974,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkSetClampMacro"; - currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str), "MinValue"); + currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.str), "MinValue"); currentFunction->Signature = vtkstrcat4(typeText, " ", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8496,79 +7982,72 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkSetClampMacro"; - currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (10))].yystate.yysemantics.yysval.str), "MaxValue"); + currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.str), "MaxValue"); currentFunction->Signature = vtkstrcat4(typeText, " ", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, getType(), getTypeId(), 0); output_function(); } + break; case 499: -/* Line 936 of glr.c */ - {preSig("void Set"); postSig("("); } + break; case 500: -/* Line 936 of glr.c */ - { postSig("*);"); currentFunction->Macro = "vtkSetObjectMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); add_parameter(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0); set_return(currentFunction, VTK_PARSE_VOID, "void", 0); output_function(); } + break; case 501: -/* Line 936 of glr.c */ - {postSig("*Get");} + break; case 502: -/* Line 936 of glr.c */ - {markSig();} + break; case 503: -/* Line 936 of glr.c */ - {swapSig();} + break; case 504: -/* Line 936 of glr.c */ - { postSig("();"); currentFunction->Macro = "vtkGetObjectMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((4) - (9))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.str)); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0); output_function(); } + break; case 505: -/* Line 936 of glr.c */ - { currentFunction->Macro = "vtkBooleanMacro"; - currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.str), "On"); + currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.str), "On"); currentFunction->Comment = vtkstrdup(getComment()); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "();"); @@ -8576,211 +8055,190 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkBooleanMacro"; - currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (6))].yystate.yysemantics.yysval.str), "Off"); + currentFunction->Name = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.str), "Off"); currentFunction->Comment = vtkstrdup(getComment()); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "();"); set_return(currentFunction, VTK_PARSE_VOID, "void", 0); output_function(); } + break; case 506: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 507: -/* Line 936 of glr.c */ - { chopSig(); - outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 2); + outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 2); } + break; case 508: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 509: -/* Line 936 of glr.c */ - { chopSig(); - outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 2); + outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 2); } + break; case 510: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 511: -/* Line 936 of glr.c */ - { chopSig(); - outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 3); + outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 3); } + break; case 512: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 513: -/* Line 936 of glr.c */ - { chopSig(); - outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 3); + outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 3); } + break; case 514: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 515: -/* Line 936 of glr.c */ - { chopSig(); - outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 4); + outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 4); } + break; case 516: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 517: -/* Line 936 of glr.c */ - { chopSig(); - outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 4); + outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 4); } + break; case 518: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 519: -/* Line 936 of glr.c */ - { chopSig(); - outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 6); + outputSetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 6); } + break; case 520: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 521: -/* Line 936 of glr.c */ - { chopSig(); - outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), getType(), copySig(), 6); + outputGetVectorMacro((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), getType(), copySig(), 6); } + break; case 522: -/* Line 936 of glr.c */ - {startSig(); markSig();} + break; case 523: -/* Line 936 of glr.c */ - { const char *typeText; chopSig(); typeText = copySig(); currentFunction->Macro = "vtkSetVectorMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat7("void ", currentFunction->Name, "(", typeText, - " a[", (((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), "]);"); + " a[", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), "]);"); currentFunction->Comment = vtkstrdup(getComment()); add_parameter(currentFunction, (VTK_PARSE_POINTER | getType()), - getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), NULL, 0)); + getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), NULL, 0)); set_return(currentFunction, VTK_PARSE_VOID, "void", 0); output_function(); } + break; case 524: -/* Line 936 of glr.c */ - {startSig();} + break; case 525: -/* Line 936 of glr.c */ - { chopSig(); currentFunction->Macro = "vtkGetVectorMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (9))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.str)); postSig(" *"); postSig(currentFunction->Name); postSig("();"); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, (VTK_PARSE_POINTER | getType()), - getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL ((8) - (9))].yystate.yysemantics.yysval.str), NULL, 0)); + getTypeId(), (int)strtol((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), NULL, 0)); output_function(); } + break; case 526: -/* Line 936 of glr.c */ - { currentFunction->Macro = "vtkViewportCoordinateMacro"; - currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), "Coordinate"); + currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), "Coordinate"); currentFunction->Signature = vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8788,7 +8246,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkViewportCoordinateMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "(double, double);"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8798,7 +8256,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkViewportCoordinateMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "(double a[2]);"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8807,22 +8265,21 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkViewportCoordinateMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("double *", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 2); output_function(); } + break; case 527: -/* Line 936 of glr.c */ - { currentFunction->Macro = "vtkWorldCoordinateMacro"; - currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str), "Coordinate"); + currentFunction->Name = vtkstrcat3("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str), "Coordinate"); currentFunction->Signature = vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8830,7 +8287,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkWorldCoordinateMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "(double, double, double);"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8841,7 +8298,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkWorldCoordinateMacro"; - currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Set", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("void ", currentFunction->Name, "(double a[3]);"); currentFunction->Comment = vtkstrdup(getComment()); @@ -8850,19 +8307,18 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, output_function(); currentFunction->Macro = "vtkWorldCoordinateMacro"; - currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (4))].yystate.yysemantics.yysval.str)); + currentFunction->Name = vtkstrcat("Get", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.str)); currentFunction->Signature = vtkstrcat3("double *", currentFunction->Name, "();"); currentFunction->Comment = vtkstrdup(getComment()); set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 3); output_function(); } + break; case 528: -/* Line 936 of glr.c */ - { currentFunction->Macro = "vtkTypeMacro"; currentFunction->Name = "GetClassName"; @@ -8883,577 +8339,498 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, currentFunction->Macro = "vtkTypeMacro"; currentFunction->Name = "NewInstance"; - currentFunction->Signature = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), " *NewInstance();"); + currentFunction->Signature = vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), " *NewInstance();"); currentFunction->Comment = vtkstrdup(getComment()); - set_return(currentFunction, VTK_PARSE_OBJECT_PTR, (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), 0); + set_return(currentFunction, VTK_PARSE_OBJECT_PTR, (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), 0); output_function(); currentFunction->Macro = "vtkTypeMacro"; currentFunction->Name = "SafeDownCast"; currentFunction->Signature = - vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), " *SafeDownCast(vtkObject* o);"); + vtkstrcat((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), " *SafeDownCast(vtkObject* o);"); currentFunction->Comment = vtkstrdup(getComment()); add_parameter(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkObject", 0); set_return(currentFunction, (VTK_PARSE_STATIC | VTK_PARSE_OBJECT_PTR), - (((yyGLRStackItem const *)yyvsp)[YYFILL ((3) - (7))].yystate.yysemantics.yysval.str), 0); + (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.str), 0); output_function(); } + break; case 531: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "()"; } + break; case 532: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "[]"; } + break; case 533: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = " new[]"; } + break; case 534: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = " delete[]"; } + break; case 535: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "<"; } + break; case 536: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ">"; } + break; case 537: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ","; } + break; case 538: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "="; } + break; case 539: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ">>"; } + break; case 540: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ">>"; } + break; case 541: -/* Line 936 of glr.c */ + { ((*yyvalp).str) = vtkstrcat("\"\" ", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); } - { ((*yyvalp).str) = vtkstrcat("\"\" ", (((yyGLRStackItem const *)yyvsp)[YYFILL ((2) - (2))].yystate.yysemantics.yysval.str)); } break; case 543: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "%"; } + break; case 544: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "*"; } + break; case 545: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "/"; } + break; case 546: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "-"; } + break; case 547: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "+"; } + break; case 548: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "!"; } + break; case 549: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "~"; } + break; case 550: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "&"; } + break; case 551: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "|"; } + break; case 552: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "^"; } + break; case 553: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = " new"; } + break; case 554: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = " delete"; } + break; case 555: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "<<="; } + break; case 556: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ">>="; } + break; case 557: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "<<"; } + break; case 558: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ".*"; } + break; case 559: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "->*"; } + break; case 560: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "->"; } + break; case 561: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "+="; } + break; case 562: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "-="; } + break; case 563: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "*="; } + break; case 564: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "/="; } + break; case 565: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "%="; } + break; case 566: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "++"; } + break; case 567: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "--"; } + break; case 568: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "&="; } + break; case 569: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "|="; } + break; case 570: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "^="; } + break; case 571: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "&&"; } + break; case 572: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "||"; } + break; case 573: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "=="; } + break; case 574: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "!="; } + break; case 575: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "<="; } + break; case 576: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = ">="; } + break; case 577: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "typedef"; } + break; case 578: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "typename"; } + break; case 579: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "class"; } + break; case 580: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "struct"; } + break; case 581: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "union"; } + break; case 582: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "template"; } + break; case 583: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "public"; } + break; case 584: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "protected"; } + break; case 585: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "private"; } + break; case 586: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "const"; } + break; case 587: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "static"; } + break; case 588: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "thread_local"; } + break; case 589: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "constexpr"; } + break; case 590: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "inline"; } + break; case 591: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "virtual"; } + break; case 592: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "explicit"; } + break; case 593: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "decltype"; } + break; case 594: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "default"; } + break; case 595: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "extern"; } + break; case 596: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "using"; } + break; case 597: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "namespace"; } + break; case 598: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "operator"; } + break; case 599: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "enum"; } + break; case 600: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "throw"; } + break; case 601: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "noexcept"; } + break; case 602: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "const_cast"; } + break; case 603: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "dynamic_cast"; } + break; case 604: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "static_cast"; } + break; case 605: -/* Line 936 of glr.c */ - { ((*yyvalp).str) = "reinterpret_cast"; } + break; case 618: -/* Line 936 of glr.c */ - { postSig("< "); } + break; case 619: -/* Line 936 of glr.c */ - { postSig("> "); } + break; case 621: -/* Line 936 of glr.c */ - { postSig(">"); } + break; case 623: -/* Line 936 of glr.c */ - { chopSig(); postSig("::"); } + break; case 627: -/* Line 936 of glr.c */ - { - if ((((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '+' || ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '-' || - ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '*' || ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[0] == '&') && - ((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str))[1] == '\0') + if ((((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str))[0] == '+' || ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str))[0] == '-' || + ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str))[0] == '*' || ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str))[0] == '&') && + ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str))[1] == '\0') { int c1 = 0; size_t l; @@ -9466,7 +8843,7 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, { postSig(" "); } - postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); + postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); if (vtkParse_CharType(c1, (CPRE_IDGIT|CPRE_QUOTE)) || c1 == ')' || c1 == ']') { @@ -9475,44 +8852,39 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, } else { - postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); + postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig(" "); } } + break; case 628: -/* Line 936 of glr.c */ - { postSig(":"); postSig(" "); } + break; case 629: -/* Line 936 of glr.c */ - { postSig("."); } + break; case 630: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig(" "); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig(" "); } break; case 631: -/* Line 936 of glr.c */ + { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig(" "); } - { postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig(" "); } break; case 633: -/* Line 936 of glr.c */ - { int c1 = 0; size_t l; @@ -9534,173 +8906,150 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, } postSig(" "); } + break; case 637: -/* Line 936 of glr.c */ - { postSig("< "); } + break; case 638: -/* Line 936 of glr.c */ - { postSig("> "); } + break; case 639: -/* Line 936 of glr.c */ - { postSig(">"); } + break; case 641: -/* Line 936 of glr.c */ - { postSig("= "); } + break; case 642: -/* Line 936 of glr.c */ - { chopSig(); postSig(", "); } + break; case 644: -/* Line 936 of glr.c */ - { chopSig(); postSig(";"); } + break; case 652: -/* Line 936 of glr.c */ - { postSig("= "); } + break; case 653: -/* Line 936 of glr.c */ - { chopSig(); postSig(", "); } + break; case 654: -/* Line 936 of glr.c */ - { chopSig(); if (getSig()[getSigLength()-1] == '<') { postSig(" "); } postSig("<"); } + break; case 655: -/* Line 936 of glr.c */ - { chopSig(); if (getSig()[getSigLength()-1] == '>') { postSig(" "); } postSig("> "); } + break; case 658: -/* Line 936 of glr.c */ - { postSig("["); } + break; case 659: -/* Line 936 of glr.c */ - { chopSig(); postSig("] "); } + break; case 660: -/* Line 936 of glr.c */ - { postSig("[["); } + break; case 661: -/* Line 936 of glr.c */ - { chopSig(); postSig("]] "); } + break; case 662: -/* Line 936 of glr.c */ - { postSig("("); } + break; case 663: -/* Line 936 of glr.c */ - { chopSig(); postSig(") "); } + break; case 664: -/* Line 936 of glr.c */ + { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig("*"); } - { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("*"); } break; case 665: -/* Line 936 of glr.c */ - { chopSig(); postSig(") "); } + break; case 666: -/* Line 936 of glr.c */ + { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.str)); postSig("&"); } - { postSig("("); postSig((((yyGLRStackItem const *)yyvsp)[YYFILL ((1) - (1))].yystate.yysemantics.yysval.str)); postSig("&"); } break; case 667: -/* Line 936 of glr.c */ - { chopSig(); postSig(") "); } + break; case 668: -/* Line 936 of glr.c */ - { postSig("{ "); } + break; case 669: -/* Line 936 of glr.c */ - { postSig("} "); } - break; + break; -/* Line 936 of glr.c */ default: break; } @@ -9714,9 +9063,9 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, # undef yyclearin # undef YYRECOVERING } - -/*ARGSUSED*/ static void + +static void yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1) { YYUSE (yy0); @@ -9735,22 +9084,17 @@ yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1) | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) { YYUSE (yyvaluep); - if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - switch (yytype) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END } /** Number of symbols composing the right hand side of rule #RULE. */ @@ -9772,12 +9116,10 @@ yydestroyGLRState (char const *yymsg, yyGLRState *yys) if (yydebug) { if (yys->yysemantics.yyfirstVal) - YYFPRINTF (stderr, "%s unresolved ", yymsg); + YYFPRINTF (stderr, "%s unresolved", yymsg); else - YYFPRINTF (stderr, "%s incomplete ", yymsg); - yy_symbol_print (stderr, yystos[yys->yylrState], - NULL); - YYFPRINTF (stderr, "\n"); + YYFPRINTF (stderr, "%s incomplete", yymsg); + YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc); } #endif @@ -9794,53 +9136,54 @@ yydestroyGLRState (char const *yymsg, yyGLRState *yys) } } -/** Left-hand-side symbol for rule #RULE. */ +/** Left-hand-side symbol for rule #YYRULE. */ static yySymbol yylhsNonterm (yyRuleNum yyrule) { return yyr1[yyrule]; } -#define yyis_pact_ninf(yystate) \ - ((yystate) == YYPACT_NINF) +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-1028))) -/** True iff LR state STATE has only a default reduction (regardless +/** True iff LR state YYSTATE has only a default reduction (regardless * of token). */ static yybool yyisDefaultedState (yyStateNum yystate) { - return yyis_pact_ninf (yypact[yystate]); + return yypact_value_is_default (yypact[yystate]); } -/** The default reduction for STATE, assuming it has one. */ +/** The default reduction for YYSTATE, assuming it has one. */ static yyRuleNum yydefaultAction (yyStateNum yystate) { return yydefact[yystate]; } -#define yyis_table_ninf(yytable_value) \ - YYID (0) +#define yytable_value_is_error(Yytable_value) \ + 0 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN. * Result R means * R < 0: Reduce on rule -R. * R = 0: Error. * R > 0: Shift to state R. - * Set *CONFLICTS to a pointer into yyconfl to 0-terminated list of - * conflicting reductions. + * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list + * of conflicting reductions. */ static void yygetLRActions (yyStateNum yystate, int yytoken, int* yyaction, const short int** yyconflicts) { int yyindex = yypact[yystate] + yytoken; - if (yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken) + if (yypact_value_is_default (yypact[yystate]) + || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken) { *yyaction = -yydefact[yystate]; *yyconflicts = yyconfl; } - else if (! yyis_table_ninf (yytable[yyindex])) + else if (! yytable_value_is_error (yytable[yyindex])) { *yyaction = yytable[yyindex]; *yyconflicts = yyconfl + yyconflp[yyindex]; @@ -9852,15 +9195,18 @@ yygetLRActions (yyStateNum yystate, int yytoken, } } +/** Compute post-reduction state. + * \param yystate the current state + * \param yysym the nonterminal to push on the stack + */ static yyStateNum -yyLRgotoState (yyStateNum yystate, yySymbol yylhs) +yyLRgotoState (yyStateNum yystate, yySymbol yysym) { - int yyr; - yyr = yypgoto[yylhs - YYNTOKENS] + yystate; + int yyr = yypgoto[yysym - YYNTOKENS] + yystate; if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate) return yytable[yyr]; else - return yydefgoto[yylhs - YYNTOKENS]; + return yydefgoto[yysym - YYNTOKENS]; } static yybool @@ -9877,9 +9223,10 @@ yyisErrorAction (int yyaction) /* GLRStates */ -/** Return a fresh GLRStackItem. Callers should call - * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient - * headroom. */ +/** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state + * if YYISSTATE, and otherwise a semantic option. Callers should call + * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient + * headroom. */ static yyGLRStackItem* yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState) @@ -9892,22 +9239,22 @@ yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState) } /** Add a new semantic action that will execute the action for rule - * RULENUM on the semantic values in RHS to the list of - * alternative actions for STATE. Assumes that RHS comes from - * stack #K of *STACKP. */ + * YYRULE on the semantic values in YYRHS to the list of + * alternative actions for YYSTATE. Assumes that YYRHS comes from + * stack #YYK of *YYSTACKP. */ static void yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate, - yyGLRState* rhs, yyRuleNum yyrule) + yyGLRState* yyrhs, yyRuleNum yyrule) { yySemanticOption* yynewOption = &yynewGLRStackItem (yystackp, yyfalse)->yyoption; - yynewOption->yystate = rhs; + YYASSERT (!yynewOption->yyisState); + yynewOption->yystate = yyrhs; yynewOption->yyrule = yyrule; if (yystackp->yytops.yylookaheadNeeds[yyk]) { yynewOption->yyrawchar = yychar; yynewOption->yyval = yylval; - yynewOption->yyloc = yylloc; } else yynewOption->yyrawchar = YYEMPTY; @@ -9919,7 +9266,7 @@ yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate, /* GLRStacks */ -/** Initialize SET to a singleton set containing an empty stack. */ +/** Initialize YYSET to a singleton set containing an empty stack. */ static yybool yyinitStateSet (yyGLRStateSet* yyset) { @@ -9928,7 +9275,7 @@ yyinitStateSet (yyGLRStateSet* yyset) yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]); if (! yyset->yystates) return yyfalse; - yyset->yystates[0] = NULL; + yyset->yystates[0] = YY_NULLPTR; yyset->yylookaheadNeeds = (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]); if (! yyset->yylookaheadNeeds) @@ -9945,8 +9292,8 @@ static void yyfreeStateSet (yyGLRStateSet* yyset) YYFREE (yyset->yylookaheadNeeds); } -/** Initialize STACK to a single empty stack, with total maximum - * capacity for all stacks of SIZE. */ +/** Initialize *YYSTACKP to a single empty stack, with total maximum + * capacity for all stacks of YYSIZE. */ static yybool yyinitGLRStack (yyGLRStack* yystackp, size_t yysize) { @@ -9958,8 +9305,8 @@ yyinitGLRStack (yyGLRStack* yystackp, size_t yysize) if (!yystackp->yyitems) return yyfalse; yystackp->yynextFree = yystackp->yyitems; - yystackp->yysplitPoint = NULL; - yystackp->yylastDeleted = NULL; + yystackp->yysplitPoint = YY_NULLPTR; + yystackp->yylastDeleted = YY_NULLPTR; return yyinitStateSet (&yystackp->yytops); } @@ -9968,7 +9315,7 @@ yyinitGLRStack (yyGLRStack* yystackp, size_t yysize) # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \ &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE -/** If STACK is expandable, extend it. WARNING: Pointers into the +/** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the stack from outside should be considered invalid after this call. We always expand when there are 1 or fewer items left AFTER an allocation, so that we can avoid having external pointers exist @@ -9978,9 +9325,9 @@ yyexpandGLRStack (yyGLRStack* yystackp) { yyGLRStackItem* yynewItems; yyGLRStackItem* yyp0, *yyp1; - size_t yysize, yynewSize; + size_t yynewSize; size_t yyn; - yysize = yystackp->yynextFree - yystackp->yyitems; + size_t yysize = yystackp->yynextFree - yystackp->yyitems; if (YYMAXDEPTH - YYHEADROOM < yysize) yyMemoryExhausted (yystackp); yynewSize = 2*yysize; @@ -9998,29 +9345,29 @@ yyexpandGLRStack (yyGLRStack* yystackp) { yyGLRState* yys0 = &yyp0->yystate; yyGLRState* yys1 = &yyp1->yystate; - if (yys0->yypred != NULL) + if (yys0->yypred != YY_NULLPTR) yys1->yypred = YYRELOC (yyp0, yyp1, yys0->yypred, yystate); - if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != NULL) + if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR) yys1->yysemantics.yyfirstVal = - YYRELOC(yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption); + YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption); } else { yySemanticOption* yyv0 = &yyp0->yyoption; yySemanticOption* yyv1 = &yyp1->yyoption; - if (yyv0->yystate != NULL) + if (yyv0->yystate != YY_NULLPTR) yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate); - if (yyv0->yynext != NULL) + if (yyv0->yynext != YY_NULLPTR) yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption); } } - if (yystackp->yysplitPoint != NULL) + if (yystackp->yysplitPoint != YY_NULLPTR) yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems, - yystackp->yysplitPoint, yystate); + yystackp->yysplitPoint, yystate); for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1) - if (yystackp->yytops.yystates[yyn] != NULL) + if (yystackp->yytops.yystates[yyn] != YY_NULLPTR) yystackp->yytops.yystates[yyn] = YYRELOC (yystackp->yyitems, yynewItems, yystackp->yytops.yystates[yyn], yystate); @@ -10038,37 +9385,37 @@ yyfreeGLRStack (yyGLRStack* yystackp) yyfreeStateSet (&yystackp->yytops); } -/** Assuming that S is a GLRState somewhere on STACK, update the - * splitpoint of STACK, if needed, so that it is at least as deep as - * S. */ +/** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the + * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as + * YYS. */ static void yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys) { - if (yystackp->yysplitPoint != NULL && yystackp->yysplitPoint > yys) + if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys) yystackp->yysplitPoint = yys; } -/** Invalidate stack #K in STACK. */ +/** Invalidate stack #YYK in *YYSTACKP. */ static void yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk) { - if (yystackp->yytops.yystates[yyk] != NULL) + if (yystackp->yytops.yystates[yyk] != YY_NULLPTR) yystackp->yylastDeleted = yystackp->yytops.yystates[yyk]; - yystackp->yytops.yystates[yyk] = NULL; + yystackp->yytops.yystates[yyk] = YY_NULLPTR; } -/** Undelete the last stack that was marked as deleted. Can only be - done once after a deletion, and only when all other stacks have +/** Undelete the last stack in *YYSTACKP that was marked as deleted. Can + only be done once after a deletion, and only when all other stacks have been deleted. */ static void yyundeleteLastStack (yyGLRStack* yystackp) { - if (yystackp->yylastDeleted == NULL || yystackp->yytops.yysize != 0) + if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0) return; yystackp->yytops.yystates[0] = yystackp->yylastDeleted; yystackp->yytops.yysize = 1; YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n")); - yystackp->yylastDeleted = NULL; + yystackp->yylastDeleted = YY_NULLPTR; } static void @@ -10078,7 +9425,7 @@ yyremoveDeletes (yyGLRStack* yystackp) yyi = yyj = 0; while (yyj < yystackp->yytops.yysize) { - if (yystackp->yytops.yystates[yyi] == NULL) + if (yystackp->yytops.yystates[yyi] == YY_NULLPTR) { if (yyi == yyj) { @@ -10107,12 +9454,13 @@ yyremoveDeletes (yyGLRStack* yystackp) } } -/** Shift to a new state on stack #K of STACK, corresponding to LR state - * LRSTATE, at input position POSN, with (resolved) semantic value SVAL. */ +/** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR + * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic + * value *YYVALP and source location *YYLOCP. */ static void yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState, size_t yyposn, - YYSTYPE* yyvalp, YYLTYPE* yylocp) + YYSTYPE* yyvalp) { yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate; @@ -10121,61 +9469,97 @@ yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState, yynewState->yyresolved = yytrue; yynewState->yypred = yystackp->yytops.yystates[yyk]; yynewState->yysemantics.yysval = *yyvalp; - yynewState->yyloc = *yylocp; yystackp->yytops.yystates[yyk] = yynewState; YY_RESERVE_GLRSTACK (yystackp); } -/** Shift stack #K of YYSTACK, to a new state corresponding to LR +/** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR * state YYLRSTATE, at input position YYPOSN, with the (unresolved) * semantic value of YYRHS under the action for YYRULE. */ static void yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState, - size_t yyposn, yyGLRState* rhs, yyRuleNum yyrule) + size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule) { yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate; + YYASSERT (yynewState->yyisState); yynewState->yylrState = yylrState; yynewState->yyposn = yyposn; yynewState->yyresolved = yyfalse; yynewState->yypred = yystackp->yytops.yystates[yyk]; - yynewState->yysemantics.yyfirstVal = NULL; + yynewState->yysemantics.yyfirstVal = YY_NULLPTR; yystackp->yytops.yystates[yyk] = yynewState; /* Invokes YY_RESERVE_GLRSTACK. */ - yyaddDeferredAction (yystackp, yyk, yynewState, rhs, yyrule); + yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule); +} + +#if !YYDEBUG +# define YY_REDUCE_PRINT(Args) +#else +# define YY_REDUCE_PRINT(Args) \ +do { \ + if (yydebug) \ + yy_reduce_print Args; \ +} while (0) + +/*----------------------------------------------------------------------. +| Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. | +`----------------------------------------------------------------------*/ + +static void +yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk, + yyRuleNum yyrule) +{ + int yynrhs = yyrhsLength (yyrule); + int yyi; + YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n", + (unsigned long int) yyk, yyrule - 1, + (unsigned long int) yyrline[yyrule]); + if (! yynormal) + yyfillin (yyvsp, 1, -yynrhs); + /* The symbols being reduced. */ + for (yyi = 0; yyi < yynrhs; yyi++) + { + YYFPRINTF (stderr, " $%d = ", yyi + 1); + yy_symbol_print (stderr, + yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState], + &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval + ); + if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved) + YYFPRINTF (stderr, " (unresolved)"); + YYFPRINTF (stderr, "\n"); + } } +#endif -/** Pop the symbols consumed by reduction #RULE from the top of stack - * #K of STACK, and perform the appropriate semantic action on their +/** Pop the symbols consumed by reduction #YYRULE from the top of stack + * #YYK of *YYSTACKP, and perform the appropriate semantic action on their * semantic values. Assumes that all ambiguities in semantic values - * have been previously resolved. Set *VALP to the resulting value, - * and *LOCP to the computed location (if any). Return value is as + * have been previously resolved. Set *YYVALP to the resulting value, + * and *YYLOCP to the computed location (if any). Return value is as * for userAction. */ static YYRESULTTAG yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, - YYSTYPE* yyvalp, YYLTYPE* yylocp) + YYSTYPE* yyvalp) { int yynrhs = yyrhsLength (yyrule); - if (yystackp->yysplitPoint == NULL) + if (yystackp->yysplitPoint == YY_NULLPTR) { /* Standard special case: single stack. */ - yyGLRStackItem* rhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk]; + yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk]; YYASSERT (yyk == 0); yystackp->yynextFree -= yynrhs; yystackp->yyspaceLeft += yynrhs; yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate; - return yyuserAction (yyrule, yynrhs, rhs, - yyvalp, yylocp, yystackp); + YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule)); + return yyuserAction (yyrule, yynrhs, yyrhs, yystackp, + yyvalp); } else { - /* At present, doAction is never called in nondeterministic - * mode, so this branch is never taken. It is here in - * anticipation of a future feature that will allow immediate - * evaluation of selected actions in nondeterministic mode. */ int yyi; yyGLRState* yys; yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1]; @@ -10188,60 +9572,21 @@ yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, } yyupdateSplit (yystackp, yys); yystackp->yytops.yystates[yyk] = yys; + YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule)); return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, - yyvalp, yylocp, yystackp); - } -} - -#if !YYDEBUG -# define YY_REDUCE_PRINT(Args) -#else -# define YY_REDUCE_PRINT(Args) \ -do { \ - if (yydebug) \ - yy_reduce_print Args; \ -} while (YYID (0)) - -/*----------------------------------------------------------. -| Report that the RULE is going to be reduced on stack #K. | -`----------------------------------------------------------*/ - -/*ARGSUSED*/ static void -yy_reduce_print (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, - YYSTYPE* yyvalp, YYLTYPE* yylocp) -{ - int yynrhs = yyrhsLength (yyrule); - yybool yynormal __attribute__ ((__unused__)) = - (yystackp->yysplitPoint == NULL); - yyGLRStackItem* yyvsp = (yyGLRStackItem*) yystackp->yytops.yystates[yyk]; - int yylow = 1; - int yyi; - YYUSE (yyvalp); - YYUSE (yylocp); - YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n", - (unsigned long int) yyk, yyrule - 1, - (unsigned long int) yyrline[yyrule]); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(((yyGLRStackItem const *)yyvsp)[YYFILL ((yyi + 1) - (yynrhs))].yystate.yysemantics.yysval) - ); - YYFPRINTF (stderr, "\n"); + yystackp, yyvalp); } } -#endif -/** Pop items off stack #K of STACK according to grammar rule RULE, +/** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE, * and push back on the resulting nonterminal symbol. Perform the - * semantic action associated with RULE and store its value with the - * newly pushed state, if FORCEEVAL or if STACK is currently + * semantic action associated with YYRULE and store its value with the + * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently * unambiguous. Otherwise, store the deferred semantic action with * the new state. If the new state would have an identical input * position, LR state, and predecessor to an existing state on the stack, - * it is identified with that existing state, eliminating stack #K from - * the STACK. In this case, the (necessarily deferred) semantic value is + * it is identified with that existing state, eliminating stack #YYK from + * *YYSTACKP. In this case, the semantic value is * added to the options for the existing state's semantic value. */ static YYRESULTTAG @@ -10250,19 +9595,23 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, { size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn; - if (yyforceEval || yystackp->yysplitPoint == NULL) + if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR) { YYSTYPE yysval; - YYLTYPE yyloc = {0}; - YY_REDUCE_PRINT ((yystackp, yyk, yyrule, &yysval, &yyloc)); - YYCHK (yydoAction (yystackp, yyk, yyrule, &yysval, - &yyloc)); + YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval); + if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR) + { + YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n", + (unsigned long int) yyk, yyrule - 1)); + } + if (yyflag != yyok) + return yyflag; YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc); yyglrShift (yystackp, yyk, yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState, yylhsNonterm (yyrule)), - yyposn, &yysval, &yyloc); + yyposn, &yysval); } else { @@ -10280,13 +9629,14 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, yyupdateSplit (yystackp, yys); yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule)); YYDPRINTF ((stderr, - "Reduced stack %lu by rule #%d; action deferred. Now in state %d.\n", + "Reduced stack %lu by rule #%d; action deferred. " + "Now in state %d.\n", (unsigned long int) yyk, yyrule - 1, yynewLRState)); for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1) - if (yyi != yyk && yystackp->yytops.yystates[yyi] != NULL) + if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR) { - yyGLRState* yyp, *yysplit = yystackp->yysplitPoint; - yyp = yystackp->yytops.yystates[yyi]; + yyGLRState *yysplit = yystackp->yysplitPoint; + yyGLRState *yyp = yystackp->yytops.yystates[yyi]; while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn) { if (yyp->yylrState == yynewLRState && yyp->yypred == yys) @@ -10310,7 +9660,7 @@ yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule, static size_t yysplitStack (yyGLRStack* yystackp, size_t yyk) { - if (yystackp->yysplitPoint == NULL) + if (yystackp->yysplitPoint == YY_NULLPTR) { YYASSERT (yyk == 0); yystackp->yysplitPoint = yystackp->yytops.yystates[yyk]; @@ -10320,7 +9670,7 @@ yysplitStack (yyGLRStack* yystackp, size_t yyk) yyGLRState** yynewStates; yybool* yynewLookaheadNeeds; - yynewStates = NULL; + yynewStates = YY_NULLPTR; if (yystackp->yytops.yycapacity > (YYSIZEMAX / (2 * sizeof yynewStates[0]))) @@ -10331,7 +9681,7 @@ yysplitStack (yyGLRStack* yystackp, size_t yyk) (yyGLRState**) YYREALLOC (yystackp->yytops.yystates, (yystackp->yytops.yycapacity * sizeof yynewStates[0])); - if (yynewStates == NULL) + if (yynewStates == YY_NULLPTR) yyMemoryExhausted (yystackp); yystackp->yytops.yystates = yynewStates; @@ -10339,7 +9689,7 @@ yysplitStack (yyGLRStack* yystackp, size_t yyk) (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds, (yystackp->yytops.yycapacity * sizeof yynewLookaheadNeeds[0])); - if (yynewLookaheadNeeds == NULL) + if (yynewLookaheadNeeds == YY_NULLPTR) yyMemoryExhausted (yystackp); yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds; } @@ -10351,7 +9701,7 @@ yysplitStack (yyGLRStack* yystackp, size_t yyk) return yystackp->yytops.yysize-1; } -/** True iff Y0 and Y1 represent identical options at the top level. +/** True iff YYY0 and YYY1 represent identical options at the top level. * That is, they represent the same rule applied to RHS symbols * that produce the same terminal symbols. */ static yybool @@ -10373,8 +9723,8 @@ yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1) return yyfalse; } -/** Assuming identicalOptions (Y0,Y1), destructively merge the - * alternative semantic values for the RHS-symbols of Y1 and Y0. */ +/** Assuming identicalOptions (YYY0,YYY1), destructively merge the + * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */ static void yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1) { @@ -10399,15 +9749,13 @@ yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1) } else { - yySemanticOption** yyz0p; - yySemanticOption* yyz1; - yyz0p = &yys0->yysemantics.yyfirstVal; - yyz1 = yys1->yysemantics.yyfirstVal; - while (YYID (yytrue)) + yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal; + yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal; + while (yytrue) { - if (yyz1 == *yyz0p || yyz1 == NULL) + if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR) break; - else if (*yyz0p == NULL) + else if (*yyz0p == YY_NULLPTR) { *yyz0p = yyz1; break; @@ -10455,11 +9803,11 @@ static YYRESULTTAG yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp); -/** Resolve the previous N states starting at and including state S. If result - * != yyok, some states may have been left unresolved possibly with empty - * semantic option chains. Regardless of whether result = yyok, each state - * has been left with consistent data so that yydestroyGLRState can be invoked - * if necessary. */ +/** Resolve the previous YYN states starting at and including state YYS + * on *YYSTACKP. If result != yyok, some states may have been left + * unresolved possibly with empty semantic option chains. Regardless + * of whether result = yyok, each state has been left with consistent + * data so that yydestroyGLRState can be invoked if necessary. */ static YYRESULTTAG yyresolveStates (yyGLRState* yys, int yyn, yyGLRStack* yystackp) @@ -10474,23 +9822,19 @@ yyresolveStates (yyGLRState* yys, int yyn, return yyok; } -/** Resolve the states for the RHS of OPT, perform its user action, and return - * the semantic value and location. Regardless of whether result = yyok, all - * RHS states have been destroyed (assuming the user action destroys all RHS +/** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its + * user action, and return the semantic value and location in *YYVALP + * and *YYLOCP. Regardless of whether result = yyok, all RHS states + * have been destroyed (assuming the user action destroys all RHS * semantic values if invoked). */ static YYRESULTTAG yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp, - YYSTYPE* yyvalp, YYLTYPE* yylocp) + YYSTYPE* yyvalp) { yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1]; - int yynrhs; - int yychar_current; - YYSTYPE yylval_current; - YYLTYPE yylloc_current; - YYRESULTTAG yyflag; - - yynrhs = yyrhsLength (yyopt->yyrule); - yyflag = yyresolveStates (yyopt->yystate, yynrhs, yystackp); + int yynrhs = yyrhsLength (yyopt->yyrule); + YYRESULTTAG yyflag = + yyresolveStates (yyopt->yystate, yynrhs, yystackp); if (yyflag != yyok) { yyGLRState *yys; @@ -10500,18 +9844,17 @@ yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp, } yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate; - yychar_current = yychar; - yylval_current = yylval; - yylloc_current = yylloc; - yychar = yyopt->yyrawchar; - yylval = yyopt->yyval; - yylloc = yyopt->yyloc; - yyflag = yyuserAction (yyopt->yyrule, yynrhs, + { + int yychar_current = yychar; + YYSTYPE yylval_current = yylval; + yychar = yyopt->yyrawchar; + yylval = yyopt->yyval; + yyflag = yyuserAction (yyopt->yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, - yyvalp, yylocp, yystackp); - yychar = yychar_current; - yylval = yylval_current; - yylloc = yylloc_current; + yystackp, yyvalp); + yychar = yychar_current; + yylval = yylval_current; + } return yyflag; } @@ -10527,7 +9870,7 @@ yyreportTree (yySemanticOption* yyx, int yyindent) for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred) yystates[yyi] = yys; - if (yys == NULL) + if (yys == YY_NULLPTR) { yyleftmost_state.yyposn = 0; yystates[0] = &yyleftmost_state; @@ -10550,11 +9893,11 @@ yyreportTree (yySemanticOption* yyx, int yyindent) { if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn) YYFPRINTF (stderr, "%*s%s \n", yyindent+2, "", - yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1])); + yytokenName (yystos[yystates[yyi]->yylrState])); else YYFPRINTF (stderr, "%*s%s \n", yyindent+2, "", - yytokenName (yyrhs[yyprhs[yyx->yyrule]+yyi-1]), - (unsigned long int) (yystates[yyi - 1]->yyposn + 1), + yytokenName (yystos[yystates[yyi]->yylrState]), + (unsigned long int) (yystates[yyi-1]->yyposn + 1), (unsigned long int) yystates[yyi]->yyposn); } else @@ -10563,7 +9906,7 @@ yyreportTree (yySemanticOption* yyx, int yyindent) } #endif -/*ARGSUSED*/ static YYRESULTTAG +static YYRESULTTAG yyreportAmbiguity (yySemanticOption* yyx0, yySemanticOption* yyx1) { @@ -10583,84 +9926,24 @@ yyreportAmbiguity (yySemanticOption* yyx0, return yyabort; } -/** Starting at and including state S1, resolve the location for each of the - * previous N1 states that is unresolved. The first semantic option of a state - * is always chosen. */ -static void -yyresolveLocations (yyGLRState* yys1, int yyn1, - yyGLRStack *yystackp) -{ - if (0 < yyn1) - { - yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp); - if (!yys1->yyresolved) - { - yySemanticOption *yyoption; - yyGLRStackItem yyrhsloc[1 + YYMAXRHS]; - int yynrhs; - int yychar_current; - YYSTYPE yylval_current; - YYLTYPE yylloc_current; - yyoption = yys1->yysemantics.yyfirstVal; - YYASSERT (yyoption != NULL); - yynrhs = yyrhsLength (yyoption->yyrule); - if (yynrhs > 0) - { - yyGLRState *yys; - int yyn; - yyresolveLocations (yyoption->yystate, yynrhs, - yystackp); - for (yys = yyoption->yystate, yyn = yynrhs; - yyn > 0; - yys = yys->yypred, yyn -= 1) - yyrhsloc[yyn].yystate.yyloc = yys->yyloc; - } - else - { - /* Both yyresolveAction and yyresolveLocations traverse the GSS - in reverse rightmost order. It is only necessary to invoke - yyresolveLocations on a subforest for which yyresolveAction - would have been invoked next had an ambiguity not been - detected. Thus the location of the previous state (but not - necessarily the previous state itself) is guaranteed to be - resolved already. */ - yyGLRState *yyprevious = yyoption->yystate; - yyrhsloc[0].yystate.yyloc = yyprevious->yyloc; - } - yychar_current = yychar; - yylval_current = yylval; - yylloc_current = yylloc; - yychar = yyoption->yyrawchar; - yylval = yyoption->yyval; - yylloc = yyoption->yyloc; - YYLLOC_DEFAULT ((yys1->yyloc), yyrhsloc, yynrhs); - yychar = yychar_current; - yylval = yylval_current; - yylloc = yylloc_current; - } - } -} - -/** Resolve the ambiguity represented in state S, perform the indicated - * actions, and set the semantic value of S. If result != yyok, the chain of - * semantic options in S has been cleared instead or it has been left - * unmodified except that redundant options may have been removed. Regardless - * of whether result = yyok, S has been left with consistent data so that +/** Resolve the ambiguity represented in state YYS in *YYSTACKP, + * perform the indicated actions, and set the semantic value of YYS. + * If result != yyok, the chain of semantic options in YYS has been + * cleared instead or it has been left unmodified except that + * redundant options may have been removed. Regardless of whether + * result = yyok, YYS has been left with consistent data so that * yydestroyGLRState can be invoked if necessary. */ static YYRESULTTAG yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) { yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal; - yySemanticOption* yybest; + yySemanticOption* yybest = yyoptionList; yySemanticOption** yypp; - yybool yymerge; + yybool yymerge = yyfalse; YYSTYPE yysval; YYRESULTTAG yyflag; - YYLTYPE *yylocp = &yys->yyloc; - yybest = yyoptionList; - yymerge = yyfalse; - for (yypp = &yyoptionList->yynext; *yypp != NULL; ) + for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; ) { yySemanticOption* yyp = *yypp; @@ -10674,8 +9957,8 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) switch (yypreference (yybest, yyp)) { case 0: - yyresolveLocations (yys, 1, yystackp); return yyreportAmbiguity (yybest, yyp); + break; case 1: yymerge = yytrue; break; @@ -10699,17 +9982,14 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) { yySemanticOption* yyp; int yyprec = yydprec[yybest->yyrule]; - yyflag = yyresolveAction (yybest, yystackp, &yysval, - yylocp); + yyflag = yyresolveAction (yybest, yystackp, &yysval); if (yyflag == yyok) - for (yyp = yybest->yynext; yyp != NULL; yyp = yyp->yynext) + for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext) { if (yyprec == yydprec[yyp->yyrule]) { YYSTYPE yysval_other; - YYLTYPE yydummy; - yyflag = yyresolveAction (yyp, yystackp, &yysval_other, - &yydummy); + yyflag = yyresolveAction (yyp, yystackp, &yysval_other); if (yyflag != yyok) { yydestruct ("Cleanup: discarding incompletely merged value for", @@ -10722,7 +10002,7 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) } } else - yyflag = yyresolveAction (yybest, yystackp, &yysval, yylocp); + yyflag = yyresolveAction (yybest, yystackp, &yysval); if (yyflag == yyok) { @@ -10730,14 +10010,14 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp) yys->yysemantics.yysval = yysval; } else - yys->yysemantics.yyfirstVal = NULL; + yys->yysemantics.yyfirstVal = YY_NULLPTR; return yyflag; } static YYRESULTTAG yyresolveStack (yyGLRStack* yystackp) { - if (yystackp->yysplitPoint != NULL) + if (yystackp->yysplitPoint != YY_NULLPTR) { yyGLRState* yys; int yyn; @@ -10757,10 +10037,10 @@ yycompressStack (yyGLRStack* yystackp) { yyGLRState* yyp, *yyq, *yyr; - if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == NULL) + if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR) return; - for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = NULL; + for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR; yyp != yystackp->yysplitPoint; yyr = yyp, yyp = yyq, yyq = yyp->yypred) yyp->yypred = yyr; @@ -10768,10 +10048,10 @@ yycompressStack (yyGLRStack* yystackp) yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems; yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1; yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems; - yystackp->yysplitPoint = NULL; - yystackp->yylastDeleted = NULL; + yystackp->yysplitPoint = YY_NULLPTR; + yystackp->yylastDeleted = YY_NULLPTR; - while (yyr != NULL) + while (yyr != YY_NULLPTR) { yystackp->yynextFree->yystate = *yyr; yyr = yyr->yypred; @@ -10786,11 +10066,7 @@ static YYRESULTTAG yyprocessOneStack (yyGLRStack* yystackp, size_t yyk, size_t yyposn) { - int yyaction; - const short int* yyconflicts; - yyRuleNum yyrule; - - while (yystackp->yytops.yystates[yyk] != NULL) + while (yystackp->yytops.yystates[yyk] != YY_NULLPTR) { yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState; YYDPRINTF ((stderr, "Stack %lu Entering state %d\n", @@ -10800,7 +10076,8 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk, if (yyisDefaultedState (yystate)) { - yyrule = yydefaultAction (yystate); + YYRESULTTAG yyflag; + yyRuleNum yyrule = yydefaultAction (yystate); if (yyrule == 0) { YYDPRINTF ((stderr, "Stack %lu dies.\n", @@ -10808,16 +10085,30 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk, yymarkStackDeleted (yystackp, yyk); return yyok; } - YYCHK (yyglrReduce (yystackp, yyk, yyrule, yyfalse)); + yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule]); + if (yyflag == yyerr) + { + YYDPRINTF ((stderr, + "Stack %lu dies " + "(predicate failure or explicit user error).\n", + (unsigned long int) yyk)); + yymarkStackDeleted (yystackp, yyk); + return yyok; + } + if (yyflag != yyok) + return yyflag; } else { yySymbol yytoken; + int yyaction; + const short int* yyconflicts; + yystackp->yytops.yylookaheadNeeds[yyk] = yytrue; if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (); } if (yychar <= YYEOF) @@ -10835,14 +10126,25 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk, while (*yyconflicts != 0) { + YYRESULTTAG yyflag; size_t yynewStack = yysplitStack (yystackp, yyk); YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n", (unsigned long int) yynewStack, (unsigned long int) yyk)); - YYCHK (yyglrReduce (yystackp, yynewStack, - *yyconflicts, yyfalse)); - YYCHK (yyprocessOneStack (yystackp, yynewStack, - yyposn)); + yyflag = yyglrReduce (yystackp, yynewStack, + *yyconflicts, + yyimmediate[*yyconflicts]); + if (yyflag == yyok) + YYCHK (yyprocessOneStack (yystackp, yynewStack, + yyposn)); + else if (yyflag == yyerr) + { + YYDPRINTF ((stderr, "Stack %lu dies.\n", + (unsigned long int) yynewStack)); + yymarkStackDeleted (yystackp, yynewStack); + } + else + return yyflag; yyconflicts += 1; } @@ -10856,118 +10158,164 @@ yyprocessOneStack (yyGLRStack* yystackp, size_t yyk, break; } else - YYCHK (yyglrReduce (yystackp, yyk, -yyaction, - yyfalse)); + { + YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction, + yyimmediate[-yyaction]); + if (yyflag == yyerr) + { + YYDPRINTF ((stderr, + "Stack %lu dies " + "(predicate failure or explicit user error).\n", + (unsigned long int) yyk)); + yymarkStackDeleted (yystackp, yyk); + break; + } + else if (yyflag != yyok) + return yyflag; + } } } return yyok; } -/*ARGSUSED*/ static void +static void yyreportSyntaxError (yyGLRStack* yystackp) { - if (yystackp->yyerrState == 0) - { -#if YYERROR_VERBOSE - int yyn; - yyn = yypact[yystackp->yytops.yystates[0]->yylrState]; - if (YYPACT_NINF < yyn && yyn <= YYLAST) + if (yystackp->yyerrState != 0) + return; +#if ! YYERROR_VERBOSE + yyerror (YY_("syntax error")); +#else + { + yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken)); + size_t yysize = yysize0; + yybool yysize_overflow = yyfalse; + char* yymsg = YY_NULLPTR; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; + + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) + { + int yyn = yypact[yystackp->yytops.yystates[0]->yylrState]; + yyarg[yycount++] = yytokenName (yytoken); + if (!yypact_value_is_default (yyn)) { - yySymbol yytoken = YYTRANSLATE (yychar); - size_t yysize0 = yytnamerr (NULL, yytokenName (yytoken)); - size_t yysize = yysize0; - size_t yysize1; - yybool yysize_overflow = yyfalse; - char* yymsg = NULL; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ + YYCHECK. In other words, skip the first -YYN actions for this + state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytokenName (yytoken); - yyfmt = yystpcpy (yyformat, yyunexpected); - + int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytokenName (yyx); - yysize1 = yysize + yytnamerr (NULL, yytokenName (yyx)); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; + { + size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx)); + yysize_overflow |= yysz < yysize; + yysize = yysz; + } } + } + } - yyf = YY_(yyformat); - yysize1 = yysize + strlen (yyf); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; + switch (yycount) + { +#define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +#undef YYCASE_ + } + + { + size_t yysz = yysize + strlen (yyformat); + yysize_overflow |= yysz < yysize; + yysize = yysz; + } - if (!yysize_overflow) - yymsg = (char *) YYMALLOC (yysize); + if (!yysize_overflow) + yymsg = (char *) YYMALLOC (yysize); - if (yymsg) + if (yymsg) + { + char *yyp = yymsg; + int yyi = 0; + while ((*yyp = *yyformat)) + { + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { - char *yyp = yymsg; - int yyi = 0; - while ((*yyp = *yyf)) - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - yyerror (yymsg); - YYFREE (yymsg); + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; } else { - yyerror (YY_("syntax error")); - yyMemoryExhausted (yystackp); + yyp++; + yyformat++; } } - else -#endif /* YYERROR_VERBOSE */ - yyerror (YY_("syntax error")); - yynerrs += 1; + yyerror (yymsg); + YYFREE (yymsg); + } + else + { + yyerror (YY_("syntax error")); + yyMemoryExhausted (yystackp); } + } +#endif /* YYERROR_VERBOSE */ + yynerrs += 1; } /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP, yylval, and yylloc are the syntactic category, semantic value, and location of the lookahead. */ -/*ARGSUSED*/ static void +static void yyrecoverSyntaxError (yyGLRStack* yystackp) { size_t yyk; @@ -10976,11 +10324,11 @@ yyrecoverSyntaxError (yyGLRStack* yystackp) if (yystackp->yyerrState == 3) /* We just shifted the error token and (perhaps) took some reductions. Skip tokens until we can proceed. */ - while (YYID (yytrue)) + while (yytrue) { yySymbol yytoken; if (yychar == YYEOF) - yyFail (yystackp, NULL); + yyFail (yystackp, YY_NULLPTR); if (yychar != YYEMPTY) { yytoken = YYTRANSLATE (yychar); @@ -10988,7 +10336,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp) yytoken, &yylval); } YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (); if (yychar <= YYEOF) { yychar = yytoken = YYEOF; @@ -11000,7 +10348,7 @@ yyrecoverSyntaxError (yyGLRStack* yystackp) YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } yyj = yypact[yystackp->yytops.yystates[0]->yylrState]; - if (yyis_pact_ninf (yyj)) + if (yypact_value_is_default (yyj)) return; yyj += yytoken; if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken) @@ -11008,16 +10356,16 @@ yyrecoverSyntaxError (yyGLRStack* yystackp) if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0) return; } - else if (yytable[yyj] != 0 && ! yyis_table_ninf (yytable[yyj])) + else if (! yytable_value_is_error (yytable[yyj])) return; } /* Reduce to one stack. */ for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1) - if (yystackp->yytops.yystates[yyk] != NULL) + if (yystackp->yytops.yystates[yyk] != YY_NULLPTR) break; if (yyk >= yystackp->yytops.yysize) - yyFail (yystackp, NULL); + yyFail (yystackp, YY_NULLPTR); for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1) yymarkStackDeleted (yystackp, yyk); yyremoveDeletes (yystackp); @@ -11025,53 +10373,50 @@ yyrecoverSyntaxError (yyGLRStack* yystackp) /* Now pop stack until we find a state that shifts the error token. */ yystackp->yyerrState = 3; - while (yystackp->yytops.yystates[0] != NULL) + while (yystackp->yytops.yystates[0] != YY_NULLPTR) { yyGLRState *yys = yystackp->yytops.yystates[0]; yyj = yypact[yys->yylrState]; - if (! yyis_pact_ninf (yyj)) + if (! yypact_value_is_default (yyj)) { yyj += YYTERROR; if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR && yyisShiftAction (yytable[yyj])) { - /* Shift the error token having adjusted its location. */ - YYLTYPE yyerrloc = {0}; + /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]], &yylval, &yyerrloc); yyglrShift (yystackp, 0, yytable[yyj], - yys->yyposn, &yylval, &yyerrloc); + yys->yyposn, &yylval); yys = yystackp->yytops.yystates[0]; break; } } - - if (yys->yypred != NULL) + if (yys->yypred != YY_NULLPTR) yydestroyGLRState ("Error: popping", yys); yystackp->yytops.yystates[0] = yys->yypred; yystackp->yynextFree -= 1; yystackp->yyspaceLeft += 1; } - if (yystackp->yytops.yystates[0] == NULL) - yyFail (yystackp, NULL); + if (yystackp->yytops.yystates[0] == YY_NULLPTR) + yyFail (yystackp, YY_NULLPTR); } -#define YYCHK1(YYE) \ - do { \ - switch (YYE) { \ - case yyok: \ - break; \ - case yyabort: \ - goto yyabortlab; \ - case yyaccept: \ - goto yyacceptlab; \ - case yyerr: \ +#define YYCHK1(YYE) \ + do { \ + switch (YYE) { \ + case yyok: \ + break; \ + case yyabort: \ + goto yyabortlab; \ + case yyaccept: \ + goto yyacceptlab; \ + case yyerr: \ goto yyuser_error; \ - default: \ - goto yybuglab; \ - } \ - } while (YYID (0)) - + default: \ + goto yybuglab; \ + } \ + } while (0) /*----------. | yyparse. | @@ -11090,7 +10435,6 @@ yyparse (void) yychar = YYEMPTY; yylval = yyval_default; - if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; switch (YYSETJMP (yystack.yyexception_buffer)) @@ -11100,16 +10444,16 @@ yyparse (void) case 2: goto yyexhaustedlab; default: goto yybuglab; } - yyglrShift (&yystack, 0, 0, 0, &yylval, &yylloc); + yyglrShift (&yystack, 0, 0, 0, &yylval); yyposn = 0; - while (YYID (yytrue)) + while (yytrue) { /* For efficiency, we have two loops, the first of which is specialized to deterministic operation (single stack, no potential ambiguity). */ /* Standard mode */ - while (YYID (yytrue)) + while (yytrue) { yyRuleNum yyrule; int yyaction; @@ -11136,7 +10480,7 @@ yyparse (void) if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (); } if (yychar <= YYEOF) @@ -11158,7 +10502,7 @@ yyparse (void) YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); yychar = YYEMPTY; yyposn += 1; - yyglrShift (&yystack, 0, yyaction, yyposn, &yylval, &yylloc); + yyglrShift (&yystack, 0, yyaction, yyposn, &yylval); if (0 < yystack.yyerrState) yystack.yyerrState -= 1; } @@ -11173,7 +10517,7 @@ yyparse (void) } } - while (YYID (yytrue)) + while (yytrue) { yySymbol yytoken_to_shift; size_t yys; @@ -11234,7 +10578,7 @@ yyparse (void) YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys)); YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc); yyglrShift (&yystack, yys, yyaction, yyposn, - &yylval, &yylloc); + &yylval); YYDPRINTF ((stderr, "Stack %lu now in state #%d\n", (unsigned long int) yys, yystack.yytops.yystates[yys]->yylrState)); @@ -11274,8 +10618,7 @@ yyparse (void) yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", - YYTRANSLATE (yychar), - &yylval); + YYTRANSLATE (yychar), &yylval); /* If the stack is well-formed, pop the stack until it is empty, destroying its entries as we go. But free the stack regardless @@ -11293,7 +10636,7 @@ yyparse (void) while (yystates[yyk]) { yyGLRState *yys = yystates[yyk]; - if (yys->yypred != NULL) + if (yys->yypred != YY_NULLPTR) yydestroyGLRState ("Cleanup: popping", yys); yystates[yyk] = yys->yypred; yystack.yynextFree -= 1; @@ -11305,16 +10648,11 @@ yyparse (void) yyfreeGLRStack (&yystack); } - /* Make sure YYID is used. */ - return YYID (yyresult); + return yyresult; } /* DEBUGGING ONLY */ #if YYDEBUG -static void yypstack (yyGLRStack* yystackp, size_t yyk) - __attribute__ ((__unused__)); -static void yypdumpstack (yyGLRStack* yystackp) __attribute__ ((__unused__)); - static void yy_yypstack (yyGLRState* yys) { @@ -11330,7 +10668,7 @@ yy_yypstack (yyGLRState* yys) static void yypstates (yyGLRState* yyst) { - if (yyst == NULL) + if (yyst == YY_NULLPTR) YYFPRINTF (stderr, ""); else yy_yypstack (yyst); @@ -11343,8 +10681,8 @@ yypstack (yyGLRStack* yystackp, size_t yyk) yypstates (yystackp->yytops.yystates[yyk]); } -#define YYINDEX(YYX) \ - ((YYX) == NULL ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems) +#define YYINDEX(YYX) \ + ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems) static void @@ -11358,6 +10696,8 @@ yypdumpstack (yyGLRStack* yystackp) (unsigned long int) (yyp - yystackp->yyitems)); if (*(yybool *) yyp) { + YYASSERT (yyp->yystate.yyisState); + YYASSERT (yyp->yyoption.yyisState); YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld", yyp->yystate.yyresolved, yyp->yystate.yylrState, (unsigned long int) yyp->yystate.yyposn, @@ -11369,6 +10709,8 @@ yypdumpstack (yyGLRStack* yystackp) } else { + YYASSERT (!yyp->yystate.yyisState); + YYASSERT (!yyp->yyoption.yyisState); YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld", yyp->yyoption.yyrule - 1, (long int) YYINDEX (yyp->yyoption.yystate), @@ -11384,9 +10726,12 @@ yypdumpstack (yyGLRStack* yystackp) } #endif +#undef yylval +#undef yychar +#undef yynerrs + -/* Line 2634 of glr.c */ #include diff --git a/Wrapping/Tools/vtkParse.y b/Wrapping/Tools/vtkParse.y index caf25350898dc787434d869a49c9e36ac30a4ba0..5713ced11fcf91565fa211e1edb3f0e8702e7e2d 100644 --- a/Wrapping/Tools/vtkParse.y +++ b/Wrapping/Tools/vtkParse.y @@ -18,14 +18,15 @@ This file must be translated to C and modified to build everywhere. -Run yacc like this: +Run bison like this: - yacc -b vtkParse vtkParse.y + bison -b vtkParse vtkParse.y Modify vtkParse.tab.c: - convert TABs to spaces (eight per tab) - remove spaces from ends of lines, s/ *$//g - replace all instances of "static inline" with "static". + - replace "#line" lines with blank lines */ /*