diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt
index f77f3b77d6..8c5694e0b5 100644
--- a/dtool/src/cppparser/cppBison.cxx.prebuilt
+++ b/dtool/src/cppparser/cppBison.cxx.prebuilt
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
@@ -26,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -44,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.7"
+#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -63,15 +63,12 @@
#define yyparse cppyyparse
#define yylex cppyylex
#define yyerror cppyyerror
-#define yylval cppyylval
-#define yychar cppyychar
#define yydebug cppyydebug
#define yynerrs cppyynerrs
-#define yylloc cppyylloc
+
/* Copy the first part of user declarations. */
-/* Line 371 of yacc.c */
-#line 6 "dtool/src/cppparser/cppBison.yxx"
+#line 7 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:339 */
#include "cppBisonDefs.h"
@@ -265,14 +262,13 @@ pop_struct() {
}
-/* Line 371 of yacc.c */
-#line 270 "built/tmp/cppBison.yxx.c"
+#line 266 "built/tmp/cppBison.yxx.c" /* yacc.c:339 */
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
+# define YY_NULLPTR nullptr
# else
-# define YY_NULL 0
+# define YY_NULLPTR 0
# endif
# endif
@@ -288,7 +284,7 @@ pop_struct() {
by #include "cppBison.yxx.h". */
#ifndef YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
# define YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -296,134 +292,133 @@ pop_struct() {
extern int cppyydebug;
#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 {
- REAL = 258,
- INTEGER = 259,
- CHAR_TOK = 260,
- SIMPLE_STRING = 261,
- SIMPLE_IDENTIFIER = 262,
- STRING_LITERAL = 263,
- CUSTOM_LITERAL = 264,
- IDENTIFIER = 265,
- TYPENAME_IDENTIFIER = 266,
- SCOPING = 267,
- TYPEDEFNAME = 268,
- ELLIPSIS = 269,
- OROR = 270,
- ANDAND = 271,
- EQCOMPARE = 272,
- NECOMPARE = 273,
- LECOMPARE = 274,
- GECOMPARE = 275,
- LSHIFT = 276,
- RSHIFT = 277,
- POINTSAT_STAR = 278,
- DOT_STAR = 279,
- UNARY = 280,
- UNARY_NOT = 281,
- UNARY_NEGATE = 282,
- UNARY_MINUS = 283,
- UNARY_PLUS = 284,
- UNARY_STAR = 285,
- UNARY_REF = 286,
- POINTSAT = 287,
- SCOPE = 288,
- PLUSPLUS = 289,
- MINUSMINUS = 290,
- TIMESEQUAL = 291,
- DIVIDEEQUAL = 292,
- MODEQUAL = 293,
- PLUSEQUAL = 294,
- MINUSEQUAL = 295,
- OREQUAL = 296,
- ANDEQUAL = 297,
- XOREQUAL = 298,
- LSHIFTEQUAL = 299,
- RSHIFTEQUAL = 300,
- KW_ALIGNAS = 301,
- KW_ALIGNOF = 302,
- KW_AUTO = 303,
- KW_BEGIN_PUBLISH = 304,
- KW_BLOCKING = 305,
- KW_BOOL = 306,
- KW_CATCH = 307,
- KW_CHAR = 308,
- KW_CHAR16_T = 309,
- KW_CHAR32_T = 310,
- KW_CLASS = 311,
- KW_CONST = 312,
- KW_CONSTEXPR = 313,
- KW_CONST_CAST = 314,
- KW_DECLTYPE = 315,
- KW_DEFAULT = 316,
- KW_DELETE = 317,
- KW_DOUBLE = 318,
- KW_DYNAMIC_CAST = 319,
- KW_ELSE = 320,
- KW_END_PUBLISH = 321,
- KW_ENUM = 322,
- KW_EXTENSION = 323,
- KW_EXTERN = 324,
- KW_EXPLICIT = 325,
- KW_PUBLISHED = 326,
- KW_FALSE = 327,
- KW_FINAL = 328,
- KW_FLOAT = 329,
- KW_FRIEND = 330,
- KW_FOR = 331,
- KW_GOTO = 332,
- KW_IF = 333,
- KW_INLINE = 334,
- KW_INT = 335,
- KW_LONG = 336,
- KW_MAKE_PROPERTY = 337,
- KW_MAKE_PROPERTY2 = 338,
- KW_MAKE_SEQ = 339,
- KW_MUTABLE = 340,
- KW_NAMESPACE = 341,
- KW_NEW = 342,
- KW_NOEXCEPT = 343,
- KW_NULLPTR = 344,
- KW_OPERATOR = 345,
- KW_OVERRIDE = 346,
- KW_PRIVATE = 347,
- KW_PROTECTED = 348,
- KW_PUBLIC = 349,
- KW_REGISTER = 350,
- KW_REINTERPRET_CAST = 351,
- KW_RETURN = 352,
- KW_SHORT = 353,
- KW_SIGNED = 354,
- KW_SIZEOF = 355,
- KW_STATIC = 356,
- KW_STATIC_ASSERT = 357,
- KW_STATIC_CAST = 358,
- KW_STRUCT = 359,
- KW_TEMPLATE = 360,
- KW_THREAD_LOCAL = 361,
- KW_THROW = 362,
- KW_TRUE = 363,
- KW_TRY = 364,
- KW_TYPEDEF = 365,
- KW_TYPEID = 366,
- KW_TYPENAME = 367,
- KW_UNION = 368,
- KW_UNSIGNED = 369,
- KW_USING = 370,
- KW_VIRTUAL = 371,
- KW_VOID = 372,
- KW_VOLATILE = 373,
- KW_WCHAR_T = 374,
- KW_WHILE = 375,
- START_CPP = 376,
- START_CONST_EXPR = 377,
- START_TYPE = 378
- };
+ enum yytokentype
+ {
+ REAL = 258,
+ INTEGER = 259,
+ CHAR_TOK = 260,
+ SIMPLE_STRING = 261,
+ SIMPLE_IDENTIFIER = 262,
+ STRING_LITERAL = 263,
+ CUSTOM_LITERAL = 264,
+ IDENTIFIER = 265,
+ TYPENAME_IDENTIFIER = 266,
+ SCOPING = 267,
+ TYPEDEFNAME = 268,
+ ELLIPSIS = 269,
+ OROR = 270,
+ ANDAND = 271,
+ EQCOMPARE = 272,
+ NECOMPARE = 273,
+ LECOMPARE = 274,
+ GECOMPARE = 275,
+ LSHIFT = 276,
+ RSHIFT = 277,
+ POINTSAT_STAR = 278,
+ DOT_STAR = 279,
+ UNARY = 280,
+ UNARY_NOT = 281,
+ UNARY_NEGATE = 282,
+ UNARY_MINUS = 283,
+ UNARY_PLUS = 284,
+ UNARY_STAR = 285,
+ UNARY_REF = 286,
+ POINTSAT = 287,
+ SCOPE = 288,
+ PLUSPLUS = 289,
+ MINUSMINUS = 290,
+ TIMESEQUAL = 291,
+ DIVIDEEQUAL = 292,
+ MODEQUAL = 293,
+ PLUSEQUAL = 294,
+ MINUSEQUAL = 295,
+ OREQUAL = 296,
+ ANDEQUAL = 297,
+ XOREQUAL = 298,
+ LSHIFTEQUAL = 299,
+ RSHIFTEQUAL = 300,
+ KW_ALIGNAS = 301,
+ KW_ALIGNOF = 302,
+ KW_AUTO = 303,
+ KW_BEGIN_PUBLISH = 304,
+ KW_BLOCKING = 305,
+ KW_BOOL = 306,
+ KW_CATCH = 307,
+ KW_CHAR = 308,
+ KW_CHAR16_T = 309,
+ KW_CHAR32_T = 310,
+ KW_CLASS = 311,
+ KW_CONST = 312,
+ KW_CONSTEXPR = 313,
+ KW_CONST_CAST = 314,
+ KW_DECLTYPE = 315,
+ KW_DEFAULT = 316,
+ KW_DELETE = 317,
+ KW_DOUBLE = 318,
+ KW_DYNAMIC_CAST = 319,
+ KW_ELSE = 320,
+ KW_END_PUBLISH = 321,
+ KW_ENUM = 322,
+ KW_EXTENSION = 323,
+ KW_EXTERN = 324,
+ KW_EXPLICIT = 325,
+ KW_PUBLISHED = 326,
+ KW_FALSE = 327,
+ KW_FINAL = 328,
+ KW_FLOAT = 329,
+ KW_FRIEND = 330,
+ KW_FOR = 331,
+ KW_GOTO = 332,
+ KW_IF = 333,
+ KW_INLINE = 334,
+ KW_INT = 335,
+ KW_LONG = 336,
+ KW_MAKE_PROPERTY = 337,
+ KW_MAKE_PROPERTY2 = 338,
+ KW_MAKE_SEQ = 339,
+ KW_MUTABLE = 340,
+ KW_NAMESPACE = 341,
+ KW_NEW = 342,
+ KW_NOEXCEPT = 343,
+ KW_NULLPTR = 344,
+ KW_OPERATOR = 345,
+ KW_OVERRIDE = 346,
+ KW_PRIVATE = 347,
+ KW_PROTECTED = 348,
+ KW_PUBLIC = 349,
+ KW_REGISTER = 350,
+ KW_REINTERPRET_CAST = 351,
+ KW_RETURN = 352,
+ KW_SHORT = 353,
+ KW_SIGNED = 354,
+ KW_SIZEOF = 355,
+ KW_STATIC = 356,
+ KW_STATIC_ASSERT = 357,
+ KW_STATIC_CAST = 358,
+ KW_STRUCT = 359,
+ KW_TEMPLATE = 360,
+ KW_THREAD_LOCAL = 361,
+ KW_THROW = 362,
+ KW_TRUE = 363,
+ KW_TRY = 364,
+ KW_TYPEDEF = 365,
+ KW_TYPEID = 366,
+ KW_TYPENAME = 367,
+ KW_UNION = 368,
+ KW_UNSIGNED = 369,
+ KW_USING = 370,
+ KW_VIRTUAL = 371,
+ KW_VOID = 372,
+ KW_VOLATILE = 373,
+ KW_WCHAR_T = 374,
+ KW_WHILE = 375,
+ START_CPP = 376,
+ START_CONST_EXPR = 377,
+ START_TYPE = 378
+ };
#endif
/* Tokens. */
#define REAL 258
@@ -548,48 +543,31 @@ extern int cppyydebug;
#define START_CONST_EXPR 377
#define START_TYPE 378
+/* Value type. */
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
+/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE
+typedef struct YYLTYPE YYLTYPE;
+struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-} YYLTYPE;
-# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
+};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int cppyyparse (void *YYPARSE_PARAM);
-#else
-int cppyyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
int cppyyparse (void);
-#else
-int cppyyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED */
/* Copy the second part of user declarations. */
-/* Line 390 of yacc.c */
-#line 593 "built/tmp/cppBison.yxx.c"
+#line 571 "built/tmp/cppBison.yxx.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -603,11 +581,8 @@ typedef unsigned char yytype_uint8;
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
#else
-typedef short int yytype_int8;
+typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
@@ -627,8 +602,7 @@ typedef short int yytype_int16;
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# elif ! defined YYSIZE_T
# include /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
@@ -650,6 +624,33 @@ typedef short int yytype_int16;
# endif
#endif
+#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
+
+#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))
@@ -657,23 +658,25 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(N) (N)
+#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
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
-#else
-static int
-YYID (yyi)
- int yyi;
+# define YY_INITIAL_VALUE(Value) Value
#endif
-{
- return yyi;
-}
+#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
+
#if ! defined yyoverflow || YYERROR_VERBOSE
@@ -692,8 +695,7 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
@@ -705,8 +707,8 @@ YYID (yyi)
# endif
# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
@@ -722,7 +724,7 @@ YYID (yyi)
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
+ && (defined YYFREE || defined free)))
# include /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
@@ -730,15 +732,13 @@ YYID (yyi)
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
@@ -748,8 +748,8 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
- || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
- && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+ || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
+ && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
@@ -775,16 +775,16 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
#endif
@@ -803,7 +803,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -811,25 +811,27 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 85
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 5299
+#define YYLAST 5303
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 148
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 109
/* YYNRULES -- Number of rules. */
-#define YYNRULES 669
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 1311
+#define YYNRULES 675
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 1317
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 378
-#define YYTRANSLATE(YYX) \
+#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -873,371 +875,77 @@ static const yytype_uint8 yytranslate[] =
};
#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint16 yyprhs[] =
-{
- 0, 0, 3, 6, 9, 12, 14, 17, 20, 22,
- 26, 31, 36, 37, 43, 45, 47, 49, 51, 53,
- 55, 58, 60, 62, 65, 68, 71, 74, 82, 92,
- 102, 116, 126, 134, 140, 141, 145, 147, 150, 154,
- 157, 160, 163, 166, 169, 172, 175, 178, 181, 184,
- 187, 194, 196, 200, 202, 207, 209, 213, 217, 221,
- 222, 227, 228, 234, 237, 242, 245, 250, 251, 256,
- 257, 263, 267, 270, 275, 278, 283, 284, 291, 292,
- 299, 300, 308, 309, 321, 322, 335, 336, 345, 346,
- 356, 358, 360, 362, 365, 368, 371, 374, 379, 385,
- 387, 389, 391, 393, 395, 397, 399, 401, 403, 405,
- 407, 409, 411, 413, 415, 417, 419, 421, 423, 425,
- 427, 429, 431, 433, 435, 437, 439, 441, 443, 445,
- 447, 449, 451, 453, 455, 458, 461, 463, 465, 467,
- 469, 470, 477, 480, 482, 484, 486, 490, 493, 498,
- 501, 506, 510, 515, 517, 519, 521, 523, 526, 530,
- 533, 536, 539, 542, 545, 549, 554, 558, 559, 566,
- 569, 573, 575, 579, 584, 586, 588, 590, 594, 597,
- 599, 603, 605, 607, 609, 613, 616, 618, 622, 624,
- 627, 629, 632, 634, 638, 644, 648, 652, 654, 658,
- 662, 666, 670, 675, 677, 679, 682, 684, 688, 692,
- 698, 702, 707, 713, 716, 718, 720, 722, 724, 727,
- 730, 733, 736, 739, 743, 748, 750, 752, 755, 758,
- 761, 764, 767, 771, 776, 784, 788, 790, 793, 796,
- 799, 802, 805, 809, 814, 816, 819, 822, 825, 828,
- 831, 835, 840, 846, 856, 866, 876, 878, 880, 883,
- 885, 887, 889, 892, 897, 902, 904, 906, 908, 911,
- 913, 915, 917, 920, 925, 928, 933, 935, 937, 939,
- 942, 945, 948, 953, 955, 957, 959, 962, 966, 967,
- 973, 974, 983, 985, 987, 989, 991, 994, 998, 1000,
- 1003, 1006, 1009, 1013, 1017, 1021, 1025, 1029, 1033, 1038,
- 1043, 1046, 1050, 1052, 1054, 1056, 1058, 1062, 1068, 1070,
- 1073, 1078, 1080, 1082, 1084, 1086, 1087, 1094, 1095, 1103,
- 1108, 1114, 1118, 1124, 1129, 1131, 1133, 1135, 1137, 1139,
- 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1158, 1161,
- 1164, 1167, 1169, 1171, 1174, 1176, 1177, 1180, 1182, 1185,
- 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201, 1203, 1205,
- 1207, 1209, 1211, 1213, 1215, 1217, 1219, 1221, 1223, 1225,
- 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245,
- 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1263, 1265,
- 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285,
- 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1301, 1303, 1305,
- 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321, 1323, 1325,
- 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341, 1343, 1345,
- 1347, 1349, 1351, 1353, 1355, 1357, 1359, 1361, 1363, 1365,
- 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1383, 1385,
- 1387, 1389, 1391, 1393, 1395, 1397, 1399, 1401, 1403, 1405,
- 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425,
- 1427, 1429, 1431, 1435, 1437, 1439, 1441, 1443, 1445, 1449,
- 1451, 1456, 1464, 1472, 1480, 1488, 1493, 1498, 1501, 1504,
- 1507, 1510, 1513, 1516, 1520, 1524, 1528, 1532, 1536, 1540,
- 1544, 1548, 1552, 1556, 1560, 1564, 1568, 1572, 1576, 1580,
- 1586, 1591, 1596, 1600, 1604, 1608, 1612, 1614, 1619, 1627,
- 1635, 1643, 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686,
- 1691, 1696, 1701, 1706, 1711, 1716, 1721, 1726, 1729, 1735,
- 1740, 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1767, 1771,
- 1775, 1779, 1783, 1787, 1791, 1795, 1799, 1803, 1807, 1811,
- 1815, 1819, 1823, 1827, 1831, 1835, 1841, 1846, 1851, 1855,
- 1859, 1863, 1867, 1869, 1871, 1873, 1875, 1877, 1879, 1881,
- 1883, 1885, 1887, 1889, 1898, 1910, 1912, 1917, 1925, 1933,
- 1941, 1949, 1954, 1959, 1962, 1968, 1973, 1978, 1981, 1984,
- 1987, 1990, 1993, 1997, 2001, 2005, 2009, 2013, 2017, 2021,
- 2025, 2029, 2033, 2037, 2041, 2045, 2049, 2053, 2057, 2061,
- 2065, 2071, 2076, 2081, 2085, 2089, 2093, 2097, 2099, 2101,
- 2103, 2105, 2107, 2109, 2111, 2113, 2115, 2117, 2119, 2121,
- 2123, 2127, 2129, 2131, 2134, 2136, 2138, 2141, 2144, 2146,
- 2148, 2150, 2152, 2154, 2156, 2158, 2160, 2162, 2165, 2168
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 149, 0, -1, 121, 150, -1, 122, 246, -1, 123,
- 214, -1, 256, -1, 150, 126, -1, 150, 155, -1,
- 152, -1, 151, 125, 152, -1, 253, 142, 243, 144,
- -1, 253, 124, 243, 145, -1, -1, 158, 124, 154,
- 150, 145, -1, 161, -1, 184, -1, 153, -1, 230,
- -1, 233, -1, 156, -1, 110, 167, -1, 49, -1,
- 66, -1, 71, 127, -1, 94, 127, -1, 93, 127,
- -1, 92, 127, -1, 82, 142, 253, 125, 10, 144,
- 126, -1, 82, 142, 253, 125, 10, 125, 10, 144,
- 126, -1, 83, 142, 253, 125, 10, 125, 10, 144,
- 126, -1, 83, 142, 253, 125, 10, 125, 10, 125,
- 10, 125, 10, 144, 126, -1, 84, 142, 253, 125,
- 10, 125, 10, 144, 126, -1, 102, 142, 246, 125,
- 255, 144, 126, -1, 102, 142, 246, 144, 126, -1,
- -1, 75, 157, 155, -1, 256, -1, 69, 158, -1,
- 69, 6, 158, -1, 101, 158, -1, 79, 158, -1,
- 116, 158, -1, 70, 158, -1, 95, 158, -1, 118,
- 158, -1, 85, 158, -1, 58, 158, -1, 50, 158,
- -1, 68, 158, -1, 106, 158, -1, 143, 143, 159,
- 146, 146, 158, -1, 160, -1, 160, 125, 159, -1,
- 253, -1, 253, 142, 196, 144, -1, 162, -1, 158,
- 211, 126, -1, 158, 172, 200, -1, 158, 175, 201,
- -1, -1, 158, 213, 163, 165, -1, -1, 158, 57,
- 213, 164, 166, -1, 192, 201, -1, 192, 199, 125,
- 165, -1, 192, 201, -1, 192, 199, 125, 166, -1,
- -1, 158, 213, 168, 170, -1, -1, 158, 57, 213,
- 169, 171, -1, 158, 175, 201, -1, 192, 201, -1,
- 192, 199, 125, 170, -1, 192, 201, -1, 192, 199,
- 125, 171, -1, -1, 10, 142, 173, 194, 144, 181,
- -1, -1, 11, 142, 174, 194, 144, 181, -1, -1,
- 140, 253, 142, 176, 194, 144, 181, -1, -1, 11,
- 142, 137, 190, 144, 142, 177, 194, 144, 181, 193,
- -1, -1, 11, 142, 12, 137, 190, 144, 142, 178,
- 194, 144, 181, 193, -1, -1, 90, 210, 206, 142,
- 179, 194, 144, 181, -1, -1, 90, 57, 210, 206,
- 142, 180, 194, 144, 181, -1, 10, -1, 256, -1,
- 57, -1, 181, 88, -1, 181, 73, -1, 181, 91,
- -1, 181, 85, -1, 181, 107, 142, 144, -1, 181,
- 107, 142, 253, 144, -1, 147, -1, 140, -1, 137,
- -1, 138, -1, 139, -1, 135, -1, 136, -1, 130,
- -1, 132, -1, 131, -1, 15, -1, 16, -1, 17,
- -1, 18, -1, 19, -1, 20, -1, 133, -1, 134,
- -1, 21, -1, 22, -1, 128, -1, 125, -1, 34,
- -1, 35, -1, 36, -1, 37, -1, 38, -1, 39,
- -1, 40, -1, 41, -1, 42, -1, 43, -1, 44,
- -1, 45, -1, 32, -1, 143, 146, -1, 142, 144,
- -1, 87, -1, 62, -1, 161, -1, 184, -1, -1,
- 105, 185, 133, 186, 134, 183, -1, 105, 161, -1,
- 256, -1, 187, -1, 188, -1, 187, 125, 188, -1,
- 56, 253, -1, 56, 253, 128, 214, -1, 112, 253,
- -1, 112, 253, 128, 214, -1, 189, 207, 198, -1,
- 57, 189, 207, 198, -1, 234, -1, 10, -1, 11,
- -1, 254, -1, 90, 182, -1, 90, 6, 10, -1,
- 57, 190, -1, 118, 190, -1, 137, 190, -1, 132,
- 190, -1, 16, 190, -1, 12, 137, 190, -1, 190,
- 143, 242, 146, -1, 142, 190, 144, -1, -1, 190,
- 142, 191, 196, 144, 181, -1, 190, 193, -1, 190,
- 127, 4, -1, 256, -1, 32, 212, 209, -1, 32,
- 57, 212, 209, -1, 256, -1, 14, -1, 195, -1,
- 195, 125, 14, -1, 195, 14, -1, 204, -1, 195,
- 125, 204, -1, 256, -1, 14, -1, 197, -1, 197,
- 125, 14, -1, 197, 14, -1, 205, -1, 197, 125,
- 205, -1, 256, -1, 128, 245, -1, 256, -1, 128,
- 246, -1, 126, -1, 124, 238, 145, -1, 127, 151,
- 124, 238, 145, -1, 128, 61, 126, -1, 128, 62,
- 126, -1, 126, -1, 124, 238, 145, -1, 128, 246,
- 126, -1, 128, 61, 126, -1, 128, 62, 126, -1,
- 128, 124, 202, 145, -1, 256, -1, 203, -1, 203,
- 125, -1, 246, -1, 124, 202, 145, -1, 203, 125,
- 246, -1, 203, 125, 124, 202, 145, -1, 210, 207,
- 199, -1, 57, 210, 207, 199, -1, 57, 95, 210,
- 207, 199, -1, 95, 204, -1, 204, -1, 248, -1,
- 256, -1, 254, -1, 57, 206, -1, 118, 206, -1,
- 137, 206, -1, 132, 206, -1, 16, 206, -1, 12,
- 137, 206, -1, 206, 143, 242, 146, -1, 256, -1,
- 254, -1, 57, 207, -1, 118, 207, -1, 137, 207,
- -1, 132, 207, -1, 16, 207, -1, 12, 137, 207,
- -1, 207, 143, 242, 146, -1, 142, 207, 144, 142,
- 194, 144, 181, -1, 142, 207, 144, -1, 256, -1,
- 57, 208, -1, 118, 208, -1, 137, 208, -1, 132,
- 208, -1, 16, 208, -1, 12, 137, 208, -1, 208,
- 143, 242, 146, -1, 256, -1, 57, 209, -1, 118,
- 209, -1, 137, 208, -1, 132, 208, -1, 16, 208,
- -1, 12, 137, 208, -1, 208, 143, 242, 146, -1,
- 142, 194, 144, 181, 193, -1, 142, 137, 208, 144,
- 142, 194, 144, 181, 193, -1, 142, 132, 208, 144,
- 142, 194, 144, 181, 193, -1, 142, 16, 208, 144,
- 142, 194, 144, 181, 193, -1, 234, -1, 11, -1,
- 112, 253, -1, 215, -1, 217, -1, 223, -1, 229,
- 253, -1, 228, 254, 127, 225, -1, 60, 142, 246,
- 144, -1, 48, -1, 234, -1, 11, -1, 112, 253,
- -1, 215, -1, 217, -1, 223, -1, 229, 253, -1,
- 228, 254, 127, 225, -1, 228, 253, -1, 60, 142,
- 246, 144, -1, 48, -1, 234, -1, 11, -1, 112,
- 253, -1, 229, 253, -1, 228, 253, -1, 60, 142,
- 246, 144, -1, 48, -1, 211, -1, 10, -1, 210,
- 209, -1, 57, 210, 209, -1, -1, 229, 124, 216,
- 150, 145, -1, -1, 229, 254, 218, 219, 220, 124,
- 150, 145, -1, 256, -1, 73, -1, 256, -1, 221,
- -1, 127, 222, -1, 221, 125, 222, -1, 252, -1,
- 94, 252, -1, 93, 252, -1, 92, 252, -1, 116,
- 94, 252, -1, 116, 93, 252, -1, 116, 92, 252,
- -1, 94, 116, 252, -1, 93, 116, 252, -1, 92,
- 116, 252, -1, 224, 124, 227, 145, -1, 228, 254,
- 127, 225, -1, 228, 254, -1, 228, 127, 225, -1,
- 228, -1, 235, -1, 11, -1, 256, -1, 226, 253,
- 125, -1, 226, 253, 128, 246, 125, -1, 226, -1,
- 226, 253, -1, 226, 253, 128, 246, -1, 67, -1,
- 56, -1, 104, -1, 113, -1, -1, 86, 253, 124,
- 231, 150, 145, -1, -1, 79, 86, 253, 124, 232,
- 150, 145, -1, 86, 124, 150, 145, -1, 79, 86,
- 124, 150, 145, -1, 115, 253, 126, -1, 115, 253,
- 128, 214, 126, -1, 115, 86, 253, 126, -1, 235,
- -1, 236, -1, 237, -1, 51, -1, 53, -1, 119,
- -1, 54, -1, 55, -1, 98, -1, 81, -1, 114,
- -1, 99, -1, 80, -1, 98, 235, -1, 81, 235,
- -1, 114, 235, -1, 99, 235, -1, 74, -1, 63,
- -1, 81, 63, -1, 117, -1, -1, 239, 240, -1,
- 256, -1, 240, 241, -1, 3, -1, 4, -1, 6,
- -1, 8, -1, 9, -1, 5, -1, 10, -1, 11,
- -1, 12, -1, 7, -1, 14, -1, 15, -1, 16,
- -1, 17, -1, 18, -1, 19, -1, 20, -1, 21,
- -1, 22, -1, 23, -1, 24, -1, 32, -1, 33,
- -1, 34, -1, 35, -1, 36, -1, 37, -1, 38,
- -1, 39, -1, 40, -1, 41, -1, 42, -1, 43,
- -1, 44, -1, 45, -1, 46, -1, 47, -1, 48,
- -1, 51, -1, 52, -1, 53, -1, 54, -1, 55,
- -1, 56, -1, 57, -1, 58, -1, 59, -1, 60,
- -1, 61, -1, 62, -1, 63, -1, 64, -1, 65,
- -1, 67, -1, 69, -1, 70, -1, 72, -1, 73,
- -1, 74, -1, 75, -1, 76, -1, 77, -1, 78,
- -1, 79, -1, 80, -1, 81, -1, 85, -1, 86,
- -1, 87, -1, 89, -1, 90, -1, 91, -1, 92,
- -1, 93, -1, 94, -1, 71, -1, 95, -1, 96,
- -1, 97, -1, 98, -1, 99, -1, 100, -1, 101,
- -1, 102, -1, 103, -1, 104, -1, 106, -1, 107,
- -1, 108, -1, 109, -1, 110, -1, 111, -1, 112,
- -1, 113, -1, 114, -1, 115, -1, 116, -1, 117,
- -1, 118, -1, 119, -1, 120, -1, 135, -1, 136,
- -1, 137, -1, 138, -1, 132, -1, 130, -1, 131,
- -1, 147, -1, 140, -1, 128, -1, 139, -1, 133,
- -1, 134, -1, 142, -1, 144, -1, 141, -1, 125,
- -1, 126, -1, 127, -1, 143, -1, 146, -1, 129,
- -1, 124, 240, 145, -1, 256, -1, 246, -1, 256,
- -1, 244, -1, 246, -1, 244, 125, 246, -1, 247,
- -1, 142, 214, 144, 245, -1, 103, 133, 214, 134,
- 142, 244, 144, -1, 64, 133, 214, 134, 142, 244,
- 144, -1, 59, 133, 214, 134, 142, 244, 144, -1,
- 96, 133, 214, 134, 142, 244, 144, -1, 100, 142,
- 214, 144, -1, 47, 142, 214, 144, -1, 147, 245,
- -1, 140, 245, -1, 136, 245, -1, 135, 245, -1,
- 137, 245, -1, 132, 245, -1, 245, 137, 245, -1,
- 245, 138, 245, -1, 245, 139, 245, -1, 245, 135,
- 245, -1, 245, 136, 245, -1, 245, 130, 245, -1,
- 245, 131, 245, -1, 245, 132, 245, -1, 245, 15,
- 245, -1, 245, 16, 245, -1, 245, 17, 245, -1,
- 245, 18, 245, -1, 245, 19, 245, -1, 245, 20,
- 245, -1, 245, 21, 245, -1, 245, 22, 245, -1,
- 245, 129, 245, 127, 245, -1, 245, 143, 246, 146,
- -1, 245, 142, 244, 144, -1, 245, 142, 144, -1,
- 245, 141, 245, -1, 245, 32, 245, -1, 142, 244,
- 144, -1, 247, -1, 142, 214, 144, 246, -1, 103,
- 133, 214, 134, 142, 244, 144, -1, 64, 133, 214,
- 134, 142, 244, 144, -1, 59, 133, 214, 134, 142,
- 244, 144, -1, 96, 133, 214, 134, 142, 244, 144,
- -1, 11, 142, 243, 144, -1, 80, 142, 243, 144,
- -1, 53, 142, 243, 144, -1, 119, 142, 243, 144,
- -1, 54, 142, 243, 144, -1, 55, 142, 243, 144,
- -1, 51, 142, 243, 144, -1, 98, 142, 243, 144,
- -1, 81, 142, 243, 144, -1, 114, 142, 243, 144,
- -1, 99, 142, 243, 144, -1, 74, 142, 243, 144,
- -1, 63, 142, 243, 144, -1, 100, 142, 214, 144,
- -1, 47, 142, 214, 144, -1, 87, 212, -1, 87,
- 212, 142, 243, 144, -1, 111, 142, 214, 144, -1,
- 111, 142, 246, 144, -1, 147, 246, -1, 140, 246,
- -1, 136, 246, -1, 135, 246, -1, 137, 246, -1,
- 132, 246, -1, 246, 137, 246, -1, 246, 138, 246,
- -1, 246, 139, 246, -1, 246, 135, 246, -1, 246,
- 136, 246, -1, 246, 130, 246, -1, 246, 131, 246,
- -1, 246, 132, 246, -1, 246, 15, 246, -1, 246,
- 16, 246, -1, 246, 17, 246, -1, 246, 18, 246,
- -1, 246, 19, 246, -1, 246, 20, 246, -1, 246,
- 133, 246, -1, 246, 134, 246, -1, 246, 21, 246,
- -1, 246, 22, 246, -1, 246, 129, 246, 127, 246,
- -1, 246, 143, 246, 146, -1, 246, 142, 244, 144,
- -1, 246, 142, 144, -1, 246, 141, 246, -1, 246,
- 32, 246, -1, 142, 244, 144, -1, 4, -1, 108,
- -1, 72, -1, 5, -1, 3, -1, 255, -1, 9,
- -1, 10, -1, 73, -1, 91, -1, 89, -1, 143,
- 250, 146, 181, 193, 124, 238, 145, -1, 143, 250,
- 146, 142, 194, 144, 181, 193, 124, 238, 145, -1,
- 249, -1, 142, 214, 144, 246, -1, 103, 133, 214,
- 134, 142, 244, 144, -1, 64, 133, 214, 134, 142,
- 244, 144, -1, 59, 133, 214, 134, 142, 244, 144,
- -1, 96, 133, 214, 134, 142, 244, 144, -1, 100,
- 142, 214, 144, -1, 47, 142, 214, 144, -1, 87,
- 212, -1, 87, 212, 142, 243, 144, -1, 111, 142,
- 214, 144, -1, 111, 142, 246, 144, -1, 147, 246,
- -1, 140, 246, -1, 136, 246, -1, 135, 246, -1,
- 132, 246, -1, 248, 137, 246, -1, 248, 138, 246,
- -1, 248, 139, 246, -1, 248, 135, 246, -1, 248,
- 136, 246, -1, 248, 130, 246, -1, 248, 131, 246,
- -1, 248, 132, 246, -1, 248, 15, 246, -1, 248,
- 16, 246, -1, 248, 17, 246, -1, 248, 18, 246,
- -1, 248, 19, 246, -1, 248, 20, 246, -1, 248,
- 133, 246, -1, 248, 134, 246, -1, 248, 21, 246,
- -1, 248, 22, 246, -1, 248, 129, 246, 127, 246,
- -1, 248, 143, 246, 146, -1, 248, 142, 244, 144,
- -1, 248, 142, 144, -1, 248, 141, 246, -1, 248,
- 32, 246, -1, 142, 244, 144, -1, 4, -1, 108,
- -1, 72, -1, 5, -1, 3, -1, 255, -1, 9,
- -1, 10, -1, 73, -1, 91, -1, 89, -1, 256,
- -1, 251, -1, 251, 125, 250, -1, 132, -1, 128,
- -1, 132, 253, -1, 253, -1, 253, -1, 229, 253,
- -1, 112, 253, -1, 10, -1, 11, -1, 73, -1,
- 91, -1, 10, -1, 11, -1, 91, -1, 6, -1,
- 8, -1, 255, 6, -1, 255, 8, -1, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 421, 421, 422, 426, 433, 434, 435, 439, 440,
- 444, 448, 461, 460, 472, 473, 474, 475, 476, 477,
- 478, 479, 492, 501, 505, 513, 517, 521, 532, 553,
- 575, 608, 630, 641, 655, 654, 669, 673, 677, 688,
- 692, 696, 700, 704, 708, 712, 716, 720, 724, 728,
- 732, 740, 741, 745, 746, 750, 754, 763, 771, 783,
- 782, 798, 797, 819, 827, 838, 847, 861, 860, 876,
- 875, 890, 905, 911, 920, 927, 940, 939, 964, 963,
- 991, 990, 1021, 1020, 1039, 1038, 1059, 1058, 1090, 1089,
- 1115, 1128, 1132, 1136, 1140, 1144, 1148, 1153, 1157, 1168,
- 1172, 1176, 1180, 1184, 1188, 1192, 1196, 1200, 1204, 1208,
- 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1240, 1244, 1248,
- 1252, 1256, 1260, 1264, 1268, 1272, 1276, 1280, 1284, 1288,
- 1292, 1296, 1300, 1304, 1308, 1312, 1316, 1320, 1327, 1328,
- 1333, 1332, 1340, 1344, 1345, 1349, 1355, 1364, 1368, 1372,
- 1376, 1380, 1386, 1396, 1400, 1405, 1417, 1421, 1435, 1450,
- 1455, 1460, 1465, 1470, 1475, 1480, 1485, 1491, 1490, 1512,
- 1522, 1532, 1536, 1540, 1549, 1553, 1558, 1562, 1567, 1575,
- 1580, 1588, 1592, 1597, 1601, 1606, 1614, 1619, 1627, 1631,
- 1638, 1642, 1649, 1653, 1657, 1661, 1665, 1672, 1676, 1680,
- 1684, 1688, 1692, 1699, 1700, 1701, 1705, 1708, 1709, 1710,
- 1714, 1719, 1725, 1731, 1742, 1746, 1756, 1760, 1764, 1769,
- 1774, 1779, 1784, 1789, 1794, 1802, 1806, 1810, 1815, 1820,
- 1825, 1830, 1835, 1840, 1845, 1851, 1859, 1863, 1868, 1873,
- 1878, 1883, 1888, 1893, 1901, 1905, 1910, 1915, 1920, 1925,
- 1930, 1935, 1940, 1946, 1953, 1960, 1970, 1974, 1982, 1986,
- 1990, 1994, 1998, 2014, 2030, 2039, 2046, 2050, 2058, 2062,
- 2066, 2070, 2074, 2090, 2106, 2124, 2133, 2140, 2144, 2152,
- 2156, 2172, 2188, 2197, 2204, 2208, 2216, 2220, 2229, 2228,
- 2253, 2252, 2282, 2283, 2290, 2291, 2295, 2296, 2300, 2304,
- 2308, 2312, 2316, 2320, 2324, 2328, 2332, 2336, 2343, 2351,
- 2355, 2359, 2363, 2370, 2374, 2381, 2382, 2388, 2396, 2397,
- 2403, 2412, 2419, 2423, 2427, 2435, 2434, 2457, 2456, 2479,
- 2480, 2484, 2490, 2497, 2506, 2507, 2508, 2512, 2516, 2520,
- 2524, 2528, 2532, 2537, 2542, 2547, 2552, 2556, 2561, 2570,
- 2575, 2583, 2587, 2591, 2599, 2609, 2609, 2619, 2620, 2624,
- 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634,
- 2634, 2634, 2635, 2635, 2635, 2635, 2636, 2636, 2636, 2636,
- 2636, 2637, 2637, 2637, 2638, 2638, 2638, 2638, 2638, 2639,
- 2639, 2639, 2639, 2639, 2640, 2640, 2640, 2640, 2640, 2641,
- 2641, 2641, 2641, 2641, 2642, 2642, 2642, 2642, 2643, 2643,
- 2643, 2643, 2643, 2644, 2644, 2644, 2644, 2644, 2645, 2645,
- 2645, 2645, 2645, 2645, 2646, 2646, 2646, 2646, 2646, 2647,
- 2647, 2647, 2647, 2648, 2648, 2648, 2648, 2649, 2649, 2649,
- 2649, 2649, 2650, 2650, 2650, 2651, 2651, 2651, 2651, 2651,
- 2652, 2652, 2652, 2652, 2652, 2653, 2653, 2653, 2653, 2653,
- 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656, 2656,
- 2656, 2657, 2657, 2657, 2657, 2657, 2657, 2657, 2657, 2657,
- 2657, 2658, 2658, 2662, 2666, 2673, 2677, 2684, 2688, 2695,
- 2699, 2703, 2707, 2711, 2715, 2719, 2723, 2727, 2731, 2735,
- 2739, 2743, 2747, 2751, 2755, 2759, 2763, 2767, 2771, 2775,
- 2779, 2783, 2787, 2791, 2795, 2799, 2803, 2807, 2811, 2815,
- 2819, 2823, 2827, 2831, 2835, 2839, 2847, 2851, 2855, 2859,
- 2863, 2867, 2871, 2881, 2887, 2893, 2899, 2905, 2911, 2917,
- 2924, 2931, 2938, 2945, 2951, 2957, 2961, 2965, 2969, 2973,
- 2984, 2995, 2999, 3003, 3007, 3011, 3015, 3019, 3023, 3027,
- 3031, 3035, 3039, 3043, 3047, 3051, 3055, 3059, 3063, 3067,
- 3071, 3075, 3079, 3083, 3087, 3091, 3095, 3099, 3103, 3107,
- 3111, 3115, 3122, 3126, 3130, 3134, 3138, 3142, 3146, 3150,
- 3154, 3160, 3166, 3170, 3174, 3188, 3192, 3196, 3200, 3204,
- 3208, 3212, 3216, 3220, 3224, 3228, 3239, 3250, 3254, 3258,
- 3262, 3266, 3270, 3274, 3278, 3282, 3286, 3290, 3294, 3298,
- 3302, 3306, 3310, 3314, 3318, 3322, 3326, 3330, 3334, 3338,
- 3342, 3346, 3350, 3354, 3358, 3362, 3366, 3373, 3377, 3381,
- 3385, 3389, 3393, 3397, 3401, 3405, 3411, 3417, 3425, 3426,
- 3427, 3431, 3432, 3433, 3434, 3438, 3446, 3454, 3482, 3486,
- 3490, 3494, 3505, 3509, 3513, 3521, 3525, 3529, 3535, 3546
+ 0, 422, 422, 423, 427, 434, 435, 436, 440, 441,
+ 445, 449, 462, 461, 473, 474, 475, 476, 477, 478,
+ 479, 480, 493, 502, 506, 514, 518, 522, 533, 554,
+ 576, 609, 631, 642, 656, 655, 670, 674, 678, 689,
+ 693, 697, 701, 705, 709, 713, 717, 721, 725, 729,
+ 733, 741, 742, 746, 747, 751, 755, 764, 772, 784,
+ 783, 799, 798, 820, 828, 839, 848, 862, 861, 877,
+ 876, 891, 906, 912, 921, 928, 941, 940, 965, 964,
+ 992, 991, 1022, 1021, 1040, 1039, 1060, 1059, 1091, 1090,
+ 1116, 1129, 1133, 1137, 1141, 1145, 1149, 1154, 1158, 1169,
+ 1173, 1177, 1181, 1185, 1189, 1193, 1197, 1201, 1205, 1209,
+ 1213, 1217, 1221, 1225, 1229, 1233, 1237, 1241, 1245, 1249,
+ 1253, 1257, 1261, 1265, 1269, 1273, 1277, 1281, 1285, 1289,
+ 1293, 1297, 1301, 1305, 1309, 1313, 1317, 1321, 1328, 1329,
+ 1334, 1333, 1341, 1345, 1346, 1350, 1356, 1365, 1369, 1373,
+ 1377, 1381, 1387, 1397, 1401, 1406, 1418, 1422, 1436, 1451,
+ 1456, 1461, 1466, 1471, 1476, 1481, 1486, 1492, 1491, 1513,
+ 1523, 1533, 1537, 1541, 1550, 1554, 1559, 1563, 1568, 1576,
+ 1581, 1589, 1593, 1598, 1602, 1607, 1615, 1620, 1628, 1632,
+ 1639, 1643, 1650, 1654, 1658, 1662, 1666, 1673, 1677, 1681,
+ 1685, 1689, 1693, 1700, 1701, 1702, 1706, 1709, 1710, 1711,
+ 1715, 1720, 1726, 1732, 1743, 1747, 1757, 1761, 1765, 1770,
+ 1775, 1780, 1785, 1790, 1795, 1803, 1807, 1811, 1816, 1821,
+ 1826, 1831, 1836, 1841, 1846, 1852, 1860, 1864, 1869, 1874,
+ 1879, 1884, 1889, 1894, 1902, 1906, 1911, 1916, 1921, 1926,
+ 1931, 1936, 1941, 1947, 1954, 1961, 1971, 1975, 1983, 1987,
+ 1991, 1995, 1999, 2015, 2031, 2040, 2047, 2051, 2059, 2063,
+ 2067, 2071, 2075, 2091, 2107, 2125, 2134, 2141, 2145, 2153,
+ 2157, 2173, 2189, 2198, 2205, 2209, 2217, 2221, 2230, 2229,
+ 2254, 2253, 2283, 2284, 2291, 2292, 2296, 2297, 2301, 2305,
+ 2309, 2313, 2317, 2321, 2325, 2329, 2333, 2337, 2344, 2352,
+ 2356, 2360, 2365, 2373, 2377, 2384, 2385, 2390, 2397, 2398,
+ 2403, 2411, 2415, 2419, 2426, 2430, 2434, 2442, 2441, 2464,
+ 2463, 2486, 2487, 2491, 2497, 2504, 2513, 2514, 2515, 2519,
+ 2523, 2527, 2531, 2535, 2539, 2544, 2549, 2554, 2559, 2563,
+ 2568, 2577, 2582, 2590, 2594, 2598, 2606, 2616, 2616, 2626,
+ 2627, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639,
+ 2640, 2641, 2641, 2641, 2642, 2642, 2642, 2642, 2643, 2643,
+ 2643, 2643, 2643, 2644, 2644, 2644, 2645, 2645, 2645, 2645,
+ 2645, 2646, 2646, 2646, 2646, 2646, 2647, 2647, 2647, 2647,
+ 2647, 2648, 2648, 2648, 2648, 2648, 2649, 2649, 2649, 2649,
+ 2650, 2650, 2650, 2650, 2650, 2651, 2651, 2651, 2651, 2651,
+ 2652, 2652, 2652, 2652, 2652, 2652, 2653, 2653, 2653, 2653,
+ 2653, 2654, 2654, 2654, 2654, 2655, 2655, 2655, 2655, 2656,
+ 2656, 2656, 2656, 2656, 2657, 2657, 2657, 2658, 2658, 2658,
+ 2658, 2658, 2659, 2659, 2659, 2659, 2659, 2660, 2660, 2660,
+ 2660, 2660, 2663, 2663, 2663, 2663, 2663, 2663, 2663, 2663,
+ 2663, 2663, 2663, 2664, 2664, 2664, 2664, 2664, 2664, 2664,
+ 2664, 2664, 2664, 2665, 2665, 2669, 2673, 2680, 2684, 2691,
+ 2695, 2702, 2706, 2710, 2714, 2718, 2722, 2726, 2730, 2734,
+ 2738, 2742, 2746, 2750, 2754, 2758, 2762, 2766, 2770, 2774,
+ 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, 2810, 2814,
+ 2818, 2822, 2826, 2830, 2834, 2838, 2842, 2846, 2854, 2858,
+ 2862, 2866, 2870, 2874, 2878, 2888, 2894, 2900, 2906, 2912,
+ 2918, 2924, 2931, 2938, 2945, 2952, 2958, 2964, 2968, 2972,
+ 2976, 2980, 2991, 3002, 3006, 3010, 3014, 3018, 3022, 3026,
+ 3030, 3034, 3038, 3042, 3046, 3050, 3054, 3058, 3062, 3066,
+ 3070, 3074, 3078, 3082, 3086, 3090, 3094, 3098, 3102, 3106,
+ 3110, 3114, 3118, 3122, 3129, 3133, 3137, 3141, 3145, 3149,
+ 3153, 3157, 3161, 3167, 3173, 3177, 3181, 3195, 3199, 3203,
+ 3207, 3211, 3215, 3219, 3223, 3227, 3231, 3235, 3246, 3257,
+ 3261, 3265, 3269, 3273, 3277, 3281, 3285, 3289, 3293, 3297,
+ 3301, 3305, 3309, 3313, 3317, 3321, 3325, 3329, 3333, 3337,
+ 3341, 3345, 3349, 3353, 3357, 3361, 3365, 3369, 3373, 3380,
+ 3384, 3388, 3392, 3396, 3400, 3404, 3408, 3412, 3418, 3424,
+ 3432, 3433, 3434, 3438, 3439, 3440, 3441, 3445, 3453, 3461,
+ 3489, 3493, 3497, 3501, 3505, 3511, 3515, 3519, 3530, 3534,
+ 3538, 3546, 3550, 3554, 3560, 3571
};
#endif
@@ -1306,13 +1014,13 @@ static const char *const yytname[] =
"const_expr_comma", "no_angle_bracket_const_expr", "const_expr",
"const_operand", "formal_const_expr", "formal_const_operand",
"capture_list", "capture", "class_derivation_name", "name",
- "name_no_final", "string_literal", "empty", YY_NULL
+ "name_no_final", "string_literal", "empty", YY_NULLPTR
};
#endif
# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
@@ -1333,7 +1041,1537 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+#define YYPACT_NINF -749
+
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-749)))
+
+#define YYTABLE_NINF -671
+
+#define yytable_value_is_error(Yytable_value) \
+ 0
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int16 yypact[] =
+{
+ -2, -749, 2788, 4412, 66, 2980, -749, -749, -749, -749,
+ -749, -749, -749, -749, -81, -17, 0, 5, 16, 24,
+ 37, 53, 73, -749, -749, 68, 106, 116, 4611, -749,
+ -749, 82, 126, 157, 162, 174, -749, 170, 171, 181,
+ 2788, 2788, 2788, 2788, 2788, 1434, 3192, 2788, 3664, -749,
+ 124, -749, -749, -749, -749, -749, -749, -749, 4633, 182,
+ -749, -30, -749, -749, 3317, 1125, 1125, -749, 1254, -749,
+ 1125, -749, -749, 235, -749, -749, -749, -749, 203, 47,
+ 819, -749, -749, -749, -749, -749, -749, 5160, 5160, -749,
+ 5160, 799, 5160, 206, -749, 5116, 192, 198, 207, 5160,
+ 998, 228, 239, 246, 5160, 5160, 232, 5130, 5160, 5160,
+ 1591, 5160, 5160, -749, 237, -749, -749, -749, 3190, -749,
+ -749, -749, -749, -749, -749, 2788, 4412, 2788, 2788, 2788,
+ 2788, 4412, 2788, 4412, 2788, 2788, 2788, -749, -749, 244,
+ 1254, 248, 1254, 1254, -749, 4412, 2788, 2788, 4412, 4412,
+ 1434, 2788, 2788, 14, 14, 14, 14, 14, -81, 0,
+ 5, 16, 24, 53, 68, 106, 2527, 658, 905, 2775,
+ 181, 252, -55, 3664, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, 1254, 253, 256, -749, -749, 14, 2788,
+ 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788,
+ 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788,
+ 2228, 2788, -749, -749, 235, 2788, -749, -749, -749, 1125,
+ -749, -749, -749, -749, -749, 267, 193, 235, 235, 193,
+ 193, 3979, 272, -749, 281, -749, -749, -749, -749, 893,
+ 301, 12, 17, 111, -749, -749, -749, 5160, -749, -749,
+ -749, 5160, -749, -749, -749, 5063, 1562, -749, 1254, 1254,
+ 1254, -749, -749, 321, -749, -749, -749, -749, -749, 2788,
+ 3094, -749, 316, -749, 3262, -749, 1254, 230, -749, -749,
+ 1254, 284, 306, -749, 4179, 325, 4479, 1254, -749, 1254,
+ 328, 285, 342, -749, -749, -749, -749, 519, 819, -749,
+ 327, 347, -749, 341, 360, 361, 363, 370, 348, 372,
+ 388, 383, 397, 401, 2788, -749, 2788, -749, -749, 398,
+ 403, 404, 406, 423, 415, 3388, 431, 432, 2788, 2788,
+ -749, -749, -19, 3192, 3846, 3866, 1271, 1271, 322, 322,
+ 338, 338, -749, 3591, 1139, 3882, 4044, 322, 322, 179,
+ 179, 14, 14, 14, -749, -749, -43, 1318, -749, 3406,
+ 193, 440, 193, 193, 193, 193, 193, 435, -749, 272,
+ -749, 272, -749, 435, 435, -749, 193, 4534, 4390, 193,
+ 193, 447, 55, -749, 959, -749, 2788, 1254, 434, -749,
+ -749, -749, -749, 893, -749, 522, -749, -749, -749, 477,
+ 482, 483, 494, 4685, -749, 3367, 2887, 362, 484, 4179,
+ 285, -749, -749, 507, -749, 4412, 488, 510, 495, -749,
+ 25, -749, -749, -749, 2788, 4633, 426, -749, -749, 496,
+ -749, -749, 1254, 26, -749, -749, -749, 1552, -749, -749,
+ 499, -749, 512, -749, -749, -749, -749, -749, -749, -749,
+ 500, -749, 501, -749, -749, -749, 3424, 509, 503, -749,
+ -749, -749, 515, -749, -749, -749, -749, 14, 3664, -749,
+ 4251, 359, -749, -749, 2788, -749, -749, -749, 435, 193,
+ 435, 435, 435, 435, 435, 2788, -52, 4633, 959, -749,
+ -46, 9, 597, -749, 4323, 521, 959, 959, 959, 959,
+ 959, 959, -88, -749, -749, 513, 3664, -749, -72, -749,
+ 538, 4739, -749, 536, -749, 4793, -749, 654, 655, 656,
+ -749, -749, 381, 548, -749, -749, 1254, 2439, 1254, 541,
+ 552, -749, 959, -749, -749, 25, -749, -749, 499, -749,
+ 554, 532, 1254, 1994, 4251, 544, 499, 4251, 499, 3442,
+ 426, 545, 426, 426, 426, 426, 426, 78, -749, -749,
+ 4847, -749, 539, -749, 119, -749, 155, 559, 560, 542,
+ 562, 564, 2340, 3609, 556, 499, 499, 3093, 499, 499,
+ 499, 499, -749, 22, 395, -749, 893, 2788, 2788, -749,
+ -749, 2788, 2788, 547, 4556, -749, -749, -749, -749, 553,
+ 570, -749, 3664, 435, 550, 555, 959, -88, 558, 563,
+ 359, -749, -749, 959, 567, 567, 567, 567, 567, 110,
+ 2788, 2788, -749, -749, 600, -749, 2788, -749, 2621, 574,
+ 577, -749, -749, -749, -39, 581, 615, 4901, 41, -749,
+ 617, 959, 619, 4290, 2887, -35, 499, -749, 395, -749,
+ 5160, -749, -749, -749, -749, -749, -749, -749, 606, 618,
+ 620, -749, -749, 4611, -749, -749, 622, 610, 625, -749,
+ 623, 2788, 2788, 2788, 2788, 1434, 2788, 627, 61, -749,
+ -749, 3682, -749, 124, -749, 629, 499, 297, 635, -749,
+ 395, -749, 122, 426, 621, 621, 621, 621, 621, -749,
+ 2788, -749, 4251, -749, 1849, -749, -749, 1254, 2788, 2788,
+ -749, -749, -749, -749, -749, 2340, 624, 637, 3664, -749,
+ -749, 499, 132, 132, 756, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, 640, 648, -749, -749, 132, 132, 132, 382, 763,
+ -749, 2788, -749, 1552, 671, -749, 538, -22, 35, 38,
+ 44, 597, 4611, 235, 277, -749, -749, 4251, -88, -749,
+ 4251, 4251, -749, 567, 639, 3664, 651, 3628, 2194, 2733,
+ 4057, 1254, 442, -749, 1254, -749, -749, -749, 2621, 4955,
+ 788, 673, 792, 793, -749, 678, 4412, -35, 4412, -749,
+ -749, -749, -749, 2900, -749, -749, -749, 395, 684, -749,
+ -749, 4412, 4412, 4412, 668, 4412, 4412, 4412, 1434, 14,
+ 14, 14, 14, 667, 50, 14, -749, -749, 2111, 2788,
+ 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788,
+ 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788, 2788,
+ 2452, 2788, 597, 396, 670, 597, 689, -749, -749, 621,
+ 4251, 669, 675, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
+ -749, -749, -749, -749, -749, -749, -749, -749, 686, -749,
+ 688, 676, 691, -749, 2564, 132, -749, -749, -749, -749,
+ -749, 1994, 692, 3609, 499, -749, -749, -749, -749, 359,
+ 235, -749, -749, 690, 696, 698, -749, 701, 703, 4251,
+ -749, -749, 2397, -749, 2397, -749, 2397, -749, -749, 2397,
+ 2397, 2397, -749, 5009, -749, -749, 709, -749, 87, 712,
+ -749, -749, -749, -749, 710, 725, 729, 737, 730, 740,
+ 2900, 2900, 2900, 2900, 2900, 1434, 2900, 3829, -749, 750,
+ -749, 499, 732, 743, 746, 2788, 748, 739, 751, 742,
+ 3461, 2788, -749, -749, -749, 3846, 3866, 1271, 1271, 322,
+ 322, 338, 338, -749, 3646, 1139, 3882, 4044, 322, 322,
+ 179, 179, 14, 14, 14, -749, -749, 108, 1454, 315,
+ 745, -749, 315, 499, 4251, 744, -749, 597, 1704, -749,
+ -749, -749, -749, 2340, 3664, 754, -749, -749, 765, -749,
+ -749, -749, 597, 597, 597, 755, -749, -749, -749, -749,
+ -749, -749, -749, 764, 885, 775, 776, 4412, 4412, 4412,
+ 4412, 4412, 4412, 75, 75, 75, 75, 75, 759, 134,
+ 75, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900,
+ 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900,
+ 2676, 2788, 499, -749, -749, 766, 767, 770, 774, -749,
+ 778, -749, -749, 14, 2788, -749, -749, -749, 4251, -749,
+ 777, 597, 315, -749, 762, 597, -749, 359, 359, 359,
+ 597, -749, 816, -749, -749, 801, 815, 828, 831, 832,
+ 838, 2900, -749, 1117, 3913, 1290, 1290, 2879, 2879, 461,
+ 461, -749, 3811, 2242, 4067, 4083, 486, 486, 75, 75,
+ 75, -749, -749, 146, 2014, -749, 2788, 2788, -749, 2788,
+ 2788, 3664, 4251, 833, 597, 315, -749, 315, 834, -749,
+ -749, -749, 315, 968, -749, 839, 845, 847, -749, 848,
+ 75, 2900, -749, -749, 161, 164, 166, 175, 849, 597,
+ 315, -749, 850, 2788, 2788, 2788, 2788, 3829, -749, -749,
+ -749, -749, 597, 359, 870, 184, 204, 213, 216, 359,
+ -749, -749, -749, -749, -749, -749, -749
+};
+
+ /* 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 yytype_uint16 yydefact[] =
+{
+ 0, 675, 0, 0, 0, 675, 5, 588, 584, 587,
+ 671, 672, 590, 591, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 586, 592, 0, 0, 0, 0, 594,
+ 593, 0, 0, 0, 0, 0, 585, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 675, 0, 3, 528,
+ 589, 257, 265, 339, 340, 342, 343, 324, 0, 0,
+ 354, 321, 353, 348, 345, 344, 347, 325, 0, 326,
+ 346, 356, 341, 675, 4, 259, 260, 261, 0, 310,
+ 0, 256, 336, 337, 338, 1, 21, 675, 675, 22,
+ 675, 675, 675, 0, 34, 675, 0, 0, 0, 675,
+ 0, 0, 0, 0, 675, 675, 0, 675, 675, 675,
+ 0, 675, 675, 6, 0, 16, 7, 19, 0, 14,
+ 55, 15, 17, 18, 36, 675, 0, 675, 675, 675,
+ 675, 0, 675, 0, 675, 675, 675, 278, 283, 0,
+ 0, 549, 0, 0, 277, 0, 675, 675, 0, 0,
+ 0, 675, 675, 558, 556, 555, 557, 554, 257, 339,
+ 340, 342, 343, 354, 353, 348, 345, 344, 347, 346,
+ 341, 0, 0, 489, 660, 661, 662, 665, 663, 667,
+ 666, 664, 654, 653, 0, 651, 656, 650, 553, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 673, 674, 675, 0, 322, 323, 355, 345,
+ 350, 349, 352, 258, 351, 0, 675, 675, 675, 675,
+ 675, 675, 0, 286, 244, 675, 668, 669, 670, 0,
+ 312, 660, 661, 663, 288, 262, 290, 675, 47, 46,
+ 48, 675, 37, 42, 23, 675, 0, 40, 0, 0,
+ 0, 45, 675, 0, 26, 25, 24, 43, 39, 0,
+ 0, 142, 0, 49, 0, 20, 0, 0, 41, 44,
+ 0, 285, 267, 276, 0, 0, 0, 0, 12, 0,
+ 0, 0, 284, 59, 269, 270, 271, 310, 0, 266,
+ 0, 488, 487, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 279, 675, 281, 280, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 583, 655, 675, 675, 567, 568, 569, 570, 571, 572,
+ 575, 576, 582, 0, 564, 565, 566, 573, 574, 562,
+ 563, 559, 560, 561, 581, 580, 0, 0, 287, 0,
+ 675, 0, 675, 675, 675, 675, 675, 249, 236, 0,
+ 245, 0, 246, 248, 247, 175, 675, 0, 0, 675,
+ 675, 0, 176, 179, 675, 174, 675, 318, 0, 315,
+ 314, 309, 313, 0, 675, 675, 38, 35, 675, 0,
+ 0, 0, 0, 675, 327, 0, 675, 285, 267, 0,
+ 0, 284, 67, 0, 333, 0, 0, 51, 53, 76,
+ 78, 285, 267, 61, 0, 0, 675, 268, 675, 0,
+ 357, 192, 0, 0, 57, 357, 197, 0, 58, 56,
+ 0, 274, 312, 272, 534, 548, 540, 536, 538, 539,
+ 0, 546, 0, 545, 535, 542, 0, 0, 0, 541,
+ 544, 547, 0, 551, 552, 543, 537, 529, 490, 92,
+ 675, 675, 91, 652, 0, 579, 578, 264, 250, 675,
+ 241, 237, 238, 240, 239, 675, 0, 0, 675, 213,
+ 0, 0, 675, 178, 0, 0, 675, 675, 675, 675,
+ 675, 675, 675, 226, 225, 0, 486, 485, 319, 308,
+ 263, 675, 293, 675, 292, 675, 329, 0, 0, 0,
+ 331, 675, 0, 0, 154, 155, 0, 0, 0, 0,
+ 144, 145, 675, 153, 143, 0, 69, 71, 0, 335,
+ 0, 0, 0, 675, 675, 0, 0, 675, 0, 0,
+ 675, 0, 675, 675, 675, 675, 675, 0, 217, 216,
+ 675, 80, 0, 675, 0, 8, 0, 0, 0, 0,
+ 0, 0, 675, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 60, 675, 675, 156, 0, 0, 0, 282,
+ 550, 0, 0, 0, 0, 94, 96, 93, 95, 0,
+ 0, 171, 577, 242, 0, 0, 675, 675, 0, 0,
+ 675, 177, 180, 675, 231, 227, 228, 230, 229, 0,
+ 0, 675, 210, 190, 251, 316, 0, 289, 0, 0,
+ 295, 294, 332, 675, 0, 0, 0, 675, 0, 33,
+ 147, 675, 149, 675, 0, 675, 0, 68, 675, 334,
+ 675, 52, 643, 639, 642, 645, 646, 182, 0, 0,
+ 0, 641, 647, 0, 649, 648, 0, 0, 0, 640,
+ 0, 0, 0, 0, 0, 0, 0, 0, 183, 214,
+ 186, 215, 597, 644, 181, 0, 0, 0, 0, 62,
+ 675, 275, 0, 675, 222, 218, 219, 221, 220, 86,
+ 675, 13, 675, 193, 358, 359, 357, 0, 675, 675,
+ 195, 196, 198, 200, 201, 675, 0, 204, 206, 203,
+ 199, 0, 163, 159, 0, 109, 110, 111, 112, 113,
+ 114, 117, 118, 133, 121, 122, 123, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 137, 136, 120, 119,
+ 106, 108, 107, 115, 116, 104, 105, 101, 102, 103,
+ 100, 0, 0, 99, 157, 160, 162, 161, 0, 0,
+ 167, 675, 169, 0, 0, 63, 273, 0, 0, 0,
+ 0, 675, 0, 675, 0, 357, 243, 675, 675, 211,
+ 675, 675, 252, 232, 235, 191, 0, 320, 667, 0,
+ 666, 0, 0, 296, 0, 298, 657, 675, 0, 675,
+ 0, 0, 0, 0, 328, 0, 0, 675, 0, 138,
+ 141, 139, 146, 0, 151, 188, 70, 675, 0, 72,
+ 50, 0, 0, 0, 605, 0, 0, 0, 0, 613,
+ 612, 611, 610, 0, 0, 609, 54, 185, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 675, 0, 0, 675, 0, 65, 88, 223,
+ 675, 0, 0, 361, 362, 366, 363, 370, 364, 365,
+ 367, 368, 369, 371, 372, 373, 374, 375, 376, 377,
+ 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 436,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 427, 428, 429, 430, 431, 432, 433, 434, 435, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 459, 460, 461, 675, 478, 479, 480, 471, 483,
+ 467, 468, 466, 473, 474, 462, 463, 464, 465, 472,
+ 470, 477, 475, 481, 476, 482, 469, 360, 0, 9,
+ 0, 0, 0, 202, 205, 164, 158, 135, 134, 166,
+ 170, 675, 0, 191, 0, 532, 531, 533, 530, 675,
+ 675, 172, 97, 0, 0, 0, 212, 0, 0, 675,
+ 233, 317, 0, 301, 0, 300, 0, 299, 659, 0,
+ 0, 0, 658, 675, 297, 330, 0, 27, 0, 0,
+ 32, 148, 152, 150, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 189, 491, 0,
+ 74, 0, 0, 0, 0, 675, 0, 0, 0, 0,
+ 0, 0, 638, 184, 187, 622, 623, 624, 625, 626,
+ 627, 630, 631, 637, 0, 619, 620, 621, 628, 629,
+ 617, 618, 614, 615, 616, 636, 635, 0, 0, 77,
+ 0, 82, 79, 0, 675, 0, 224, 675, 0, 194,
+ 11, 10, 207, 675, 208, 0, 165, 64, 0, 173,
+ 98, 595, 675, 675, 675, 0, 307, 306, 305, 304,
+ 303, 302, 291, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 504, 502, 501, 503, 500, 0, 0,
+ 499, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 73, 604, 0, 0, 0, 0, 603,
+ 0, 607, 608, 598, 0, 634, 633, 84, 675, 66,
+ 0, 675, 81, 484, 0, 675, 357, 675, 675, 675,
+ 675, 28, 0, 29, 31, 0, 0, 0, 0, 0,
+ 0, 0, 527, 513, 514, 515, 516, 517, 518, 519,
+ 520, 526, 0, 510, 511, 512, 508, 509, 505, 506,
+ 507, 525, 524, 0, 0, 75, 0, 0, 606, 0,
+ 0, 632, 675, 0, 675, 87, 209, 168, 0, 255,
+ 254, 253, 234, 0, 498, 0, 0, 0, 497, 0,
+ 492, 0, 523, 522, 0, 0, 0, 0, 0, 675,
+ 89, 596, 0, 0, 0, 0, 0, 521, 601, 600,
+ 602, 599, 675, 675, 0, 0, 0, 0, 0, 675,
+ 83, 30, 495, 494, 496, 493, 85
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -749, -749, -226, -749, 292, -749, -749, 747, -749, -749,
+ -28, 459, -749, -106, -749, -749, -749, -11, -113, -749,
+ -749, -749, -67, -177, -749, -749, -749, 749, -749, -749,
+ -749, -749, -749, -383, -749, -749, 374, -749, -749, -749,
+ 377, 491, -339, -749, -509, -567, -445, -749, 1, -749,
+ 208, -542, -749, -376, -702, -749, -354, 178, -438, 172,
+ 54, -195, -41, -77, -550, -206, 28, -103, -749, -83,
+ -749, -749, -749, -749, 219, -70, -749, -362, -749, -749,
+ -8, -7, -749, -749, -749, -749, -14, 30, -749, -749,
+ -433, -749, 46, -749, -478, -124, -27, -119, 526, -249,
+ -749, -749, 700, -749, -748, 708, 817, -513, -1
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 4, 5, 564, 565, 115, 428, 116, 117, 255,
+ 118, 416, 417, 119, 120, 440, 548, 582, 689, 275,
+ 538, 646, 647, 826, 290, 544, 547, 291, 702, 1208,
+ 1262, 880, 1124, 471, 764, 820, 121, 272, 529, 530,
+ 531, 532, 583, 1021, 584, 600, 381, 382, 677, 678,
+ 824, 622, 434, 438, 716, 717, 383, 680, 557, 502,
+ 232, 233, 73, 411, 141, 293, 74, 75, 394, 76,
+ 395, 513, 629, 630, 803, 77, 78, 391, 387, 388,
+ 79, 80, 122, 521, 633, 123, 81, 82, 83, 84,
+ 562, 563, 704, 1007, 505, 300, 301, 1077, 173, 49,
+ 681, 682, 184, 185, 805, 806, 585, 50, 124
+};
+
+ /* 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 yytype_int16 yytable[] =
+{
+ 6, 271, 569, 304, 305, 306, 307, 604, 309, 638,
+ 311, 312, 313, 1012, 144, 294, 772, 214, 172, 358,
+ 142, 143, 320, 321, 489, 593, 216, 326, 327, 648,
+ 683, 510, 370, 372, 537, 295, 403, 545, 469, 690,
+ 620, 292, 774, 792, 783, 187, 197, 212, 296, 213,
+ 1043, 1045, 1047, 625, 594, 621, 626, 236, 237, 248,
+ 249, 125, 250, 252, 253, 789, 85, 257, 412, 493,
+ 329, 261, 234, 171, 217, 847, 267, 268, 423, 270,
+ 273, 274, 329, 278, 279, -668, 810, 567, 568, 330,
+ -669, 485, 605, 823, 220, 221, 222, 485, 608, 685,
+ 224, 475, 688, 329, 299, 811, 828, 1179, 621, 610,
+ 297, 298, 692, 834, 694, 695, 696, 697, 698, 1,
+ 2, 3, 1025, 470, 302, 126, 302, 302, 302, 302,
+ 212, 302, 213, 302, 302, 302, -668, 827, 238, -668,
+ 612, -669, 127, 796, -669, 302, 302, 128, 876, 769,
+ 302, 302, 485, 609, 303, 209, 210, 211, 129, 308,
+ 329, 310, 546, 329, 770, 771, 130, 294, 511, 329,
+ 131, 294, 515, 319, 239, 329, 322, 323, 324, 1026,
+ 494, 294, 1027, 356, -670, 815, 848, 295, 1028, 679,
+ 384, 295, 457, 292, 1092, 132, 220, 221, 222, 224,
+ 296, 295, 560, 536, 296, 361, 133, 687, 775, 362,
+ 134, 197, 1154, 234, 296, 145, 1189, 1190, 1191, 257,
+ 699, 700, 881, 396, 776, 368, 234, 234, 368, 368,
+ 385, 1155, 1030, 329, 389, -670, 722, 723, -670, 765,
+ 766, 767, 768, 706, 707, 426, 1036, 225, 135, 220,
+ 363, 226, 1205, 621, 794, 879, 299, 882, 136, 329,
+ 299, 6, 297, 298, 878, 700, 297, 298, 146, 392,
+ 299, 329, 829, 1008, 770, 771, 297, 298, 1232, 708,
+ 367, 369, 371, 373, 374, 1079, 329, 174, 175, 329,
+ 1282, 329, 227, 1022, 1146, 637, 1147, 709, 1148, 147,
+ 329, 1149, 1150, 1151, 148, 1298, 294, 149, 1299, 329,
+ 1300, 364, 150, 151, 877, 302, 206, 207, 208, 1301,
+ 209, 210, 211, 152, 215, 365, 295, 235, 1312, 329,
+ 366, 472, 187, 254, 258, 683, 488, 384, 329, 296,
+ 259, 329, 1035, 195, 196, 1037, 1038, 873, 1313, 260,
+ 176, 177, 1034, 228, 197, 264, 414, 1314, 415, 368,
+ 1315, 368, 368, 368, 368, 368, 265, 229, 178, 179,
+ 197, 180, 230, 266, 269, 368, 181, 231, 368, 368,
+ 280, 333, 1015, 504, 550, 507, 314, 10, 595, 11,
+ 316, 594, 533, 6, 514, 299, 328, 6, 1029, 332,
+ 596, 297, 298, 597, 360, 534, 598, 809, -90, 435,
+ -90, 436, -90, 437, 478, 386, 480, 481, 482, 483,
+ 484, 1032, 599, 392, -236, 559, 419, 6, 393, 384,
+ 486, 1214, 595, 490, 491, 1125, 236, 237, 551, 770,
+ 771, 874, 552, 540, 596, 404, 606, 597, 420, 406,
+ 598, 1080, 430, 384, 431, 432, 433, 204, 205, 206,
+ 207, 208, 1138, 209, 210, 211, 599, 424, 439, 385,
+ 601, 444, 329, 204, 205, 206, 207, 208, 368, 209,
+ 210, 211, 450, 553, 507, 445, -90, 504, -90, 1119,
+ -90, 472, 1122, 1179, 679, 504, 504, 504, 504, 504,
+ 504, 623, 384, 384, 446, 447, 384, 448, 683, 236,
+ 237, 574, 631, 533, 449, 575, 451, 238, 1179, 435,
+ 6, 436, 452, 773, 770, 771, 1019, 453, 48, 241,
+ 242, 504, 458, 603, 1049, 1050, 1051, 819, 770, 771,
+ 1120, 454, 684, 385, 554, 455, 385, 459, 460, 559,
+ 461, 559, 559, 559, 559, 559, 576, 462, 555, 463,
+ 777, 778, 705, 556, 779, 780, 153, 154, 155, 156,
+ 157, 719, 648, 188, 1078, 465, 466, 479, 485, 509,
+ 144, 1053, 601, 623, 1010, 1011, 142, 143, 1031, 577,
+ 238, 492, 176, 177, 1145, 512, 1184, 1185, 1186, 1187,
+ 1188, 516, 1189, 1190, 1191, 504, 623, 517, 518, 601,
+ 243, 179, 504, 180, 690, 270, 392, 578, 181, 519,
+ 507, 804, 830, 1186, 1187, 1188, 535, 1189, 1190, 1191,
+ 533, 579, 6, 539, 541, 542, 580, 543, 561, 586,
+ 504, 581, 587, 588, 825, 591, 239, 623, 844, 144,
+ 1269, 1270, 1271, 590, 469, 142, 143, 592, 613, 624,
+ 607, 384, -311, 628, 634, 635, 636, 679, 614, 615,
+ 616, 617, 618, 619, 639, 643, 325, 644, 650, 1210,
+ 649, 686, 693, 827, 703, 710, 711, 712, 713, 623,
+ 714, 781, 559, 721, 785, 784, 786, 787, 807, 507,
+ 790, 385, 808, 843, 645, 791, 812, 302, 302, 53,
+ 621, 54, 55, 56, 719, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 1310, 357, 63, 219,
+ 813, 359, 1316, -243, 1212, 816, 384, 818, 831, 384,
+ 384, 832, 836, 833, 186, 835, 65, 66, 837, 1217,
+ 1218, 1219, 1014, 1263, 700, 838, 1016, 1020, 144, 1013,
+ 507, 846, 70, 872, 142, 143, 223, 72, 788, 875,
+ 472, 1039, 234, 1268, 1017, 793, 385, 623, 245, 385,
+ 385, 804, 804, 804, 1018, 405, 1024, 1040, 1056, 1057,
+ 146, 804, 1058, 1059, 1060, 251, 6, 384, 263, 1081,
+ 1085, 1091, 1121, 817, 1123, 1126, 825, 1288, 277, 1127,
+ 1131, 1078, 1078, 1078, 1078, 1078, 623, 1078, 1265, 241,
+ 242, 1129, 1267, 1130, 1140, 1139, 1132, 1272, 1136, 384,
+ 456, 1141, 1142, 1117, 1061, 1143, 1063, 1144, 315, 87,
+ 317, 318, 1157, 1153, 467, 468, 1156, 88, 1158, 1082,
+ 1083, 1084, 1159, 1086, 1087, 1088, 1089, 90, 91, 92,
+ 1160, 472, 1161, 1162, 472, 1192, 1194, 1195, 247, 385,
+ 1196, 1290, 1198, 1199, 99, 1200, 1201, 1207, 1211, 1216,
+ 1221, 331, 176, 177, 104, 1222, 240, 246, 1215, 1220,
+ 105, 1223, 1224, 1231, 390, 108, 1303, 1266, 1256, 1257,
+ 243, 179, 506, 180, 1258, 111, 1259, 112, 181, 1309,
+ 1260, 1264, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078,
+ 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078,
+ 1078, 1273, 114, 244, 53, 1274, 54, 55, 56, 1275,
+ 549, 1163, 1164, 1165, 1166, 1167, 53, 1170, 54, 55,
+ 56, 1197, 1276, 573, 399, 1277, 400, 401, 402, 236,
+ 237, 495, 1279, 63, 219, 496, 1278, 1289, 1292, 1291,
+ 384, 1293, 1078, 705, 413, 63, 219, 1294, 418, 1295,
+ 1296, 65, 66, 1302, 1304, 427, 1311, 429, 384, 1009,
+ 602, 651, 397, 65, 66, 441, 443, 70, 174, 175,
+ 1209, 506, 72, 1137, 1193, 1255, 497, 821, 641, 70,
+ 684, 822, 1135, 410, 72, 1062, 1094, 1054, 601, 234,
+ 1128, 0, 1078, 473, 0, 804, 0, 804, 385, 804,
+ 0, 186, 804, 804, 804, 0, 0, 147, 1169, 0,
+ 238, 0, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
+ 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250,
+ 1251, 176, 177, 0, 0, 0, 0, 498, 0, 0,
+ 0, 0, 0, 384, 302, 0, 0, 0, 0, 178,
+ 179, 499, 180, 0, 0, 508, 500, 181, 718, 0,
+ 0, 501, 0, 1168, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1280, 0, 442, 246, 0, 0, 0, 0,
+ 0, 0, 262, 385, 0, 0, 472, 0, 0, 0,
+ 0, 0, 719, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
+ 566, 472, 472, 472, 0, 0, 795, 506, 0, 1179,
+ 0, 0, 797, 0, 0, 0, 191, 192, 193, 194,
+ 195, 196, 1297, 1253, 0, 0, 0, 384, 0, 0,
+ 0, 197, 0, 0, 0, 0, 53, 0, 54, 55,
+ 56, 0, 0, 0, 0, 1225, 1226, 1227, 1228, 1229,
+ 1230, 0, 0, 0, 0, 0, 0, 839, 840, 841,
+ 842, 503, 845, 0, 0, 63, 219, 385, 0, 0,
+ 472, 0, 0, 0, 472, 0, 601, 601, 601, 472,
+ 0, 384, 0, 65, 66, 0, 506, 0, 0, 1284,
+ 1285, 0, 1286, 1287, 640, 0, 642, 0, 0, 70,
+ 0, 718, 0, 558, 72, 0, 0, 1181, 1182, 1183,
+ 418, 0, 1184, 1185, 1186, 1187, 1188, 0, 1189, 1190,
+ 1191, 385, 0, 472, 174, 175, 1305, 1306, 1307, 1308,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 0,
+ 209, 210, 211, 0, 0, 0, 0, 0, 472, 0,
+ 193, 194, 195, 196, 0, 0, 0, 506, 0, 1023,
+ 0, 472, 601, 197, 0, 503, 0, 0, 601, 1175,
+ 1176, 1177, 1178, 503, 503, 503, 503, 503, 503, 0,
+ 0, 0, 1179, 0, 0, 0, 0, 176, 177, 0,
+ 0, 0, 0, 189, 190, 191, 192, 193, 194, 195,
+ 196, 0, 0, 0, 0, 178, 179, 0, 180, 503,
+ 197, 0, 0, 181, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1090, 0, 0, 558, 0, 558,
+ 558, 558, 558, 558, 0, 1095, 1096, 1097, 1098, 1099,
+ 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
+ 1110, 1111, 1112, 1113, 1114, 1115, 0, 1118, 0, 0,
+ 0, 0, 0, 0, 202, 203, 204, 205, 206, 207,
+ 208, 0, 209, 210, 211, 566, 0, 0, 0, 0,
+ 0, 0, 0, 503, 0, 1184, 1185, 1186, 1187, 1188,
+ 503, 1189, 1190, 1191, 0, 0, 0, 7, 8, 9,
+ 10, 0, 11, 12, 13, 158, 0, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 503, 209,
+ 210, 211, 0, 0, 476, 0, 0, 0, 0, 189,
+ 190, 191, 192, 193, 194, 195, 196, 0, 0, 0,
+ 0, 15, 52, 0, 0, 159, 197, 160, 161, 162,
+ 57, 58, 1033, 20, 59, 0, 0, 163, 22, 0,
+ 0, 61, 0, 0, 0, 0, 23, 24, 164, 1048,
+ 558, 0, 1052, 0, 165, 166, 0, 0, 0, 0,
+ 0, 28, 0, 29, 0, 30, 0, 0, 0, 0,
+ 31, 0, 167, 168, 34, 0, 0, 35, 67, 0,
+ 1134, 0, 36, 0, 0, 37, 68, 69, 169, 0,
+ 0, 71, 0, 170, 0, 7, 8, 9, 10, 0,
+ 11, 12, 13, 14, 0, 0, 40, 0, 0, 41,
+ 42, 43, 174, 175, 44, 0, 45, 46, 0, 0,
+ 0, 47, 0, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 0, 209, 210, 211, 0, 15,
+ 1206, 174, 175, 16, 0, 17, 18, 19, 0, 0,
+ 0, 20, 0, 570, 571, 21, 22, 1203, 0, 0,
+ 0, 0, 0, 0, 23, 24, 25, 0, 0, 0,
+ 0, 0, 26, 27, 0, 176, 177, 0, 0, 28,
+ 0, 29, 0, 30, 0, 0, 0, 0, 31, 0,
+ 32, 33, 34, 178, 179, 35, 180, 0, 0, 718,
+ 36, 181, 0, 37, 176, 177, 38, 0, 0, 0,
+ 0, 39, 0, 0, 0, 0, 572, 276, 0, 0,
+ 0, 0, 178, 179, 40, 180, 398, 41, 42, 43,
+ 181, 0, 44, 0, 45, 46, 0, 0, 0, 47,
+ 0, 0, 0, 0, 0, 0, 0, 883, 884, 885,
+ 886, 887, 888, 889, 890, 891, 892, 1254, 893, 894,
+ 895, 896, 897, 898, 899, 900, 901, 902, 903, 0,
+ 1261, 0, 0, 0, 0, 0, 904, 905, 906, 907,
+ 908, 909, 910, 911, 912, 913, 914, 915, 916, 917,
+ 918, 919, 920, 0, 0, 921, 922, 923, 924, 925,
+ 926, 927, 928, 929, 930, 931, 932, 933, 934, 935,
+ 0, 936, 0, 937, 938, 939, 940, 941, 942, 943,
+ 944, 945, 946, 947, 948, 949, 0, 0, 0, 950,
+ 951, 952, 0, 953, 954, 955, 956, 957, 958, 959,
+ 960, 961, 962, 963, 964, 965, 966, 967, 968, 0,
+ 969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
+ 979, 980, 981, 982, 983, 0, 0, 0, 984, 985,
+ 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
+ 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1213,
+ 1005, 1006, 883, 884, 885, 886, 887, 888, 889, 890,
+ 891, 892, 0, 893, 894, 895, 896, 897, 898, 899,
+ 900, 901, 902, 903, 0, 0, 0, 0, 0, 0,
+ 0, 904, 905, 906, 907, 908, 909, 910, 911, 912,
+ 913, 914, 915, 916, 917, 918, 919, 920, 0, 0,
+ 921, 922, 923, 924, 925, 926, 927, 928, 929, 930,
+ 931, 932, 933, 934, 935, 0, 936, 0, 937, 938,
+ 939, 940, 941, 942, 943, 944, 945, 946, 947, 948,
+ 949, 0, 0, 0, 950, 951, 952, 0, 953, 954,
+ 955, 956, 957, 958, 959, 960, 961, 962, 963, 964,
+ 965, 966, 967, 968, 0, 969, 970, 971, 972, 973,
+ 974, 975, 976, 977, 978, 979, 980, 981, 982, 983,
+ 0, 0, 0, 984, 985, 986, 987, 988, 989, 990,
+ 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000,
+ 1001, 1002, 1003, 1004, 0, 1005, 1006, 652, 653, 654,
+ 10, 0, 11, 655, 656, 51, 0, 0, 657, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 189,
+ 190, 191, 192, 193, 194, 195, 196, 0, 0, 0,
+ 0, 658, 52, 0, 0, 53, 197, 54, 55, 56,
+ 57, 377, 0, 659, 59, 0, 0, 60, 660, 0,
+ 0, 61, 0, 0, 0, 0, 661, 662, 62, 0,
+ 0, 0, 0, 0, 63, 64, 0, 0, 0, 0,
+ 0, 663, 0, 664, 0, 665, 0, 0, 0, 378,
+ 666, 0, 65, 66, 667, 0, 0, 668, 67, 0,
+ 0, 0, 669, 0, 0, 670, 68, 69, 70, 0,
+ 0, 71, 0, 72, 652, 653, 654, 10, 0, 11,
+ 655, 656, 51, 0, 0, 1093, 671, 0, 0, 672,
+ 673, 0, 0, 0, 674, 0, 675, 0, 0, 0,
+ 0, 676, 0, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 0, 209, 210, 211, 658, 52,
+ 1283, 0, 53, 0, 54, 55, 56, 57, 377, 0,
+ 659, 59, 0, 0, 60, 660, 0, 0, 61, 0,
+ 0, 0, 0, 661, 662, 62, 0, 0, 0, 0,
+ 0, 63, 64, 0, 0, 0, 0, 0, 663, 0,
+ 664, 0, 665, 0, 174, 175, 378, 666, 0, 65,
+ 66, 667, 0, 0, 668, 67, 0, 0, 0, 669,
+ 0, 0, 670, 68, 69, 70, 0, 0, 71, 0,
+ 72, 7, 8, 9, 10, 0, 11, 12, 13, 14,
+ 0, 0, 0, 671, 0, 0, 672, 673, 0, 0,
+ 57, 674, 0, 675, 0, 0, 0, 0, 676, 1173,
+ 1174, 1175, 1176, 1177, 1178, 0, 0, 176, 177, 0,
+ 0, 0, 0, 0, 1179, 15, 0, 0, 0, 16,
+ 0, 17, 18, 19, 0, 178, 179, 20, 180, 0,
+ 0, 21, 22, 181, 0, 0, 0, 0, 67, 0,
+ 23, 24, 25, 0, 0, 0, 801, 69, 26, 27,
+ 1042, 0, 0, 0, 0, 28, 0, 29, 0, 30,
+ 0, 0, 0, 0, 31, 0, 32, 33, 34, 0,
+ 0, 35, 0, 0, 0, 0, 36, 0, 0, 37,
+ 0, 0, 38, 7, 8, 9, 10, 39, 11, 12,
+ 13, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 0, 0, 41, 42, 43, 0, 0, 44, 0,
+ 45, 46, 355, 1182, 1183, 47, 0, 1184, 1185, 1186,
+ 1187, 1188, 0, 1189, 1190, 1191, 0, 15, 0, 0,
+ 0, 16, 0, 17, 18, 19, 0, 0, 0, 20,
+ 0, 0, 0, 21, 22, 0, 0, 174, 175, 0,
+ 0, 0, 23, 24, 25, 0, 0, 0, 0, 0,
+ 26, 27, 0, 0, 0, 0, 0, 28, 0, 29,
+ 0, 30, 0, 0, 0, 0, 31, 0, 32, 33,
+ 34, 0, 0, 35, 0, 0, 0, 0, 36, 524,
+ 525, 37, 0, 57, 38, 7, 8, 9, 10, 39,
+ 11, 12, 13, 14, 715, 0, 0, 0, 0, 0,
+ 176, 177, 40, 0, 0, 41, 42, 43, 0, 0,
+ 44, 0, 45, 46, 0, 0, 0, 47, 178, 179,
+ 53, 180, 54, 55, 56, 0, 181, 0, 0, 15,
+ 0, 67, 60, 16, 0, 17, 18, 19, 0, 801,
+ 69, 20, 0, 62, 0, 21, 22, 0, 0, 63,
+ 64, 0, 0, 0, 23, 24, 25, 0, 0, 0,
+ 0, 0, 26, 27, 0, 0, 0, 65, 66, 28,
+ 0, 29, 0, 30, 0, 0, 0, 0, 31, 0,
+ 32, 33, 34, 70, 0, 35, 71, 0, 72, 0,
+ 36, 0, 0, 37, 0, 0, 38, 7, 8, 9,
+ 10, 39, 11, 12, 13, 14, 0, 0, 53, 0,
+ 54, 55, 56, 0, 40, 0, 0, 41, 42, 43,
+ 218, 0, 44, 0, 45, 46, 1116, 0, 0, 47,
+ 0, 0, 0, 0, 0, 0, 0, 63, 219, 0,
+ 0, 15, 0, 0, 0, 16, 0, 17, 18, 19,
+ 0, 0, 0, 20, 0, 65, 66, 21, 22, 0,
+ 0, 174, 175, 0, 0, 0, 23, 24, 25, 0,
+ 0, 70, 0, 0, 26, 27, 72, 0, 0, 0,
+ 0, 28, 0, 29, 0, 30, 0, 0, 0, 0,
+ 31, 0, 32, 33, 34, 0, 0, 35, 0, 136,
+ 0, 0, 36, 0, 0, 37, 0, 57, 38, 7,
+ 8, 9, 10, 39, 11, 12, 13, 14, 1133, 0,
+ 0, 0, 0, 0, 176, 177, 40, 0, 0, 41,
+ 42, 43, 0, 0, 44, 0, 45, 46, 0, 0,
+ 0, 47, 178, 798, 799, 800, 0, 0, 0, 0,
+ 181, 0, 0, 15, 0, 67, 0, 16, 0, 17,
+ 18, 19, 0, 801, 69, 20, 0, 802, 0, 21,
+ 22, 0, 0, 174, 175, 0, 0, 0, 23, 24,
+ 25, 0, 0, 0, 0, 0, 26, 27, 0, 0,
+ 0, 0, 0, 28, 0, 29, 0, 30, 0, 0,
+ 0, 0, 31, 0, 32, 33, 34, 0, 0, 35,
+ 0, 0, 0, 0, 36, 0, 0, 37, 0, 57,
+ 38, 7, 8, 9, 10, 39, 11, 12, 13, 14,
+ 0, 0, 0, 0, 0, 0, 176, 177, 40, 0,
+ 0, 41, 42, 43, 0, 0, 44, 0, 45, 46,
+ 1252, 0, 0, 47, 178, 179, 53, 180, 54, 55,
+ 56, 0, 181, 0, 0, 15, 0, 67, 0, 16,
+ 0, 17, 18, 19, 0, 801, 69, 20, 0, 1044,
+ 0, 21, 22, 0, 0, 63, 219, 0, 0, 0,
+ 23, 24, 25, 0, 0, 0, 0, 0, 26, 27,
+ 0, 0, 0, 65, 66, 28, 0, 29, 0, 30,
+ 0, 0, 0, 0, 31, 0, 32, 33, 34, 70,
+ 0, 35, 0, 0, 72, 0, 36, 524, 525, 37,
+ 1177, 1178, 38, 7, 8, 9, 10, 39, 11, 12,
+ 13, 1179, 0, 0, 0, 0, 0, 151, 0, 0,
+ 40, 0, 0, 41, 42, 43, 0, 0, 44, 0,
+ 45, 46, 0, 0, 0, 47, 0, 0, 53, 0,
+ 54, 55, 56, 526, 527, 0, 0, 1064, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 1065,
+ 0, 62, 0, 0, 1066, 0, 0, 63, 64, 0,
+ 0, 0, 23, 24, 0, 0, 0, 0, 0, 0,
+ -2, 0, 0, 0, 0, 65, 66, 0, 0, 29,
+ 0, 30, 0, 0, 0, 0, 1067, 0, 0, 528,
+ 1068, 70, 0, 1069, 71, 0, 72, 0, 36, 0,
+ 0, 0, 0, 0, 1184, 1185, 1186, 1187, 1188, 0,
+ 1189, 1190, 1191, 0, 0, 0, 0, 0, 0, 86,
+ 87, 0, 1070, 0, 0, 1071, 1072, 1073, 88, 0,
+ 1074, 0, 1075, 46, 0, 0, 89, 1076, 90, 91,
+ 92, 93, 0, 0, 0, 94, 0, 0, 0, 95,
+ 0, 0, 96, 97, 98, 99, 100, 0, 0, 0,
+ 0, 0, 101, 102, 103, 104, 0, 0, 0, 0,
+ 0, 105, 106, 0, 0, 107, 108, 0, 0, 0,
+ 109, 0, 0, 0, 0, 110, 111, 0, 112, 724,
+ 0, 0, 0, 0, 281, 282, 113, 0, 725, 726,
+ 727, 728, 729, 730, 731, 732, 0, 0, 0, 0,
+ 0, 0, 0, 114, 0, 733, 0, 734, 735, 736,
+ 737, 738, 739, 740, 741, 742, 743, 744, 745, 0,
+ 0, 0, 283, 0, 0, 53, 0, 54, 55, 56,
+ 57, 284, 0, 0, 285, 746, 0, 60, 0, 0,
+ 0, 61, 0, 0, 0, 0, 0, 0, 62, 0,
+ 0, 0, 0, 0, 63, 64, 0, 0, 0, 0,
+ 747, 0, 0, 0, 286, 0, 0, 0, 0, 0,
+ 0, 0, 65, 66, 0, 0, 0, 0, 67, 0,
+ 281, 282, 174, 175, 0, 0, 287, 69, 70, 0,
+ 0, 71, 0, 72, 0, 0, 0, 0, 748, 0,
+ 0, 749, 0, 750, 751, 752, 753, 754, 755, 756,
+ 757, 758, 759, 760, 289, 761, 762, 0, 283, 0,
+ 763, 53, 0, 54, 55, 56, 57, 284, 0, 0,
+ 285, 0, 0, 60, 0, 0, 0, 61, 0, 0,
+ 0, 0, 0, 0, 62, 176, 177, 0, 0, 0,
+ 63, 64, 407, 408, 0, 0, 0, 0, 0, 0,
+ 286, 0, 0, 178, 179, 0, 180, 0, 65, 66,
+ 0, 181, 0, 0, 67, 0, 0, 0, 0, 0,
+ 0, 0, 287, 69, 70, 0, 0, 71, 0, 72,
+ 283, 0, 0, 53, 288, 54, 55, 56, 57, 409,
+ 182, 0, 285, 0, 183, 60, 0, 0, 0, 61,
+ 289, 0, 0, 0, 0, 0, 62, 0, 0, 0,
+ 0, 0, 63, 64, 0, 0, 0, 0, 0, 0,
+ 0, 0, 286, 0, 0, 0, 0, 0, 0, 0,
+ 65, 66, 0, 0, 0, 0, 67, 0, 53, 0,
+ 54, 55, 56, 0, 287, 69, 70, 0, 0, 71,
+ 218, 72, 189, 190, 191, 192, 193, 194, 195, 196,
+ 0, 0, 0, 0, 0, 0, 0, 63, 219, 197,
+ 0, 0, 289, 189, 190, 191, 192, 193, 194, 195,
+ 196, 0, 0, 0, 0, 65, 66, 0, 0, 0,
+ 197, 189, 190, 191, 192, 193, 194, 195, 196, 0,
+ 0, 70, 0, 0, 0, 0, 72, 0, 197, 189,
+ 190, 191, 192, 193, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 197, 189, 190, 191,
+ 192, 193, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 197, 0, 189, 190, 191, 192,
+ 193, 194, 195, 196, 0, 0, 0, 0, 0, 0,
+ 0, 0, 522, 197, 0, 0, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 0, 209, 210,
+ 211, 523, 0, 0, 0, 0, 0, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 0, 209,
+ 210, 211, 464, 0, 0, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 0, 209, 210, 211,
+ 477, 0, 0, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 0, 209, 210, 211, 589, 0,
+ 0, 198, 199, 200, 201, 202, 203, 204, 205, 206,
+ 207, 208, 0, 209, 210, 211, 691, 0, 0, 0,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 0, 209, 210, 211, 1202, 189, 190, 191, 192,
+ 193, 194, 195, 196, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 197, 189, 190, 191, 192, 193, 194,
+ 195, 196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 197, 0, 189, 190, 191, 192, 193, 194, 195,
+ 196, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 197, 189, 190, 191, 192, 193, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 197, 189,
+ 190, 191, 192, 193, 194, 195, 196, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 197, 849, 850, 851,
+ 852, 853, 854, 855, 856, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 857, 0, 0, 0, 474, 0,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 0, 209, 210, 211, 720, 0, 0, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 0,
+ 209, 210, 211, 1041, 0, 0, 0, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 0, 209,
+ 210, 211, 0, 1204, 0, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 0, 209, 210, 211,
+ 0, 0, 0, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 0, 209, 210, 211, 0, 0,
+ 0, 858, 859, 860, 861, 862, 863, 864, 865, 866,
+ 867, 868, 0, 869, 870, 871, 1171, 1172, 1173, 1174,
+ 1175, 1176, 1177, 1178, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1179, 1171, 1172, 1173, 1174, 1175, 1176,
+ 1177, 1178, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1179, 190, 191, 192, 193, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 197, 0,
+ 0, 0, 0, 191, 192, 193, 194, 195, 196, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 197, 191,
+ 192, 193, 194, 195, 196, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 197, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1173, 1174, 1175, 1176, 1177, 1178, 0, 0, 1281, 0,
+ 1180, 1181, 1182, 1183, 0, 1179, 1184, 1185, 1186, 1187,
+ 1188, 0, 1189, 1190, 1191, 0, 0, 0, 1180, 1181,
+ 1182, 1183, 0, 0, 1184, 1185, 1186, 1187, 1188, 0,
+ 1189, 1190, 1191, 0, 0, 0, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 0, 209, 210, 211,
+ 51, 0, 0, 375, 0, 376, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 0, 209, 210, 211,
+ 0, 0, 0, 0, 201, 202, 203, 204, 205, 206,
+ 207, 208, 0, 209, 210, 211, 0, 52, 0, 0,
+ 53, 0, 54, 55, 56, 57, 377, 0, 0, 59,
+ 0, 0, 60, 1181, 1182, 1183, 61, 0, 1184, 1185,
+ 1186, 1187, 1188, 62, 1189, 1190, 1191, 0, 0, 63,
+ 64, 191, 192, 193, 194, 195, 196, 174, 175, 0,
+ 0, 0, 0, 0, 378, 0, 197, 65, 66, 0,
+ 0, 0, 0, 67, 1173, 1174, 1175, 1176, 1177, 1178,
+ 0, 68, 69, 70, 0, 0, 71, 0, 72, 1179,
+ 1173, 1174, 1175, 1176, 1177, 1178, 0, 0, 0, 0,
+ 0, 379, 0, 57, 0, 1179, 380, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 176, 177, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 178, 179,
+ 0, 180, 0, 0, 0, 0, 181, 0, 0, 0,
+ 0, 67, 0, 0, 0, 0, 0, 0, 0, 801,
+ 69, 0, 0, 1046, 0, 0, 0, 202, 203, 204,
+ 205, 206, 207, 208, 0, 209, 210, 211, 0, 421,
+ 422, 0, 0, 0, 0, 0, 0, 0, 0, 1183,
+ 0, 0, 1184, 1185, 1186, 1187, 1188, 0, 1189, 1190,
+ 1191, 0, 0, 0, 0, 0, 0, 0, 1184, 1185,
+ 1186, 1187, 1188, 0, 1189, 1190, 1191, 283, 0, 0,
+ 53, 0, 54, 55, 56, 57, 0, 0, 0, 285,
+ 0, 0, 60, 0, 0, 0, 61, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0, 0, 0, 0, 63,
+ 64, 0, 51, 0, 0, 375, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 65, 66, 0,
+ 0, 0, 0, 67, 0, 0, 0, 0, 0, 0,
+ 0, 287, 69, 70, 0, 0, 71, 0, 72, 52,
+ 0, 0, 53, 0, 54, 55, 56, 57, 377, 0,
+ 0, 59, 0, 0, 60, 0, 0, 0, 61, 0,
+ 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
+ 0, 63, 64, 0, 51, 0, 0, 611, 0, 0,
+ 87, 0, 0, 0, 0, 0, 378, 0, 88, 65,
+ 66, 0, 0, 0, 0, 67, 0, 0, 90, 91,
+ 92, 0, 0, 68, 69, 70, 0, 0, 71, 247,
+ 72, 52, 0, 0, 53, 99, 54, 55, 56, 57,
+ 377, 0, 0, 59, 0, 104, 60, 0, 0, 0,
+ 61, 105, 0, 0, 0, 107, 108, 62, 0, 0,
+ 0, 51, 0, 63, 64, 0, 111, 0, 112, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 378, 0,
+ 0, 65, 66, 51, 0, 0, 0, 67, 0, 0,
+ 0, 0, 0, 114, 0, 68, 69, 70, 52, 0,
+ 71, 53, 72, 54, 55, 56, 57, 377, 0, 0,
+ 59, 0, 0, 60, 0, 0, 0, 61, 0, 0,
+ 52, 0, 0, 53, 62, 54, 55, 56, 57, 58,
+ 63, 64, 59, 0, 0, 60, 0, 0, 0, 61,
+ 0, 0, 0, 0, 0, 378, 62, 0, 65, 66,
+ 51, 0, 63, 64, 67, 0, 0, 0, 0, 0,
+ 0, 0, 68, 69, 70, 0, 0, 71, 0, 72,
+ 65, 66, 0, 0, 0, 0, 67, 0, 0, 0,
+ 0, 0, 0, 0, 68, 69, 70, 52, 0, 71,
+ 53, 72, 54, 55, 56, 57, 425, 0, 0, 59,
+ 0, 0, 60, 0, 0, 51, 61, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0, 0, 0, 0, 63,
+ 64, 0, 0, 0, 0, 0, 0, 137, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 65, 66, 0,
+ 0, 0, 52, 67, 0, 53, 0, 54, 55, 56,
+ 57, 68, 69, 70, 59, 0, 71, 60, 72, 0,
+ 0, 61, 0, 0, 138, 0, 0, 53, 62, 54,
+ 55, 56, 57, 782, 63, 64, 139, 0, 0, 60,
+ 0, 0, 137, 61, 0, 0, 0, 0, 0, 487,
+ 62, 0, 65, 66, 0, 0, 63, 64, 67, 0,
+ 0, 0, 0, 0, 51, 0, 68, 69, 70, 0,
+ 0, 71, 0, 72, 65, 66, 0, 0, 0, 138,
+ 67, 0, 53, 0, 54, 55, 56, 57, 140, 69,
+ 70, 139, 0, 71, 60, 72, 0, 0, 61, 0,
+ 0, 52, 0, 0, 53, 62, 54, 55, 56, 57,
+ 0, 63, 64, 59, 0, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 62, 0, 65,
+ 66, 0, 0, 63, 64, 67, 0, 0, 0, 0,
+ 0, 0, 0, 140, 69, 70, 0, 0, 71, 0,
+ 72, 65, 66, 0, 86, 87, 0, 67, 0, 0,
+ 0, 0, 0, 88, 0, 68, 69, 70, 0, 0,
+ 71, 89, 72, 90, 91, 92, 93, 0, 0, 0,
+ 94, 0, 0, 0, 95, 0, 0, 96, 97, 98,
+ 99, 100, 0, 0, 0, 0, 0, 101, 102, 103,
+ 104, 0, 0, 0, 0, 0, 105, 106, 86, 87,
+ 107, 108, 0, 0, 0, 109, 0, 88, 0, 0,
+ 110, 111, 0, 112, 0, 89, 0, 90, 91, 92,
+ 93, 113, 0, 0, 94, 0, 0, 0, 95, 0,
+ 0, 96, 97, 98, 99, 100, 0, 0, 114, 0,
+ 520, 101, 102, 103, 104, 0, 0, 0, 0, 0,
+ 105, 106, 86, 87, 107, 108, 0, 0, 0, 109,
+ 0, 88, 0, 0, 110, 111, 0, 112, 0, 89,
+ 0, 90, 91, 92, 93, 113, 0, 0, 94, 0,
+ 0, 0, 95, 0, 0, 96, 97, 98, 99, 100,
+ 0, 0, 114, 0, 627, 101, 102, 103, 104, 0,
+ 0, 0, 0, 0, 105, 106, 86, 87, 107, 108,
+ 0, 0, 0, 109, 0, 88, 0, 0, 110, 111,
+ 0, 112, 0, 89, 0, 90, 91, 92, 93, 113,
+ 0, 0, 94, 0, 0, 0, 95, 0, 0, 96,
+ 97, 98, 99, 100, 0, 0, 114, 0, 632, 101,
+ 102, 103, 104, 0, 0, 0, 0, 0, 105, 106,
+ 86, 87, 107, 108, 0, 0, 0, 109, 0, 88,
+ 0, 0, 110, 111, 0, 112, 0, 89, 0, 90,
+ 91, 92, 93, 113, 0, 0, 94, 0, 0, 0,
+ 95, 0, 0, 96, 97, 98, 99, 100, 0, 0,
+ 114, 0, 701, 101, 102, 103, 104, 0, 0, 0,
+ 0, 0, 105, 106, 86, 87, 107, 108, 0, 0,
+ 0, 109, 0, 88, 0, 0, 110, 111, 0, 112,
+ 0, 89, 0, 90, 91, 92, 93, 113, 0, 0,
+ 94, 0, 0, 0, 95, 0, 0, 96, 97, 98,
+ 99, 100, 0, 0, 114, 0, 814, 101, 102, 103,
+ 104, 0, 0, 0, 0, 0, 105, 106, 86, 87,
+ 107, 108, 0, 0, 0, 109, 0, 88, 0, 0,
+ 110, 111, 0, 112, 0, 89, 0, 90, 91, 92,
+ 93, 113, 0, 0, 94, 0, 0, 0, 95, 0,
+ 0, 96, 97, 98, 99, 100, 0, 0, 114, 0,
+ 1055, 101, 102, 103, 104, 0, 0, 0, 0, 0,
+ 105, 106, 86, 87, 107, 108, 0, 0, 0, 109,
+ 0, 88, 0, 0, 110, 111, 0, 112, 0, 89,
+ 0, 90, 91, 92, 93, 113, 0, 0, 94, 0,
+ 0, 0, 95, 0, 0, 96, 97, 98, 99, 100,
+ 0, 0, 114, 0, 1152, 101, 102, 103, 104, 0,
+ 0, 0, 0, 0, 105, 106, 87, 0, 107, 108,
+ 0, 0, 0, 109, 88, 0, 0, 0, 110, 111,
+ 87, 112, 0, 0, 90, 91, 92, 0, 88, 0,
+ 0, 0, 0, 0, 0, 247, 0, 0, 90, 91,
+ 92, 99, 256, 0, 0, 0, 114, 0, 0, 247,
+ 87, 104, 0, 0, 0, 99, 0, 105, 88, 0,
+ 0, 0, 108, 0, 0, 104, 0, 0, 90, 91,
+ 92, 105, 111, 0, 112, 0, 108, 0, 0, 247,
+ 0, 0, 0, 0, 0, 99, 111, 0, 112, 0,
+ 0, 0, 0, 0, 0, 104, 0, 0, 0, 114,
+ 0, 105, 0, -140, 0, 0, 108, 0, 0, 0,
+ 0, 0, 0, 114, 0, 0, 111, 0, 112, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 114
+};
+
+static const yytype_int16 yycheck[] =
+{
+ 1, 107, 435, 127, 128, 129, 130, 485, 132, 522,
+ 134, 135, 136, 715, 28, 118, 583, 58, 45, 214,
+ 28, 28, 146, 147, 378, 470, 56, 151, 152, 538,
+ 543, 393, 227, 228, 410, 118, 262, 12, 57, 548,
+ 128, 118, 584, 610, 594, 46, 32, 6, 118, 8,
+ 798, 799, 800, 125, 32, 143, 128, 10, 11, 87,
+ 88, 142, 90, 91, 92, 607, 0, 95, 274, 14,
+ 125, 99, 73, 45, 104, 14, 104, 105, 284, 107,
+ 108, 109, 125, 111, 112, 73, 125, 61, 62, 144,
+ 73, 143, 144, 128, 64, 65, 66, 143, 144, 544,
+ 70, 144, 547, 125, 118, 144, 648, 32, 143, 492,
+ 118, 118, 550, 663, 552, 553, 554, 555, 556, 121,
+ 122, 123, 144, 142, 125, 142, 127, 128, 129, 130,
+ 6, 132, 8, 134, 135, 136, 124, 646, 91, 127,
+ 494, 124, 142, 621, 127, 146, 147, 142, 690, 127,
+ 151, 152, 143, 144, 126, 141, 142, 143, 142, 131,
+ 125, 133, 137, 125, 142, 143, 142, 270, 394, 125,
+ 133, 274, 398, 145, 127, 125, 148, 149, 150, 144,
+ 125, 284, 144, 210, 73, 144, 125, 270, 144, 543,
+ 231, 274, 316, 270, 144, 142, 166, 167, 168, 169,
+ 270, 284, 428, 409, 274, 12, 133, 546, 584, 16,
+ 142, 32, 125, 214, 284, 133, 141, 142, 143, 247,
+ 142, 143, 700, 251, 586, 226, 227, 228, 229, 230,
+ 231, 144, 782, 125, 235, 124, 575, 576, 127, 578,
+ 579, 580, 581, 124, 125, 286, 788, 12, 142, 219,
+ 57, 16, 144, 143, 144, 693, 270, 702, 142, 125,
+ 274, 262, 270, 270, 142, 143, 274, 274, 142, 239,
+ 284, 125, 648, 706, 142, 143, 284, 284, 144, 124,
+ 226, 227, 228, 229, 230, 827, 125, 10, 11, 125,
+ 144, 125, 57, 771, 1042, 521, 1044, 142, 1046, 142,
+ 125, 1049, 1050, 1051, 142, 144, 409, 133, 144, 125,
+ 144, 118, 142, 142, 690, 316, 137, 138, 139, 144,
+ 141, 142, 143, 142, 142, 132, 409, 124, 144, 125,
+ 137, 332, 333, 127, 142, 848, 377, 378, 125, 409,
+ 142, 125, 787, 21, 22, 790, 791, 686, 144, 142,
+ 73, 74, 785, 118, 32, 127, 126, 144, 128, 360,
+ 144, 362, 363, 364, 365, 366, 127, 132, 91, 92,
+ 32, 94, 137, 127, 142, 376, 99, 142, 379, 380,
+ 143, 125, 721, 384, 425, 386, 142, 6, 73, 8,
+ 142, 32, 406, 394, 395, 409, 144, 398, 781, 146,
+ 85, 409, 409, 88, 137, 406, 91, 633, 124, 124,
+ 126, 126, 128, 128, 360, 143, 362, 363, 364, 365,
+ 366, 144, 107, 393, 143, 426, 142, 428, 127, 470,
+ 376, 1133, 73, 379, 380, 880, 10, 11, 12, 142,
+ 143, 144, 16, 415, 85, 124, 487, 88, 142, 133,
+ 91, 827, 124, 494, 126, 127, 128, 135, 136, 137,
+ 138, 139, 1029, 141, 142, 143, 107, 142, 126, 470,
+ 471, 144, 125, 135, 136, 137, 138, 139, 479, 141,
+ 142, 143, 134, 57, 485, 144, 124, 488, 126, 872,
+ 128, 492, 875, 32, 848, 496, 497, 498, 499, 500,
+ 501, 502, 543, 544, 144, 144, 547, 144, 1021, 10,
+ 11, 12, 513, 527, 144, 16, 144, 91, 32, 124,
+ 521, 126, 134, 128, 142, 143, 144, 144, 2, 10,
+ 11, 532, 134, 479, 92, 93, 94, 643, 142, 143,
+ 144, 144, 543, 544, 118, 144, 547, 144, 144, 550,
+ 144, 552, 553, 554, 555, 556, 57, 134, 132, 144,
+ 587, 588, 563, 137, 591, 592, 40, 41, 42, 43,
+ 44, 572, 1081, 47, 823, 144, 144, 137, 143, 145,
+ 594, 807, 583, 584, 708, 709, 594, 594, 783, 90,
+ 91, 144, 73, 74, 1039, 73, 135, 136, 137, 138,
+ 139, 124, 141, 142, 143, 606, 607, 125, 125, 610,
+ 91, 92, 613, 94, 1123, 643, 586, 118, 99, 125,
+ 621, 628, 650, 137, 138, 139, 142, 141, 142, 143,
+ 644, 132, 633, 126, 146, 125, 137, 142, 142, 127,
+ 641, 142, 142, 142, 645, 142, 127, 648, 675, 663,
+ 1217, 1218, 1219, 144, 57, 663, 663, 142, 137, 146,
+ 488, 702, 124, 127, 10, 10, 10, 1021, 496, 497,
+ 498, 499, 500, 501, 126, 134, 150, 125, 146, 1124,
+ 126, 137, 137, 1192, 145, 126, 126, 145, 126, 690,
+ 126, 144, 693, 137, 124, 142, 146, 142, 124, 700,
+ 142, 702, 125, 675, 532, 142, 125, 708, 709, 51,
+ 143, 53, 54, 55, 715, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 1303, 211, 80, 81,
+ 125, 215, 1309, 143, 1127, 128, 787, 128, 142, 790,
+ 791, 133, 142, 133, 46, 133, 98, 99, 133, 1142,
+ 1143, 1144, 125, 1208, 143, 142, 10, 4, 782, 145,
+ 771, 144, 114, 144, 782, 782, 68, 119, 606, 144,
+ 781, 142, 783, 1216, 144, 613, 787, 788, 80, 790,
+ 791, 798, 799, 800, 146, 269, 125, 146, 10, 126,
+ 142, 808, 10, 10, 126, 6, 807, 848, 100, 125,
+ 142, 144, 142, 641, 125, 146, 817, 1262, 110, 144,
+ 144, 1070, 1071, 1072, 1073, 1074, 827, 1076, 1211, 10,
+ 11, 145, 1215, 145, 144, 1030, 145, 1220, 146, 880,
+ 314, 145, 144, 870, 816, 144, 818, 144, 140, 50,
+ 142, 143, 142, 144, 328, 329, 144, 58, 133, 831,
+ 832, 833, 133, 835, 836, 837, 838, 68, 69, 70,
+ 133, 872, 142, 133, 875, 125, 144, 134, 79, 880,
+ 134, 1264, 134, 144, 85, 134, 144, 142, 144, 124,
+ 126, 183, 73, 74, 95, 10, 79, 80, 144, 144,
+ 101, 126, 126, 144, 11, 106, 1289, 145, 142, 142,
+ 91, 92, 386, 94, 144, 116, 142, 118, 99, 1302,
+ 142, 144, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
+ 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
+ 1189, 125, 143, 124, 51, 144, 53, 54, 55, 134,
+ 424, 1070, 1071, 1072, 1073, 1074, 51, 1076, 53, 54,
+ 55, 1085, 134, 437, 256, 134, 258, 259, 260, 10,
+ 11, 12, 134, 80, 81, 16, 144, 144, 10, 145,
+ 1021, 142, 1231, 984, 276, 80, 81, 142, 280, 142,
+ 142, 98, 99, 144, 144, 287, 126, 289, 1039, 707,
+ 474, 542, 255, 98, 99, 297, 298, 114, 10, 11,
+ 1123, 485, 119, 1024, 1081, 1192, 57, 643, 527, 114,
+ 1021, 644, 1021, 274, 119, 817, 848, 808, 1029, 1030,
+ 984, -1, 1281, 333, -1, 1042, -1, 1044, 1039, 1046,
+ -1, 333, 1049, 1050, 1051, -1, -1, 142, 1075, -1,
+ 91, -1, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
+ 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
+ 1189, 73, 74, -1, -1, -1, -1, 118, -1, -1,
+ -1, -1, -1, 1124, 1085, -1, -1, -1, -1, 91,
+ 92, 132, 94, -1, -1, 387, 137, 99, 572, -1,
+ -1, 142, -1, 1075, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1231, -1, 297, 298, -1, -1, -1, -1,
+ -1, -1, 124, 1124, -1, -1, 1127, -1, -1, -1,
+ -1, -1, 1133, 16, 17, 18, 19, 20, 21, 22,
+ 432, 1142, 1143, 1144, -1, -1, 620, 621, -1, 32,
+ -1, -1, 626, -1, -1, -1, 17, 18, 19, 20,
+ 21, 22, 1281, 1190, -1, -1, -1, 1208, -1, -1,
+ -1, 32, -1, -1, -1, -1, 51, -1, 53, 54,
+ 55, -1, -1, -1, -1, 1157, 1158, 1159, 1160, 1161,
+ 1162, -1, -1, -1, -1, -1, -1, 671, 672, 673,
+ 674, 384, 676, -1, -1, 80, 81, 1208, -1, -1,
+ 1211, -1, -1, -1, 1215, -1, 1217, 1218, 1219, 1220,
+ -1, 1262, -1, 98, 99, -1, 700, -1, -1, 1256,
+ 1257, -1, 1259, 1260, 526, -1, 528, -1, -1, 114,
+ -1, 715, -1, 426, 119, -1, -1, 130, 131, 132,
+ 542, -1, 135, 136, 137, 138, 139, -1, 141, 142,
+ 143, 1262, -1, 1264, 10, 11, 1293, 1294, 1295, 1296,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, -1,
+ 141, 142, 143, -1, -1, -1, -1, -1, 1289, -1,
+ 19, 20, 21, 22, -1, -1, -1, 771, -1, 773,
+ -1, 1302, 1303, 32, -1, 488, -1, -1, 1309, 19,
+ 20, 21, 22, 496, 497, 498, 499, 500, 501, -1,
+ -1, -1, 32, -1, -1, -1, -1, 73, 74, -1,
+ -1, -1, -1, 15, 16, 17, 18, 19, 20, 21,
+ 22, -1, -1, -1, -1, 91, 92, -1, 94, 532,
+ 32, -1, -1, 99, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 838, -1, -1, 550, -1, 552,
+ 553, 554, 555, 556, -1, 849, 850, 851, 852, 853,
+ 854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
+ 864, 865, 866, 867, 868, 869, -1, 871, -1, -1,
+ -1, -1, -1, -1, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, 142, 143, 707, -1, -1, -1, -1,
+ -1, -1, -1, 606, -1, 135, 136, 137, 138, 139,
+ 613, 141, 142, 143, -1, -1, -1, 3, 4, 5,
+ 6, -1, 8, 9, 10, 11, -1, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 641, 141,
+ 142, 143, -1, -1, 146, -1, -1, -1, -1, 15,
+ 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
+ -1, 47, 48, -1, -1, 51, 32, 53, 54, 55,
+ 56, 57, 784, 59, 60, -1, -1, 63, 64, -1,
+ -1, 67, -1, -1, -1, -1, 72, 73, 74, 801,
+ 693, -1, 804, -1, 80, 81, -1, -1, -1, -1,
+ -1, 87, -1, 89, -1, 91, -1, -1, -1, -1,
+ 96, -1, 98, 99, 100, -1, -1, 103, 104, -1,
+ 1014, -1, 108, -1, -1, 111, 112, 113, 114, -1,
+ -1, 117, -1, 119, -1, 3, 4, 5, 6, -1,
+ 8, 9, 10, 11, -1, -1, 132, -1, -1, 135,
+ 136, 137, 10, 11, 140, -1, 142, 143, -1, -1,
+ -1, 147, -1, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, 142, 143, -1, 47,
+ 146, 10, 11, 51, -1, 53, 54, 55, -1, -1,
+ -1, 59, -1, 61, 62, 63, 64, 1091, -1, -1,
+ -1, -1, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, -1, 80, 81, -1, 73, 74, -1, -1, 87,
+ -1, 89, -1, 91, -1, -1, -1, -1, 96, -1,
+ 98, 99, 100, 91, 92, 103, 94, -1, -1, 1133,
+ 108, 99, -1, 111, 73, 74, 114, -1, -1, -1,
+ -1, 119, -1, -1, -1, -1, 124, 86, -1, -1,
+ -1, -1, 91, 92, 132, 94, 124, 135, 136, 137,
+ 99, -1, 140, -1, 142, 143, -1, -1, -1, 147,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 1191, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
+ 1204, -1, -1, -1, -1, -1, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, -1, -1, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ -1, 67, -1, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, -1, -1, -1, 85,
+ 86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, -1,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, -1, -1, -1, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, -1, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, -1, -1, -1, -1,
+ -1, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, -1, -1,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, -1, 67, -1, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, -1, -1, -1, 85, 86, 87, -1, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, -1, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, -1, -1, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, -1, 146, 147, 3, 4, 5,
+ 6, -1, 8, 9, 10, 11, -1, -1, 14, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 15,
+ 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
+ -1, 47, 48, -1, -1, 51, 32, 53, 54, 55,
+ 56, 57, -1, 59, 60, -1, -1, 63, 64, -1,
+ -1, 67, -1, -1, -1, -1, 72, 73, 74, -1,
+ -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
+ -1, 87, -1, 89, -1, 91, -1, -1, -1, 95,
+ 96, -1, 98, 99, 100, -1, -1, 103, 104, -1,
+ -1, -1, 108, -1, -1, 111, 112, 113, 114, -1,
+ -1, 117, -1, 119, 3, 4, 5, 6, -1, 8,
+ 9, 10, 11, -1, -1, 14, 132, -1, -1, 135,
+ 136, -1, -1, -1, 140, -1, 142, -1, -1, -1,
+ -1, 147, -1, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, 142, 143, 47, 48,
+ 146, -1, 51, -1, 53, 54, 55, 56, 57, -1,
+ 59, 60, -1, -1, 63, 64, -1, -1, 67, -1,
+ -1, -1, -1, 72, 73, 74, -1, -1, -1, -1,
+ -1, 80, 81, -1, -1, -1, -1, -1, 87, -1,
+ 89, -1, 91, -1, 10, 11, 95, 96, -1, 98,
+ 99, 100, -1, -1, 103, 104, -1, -1, -1, 108,
+ -1, -1, 111, 112, 113, 114, -1, -1, 117, -1,
+ 119, 3, 4, 5, 6, -1, 8, 9, 10, 11,
+ -1, -1, -1, 132, -1, -1, 135, 136, -1, -1,
+ 56, 140, -1, 142, -1, -1, -1, -1, 147, 17,
+ 18, 19, 20, 21, 22, -1, -1, 73, 74, -1,
+ -1, -1, -1, -1, 32, 47, -1, -1, -1, 51,
+ -1, 53, 54, 55, -1, 91, 92, 59, 94, -1,
+ -1, 63, 64, 99, -1, -1, -1, -1, 104, -1,
+ 72, 73, 74, -1, -1, -1, 112, 113, 80, 81,
+ 116, -1, -1, -1, -1, 87, -1, 89, -1, 91,
+ -1, -1, -1, -1, 96, -1, 98, 99, 100, -1,
+ -1, 103, -1, -1, -1, -1, 108, -1, -1, 111,
+ -1, -1, 114, 3, 4, 5, 6, 119, 8, 9,
+ 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
+ 132, -1, -1, 135, 136, 137, -1, -1, 140, -1,
+ 142, 143, 144, 131, 132, 147, -1, 135, 136, 137,
+ 138, 139, -1, 141, 142, 143, -1, 47, -1, -1,
+ -1, 51, -1, 53, 54, 55, -1, -1, -1, 59,
+ -1, -1, -1, 63, 64, -1, -1, 10, 11, -1,
+ -1, -1, 72, 73, 74, -1, -1, -1, -1, -1,
+ 80, 81, -1, -1, -1, -1, -1, 87, -1, 89,
+ -1, 91, -1, -1, -1, -1, 96, -1, 98, 99,
+ 100, -1, -1, 103, -1, -1, -1, -1, 108, 10,
+ 11, 111, -1, 56, 114, 3, 4, 5, 6, 119,
+ 8, 9, 10, 11, 124, -1, -1, -1, -1, -1,
+ 73, 74, 132, -1, -1, 135, 136, 137, -1, -1,
+ 140, -1, 142, 143, -1, -1, -1, 147, 91, 92,
+ 51, 94, 53, 54, 55, -1, 99, -1, -1, 47,
+ -1, 104, 63, 51, -1, 53, 54, 55, -1, 112,
+ 113, 59, -1, 74, -1, 63, 64, -1, -1, 80,
+ 81, -1, -1, -1, 72, 73, 74, -1, -1, -1,
+ -1, -1, 80, 81, -1, -1, -1, 98, 99, 87,
+ -1, 89, -1, 91, -1, -1, -1, -1, 96, -1,
+ 98, 99, 100, 114, -1, 103, 117, -1, 119, -1,
+ 108, -1, -1, 111, -1, -1, 114, 3, 4, 5,
+ 6, 119, 8, 9, 10, 11, -1, -1, 51, -1,
+ 53, 54, 55, -1, 132, -1, -1, 135, 136, 137,
+ 63, -1, 140, -1, 142, 143, 144, -1, -1, 147,
+ -1, -1, -1, -1, -1, -1, -1, 80, 81, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, 54, 55,
+ -1, -1, -1, 59, -1, 98, 99, 63, 64, -1,
+ -1, 10, 11, -1, -1, -1, 72, 73, 74, -1,
+ -1, 114, -1, -1, 80, 81, 119, -1, -1, -1,
+ -1, 87, -1, 89, -1, 91, -1, -1, -1, -1,
+ 96, -1, 98, 99, 100, -1, -1, 103, -1, 142,
+ -1, -1, 108, -1, -1, 111, -1, 56, 114, 3,
+ 4, 5, 6, 119, 8, 9, 10, 11, 124, -1,
+ -1, -1, -1, -1, 73, 74, 132, -1, -1, 135,
+ 136, 137, -1, -1, 140, -1, 142, 143, -1, -1,
+ -1, 147, 91, 92, 93, 94, -1, -1, -1, -1,
+ 99, -1, -1, 47, -1, 104, -1, 51, -1, 53,
+ 54, 55, -1, 112, 113, 59, -1, 116, -1, 63,
+ 64, -1, -1, 10, 11, -1, -1, -1, 72, 73,
+ 74, -1, -1, -1, -1, -1, 80, 81, -1, -1,
+ -1, -1, -1, 87, -1, 89, -1, 91, -1, -1,
+ -1, -1, 96, -1, 98, 99, 100, -1, -1, 103,
+ -1, -1, -1, -1, 108, -1, -1, 111, -1, 56,
+ 114, 3, 4, 5, 6, 119, 8, 9, 10, 11,
+ -1, -1, -1, -1, -1, -1, 73, 74, 132, -1,
+ -1, 135, 136, 137, -1, -1, 140, -1, 142, 143,
+ 144, -1, -1, 147, 91, 92, 51, 94, 53, 54,
+ 55, -1, 99, -1, -1, 47, -1, 104, -1, 51,
+ -1, 53, 54, 55, -1, 112, 113, 59, -1, 116,
+ -1, 63, 64, -1, -1, 80, 81, -1, -1, -1,
+ 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
+ -1, -1, -1, 98, 99, 87, -1, 89, -1, 91,
+ -1, -1, -1, -1, 96, -1, 98, 99, 100, 114,
+ -1, 103, -1, -1, 119, -1, 108, 10, 11, 111,
+ 21, 22, 114, 3, 4, 5, 6, 119, 8, 9,
+ 10, 32, -1, -1, -1, -1, -1, 142, -1, -1,
+ 132, -1, -1, 135, 136, 137, -1, -1, 140, -1,
+ 142, 143, -1, -1, -1, 147, -1, -1, 51, -1,
+ 53, 54, 55, 56, 57, -1, -1, 47, -1, -1,
+ 63, -1, -1, -1, -1, -1, -1, -1, -1, 59,
+ -1, 74, -1, -1, 64, -1, -1, 80, 81, -1,
+ -1, -1, 72, 73, -1, -1, -1, -1, -1, -1,
+ 0, -1, -1, -1, -1, 98, 99, -1, -1, 89,
+ -1, 91, -1, -1, -1, -1, 96, -1, -1, 112,
+ 100, 114, -1, 103, 117, -1, 119, -1, 108, -1,
+ -1, -1, -1, -1, 135, 136, 137, 138, 139, -1,
+ 141, 142, 143, -1, -1, -1, -1, -1, -1, 49,
+ 50, -1, 132, -1, -1, 135, 136, 137, 58, -1,
+ 140, -1, 142, 143, -1, -1, 66, 147, 68, 69,
+ 70, 71, -1, -1, -1, 75, -1, -1, -1, 79,
+ -1, -1, 82, 83, 84, 85, 86, -1, -1, -1,
+ -1, -1, 92, 93, 94, 95, -1, -1, -1, -1,
+ -1, 101, 102, -1, -1, 105, 106, -1, -1, -1,
+ 110, -1, -1, -1, -1, 115, 116, -1, 118, 6,
+ -1, -1, -1, -1, 10, 11, 126, -1, 15, 16,
+ 17, 18, 19, 20, 21, 22, -1, -1, -1, -1,
+ -1, -1, -1, 143, -1, 32, -1, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
+ -1, -1, 48, -1, -1, 51, -1, 53, 54, 55,
+ 56, 57, -1, -1, 60, 62, -1, 63, -1, -1,
+ -1, 67, -1, -1, -1, -1, -1, -1, 74, -1,
+ -1, -1, -1, -1, 80, 81, -1, -1, -1, -1,
+ 87, -1, -1, -1, 90, -1, -1, -1, -1, -1,
+ -1, -1, 98, 99, -1, -1, -1, -1, 104, -1,
+ 10, 11, 10, 11, -1, -1, 112, 113, 114, -1,
+ -1, 117, -1, 119, -1, -1, -1, -1, 125, -1,
+ -1, 128, -1, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 140, 142, 143, -1, 48, -1,
+ 147, 51, -1, 53, 54, 55, 56, 57, -1, -1,
+ 60, -1, -1, 63, -1, -1, -1, 67, -1, -1,
+ -1, -1, -1, -1, 74, 73, 74, -1, -1, -1,
+ 80, 81, 10, 11, -1, -1, -1, -1, -1, -1,
+ 90, -1, -1, 91, 92, -1, 94, -1, 98, 99,
+ -1, 99, -1, -1, 104, -1, -1, -1, -1, -1,
+ -1, -1, 112, 113, 114, -1, -1, 117, -1, 119,
+ 48, -1, -1, 51, 124, 53, 54, 55, 56, 57,
+ 128, -1, 60, -1, 132, 63, -1, -1, -1, 67,
+ 140, -1, -1, -1, -1, -1, 74, -1, -1, -1,
+ -1, -1, 80, 81, -1, -1, -1, -1, -1, -1,
+ -1, -1, 90, -1, -1, -1, -1, -1, -1, -1,
+ 98, 99, -1, -1, -1, -1, 104, -1, 51, -1,
+ 53, 54, 55, -1, 112, 113, 114, -1, -1, 117,
+ 63, 119, 15, 16, 17, 18, 19, 20, 21, 22,
+ -1, -1, -1, -1, -1, -1, -1, 80, 81, 32,
+ -1, -1, 140, 15, 16, 17, 18, 19, 20, 21,
+ 22, -1, -1, -1, -1, 98, 99, -1, -1, -1,
+ 32, 15, 16, 17, 18, 19, 20, 21, 22, -1,
+ -1, 114, -1, -1, -1, -1, 119, -1, 32, 15,
+ 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 32, 15, 16, 17,
+ 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 32, -1, 15, 16, 17, 18,
+ 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
+ -1, -1, 125, 32, -1, -1, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, -1, 141, 142,
+ 143, 144, -1, -1, -1, -1, -1, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ 142, 143, 144, -1, -1, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
+ 144, -1, -1, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, 142, 143, 144, -1,
+ -1, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, 142, 143, 144, -1, -1, -1,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, 142, 143, 144, 15, 16, 17, 18,
+ 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 32, 15, 16, 17, 18, 19, 20,
+ 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 32, -1, 15, 16, 17, 18, 19, 20, 21,
+ 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 32, 15, 16, 17, 18, 19, 20, 21, 22, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 32, 15,
+ 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 32, 15, 16, 17,
+ 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 32, -1, -1, -1, 127, -1,
+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, -1, 141, 142, 143, 126, -1, -1, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, -1,
+ 141, 142, 143, 125, -1, -1, -1, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
+ 142, 143, -1, 127, -1, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
+ -1, -1, -1, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, 142, 143, -1, -1,
+ -1, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, 142, 143, 15, 16, 17, 18,
+ 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 32, 15, 16, 17, 18, 19, 20,
+ 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 32, 16, 17, 18, 19, 20, 21, 22, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
+ -1, -1, -1, 17, 18, 19, 20, 21, 22, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 32, 17,
+ 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 32, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 17, 18, 19, 20, 21, 22, -1, -1, 127, -1,
+ 129, 130, 131, 132, -1, 32, 135, 136, 137, 138,
+ 139, -1, 141, 142, 143, -1, -1, -1, 129, 130,
+ 131, 132, -1, -1, 135, 136, 137, 138, 139, -1,
+ 141, 142, 143, -1, -1, -1, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
+ 11, -1, -1, 14, -1, 16, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
+ -1, -1, -1, -1, 132, 133, 134, 135, 136, 137,
+ 138, 139, -1, 141, 142, 143, -1, 48, -1, -1,
+ 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
+ -1, -1, 63, 130, 131, 132, 67, -1, 135, 136,
+ 137, 138, 139, 74, 141, 142, 143, -1, -1, 80,
+ 81, 17, 18, 19, 20, 21, 22, 10, 11, -1,
+ -1, -1, -1, -1, 95, -1, 32, 98, 99, -1,
+ -1, -1, -1, 104, 17, 18, 19, 20, 21, 22,
+ -1, 112, 113, 114, -1, -1, 117, -1, 119, 32,
+ 17, 18, 19, 20, 21, 22, -1, -1, -1, -1,
+ -1, 132, -1, 56, -1, 32, 137, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 73, 74, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ -1, 94, -1, -1, -1, -1, 99, -1, -1, -1,
+ -1, 104, -1, -1, -1, -1, -1, -1, -1, 112,
+ 113, -1, -1, 116, -1, -1, -1, 133, 134, 135,
+ 136, 137, 138, 139, -1, 141, 142, 143, -1, 10,
+ 11, -1, -1, -1, -1, -1, -1, -1, -1, 132,
+ -1, -1, 135, 136, 137, 138, 139, -1, 141, 142,
+ 143, -1, -1, -1, -1, -1, -1, -1, 135, 136,
+ 137, 138, 139, -1, 141, 142, 143, 48, -1, -1,
+ 51, -1, 53, 54, 55, 56, -1, -1, -1, 60,
+ -1, -1, 63, -1, -1, -1, 67, -1, -1, -1,
+ -1, -1, -1, 74, -1, -1, -1, -1, -1, 80,
+ 81, -1, 11, -1, -1, 14, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 98, 99, -1,
+ -1, -1, -1, 104, -1, -1, -1, -1, -1, -1,
+ -1, 112, 113, 114, -1, -1, 117, -1, 119, 48,
+ -1, -1, 51, -1, 53, 54, 55, 56, 57, -1,
+ -1, 60, -1, -1, 63, -1, -1, -1, 67, -1,
+ -1, -1, -1, -1, -1, 74, -1, -1, -1, -1,
+ -1, 80, 81, -1, 11, -1, -1, 14, -1, -1,
+ 50, -1, -1, -1, -1, -1, 95, -1, 58, 98,
+ 99, -1, -1, -1, -1, 104, -1, -1, 68, 69,
+ 70, -1, -1, 112, 113, 114, -1, -1, 117, 79,
+ 119, 48, -1, -1, 51, 85, 53, 54, 55, 56,
+ 57, -1, -1, 60, -1, 95, 63, -1, -1, -1,
+ 67, 101, -1, -1, -1, 105, 106, 74, -1, -1,
+ -1, 11, -1, 80, 81, -1, 116, -1, 118, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 95, -1,
+ -1, 98, 99, 11, -1, -1, -1, 104, -1, -1,
+ -1, -1, -1, 143, -1, 112, 113, 114, 48, -1,
+ 117, 51, 119, 53, 54, 55, 56, 57, -1, -1,
+ 60, -1, -1, 63, -1, -1, -1, 67, -1, -1,
+ 48, -1, -1, 51, 74, 53, 54, 55, 56, 57,
+ 80, 81, 60, -1, -1, 63, -1, -1, -1, 67,
+ -1, -1, -1, -1, -1, 95, 74, -1, 98, 99,
+ 11, -1, 80, 81, 104, -1, -1, -1, -1, -1,
+ -1, -1, 112, 113, 114, -1, -1, 117, -1, 119,
+ 98, 99, -1, -1, -1, -1, 104, -1, -1, -1,
+ -1, -1, -1, -1, 112, 113, 114, 48, -1, 117,
+ 51, 119, 53, 54, 55, 56, 57, -1, -1, 60,
+ -1, -1, 63, -1, -1, 11, 67, -1, -1, -1,
+ -1, -1, -1, 74, -1, -1, -1, -1, -1, 80,
+ 81, -1, -1, -1, -1, -1, -1, 11, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 98, 99, -1,
+ -1, -1, 48, 104, -1, 51, -1, 53, 54, 55,
+ 56, 112, 113, 114, 60, -1, 117, 63, 119, -1,
+ -1, 67, -1, -1, 48, -1, -1, 51, 74, 53,
+ 54, 55, 56, 57, 80, 81, 60, -1, -1, 63,
+ -1, -1, 11, 67, -1, -1, -1, -1, -1, 95,
+ 74, -1, 98, 99, -1, -1, 80, 81, 104, -1,
+ -1, -1, -1, -1, 11, -1, 112, 113, 114, -1,
+ -1, 117, -1, 119, 98, 99, -1, -1, -1, 48,
+ 104, -1, 51, -1, 53, 54, 55, 56, 112, 113,
+ 114, 60, -1, 117, 63, 119, -1, -1, 67, -1,
+ -1, 48, -1, -1, 51, 74, 53, 54, 55, 56,
+ -1, 80, 81, 60, -1, -1, 63, -1, -1, -1,
+ 67, -1, -1, -1, -1, -1, -1, 74, -1, 98,
+ 99, -1, -1, 80, 81, 104, -1, -1, -1, -1,
+ -1, -1, -1, 112, 113, 114, -1, -1, 117, -1,
+ 119, 98, 99, -1, 49, 50, -1, 104, -1, -1,
+ -1, -1, -1, 58, -1, 112, 113, 114, -1, -1,
+ 117, 66, 119, 68, 69, 70, 71, -1, -1, -1,
+ 75, -1, -1, -1, 79, -1, -1, 82, 83, 84,
+ 85, 86, -1, -1, -1, -1, -1, 92, 93, 94,
+ 95, -1, -1, -1, -1, -1, 101, 102, 49, 50,
+ 105, 106, -1, -1, -1, 110, -1, 58, -1, -1,
+ 115, 116, -1, 118, -1, 66, -1, 68, 69, 70,
+ 71, 126, -1, -1, 75, -1, -1, -1, 79, -1,
+ -1, 82, 83, 84, 85, 86, -1, -1, 143, -1,
+ 145, 92, 93, 94, 95, -1, -1, -1, -1, -1,
+ 101, 102, 49, 50, 105, 106, -1, -1, -1, 110,
+ -1, 58, -1, -1, 115, 116, -1, 118, -1, 66,
+ -1, 68, 69, 70, 71, 126, -1, -1, 75, -1,
+ -1, -1, 79, -1, -1, 82, 83, 84, 85, 86,
+ -1, -1, 143, -1, 145, 92, 93, 94, 95, -1,
+ -1, -1, -1, -1, 101, 102, 49, 50, 105, 106,
+ -1, -1, -1, 110, -1, 58, -1, -1, 115, 116,
+ -1, 118, -1, 66, -1, 68, 69, 70, 71, 126,
+ -1, -1, 75, -1, -1, -1, 79, -1, -1, 82,
+ 83, 84, 85, 86, -1, -1, 143, -1, 145, 92,
+ 93, 94, 95, -1, -1, -1, -1, -1, 101, 102,
+ 49, 50, 105, 106, -1, -1, -1, 110, -1, 58,
+ -1, -1, 115, 116, -1, 118, -1, 66, -1, 68,
+ 69, 70, 71, 126, -1, -1, 75, -1, -1, -1,
+ 79, -1, -1, 82, 83, 84, 85, 86, -1, -1,
+ 143, -1, 145, 92, 93, 94, 95, -1, -1, -1,
+ -1, -1, 101, 102, 49, 50, 105, 106, -1, -1,
+ -1, 110, -1, 58, -1, -1, 115, 116, -1, 118,
+ -1, 66, -1, 68, 69, 70, 71, 126, -1, -1,
+ 75, -1, -1, -1, 79, -1, -1, 82, 83, 84,
+ 85, 86, -1, -1, 143, -1, 145, 92, 93, 94,
+ 95, -1, -1, -1, -1, -1, 101, 102, 49, 50,
+ 105, 106, -1, -1, -1, 110, -1, 58, -1, -1,
+ 115, 116, -1, 118, -1, 66, -1, 68, 69, 70,
+ 71, 126, -1, -1, 75, -1, -1, -1, 79, -1,
+ -1, 82, 83, 84, 85, 86, -1, -1, 143, -1,
+ 145, 92, 93, 94, 95, -1, -1, -1, -1, -1,
+ 101, 102, 49, 50, 105, 106, -1, -1, -1, 110,
+ -1, 58, -1, -1, 115, 116, -1, 118, -1, 66,
+ -1, 68, 69, 70, 71, 126, -1, -1, 75, -1,
+ -1, -1, 79, -1, -1, 82, 83, 84, 85, 86,
+ -1, -1, 143, -1, 145, 92, 93, 94, 95, -1,
+ -1, -1, -1, -1, 101, 102, 50, -1, 105, 106,
+ -1, -1, -1, 110, 58, -1, -1, -1, 115, 116,
+ 50, 118, -1, -1, 68, 69, 70, -1, 58, -1,
+ -1, -1, -1, -1, -1, 79, -1, -1, 68, 69,
+ 70, 85, 86, -1, -1, -1, 143, -1, -1, 79,
+ 50, 95, -1, -1, -1, 85, -1, 101, 58, -1,
+ -1, -1, 106, -1, -1, 95, -1, -1, 68, 69,
+ 70, 101, 116, -1, 118, -1, 106, -1, -1, 79,
+ -1, -1, -1, -1, -1, 85, 116, -1, 118, -1,
+ -1, -1, -1, -1, -1, 95, -1, -1, -1, 143,
+ -1, 101, -1, 133, -1, -1, 106, -1, -1, -1,
+ -1, -1, -1, 143, -1, -1, 116, -1, 118, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 143
+};
+
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint16 yystos[] =
+{
+ 0, 121, 122, 123, 149, 150, 256, 3, 4, 5,
+ 6, 8, 9, 10, 11, 47, 51, 53, 54, 55,
+ 59, 63, 64, 72, 73, 74, 80, 81, 87, 89,
+ 91, 96, 98, 99, 100, 103, 108, 111, 114, 119,
+ 132, 135, 136, 137, 140, 142, 143, 147, 246, 247,
+ 255, 11, 48, 51, 53, 54, 55, 56, 57, 60,
+ 63, 67, 74, 80, 81, 98, 99, 104, 112, 113,
+ 114, 117, 119, 210, 214, 215, 217, 223, 224, 228,
+ 229, 234, 235, 236, 237, 0, 49, 50, 58, 66,
+ 68, 69, 70, 71, 75, 79, 82, 83, 84, 85,
+ 86, 92, 93, 94, 95, 101, 102, 105, 106, 110,
+ 115, 116, 118, 126, 143, 153, 155, 156, 158, 161,
+ 162, 184, 230, 233, 256, 142, 142, 142, 142, 142,
+ 142, 133, 142, 133, 142, 142, 142, 11, 48, 60,
+ 112, 212, 228, 229, 234, 133, 142, 142, 142, 133,
+ 142, 142, 142, 246, 246, 246, 246, 246, 11, 51,
+ 53, 54, 55, 63, 74, 80, 81, 98, 99, 114,
+ 119, 214, 244, 246, 10, 11, 73, 74, 91, 92,
+ 94, 99, 128, 132, 250, 251, 253, 256, 246, 15,
+ 16, 17, 18, 19, 20, 21, 22, 32, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 141,
+ 142, 143, 6, 8, 210, 142, 56, 104, 63, 81,
+ 235, 235, 235, 253, 235, 12, 16, 57, 118, 132,
+ 137, 142, 208, 209, 256, 124, 10, 11, 91, 127,
+ 254, 10, 11, 91, 124, 253, 254, 79, 158, 158,
+ 158, 6, 158, 158, 127, 157, 86, 158, 142, 142,
+ 142, 158, 124, 253, 127, 127, 127, 158, 158, 142,
+ 158, 161, 185, 158, 158, 167, 86, 253, 158, 158,
+ 143, 10, 11, 48, 57, 60, 90, 112, 124, 140,
+ 172, 175, 211, 213, 215, 217, 223, 228, 229, 234,
+ 243, 244, 256, 214, 243, 243, 243, 243, 214, 243,
+ 214, 243, 243, 243, 142, 253, 142, 253, 253, 214,
+ 243, 243, 214, 214, 214, 246, 243, 243, 144, 125,
+ 144, 253, 146, 125, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 144, 244, 246, 209, 246,
+ 137, 12, 16, 57, 118, 132, 137, 208, 256, 208,
+ 209, 208, 209, 208, 208, 14, 16, 57, 95, 132,
+ 137, 194, 195, 204, 210, 256, 143, 226, 227, 256,
+ 11, 225, 235, 127, 216, 218, 158, 155, 124, 253,
+ 253, 253, 253, 150, 124, 246, 133, 10, 11, 57,
+ 175, 211, 213, 253, 126, 128, 159, 160, 253, 142,
+ 142, 10, 11, 213, 142, 57, 210, 253, 154, 253,
+ 124, 126, 127, 128, 200, 124, 126, 128, 201, 126,
+ 163, 253, 254, 253, 144, 144, 144, 144, 144, 144,
+ 134, 144, 134, 144, 144, 144, 246, 243, 134, 144,
+ 144, 144, 134, 144, 144, 144, 144, 246, 246, 57,
+ 142, 181, 256, 250, 127, 144, 146, 144, 208, 137,
+ 208, 208, 208, 208, 208, 143, 208, 95, 210, 204,
+ 208, 208, 144, 14, 125, 12, 16, 57, 118, 132,
+ 137, 142, 207, 254, 256, 242, 246, 256, 253, 145,
+ 225, 150, 73, 219, 256, 150, 124, 125, 125, 125,
+ 145, 231, 125, 144, 10, 11, 56, 57, 112, 186,
+ 187, 188, 189, 234, 256, 142, 213, 201, 168, 126,
+ 214, 146, 125, 142, 173, 12, 137, 174, 164, 246,
+ 210, 12, 16, 57, 118, 132, 137, 206, 254, 256,
+ 150, 142, 238, 239, 151, 152, 253, 61, 62, 238,
+ 61, 62, 124, 246, 12, 16, 57, 90, 118, 132,
+ 137, 142, 165, 190, 192, 254, 127, 142, 142, 144,
+ 144, 142, 142, 194, 32, 73, 85, 88, 91, 107,
+ 193, 256, 246, 208, 242, 144, 210, 207, 144, 144,
+ 181, 14, 204, 137, 207, 207, 207, 207, 207, 207,
+ 128, 143, 199, 256, 146, 125, 128, 145, 127, 220,
+ 221, 256, 145, 232, 10, 10, 10, 150, 255, 126,
+ 253, 189, 253, 134, 125, 207, 169, 170, 192, 126,
+ 146, 159, 3, 4, 5, 9, 10, 14, 47, 59,
+ 64, 72, 73, 87, 89, 91, 96, 100, 103, 108,
+ 111, 132, 135, 136, 140, 142, 147, 196, 197, 204,
+ 205, 248, 249, 255, 256, 194, 137, 190, 194, 166,
+ 192, 144, 206, 137, 206, 206, 206, 206, 206, 142,
+ 143, 145, 176, 145, 240, 256, 124, 125, 124, 142,
+ 126, 126, 145, 126, 126, 124, 202, 203, 246, 256,
+ 126, 137, 190, 190, 6, 15, 16, 17, 18, 19,
+ 20, 21, 22, 32, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 62, 87, 125, 128,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 142, 143, 147, 182, 190, 190, 190, 190, 127,
+ 142, 143, 193, 128, 199, 201, 225, 244, 244, 244,
+ 244, 144, 57, 212, 142, 124, 146, 142, 207, 199,
+ 142, 142, 193, 207, 144, 246, 242, 246, 92, 93,
+ 94, 112, 116, 222, 229, 252, 253, 124, 125, 150,
+ 125, 144, 125, 125, 145, 144, 128, 207, 128, 161,
+ 183, 184, 188, 128, 198, 256, 171, 192, 199, 201,
+ 158, 142, 133, 133, 212, 133, 142, 133, 142, 246,
+ 246, 246, 246, 214, 244, 246, 144, 14, 125, 15,
+ 16, 17, 18, 19, 20, 21, 22, 32, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 141,
+ 142, 143, 144, 190, 144, 144, 199, 201, 142, 206,
+ 179, 242, 194, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 67, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 85, 86, 87, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 146, 147, 241, 238, 152,
+ 243, 243, 202, 145, 125, 190, 10, 144, 146, 144,
+ 4, 191, 242, 246, 125, 144, 144, 144, 144, 181,
+ 212, 209, 144, 253, 238, 194, 199, 194, 194, 142,
+ 146, 125, 116, 252, 116, 252, 116, 252, 253, 92,
+ 93, 94, 253, 150, 222, 145, 10, 126, 10, 10,
+ 126, 214, 198, 214, 47, 59, 64, 96, 100, 103,
+ 132, 135, 136, 137, 140, 142, 147, 245, 247, 199,
+ 201, 125, 214, 214, 214, 142, 214, 214, 214, 214,
+ 246, 144, 144, 14, 205, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+ 246, 246, 246, 246, 246, 246, 144, 244, 246, 181,
+ 144, 142, 181, 125, 180, 194, 146, 144, 240, 145,
+ 145, 144, 145, 124, 246, 196, 146, 165, 193, 209,
+ 144, 145, 144, 144, 144, 194, 252, 252, 252, 252,
+ 252, 252, 145, 144, 125, 144, 144, 142, 133, 133,
+ 133, 142, 133, 245, 245, 245, 245, 245, 214, 244,
+ 245, 15, 16, 17, 18, 19, 20, 21, 22, 32,
+ 129, 130, 131, 132, 135, 136, 137, 138, 139, 141,
+ 142, 143, 125, 170, 144, 134, 134, 243, 134, 144,
+ 134, 144, 144, 246, 127, 144, 146, 142, 177, 166,
+ 194, 144, 181, 145, 202, 144, 124, 181, 181, 181,
+ 144, 126, 10, 126, 126, 214, 214, 214, 214, 214,
+ 214, 144, 144, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+ 245, 245, 144, 244, 246, 171, 142, 142, 144, 142,
+ 142, 246, 178, 194, 144, 181, 145, 181, 238, 193,
+ 193, 193, 181, 125, 144, 134, 134, 134, 144, 134,
+ 245, 127, 144, 146, 244, 244, 244, 244, 194, 144,
+ 181, 145, 10, 142, 142, 142, 142, 245, 144, 144,
+ 144, 144, 144, 181, 144, 244, 244, 244, 244, 181,
+ 193, 126, 144, 144, 144, 144, 193
+};
+
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
0, 148, 149, 149, 149, 150, 150, 150, 151, 151,
@@ -1368,10 +2606,11 @@ static const yytype_uint16 yyr1[] =
218, 217, 219, 219, 220, 220, 221, 221, 222, 222,
222, 222, 222, 222, 222, 222, 222, 222, 223, 224,
224, 224, 224, 225, 225, 226, 226, 226, 227, 227,
- 227, 228, 229, 229, 229, 231, 230, 232, 230, 230,
- 230, 233, 233, 233, 234, 234, 234, 235, 235, 235,
+ 227, 228, 228, 228, 229, 229, 229, 231, 230, 232,
+ 230, 230, 230, 233, 233, 233, 234, 234, 234, 235,
235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 235, 236, 236, 236, 237, 239, 238, 240, 240, 241,
+ 235, 235, 235, 236, 236, 236, 237, 239, 238, 240,
+ 240, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
@@ -1383,29 +2622,29 @@ static const yytype_uint16 yyr1[] =
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
- 241, 241, 241, 242, 242, 243, 243, 244, 244, 245,
+ 241, 241, 241, 241, 241, 242, 242, 243, 243, 244,
+ 244, 245, 245, 245, 245, 245, 245, 245, 245, 245,
245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 246, 246, 246, 246,
+ 245, 245, 245, 245, 245, 245, 245, 245, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 247, 247, 247, 247, 247, 247, 247, 247,
- 247, 247, 247, 247, 247, 248, 248, 248, 248, 248,
+ 246, 246, 246, 246, 247, 247, 247, 247, 247, 247,
+ 247, 247, 247, 247, 247, 247, 247, 248, 248, 248,
248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 248, 248, 248, 248, 248, 249, 249, 249,
- 249, 249, 249, 249, 249, 249, 249, 249, 250, 250,
- 250, 251, 251, 251, 251, 252, 252, 252, 253, 253,
- 253, 253, 254, 254, 254, 255, 255, 255, 255, 256
+ 248, 248, 248, 248, 248, 248, 248, 248, 248, 249,
+ 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
+ 250, 250, 250, 251, 251, 251, 251, 252, 252, 252,
+ 253, 253, 253, 253, 253, 253, 253, 253, 254, 254,
+ 254, 255, 255, 255, 255, 256
};
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 2, 2, 2, 1, 2, 2, 1, 3,
@@ -1438,12 +2677,13 @@ static const yytype_uint8 yyr2[] =
1, 1, 2, 4, 2, 4, 1, 1, 1, 2,
2, 2, 4, 1, 1, 1, 2, 3, 0, 5,
0, 8, 1, 1, 1, 1, 2, 3, 1, 2,
- 2, 2, 3, 3, 3, 3, 3, 3, 4, 4,
- 2, 3, 1, 1, 1, 1, 3, 5, 1, 2,
- 4, 1, 1, 1, 1, 0, 6, 0, 7, 4,
- 5, 3, 5, 4, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
- 2, 1, 1, 2, 1, 0, 2, 1, 2, 1,
+ 2, 2, 3, 3, 3, 3, 3, 3, 4, 3,
+ 1, 4, 2, 1, 1, 1, 3, 5, 1, 2,
+ 4, 1, 2, 2, 1, 1, 1, 0, 6, 0,
+ 7, 4, 5, 3, 5, 4, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 2, 2, 2, 1, 1, 2, 1, 0, 2, 1,
+ 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,
@@ -1455,1578 +2695,38 @@ static const yytype_uint8 yyr2[] =
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, 3, 1, 1, 1, 1, 1, 3, 1,
- 4, 7, 7, 7, 7, 4, 4, 2, 2, 2,
- 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
- 4, 4, 3, 3, 3, 3, 1, 4, 7, 7,
- 7, 7, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 2, 5, 4,
- 4, 2, 2, 2, 2, 2, 2, 3, 3, 3,
+ 1, 1, 1, 1, 3, 1, 1, 1, 1, 1,
+ 3, 1, 4, 7, 7, 7, 7, 4, 4, 2,
+ 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 5, 4, 4, 3, 3,
- 3, 3, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 8, 11, 1, 4, 7, 7, 7,
- 7, 4, 4, 2, 5, 4, 4, 2, 2, 2,
- 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 5, 4, 4, 3, 3, 3, 3, 1, 4,
+ 7, 7, 7, 7, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 2,
+ 5, 4, 4, 2, 2, 2, 2, 2, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 5, 4, 4, 3, 3, 3, 3, 1, 1, 1,
+ 3, 3, 3, 3, 3, 3, 3, 5, 4, 4,
+ 3, 3, 3, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 8, 11, 1, 4, 7,
+ 7, 7, 7, 4, 4, 2, 5, 4, 4, 2,
+ 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 5, 4, 4, 3, 3, 3, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 3, 1, 1, 2, 1, 1, 2, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 2, 2, 0
+ 1, 1, 3, 1, 1, 2, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 0
};
-/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint16 yydefact[] =
-{
- 0, 669, 0, 0, 0, 669, 5, 586, 582, 585,
- 665, 666, 588, 589, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 584, 590, 0, 0, 0, 0, 592,
- 591, 0, 0, 0, 0, 0, 583, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 669, 0, 3, 526,
- 587, 257, 265, 337, 338, 340, 341, 322, 0, 0,
- 352, 321, 351, 346, 343, 342, 345, 323, 0, 324,
- 344, 354, 339, 669, 4, 259, 260, 261, 0, 312,
- 0, 256, 334, 335, 336, 1, 21, 669, 669, 22,
- 669, 669, 669, 0, 34, 669, 0, 0, 0, 669,
- 0, 0, 0, 0, 669, 669, 0, 669, 669, 669,
- 0, 669, 669, 6, 0, 16, 7, 19, 0, 14,
- 55, 15, 17, 18, 36, 669, 0, 669, 669, 669,
- 669, 0, 669, 0, 669, 669, 669, 278, 283, 0,
- 0, 547, 0, 0, 277, 0, 669, 669, 0, 0,
- 0, 669, 669, 556, 554, 553, 555, 552, 257, 337,
- 338, 340, 341, 352, 351, 346, 343, 342, 345, 344,
- 339, 0, 0, 487, 658, 659, 660, 661, 652, 651,
- 0, 649, 654, 648, 551, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 667, 668,
- 669, 0, 353, 343, 348, 347, 350, 258, 349, 0,
- 669, 669, 669, 669, 669, 669, 0, 286, 244, 669,
- 662, 663, 664, 0, 310, 658, 659, 661, 288, 262,
- 290, 669, 47, 46, 48, 669, 37, 42, 23, 669,
- 0, 40, 0, 0, 0, 45, 669, 0, 26, 25,
- 24, 43, 39, 0, 0, 142, 0, 49, 0, 20,
- 0, 0, 41, 44, 0, 285, 267, 276, 0, 0,
- 0, 0, 12, 0, 0, 0, 284, 59, 269, 270,
- 271, 312, 0, 266, 0, 486, 485, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 279,
- 669, 281, 280, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 581, 653, 669, 669, 565, 566,
- 567, 568, 569, 570, 573, 574, 580, 0, 562, 563,
- 564, 571, 572, 560, 561, 557, 558, 559, 579, 578,
- 0, 0, 287, 0, 669, 0, 669, 669, 669, 669,
- 669, 249, 236, 0, 245, 0, 246, 248, 247, 175,
- 669, 0, 0, 669, 669, 0, 176, 179, 669, 174,
- 669, 318, 0, 315, 314, 311, 313, 0, 669, 669,
- 38, 35, 669, 0, 0, 0, 0, 669, 325, 0,
- 669, 285, 267, 0, 0, 284, 67, 0, 331, 0,
- 0, 51, 53, 76, 78, 285, 267, 61, 0, 0,
- 669, 268, 669, 0, 355, 192, 0, 0, 57, 355,
- 197, 0, 58, 56, 0, 274, 310, 272, 532, 546,
- 538, 534, 536, 537, 0, 544, 0, 543, 533, 540,
- 0, 0, 0, 539, 542, 545, 0, 549, 550, 541,
- 535, 527, 488, 92, 669, 669, 91, 650, 0, 577,
- 576, 264, 250, 669, 241, 237, 238, 240, 239, 669,
- 0, 0, 669, 213, 0, 0, 669, 178, 0, 0,
- 669, 669, 669, 669, 669, 669, 669, 226, 225, 0,
- 484, 483, 319, 308, 263, 669, 293, 669, 292, 669,
- 327, 0, 0, 0, 329, 669, 0, 0, 154, 155,
- 0, 0, 0, 0, 144, 145, 669, 153, 143, 0,
- 69, 71, 0, 333, 0, 0, 0, 669, 669, 0,
- 0, 669, 0, 0, 669, 0, 669, 669, 669, 669,
- 669, 0, 217, 216, 669, 80, 0, 669, 0, 8,
- 0, 0, 0, 0, 0, 0, 669, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 60, 669, 669, 156,
- 0, 0, 0, 282, 548, 0, 0, 0, 0, 94,
- 96, 93, 95, 0, 0, 171, 575, 242, 0, 0,
- 669, 669, 0, 0, 669, 177, 180, 669, 231, 227,
- 228, 230, 229, 0, 0, 669, 210, 190, 251, 316,
- 0, 289, 0, 0, 295, 294, 330, 669, 0, 0,
- 0, 669, 0, 33, 147, 669, 149, 669, 0, 669,
- 0, 68, 669, 332, 669, 52, 641, 637, 640, 643,
- 644, 182, 0, 0, 0, 639, 645, 0, 647, 646,
- 0, 0, 0, 638, 0, 0, 0, 0, 0, 0,
- 0, 0, 183, 214, 186, 215, 595, 642, 181, 0,
- 0, 0, 0, 62, 669, 275, 0, 669, 222, 218,
- 219, 221, 220, 86, 669, 13, 669, 193, 356, 357,
- 355, 0, 669, 669, 195, 196, 198, 200, 201, 669,
- 0, 204, 206, 203, 199, 0, 163, 159, 0, 109,
- 110, 111, 112, 113, 114, 117, 118, 133, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 137, 136, 120, 119, 106, 108, 107, 115, 116, 104,
- 105, 101, 102, 103, 100, 0, 0, 99, 157, 160,
- 162, 161, 0, 0, 167, 669, 169, 0, 0, 63,
- 273, 0, 0, 0, 0, 669, 0, 669, 0, 355,
- 243, 669, 669, 211, 669, 669, 252, 232, 235, 191,
- 0, 320, 0, 0, 0, 0, 0, 296, 0, 298,
- 655, 669, 0, 669, 0, 0, 0, 0, 326, 0,
- 0, 669, 0, 138, 141, 139, 146, 0, 151, 188,
- 70, 669, 0, 72, 50, 0, 0, 0, 603, 0,
- 0, 0, 0, 611, 610, 609, 608, 0, 0, 607,
- 54, 185, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 669, 0, 0, 669,
- 0, 65, 88, 223, 669, 0, 0, 359, 360, 364,
- 361, 368, 362, 363, 365, 366, 367, 369, 370, 371,
- 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
- 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
- 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
- 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
- 412, 413, 414, 434, 415, 416, 417, 418, 419, 420,
- 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 435, 436, 437, 438, 439, 440, 441,
- 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
- 452, 453, 454, 455, 456, 457, 458, 459, 669, 476,
- 477, 478, 469, 481, 465, 466, 464, 471, 472, 460,
- 461, 462, 463, 470, 468, 475, 473, 479, 474, 480,
- 467, 358, 0, 9, 0, 0, 0, 202, 205, 164,
- 158, 135, 134, 166, 170, 669, 0, 191, 0, 530,
- 529, 531, 528, 669, 669, 172, 97, 0, 0, 0,
- 212, 0, 0, 669, 233, 317, 0, 301, 0, 300,
- 0, 299, 657, 0, 0, 0, 656, 669, 297, 328,
- 0, 27, 0, 0, 32, 148, 152, 150, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 189, 489, 0, 74, 0, 0, 0, 0, 669,
- 0, 0, 0, 0, 0, 0, 636, 184, 187, 620,
- 621, 622, 623, 624, 625, 628, 629, 635, 0, 617,
- 618, 619, 626, 627, 615, 616, 612, 613, 614, 634,
- 633, 0, 0, 77, 0, 82, 79, 0, 669, 0,
- 224, 669, 0, 194, 11, 10, 207, 669, 208, 0,
- 165, 64, 0, 173, 98, 593, 669, 669, 669, 0,
- 307, 306, 305, 304, 303, 302, 291, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 502, 500, 499,
- 501, 498, 0, 0, 497, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 73, 602, 0,
- 0, 0, 0, 601, 0, 605, 606, 596, 0, 632,
- 631, 84, 669, 66, 0, 669, 81, 482, 0, 669,
- 355, 669, 669, 669, 669, 28, 0, 29, 31, 0,
- 0, 0, 0, 0, 0, 0, 525, 511, 512, 513,
- 514, 515, 516, 517, 518, 524, 0, 508, 509, 510,
- 506, 507, 503, 504, 505, 523, 522, 0, 0, 75,
- 0, 0, 604, 0, 0, 630, 669, 0, 669, 87,
- 209, 168, 0, 255, 254, 253, 234, 0, 496, 0,
- 0, 0, 495, 0, 490, 0, 521, 520, 0, 0,
- 0, 0, 0, 669, 89, 594, 0, 0, 0, 0,
- 0, 519, 599, 598, 600, 597, 669, 669, 0, 0,
- 0, 0, 0, 669, 83, 30, 493, 492, 494, 491,
- 85
-};
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 4, 5, 558, 559, 115, 422, 116, 117, 249,
- 118, 410, 411, 119, 120, 434, 542, 576, 683, 269,
- 532, 640, 641, 820, 284, 538, 541, 285, 696, 1202,
- 1256, 874, 1118, 465, 758, 814, 121, 266, 523, 524,
- 525, 526, 577, 1015, 578, 594, 375, 376, 671, 672,
- 818, 616, 428, 432, 710, 711, 377, 674, 551, 496,
- 226, 227, 73, 405, 141, 287, 74, 75, 388, 76,
- 389, 507, 623, 624, 797, 77, 78, 385, 381, 382,
- 79, 80, 122, 515, 627, 123, 81, 82, 83, 84,
- 556, 557, 698, 1001, 499, 294, 295, 1071, 173, 49,
- 675, 676, 180, 181, 799, 800, 579, 50, 124
-};
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -755
-static const yytype_int16 yypact[] =
-{
- 365, -755, 2777, 4408, 50, 2969, -755, -755, -755, -755,
- -755, -755, -755, -755, -61, -39, 6, 23, 53, 63,
- -34, 93, 10, -755, -755, 98, 102, 104, 4607, -755,
- -755, 78, 114, 134, 141, 135, -755, 166, 182, 192,
- 2777, 2777, 2777, 2777, 2777, 1416, 84, 2777, 3633, -755,
- 117, -755, -755, -755, -755, -755, -755, -755, 4629, 195,
- -755, -755, -755, -755, 2652, 2740, 2740, -755, 382, -755,
- 2740, -755, -755, 185, -755, -755, -755, -755, 262, 126,
- 69, -755, -755, -755, -755, -755, -755, 5156, 5156, -755,
- 5156, 359, 5156, 247, -755, 5112, 218, 248, 258, 5156,
- 290, 275, 279, 288, 5156, 5156, 299, 5126, 5156, 5156,
- 360, 5156, 5156, -755, 302, -755, -755, -755, 3179, -755,
- -755, -755, -755, -755, -755, 2777, 4408, 2777, 2777, 2777,
- 2777, 4408, 2777, 4408, 2777, 2777, 2777, -755, -755, 311,
- 382, 314, 382, 382, -755, 4408, 2777, 2777, 4408, 4408,
- 1416, 2777, 2777, 90, 90, 90, 90, 90, -61, 6,
- 23, 53, 63, 93, 98, 102, 2119, 2292, 2455, 2540,
- 192, 330, -60, 3633, -755, -755, -755, -755, -755, 382,
- 333, 373, -755, -755, 90, 2777, 2777, 2777, 2777, 2777,
- 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777,
- 2777, 2777, 2777, 2777, 2777, 2777, 2217, 2777, -755, -755,
- 185, 2777, -755, 2740, -755, -755, -755, -755, -755, 347,
- 31, 185, 185, 31, 31, 3948, 356, -755, 366, -755,
- -755, -755, -755, 1119, 388, 17, 45, 154, -755, -755,
- -755, 5156, -755, -755, -755, 5156, -755, -755, -755, 5059,
- 294, -755, 382, 382, 382, -755, -755, 399, -755, -755,
- -755, -755, -755, 2777, 3083, -755, 397, -755, 3251, -755,
- 382, 115, -755, -755, 382, 226, 384, -755, 4175, 396,
- 4475, 382, -755, 382, 393, 238, 398, -755, -755, -755,
- -755, 219, 69, -755, 395, 416, -755, 400, 406, 407,
- 409, 417, 429, 428, 440, 431, 438, 439, 2777, -755,
- 2777, -755, -755, 454, 448, 449, 451, 462, 458, 3356,
- 460, 461, 2777, 2777, -755, -755, 64, 84, 3815, 3835,
- 946, 946, 486, 486, 206, 206, -755, 3449, 3851, 3899,
- 4036, 486, 486, 121, 121, 90, 90, 90, -755, -755,
- -47, 1299, -755, 3377, 31, 473, 31, 31, 31, 31,
- 31, 468, -755, 356, -755, 356, -755, 468, 468, -755,
- 31, 4530, 4386, 31, 31, 469, 27, -755, 1148, -755,
- 2777, 382, 467, -755, -755, -755, -755, 1119, -755, 543,
- -755, -755, -755, 495, 492, 505, 506, 4681, -755, 1318,
- 2876, 403, 478, 4175, 238, -755, -755, 507, -755, 4408,
- 489, 511, 498, -755, 34, -755, -755, -755, 2777, 4629,
- 500, -755, -755, 502, -755, -755, 382, 15, -755, -755,
- -755, 2105, -755, -755, 786, -755, 527, -755, -755, -755,
- -755, -755, -755, -755, 514, -755, 515, -755, -755, -755,
- 3395, 517, 520, -755, -755, -755, 522, -755, -755, -755,
- -755, 90, 3633, -755, 4247, 672, -755, -755, 2777, -755,
- -755, -755, 468, 31, 468, 468, 468, 468, 468, 2777,
- -4, 4629, 1148, -755, 12, 108, 608, -755, 4319, 529,
- 1148, 1148, 1148, 1148, 1148, 1148, -45, -755, -755, 521,
- 3633, -755, -12, -755, 544, 4735, -755, 546, -755, 4789,
- -755, 665, 667, 669, -755, -755, 315, 556, -755, -755,
- 382, 2204, 382, 550, 560, -755, 1148, -755, -755, 34,
- -755, -755, 786, -755, 561, 542, 382, 1533, 4247, 552,
- 786, 4247, 786, 3413, 500, 553, 500, 500, 500, 500,
- 500, 293, -755, -755, 4843, -755, 547, -755, 334, -755,
- -68, 568, 570, 562, 579, 583, 2329, 3578, 573, 786,
- 786, 3082, 786, 786, 786, 786, -755, 186, 436, -755,
- 1119, 2777, 2777, -755, -755, 2777, 2777, 588, 4552, -755,
- -755, -755, -755, 592, 612, -755, 3633, 468, 593, 596,
- 1148, -45, 599, 600, 672, -755, -755, 1148, 603, 603,
- 603, 603, 603, 306, 2777, 2777, -755, -755, 604, -755,
- 2777, -755, 2386, 624, 629, -755, -755, -755, -43, 630,
- 633, 4897, 36, -755, 621, 1148, 631, 4286, 2876, -13,
- 786, -755, 436, -755, 5156, -755, -755, -755, -755, -755,
- -755, -755, 619, 632, 635, -755, -755, 4607, -755, -755,
- 637, 646, 638, -755, 648, 2777, 2777, 2777, 2777, 1416,
- 2777, 622, 57, -755, -755, 3651, -755, 117, -755, 628,
- 786, 361, 647, -755, 436, -755, 324, 500, 649, 649,
- 649, 649, 649, -755, 2777, -755, 4247, -755, 1843, -755,
- -755, 382, 2777, 2777, -755, -755, -755, -755, -755, 2329,
- 654, 650, 3633, -755, -755, 786, 328, 328, 763, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, 659, 658, -755, -755, 328,
- 328, 328, 391, 801, -755, 2777, -755, 2105, 681, -755,
- 544, 39, 66, 123, 149, 608, 4607, 185, 41, -755,
- -755, 4247, -45, -755, 4247, 4247, -755, 603, 666, 3633,
- 668, 3597, 587, 783, 897, 382, 493, -755, 382, -755,
- -755, -755, 2386, 4951, 808, 695, 812, 814, -755, 699,
- 4408, -13, 4408, -755, -755, -755, -755, 2889, -755, -755,
- -755, 436, 701, -755, -755, 4408, 4408, 4408, 687, 4408,
- 4408, 4408, 1416, 90, 90, 90, 90, 686, 152, 90,
- -755, -755, 1988, 2777, 2777, 2777, 2777, 2777, 2777, 2777,
- 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2777,
- 2777, 2777, 2777, 2777, 2441, 2777, 608, 465, 689, 608,
- 707, -755, -755, 649, 4247, 690, 691, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, -755, -755, -755, -755, -755, -755, -755, -755,
- -755, -755, 696, -755, 697, 702, 700, -755, 2553, 328,
- -755, -755, -755, -755, -755, 1533, 704, 3578, 786, -755,
- -755, -755, -755, 672, 185, -755, -755, 703, 716, 708,
- -755, 718, 719, 4247, -755, -755, 1030, -755, 1030, -755,
- 1030, -755, -755, 1030, 1030, 1030, -755, 5005, -755, -755,
- 720, -755, 163, 722, -755, -755, -755, -755, 727, 737,
- 742, 745, 743, 753, 2889, 2889, 2889, 2889, 2889, 1416,
- 2889, 3798, -755, 765, -755, 786, 744, 757, 758, 2777,
- 759, 750, 764, 756, 3431, 2777, -755, -755, -755, 3815,
- 3835, 946, 946, 486, 486, 206, 206, -755, 3615, 3851,
- 3899, 4036, 486, 486, 121, 121, 90, 90, 90, -755,
- -755, 236, 1553, 325, 760, -755, 325, 786, 4247, 761,
- -755, 608, 1698, -755, -755, -755, -755, 2329, 3633, 767,
- -755, -755, 779, -755, -755, -755, 608, 608, 608, 768,
- -755, -755, -755, -755, -755, -755, -755, 787, 899, 788,
- 790, 4408, 4408, 4408, 4408, 4408, 4408, 241, 241, 241,
- 241, 241, 773, 250, 241, 2889, 2889, 2889, 2889, 2889,
- 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2889,
- 2889, 2889, 2889, 2889, 2665, 2777, 786, -755, -755, 777,
- 778, 780, 784, -755, 785, -755, -755, 90, 2777, -755,
- -755, -755, 4247, -755, 781, 608, 325, -755, 789, 608,
- -755, 672, 672, 672, 608, -755, 797, -755, -755, 796,
- 798, 807, 809, 806, 818, 2889, -755, 1224, 3882, 3244,
- 3244, 2868, 2868, 510, 510, -755, 3669, 4052, 4069, 4078,
- 674, 674, 241, 241, 241, -755, -755, 251, 2008, -755,
- 2777, 2777, -755, 2777, 2777, 3633, 4247, 810, 608, 325,
- -755, 325, 811, -755, -755, -755, 325, 919, -755, 800,
- 816, 817, -755, 820, 241, 2889, -755, -755, 278, 282,
- 286, 287, 825, 608, 325, -755, 827, 2777, 2777, 2777,
- 2777, 3798, -755, -755, -755, -755, 608, 672, 804, 295,
- 317, 318, 332, 672, -755, -755, -755, -755, -755, -755,
- -755
-};
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
-/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
-{
- -755, -755, -230, -755, 259, -755, -755, 723, -755, -755,
- 207, 437, -755, -105, -755, -755, -755, -42, -142, -755,
- -755, -755, -96, -206, -755, -755, -755, 713, -755, -755,
- -755, -755, -755, -386, -755, -755, 345, -755, -755, -755,
- 346, 464, -465, -755, -523, -541, -449, -755, -32, -755,
- 175, -546, -755, -397, -693, -755, -341, 145, -480, -433,
- 795, -197, -41, -98, -551, -166, 28, -70, -755, -65,
- -755, -755, -755, -755, 188, -64, -755, -354, -755, -755,
- 2, -7, -755, -755, -755, -755, 1, 21, -755, -755,
- -428, -755, 13, -755, -445, -124, -27, 233, 526, -119,
- -755, -755, 670, -755, -754, 821, 389, -502, -1
-};
-
-/* 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 YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -665
-static const yytype_int16 yytable[] =
-{
- 6, 563, 265, 298, 299, 300, 301, 531, 303, 642,
- 305, 306, 307, 352, 632, 587, 1006, 210, 172, 684,
- 286, 143, 314, 315, 364, 366, 397, 320, 321, 144,
- 142, 483, 768, 504, 598, 677, 766, 777, 1037, 1039,
- 1041, 487, 208, 355, 209, 183, 539, 356, 288, 601,
- 85, 174, 175, 289, 290, 783, 702, 608, 609, 610,
- 611, 612, 613, 786, 686, 323, 688, 689, 690, 691,
- 692, 841, 228, 171, 703, 681, 561, 562, 323, 235,
- 236, 125, 804, 614, 324, 214, 215, 216, 357, 679,
- -662, 218, 682, 639, 174, 175, 822, 469, 615, 131,
- 604, 805, 406, 126, 716, 717, 828, 759, 760, 761,
- 762, 292, 417, 619, 176, 817, 620, 821, -663, 293,
- 291, 463, 193, 208, 296, 209, 296, 296, 296, 296,
- 615, 296, 177, 296, 296, 296, 230, 231, 870, 479,
- 599, -662, 176, 133, -662, 296, 296, 606, 127, 358,
- 296, 296, 488, 193, 297, 479, 602, 176, 505, 302,
- 237, 304, 509, 359, 323, 128, 286, 782, 360, -663,
- 790, 540, -663, 313, 787, 177, 316, 317, 318, 350,
- 809, 769, 842, 1019, 378, 1026, 451, 214, 215, 216,
- 218, 323, 554, 238, 288, 129, 673, 219, 288, 289,
- 290, 220, 811, 289, 290, 130, 464, 873, 288, 228,
- 1020, 145, 178, 289, 290, 867, 179, 232, 588, 362,
- 228, 228, 362, 362, 379, 1024, 770, -664, 383, 235,
- 236, 205, 206, 207, 214, 132, 1030, 530, 193, 420,
- 134, 408, 221, 409, 135, 823, 136, 876, 323, 875,
- 1009, 479, 603, 233, 386, 6, 146, 292, 202, 203,
- 204, 292, 205, 206, 207, 293, 291, 1021, 149, 293,
- 291, 292, 1002, 1173, 323, 1073, 147, 323, -664, 293,
- 291, -664, 1140, 148, 1141, 631, 1142, 871, 1148, 1143,
- 1144, 1145, 176, 1022, 242, 243, 1086, 244, 246, 247,
- 174, 175, 251, 222, 174, 175, 255, 1149, 150, 296,
- 237, 261, 262, 763, 264, 267, 268, 223, 272, 273,
- 1016, 10, 224, 11, 151, 466, 183, 225, 764, 765,
- 482, 378, 1029, 288, 152, 1031, 1032, 211, 289, 290,
- 677, 200, 201, 202, 203, 204, 233, 205, 206, 207,
- -90, 1028, -90, 362, -90, 362, 362, 362, 362, 362,
- 252, 323, 429, 176, 430, 245, 431, 176, 413, 362,
- 174, 175, 362, 362, 248, 323, 323, 498, 544, 501,
- 1199, 177, 1183, 1184, 1185, 177, 229, 6, 508, 1023,
- 253, 6, 174, 175, 1226, 1276, 292, 803, 589, 528,
- 254, 527, 258, 323, 293, 291, 259, 323, 386, 87,
- 590, 323, 323, 591, 256, 260, 592, 88, 392, 553,
- 323, 6, 1292, 378, 1074, 1119, 1293, 90, 91, 92,
- 1294, 1295, 593, 176, 1208, 693, 694, 534, 241, 1306,
- 600, 263, 323, 323, 99, 274, 270, 378, 251, 615,
- 788, 177, 390, 308, 104, 176, 310, 323, 700, 701,
- 105, 1307, 1308, 379, 595, 108, 872, 694, 234, 240,
- 764, 765, 362, 177, 322, 111, 1309, 112, 501, 326,
- 1113, 498, 1132, 1116, 354, 466, 1, 2, 3, 498,
- 498, 498, 498, 498, 498, 617, 378, 378, 327, 380,
- 378, 673, 114, 764, 765, 868, 625, 191, 192, -236,
- 230, 231, 545, 677, 6, 387, 546, 424, 193, 425,
- 426, 427, 527, 398, 433, 498, 414, -90, 48, -90,
- 400, -90, 813, 764, 765, 1013, 678, 379, 418, 438,
- 379, 323, 1173, 553, 439, 553, 553, 553, 553, 553,
- 440, 441, 642, 442, 771, 772, 699, 547, 773, 774,
- 429, 443, 430, 444, 767, 713, 153, 154, 155, 156,
- 157, 1047, 445, 184, 446, 447, 595, 617, 1004, 1005,
- 1025, 143, 448, 449, 1139, 1043, 1044, 1045, 452, 144,
- 142, 232, 453, 454, 684, 455, 456, 174, 175, 498,
- 617, 386, 457, 595, 459, 460, 498, 764, 765, 1114,
- 473, 479, 503, 486, 501, 798, 506, 511, 548, 510,
- 529, 200, 201, 202, 203, 204, 6, 205, 206, 207,
- 512, 513, 549, 533, 498, 535, 536, 550, 819, 527,
- 537, 617, 838, 57, 555, 1178, 1179, 1180, 1181, 1182,
- 143, 1183, 1184, 1185, 580, 378, 581, 582, 144, 142,
- 176, 584, 585, 821, 586, 463, 607, 618, -309, 1204,
- 1263, 1264, 1265, 622, 673, 628, 319, 629, 177, 630,
- 436, 240, 633, 617, 637, 638, 553, 643, 644, 680,
- 687, 67, 697, 501, 704, 379, 705, 837, 1072, 795,
- 69, 296, 296, 1036, 588, 707, 1173, 706, 713, 708,
- 715, 328, 329, 330, 331, 332, 333, 334, 335, 336,
- 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
- 347, 348, 775, 351, 778, 1206, 779, 353, 781, 780,
- 378, 784, 785, 378, 378, 589, 615, -243, 801, 810,
- 1211, 1212, 1213, 1257, 802, 806, 1304, 590, 807, 812,
- 591, 825, 1310, 592, 501, 826, 840, 497, 827, 143,
- 829, 831, 866, 1010, 466, 1008, 228, 144, 142, 593,
- 379, 617, 1262, 379, 379, 798, 798, 798, 830, 399,
- 832, 869, 694, 174, 175, 798, 230, 231, 568, 1007,
- 6, 378, 569, 1011, 1012, 1014, 1018, 1282, 1033, 552,
- 819, 1180, 1181, 1182, 1034, 1183, 1184, 1185, 1050, 1259,
- 617, 1051, 1052, 1261, 1053, 1054, 1075, 1133, 1266, 1079,
- 1085, 1115, 1117, 378, 450, 1121, 1120, 1111, 1055, 57,
- 1057, 1123, 1124, 570, 264, 1126, 1125, 1134, 461, 462,
- 1130, 824, 1136, 1076, 1077, 1078, 176, 1080, 1081, 1082,
- 1083, 1135, 1137, 1138, 1147, 466, 1150, 182, 466, 1151,
- 1152, 497, 1284, 379, 177, 1153, 571, 232, 1154, 497,
- 497, 497, 497, 497, 497, 1155, 1156, 67, 1188, 217,
- 1186, 1189, 1190, 1192, 1193, 795, 69, 1297, 1194, 1038,
- 1195, 239, 1201, 1210, 572, 1205, 500, 174, 175, 1216,
- 1303, 1209, 1214, 1215, 1217, 497, 1218, 1225, 573, 1250,
- 1251, 257, 1267, 574, 1252, 1258, 1253, 1254, 575, 1286,
- 1305, 271, 1269, 552, 1260, 552, 552, 552, 552, 552,
- 1268, 1270, 1287, 1271, 543, 1072, 1072, 1072, 1072, 1072,
- 1272, 1072, 1273, 57, 1283, 1191, 1285, 567, 1288, 1289,
- 1003, 309, 1290, 311, 312, 189, 190, 191, 192, 1296,
- 176, 1298, 391, 645, 378, 1203, 1131, 699, 193, 1187,
- 1249, 404, 815, 1129, 816, 635, 1056, 1088, 177, 497,
- 1048, 1122, 378, 0, 596, 0, 497, 467, 0, 0,
- 325, 67, 0, 0, 0, 500, 0, 0, 0, 795,
- 69, 0, 0, 1040, 678, 361, 363, 365, 367, 368,
- 0, 0, 595, 228, 497, 0, 0, 0, 0, 798,
- 0, 798, 379, 798, 0, 0, 798, 798, 798, 0,
- 174, 175, 1163, 0, 0, 0, 1072, 1072, 1072, 1072,
- 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
- 1072, 1072, 1072, 1072, 1072, 0, 0, 0, 0, 0,
- 0, 393, 0, 394, 395, 396, 552, 378, 296, 198,
- 199, 200, 201, 202, 203, 204, 57, 205, 206, 207,
- 0, 407, 712, 0, 0, 412, 0, 1162, 0, 0,
- 0, 0, 421, 176, 423, 0, 1072, 0, 0, 0,
- 0, 0, 435, 437, 0, 0, 0, 379, 0, 0,
- 466, 177, 0, 0, 0, 0, 713, 0, 0, 0,
- 384, 0, 0, 0, 67, 466, 466, 466, 0, 0,
- 789, 500, 795, 69, 0, 0, 791, 0, 182, 472,
- 0, 474, 475, 476, 477, 478, 1072, 1247, 230, 231,
- 489, 378, 0, 0, 490, 480, 0, 0, 484, 485,
- 53, 0, 54, 55, 56, 0, 0, 0, 0, 1219,
- 1220, 1221, 1222, 1223, 1224, 0, 0, 0, 0, 0,
- 0, 833, 834, 835, 836, 0, 839, 0, 0, 63,
- 213, 379, 502, 0, 466, 491, 0, 0, 466, 0,
- 595, 595, 595, 466, 0, 378, 0, 65, 66, 0,
- 500, 0, 0, 1278, 1279, 0, 1280, 1281, 0, 0,
- 0, 0, 0, 70, 0, 712, 0, 0, 72, 232,
- 1166, 1167, 1168, 1169, 1170, 1171, 1172, 560, 0, 0,
- 0, 0, 0, 0, 0, 379, 1173, 466, 0, 0,
- 1299, 1300, 1301, 1302, 0, 0, 492, 0, 597, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 493, 0, 466, 0, 0, 494, 0, 0, 0, 0,
- 495, 500, 0, 1017, 0, 466, 595, 1157, 1158, 1159,
- 1160, 1161, 595, 1164, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 185, 186, 187, 188, 189, 190,
- 191, 192, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 193, 0, 185, 186, 187, 188, 189, 190, 191,
- 192, 634, 0, 636, 0, 0, 0, 0, 0, 0,
- 193, 0, 0, 0, 1175, 1176, 1177, 412, 1084, 1178,
- 1179, 1180, 1181, 1182, 0, 1183, 1184, 1185, 0, 1089,
- 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099,
- 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
- 0, 1112, 0, 0, 0, 0, 0, 0, 1227, 1228,
- 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
- 1239, 1240, 1241, 1242, 1243, 1244, 1245, 0, 0, 7,
- 8, 9, 10, 0, 11, 12, 13, 158, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 0,
- 205, 206, 207, 516, 0, 470, 0, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 1274, 205,
- 206, 207, 517, 15, 52, 0, 0, 159, 0, 160,
- 161, 162, 57, 58, 0, 20, 59, 0, 0, 163,
- 22, 0, 0, 61, 0, 0, 0, 0, 23, 24,
- 164, 0, 0, 0, 0, 0, 165, 166, 0, 0,
- 0, 0, 0, 28, 0, 29, 0, 30, 1291, 0,
- 0, 0, 31, 0, 167, 168, 34, 0, 0, 35,
- 67, 0, 560, 0, 36, 0, 0, 37, 68, 69,
- 169, 0, 0, 71, 1128, 170, 646, 647, 648, 10,
- 0, 11, 649, 650, 51, 0, 0, 651, 40, 0,
- 0, 41, 42, 43, 0, 0, 44, 0, 45, 46,
- 0, 0, 0, 47, 0, 0, 0, 0, 185, 186,
- 187, 188, 189, 190, 191, 192, 0, 0, 0, 0,
- 652, 52, 0, 0, 53, 193, 54, 55, 56, 57,
- 371, 0, 653, 59, 0, 0, 60, 654, 0, 1027,
- 61, 0, 0, 0, 0, 655, 656, 62, 0, 0,
- 0, 1197, 0, 63, 64, 0, 1042, 0, 0, 1046,
- 657, 0, 658, 0, 659, 0, 0, 0, 372, 660,
- 0, 65, 66, 661, 0, 0, 662, 67, 0, 0,
- 0, 663, 0, 0, 664, 68, 69, 70, 0, 0,
- 71, 0, 72, 712, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 665, 0, 0, 666, 667,
- 0, 0, 0, 668, 0, 669, 0, 0, 0, 0,
- 670, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 0, 205, 206, 207, 0, 0, 1200,
- 0, 877, 878, 879, 880, 881, 882, 883, 884, 885,
- 886, 1248, 887, 888, 889, 890, 891, 892, 893, 894,
- 895, 896, 897, 0, 1255, 0, 0, 0, 0, 0,
- 898, 899, 900, 901, 902, 903, 904, 905, 906, 907,
- 908, 909, 910, 911, 912, 913, 914, 0, 0, 915,
- 916, 917, 918, 919, 920, 921, 922, 923, 924, 925,
- 926, 927, 928, 929, 0, 930, 0, 931, 932, 933,
- 934, 935, 936, 937, 938, 939, 940, 941, 942, 943,
- 0, 0, 0, 944, 945, 946, 0, 947, 948, 949,
- 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
- 960, 961, 962, 0, 963, 964, 965, 966, 967, 968,
- 969, 970, 971, 972, 973, 974, 975, 976, 977, 0,
- 0, 0, 978, 979, 980, 981, 982, 983, 984, 985,
- 986, 987, 988, 989, 990, 991, 992, 993, 994, 995,
- 996, 997, 998, 1207, 999, 1000, 877, 878, 879, 880,
- 881, 882, 883, 884, 885, 886, 0, 887, 888, 889,
- 890, 891, 892, 893, 894, 895, 896, 897, 0, 0,
- 0, 0, 0, 0, 0, 898, 899, 900, 901, 902,
- 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
- 913, 914, 0, 0, 915, 916, 917, 918, 919, 920,
- 921, 922, 923, 924, 925, 926, 927, 928, 929, 0,
- 930, 0, 931, 932, 933, 934, 935, 936, 937, 938,
- 939, 940, 941, 942, 943, 0, 0, 0, 944, 945,
- 946, 0, 947, 948, 949, 950, 951, 952, 953, 954,
- 955, 956, 957, 958, 959, 960, 961, 962, 0, 963,
- 964, 965, 966, 967, 968, 969, 970, 971, 972, 973,
- 974, 975, 976, 977, 0, 0, 0, 978, 979, 980,
- 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
- 991, 992, 993, 994, 995, 996, 997, 998, 0, 999,
- 1000, 646, 647, 648, 10, 0, 11, 649, 650, 51,
- 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 185, 186, 187, 188, 189, 190, 191,
- 192, 0, 0, 0, 0, 652, 52, 0, 0, 53,
- 193, 54, 55, 56, 57, 371, 0, 653, 59, 0,
- 0, 60, 654, 0, 0, 61, 0, 0, 0, 0,
- 655, 656, 62, 0, 0, 0, 0, 0, 63, 64,
- 0, 0, 0, 0, 0, 657, 0, 658, 0, 659,
- 0, 0, 0, 372, 660, 0, 65, 66, 661, 0,
- 0, 662, 67, 0, 0, 0, 663, 0, 0, 664,
- 68, 69, 70, 0, 0, 71, 0, 72, 7, 8,
- 9, 10, 0, 11, 12, 13, 14, 0, 0, 0,
- 665, 0, 0, 666, 667, 0, 0, 0, 668, 0,
- 669, 0, 0, 0, 0, 670, 0, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 0, 205,
- 206, 207, 15, 0, 1277, 0, 16, 0, 17, 18,
- 19, 0, 0, 0, 20, 0, 564, 565, 21, 22,
- 53, 0, 54, 55, 56, 0, 0, 23, 24, 25,
- 0, 0, 212, 0, 0, 26, 27, 0, 0, 0,
- 0, 0, 28, 0, 29, 0, 30, 0, 0, 63,
- 213, 31, 0, 32, 33, 34, 0, 0, 35, 0,
- 0, 0, 0, 36, 518, 519, 37, 65, 66, 38,
- 7, 8, 9, 10, 39, 11, 12, 13, 14, 566,
- 0, 0, 0, 70, 0, 0, 0, 40, 72, 0,
- 41, 42, 43, 0, 0, 44, 0, 45, 46, 0,
- 0, 0, 47, 0, 0, 53, 0, 54, 55, 56,
- 0, 136, 0, 0, 15, 0, 0, 60, 16, 0,
- 17, 18, 19, 0, 0, 0, 20, 0, 62, 0,
- 21, 22, 0, 0, 63, 64, 0, 0, 0, 23,
- 24, 25, 0, 0, 0, 0, 0, 26, 27, 0,
- 0, 0, 65, 66, 28, 0, 29, 0, 30, 0,
- 0, 0, 0, 31, 0, 32, 33, 34, 70, 0,
- 35, 71, 0, 72, 0, 36, 0, 0, 37, 0,
- 0, 38, 7, 8, 9, 10, 39, 11, 12, 13,
- 14, 0, 0, 53, 0, 54, 55, 56, 0, 40,
- 0, 0, 41, 42, 43, 0, 0, 44, 0, 45,
- 46, 349, 0, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 63, 213, 0, 0, 15, 0, 0, 0,
- 16, 0, 17, 18, 19, 0, 0, 0, 20, 0,
- 65, 66, 21, 22, 0, 0, 174, 175, 0, 0,
- 0, 23, 24, 25, 0, 0, 70, 0, 0, 26,
- 27, 72, 0, 0, 0, 0, 28, 0, 29, 0,
- 30, 0, 0, 0, 0, 31, 0, 32, 33, 34,
- 0, 0, 35, 0, 146, 0, 0, 36, 0, 0,
- 37, 0, 57, 38, 7, 8, 9, 10, 39, 11,
- 12, 13, 14, 709, 0, 0, 0, 0, 0, 176,
- 0, 40, 0, 0, 41, 42, 43, 0, 0, 44,
- 0, 45, 46, 0, 0, 0, 47, 177, 792, 793,
- 794, 0, 0, 0, 0, 0, 0, 0, 15, 0,
- 67, 0, 16, 0, 17, 18, 19, 0, 795, 69,
- 20, 0, 796, 0, 21, 22, 53, 0, 54, 55,
- 56, 0, 0, 23, 24, 25, 0, 0, 0, 0,
- 0, 26, 27, 0, 0, 0, 0, 0, 28, 0,
- 29, 0, 30, 0, 0, 63, 213, 31, 0, 32,
- 33, 34, 0, 0, 35, 0, 0, 0, 0, 36,
- 0, 0, 37, 65, 66, 38, 7, 8, 9, 10,
- 39, 11, 12, 13, 14, 0, 0, 0, 0, 70,
- 0, 0, 0, 40, 72, 0, 41, 42, 43, 0,
- 0, 44, 0, 45, 46, 1110, 0, 0, 47, 0,
- 0, 53, 0, 54, 55, 56, 0, 147, 0, 0,
- 15, 0, 0, 0, 16, 0, 17, 18, 19, 0,
- 0, 0, 20, 0, 0, 0, 21, 22, 0, 0,
- 63, 213, 0, 0, 0, 23, 24, 25, 0, 0,
- 0, 0, 0, 26, 27, 0, 0, 0, 65, 66,
- 28, 0, 29, 0, 30, 0, 0, 0, 0, 31,
- 0, 32, 33, 34, 70, 0, 35, 0, 0, 72,
- 0, 36, 0, 0, 37, 0, 0, 38, 7, 8,
- 9, 10, 39, 11, 12, 13, 14, 1127, 0, 0,
- 0, 0, 151, 0, 0, 40, 0, 0, 41, 42,
- 43, 0, 0, 44, 0, 45, 46, 0, 0, 0,
- 47, 0, 0, 53, 0, 54, 55, 56, 0, 0,
- 0, 0, 15, 0, 0, 212, 16, 0, 17, 18,
- 19, 0, 0, 0, 20, 0, 0, 0, 21, 22,
- 0, 0, 63, 213, 0, 0, 0, 23, 24, 25,
- 0, 0, 0, 0, 0, 26, 27, 0, 0, 0,
- 65, 66, 28, 0, 29, 0, 30, 0, 0, 0,
- 0, 31, 0, 32, 33, 34, 70, 0, 35, 0,
- 0, 72, 0, 36, 0, 0, 37, 0, 0, 38,
- 7, 8, 9, 10, 39, 11, 12, 13, 14, 0,
- 0, 53, 0, 54, 55, 56, 0, 40, 0, 0,
- 41, 42, 43, 0, 0, 44, 0, 45, 46, 1246,
- 0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
- 63, 213, 0, 0, 15, 0, 0, 0, 16, 0,
- 17, 18, 19, 0, 0, 0, 20, 0, 65, 66,
- 21, 22, 0, 0, 0, 0, 0, 0, 0, 23,
- 24, 25, 0, 0, 70, 0, 0, 26, 27, 72,
- 0, 0, 0, 0, 28, 0, 29, 0, 30, 0,
- 0, 0, 0, 31, 0, 32, 33, 34, 0, 0,
- 35, 0, 0, 0, 0, 36, 518, 519, 37, 1171,
- 1172, 38, 7, 8, 9, 10, 39, 11, 12, 13,
- 1173, 0, 0, 0, 0, 0, 0, 0, 0, 40,
- 0, 0, 41, 42, 43, 0, 0, 44, 0, 45,
- 46, 0, 0, 0, 47, 0, 0, 53, 0, 54,
- 55, 56, 520, 521, 0, 0, 1058, 0, 0, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 1059, 0,
- 62, 0, 0, 1060, 0, 0, 63, 64, 0, 0,
- 0, 23, 24, 0, 0, 0, 0, 0, 0, -2,
- 0, 0, 0, 0, 65, 66, 0, 0, 29, 0,
- 30, 0, 0, 0, 0, 1061, 0, 0, 522, 1062,
- 70, 0, 1063, 71, 0, 72, 0, 36, 0, 0,
- 0, 0, 0, 1178, 1179, 1180, 1181, 1182, 0, 1183,
- 1184, 1185, 0, 0, 0, 0, 0, 0, 86, 87,
- 0, 1064, 0, 0, 1065, 1066, 1067, 88, 0, 1068,
- 0, 1069, 46, 0, 0, 89, 1070, 90, 91, 92,
- 93, 0, 0, 0, 94, 0, 0, 0, 95, 0,
- 0, 96, 97, 98, 99, 100, 0, 0, 0, 0,
- 0, 101, 102, 103, 104, 0, 0, 0, 0, 0,
- 105, 106, 0, 0, 107, 108, 0, 0, 0, 109,
- 0, 0, 0, 0, 110, 111, 0, 112, 718, 0,
- 0, 0, 0, 275, 276, 113, 0, 719, 720, 721,
- 722, 723, 724, 725, 726, 0, 0, 0, 0, 0,
- 0, 0, 114, 0, 727, 0, 728, 729, 730, 731,
- 732, 733, 734, 735, 736, 737, 738, 739, 0, 0,
- 0, 277, 0, 0, 53, 0, 54, 55, 56, 57,
- 278, 0, 0, 279, 740, 0, 60, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 0, 62, 0, 0,
- 0, 0, 0, 63, 64, 0, 0, 0, 0, 741,
- 0, 0, 0, 280, 0, 0, 0, 0, 0, 0,
- 0, 65, 66, 0, 0, 0, 0, 67, 0, 275,
- 276, 0, 0, 0, 0, 281, 69, 70, 0, 0,
- 71, 0, 72, 0, 0, 0, 0, 742, 0, 0,
- 743, 0, 744, 745, 746, 747, 748, 749, 750, 751,
- 752, 753, 754, 283, 755, 756, 0, 277, 0, 757,
- 53, 0, 54, 55, 56, 57, 278, 0, 0, 279,
- 0, 0, 60, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 0, 62, 0, 0, 0, 0, 0, 63,
- 64, 401, 402, 1169, 1170, 1171, 1172, 0, 0, 280,
- 0, 0, 0, 0, 0, 0, 1173, 65, 66, 0,
- 0, 0, 0, 67, 0, 0, 0, 0, 0, 0,
- 0, 281, 69, 70, 0, 0, 71, 0, 72, 277,
- 0, 0, 53, 282, 54, 55, 56, 57, 403, 0,
- 0, 279, 0, 0, 60, 0, 0, 0, 61, 283,
- 0, 0, 0, 0, 0, 62, 0, 0, 0, 0,
- 0, 63, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 280, 0, 0, 0, 0, 0, 0, 0, 65,
- 66, 0, 0, 0, 0, 67, 0, 0, 0, 0,
- 0, 0, 0, 281, 69, 70, 0, 0, 71, 0,
- 72, 185, 186, 187, 188, 189, 190, 191, 192, 1178,
- 1179, 1180, 1181, 1182, 0, 1183, 1184, 1185, 193, 0,
- 0, 283, 185, 186, 187, 188, 189, 190, 191, 192,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
- 185, 186, 187, 188, 189, 190, 191, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 193, 185, 186,
- 187, 188, 189, 190, 191, 192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 193, 185, 186, 187, 188,
- 189, 190, 191, 192, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 193, 185, 186, 187, 188, 189, 190,
- 191, 192, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 193, 0, 0, 0, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 0, 205, 206, 207,
- 458, 0, 0, 0, 0, 0, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 0, 205, 206,
- 207, 471, 0, 0, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 0, 205, 206, 207, 583,
- 0, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 0, 205, 206, 207, 685, 0, 0,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 0, 205, 206, 207, 1196, 468, 0, 194, 195,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 0,
- 205, 206, 207, 185, 186, 187, 188, 189, 190, 191,
- 192, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 193, 0, 185, 186, 187, 188, 189, 190, 191, 192,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
- 185, 186, 187, 188, 189, 190, 191, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 193, 185, 186,
- 187, 188, 189, 190, 191, 192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 193, 843, 844, 845, 846,
- 847, 848, 849, 850, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 851, 1165, 1166, 1167, 1168, 1169, 1170,
- 1171, 1172, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1173, 0, 0, 714, 0, 0, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 0, 205,
- 206, 207, 1035, 0, 0, 0, 194, 195, 196, 197,
- 198, 199, 200, 201, 202, 203, 204, 0, 205, 206,
- 207, 0, 1198, 0, 194, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 0, 205, 206, 207, 0,
- 0, 0, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 0, 205, 206, 207, 0, 0, 0,
- 852, 853, 854, 855, 856, 857, 858, 859, 860, 861,
- 862, 0, 863, 864, 865, 0, 1275, 0, 1174, 1175,
- 1176, 1177, 0, 0, 1178, 1179, 1180, 1181, 1182, 0,
- 1183, 1184, 1185, 1165, 1166, 1167, 1168, 1169, 1170, 1171,
- 1172, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1173, 186, 187, 188, 189, 190, 191, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 193, 0, 0,
- 0, 0, 187, 188, 189, 190, 191, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 193, 187, 188,
- 189, 190, 191, 192, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 193, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167,
- 1168, 1169, 1170, 1171, 1172, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1173, 0, 187, 188, 189, 190,
- 191, 192, 0, 0, 0, 0, 0, 1174, 1175, 1176,
- 1177, 193, 0, 1178, 1179, 1180, 1181, 1182, 0, 1183,
- 1184, 1185, 0, 0, 0, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 0, 205, 206, 207, 51,
- 0, 0, 369, 0, 370, 195, 196, 197, 198, 199,
- 200, 201, 202, 203, 204, 0, 205, 206, 207, 0,
- 0, 0, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 0, 205, 206, 207, 0, 52, 0, 0, 53,
- 0, 54, 55, 56, 57, 371, 0, 0, 59, 0,
- 0, 60, 1175, 1176, 1177, 61, 0, 1178, 1179, 1180,
- 1181, 1182, 62, 1183, 1184, 1185, 0, 0, 63, 64,
- 0, 197, 198, 199, 200, 201, 202, 203, 204, 0,
- 205, 206, 207, 372, 0, 0, 65, 66, 0, 0,
- 0, 0, 67, 187, 188, 189, 190, 191, 192, 0,
- 68, 69, 70, 0, 0, 71, 0, 72, 193, 1167,
- 1168, 1169, 1170, 1171, 1172, 0, 0, 0, 0, 0,
- 373, 0, 0, 0, 1173, 374, 1167, 1168, 1169, 1170,
- 1171, 1172, 0, 0, 0, 1167, 1168, 1169, 1170, 1171,
- 1172, 1173, 0, 0, 0, 0, 0, 0, 0, 0,
- 1173, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 198,
- 199, 200, 201, 202, 203, 204, 0, 205, 206, 207,
- 0, 0, 0, 1176, 1177, 415, 416, 1178, 1179, 1180,
- 1181, 1182, 0, 1183, 1184, 1185, 0, 0, 0, 0,
- 0, 1177, 0, 0, 1178, 1179, 1180, 1181, 1182, 0,
- 1183, 1184, 1185, 1178, 1179, 1180, 1181, 1182, 0, 1183,
- 1184, 1185, 0, 277, 0, 0, 53, 0, 54, 55,
- 56, 57, 0, 0, 0, 279, 0, 0, 60, 0,
- 0, 0, 61, 0, 0, 0, 0, 0, 0, 62,
- 0, 0, 0, 0, 0, 63, 64, 0, 51, 0,
- 0, 369, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 65, 66, 0, 0, 0, 0, 67,
- 0, 0, 0, 0, 0, 0, 0, 281, 69, 70,
- 0, 0, 71, 0, 72, 52, 0, 0, 53, 0,
- 54, 55, 56, 57, 371, 0, 0, 59, 0, 0,
- 60, 0, 0, 0, 61, 0, 0, 0, 0, 0,
- 0, 62, 0, 0, 0, 0, 0, 63, 64, 0,
- 51, 0, 0, 605, 0, 0, 87, 0, 0, 0,
- 0, 0, 372, 0, 88, 65, 66, 0, 0, 0,
- 0, 67, 0, 0, 90, 91, 92, 0, 0, 68,
- 69, 70, 0, 0, 71, 241, 72, 52, 0, 0,
- 53, 99, 54, 55, 56, 57, 371, 0, 0, 59,
- 0, 104, 60, 0, 0, 0, 61, 105, 0, 0,
- 0, 107, 108, 62, 0, 0, 0, 51, 0, 63,
- 64, 0, 111, 0, 112, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 372, 0, 0, 65, 66, 51,
- 0, 0, 0, 67, 0, 0, 0, 0, 0, 114,
- 0, 68, 69, 70, 52, 0, 71, 53, 72, 54,
- 55, 56, 57, 371, 0, 0, 59, 0, 0, 60,
- 0, 0, 0, 61, 0, 0, 52, 0, 0, 53,
- 62, 54, 55, 56, 57, 58, 63, 64, 59, 0,
- 0, 60, 0, 0, 0, 61, 0, 0, 0, 0,
- 0, 372, 62, 0, 65, 66, 51, 0, 63, 64,
- 67, 0, 0, 0, 0, 0, 0, 0, 68, 69,
- 70, 0, 0, 71, 0, 72, 65, 66, 0, 0,
- 0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 68, 69, 70, 52, 0, 71, 53, 72, 54, 55,
- 56, 57, 419, 0, 0, 59, 0, 0, 60, 0,
- 0, 51, 61, 0, 0, 0, 0, 0, 0, 62,
- 0, 0, 0, 0, 0, 63, 64, 0, 0, 0,
- 0, 0, 0, 137, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 65, 66, 0, 0, 0, 52, 67,
- 0, 53, 0, 54, 55, 56, 57, 68, 69, 70,
- 59, 0, 71, 60, 72, 0, 0, 61, 0, 0,
- 138, 0, 0, 53, 62, 54, 55, 56, 57, 776,
- 63, 64, 139, 0, 0, 60, 0, 0, 137, 61,
- 0, 0, 0, 0, 0, 481, 62, 0, 65, 66,
- 0, 0, 63, 64, 67, 0, 0, 0, 0, 0,
- 51, 0, 68, 69, 70, 0, 0, 71, 0, 72,
- 65, 66, 0, 0, 0, 138, 67, 0, 53, 0,
- 54, 55, 56, 57, 140, 69, 70, 139, 0, 71,
- 60, 72, 0, 0, 61, 0, 0, 52, 0, 0,
- 53, 62, 54, 55, 56, 57, 0, 63, 64, 59,
- 0, 0, 60, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 0, 62, 0, 65, 66, 0, 0, 63,
- 64, 67, 0, 0, 0, 0, 0, 0, 0, 140,
- 69, 70, 0, 0, 71, 0, 72, 65, 66, 0,
- 86, 87, 0, 67, 0, 0, 0, 0, 0, 88,
- 0, 68, 69, 70, 0, 0, 71, 89, 72, 90,
- 91, 92, 93, 0, 0, 0, 94, 0, 0, 0,
- 95, 0, 0, 96, 97, 98, 99, 100, 0, 0,
- 0, 0, 0, 101, 102, 103, 104, 0, 0, 0,
- 0, 0, 105, 106, 86, 87, 107, 108, 0, 0,
- 0, 109, 0, 88, 0, 0, 110, 111, 0, 112,
- 0, 89, 0, 90, 91, 92, 93, 113, 0, 0,
- 94, 0, 0, 0, 95, 0, 0, 96, 97, 98,
- 99, 100, 0, 0, 114, 0, 514, 101, 102, 103,
- 104, 0, 0, 0, 0, 0, 105, 106, 86, 87,
- 107, 108, 0, 0, 0, 109, 0, 88, 0, 0,
- 110, 111, 0, 112, 0, 89, 0, 90, 91, 92,
- 93, 113, 0, 0, 94, 0, 0, 0, 95, 0,
- 0, 96, 97, 98, 99, 100, 0, 0, 114, 0,
- 621, 101, 102, 103, 104, 0, 0, 0, 0, 0,
- 105, 106, 86, 87, 107, 108, 0, 0, 0, 109,
- 0, 88, 0, 0, 110, 111, 0, 112, 0, 89,
- 0, 90, 91, 92, 93, 113, 0, 0, 94, 0,
- 0, 0, 95, 0, 0, 96, 97, 98, 99, 100,
- 0, 0, 114, 0, 626, 101, 102, 103, 104, 0,
- 0, 0, 0, 0, 105, 106, 86, 87, 107, 108,
- 0, 0, 0, 109, 0, 88, 0, 0, 110, 111,
- 0, 112, 0, 89, 0, 90, 91, 92, 93, 113,
- 0, 0, 94, 0, 0, 0, 95, 0, 0, 96,
- 97, 98, 99, 100, 0, 0, 114, 0, 695, 101,
- 102, 103, 104, 0, 0, 0, 0, 0, 105, 106,
- 86, 87, 107, 108, 0, 0, 0, 109, 0, 88,
- 0, 0, 110, 111, 0, 112, 0, 89, 0, 90,
- 91, 92, 93, 113, 0, 0, 94, 0, 0, 0,
- 95, 0, 0, 96, 97, 98, 99, 100, 0, 0,
- 114, 0, 808, 101, 102, 103, 104, 0, 0, 0,
- 0, 0, 105, 106, 86, 87, 107, 108, 0, 0,
- 0, 109, 0, 88, 0, 0, 110, 111, 0, 112,
- 0, 89, 0, 90, 91, 92, 93, 113, 0, 0,
- 94, 0, 0, 0, 95, 0, 0, 96, 97, 98,
- 99, 100, 0, 0, 114, 0, 1049, 101, 102, 103,
- 104, 0, 0, 0, 0, 0, 105, 106, 86, 87,
- 107, 108, 0, 0, 0, 109, 0, 88, 0, 0,
- 110, 111, 0, 112, 0, 89, 0, 90, 91, 92,
- 93, 113, 0, 0, 94, 0, 0, 0, 95, 0,
- 0, 96, 97, 98, 99, 100, 0, 0, 114, 0,
- 1146, 101, 102, 103, 104, 0, 0, 0, 0, 0,
- 105, 106, 87, 0, 107, 108, 0, 0, 0, 109,
- 88, 0, 0, 0, 110, 111, 87, 112, 0, 0,
- 90, 91, 92, 0, 88, 0, 0, 0, 0, 0,
- 0, 241, 0, 0, 90, 91, 92, 99, 250, 0,
- 0, 0, 114, 0, 0, 241, 87, 104, 0, 0,
- 0, 99, 0, 105, 88, 0, 0, 0, 108, 0,
- 0, 104, 0, 0, 90, 91, 92, 105, 111, 0,
- 112, 0, 108, 0, 0, 241, 0, 0, 0, 0,
- 0, 99, 111, 0, 112, 0, 0, 0, 0, 0,
- 0, 104, 0, 0, 0, 114, 0, 105, 0, -140,
- 0, 0, 108, 0, 0, 0, 0, 0, 0, 114,
- 0, 0, 111, 0, 112, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 114
-};
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-755)))
-
-#define yytable_value_is_error(Yytable_value) \
- YYID (0)
-
-static const yytype_int16 yycheck[] =
-{
- 1, 429, 107, 127, 128, 129, 130, 404, 132, 532,
- 134, 135, 136, 210, 516, 464, 709, 58, 45, 542,
- 118, 28, 146, 147, 221, 222, 256, 151, 152, 28,
- 28, 372, 578, 387, 479, 537, 577, 588, 792, 793,
- 794, 14, 6, 12, 8, 46, 12, 16, 118, 482,
- 0, 10, 11, 118, 118, 601, 124, 490, 491, 492,
- 493, 494, 495, 604, 544, 125, 546, 547, 548, 549,
- 550, 14, 73, 45, 142, 540, 61, 62, 125, 10,
- 11, 142, 125, 128, 144, 64, 65, 66, 57, 538,
- 73, 70, 541, 526, 10, 11, 642, 144, 143, 133,
- 486, 144, 268, 142, 569, 570, 657, 572, 573, 574,
- 575, 118, 278, 125, 73, 128, 128, 640, 73, 118,
- 118, 57, 32, 6, 125, 8, 127, 128, 129, 130,
- 143, 132, 91, 134, 135, 136, 10, 11, 684, 143,
- 144, 124, 73, 133, 127, 146, 147, 488, 142, 118,
- 151, 152, 125, 32, 126, 143, 144, 73, 388, 131,
- 91, 133, 392, 132, 125, 142, 264, 600, 137, 124,
- 615, 137, 127, 145, 607, 91, 148, 149, 150, 206,
- 144, 578, 125, 144, 225, 144, 310, 166, 167, 168,
- 169, 125, 422, 124, 264, 142, 537, 12, 268, 264,
- 264, 16, 635, 268, 268, 142, 142, 687, 278, 210,
- 144, 133, 128, 278, 278, 680, 132, 91, 32, 220,
- 221, 222, 223, 224, 225, 776, 580, 73, 229, 10,
- 11, 141, 142, 143, 213, 142, 782, 403, 32, 280,
- 142, 126, 57, 128, 142, 642, 142, 696, 125, 694,
- 715, 143, 144, 127, 233, 256, 142, 264, 137, 138,
- 139, 268, 141, 142, 143, 264, 264, 144, 133, 268,
- 268, 278, 700, 32, 125, 821, 142, 125, 124, 278,
- 278, 127, 1036, 142, 1038, 515, 1040, 684, 125, 1043,
- 1044, 1045, 73, 144, 87, 88, 144, 90, 91, 92,
- 10, 11, 95, 118, 10, 11, 99, 144, 142, 310,
- 91, 104, 105, 127, 107, 108, 109, 132, 111, 112,
- 765, 6, 137, 8, 142, 326, 327, 142, 142, 143,
- 371, 372, 781, 403, 142, 784, 785, 142, 403, 403,
- 842, 135, 136, 137, 138, 139, 127, 141, 142, 143,
- 124, 779, 126, 354, 128, 356, 357, 358, 359, 360,
- 142, 125, 124, 73, 126, 6, 128, 73, 142, 370,
- 10, 11, 373, 374, 127, 125, 125, 378, 419, 380,
- 144, 91, 141, 142, 143, 91, 124, 388, 389, 775,
- 142, 392, 10, 11, 144, 144, 403, 627, 73, 400,
- 142, 400, 127, 125, 403, 403, 127, 125, 387, 50,
- 85, 125, 125, 88, 124, 127, 91, 58, 124, 420,
- 125, 422, 144, 464, 821, 874, 144, 68, 69, 70,
- 144, 144, 107, 73, 1127, 142, 143, 409, 79, 144,
- 481, 142, 125, 125, 85, 143, 86, 488, 241, 143,
- 144, 91, 245, 142, 95, 73, 142, 125, 124, 125,
- 101, 144, 144, 464, 465, 106, 142, 143, 79, 80,
- 142, 143, 473, 91, 144, 116, 144, 118, 479, 146,
- 866, 482, 1023, 869, 137, 486, 121, 122, 123, 490,
- 491, 492, 493, 494, 495, 496, 537, 538, 125, 143,
- 541, 842, 143, 142, 143, 144, 507, 21, 22, 143,
- 10, 11, 12, 1015, 515, 127, 16, 124, 32, 126,
- 127, 128, 521, 124, 126, 526, 142, 124, 2, 126,
- 133, 128, 637, 142, 143, 144, 537, 538, 142, 144,
- 541, 125, 32, 544, 144, 546, 547, 548, 549, 550,
- 144, 144, 1075, 144, 581, 582, 557, 57, 585, 586,
- 124, 144, 126, 134, 128, 566, 40, 41, 42, 43,
- 44, 801, 144, 47, 134, 144, 577, 578, 702, 703,
- 777, 588, 144, 144, 1033, 92, 93, 94, 134, 588,
- 588, 91, 144, 144, 1117, 144, 134, 10, 11, 600,
- 601, 580, 144, 604, 144, 144, 607, 142, 143, 144,
- 137, 143, 145, 144, 615, 622, 73, 125, 118, 124,
- 142, 135, 136, 137, 138, 139, 627, 141, 142, 143,
- 125, 125, 132, 126, 635, 146, 125, 137, 639, 638,
- 142, 642, 669, 56, 142, 135, 136, 137, 138, 139,
- 657, 141, 142, 143, 127, 696, 142, 142, 657, 657,
- 73, 144, 142, 1186, 142, 57, 137, 146, 124, 1118,
- 1211, 1212, 1213, 127, 1015, 10, 150, 10, 91, 10,
- 291, 292, 126, 684, 134, 125, 687, 126, 146, 137,
- 137, 104, 145, 694, 126, 696, 126, 669, 817, 112,
- 113, 702, 703, 116, 32, 126, 32, 145, 709, 126,
- 137, 185, 186, 187, 188, 189, 190, 191, 192, 193,
- 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
- 204, 205, 144, 207, 142, 1121, 124, 211, 142, 146,
- 781, 142, 142, 784, 785, 73, 143, 143, 124, 128,
- 1136, 1137, 1138, 1202, 125, 125, 1297, 85, 125, 128,
- 88, 142, 1303, 91, 765, 133, 144, 378, 133, 776,
- 133, 133, 144, 10, 775, 125, 777, 776, 776, 107,
- 781, 782, 1210, 784, 785, 792, 793, 794, 142, 263,
- 142, 144, 143, 10, 11, 802, 10, 11, 12, 145,
- 801, 842, 16, 144, 146, 4, 125, 1256, 142, 420,
- 811, 137, 138, 139, 146, 141, 142, 143, 10, 1205,
- 821, 126, 10, 1209, 10, 126, 125, 1024, 1214, 142,
- 144, 142, 125, 874, 308, 144, 146, 864, 810, 56,
- 812, 145, 145, 57, 637, 145, 144, 144, 322, 323,
- 146, 644, 144, 825, 826, 827, 73, 829, 830, 831,
- 832, 145, 144, 144, 144, 866, 144, 46, 869, 142,
- 133, 482, 1258, 874, 91, 133, 90, 91, 133, 490,
- 491, 492, 493, 494, 495, 142, 133, 104, 144, 68,
- 125, 134, 134, 134, 144, 112, 113, 1283, 134, 116,
- 144, 80, 142, 124, 118, 144, 380, 10, 11, 10,
- 1296, 144, 144, 126, 126, 526, 126, 144, 132, 142,
- 142, 100, 125, 137, 144, 144, 142, 142, 142, 10,
- 126, 110, 134, 544, 145, 546, 547, 548, 549, 550,
- 144, 134, 142, 134, 418, 1064, 1065, 1066, 1067, 1068,
- 144, 1070, 134, 56, 144, 1079, 145, 431, 142, 142,
- 701, 140, 142, 142, 143, 19, 20, 21, 22, 144,
- 73, 144, 249, 536, 1015, 1117, 1018, 978, 32, 1075,
- 1186, 268, 637, 1015, 638, 521, 811, 842, 91, 600,
- 802, 978, 1033, -1, 468, -1, 607, 327, -1, -1,
- 179, 104, -1, -1, -1, 479, -1, -1, -1, 112,
- 113, -1, -1, 116, 1015, 220, 221, 222, 223, 224,
- -1, -1, 1023, 1024, 635, -1, -1, -1, -1, 1036,
- -1, 1038, 1033, 1040, -1, -1, 1043, 1044, 1045, -1,
- 10, 11, 1069, -1, -1, -1, 1165, 1166, 1167, 1168,
- 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178,
- 1179, 1180, 1181, 1182, 1183, -1, -1, -1, -1, -1,
- -1, 250, -1, 252, 253, 254, 687, 1118, 1079, 133,
- 134, 135, 136, 137, 138, 139, 56, 141, 142, 143,
- -1, 270, 566, -1, -1, 274, -1, 1069, -1, -1,
- -1, -1, 281, 73, 283, -1, 1225, -1, -1, -1,
- -1, -1, 291, 292, -1, -1, -1, 1118, -1, -1,
- 1121, 91, -1, -1, -1, -1, 1127, -1, -1, -1,
- 11, -1, -1, -1, 104, 1136, 1137, 1138, -1, -1,
- 614, 615, 112, 113, -1, -1, 620, -1, 327, 354,
- -1, 356, 357, 358, 359, 360, 1275, 1184, 10, 11,
- 12, 1202, -1, -1, 16, 370, -1, -1, 373, 374,
- 51, -1, 53, 54, 55, -1, -1, -1, -1, 1151,
- 1152, 1153, 1154, 1155, 1156, -1, -1, -1, -1, -1,
- -1, 665, 666, 667, 668, -1, 670, -1, -1, 80,
- 81, 1202, 381, -1, 1205, 57, -1, -1, 1209, -1,
- 1211, 1212, 1213, 1214, -1, 1256, -1, 98, 99, -1,
- 694, -1, -1, 1250, 1251, -1, 1253, 1254, -1, -1,
- -1, -1, -1, 114, -1, 709, -1, -1, 119, 91,
- 16, 17, 18, 19, 20, 21, 22, 426, -1, -1,
- -1, -1, -1, -1, -1, 1256, 32, 1258, -1, -1,
- 1287, 1288, 1289, 1290, -1, -1, 118, -1, 473, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 132, -1, 1283, -1, -1, 137, -1, -1, -1, -1,
- 142, 765, -1, 767, -1, 1296, 1297, 1064, 1065, 1066,
- 1067, 1068, 1303, 1070, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
- 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 32, -1, 15, 16, 17, 18, 19, 20, 21,
- 22, 520, -1, 522, -1, -1, -1, -1, -1, -1,
- 32, -1, -1, -1, 130, 131, 132, 536, 832, 135,
- 136, 137, 138, 139, -1, 141, 142, 143, -1, 843,
- 844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
- 854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
- -1, 865, -1, -1, -1, -1, -1, -1, 1165, 1166,
- 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176,
- 1177, 1178, 1179, 1180, 1181, 1182, 1183, -1, -1, 3,
- 4, 5, 6, -1, 8, 9, 10, 11, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, -1,
- 141, 142, 143, 125, -1, 146, -1, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, 1225, 141,
- 142, 143, 144, 47, 48, -1, -1, 51, -1, 53,
- 54, 55, 56, 57, -1, 59, 60, -1, -1, 63,
- 64, -1, -1, 67, -1, -1, -1, -1, 72, 73,
- 74, -1, -1, -1, -1, -1, 80, 81, -1, -1,
- -1, -1, -1, 87, -1, 89, -1, 91, 1275, -1,
- -1, -1, 96, -1, 98, 99, 100, -1, -1, 103,
- 104, -1, 701, -1, 108, -1, -1, 111, 112, 113,
- 114, -1, -1, 117, 1008, 119, 3, 4, 5, 6,
- -1, 8, 9, 10, 11, -1, -1, 14, 132, -1,
- -1, 135, 136, 137, -1, -1, 140, -1, 142, 143,
- -1, -1, -1, 147, -1, -1, -1, -1, 15, 16,
- 17, 18, 19, 20, 21, 22, -1, -1, -1, -1,
- 47, 48, -1, -1, 51, 32, 53, 54, 55, 56,
- 57, -1, 59, 60, -1, -1, 63, 64, -1, 778,
- 67, -1, -1, -1, -1, 72, 73, 74, -1, -1,
- -1, 1085, -1, 80, 81, -1, 795, -1, -1, 798,
- 87, -1, 89, -1, 91, -1, -1, -1, 95, 96,
- -1, 98, 99, 100, -1, -1, 103, 104, -1, -1,
- -1, 108, -1, -1, 111, 112, 113, 114, -1, -1,
- 117, -1, 119, 1127, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 132, -1, -1, 135, 136,
- -1, -1, -1, 140, -1, 142, -1, -1, -1, -1,
- 147, -1, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, -1, 141, 142, 143, -1, -1, 146,
- -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- 12, 1185, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, 23, 24, -1, 1198, -1, -1, -1, -1, -1,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, -1, -1, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, -1, 67, -1, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
- -1, -1, -1, 85, 86, 87, -1, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, -1, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
- -1, -1, 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
- 142, 143, 144, 145, 146, 147, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, -1, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, -1, -1,
- -1, -1, -1, -1, -1, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, -1, -1, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
- 67, -1, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, -1, -1, -1, 85, 86,
- 87, -1, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, -1, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, -1, -1, -1, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, -1, 146,
- 147, 3, 4, 5, 6, -1, 8, 9, 10, 11,
- -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, -1, -1, -1, 47, 48, -1, -1, 51,
- 32, 53, 54, 55, 56, 57, -1, 59, 60, -1,
- -1, 63, 64, -1, -1, 67, -1, -1, -1, -1,
- 72, 73, 74, -1, -1, -1, -1, -1, 80, 81,
- -1, -1, -1, -1, -1, 87, -1, 89, -1, 91,
- -1, -1, -1, 95, 96, -1, 98, 99, 100, -1,
- -1, 103, 104, -1, -1, -1, 108, -1, -1, 111,
- 112, 113, 114, -1, -1, 117, -1, 119, 3, 4,
- 5, 6, -1, 8, 9, 10, 11, -1, -1, -1,
- 132, -1, -1, 135, 136, -1, -1, -1, 140, -1,
- 142, -1, -1, -1, -1, 147, -1, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
- 142, 143, 47, -1, 146, -1, 51, -1, 53, 54,
- 55, -1, -1, -1, 59, -1, 61, 62, 63, 64,
- 51, -1, 53, 54, 55, -1, -1, 72, 73, 74,
- -1, -1, 63, -1, -1, 80, 81, -1, -1, -1,
- -1, -1, 87, -1, 89, -1, 91, -1, -1, 80,
- 81, 96, -1, 98, 99, 100, -1, -1, 103, -1,
- -1, -1, -1, 108, 10, 11, 111, 98, 99, 114,
- 3, 4, 5, 6, 119, 8, 9, 10, 11, 124,
- -1, -1, -1, 114, -1, -1, -1, 132, 119, -1,
- 135, 136, 137, -1, -1, 140, -1, 142, 143, -1,
- -1, -1, 147, -1, -1, 51, -1, 53, 54, 55,
- -1, 142, -1, -1, 47, -1, -1, 63, 51, -1,
- 53, 54, 55, -1, -1, -1, 59, -1, 74, -1,
- 63, 64, -1, -1, 80, 81, -1, -1, -1, 72,
- 73, 74, -1, -1, -1, -1, -1, 80, 81, -1,
- -1, -1, 98, 99, 87, -1, 89, -1, 91, -1,
- -1, -1, -1, 96, -1, 98, 99, 100, 114, -1,
- 103, 117, -1, 119, -1, 108, -1, -1, 111, -1,
- -1, 114, 3, 4, 5, 6, 119, 8, 9, 10,
- 11, -1, -1, 51, -1, 53, 54, 55, -1, 132,
- -1, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, 144, -1, -1, 147, -1, -1, -1, -1, -1,
- -1, -1, 80, 81, -1, -1, 47, -1, -1, -1,
- 51, -1, 53, 54, 55, -1, -1, -1, 59, -1,
- 98, 99, 63, 64, -1, -1, 10, 11, -1, -1,
- -1, 72, 73, 74, -1, -1, 114, -1, -1, 80,
- 81, 119, -1, -1, -1, -1, 87, -1, 89, -1,
- 91, -1, -1, -1, -1, 96, -1, 98, 99, 100,
- -1, -1, 103, -1, 142, -1, -1, 108, -1, -1,
- 111, -1, 56, 114, 3, 4, 5, 6, 119, 8,
- 9, 10, 11, 124, -1, -1, -1, -1, -1, 73,
- -1, 132, -1, -1, 135, 136, 137, -1, -1, 140,
- -1, 142, 143, -1, -1, -1, 147, 91, 92, 93,
- 94, -1, -1, -1, -1, -1, -1, -1, 47, -1,
- 104, -1, 51, -1, 53, 54, 55, -1, 112, 113,
- 59, -1, 116, -1, 63, 64, 51, -1, 53, 54,
- 55, -1, -1, 72, 73, 74, -1, -1, -1, -1,
- -1, 80, 81, -1, -1, -1, -1, -1, 87, -1,
- 89, -1, 91, -1, -1, 80, 81, 96, -1, 98,
- 99, 100, -1, -1, 103, -1, -1, -1, -1, 108,
- -1, -1, 111, 98, 99, 114, 3, 4, 5, 6,
- 119, 8, 9, 10, 11, -1, -1, -1, -1, 114,
- -1, -1, -1, 132, 119, -1, 135, 136, 137, -1,
- -1, 140, -1, 142, 143, 144, -1, -1, 147, -1,
- -1, 51, -1, 53, 54, 55, -1, 142, -1, -1,
- 47, -1, -1, -1, 51, -1, 53, 54, 55, -1,
- -1, -1, 59, -1, -1, -1, 63, 64, -1, -1,
- 80, 81, -1, -1, -1, 72, 73, 74, -1, -1,
- -1, -1, -1, 80, 81, -1, -1, -1, 98, 99,
- 87, -1, 89, -1, 91, -1, -1, -1, -1, 96,
- -1, 98, 99, 100, 114, -1, 103, -1, -1, 119,
- -1, 108, -1, -1, 111, -1, -1, 114, 3, 4,
- 5, 6, 119, 8, 9, 10, 11, 124, -1, -1,
- -1, -1, 142, -1, -1, 132, -1, -1, 135, 136,
- 137, -1, -1, 140, -1, 142, 143, -1, -1, -1,
- 147, -1, -1, 51, -1, 53, 54, 55, -1, -1,
- -1, -1, 47, -1, -1, 63, 51, -1, 53, 54,
- 55, -1, -1, -1, 59, -1, -1, -1, 63, 64,
- -1, -1, 80, 81, -1, -1, -1, 72, 73, 74,
- -1, -1, -1, -1, -1, 80, 81, -1, -1, -1,
- 98, 99, 87, -1, 89, -1, 91, -1, -1, -1,
- -1, 96, -1, 98, 99, 100, 114, -1, 103, -1,
- -1, 119, -1, 108, -1, -1, 111, -1, -1, 114,
- 3, 4, 5, 6, 119, 8, 9, 10, 11, -1,
- -1, 51, -1, 53, 54, 55, -1, 132, -1, -1,
- 135, 136, 137, -1, -1, 140, -1, 142, 143, 144,
- -1, -1, 147, -1, -1, -1, -1, -1, -1, -1,
- 80, 81, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, 54, 55, -1, -1, -1, 59, -1, 98, 99,
- 63, 64, -1, -1, -1, -1, -1, -1, -1, 72,
- 73, 74, -1, -1, 114, -1, -1, 80, 81, 119,
- -1, -1, -1, -1, 87, -1, 89, -1, 91, -1,
- -1, -1, -1, 96, -1, 98, 99, 100, -1, -1,
- 103, -1, -1, -1, -1, 108, 10, 11, 111, 21,
- 22, 114, 3, 4, 5, 6, 119, 8, 9, 10,
- 32, -1, -1, -1, -1, -1, -1, -1, -1, 132,
- -1, -1, 135, 136, 137, -1, -1, 140, -1, 142,
- 143, -1, -1, -1, 147, -1, -1, 51, -1, 53,
- 54, 55, 56, 57, -1, -1, 47, -1, -1, 63,
- -1, -1, -1, -1, -1, -1, -1, -1, 59, -1,
- 74, -1, -1, 64, -1, -1, 80, 81, -1, -1,
- -1, 72, 73, -1, -1, -1, -1, -1, -1, 0,
- -1, -1, -1, -1, 98, 99, -1, -1, 89, -1,
- 91, -1, -1, -1, -1, 96, -1, -1, 112, 100,
- 114, -1, 103, 117, -1, 119, -1, 108, -1, -1,
- -1, -1, -1, 135, 136, 137, 138, 139, -1, 141,
- 142, 143, -1, -1, -1, -1, -1, -1, 49, 50,
- -1, 132, -1, -1, 135, 136, 137, 58, -1, 140,
- -1, 142, 143, -1, -1, 66, 147, 68, 69, 70,
- 71, -1, -1, -1, 75, -1, -1, -1, 79, -1,
- -1, 82, 83, 84, 85, 86, -1, -1, -1, -1,
- -1, 92, 93, 94, 95, -1, -1, -1, -1, -1,
- 101, 102, -1, -1, 105, 106, -1, -1, -1, 110,
- -1, -1, -1, -1, 115, 116, -1, 118, 6, -1,
- -1, -1, -1, 10, 11, 126, -1, 15, 16, 17,
- 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
- -1, -1, 143, -1, 32, -1, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, -1, -1,
- -1, 48, -1, -1, 51, -1, 53, 54, 55, 56,
- 57, -1, -1, 60, 62, -1, 63, -1, -1, -1,
- 67, -1, -1, -1, -1, -1, -1, 74, -1, -1,
- -1, -1, -1, 80, 81, -1, -1, -1, -1, 87,
- -1, -1, -1, 90, -1, -1, -1, -1, -1, -1,
- -1, 98, 99, -1, -1, -1, -1, 104, -1, 10,
- 11, -1, -1, -1, -1, 112, 113, 114, -1, -1,
- 117, -1, 119, -1, -1, -1, -1, 125, -1, -1,
- 128, -1, 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 139, 140, 140, 142, 143, -1, 48, -1, 147,
- 51, -1, 53, 54, 55, 56, 57, -1, -1, 60,
- -1, -1, 63, -1, -1, -1, 67, -1, -1, -1,
- -1, -1, -1, 74, -1, -1, -1, -1, -1, 80,
- 81, 10, 11, 19, 20, 21, 22, -1, -1, 90,
- -1, -1, -1, -1, -1, -1, 32, 98, 99, -1,
- -1, -1, -1, 104, -1, -1, -1, -1, -1, -1,
- -1, 112, 113, 114, -1, -1, 117, -1, 119, 48,
- -1, -1, 51, 124, 53, 54, 55, 56, 57, -1,
- -1, 60, -1, -1, 63, -1, -1, -1, 67, 140,
- -1, -1, -1, -1, -1, 74, -1, -1, -1, -1,
- -1, 80, 81, -1, -1, -1, -1, -1, -1, -1,
- -1, 90, -1, -1, -1, -1, -1, -1, -1, 98,
- 99, -1, -1, -1, -1, 104, -1, -1, -1, -1,
- -1, -1, -1, 112, 113, 114, -1, -1, 117, -1,
- 119, 15, 16, 17, 18, 19, 20, 21, 22, 135,
- 136, 137, 138, 139, -1, 141, 142, 143, 32, -1,
- -1, 140, 15, 16, 17, 18, 19, 20, 21, 22,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
- 15, 16, 17, 18, 19, 20, 21, 22, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 32, 15, 16,
- 17, 18, 19, 20, 21, 22, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 32, 15, 16, 17, 18,
- 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 32, 15, 16, 17, 18, 19, 20,
- 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 32, -1, -1, -1, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
- 144, -1, -1, -1, -1, -1, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, -1, 141, 142,
- 143, 144, -1, -1, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, -1, 141, 142, 143, 144,
- -1, -1, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, -1, 141, 142, 143, 144, -1, -1,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, -1, 141, 142, 143, 144, 127, -1, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, -1,
- 141, 142, 143, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 32, -1, 15, 16, 17, 18, 19, 20, 21, 22,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
- 15, 16, 17, 18, 19, 20, 21, 22, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 32, 15, 16,
- 17, 18, 19, 20, 21, 22, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 32, 15, 16, 17, 18,
- 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 32, 15, 16, 17, 18, 19, 20,
- 21, 22, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 32, -1, -1, 126, -1, -1, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 139, -1, 141,
- 142, 143, 125, -1, -1, -1, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, -1, 141, 142,
- 143, -1, 127, -1, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, -1, 141, 142, 143, -1,
- -1, -1, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, -1, 141, 142, 143, -1, -1, -1,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, -1, 141, 142, 143, -1, 127, -1, 129, 130,
- 131, 132, -1, -1, 135, 136, 137, 138, 139, -1,
- 141, 142, 143, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 32, 16, 17, 18, 19, 20, 21, 22, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
- -1, -1, 17, 18, 19, 20, 21, 22, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 32, 17, 18,
- 19, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 17,
- 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 32, -1, 17, 18, 19, 20,
- 21, 22, -1, -1, -1, -1, -1, 129, 130, 131,
- 132, 32, -1, 135, 136, 137, 138, 139, -1, 141,
- 142, 143, -1, -1, -1, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, -1, 141, 142, 143, 11,
- -1, -1, 14, -1, 16, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, -1, 141, 142, 143, -1,
- -1, -1, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, -1, 141, 142, 143, -1, 48, -1, -1, 51,
- -1, 53, 54, 55, 56, 57, -1, -1, 60, -1,
- -1, 63, 130, 131, 132, 67, -1, 135, 136, 137,
- 138, 139, 74, 141, 142, 143, -1, -1, 80, 81,
- -1, 132, 133, 134, 135, 136, 137, 138, 139, -1,
- 141, 142, 143, 95, -1, -1, 98, 99, -1, -1,
- -1, -1, 104, 17, 18, 19, 20, 21, 22, -1,
- 112, 113, 114, -1, -1, 117, -1, 119, 32, 17,
- 18, 19, 20, 21, 22, -1, -1, -1, -1, -1,
- 132, -1, -1, -1, 32, 137, 17, 18, 19, 20,
- 21, 22, -1, -1, -1, 17, 18, 19, 20, 21,
- 22, 32, -1, -1, -1, -1, -1, -1, -1, -1,
- 32, -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, 133,
- 134, 135, 136, 137, 138, 139, -1, 141, 142, 143,
- -1, -1, -1, 131, 132, 10, 11, 135, 136, 137,
- 138, 139, -1, 141, 142, 143, -1, -1, -1, -1,
- -1, 132, -1, -1, 135, 136, 137, 138, 139, -1,
- 141, 142, 143, 135, 136, 137, 138, 139, -1, 141,
- 142, 143, -1, 48, -1, -1, 51, -1, 53, 54,
- 55, 56, -1, -1, -1, 60, -1, -1, 63, -1,
- -1, -1, 67, -1, -1, -1, -1, -1, -1, 74,
- -1, -1, -1, -1, -1, 80, 81, -1, 11, -1,
- -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 98, 99, -1, -1, -1, -1, 104,
- -1, -1, -1, -1, -1, -1, -1, 112, 113, 114,
- -1, -1, 117, -1, 119, 48, -1, -1, 51, -1,
- 53, 54, 55, 56, 57, -1, -1, 60, -1, -1,
- 63, -1, -1, -1, 67, -1, -1, -1, -1, -1,
- -1, 74, -1, -1, -1, -1, -1, 80, 81, -1,
- 11, -1, -1, 14, -1, -1, 50, -1, -1, -1,
- -1, -1, 95, -1, 58, 98, 99, -1, -1, -1,
- -1, 104, -1, -1, 68, 69, 70, -1, -1, 112,
- 113, 114, -1, -1, 117, 79, 119, 48, -1, -1,
- 51, 85, 53, 54, 55, 56, 57, -1, -1, 60,
- -1, 95, 63, -1, -1, -1, 67, 101, -1, -1,
- -1, 105, 106, 74, -1, -1, -1, 11, -1, 80,
- 81, -1, 116, -1, 118, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 95, -1, -1, 98, 99, 11,
- -1, -1, -1, 104, -1, -1, -1, -1, -1, 143,
- -1, 112, 113, 114, 48, -1, 117, 51, 119, 53,
- 54, 55, 56, 57, -1, -1, 60, -1, -1, 63,
- -1, -1, -1, 67, -1, -1, 48, -1, -1, 51,
- 74, 53, 54, 55, 56, 57, 80, 81, 60, -1,
- -1, 63, -1, -1, -1, 67, -1, -1, -1, -1,
- -1, 95, 74, -1, 98, 99, 11, -1, 80, 81,
- 104, -1, -1, -1, -1, -1, -1, -1, 112, 113,
- 114, -1, -1, 117, -1, 119, 98, 99, -1, -1,
- -1, -1, 104, -1, -1, -1, -1, -1, -1, -1,
- 112, 113, 114, 48, -1, 117, 51, 119, 53, 54,
- 55, 56, 57, -1, -1, 60, -1, -1, 63, -1,
- -1, 11, 67, -1, -1, -1, -1, -1, -1, 74,
- -1, -1, -1, -1, -1, 80, 81, -1, -1, -1,
- -1, -1, -1, 11, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 98, 99, -1, -1, -1, 48, 104,
- -1, 51, -1, 53, 54, 55, 56, 112, 113, 114,
- 60, -1, 117, 63, 119, -1, -1, 67, -1, -1,
- 48, -1, -1, 51, 74, 53, 54, 55, 56, 57,
- 80, 81, 60, -1, -1, 63, -1, -1, 11, 67,
- -1, -1, -1, -1, -1, 95, 74, -1, 98, 99,
- -1, -1, 80, 81, 104, -1, -1, -1, -1, -1,
- 11, -1, 112, 113, 114, -1, -1, 117, -1, 119,
- 98, 99, -1, -1, -1, 48, 104, -1, 51, -1,
- 53, 54, 55, 56, 112, 113, 114, 60, -1, 117,
- 63, 119, -1, -1, 67, -1, -1, 48, -1, -1,
- 51, 74, 53, 54, 55, 56, -1, 80, 81, 60,
- -1, -1, 63, -1, -1, -1, 67, -1, -1, -1,
- -1, -1, -1, 74, -1, 98, 99, -1, -1, 80,
- 81, 104, -1, -1, -1, -1, -1, -1, -1, 112,
- 113, 114, -1, -1, 117, -1, 119, 98, 99, -1,
- 49, 50, -1, 104, -1, -1, -1, -1, -1, 58,
- -1, 112, 113, 114, -1, -1, 117, 66, 119, 68,
- 69, 70, 71, -1, -1, -1, 75, -1, -1, -1,
- 79, -1, -1, 82, 83, 84, 85, 86, -1, -1,
- -1, -1, -1, 92, 93, 94, 95, -1, -1, -1,
- -1, -1, 101, 102, 49, 50, 105, 106, -1, -1,
- -1, 110, -1, 58, -1, -1, 115, 116, -1, 118,
- -1, 66, -1, 68, 69, 70, 71, 126, -1, -1,
- 75, -1, -1, -1, 79, -1, -1, 82, 83, 84,
- 85, 86, -1, -1, 143, -1, 145, 92, 93, 94,
- 95, -1, -1, -1, -1, -1, 101, 102, 49, 50,
- 105, 106, -1, -1, -1, 110, -1, 58, -1, -1,
- 115, 116, -1, 118, -1, 66, -1, 68, 69, 70,
- 71, 126, -1, -1, 75, -1, -1, -1, 79, -1,
- -1, 82, 83, 84, 85, 86, -1, -1, 143, -1,
- 145, 92, 93, 94, 95, -1, -1, -1, -1, -1,
- 101, 102, 49, 50, 105, 106, -1, -1, -1, 110,
- -1, 58, -1, -1, 115, 116, -1, 118, -1, 66,
- -1, 68, 69, 70, 71, 126, -1, -1, 75, -1,
- -1, -1, 79, -1, -1, 82, 83, 84, 85, 86,
- -1, -1, 143, -1, 145, 92, 93, 94, 95, -1,
- -1, -1, -1, -1, 101, 102, 49, 50, 105, 106,
- -1, -1, -1, 110, -1, 58, -1, -1, 115, 116,
- -1, 118, -1, 66, -1, 68, 69, 70, 71, 126,
- -1, -1, 75, -1, -1, -1, 79, -1, -1, 82,
- 83, 84, 85, 86, -1, -1, 143, -1, 145, 92,
- 93, 94, 95, -1, -1, -1, -1, -1, 101, 102,
- 49, 50, 105, 106, -1, -1, -1, 110, -1, 58,
- -1, -1, 115, 116, -1, 118, -1, 66, -1, 68,
- 69, 70, 71, 126, -1, -1, 75, -1, -1, -1,
- 79, -1, -1, 82, 83, 84, 85, 86, -1, -1,
- 143, -1, 145, 92, 93, 94, 95, -1, -1, -1,
- -1, -1, 101, 102, 49, 50, 105, 106, -1, -1,
- -1, 110, -1, 58, -1, -1, 115, 116, -1, 118,
- -1, 66, -1, 68, 69, 70, 71, 126, -1, -1,
- 75, -1, -1, -1, 79, -1, -1, 82, 83, 84,
- 85, 86, -1, -1, 143, -1, 145, 92, 93, 94,
- 95, -1, -1, -1, -1, -1, 101, 102, 49, 50,
- 105, 106, -1, -1, -1, 110, -1, 58, -1, -1,
- 115, 116, -1, 118, -1, 66, -1, 68, 69, 70,
- 71, 126, -1, -1, 75, -1, -1, -1, 79, -1,
- -1, 82, 83, 84, 85, 86, -1, -1, 143, -1,
- 145, 92, 93, 94, 95, -1, -1, -1, -1, -1,
- 101, 102, 50, -1, 105, 106, -1, -1, -1, 110,
- 58, -1, -1, -1, 115, 116, 50, 118, -1, -1,
- 68, 69, 70, -1, 58, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, 68, 69, 70, 85, 86, -1,
- -1, -1, 143, -1, -1, 79, 50, 95, -1, -1,
- -1, 85, -1, 101, 58, -1, -1, -1, 106, -1,
- -1, 95, -1, -1, 68, 69, 70, 101, 116, -1,
- 118, -1, 106, -1, -1, 79, -1, -1, -1, -1,
- -1, 85, 116, -1, 118, -1, -1, -1, -1, -1,
- -1, 95, -1, -1, -1, 143, -1, 101, -1, 133,
- -1, -1, 106, -1, -1, -1, -1, -1, -1, 143,
- -1, -1, 116, -1, 118, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 143
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_uint16 yystos[] =
-{
- 0, 121, 122, 123, 149, 150, 256, 3, 4, 5,
- 6, 8, 9, 10, 11, 47, 51, 53, 54, 55,
- 59, 63, 64, 72, 73, 74, 80, 81, 87, 89,
- 91, 96, 98, 99, 100, 103, 108, 111, 114, 119,
- 132, 135, 136, 137, 140, 142, 143, 147, 246, 247,
- 255, 11, 48, 51, 53, 54, 55, 56, 57, 60,
- 63, 67, 74, 80, 81, 98, 99, 104, 112, 113,
- 114, 117, 119, 210, 214, 215, 217, 223, 224, 228,
- 229, 234, 235, 236, 237, 0, 49, 50, 58, 66,
- 68, 69, 70, 71, 75, 79, 82, 83, 84, 85,
- 86, 92, 93, 94, 95, 101, 102, 105, 106, 110,
- 115, 116, 118, 126, 143, 153, 155, 156, 158, 161,
- 162, 184, 230, 233, 256, 142, 142, 142, 142, 142,
- 142, 133, 142, 133, 142, 142, 142, 11, 48, 60,
- 112, 212, 228, 229, 234, 133, 142, 142, 142, 133,
- 142, 142, 142, 246, 246, 246, 246, 246, 11, 51,
- 53, 54, 55, 63, 74, 80, 81, 98, 99, 114,
- 119, 214, 244, 246, 10, 11, 73, 91, 128, 132,
- 250, 251, 253, 256, 246, 15, 16, 17, 18, 19,
- 20, 21, 22, 32, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 141, 142, 143, 6, 8,
- 210, 142, 63, 81, 235, 235, 235, 253, 235, 12,
- 16, 57, 118, 132, 137, 142, 208, 209, 256, 124,
- 10, 11, 91, 127, 254, 10, 11, 91, 124, 253,
- 254, 79, 158, 158, 158, 6, 158, 158, 127, 157,
- 86, 158, 142, 142, 142, 158, 124, 253, 127, 127,
- 127, 158, 158, 142, 158, 161, 185, 158, 158, 167,
- 86, 253, 158, 158, 143, 10, 11, 48, 57, 60,
- 90, 112, 124, 140, 172, 175, 211, 213, 215, 217,
- 223, 228, 229, 234, 243, 244, 256, 214, 243, 243,
- 243, 243, 214, 243, 214, 243, 243, 243, 142, 253,
- 142, 253, 253, 214, 243, 243, 214, 214, 214, 246,
- 243, 243, 144, 125, 144, 253, 146, 125, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 144,
- 244, 246, 209, 246, 137, 12, 16, 57, 118, 132,
- 137, 208, 256, 208, 209, 208, 209, 208, 208, 14,
- 16, 57, 95, 132, 137, 194, 195, 204, 210, 256,
- 143, 226, 227, 256, 11, 225, 235, 127, 216, 218,
- 158, 155, 124, 253, 253, 253, 253, 150, 124, 246,
- 133, 10, 11, 57, 175, 211, 213, 253, 126, 128,
- 159, 160, 253, 142, 142, 10, 11, 213, 142, 57,
- 210, 253, 154, 253, 124, 126, 127, 128, 200, 124,
- 126, 128, 201, 126, 163, 253, 254, 253, 144, 144,
- 144, 144, 144, 144, 134, 144, 134, 144, 144, 144,
- 246, 243, 134, 144, 144, 144, 134, 144, 144, 144,
- 144, 246, 246, 57, 142, 181, 256, 250, 127, 144,
- 146, 144, 208, 137, 208, 208, 208, 208, 208, 143,
- 208, 95, 210, 204, 208, 208, 144, 14, 125, 12,
- 16, 57, 118, 132, 137, 142, 207, 254, 256, 242,
- 246, 256, 253, 145, 225, 150, 73, 219, 256, 150,
- 124, 125, 125, 125, 145, 231, 125, 144, 10, 11,
- 56, 57, 112, 186, 187, 188, 189, 234, 256, 142,
- 213, 201, 168, 126, 214, 146, 125, 142, 173, 12,
- 137, 174, 164, 246, 210, 12, 16, 57, 118, 132,
- 137, 206, 254, 256, 150, 142, 238, 239, 151, 152,
- 253, 61, 62, 238, 61, 62, 124, 246, 12, 16,
- 57, 90, 118, 132, 137, 142, 165, 190, 192, 254,
- 127, 142, 142, 144, 144, 142, 142, 194, 32, 73,
- 85, 88, 91, 107, 193, 256, 246, 208, 242, 144,
- 210, 207, 144, 144, 181, 14, 204, 137, 207, 207,
- 207, 207, 207, 207, 128, 143, 199, 256, 146, 125,
- 128, 145, 127, 220, 221, 256, 145, 232, 10, 10,
- 10, 150, 255, 126, 253, 189, 253, 134, 125, 207,
- 169, 170, 192, 126, 146, 159, 3, 4, 5, 9,
- 10, 14, 47, 59, 64, 72, 73, 87, 89, 91,
- 96, 100, 103, 108, 111, 132, 135, 136, 140, 142,
- 147, 196, 197, 204, 205, 248, 249, 255, 256, 194,
- 137, 190, 194, 166, 192, 144, 206, 137, 206, 206,
- 206, 206, 206, 142, 143, 145, 176, 145, 240, 256,
- 124, 125, 124, 142, 126, 126, 145, 126, 126, 124,
- 202, 203, 246, 256, 126, 137, 190, 190, 6, 15,
- 16, 17, 18, 19, 20, 21, 22, 32, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 62, 87, 125, 128, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 142, 143, 147, 182, 190,
- 190, 190, 190, 127, 142, 143, 193, 128, 199, 201,
- 225, 244, 244, 244, 244, 144, 57, 212, 142, 124,
- 146, 142, 207, 199, 142, 142, 193, 207, 144, 246,
- 242, 246, 92, 93, 94, 112, 116, 222, 229, 252,
- 253, 124, 125, 150, 125, 144, 125, 125, 145, 144,
- 128, 207, 128, 161, 183, 184, 188, 128, 198, 256,
- 171, 192, 199, 201, 158, 142, 133, 133, 212, 133,
- 142, 133, 142, 246, 246, 246, 246, 214, 244, 246,
- 144, 14, 125, 15, 16, 17, 18, 19, 20, 21,
- 22, 32, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 141, 142, 143, 144, 190, 144, 144,
- 199, 201, 142, 206, 179, 242, 194, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 67, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 81, 85, 86, 87, 89, 90, 91,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 104, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143, 144, 146,
- 147, 241, 238, 152, 243, 243, 202, 145, 125, 190,
- 10, 144, 146, 144, 4, 191, 242, 246, 125, 144,
- 144, 144, 144, 181, 212, 209, 144, 253, 238, 194,
- 199, 194, 194, 142, 146, 125, 116, 252, 116, 252,
- 116, 252, 253, 92, 93, 94, 253, 150, 222, 145,
- 10, 126, 10, 10, 126, 214, 198, 214, 47, 59,
- 64, 96, 100, 103, 132, 135, 136, 137, 140, 142,
- 147, 245, 247, 199, 201, 125, 214, 214, 214, 142,
- 214, 214, 214, 214, 246, 144, 144, 14, 205, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
- 144, 244, 246, 181, 144, 142, 181, 125, 180, 194,
- 146, 144, 240, 145, 145, 144, 145, 124, 246, 196,
- 146, 165, 193, 209, 144, 145, 144, 144, 144, 194,
- 252, 252, 252, 252, 252, 252, 145, 144, 125, 144,
- 144, 142, 133, 133, 133, 142, 133, 245, 245, 245,
- 245, 245, 214, 244, 245, 15, 16, 17, 18, 19,
- 20, 21, 22, 32, 129, 130, 131, 132, 135, 136,
- 137, 138, 139, 141, 142, 143, 125, 170, 144, 134,
- 134, 243, 134, 144, 134, 144, 144, 246, 127, 144,
- 146, 142, 177, 166, 194, 144, 181, 145, 202, 144,
- 124, 181, 181, 181, 144, 126, 10, 126, 126, 214,
- 214, 214, 214, 214, 214, 144, 144, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
- 245, 245, 245, 245, 245, 245, 144, 244, 246, 171,
- 142, 142, 144, 142, 142, 246, 178, 194, 144, 181,
- 145, 181, 238, 193, 193, 193, 181, 125, 144, 134,
- 134, 134, 144, 134, 245, 127, 144, 146, 244, 244,
- 244, 244, 194, 144, 181, 145, 10, 142, 142, 142,
- 142, 245, 144, 144, 144, 144, 144, 181, 144, 244,
- 244, 244, 244, 181, 193, 126, 144, 144, 144, 144,
- 193
-};
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -3043,13 +2743,13 @@ do \
else \
{ \
yyerror (&yylloc, YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
+ YYERROR; \
+ } \
+while (0)
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
+#define YYTERROR 1
+#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
@@ -3059,7 +2759,7 @@ while (YYID (0))
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
- if (YYID (N)) \
+ if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
@@ -3073,12 +2773,27 @@ while (YYID (0))
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
- while (YYID (0))
+ while (0)
#endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
@@ -3088,36 +2803,28 @@ while (YYID (0))
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
-__attribute__((__unused__))
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
+YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
-#else
-static unsigned
-yy_location_print_ (yyo, yylocp)
- FILE *yyo;
- YYLTYPE const * const yylocp;
-#endif
{
unsigned res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
- res += fprintf (yyo, "%d", yylocp->first_line);
+ res += YYFPRINTF (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
- res += fprintf (yyo, ".%d", yylocp->first_column);
+ res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
- res += fprintf (yyo, "-%d", yylocp->last_line);
+ res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
- res += fprintf (yyo, ".%d", end_col);
+ res += YYFPRINTF (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
- res += fprintf (yyo, "-%d", end_col);
+ res += YYFPRINTF (yyo, "-%d", end_col);
}
return res;
}
@@ -3131,73 +2838,35 @@ yy_location_print_ (yyo, yylocp)
#endif
-/* YYLEX -- calling `yylex' with the right arguments. */
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
-#else
-# define YYLEX yylex (&yylval, &yylloc)
-#endif
-
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value, Location); \
- 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, Location); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- YYLTYPE const * const yylocationp;
-#endif
{
FILE *yyo = yyoutput;
YYUSE (yyo);
+ YYUSE (yylocationp);
if (!yyvaluep)
return;
- YYUSE (yylocationp);
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
# endif
- switch (yytype)
- {
- default:
- break;
- }
+ YYUSE (yytype);
}
@@ -3205,23 +2874,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
- YYLTYPE const * const yylocationp;
-#endif
{
- 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_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
@@ -3234,16 +2891,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
| TOP (included). |
`------------------------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
@@ -3254,50 +2903,42 @@ yy_stack_print (yybottom, yytop)
YYFPRINTF (stderr, "\n");
}
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
-yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
-#else
-static void
-yy_reduce_print (yyvsp, yylsp, yyrule)
- YYSTYPE *yyvsp;
- YYLTYPE *yylsp;
- int yyrule;
-#endif
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
{
+ unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
- unsigned long int yylno = yyrline[yyrule];
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
+ yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- , &(yylsp[(yyi + 1) - (yynrhs)]) );
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , &(yylsp[(yyi + 1) - (yynrhs)]) );
YYFPRINTF (stderr, "\n");
}
}
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, yylsp, Rule); \
-} while (YYID (0))
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
+} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -3311,7 +2952,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -3334,15 +2975,8 @@ int yydebug;
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
@@ -3358,16 +2992,8 @@ yystrlen (yystr)
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
{
char *yyd = yydest;
const char *yys = yysrc;
@@ -3397,27 +3023,27 @@ yytnamerr (char *yyres, const char *yystr)
char const *yyp = yystr;
for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
do_not_strip_quotes: ;
}
@@ -3440,11 +3066,11 @@ static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
- const char *yyformat = YY_NULL;
+ 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
@@ -3452,10 +3078,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
int yycount = 0;
/* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
-
- for details. YYERROR is fine as it does not invoke this
- function.
- 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
@@ -3505,7 +3127,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
}
yyarg[yycount++] = yytname[yyx];
{
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
@@ -3572,33 +3194,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep, yylocationp)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
- YYLTYPE *yylocationp;
-#endif
{
YYUSE (yyvaluep);
YYUSE (yylocationp);
-
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
}
@@ -3608,66 +3215,27 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
| yyparse. |
`----------*/
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
int
yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
{
/* The lookahead symbol. */
int yychar;
-#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
+/* The semantic value of the lookahead symbol. */
/* Default value used for initialization, for pacifying older GCCs
or non-GCC compilers. */
-static YYSTYPE yyval_default;
-# define YY_INITIAL_VALUE(Value) = Value
-#endif
+YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
+YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
+
+/* Location data for the lookahead symbol. */
static YYLTYPE yyloc_default
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
= { 1, 1, 1, 1 }
# 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
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
-
-/* Location data for the lookahead symbol. */
YYLTYPE yylloc = yyloc_default;
-
/* Number of syntax errors so far. */
int yynerrs;
@@ -3676,9 +3244,9 @@ YYLTYPE yylloc = yyloc_default;
int yyerrstatus;
/* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
- `yyls': related to locations.
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
+ 'yyls': related to locations.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
@@ -3757,26 +3325,26 @@ YYLTYPE yylloc = yyloc_default;
#ifdef yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
- YYLTYPE *yyls1 = yyls;
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+ YYLTYPE *yyls1 = yyls;
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yyls1, yysize * sizeof (*yylsp),
- &yystacksize);
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yyls1, yysize * sizeof (*yylsp),
+ &yystacksize);
- yyls = yyls1;
- yyss = yyss1;
- yyvs = yyvs1;
+ yyls = yyls1;
+ yyss = yyss1;
+ yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
@@ -3784,23 +3352,23 @@ YYLTYPE yylloc = yyloc_default;
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
+ goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
+ yystacksize = YYMAXDEPTH;
{
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
- YYSTACK_RELOCATE (yyls_alloc, yyls);
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
@@ -3810,10 +3378,10 @@ YYLTYPE yylloc = yyloc_default;
yylsp = yyls + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
+ (unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
+ YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
@@ -3842,7 +3410,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex (&yylval, &yylloc);
}
if (yychar <= YYEOF)
@@ -3907,7 +3475,7 @@ yyreduce:
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
+ '$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
@@ -3922,57 +3490,56 @@ yyreduce:
switch (yyn)
{
case 3:
-/* Line 1792 of yacc.c */
-#line 423 "dtool/src/cppparser/cppBison.yxx"
+#line 424 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_expr = (yyvsp[(2) - (2)].u.expr);
+ current_expr = (yyvsp[0].u.expr);
}
+#line 3498 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 4:
-/* Line 1792 of yacc.c */
-#line 427 "dtool/src/cppparser/cppBison.yxx"
+#line 428 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_type = (yyvsp[(2) - (2)].u.type);
+ current_type = (yyvsp[0].u.type);
}
+#line 3506 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 10:
-/* Line 1792 of yacc.c */
-#line 445 "dtool/src/cppparser/cppBison.yxx"
+#line 446 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- delete (yyvsp[(3) - (4)].u.expr);
+ delete (yyvsp[-1].u.expr);
}
+#line 3514 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 11:
-/* Line 1792 of yacc.c */
-#line 449 "dtool/src/cppparser/cppBison.yxx"
+#line 450 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- delete (yyvsp[(3) - (4)].u.expr);
+ delete (yyvsp[-1].u.expr);
}
+#line 3522 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 12:
-/* Line 1792 of yacc.c */
-#line 461 "dtool/src/cppparser/cppBison.yxx"
+#line 462 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) |
- ((yyvsp[(1) - (2)].u.integer) & CPPInstance::SC_c_binding));
+ ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding));
}
+#line 3531 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 13:
-/* Line 1792 of yacc.c */
-#line 466 "dtool/src/cppparser/cppBison.yxx"
+#line 467 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 3539 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 21:
-/* Line 1792 of yacc.c */
-#line 480 "dtool/src/cppparser/cppBison.yxx"
+#line 481 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
if (publish_nest_level != 0) {
yyerror("Unclosed __begin_publish", publish_loc);
@@ -3981,36 +3548,36 @@ yyreduce:
}
publish_previous = current_scope->get_current_vis();
- publish_loc = (yylsp[(1) - (1)]);
+ publish_loc = (yylsp[0]);
publish_nest_level++;
current_scope->set_current_vis(V_published);
}
+#line 3556 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 22:
-/* Line 1792 of yacc.c */
-#line 493 "dtool/src/cppparser/cppBison.yxx"
+#line 494 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
if (publish_nest_level != 1) {
- yyerror("Unmatched __end_publish", (yylsp[(1) - (1)]));
+ yyerror("Unmatched __end_publish", (yylsp[0]));
} else {
current_scope->set_current_vis(publish_previous);
}
publish_nest_level = 0;
}
+#line 3569 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 23:
-/* Line 1792 of yacc.c */
-#line 502 "dtool/src/cppparser/cppBison.yxx"
+#line 503 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_published);
}
+#line 3577 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 24:
-/* Line 1792 of yacc.c */
-#line 506 "dtool/src/cppparser/cppBison.yxx"
+#line 507 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
if (publish_nest_level > 0) {
current_scope->set_current_vis(V_published);
@@ -4018,621 +3585,621 @@ yyreduce:
current_scope->set_current_vis(V_public);
}
}
+#line 3589 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 25:
-/* Line 1792 of yacc.c */
-#line 514 "dtool/src/cppparser/cppBison.yxx"
+#line 515 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_protected);
}
+#line 3597 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 26:
-/* Line 1792 of yacc.c */
-#line 518 "dtool/src/cppparser/cppBison.yxx"
+#line 519 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_private);
}
+#line 3605 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 27:
-/* Line 1792 of yacc.c */
-#line 522 "dtool/src/cppparser/cppBison.yxx"
+#line 523 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPDeclaration *getter = (yyvsp[(5) - (7)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (7)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (7)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
}
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[(3) - (7)].u.identifier), getter->as_function_group(), NULL, current_scope, (yylsp[(1) - (7)]).file);
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[(1) - (7)]));
+ CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-4].u.identifier), getter->as_function_group(), NULL, current_scope, (yylsp[-6]).file);
+ current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6]));
}
+#line 3620 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 28:
-/* Line 1792 of yacc.c */
-#line 533 "dtool/src/cppparser/cppBison.yxx"
+#line 534 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPDeclaration *getter = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
} else {
- CPPDeclaration *setter = (yyvsp[(7) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *setter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
CPPFunctionGroup *setter_func = NULL;
if (setter == (CPPDeclaration *)NULL || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(7) - (9)]));
+ yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
} else {
setter_func = setter->as_function_group();
}
- CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[(3) - (9)].u.identifier), getter->as_function_group(),
- setter_func, current_scope, (yylsp[(1) - (9)]).file);
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[(1) - (9)]));
+ CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[-6].u.identifier), getter->as_function_group(),
+ setter_func, current_scope, (yylsp[-8]).file);
+ current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8]));
}
}
+#line 3645 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 29:
-/* Line 1792 of yacc.c */
-#line 554 "dtool/src/cppparser/cppBison.yxx"
+#line 555 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPDeclaration *hasser = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *hasser = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid has-function: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)]));
+ yyerror("Reference to non-existent or invalid has-function: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
}
- CPPDeclaration *getter = (yyvsp[(7) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(7) - (9)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
}
if (hasser && getter) {
CPPMakeProperty *make_property;
- make_property = new CPPMakeProperty((yyvsp[(3) - (9)].u.identifier),
+ make_property = new CPPMakeProperty((yyvsp[-6].u.identifier),
hasser->as_function_group(),
getter->as_function_group(),
NULL, NULL,
- current_scope, (yylsp[(1) - (9)]).file);
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[(1) - (9)]));
+ current_scope, (yylsp[-8]).file);
+ current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8]));
}
}
+#line 3671 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 30:
-/* Line 1792 of yacc.c */
-#line 576 "dtool/src/cppparser/cppBison.yxx"
+#line 577 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPDeclaration *hasser = (yyvsp[(5) - (13)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *hasser = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid has-function: " + (yyvsp[(5) - (13)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (13)]));
+ yyerror("Reference to non-existent or invalid has-function: " + (yyvsp[-8].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
}
- CPPDeclaration *getter = (yyvsp[(7) - (13)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(7) - (13)].u.identifier)->get_fully_scoped_name(), (yylsp[(7) - (13)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-6].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
}
- CPPDeclaration *setter = (yyvsp[(9) - (13)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *setter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (setter == (CPPDeclaration *)NULL || setter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid setter: " + (yyvsp[(9) - (13)].u.identifier)->get_fully_scoped_name(), (yylsp[(9) - (13)]));
+ yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
}
- CPPDeclaration *clearer = (yyvsp[(11) - (13)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *clearer = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (clearer == (CPPDeclaration *)NULL || clearer->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("Reference to non-existent or invalid clear-function: " + (yyvsp[(11) - (13)].u.identifier)->get_fully_scoped_name(), (yylsp[(11) - (13)]));
+ yyerror("Reference to non-existent or invalid clear-function: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
}
if (hasser && getter && setter && clearer) {
CPPMakeProperty *make_property;
- make_property = new CPPMakeProperty((yyvsp[(3) - (13)].u.identifier),
+ make_property = new CPPMakeProperty((yyvsp[-10].u.identifier),
hasser->as_function_group(),
getter->as_function_group(),
setter->as_function_group(),
clearer->as_function_group(),
- current_scope, (yylsp[(1) - (13)]).file);
- current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[(1) - (13)]));
+ current_scope, (yylsp[-12]).file);
+ current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12]));
}
}
+#line 3708 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 31:
-/* Line 1792 of yacc.c */
-#line 609 "dtool/src/cppparser/cppBison.yxx"
+#line 610 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPDeclaration *length_getter = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid length method: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)]));
+ yyerror("reference to non-existent or invalid length method: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
length_getter = NULL;
}
- CPPDeclaration *element_getter = (yyvsp[(7) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ CPPDeclaration *element_getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (element_getter == (CPPDeclaration *)NULL || element_getter->get_subtype() != CPPDeclaration::ST_function_group) {
- yyerror("reference to non-existent or invalid element method: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)]));
+ yyerror("reference to non-existent or invalid element method: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-4]));
element_getter = NULL;
}
if (length_getter != (CPPDeclaration *)NULL && element_getter != (CPPDeclaration *)NULL) {
- CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[(3) - (9)].u.identifier),
+ CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[-6].u.identifier),
length_getter->as_function_group(),
element_getter->as_function_group(),
- current_scope, (yylsp[(1) - (9)]).file);
- current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[(1) - (9)]));
+ current_scope, (yylsp[-8]).file);
+ current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8]));
}
}
+#line 3734 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 32:
-/* Line 1792 of yacc.c */
-#line 631 "dtool/src/cppparser/cppBison.yxx"
+#line 632 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPExpression::Result result = (yyvsp[(3) - (7)].u.expr)->evaluate();
+ CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate();
if (result._type == CPPExpression::RT_error) {
- yywarning("static_assert requires a constant expression", (yylsp[(3) - (7)]));
+ yywarning("static_assert requires a constant expression", (yylsp[-4]));
} else if (!result.as_boolean()) {
stringstream str;
- str << *(yyvsp[(5) - (7)].u.expr);
- yywarning("static_assert failed: " + str.str(), (yylsp[(3) - (7)]));
+ str << *(yyvsp[-2].u.expr);
+ yywarning("static_assert failed: " + str.str(), (yylsp[-4]));
}
}
+#line 3749 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 33:
-/* Line 1792 of yacc.c */
-#line 642 "dtool/src/cppparser/cppBison.yxx"
+#line 643 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// This alternative version of static_assert was introduced in C++17.
- CPPExpression::Result result = (yyvsp[(3) - (5)].u.expr)->evaluate();
+ CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate();
if (result._type == CPPExpression::RT_error) {
- yywarning("static_assert requires a constant expression", (yylsp[(3) - (5)]));
+ yywarning("static_assert requires a constant expression", (yylsp[-2]));
} else if (!result.as_boolean()) {
- yywarning("static_assert failed", (yylsp[(3) - (5)]));
+ yywarning("static_assert failed", (yylsp[-2]));
}
}
+#line 3763 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 34:
-/* Line 1792 of yacc.c */
-#line 655 "dtool/src/cppparser/cppBison.yxx"
+#line 656 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"),
V_public);
push_scope(new_scope);
}
+#line 3773 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 35:
-/* Line 1792 of yacc.c */
-#line 661 "dtool/src/cppparser/cppBison.yxx"
+#line 662 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
delete current_scope;
pop_scope();
}
+#line 3782 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 36:
-/* Line 1792 of yacc.c */
-#line 670 "dtool/src/cppparser/cppBison.yxx"
+#line 671 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = 0;
}
+#line 3790 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 37:
-/* Line 1792 of yacc.c */
-#line 674 "dtool/src/cppparser/cppBison.yxx"
+#line 675 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extern;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
}
+#line 3798 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 38:
-/* Line 1792 of yacc.c */
-#line 678 "dtool/src/cppparser/cppBison.yxx"
+#line 679 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(3) - (3)].u.integer) | (int)CPPInstance::SC_extern;
- if ((yyvsp[(2) - (3)].str) == "C") {
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
+ if ((yyvsp[-1].str) == "C") {
(yyval.u.integer) |= (int)CPPInstance::SC_c_binding;
- } else if ((yyvsp[(2) - (3)].str) == "C++") {
+ } else if ((yyvsp[-1].str) == "C++") {
(yyval.u.integer) &= ~(int)CPPInstance::SC_c_binding;
} else {
- yywarning("Ignoring unknown linkage type \"" + (yyvsp[(2) - (3)].str) + "\"", (yylsp[(2) - (3)]));
+ yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1]));
}
}
+#line 3813 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 39:
-/* Line 1792 of yacc.c */
-#line 689 "dtool/src/cppparser/cppBison.yxx"
+#line 690 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_static;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static;
}
+#line 3821 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 40:
-/* Line 1792 of yacc.c */
-#line 693 "dtool/src/cppparser/cppBison.yxx"
+#line 694 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_inline;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline;
}
+#line 3829 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 41:
-/* Line 1792 of yacc.c */
-#line 697 "dtool/src/cppparser/cppBison.yxx"
+#line 698 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_virtual;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual;
}
+#line 3837 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 42:
-/* Line 1792 of yacc.c */
-#line 701 "dtool/src/cppparser/cppBison.yxx"
+#line 702 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_explicit;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit;
}
+#line 3845 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 43:
-/* Line 1792 of yacc.c */
-#line 705 "dtool/src/cppparser/cppBison.yxx"
+#line 706 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_register;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register;
}
+#line 3853 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 44:
-/* Line 1792 of yacc.c */
-#line 709 "dtool/src/cppparser/cppBison.yxx"
+#line 710 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_volatile;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile;
}
+#line 3861 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 45:
-/* Line 1792 of yacc.c */
-#line 713 "dtool/src/cppparser/cppBison.yxx"
+#line 714 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_mutable;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable;
}
+#line 3869 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 46:
-/* Line 1792 of yacc.c */
-#line 717 "dtool/src/cppparser/cppBison.yxx"
+#line 718 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_constexpr;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr;
}
+#line 3877 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 47:
-/* Line 1792 of yacc.c */
-#line 721 "dtool/src/cppparser/cppBison.yxx"
+#line 722 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_blocking;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking;
}
+#line 3885 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 48:
-/* Line 1792 of yacc.c */
-#line 725 "dtool/src/cppparser/cppBison.yxx"
+#line 726 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extension;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension;
}
+#line 3893 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 49:
-/* Line 1792 of yacc.c */
-#line 729 "dtool/src/cppparser/cppBison.yxx"
+#line 730 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_thread_local;
+ (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local;
}
+#line 3901 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 50:
-/* Line 1792 of yacc.c */
-#line 733 "dtool/src/cppparser/cppBison.yxx"
+#line 734 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// Ignore attribute specifiers for now.
- (yyval.u.integer) = (yyvsp[(6) - (6)].u.integer);
+ (yyval.u.integer) = (yyvsp[0].u.integer);
}
+#line 3910 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 55:
-/* Line 1792 of yacc.c */
-#line 751 "dtool/src/cppparser/cppBison.yxx"
+#line 752 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
/* multiple_var_declaration adds itself to the scope. */
}
+#line 3918 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 56:
-/* Line 1792 of yacc.c */
-#line 755 "dtool/src/cppparser/cppBison.yxx"
+#line 756 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We don't really care about the storage class here. In fact, it's
// not actually legal to define a class or struct using a particular
// storage class, but we require it just to help yacc out in its
// parsing.
- current_scope->add_declaration((yyvsp[(2) - (3)].u.decl), global_scope, current_lexer, (yylsp[(2) - (3)]));
+ current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1]));
}
+#line 3931 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 57:
-/* Line 1792 of yacc.c */
-#line 764 "dtool/src/cppparser/cppBison.yxx"
+#line 765 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (3)].u.instance) != (CPPInstance *)NULL) {
- (yyvsp[(2) - (3)].u.instance)->_storage_class |= (current_storage_class | (yyvsp[(1) - (3)].u.integer));
- current_scope->add_declaration((yyvsp[(2) - (3)].u.instance), global_scope, current_lexer, (yylsp[(2) - (3)]));
- (yyvsp[(2) - (3)].u.instance)->set_initializer((yyvsp[(3) - (3)].u.expr));
+ if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
+ (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
+ current_scope->add_declaration((yyvsp[-1].u.instance), global_scope, current_lexer, (yylsp[-1]));
+ (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr));
}
}
+#line 3943 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 58:
-/* Line 1792 of yacc.c */
-#line 772 "dtool/src/cppparser/cppBison.yxx"
+#line 773 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (3)].u.instance) != (CPPInstance *)NULL) {
- (yyvsp[(2) - (3)].u.instance)->_storage_class |= (current_storage_class | (yyvsp[(1) - (3)].u.integer));
- current_scope->add_declaration((yyvsp[(2) - (3)].u.instance), global_scope, current_lexer, (yylsp[(2) - (3)]));
- (yyvsp[(2) - (3)].u.instance)->set_initializer((yyvsp[(3) - (3)].u.expr));
+ if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
+ (yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
+ current_scope->add_declaration((yyvsp[-1].u.instance), global_scope, current_lexer, (yylsp[-1]));
+ (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr));
}
}
+#line 3955 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 59:
-/* Line 1792 of yacc.c */
-#line 783 "dtool/src/cppparser/cppBison.yxx"
+#line 784 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We don't need to push/pop type, because we can't nest
// multiple_var_declarations.
- if ((yyvsp[(2) - (2)].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type_declaration()->_type;
+ if ((yyvsp[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
} else {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type();
+ current_type = (yyvsp[0].u.decl)->as_type();
}
- push_storage_class((yyvsp[(1) - (2)].u.integer));
+ push_storage_class((yyvsp[-1].u.integer));
}
+#line 3970 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 60:
-/* Line 1792 of yacc.c */
-#line 794 "dtool/src/cppparser/cppBison.yxx"
+#line 795 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 3978 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 61:
-/* Line 1792 of yacc.c */
-#line 798 "dtool/src/cppparser/cppBison.yxx"
+#line 799 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We don't need to push/pop type, because we can't nest
// multiple_var_declarations.
- if ((yyvsp[(3) - (3)].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[(3) - (3)].u.decl)->as_type_declaration()->_type;
+ if ((yyvsp[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
} else {
- current_type = (yyvsp[(3) - (3)].u.decl)->as_type();
+ current_type = (yyvsp[0].u.decl)->as_type();
}
- push_storage_class((yyvsp[(1) - (3)].u.integer));
+ push_storage_class((yyvsp[-2].u.integer));
}
+#line 3993 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 62:
-/* Line 1792 of yacc.c */
-#line 809 "dtool/src/cppparser/cppBison.yxx"
+#line 810 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 4001 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 63:
-/* Line 1792 of yacc.c */
-#line 820 "dtool/src/cppparser/cppBison.yxx"
+#line 821 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident),
+ CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-1].u.inst_ident),
current_storage_class,
- (yylsp[(1) - (2)]).file);
- inst->set_initializer((yyvsp[(2) - (2)].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (2)]));
+ (yylsp[-1]).file);
+ inst->set_initializer((yyvsp[0].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
}
+#line 4013 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 64:
-/* Line 1792 of yacc.c */
-#line 828 "dtool/src/cppparser/cppBison.yxx"
+#line 829 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident),
+ CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-3].u.inst_ident),
current_storage_class,
- (yylsp[(1) - (4)]).file);
- inst->set_initializer((yyvsp[(2) - (4)].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (4)]));
+ (yylsp[-3]).file);
+ inst->set_initializer((yyvsp[-2].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3]));
}
+#line 4025 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 65:
-/* Line 1792 of yacc.c */
-#line 839 "dtool/src/cppparser/cppBison.yxx"
+#line 840 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident),
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
+ CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-1].u.inst_ident),
current_storage_class,
- (yylsp[(1) - (2)]).file);
- inst->set_initializer((yyvsp[(2) - (2)].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (2)]));
+ (yylsp[-1]).file);
+ inst->set_initializer((yyvsp[0].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
}
+#line 4038 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 66:
-/* Line 1792 of yacc.c */
-#line 848 "dtool/src/cppparser/cppBison.yxx"
+#line 849 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident),
+ (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
+ CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-3].u.inst_ident),
current_storage_class,
- (yylsp[(1) - (4)]).file);
- inst->set_initializer((yyvsp[(2) - (4)].u.expr));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (4)]));
+ (yylsp[-3]).file);
+ inst->set_initializer((yyvsp[-2].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3]));
}
+#line 4051 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 67:
-/* Line 1792 of yacc.c */
-#line 861 "dtool/src/cppparser/cppBison.yxx"
+#line 862 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We don't need to push/pop type, because we can't nest
// multiple_var_declarations.
- if ((yyvsp[(2) - (2)].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type_declaration()->_type;
+ if ((yyvsp[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
} else {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type();
+ current_type = (yyvsp[0].u.decl)->as_type();
}
- push_storage_class((yyvsp[(1) - (2)].u.integer));
+ push_storage_class((yyvsp[-1].u.integer));
}
+#line 4066 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 68:
-/* Line 1792 of yacc.c */
-#line 872 "dtool/src/cppparser/cppBison.yxx"
+#line 873 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 4074 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 69:
-/* Line 1792 of yacc.c */
-#line 876 "dtool/src/cppparser/cppBison.yxx"
+#line 877 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We don't need to push/pop type, because we can't nest
// multiple_var_declarations.
- if ((yyvsp[(3) - (3)].u.decl)->as_type_declaration()) {
- current_type = (yyvsp[(3) - (3)].u.decl)->as_type_declaration()->_type;
+ if ((yyvsp[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
} else {
- current_type = (yyvsp[(3) - (3)].u.decl)->as_type();
+ current_type = (yyvsp[0].u.decl)->as_type();
}
- push_storage_class((yyvsp[(1) - (3)].u.integer));
+ push_storage_class((yyvsp[-2].u.integer));
}
+#line 4089 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 70:
-/* Line 1792 of yacc.c */
-#line 887 "dtool/src/cppparser/cppBison.yxx"
+#line 888 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 4097 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 71:
-/* Line 1792 of yacc.c */
-#line 891 "dtool/src/cppparser/cppBison.yxx"
+#line 892 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (3)].u.instance) != (CPPDeclaration *)NULL) {
- CPPInstance *inst = (yyvsp[(2) - (3)].u.instance)->as_instance();
+ if ((yyvsp[-1].u.instance) != (CPPDeclaration *)NULL) {
+ CPPInstance *inst = (yyvsp[-1].u.instance)->as_instance();
if (inst != (CPPInstance *)NULL) {
- inst->_storage_class |= (current_storage_class | (yyvsp[(1) - (3)].u.integer));
- current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(2) - (3)]));
+ inst->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
CPPTypedefType *typedef_type = new CPPTypedefType(inst->_type, inst->_ident, current_scope);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(2) - (3)]));
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1]));
}
}
}
+#line 4113 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 72:
-/* Line 1792 of yacc.c */
-#line 906 "dtool/src/cppparser/cppBison.yxx"
+#line 907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (2)]));
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file);
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1]));
}
+#line 4123 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 73:
-/* Line 1792 of yacc.c */
-#line 912 "dtool/src/cppparser/cppBison.yxx"
+#line 913 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (4)]));
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file);
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3]));
}
+#line 4133 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 74:
-/* Line 1792 of yacc.c */
-#line 921 "dtool/src/cppparser/cppBison.yxx"
+#line 922 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const);
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (2)]));
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file);
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1]));
}
+#line 4144 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 75:
-/* Line 1792 of yacc.c */
-#line 928 "dtool/src/cppparser/cppBison.yxx"
+#line 929 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const);
+ (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file);
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (4)]));
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file);
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3]));
}
+#line 4155 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 76:
-/* Line 1792 of yacc.c */
-#line 940 "dtool/src/cppparser/cppBison.yxx"
+#line 941 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
}
+#line 4163 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 77:
-/* Line 1792 of yacc.c */
-#line 944 "dtool/src/cppparser/cppBison.yxx"
+#line 945 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type;
- if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name() ||
- (yyvsp[(1) - (6)].u.identifier)->get_simple_name() == string("~") + current_scope->get_simple_name()) {
+ if ((yyvsp[-5].u.identifier)->get_simple_name() == current_scope->get_simple_name() ||
+ (yyvsp[-5].u.identifier)->get_simple_name() == string("~") + current_scope->get_simple_name()) {
// This is a constructor, and has no return.
type = new CPPSimpleType(CPPSimpleType::T_void);
} else {
// This isn't a constructor, so it has an implicit return type of
// int.
- yywarning("function has no return type, assuming int", (yylsp[(1) - (6)]));
+ yywarning("function has no return type, assuming int", (yylsp[-5]));
type = new CPPSimpleType(CPPSimpleType::T_int);
}
pop_scope();
- CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier));
- ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer));
+ CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[-5].u.identifier));
+ ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file);
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
}
+#line 4187 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 78:
-/* Line 1792 of yacc.c */
-#line 964 "dtool/src/cppparser/cppBison.yxx"
+#line 965 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
}
+#line 4195 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 79:
-/* Line 1792 of yacc.c */
-#line 968 "dtool/src/cppparser/cppBison.yxx"
+#line 969 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
CPPType *type;
- if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name()) {
+ if ((yyvsp[-5].u.identifier)->get_simple_name() == current_scope->get_simple_name()) {
// This is a constructor, and has no return.
type = new CPPSimpleType(CPPSimpleType::T_void);
} else {
@@ -4641,111 +4208,111 @@ yyreduce:
type = new CPPSimpleType(CPPSimpleType::T_int);
}
- CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier));
- ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer));
+ CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[-5].u.identifier));
+ ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file);
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
}
+#line 4217 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 80:
-/* Line 1792 of yacc.c */
-#line 991 "dtool/src/cppparser/cppBison.yxx"
+#line 992 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
}
+#line 4225 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 81:
-/* Line 1792 of yacc.c */
-#line 995 "dtool/src/cppparser/cppBison.yxx"
+#line 996 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
- if ((yyvsp[(2) - (7)].u.identifier)->is_scoped()) {
- yyerror("Invalid destructor name: ~" + (yyvsp[(2) - (7)].u.identifier)->get_fully_scoped_name(), (yylsp[(2) - (7)]));
+ if ((yyvsp[-5].u.identifier)->is_scoped()) {
+ yyerror("Invalid destructor name: ~" + (yyvsp[-5].u.identifier)->get_fully_scoped_name(), (yylsp[-5]));
} else {
CPPIdentifier *ident =
- new CPPIdentifier("~" + (yyvsp[(2) - (7)].u.identifier)->get_simple_name(), (yylsp[(2) - (7)]));
- delete (yyvsp[(2) - (7)].u.identifier);
+ new CPPIdentifier("~" + (yyvsp[-5].u.identifier)->get_simple_name(), (yylsp[-5]));
+ delete (yyvsp[-5].u.identifier);
CPPType *type;
type = new CPPSimpleType(CPPSimpleType::T_void);
CPPInstanceIdentifier *ii = new CPPInstanceIdentifier(ident);
- ii->add_func_modifier((yyvsp[(5) - (7)].u.param_list), (yyvsp[(7) - (7)].u.integer));
+ ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(2) - (7)]).file);
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file);
}
}
+#line 4248 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 82:
-/* Line 1792 of yacc.c */
-#line 1021 "dtool/src/cppparser/cppBison.yxx"
+#line 1022 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(4) - (6)].u.inst_ident)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope));
}
+#line 4256 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 83:
-/* Line 1792 of yacc.c */
-#line 1025 "dtool/src/cppparser/cppBison.yxx"
+#line 1026 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
- CPPType *type = (yyvsp[(1) - (11)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[-10].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (11)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (11)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[-10].u.identifier)->get_fully_scoped_name(), (yylsp[-10]));
}
assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[(4) - (11)].u.inst_ident);
+ CPPInstanceIdentifier *ii = (yyvsp[-7].u.inst_ident);
ii->add_modifier(IIT_pointer);
- ii->add_func_modifier((yyvsp[(8) - (11)].u.param_list), (yyvsp[(10) - (11)].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (11)]).file);
+ ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer));
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-10]).file);
}
+#line 4274 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 84:
-/* Line 1792 of yacc.c */
-#line 1039 "dtool/src/cppparser/cppBison.yxx"
+#line 1040 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(5) - (7)].u.inst_ident)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope));
}
+#line 4282 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 85:
-/* Line 1792 of yacc.c */
-#line 1043 "dtool/src/cppparser/cppBison.yxx"
+#line 1044 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
- CPPType *type = (yyvsp[(1) - (12)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[-11].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (12)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (12)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[-11].u.identifier)->get_fully_scoped_name(), (yylsp[-11]));
}
assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[(5) - (12)].u.inst_ident);
- ii->add_scoped_pointer_modifier((yyvsp[(3) - (12)].u.identifier));
- ii->add_func_modifier((yyvsp[(9) - (12)].u.param_list), (yyvsp[(11) - (12)].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (12)]).file);
+ CPPInstanceIdentifier *ii = (yyvsp[-7].u.inst_ident);
+ ii->add_scoped_pointer_modifier((yyvsp[-9].u.identifier));
+ ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer));
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file);
}
+#line 4300 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 86:
-/* Line 1792 of yacc.c */
-#line 1059 "dtool/src/cppparser/cppBison.yxx"
+#line 1060 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (4)].u.identifier) != NULL) {
- push_scope((yyvsp[(1) - (4)].u.identifier)->get_scope(current_scope, global_scope));
+ if ((yyvsp[-3].u.identifier) != NULL) {
+ push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope));
}
}
+#line 4310 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 87:
-/* Line 1792 of yacc.c */
-#line 1065 "dtool/src/cppparser/cppBison.yxx"
+#line 1066 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (8)].u.identifier) != NULL) {
+ if ((yyvsp[-7].u.identifier) != NULL) {
pop_scope();
}
@@ -4758,3861 +4325,3909 @@ yyreduce:
// We give typecast operators the name "operator typecast ",
// where is a simple name of the type to be typecast. Use
// the method's return type to determine the full type description.
- string name = "operator typecast " + (yyvsp[(2) - (8)].u.type)->get_simple_name();
- CPPIdentifier *ident = (yyvsp[(1) - (8)].u.identifier);
+ string name = "operator typecast " + (yyvsp[-6].u.type)->get_simple_name();
+ CPPIdentifier *ident = (yyvsp[-7].u.identifier);
if (ident == NULL) {
- ident = new CPPIdentifier(name, (yylsp[(2) - (8)]));
+ ident = new CPPIdentifier(name, (yylsp[-6]));
} else {
ident->add_name(name);
}
(yyval.u.instance) = CPPInstance::make_typecast_function
- (new CPPInstance((yyvsp[(2) - (8)].u.type), (yyvsp[(3) - (8)].u.inst_ident), 0, (yylsp[(3) - (8)]).file), ident, (yyvsp[(6) - (8)].u.param_list), (yyvsp[(8) - (8)].u.integer));
+ (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
}
+#line 4339 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 88:
-/* Line 1792 of yacc.c */
-#line 1090 "dtool/src/cppparser/cppBison.yxx"
+#line 1091 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (5)].u.identifier) != NULL) {
- push_scope((yyvsp[(1) - (5)].u.identifier)->get_scope(current_scope, global_scope));
+ if ((yyvsp[-4].u.identifier) != NULL) {
+ push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope));
}
}
+#line 4349 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 89:
-/* Line 1792 of yacc.c */
-#line 1096 "dtool/src/cppparser/cppBison.yxx"
+#line 1097 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (9)].u.identifier) != NULL) {
+ if ((yyvsp[-8].u.identifier) != NULL) {
pop_scope();
}
- CPPIdentifier *ident = (yyvsp[(1) - (9)].u.identifier);
+ CPPIdentifier *ident = (yyvsp[-8].u.identifier);
if (ident == NULL) {
- ident = new CPPIdentifier("operator typecast", (yylsp[(4) - (9)]));
+ ident = new CPPIdentifier("operator typecast", (yylsp[-5]));
} else {
ident->add_name("operator typecast");
}
- (yyvsp[(4) - (9)].u.inst_ident)->add_modifier(IIT_const);
+ (yyvsp[-5].u.inst_ident)->add_modifier(IIT_const);
(yyval.u.instance) = CPPInstance::make_typecast_function
- (new CPPInstance((yyvsp[(3) - (9)].u.type), (yyvsp[(4) - (9)].u.inst_ident), 0, (yylsp[(4) - (9)]).file), ident, (yyvsp[(7) - (9)].u.param_list), (yyvsp[(9) - (9)].u.integer));
+ (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
}
+#line 4369 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 90:
-/* Line 1792 of yacc.c */
-#line 1116 "dtool/src/cppparser/cppBison.yxx"
+#line 1117 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPDeclaration *decl =
- (yyvsp[(1) - (1)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
+ (yyvsp[0].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
if (decl != (CPPDeclaration *)NULL) {
(yyval.u.instance) = decl->as_instance();
} else {
(yyval.u.instance) = (CPPInstance *)NULL;
}
}
+#line 4383 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 91:
-/* Line 1792 of yacc.c */
-#line 1129 "dtool/src/cppparser/cppBison.yxx"
+#line 1130 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = 0;
}
+#line 4391 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 92:
-/* Line 1792 of yacc.c */
-#line 1133 "dtool/src/cppparser/cppBison.yxx"
+#line 1134 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_const_method;
}
+#line 4399 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 93:
-/* Line 1792 of yacc.c */
-#line 1137 "dtool/src/cppparser/cppBison.yxx"
+#line 1138 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_noexcept;
}
+#line 4407 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 94:
-/* Line 1792 of yacc.c */
-#line 1141 "dtool/src/cppparser/cppBison.yxx"
+#line 1142 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_final;
}
+#line 4415 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 95:
-/* Line 1792 of yacc.c */
-#line 1145 "dtool/src/cppparser/cppBison.yxx"
+#line 1146 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_override;
}
+#line 4423 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 96:
-/* Line 1792 of yacc.c */
-#line 1149 "dtool/src/cppparser/cppBison.yxx"
+#line 1150 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// Used for lambdas, currently ignored.
(yyval.u.integer) = 0;
}
+#line 4432 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 97:
-/* Line 1792 of yacc.c */
-#line 1154 "dtool/src/cppparser/cppBison.yxx"
+#line 1155 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (4)].u.integer);
+ (yyval.u.integer) = (yyvsp[-3].u.integer);
}
+#line 4440 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 98:
-/* Line 1792 of yacc.c */
-#line 1158 "dtool/src/cppparser/cppBison.yxx"
+#line 1159 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (5)].u.integer);
+ (yyval.u.integer) = (yyvsp[-4].u.integer);
}
+#line 4448 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 99:
-/* Line 1792 of yacc.c */
-#line 1169 "dtool/src/cppparser/cppBison.yxx"
+#line 1170 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "!";
}
+#line 4456 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 100:
-/* Line 1792 of yacc.c */
-#line 1173 "dtool/src/cppparser/cppBison.yxx"
+#line 1174 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "~";
}
+#line 4464 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 101:
-/* Line 1792 of yacc.c */
-#line 1177 "dtool/src/cppparser/cppBison.yxx"
+#line 1178 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "*";
}
+#line 4472 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 102:
-/* Line 1792 of yacc.c */
-#line 1181 "dtool/src/cppparser/cppBison.yxx"
+#line 1182 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "/";
}
+#line 4480 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 103:
-/* Line 1792 of yacc.c */
-#line 1185 "dtool/src/cppparser/cppBison.yxx"
+#line 1186 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "%";
}
+#line 4488 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 104:
-/* Line 1792 of yacc.c */
-#line 1189 "dtool/src/cppparser/cppBison.yxx"
+#line 1190 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "+";
}
+#line 4496 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 105:
-/* Line 1792 of yacc.c */
-#line 1193 "dtool/src/cppparser/cppBison.yxx"
+#line 1194 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "-";
}
+#line 4504 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 106:
-/* Line 1792 of yacc.c */
-#line 1197 "dtool/src/cppparser/cppBison.yxx"
+#line 1198 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "|";
}
+#line 4512 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 107:
-/* Line 1792 of yacc.c */
-#line 1201 "dtool/src/cppparser/cppBison.yxx"
+#line 1202 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&";
}
+#line 4520 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 108:
-/* Line 1792 of yacc.c */
-#line 1205 "dtool/src/cppparser/cppBison.yxx"
+#line 1206 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "^";
}
+#line 4528 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 109:
-/* Line 1792 of yacc.c */
-#line 1209 "dtool/src/cppparser/cppBison.yxx"
+#line 1210 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "||";
}
+#line 4536 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 110:
-/* Line 1792 of yacc.c */
-#line 1213 "dtool/src/cppparser/cppBison.yxx"
+#line 1214 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&&";
}
+#line 4544 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 111:
-/* Line 1792 of yacc.c */
-#line 1217 "dtool/src/cppparser/cppBison.yxx"
+#line 1218 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "==";
}
+#line 4552 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 112:
-/* Line 1792 of yacc.c */
-#line 1221 "dtool/src/cppparser/cppBison.yxx"
+#line 1222 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "!=";
}
+#line 4560 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 113:
-/* Line 1792 of yacc.c */
-#line 1225 "dtool/src/cppparser/cppBison.yxx"
+#line 1226 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<=";
}
+#line 4568 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 114:
-/* Line 1792 of yacc.c */
-#line 1229 "dtool/src/cppparser/cppBison.yxx"
+#line 1230 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">=";
}
+#line 4576 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 115:
-/* Line 1792 of yacc.c */
-#line 1233 "dtool/src/cppparser/cppBison.yxx"
+#line 1234 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<";
}
+#line 4584 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 116:
-/* Line 1792 of yacc.c */
-#line 1237 "dtool/src/cppparser/cppBison.yxx"
+#line 1238 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">";
}
+#line 4592 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 117:
-/* Line 1792 of yacc.c */
-#line 1241 "dtool/src/cppparser/cppBison.yxx"
+#line 1242 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<<";
}
+#line 4600 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 118:
-/* Line 1792 of yacc.c */
-#line 1245 "dtool/src/cppparser/cppBison.yxx"
+#line 1246 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">>";
}
+#line 4608 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 119:
-/* Line 1792 of yacc.c */
-#line 1249 "dtool/src/cppparser/cppBison.yxx"
+#line 1250 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "=";
}
+#line 4616 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 120:
-/* Line 1792 of yacc.c */
-#line 1253 "dtool/src/cppparser/cppBison.yxx"
+#line 1254 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ",";
}
+#line 4624 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 121:
-/* Line 1792 of yacc.c */
-#line 1257 "dtool/src/cppparser/cppBison.yxx"
+#line 1258 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "++";
}
+#line 4632 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 122:
-/* Line 1792 of yacc.c */
-#line 1261 "dtool/src/cppparser/cppBison.yxx"
+#line 1262 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "--";
}
+#line 4640 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 123:
-/* Line 1792 of yacc.c */
-#line 1265 "dtool/src/cppparser/cppBison.yxx"
+#line 1266 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "*=";
}
+#line 4648 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 124:
-/* Line 1792 of yacc.c */
-#line 1269 "dtool/src/cppparser/cppBison.yxx"
+#line 1270 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "/=";
}
+#line 4656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 125:
-/* Line 1792 of yacc.c */
-#line 1273 "dtool/src/cppparser/cppBison.yxx"
+#line 1274 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "%=";
}
+#line 4664 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 126:
-/* Line 1792 of yacc.c */
-#line 1277 "dtool/src/cppparser/cppBison.yxx"
+#line 1278 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "+=";
}
+#line 4672 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 127:
-/* Line 1792 of yacc.c */
-#line 1281 "dtool/src/cppparser/cppBison.yxx"
+#line 1282 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "-=";
}
+#line 4680 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 128:
-/* Line 1792 of yacc.c */
-#line 1285 "dtool/src/cppparser/cppBison.yxx"
+#line 1286 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "|=";
}
+#line 4688 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 129:
-/* Line 1792 of yacc.c */
-#line 1289 "dtool/src/cppparser/cppBison.yxx"
+#line 1290 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&=";
}
+#line 4696 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 130:
-/* Line 1792 of yacc.c */
-#line 1293 "dtool/src/cppparser/cppBison.yxx"
+#line 1294 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "^=";
}
+#line 4704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 131:
-/* Line 1792 of yacc.c */
-#line 1297 "dtool/src/cppparser/cppBison.yxx"
+#line 1298 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<<=";
}
+#line 4712 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 132:
-/* Line 1792 of yacc.c */
-#line 1301 "dtool/src/cppparser/cppBison.yxx"
+#line 1302 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">>=";
}
+#line 4720 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 133:
-/* Line 1792 of yacc.c */
-#line 1305 "dtool/src/cppparser/cppBison.yxx"
+#line 1306 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "->";
}
+#line 4728 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 134:
-/* Line 1792 of yacc.c */
-#line 1309 "dtool/src/cppparser/cppBison.yxx"
+#line 1310 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "[]";
}
+#line 4736 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 135:
-/* Line 1792 of yacc.c */
-#line 1313 "dtool/src/cppparser/cppBison.yxx"
+#line 1314 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "()";
}
+#line 4744 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 136:
-/* Line 1792 of yacc.c */
-#line 1317 "dtool/src/cppparser/cppBison.yxx"
+#line 1318 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "new";
}
+#line 4752 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 137:
-/* Line 1792 of yacc.c */
-#line 1321 "dtool/src/cppparser/cppBison.yxx"
+#line 1322 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "delete";
}
+#line 4760 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 140:
-/* Line 1792 of yacc.c */
-#line 1333 "dtool/src/cppparser/cppBison.yxx"
+#line 1334 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
push_scope(new CPPTemplateScope(current_scope));
}
+#line 4768 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 141:
-/* Line 1792 of yacc.c */
-#line 1337 "dtool/src/cppparser/cppBison.yxx"
+#line 1338 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
}
+#line 4776 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 145:
-/* Line 1792 of yacc.c */
-#line 1350 "dtool/src/cppparser/cppBison.yxx"
+#line 1351 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPTemplateScope *ts = current_scope->as_template_scope();
assert(ts != NULL);
- ts->add_template_parameter((yyvsp[(1) - (1)].u.decl));
+ ts->add_template_parameter((yyvsp[0].u.decl));
}
+#line 4786 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 146:
-/* Line 1792 of yacc.c */
-#line 1356 "dtool/src/cppparser/cppBison.yxx"
+#line 1357 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPTemplateScope *ts = current_scope->as_template_scope();
assert(ts != NULL);
- ts->add_template_parameter((yyvsp[(3) - (3)].u.decl));
+ ts->add_template_parameter((yyvsp[0].u.decl));
}
+#line 4796 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 147:
-/* Line 1792 of yacc.c */
-#line 1365 "dtool/src/cppparser/cppBison.yxx"
+#line 1366 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier)));
}
+#line 4804 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 148:
-/* Line 1792 of yacc.c */
-#line 1369 "dtool/src/cppparser/cppBison.yxx"
+#line 1370 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type)));
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type)));
}
+#line 4812 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 149:
-/* Line 1792 of yacc.c */
-#line 1373 "dtool/src/cppparser/cppBison.yxx"
+#line 1374 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier)));
}
+#line 4820 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 150:
-/* Line 1792 of yacc.c */
-#line 1377 "dtool/src/cppparser/cppBison.yxx"
+#line 1378 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type)));
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type)));
}
+#line 4828 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 151:
-/* Line 1792 of yacc.c */
-#line 1381 "dtool/src/cppparser/cppBison.yxx"
+#line 1382 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPInstance *inst = new CPPInstance((yyvsp[(1) - (3)].u.type), (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file);
- inst->set_initializer((yyvsp[(3) - (3)].u.expr));
+ CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
+ inst->set_initializer((yyvsp[0].u.expr));
(yyval.u.decl) = inst;
}
+#line 4838 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 152:
-/* Line 1792 of yacc.c */
-#line 1387 "dtool/src/cppparser/cppBison.yxx"
+#line 1388 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(3) - (4)].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance((yyvsp[(2) - (4)].u.type), (yyvsp[(3) - (4)].u.inst_ident), 0, (yylsp[(3) - (4)]).file);
- inst->set_initializer((yyvsp[(4) - (4)].u.expr));
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
+ CPPInstance *inst = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
+ inst->set_initializer((yyvsp[0].u.expr));
(yyval.u.decl) = inst;
}
+#line 4849 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 153:
-/* Line 1792 of yacc.c */
-#line 1397 "dtool/src/cppparser/cppBison.yxx"
+#line 1398 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 4857 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 154:
-/* Line 1792 of yacc.c */
-#line 1401 "dtool/src/cppparser/cppBison.yxx"
+#line 1402 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- yywarning("Not a type: " + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
+ yywarning("Not a type: " + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
(yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
}
+#line 4866 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 155:
-/* Line 1792 of yacc.c */
-#line 1406 "dtool/src/cppparser/cppBison.yxx"
+#line 1407 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
}
assert((yyval.u.type) != NULL);
}
+#line 4878 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 156:
-/* Line 1792 of yacc.c */
-#line 1418 "dtool/src/cppparser/cppBison.yxx"
+#line 1419 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
}
+#line 4886 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 157:
-/* Line 1792 of yacc.c */
-#line 1422 "dtool/src/cppparser/cppBison.yxx"
+#line 1423 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// For an operator function. We implement this simply by building a
// ficticious name for the function; in other respects it's just
// like a regular function.
- CPPIdentifier *ident = (yyvsp[(1) - (2)].u.identifier);
+ CPPIdentifier *ident = (yyvsp[-1].u.identifier);
if (ident == NULL) {
- ident = new CPPIdentifier("operator "+(yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]));
+ ident = new CPPIdentifier("operator "+(yyvsp[0].str), (yylsp[0]));
} else {
- ident->_names.push_back("operator "+(yyvsp[(2) - (2)].str));
+ ident->_names.push_back("operator "+(yyvsp[0].str));
}
(yyval.u.inst_ident) = new CPPInstanceIdentifier(ident);
}
+#line 4904 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 158:
-/* Line 1792 of yacc.c */
-#line 1436 "dtool/src/cppparser/cppBison.yxx"
+#line 1437 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// A C++11 literal operator.
- if (!(yyvsp[(2) - (3)].str).empty()) {
- yyerror("expected empty string", (yylsp[(2) - (3)]));
+ if (!(yyvsp[-1].str).empty()) {
+ yyerror("expected empty string", (yylsp[-1]));
}
- CPPIdentifier *ident = (yyvsp[(1) - (3)].u.identifier);
+ CPPIdentifier *ident = (yyvsp[-2].u.identifier);
if (ident == NULL) {
- ident = new CPPIdentifier("operator \"\" "+(yyvsp[(3) - (3)].u.identifier)->get_simple_name(), (yylsp[(3) - (3)]));
+ ident = new CPPIdentifier("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name(), (yylsp[0]));
} else {
- ident->_names.push_back("operator \"\" "+(yyvsp[(3) - (3)].u.identifier)->get_simple_name());
+ ident->_names.push_back("operator \"\" "+(yyvsp[0].u.identifier)->get_simple_name());
}
(yyval.u.inst_ident) = new CPPInstanceIdentifier(ident);
}
+#line 4923 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 159:
-/* Line 1792 of yacc.c */
-#line 1451 "dtool/src/cppparser/cppBison.yxx"
+#line 1452 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 4932 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 160:
-/* Line 1792 of yacc.c */
-#line 1456 "dtool/src/cppparser/cppBison.yxx"
+#line 1457 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_volatile);
}
+#line 4941 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 161:
-/* Line 1792 of yacc.c */
-#line 1461 "dtool/src/cppparser/cppBison.yxx"
+#line 1462 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 4950 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 162:
-/* Line 1792 of yacc.c */
-#line 1466 "dtool/src/cppparser/cppBison.yxx"
+#line 1467 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 4959 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 163:
-/* Line 1792 of yacc.c */
-#line 1471 "dtool/src/cppparser/cppBison.yxx"
+#line 1472 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
}
+#line 4968 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 164:
-/* Line 1792 of yacc.c */
-#line 1476 "dtool/src/cppparser/cppBison.yxx"
+#line 1477 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 4977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 165:
-/* Line 1792 of yacc.c */
-#line 1481 "dtool/src/cppparser/cppBison.yxx"
+#line 1482 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 4986 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 166:
-/* Line 1792 of yacc.c */
-#line 1486 "dtool/src/cppparser/cppBison.yxx"
+#line 1487 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
}
+#line 4995 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 167:
-/* Line 1792 of yacc.c */
-#line 1491 "dtool/src/cppparser/cppBison.yxx"
+#line 1492 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- push_scope((yyvsp[(1) - (2)].u.inst_ident)->get_scope(current_scope, global_scope));
+ push_scope((yyvsp[-1].u.inst_ident)->get_scope(current_scope, global_scope));
}
+#line 5003 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 168:
-/* Line 1792 of yacc.c */
-#line 1495 "dtool/src/cppparser/cppBison.yxx"
+#line 1496 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
- (yyval.u.inst_ident) = (yyvsp[(1) - (6)].u.inst_ident);
- if ((yyvsp[(4) - (6)].u.param_list)->is_parameter_expr() && (yyvsp[(6) - (6)].u.integer) == 0) {
+ (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident);
+ if ((yyvsp[-2].u.param_list)->is_parameter_expr() && (yyvsp[0].u.integer) == 0) {
// Oops, this must have been an instance declaration with a
// parameter list, not a function prototype.
- (yyval.u.inst_ident)->add_initializer_modifier((yyvsp[(4) - (6)].u.param_list));
+ (yyval.u.inst_ident)->add_initializer_modifier((yyvsp[-2].u.param_list));
} else {
// This was (probably) a function prototype.
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
}
}
+#line 5021 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 169:
-/* Line 1792 of yacc.c */
-#line 1513 "dtool/src/cppparser/cppBison.yxx"
+#line 1514 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// This is handled a bit awkwardly right now. Ideally it'd be wrapped
// up in the instance_identifier rule, but then more needs to happen in
// order to avoid shift/reduce conflicts.
- if ((yyvsp[(2) - (2)].u.type) != NULL) {
- (yyvsp[(1) - (2)].u.inst_ident)->add_trailing_return_type((yyvsp[(2) - (2)].u.type));
+ if ((yyvsp[0].u.type) != NULL) {
+ (yyvsp[-1].u.inst_ident)->add_trailing_return_type((yyvsp[0].u.type));
}
- (yyval.u.inst_ident) = (yyvsp[(1) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
}
+#line 5035 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 170:
-/* Line 1792 of yacc.c */
-#line 1523 "dtool/src/cppparser/cppBison.yxx"
+#line 1524 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// Bitfield definition.
- (yyvsp[(1) - (3)].u.inst_ident)->_bit_width = (yyvsp[(3) - (3)].u.integer);
- (yyval.u.inst_ident) = (yyvsp[(1) - (3)].u.inst_ident);
+ (yyvsp[-2].u.inst_ident)->_bit_width = (yyvsp[0].u.integer);
+ (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident);
}
+#line 5045 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 171:
-/* Line 1792 of yacc.c */
-#line 1533 "dtool/src/cppparser/cppBison.yxx"
+#line 1534 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.type) = NULL;
}
+#line 5053 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 172:
-/* Line 1792 of yacc.c */
-#line 1537 "dtool/src/cppparser/cppBison.yxx"
+#line 1538 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(3) - (3)].u.inst_ident)->unroll_type((yyvsp[(2) - (3)].u.type));
+ (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
}
+#line 5061 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 173:
-/* Line 1792 of yacc.c */
-#line 1541 "dtool/src/cppparser/cppBison.yxx"
+#line 1542 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(4) - (4)].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.type) = (yyvsp[(4) - (4)].u.inst_ident)->unroll_type((yyvsp[(3) - (4)].u.type));
+ (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
}
+#line 5070 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 174:
-/* Line 1792 of yacc.c */
-#line 1550 "dtool/src/cppparser/cppBison.yxx"
+#line 1551 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
}
+#line 5078 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 175:
-/* Line 1792 of yacc.c */
-#line 1554 "dtool/src/cppparser/cppBison.yxx"
+#line 1555 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5087 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 176:
-/* Line 1792 of yacc.c */
-#line 1559 "dtool/src/cppparser/cppBison.yxx"
+#line 1560 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[0].u.param_list);
}
+#line 5095 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 177:
-/* Line 1792 of yacc.c */
-#line 1563 "dtool/src/cppparser/cppBison.yxx"
+#line 1564 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5104 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 178:
-/* Line 1792 of yacc.c */
-#line 1568 "dtool/src/cppparser/cppBison.yxx"
+#line 1569 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[-1].u.param_list);
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5113 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 179:
-/* Line 1792 of yacc.c */
-#line 1576 "dtool/src/cppparser/cppBison.yxx"
+#line 1577 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_parameters.push_back((yyvsp[(1) - (1)].u.instance));
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
}
+#line 5122 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 180:
-/* Line 1792 of yacc.c */
-#line 1581 "dtool/src/cppparser/cppBison.yxx"
+#line 1582 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list);
- (yyval.u.param_list)->_parameters.push_back((yyvsp[(3) - (3)].u.instance));
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
}
+#line 5131 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 181:
-/* Line 1792 of yacc.c */
-#line 1589 "dtool/src/cppparser/cppBison.yxx"
+#line 1590 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
}
+#line 5139 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 182:
-/* Line 1792 of yacc.c */
-#line 1593 "dtool/src/cppparser/cppBison.yxx"
+#line 1594 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5148 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 183:
-/* Line 1792 of yacc.c */
-#line 1598 "dtool/src/cppparser/cppBison.yxx"
+#line 1599 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[0].u.param_list);
}
+#line 5156 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 184:
-/* Line 1792 of yacc.c */
-#line 1602 "dtool/src/cppparser/cppBison.yxx"
+#line 1603 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5165 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 185:
-/* Line 1792 of yacc.c */
-#line 1607 "dtool/src/cppparser/cppBison.yxx"
+#line 1608 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list);
+ (yyval.u.param_list) = (yyvsp[-1].u.param_list);
(yyval.u.param_list)->_includes_ellipsis = true;
}
+#line 5174 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 186:
-/* Line 1792 of yacc.c */
-#line 1615 "dtool/src/cppparser/cppBison.yxx"
+#line 1616 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_parameters.push_back((yyvsp[(1) - (1)].u.instance));
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
}
+#line 5183 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 187:
-/* Line 1792 of yacc.c */
-#line 1620 "dtool/src/cppparser/cppBison.yxx"
+#line 1621 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list);
- (yyval.u.param_list)->_parameters.push_back((yyvsp[(3) - (3)].u.instance));
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
}
+#line 5192 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 188:
-/* Line 1792 of yacc.c */
-#line 1628 "dtool/src/cppparser/cppBison.yxx"
+#line 1629 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5200 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 189:
-/* Line 1792 of yacc.c */
-#line 1632 "dtool/src/cppparser/cppBison.yxx"
+#line 1633 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 5208 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 190:
-/* Line 1792 of yacc.c */
-#line 1639 "dtool/src/cppparser/cppBison.yxx"
+#line 1640 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5216 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 191:
-/* Line 1792 of yacc.c */
-#line 1643 "dtool/src/cppparser/cppBison.yxx"
+#line 1644 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 5224 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 192:
-/* Line 1792 of yacc.c */
-#line 1650 "dtool/src/cppparser/cppBison.yxx"
+#line 1651 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5232 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 193:
-/* Line 1792 of yacc.c */
-#line 1654 "dtool/src/cppparser/cppBison.yxx"
+#line 1655 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5240 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 194:
-/* Line 1792 of yacc.c */
-#line 1658 "dtool/src/cppparser/cppBison.yxx"
+#line 1659 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5248 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 195:
-/* Line 1792 of yacc.c */
-#line 1662 "dtool/src/cppparser/cppBison.yxx"
+#line 1663 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(CPPExpression::get_default());
}
+#line 5256 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 196:
-/* Line 1792 of yacc.c */
-#line 1666 "dtool/src/cppparser/cppBison.yxx"
+#line 1667 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(CPPExpression::get_delete());
}
+#line 5264 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 197:
-/* Line 1792 of yacc.c */
-#line 1673 "dtool/src/cppparser/cppBison.yxx"
+#line 1674 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5272 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 198:
-/* Line 1792 of yacc.c */
-#line 1677 "dtool/src/cppparser/cppBison.yxx"
+#line 1678 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5280 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 199:
-/* Line 1792 of yacc.c */
-#line 1681 "dtool/src/cppparser/cppBison.yxx"
+#line 1682 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
}
+#line 5288 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 200:
-/* Line 1792 of yacc.c */
-#line 1685 "dtool/src/cppparser/cppBison.yxx"
+#line 1686 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(CPPExpression::get_default());
}
+#line 5296 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 201:
-/* Line 1792 of yacc.c */
-#line 1689 "dtool/src/cppparser/cppBison.yxx"
+#line 1690 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(CPPExpression::get_delete());
}
+#line 5304 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 202:
-/* Line 1792 of yacc.c */
-#line 1693 "dtool/src/cppparser/cppBison.yxx"
+#line 1694 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 5312 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 206:
-/* Line 1792 of yacc.c */
-#line 1706 "dtool/src/cppparser/cppBison.yxx"
+#line 1707 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
}
+#line 5319 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 210:
-/* Line 1792 of yacc.c */
-#line 1715 "dtool/src/cppparser/cppBison.yxx"
+#line 1716 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.instance) = new CPPInstance((yyvsp[(1) - (3)].u.type), (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file);
- (yyval.u.instance)->set_initializer((yyvsp[(3) - (3)].u.expr));
+ (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
+ (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
}
+#line 5328 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 211:
-/* Line 1792 of yacc.c */
-#line 1720 "dtool/src/cppparser/cppBison.yxx"
+#line 1721 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(3) - (4)].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[(2) - (4)].u.type), (yyvsp[(3) - (4)].u.inst_ident), 0, (yylsp[(3) - (4)]).file);
- (yyval.u.instance)->set_initializer((yyvsp[(4) - (4)].u.expr));
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
+ (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
}
+#line 5338 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 212:
-/* Line 1792 of yacc.c */
-#line 1726 "dtool/src/cppparser/cppBison.yxx"
+#line 1727 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(4) - (5)].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.instance) = new CPPInstance((yyvsp[(3) - (5)].u.type), (yyvsp[(4) - (5)].u.inst_ident), 0, (yylsp[(3) - (5)]).file);
- (yyval.u.instance)->set_initializer((yyvsp[(5) - (5)].u.expr));
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file);
+ (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
}
+#line 5348 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 213:
-/* Line 1792 of yacc.c */
-#line 1732 "dtool/src/cppparser/cppBison.yxx"
+#line 1733 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.instance) = (yyvsp[(2) - (2)].u.instance);
+ (yyval.u.instance) = (yyvsp[0].u.instance);
}
+#line 5356 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 214:
-/* Line 1792 of yacc.c */
-#line 1743 "dtool/src/cppparser/cppBison.yxx"
+#line 1744 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.instance) = (yyvsp[(1) - (1)].u.instance);
+ (yyval.u.instance) = (yyvsp[0].u.instance);
}
+#line 5364 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 215:
-/* Line 1792 of yacc.c */
-#line 1747 "dtool/src/cppparser/cppBison.yxx"
+#line 1748 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter));
(yyval.u.instance) = new CPPInstance(type, "expr");
- (yyval.u.instance)->set_initializer((yyvsp[(1) - (1)].u.expr));
+ (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
}
+#line 5375 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 216:
-/* Line 1792 of yacc.c */
-#line 1757 "dtool/src/cppparser/cppBison.yxx"
+#line 1758 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
}
+#line 5383 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 217:
-/* Line 1792 of yacc.c */
-#line 1761 "dtool/src/cppparser/cppBison.yxx"
+#line 1762 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
}
+#line 5391 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 218:
-/* Line 1792 of yacc.c */
-#line 1765 "dtool/src/cppparser/cppBison.yxx"
+#line 1766 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 5400 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 219:
-/* Line 1792 of yacc.c */
-#line 1770 "dtool/src/cppparser/cppBison.yxx"
+#line 1771 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_volatile);
}
+#line 5409 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 220:
-/* Line 1792 of yacc.c */
-#line 1775 "dtool/src/cppparser/cppBison.yxx"
+#line 1776 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 5418 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 221:
-/* Line 1792 of yacc.c */
-#line 1780 "dtool/src/cppparser/cppBison.yxx"
+#line 1781 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 5427 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 222:
-/* Line 1792 of yacc.c */
-#line 1785 "dtool/src/cppparser/cppBison.yxx"
+#line 1786 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
}
+#line 5436 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 223:
-/* Line 1792 of yacc.c */
-#line 1790 "dtool/src/cppparser/cppBison.yxx"
+#line 1791 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 5445 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 224:
-/* Line 1792 of yacc.c */
-#line 1795 "dtool/src/cppparser/cppBison.yxx"
+#line 1796 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 5454 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 225:
-/* Line 1792 of yacc.c */
-#line 1803 "dtool/src/cppparser/cppBison.yxx"
+#line 1804 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
}
+#line 5462 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 226:
-/* Line 1792 of yacc.c */
-#line 1807 "dtool/src/cppparser/cppBison.yxx"
+#line 1808 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
}
+#line 5470 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 227:
-/* Line 1792 of yacc.c */
-#line 1811 "dtool/src/cppparser/cppBison.yxx"
+#line 1812 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 5479 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 228:
-/* Line 1792 of yacc.c */
-#line 1816 "dtool/src/cppparser/cppBison.yxx"
+#line 1817 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_volatile);
}
+#line 5488 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 229:
-/* Line 1792 of yacc.c */
-#line 1821 "dtool/src/cppparser/cppBison.yxx"
+#line 1822 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 5497 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 230:
-/* Line 1792 of yacc.c */
-#line 1826 "dtool/src/cppparser/cppBison.yxx"
+#line 1827 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 5506 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 231:
-/* Line 1792 of yacc.c */
-#line 1831 "dtool/src/cppparser/cppBison.yxx"
+#line 1832 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
}
+#line 5515 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 232:
-/* Line 1792 of yacc.c */
-#line 1836 "dtool/src/cppparser/cppBison.yxx"
+#line 1837 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 5524 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 233:
-/* Line 1792 of yacc.c */
-#line 1841 "dtool/src/cppparser/cppBison.yxx"
+#line 1842 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 5533 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 234:
-/* Line 1792 of yacc.c */
-#line 1846 "dtool/src/cppparser/cppBison.yxx"
+#line 1847 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-5].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(5) - (7)].u.param_list), (yyvsp[(7) - (7)].u.integer));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
}
+#line 5543 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 235:
-/* Line 1792 of yacc.c */
-#line 1852 "dtool/src/cppparser/cppBison.yxx"
+#line 1853 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
}
+#line 5552 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 236:
-/* Line 1792 of yacc.c */
-#line 1860 "dtool/src/cppparser/cppBison.yxx"
+#line 1861 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
}
+#line 5560 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 237:
-/* Line 1792 of yacc.c */
-#line 1864 "dtool/src/cppparser/cppBison.yxx"
+#line 1865 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 5569 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 238:
-/* Line 1792 of yacc.c */
-#line 1869 "dtool/src/cppparser/cppBison.yxx"
+#line 1870 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_volatile);
}
+#line 5578 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 239:
-/* Line 1792 of yacc.c */
-#line 1874 "dtool/src/cppparser/cppBison.yxx"
+#line 1875 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 5587 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 240:
-/* Line 1792 of yacc.c */
-#line 1879 "dtool/src/cppparser/cppBison.yxx"
+#line 1880 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 5596 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 241:
-/* Line 1792 of yacc.c */
-#line 1884 "dtool/src/cppparser/cppBison.yxx"
+#line 1885 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
}
+#line 5605 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 242:
-/* Line 1792 of yacc.c */
-#line 1889 "dtool/src/cppparser/cppBison.yxx"
+#line 1890 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 5614 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 243:
-/* Line 1792 of yacc.c */
-#line 1894 "dtool/src/cppparser/cppBison.yxx"
+#line 1895 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 5623 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 244:
-/* Line 1792 of yacc.c */
-#line 1902 "dtool/src/cppparser/cppBison.yxx"
+#line 1903 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
}
+#line 5631 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 245:
-/* Line 1792 of yacc.c */
-#line 1906 "dtool/src/cppparser/cppBison.yxx"
+#line 1907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 5640 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 246:
-/* Line 1792 of yacc.c */
-#line 1911 "dtool/src/cppparser/cppBison.yxx"
+#line 1912 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_volatile);
}
+#line 5649 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 247:
-/* Line 1792 of yacc.c */
-#line 1916 "dtool/src/cppparser/cppBison.yxx"
+#line 1917 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 5658 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 248:
-/* Line 1792 of yacc.c */
-#line 1921 "dtool/src/cppparser/cppBison.yxx"
+#line 1922 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 5667 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 249:
-/* Line 1792 of yacc.c */
-#line 1926 "dtool/src/cppparser/cppBison.yxx"
+#line 1927 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
}
+#line 5676 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 250:
-/* Line 1792 of yacc.c */
-#line 1931 "dtool/src/cppparser/cppBison.yxx"
+#line 1932 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 5685 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 251:
-/* Line 1792 of yacc.c */
-#line 1936 "dtool/src/cppparser/cppBison.yxx"
+#line 1937 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 5694 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 252:
-/* Line 1792 of yacc.c */
-#line 1941 "dtool/src/cppparser/cppBison.yxx"
+#line 1942 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(2) - (5)].u.param_list), (yyvsp[(4) - (5)].u.integer), (yyvsp[(5) - (5)].u.type));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
}
+#line 5704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 253:
-/* Line 1792 of yacc.c */
-#line 1947 "dtool/src/cppparser/cppBison.yxx"
+#line 1948 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (9)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_pointer);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(6) - (9)].u.param_list), (yyvsp[(8) - (9)].u.integer), (yyvsp[(9) - (9)].u.type));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
}
+#line 5715 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 254:
-/* Line 1792 of yacc.c */
-#line 1954 "dtool/src/cppparser/cppBison.yxx"
+#line 1955 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (9)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_reference);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(6) - (9)].u.param_list), (yyvsp[(8) - (9)].u.integer), (yyvsp[(9) - (9)].u.type));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
}
+#line 5726 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 255:
-/* Line 1792 of yacc.c */
-#line 1961 "dtool/src/cppparser/cppBison.yxx"
+#line 1962 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(3) - (9)].u.inst_ident);
+ (yyval.u.inst_ident) = (yyvsp[-6].u.inst_ident);
(yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
(yyval.u.inst_ident)->add_modifier(IIT_paren);
- (yyval.u.inst_ident)->add_func_modifier((yyvsp[(6) - (9)].u.param_list), (yyvsp[(8) - (9)].u.integer), (yyvsp[(9) - (9)].u.type));
+ (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type));
}
+#line 5737 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 256:
-/* Line 1792 of yacc.c */
-#line 1971 "dtool/src/cppparser/cppBison.yxx"
+#line 1972 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 5745 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 257:
-/* Line 1792 of yacc.c */
-#line 1975 "dtool/src/cppparser/cppBison.yxx"
+#line 1976 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
}
assert((yyval.u.type) != NULL);
}
+#line 5757 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 258:
-/* Line 1792 of yacc.c */
-#line 1983 "dtool/src/cppparser/cppBison.yxx"
+#line 1984 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 5765 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 259:
-/* Line 1792 of yacc.c */
-#line 1987 "dtool/src/cppparser/cppBison.yxx"
+#line 1988 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 5773 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 260:
-/* Line 1792 of yacc.c */
-#line 1991 "dtool/src/cppparser/cppBison.yxx"
+#line 1992 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 5781 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 261:
-/* Line 1792 of yacc.c */
-#line 1995 "dtool/src/cppparser/cppBison.yxx"
+#line 1996 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type));
}
+#line 5789 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 262:
-/* Line 1792 of yacc.c */
-#line 1999 "dtool/src/cppparser/cppBison.yxx"
+#line 2000 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.type) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.type) = et;
}
}
+#line 5809 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 263:
-/* Line 1792 of yacc.c */
-#line 2015 "dtool/src/cppparser/cppBison.yxx"
+#line 2016 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.type) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (4)].u.extension_enum), (yyvsp[(2) - (4)].u.identifier), current_scope, (yylsp[(1) - (4)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), current_scope, (yylsp[-3]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (4)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[-2].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.type) = et;
}
}
+#line 5829 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 264:
-/* Line 1792 of yacc.c */
-#line 2031 "dtool/src/cppparser/cppBison.yxx"
+#line 2032 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(3) - (4)].u.expr)->determine_type();
+ (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type();
if ((yyval.u.type) == (CPPType *)NULL) {
stringstream str;
- str << *(yyvsp[(3) - (4)].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[(3) - (4)]));
+ str << *(yyvsp[-1].u.expr);
+ yyerror("could not determine type of " + str.str(), (yylsp[-1]));
}
}
+#line 5842 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 265:
-/* Line 1792 of yacc.c */
-#line 2040 "dtool/src/cppparser/cppBison.yxx"
+#line 2041 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
}
+#line 5850 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 266:
-/* Line 1792 of yacc.c */
-#line 2047 "dtool/src/cppparser/cppBison.yxx"
+#line 2048 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 5858 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 267:
-/* Line 1792 of yacc.c */
-#line 2051 "dtool/src/cppparser/cppBison.yxx"
+#line 2052 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ (yyval.u.decl) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if ((yyval.u.decl) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
}
assert((yyval.u.decl) != NULL);
}
+#line 5870 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 268:
-/* Line 1792 of yacc.c */
-#line 2059 "dtool/src/cppparser/cppBison.yxx"
+#line 2060 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 5878 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 269:
-/* Line 1792 of yacc.c */
-#line 2063 "dtool/src/cppparser/cppBison.yxx"
+#line 2064 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 5886 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 270:
-/* Line 1792 of yacc.c */
-#line 2067 "dtool/src/cppparser/cppBison.yxx"
+#line 2068 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)));
+ (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type)));
}
+#line 5894 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 271:
-/* Line 1792 of yacc.c */
-#line 2071 "dtool/src/cppparser/cppBison.yxx"
+#line 2072 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)));
+ (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type)));
}
+#line 5902 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 272:
-/* Line 1792 of yacc.c */
-#line 2075 "dtool/src/cppparser/cppBison.yxx"
+#line 2076 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.decl) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.decl) = et;
}
}
+#line 5922 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 273:
-/* Line 1792 of yacc.c */
-#line 2091 "dtool/src/cppparser/cppBison.yxx"
+#line 2092 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[-2].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.decl) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (4)].u.extension_enum), (yyvsp[(2) - (4)].u.identifier), current_scope, (yylsp[(1) - (4)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), current_scope, (yylsp[-3]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (4)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[-2].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.decl) = et;
}
}
+#line 5942 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 274:
-/* Line 1792 of yacc.c */
-#line 2107 "dtool/src/cppparser/cppBison.yxx"
+#line 2108 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[(2) - (2)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (2)]));
+ yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.decl) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.decl) = et;
}
}
+#line 5964 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 275:
-/* Line 1792 of yacc.c */
-#line 2125 "dtool/src/cppparser/cppBison.yxx"
+#line 2126 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = (yyvsp[(3) - (4)].u.expr)->determine_type();
+ (yyval.u.decl) = (yyvsp[-1].u.expr)->determine_type();
if ((yyval.u.decl) == (CPPType *)NULL) {
stringstream str;
- str << *(yyvsp[(3) - (4)].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[(3) - (4)]));
+ str << *(yyvsp[-1].u.expr);
+ yyerror("could not determine type of " + str.str(), (yylsp[-1]));
}
}
+#line 5977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 276:
-/* Line 1792 of yacc.c */
-#line 2134 "dtool/src/cppparser/cppBison.yxx"
+#line 2135 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
}
+#line 5985 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 277:
-/* Line 1792 of yacc.c */
-#line 2141 "dtool/src/cppparser/cppBison.yxx"
+#line 2142 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 5993 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 278:
-/* Line 1792 of yacc.c */
-#line 2145 "dtool/src/cppparser/cppBison.yxx"
+#line 2146 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if ((yyval.u.type) == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
+ yyerror(string("internal error resolving type ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0]));
}
assert((yyval.u.type) != NULL);
}
+#line 6005 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 279:
-/* Line 1792 of yacc.c */
-#line 2153 "dtool/src/cppparser/cppBison.yxx"
+#line 2154 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 6013 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 280:
-/* Line 1792 of yacc.c */
-#line 2157 "dtool/src/cppparser/cppBison.yxx"
+#line 2158 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.type) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.type) = et;
}
}
+#line 6033 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 281:
-/* Line 1792 of yacc.c */
-#line 2173 "dtool/src/cppparser/cppBison.yxx"
+#line 2174 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
if (type != NULL) {
(yyval.u.type) = type;
} else {
CPPExtensionType *et =
- CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
+ CPPType::new_type(new CPPExtensionType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope);
if (scope != NULL) {
scope->define_extension_type(et);
}
(yyval.u.type) = et;
}
}
+#line 6053 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 282:
-/* Line 1792 of yacc.c */
-#line 2189 "dtool/src/cppparser/cppBison.yxx"
+#line 2190 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(3) - (4)].u.expr)->determine_type();
+ (yyval.u.type) = (yyvsp[-1].u.expr)->determine_type();
if ((yyval.u.type) == (CPPType *)NULL) {
stringstream str;
- str << *(yyvsp[(3) - (4)].u.expr);
- yyerror("could not determine type of " + str.str(), (yylsp[(3) - (4)]));
+ str << *(yyvsp[-1].u.expr);
+ yyerror("could not determine type of " + str.str(), (yylsp[-1]));
}
}
+#line 6066 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 283:
-/* Line 1792 of yacc.c */
-#line 2198 "dtool/src/cppparser/cppBison.yxx"
+#line 2199 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto));
}
+#line 6074 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 284:
-/* Line 1792 of yacc.c */
-#line 2205 "dtool/src/cppparser/cppBison.yxx"
+#line 2206 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl);
+ (yyval.u.decl) = (yyvsp[0].u.decl);
}
+#line 6082 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 285:
-/* Line 1792 of yacc.c */
-#line 2209 "dtool/src/cppparser/cppBison.yxx"
+#line 2210 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- yyerror(string("unknown type '") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name() + "'", (yylsp[(1) - (1)]));
+ yyerror(string("unknown type '") + (yyvsp[0].u.identifier)->get_fully_scoped_name() + "'", (yylsp[0]));
(yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
}
+#line 6092 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 286:
-/* Line 1792 of yacc.c */
-#line 2217 "dtool/src/cppparser/cppBison.yxx"
+#line 2218 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(2) - (2)].u.inst_ident)->unroll_type((yyvsp[(1) - (2)].u.type));
+ (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
}
+#line 6100 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 287:
-/* Line 1792 of yacc.c */
-#line 2221 "dtool/src/cppparser/cppBison.yxx"
+#line 2222 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyvsp[(3) - (3)].u.inst_ident)->add_modifier(IIT_const);
- (yyval.u.type) = (yyvsp[(3) - (3)].u.inst_ident)->unroll_type((yyvsp[(2) - (3)].u.type));
+ (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type));
}
+#line 6109 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 288:
-/* Line 1792 of yacc.c */
-#line 2229 "dtool/src/cppparser/cppBison.yxx"
+#line 2230 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPVisibility starting_vis =
- ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
+ ((yyvsp[-1].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("anon"),
starting_vis);
- CPPStructType *st = new CPPStructType((yyvsp[(1) - (2)].u.extension_enum), NULL, current_scope,
- new_scope, (yylsp[(1) - (2)]).file);
+ CPPStructType *st = new CPPStructType((yyvsp[-1].u.extension_enum), NULL, current_scope,
+ new_scope, (yylsp[-1]).file);
new_scope->set_struct_type(st);
push_scope(new_scope);
push_struct(st);
}
+#line 6127 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 289:
-/* Line 1792 of yacc.c */
-#line 2243 "dtool/src/cppparser/cppBison.yxx"
+#line 2244 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.struct_type) = current_struct;
current_struct->_incomplete = false;
pop_struct();
pop_scope();
}
+#line 6138 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 290:
-/* Line 1792 of yacc.c */
-#line 2253 "dtool/src/cppparser/cppBison.yxx"
+#line 2254 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPVisibility starting_vis =
- ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
+ ((yyvsp[-1].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public;
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
+ CPPScope *scope = (yyvsp[0].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
if (scope == NULL) {
scope = current_scope;
}
- CPPScope *new_scope = new CPPScope(scope, (yyvsp[(2) - (2)].u.identifier)->_names.back(),
+ CPPScope *new_scope = new CPPScope(scope, (yyvsp[0].u.identifier)->_names.back(),
starting_vis);
- CPPStructType *st = new CPPStructType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope,
- new_scope, (yylsp[(1) - (2)]).file);
+ CPPStructType *st = new CPPStructType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope,
+ new_scope, (yylsp[-1]).file);
new_scope->set_struct_type(st);
current_scope->define_extension_type(st);
push_scope(new_scope);
push_struct(st);
}
+#line 6162 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 291:
-/* Line 1792 of yacc.c */
-#line 2273 "dtool/src/cppparser/cppBison.yxx"
+#line 2274 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.struct_type) = current_struct;
current_struct->_incomplete = false;
pop_struct();
pop_scope();
}
+#line 6173 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 293:
-/* Line 1792 of yacc.c */
-#line 2284 "dtool/src/cppparser/cppBison.yxx"
+#line 2285 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_struct->_final = true;
}
+#line 6181 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 298:
-/* Line 1792 of yacc.c */
-#line 2301 "dtool/src/cppparser/cppBison.yxx"
+#line 2302 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(1) - (1)].u.type), V_unknown, false);
+ current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false);
}
+#line 6189 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 299:
-/* Line 1792 of yacc.c */
-#line 2305 "dtool/src/cppparser/cppBison.yxx"
+#line 2306 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false);
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, false);
}
+#line 6197 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 300:
-/* Line 1792 of yacc.c */
-#line 2309 "dtool/src/cppparser/cppBison.yxx"
+#line 2310 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false);
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, false);
}
+#line 6205 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 301:
-/* Line 1792 of yacc.c */
-#line 2313 "dtool/src/cppparser/cppBison.yxx"
+#line 2314 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false);
+ current_struct->append_derivation((yyvsp[0].u.type), V_private, false);
}
+#line 6213 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 302:
-/* Line 1792 of yacc.c */
-#line 2317 "dtool/src/cppparser/cppBison.yxx"
+#line 2318 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
}
+#line 6221 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 303:
-/* Line 1792 of yacc.c */
-#line 2321 "dtool/src/cppparser/cppBison.yxx"
+#line 2322 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
}
+#line 6229 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 304:
-/* Line 1792 of yacc.c */
-#line 2325 "dtool/src/cppparser/cppBison.yxx"
+#line 2326 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_private, true);
}
+#line 6237 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 305:
-/* Line 1792 of yacc.c */
-#line 2329 "dtool/src/cppparser/cppBison.yxx"
+#line 2330 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
}
+#line 6245 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 306:
-/* Line 1792 of yacc.c */
-#line 2333 "dtool/src/cppparser/cppBison.yxx"
+#line 2334 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
}
+#line 6253 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 307:
-/* Line 1792 of yacc.c */
-#line 2337 "dtool/src/cppparser/cppBison.yxx"
+#line 2338 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true);
+ current_struct->append_derivation((yyvsp[0].u.type), V_private, true);
}
+#line 6261 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 308:
-/* Line 1792 of yacc.c */
-#line 2344 "dtool/src/cppparser/cppBison.yxx"
+#line 2345 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.enum_type) = current_enum;
current_enum = NULL;
}
+#line 6270 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 309:
-/* Line 1792 of yacc.c */
-#line 2352 "dtool/src/cppparser/cppBison.yxx"
+#line 2353 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type), current_scope, (yylsp[(1) - (4)]).file);
+ current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), NULL, (yyvsp[0].u.type), current_scope, NULL, (yylsp[-2]).file);
}
+#line 6278 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 310:
-/* Line 1792 of yacc.c */
-#line 2356 "dtool/src/cppparser/cppBison.yxx"
+#line 2357 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file);
+ current_enum = new CPPEnumType((yyvsp[0].u.extension_enum), NULL, current_scope, NULL, (yylsp[0]).file);
}
+#line 6286 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 311:
-/* Line 1792 of yacc.c */
-#line 2360 "dtool/src/cppparser/cppBison.yxx"
+#line 2361 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file);
+ CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public);
+ current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-3]).file);
}
+#line 6295 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 312:
-/* Line 1792 of yacc.c */
-#line 2364 "dtool/src/cppparser/cppBison.yxx"
+#line 2366 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file);
+ CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public);
+ current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-1]).file);
}
+#line 6304 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 313:
-/* Line 1792 of yacc.c */
-#line 2371 "dtool/src/cppparser/cppBison.yxx"
+#line 2374 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 6312 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 314:
-/* Line 1792 of yacc.c */
-#line 2375 "dtool/src/cppparser/cppBison.yxx"
+#line 2378 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
}
+#line 6320 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 316:
-/* Line 1792 of yacc.c */
-#line 2383 "dtool/src/cppparser/cppBison.yxx"
+#line 2386 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (3)].u.identifier)->get_simple_name());
- current_scope->add_enum_value(inst, current_lexer, (yylsp[(2) - (3)]));
+ current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name(), NULL, current_lexer, (yylsp[-1]));
}
+#line 6329 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 317:
-/* Line 1792 of yacc.c */
-#line 2389 "dtool/src/cppparser/cppBison.yxx"
+#line 2391 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (5)].u.identifier)->get_simple_name(), (yyvsp[(4) - (5)].u.expr));
- current_scope->add_enum_value(inst, current_lexer, (yylsp[(2) - (5)]));
+ current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-3]));
}
+#line 6338 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 319:
-/* Line 1792 of yacc.c */
-#line 2398 "dtool/src/cppparser/cppBison.yxx"
+#line 2399 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (2)].u.identifier)->get_simple_name());
- current_scope->add_enum_value(inst, current_lexer, (yylsp[(2) - (2)]));
+ current_enum->add_element((yyvsp[0].u.identifier)->get_simple_name(), NULL, current_lexer, (yylsp[0]));
}
+#line 6347 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 320:
-/* Line 1792 of yacc.c */
-#line 2404 "dtool/src/cppparser/cppBison.yxx"
+#line 2404 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (4)].u.identifier)->get_simple_name(), (yyvsp[(4) - (4)].u.expr));
- current_scope->add_enum_value(inst, current_lexer, (yylsp[(2) - (4)]));
+ current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-2]));
}
+#line 6356 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 321:
-/* Line 1792 of yacc.c */
-#line 2413 "dtool/src/cppparser/cppBison.yxx"
+#line 2412 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.extension_enum) = CPPExtensionType::T_enum;
}
+#line 6364 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 322:
-/* Line 1792 of yacc.c */
-#line 2420 "dtool/src/cppparser/cppBison.yxx"
+#line 2416 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.extension_enum) = CPPExtensionType::T_class;
+ (yyval.u.extension_enum) = CPPExtensionType::T_enum_class;
}
+#line 6372 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 323:
-/* Line 1792 of yacc.c */
-#line 2424 "dtool/src/cppparser/cppBison.yxx"
+#line 2420 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.extension_enum) = CPPExtensionType::T_struct;
+ (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct;
}
+#line 6380 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 324:
-/* Line 1792 of yacc.c */
-#line 2428 "dtool/src/cppparser/cppBison.yxx"
+#line 2427 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.extension_enum) = CPPExtensionType::T_union;
+ (yyval.u.extension_enum) = CPPExtensionType::T_class;
}
+#line 6388 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 325:
-/* Line 1792 of yacc.c */
-#line 2435 "dtool/src/cppparser/cppBison.yxx"
+#line 2431 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPScope *scope = (yyvsp[(2) - (3)].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
- if (scope == NULL) {
- // This must be a new namespace declaration.
- CPPScope *parent_scope =
- (yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
- if (parent_scope == NULL) {
- parent_scope = current_scope;
- }
- scope = new CPPScope(parent_scope, (yyvsp[(2) - (3)].u.identifier)->_names.back(), V_public);
- }
-
- CPPNamespace *nspace = new CPPNamespace((yyvsp[(2) - (3)].u.identifier), scope, (yylsp[(1) - (3)]).file);
- current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[(1) - (3)]));
- current_scope->define_namespace(nspace);
- push_scope(scope);
+ (yyval.u.extension_enum) = CPPExtensionType::T_struct;
}
+#line 6396 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 326:
-/* Line 1792 of yacc.c */
-#line 2453 "dtool/src/cppparser/cppBison.yxx"
+#line 2435 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- pop_scope();
+ (yyval.u.extension_enum) = CPPExtensionType::T_union;
}
+#line 6404 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 327:
-/* Line 1792 of yacc.c */
-#line 2457 "dtool/src/cppparser/cppBison.yxx"
+#line 2442 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPScope *scope = (yyvsp[(3) - (4)].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
+ CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
if (scope == NULL) {
// This must be a new namespace declaration.
CPPScope *parent_scope =
- (yyvsp[(3) - (4)].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
+ (yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
if (parent_scope == NULL) {
parent_scope = current_scope;
}
- scope = new CPPScope(parent_scope, (yyvsp[(3) - (4)].u.identifier)->_names.back(), V_public);
+ scope = new CPPScope(parent_scope, (yyvsp[-1].u.identifier)->_names.back(), V_public);
}
- CPPNamespace *nspace = new CPPNamespace((yyvsp[(3) - (4)].u.identifier), scope, (yylsp[(2) - (4)]).file);
- nspace->_is_inline = true;
- current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[(2) - (4)]));
+ CPPNamespace *nspace = new CPPNamespace((yyvsp[-1].u.identifier), scope, (yylsp[-2]).file);
+ current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[-2]));
current_scope->define_namespace(nspace);
push_scope(scope);
}
+#line 6426 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 328:
-/* Line 1792 of yacc.c */
-#line 2476 "dtool/src/cppparser/cppBison.yxx"
+#line 2460 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
}
+#line 6434 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 331:
-/* Line 1792 of yacc.c */
-#line 2485 "dtool/src/cppparser/cppBison.yxx"
+ case 329:
+#line 2464 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPUsing *using_decl = new CPPUsing((yyvsp[(2) - (3)].u.identifier), false, (yylsp[(1) - (3)]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (3)]));
- current_scope->add_using(using_decl, global_scope, current_lexer);
+ CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer);
+ if (scope == NULL) {
+ // This must be a new namespace declaration.
+ CPPScope *parent_scope =
+ (yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope, current_lexer);
+ if (parent_scope == NULL) {
+ parent_scope = current_scope;
+ }
+ scope = new CPPScope(parent_scope, (yyvsp[-1].u.identifier)->_names.back(), V_public);
+ }
+
+ CPPNamespace *nspace = new CPPNamespace((yyvsp[-1].u.identifier), scope, (yylsp[-2]).file);
+ nspace->_is_inline = true;
+ current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[-2]));
+ current_scope->define_namespace(nspace);
+ push_scope(scope);
}
+#line 6457 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 332:
-/* Line 1792 of yacc.c */
-#line 2491 "dtool/src/cppparser/cppBison.yxx"
+ case 330:
+#line 2483 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- // This is really just an alternative way to declare a typedef.
- CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[(4) - (5)].u.type), (yyvsp[(2) - (5)].u.identifier), current_scope);
- typedef_type->_using = true;
- current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (5)]));
+ pop_scope();
}
+#line 6465 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 333:
-/* Line 1792 of yacc.c */
-#line 2498 "dtool/src/cppparser/cppBison.yxx"
+#line 2492 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPUsing *using_decl = new CPPUsing((yyvsp[(3) - (4)].u.identifier), true, (yylsp[(1) - (4)]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (4)]));
+ CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-2]).file);
+ current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-2]));
current_scope->add_using(using_decl, global_scope, current_lexer);
}
+#line 6475 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 337:
-/* Line 1792 of yacc.c */
-#line 2513 "dtool/src/cppparser/cppBison.yxx"
+ case 334:
+#line 2498 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool);
+ // This is really just an alternative way to declare a typedef.
+ CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[-1].u.type), (yyvsp[-3].u.identifier), current_scope);
+ typedef_type->_using = true;
+ current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-4]));
}
+#line 6486 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 338:
-/* Line 1792 of yacc.c */
-#line 2517 "dtool/src/cppparser/cppBison.yxx"
+ case 335:
+#line 2505 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char);
+ CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), true, (yylsp[-3]).file);
+ current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3]));
+ current_scope->add_using(using_decl, global_scope, current_lexer);
}
+#line 6496 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 339:
-/* Line 1792 of yacc.c */
-#line 2521 "dtool/src/cppparser/cppBison.yxx"
+#line 2520 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t);
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool);
}
+#line 6504 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 340:
-/* Line 1792 of yacc.c */
-#line 2525 "dtool/src/cppparser/cppBison.yxx"
+#line 2524 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t);
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char);
}
+#line 6512 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 341:
-/* Line 1792 of yacc.c */
-#line 2529 "dtool/src/cppparser/cppBison.yxx"
+#line 2528 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t);
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t);
}
+#line 6520 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 342:
-/* Line 1792 of yacc.c */
-#line 2533 "dtool/src/cppparser/cppBison.yxx"
+#line 2532 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t);
+}
+#line 6528 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 343:
+#line 2536 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t);
+}
+#line 6536 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 344:
+#line 2540 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_short);
}
+#line 6545 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 343:
-/* Line 1792 of yacc.c */
-#line 2538 "dtool/src/cppparser/cppBison.yxx"
+ case 345:
+#line 2545 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_long);
}
+#line 6554 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 344:
-/* Line 1792 of yacc.c */
-#line 2543 "dtool/src/cppparser/cppBison.yxx"
+ case 346:
+#line 2550 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_unsigned);
}
+#line 6563 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 345:
-/* Line 1792 of yacc.c */
-#line 2548 "dtool/src/cppparser/cppBison.yxx"
+ case 347:
+#line 2555 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_signed);
}
- break;
-
- case 346:
-/* Line 1792 of yacc.c */
-#line 2553 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int);
-}
- break;
-
- case 347:
-/* Line 1792 of yacc.c */
-#line 2557 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short;
-}
+#line 6572 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 348:
-/* Line 1792 of yacc.c */
-#line 2562 "dtool/src/cppparser/cppBison.yxx"
+#line 2560 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int);
+}
+#line 6580 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 349:
+#line 2564 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
+ (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short;
+}
+#line 6589 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 350:
+#line 2569 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) {
(yyval.u.simple_type)->_flags |= CPPSimpleType::F_longlong;
} else {
(yyval.u.simple_type)->_flags |= CPPSimpleType::F_long;
}
}
- break;
-
- case 349:
-/* Line 1792 of yacc.c */
-#line 2571 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned;
-}
- break;
-
- case 350:
-/* Line 1792 of yacc.c */
-#line 2576 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
- (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed;
-}
+#line 6602 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 351:
-/* Line 1792 of yacc.c */
-#line 2584 "dtool/src/cppparser/cppBison.yxx"
+#line 2578 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float);
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
+ (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned;
}
+#line 6611 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 352:
-/* Line 1792 of yacc.c */
-#line 2588 "dtool/src/cppparser/cppBison.yxx"
+#line 2583 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double);
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
+ (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed;
}
+#line 6620 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 353:
-/* Line 1792 of yacc.c */
-#line 2592 "dtool/src/cppparser/cppBison.yxx"
+#line 2591 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float);
+}
+#line 6628 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 354:
+#line 2595 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double);
+}
+#line 6636 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 355:
+#line 2599 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double,
CPPSimpleType::F_long);
}
- break;
-
- case 354:
-/* Line 1792 of yacc.c */
-#line 2600 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void);
-}
- break;
-
- case 355:
-/* Line 1792 of yacc.c */
-#line 2609 "dtool/src/cppparser/cppBison.yxx"
- {
- current_lexer->_resolve_identifiers = false;
-}
+#line 6645 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 356:
-/* Line 1792 of yacc.c */
-#line 2613 "dtool/src/cppparser/cppBison.yxx"
+#line 2607 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void);
+}
+#line 6653 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 357:
+#line 2616 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_lexer->_resolve_identifiers = false;
+}
+#line 6661 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 358:
+#line 2620 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_lexer->_resolve_identifiers = true;
}
+#line 6669 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 459:
-/* Line 1792 of yacc.c */
-#line 2654 "dtool/src/cppparser/cppBison.yxx"
+ case 461:
+#line 2661 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
}
- break;
-
- case 483:
-/* Line 1792 of yacc.c */
-#line 2663 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
-}
- break;
-
- case 484:
-/* Line 1792 of yacc.c */
-#line 2667 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
-}
+#line 6676 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 485:
-/* Line 1792 of yacc.c */
-#line 2674 "dtool/src/cppparser/cppBison.yxx"
+#line 2670 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 6684 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 486:
-/* Line 1792 of yacc.c */
-#line 2678 "dtool/src/cppparser/cppBison.yxx"
+#line 2674 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 6692 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 487:
-/* Line 1792 of yacc.c */
-#line 2685 "dtool/src/cppparser/cppBison.yxx"
+#line 2681 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 6700 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 488:
-/* Line 1792 of yacc.c */
-#line 2689 "dtool/src/cppparser/cppBison.yxx"
+#line 2685 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 6708 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 489:
-/* Line 1792 of yacc.c */
-#line 2696 "dtool/src/cppparser/cppBison.yxx"
+#line 2692 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 6716 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 490:
-/* Line 1792 of yacc.c */
-#line 2700 "dtool/src/cppparser/cppBison.yxx"
+#line 2696 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6724 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 491:
-/* Line 1792 of yacc.c */
-#line 2704 "dtool/src/cppparser/cppBison.yxx"
+#line 2703 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_static_cast));
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 6732 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 492:
-/* Line 1792 of yacc.c */
-#line 2708 "dtool/src/cppparser/cppBison.yxx"
+#line 2707 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_dynamic_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
}
+#line 6740 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 493:
-/* Line 1792 of yacc.c */
-#line 2712 "dtool/src/cppparser/cppBison.yxx"
+#line 2711 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_const_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
}
+#line 6748 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 494:
-/* Line 1792 of yacc.c */
-#line 2716 "dtool/src/cppparser/cppBison.yxx"
+#line 2715 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_reinterpret_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
}
+#line 6756 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 495:
-/* Line 1792 of yacc.c */
-#line 2720 "dtool/src/cppparser/cppBison.yxx"
+#line 2719 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
}
+#line 6764 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 496:
-/* Line 1792 of yacc.c */
-#line 2724 "dtool/src/cppparser/cppBison.yxx"
+#line 2723 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
}
+#line 6772 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 497:
-/* Line 1792 of yacc.c */
-#line 2728 "dtool/src/cppparser/cppBison.yxx"
+#line 2727 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
}
+#line 6780 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 498:
-/* Line 1792 of yacc.c */
-#line 2732 "dtool/src/cppparser/cppBison.yxx"
+#line 2731 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
}
+#line 6788 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 499:
-/* Line 1792 of yacc.c */
-#line 2736 "dtool/src/cppparser/cppBison.yxx"
+#line 2735 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
}
+#line 6796 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 500:
-/* Line 1792 of yacc.c */
-#line 2740 "dtool/src/cppparser/cppBison.yxx"
+#line 2739 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
}
+#line 6804 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 501:
-/* Line 1792 of yacc.c */
-#line 2744 "dtool/src/cppparser/cppBison.yxx"
+#line 2743 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
}
+#line 6812 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 502:
-/* Line 1792 of yacc.c */
-#line 2748 "dtool/src/cppparser/cppBison.yxx"
+#line 2747 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
}
+#line 6820 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 503:
-/* Line 1792 of yacc.c */
-#line 2752 "dtool/src/cppparser/cppBison.yxx"
+#line 2751 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
}
+#line 6828 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 504:
-/* Line 1792 of yacc.c */
-#line 2756 "dtool/src/cppparser/cppBison.yxx"
+#line 2755 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
}
+#line 6836 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 505:
-/* Line 1792 of yacc.c */
-#line 2760 "dtool/src/cppparser/cppBison.yxx"
+#line 2759 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6844 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 506:
-/* Line 1792 of yacc.c */
-#line 2764 "dtool/src/cppparser/cppBison.yxx"
+#line 2763 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6852 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 507:
-/* Line 1792 of yacc.c */
-#line 2768 "dtool/src/cppparser/cppBison.yxx"
+#line 2767 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6860 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 508:
-/* Line 1792 of yacc.c */
-#line 2772 "dtool/src/cppparser/cppBison.yxx"
+#line 2771 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6868 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 509:
-/* Line 1792 of yacc.c */
-#line 2776 "dtool/src/cppparser/cppBison.yxx"
+#line 2775 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6876 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 510:
-/* Line 1792 of yacc.c */
-#line 2780 "dtool/src/cppparser/cppBison.yxx"
+#line 2779 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6884 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 511:
-/* Line 1792 of yacc.c */
-#line 2784 "dtool/src/cppparser/cppBison.yxx"
+#line 2783 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6892 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 512:
-/* Line 1792 of yacc.c */
-#line 2788 "dtool/src/cppparser/cppBison.yxx"
+#line 2787 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6900 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 513:
-/* Line 1792 of yacc.c */
-#line 2792 "dtool/src/cppparser/cppBison.yxx"
+#line 2791 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6908 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 514:
-/* Line 1792 of yacc.c */
-#line 2796 "dtool/src/cppparser/cppBison.yxx"
+#line 2795 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6916 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 515:
-/* Line 1792 of yacc.c */
-#line 2800 "dtool/src/cppparser/cppBison.yxx"
+#line 2799 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6924 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 516:
-/* Line 1792 of yacc.c */
-#line 2804 "dtool/src/cppparser/cppBison.yxx"
+#line 2803 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6932 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 517:
-/* Line 1792 of yacc.c */
-#line 2808 "dtool/src/cppparser/cppBison.yxx"
+#line 2807 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6940 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 518:
-/* Line 1792 of yacc.c */
-#line 2812 "dtool/src/cppparser/cppBison.yxx"
+#line 2811 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6948 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 519:
-/* Line 1792 of yacc.c */
-#line 2816 "dtool/src/cppparser/cppBison.yxx"
+#line 2815 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr));
+ (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6956 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 520:
-/* Line 1792 of yacc.c */
-#line 2820 "dtool/src/cppparser/cppBison.yxx"
+#line 2819 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
+ (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6964 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 521:
-/* Line 1792 of yacc.c */
-#line 2824 "dtool/src/cppparser/cppBison.yxx"
+#line 2823 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
+ (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6972 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 522:
-/* Line 1792 of yacc.c */
-#line 2828 "dtool/src/cppparser/cppBison.yxx"
+#line 2827 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6980 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 523:
-/* Line 1792 of yacc.c */
-#line 2832 "dtool/src/cppparser/cppBison.yxx"
+#line 2831 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6988 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 524:
-/* Line 1792 of yacc.c */
-#line 2836 "dtool/src/cppparser/cppBison.yxx"
+#line 2835 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
}
+#line 6996 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 525:
-/* Line 1792 of yacc.c */
-#line 2840 "dtool/src/cppparser/cppBison.yxx"
+#line 2839 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
+ (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7004 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 526:
-/* Line 1792 of yacc.c */
-#line 2848 "dtool/src/cppparser/cppBison.yxx"
+#line 2843 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7012 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 527:
-/* Line 1792 of yacc.c */
-#line 2852 "dtool/src/cppparser/cppBison.yxx"
+#line 2847 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr)));
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
}
+#line 7020 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 528:
-/* Line 1792 of yacc.c */
-#line 2856 "dtool/src/cppparser/cppBison.yxx"
+#line 2855 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_static_cast));
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 7028 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 529:
-/* Line 1792 of yacc.c */
-#line 2860 "dtool/src/cppparser/cppBison.yxx"
+#line 2859 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_dynamic_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
}
+#line 7036 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 530:
-/* Line 1792 of yacc.c */
-#line 2864 "dtool/src/cppparser/cppBison.yxx"
+#line 2863 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_const_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
}
+#line 7044 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 531:
-/* Line 1792 of yacc.c */
-#line 2868 "dtool/src/cppparser/cppBison.yxx"
+#line 2867 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_reinterpret_cast));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
}
+#line 7052 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 532:
-/* Line 1792 of yacc.c */
-#line 2872 "dtool/src/cppparser/cppBison.yxx"
+#line 2871 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- // A constructor call.
- CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- if (type == NULL) {
- yyerror(string("internal error resolving type ") + (yyvsp[(1) - (4)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (4)]));
- }
- assert(type != NULL);
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
}
+#line 7060 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 533:
-/* Line 1792 of yacc.c */
-#line 2882 "dtool/src/cppparser/cppBison.yxx"
+#line 2875 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
}
+#line 7068 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 534:
-/* Line 1792 of yacc.c */
-#line 2888 "dtool/src/cppparser/cppBison.yxx"
+#line 2879 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ // A constructor call.
+ CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ if (type == NULL) {
+ yyerror(string("internal error resolving type ") + (yyvsp[-3].u.identifier)->get_fully_scoped_name(), (yylsp[-3]));
+ }
+ assert(type != NULL);
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7082 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 535:
-/* Line 1792 of yacc.c */
-#line 2894 "dtool/src/cppparser/cppBison.yxx"
+#line 2889 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7092 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 536:
-/* Line 1792 of yacc.c */
-#line 2900 "dtool/src/cppparser/cppBison.yxx"
+#line 2895 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7102 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 537:
-/* Line 1792 of yacc.c */
-#line 2906 "dtool/src/cppparser/cppBison.yxx"
+#line 2901 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7112 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 538:
-/* Line 1792 of yacc.c */
-#line 2912 "dtool/src/cppparser/cppBison.yxx"
+#line 2907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7122 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 539:
-/* Line 1792 of yacc.c */
-#line 2918 "dtool/src/cppparser/cppBison.yxx"
+#line 2913 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPType *type =
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
+}
+#line 7132 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 540:
+#line 2919 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPType *type =
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
+}
+#line 7142 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 541:
+#line 2925 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_short));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7153 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 540:
-/* Line 1792 of yacc.c */
-#line 2925 "dtool/src/cppparser/cppBison.yxx"
+ case 542:
+#line 2932 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_long));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7164 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 541:
-/* Line 1792 of yacc.c */
-#line 2932 "dtool/src/cppparser/cppBison.yxx"
+ case 543:
+#line 2939 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_unsigned));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7175 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 542:
-/* Line 1792 of yacc.c */
-#line 2939 "dtool/src/cppparser/cppBison.yxx"
+ case 544:
+#line 2946 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_signed));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
-}
- break;
-
- case 543:
-/* Line 1792 of yacc.c */
-#line 2946 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
-}
- break;
-
- case 544:
-/* Line 1792 of yacc.c */
-#line 2952 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPType *type =
- CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double));
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7186 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 545:
-/* Line 1792 of yacc.c */
-#line 2958 "dtool/src/cppparser/cppBison.yxx"
+#line 2953 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type)));
+ CPPType *type =
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7196 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 546:
-/* Line 1792 of yacc.c */
-#line 2962 "dtool/src/cppparser/cppBison.yxx"
+#line 2959 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type)));
+ CPPType *type =
+ CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 7206 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 547:
-/* Line 1792 of yacc.c */
-#line 2966 "dtool/src/cppparser/cppBison.yxx"
+#line 2965 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
}
+#line 7214 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 548:
-/* Line 1792 of yacc.c */
-#line 2970 "dtool/src/cppparser/cppBison.yxx"
+#line 2969 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
}
+#line 7222 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 549:
-/* Line 1792 of yacc.c */
-#line 2974 "dtool/src/cppparser/cppBison.yxx"
+#line 2973 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including ", (yylsp[(1) - (4)]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[(3) - (4)].u.type), std_type_info));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
}
+#line 7230 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 550:
-/* Line 1792 of yacc.c */
-#line 2985 "dtool/src/cppparser/cppBison.yxx"
+#line 2977 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including ", (yylsp[(1) - (4)]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[(3) - (4)].u.expr), std_type_info));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr)));
}
+#line 7238 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 551:
-/* Line 1792 of yacc.c */
-#line 2996 "dtool/src/cppparser/cppBison.yxx"
+#line 2981 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr));
+ CPPIdentifier ident("");
+ ident.add_name("std");
+ ident.add_name("type_info");
+ CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
+ if (!std_type_info) {
+ yywarning("cannot use typeid before including ", (yylsp[-3]));
+ }
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info));
}
+#line 7253 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 552:
-/* Line 1792 of yacc.c */
-#line 3000 "dtool/src/cppparser/cppBison.yxx"
+#line 2992 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr));
+ CPPIdentifier ident("");
+ ident.add_name("std");
+ ident.add_name("type_info");
+ CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
+ if (!std_type_info) {
+ yywarning("cannot use typeid before including ", (yylsp[-3]));
+ }
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info));
}
+#line 7268 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 553:
-/* Line 1792 of yacc.c */
-#line 3004 "dtool/src/cppparser/cppBison.yxx"
+#line 3003 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
}
+#line 7276 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 554:
-/* Line 1792 of yacc.c */
-#line 3008 "dtool/src/cppparser/cppBison.yxx"
+#line 3007 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
}
+#line 7284 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 555:
-/* Line 1792 of yacc.c */
-#line 3012 "dtool/src/cppparser/cppBison.yxx"
+#line 3011 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
}
+#line 7292 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 556:
-/* Line 1792 of yacc.c */
-#line 3016 "dtool/src/cppparser/cppBison.yxx"
+#line 3015 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
}
+#line 7300 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 557:
-/* Line 1792 of yacc.c */
-#line 3020 "dtool/src/cppparser/cppBison.yxx"
+#line 3019 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
}
+#line 7308 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 558:
-/* Line 1792 of yacc.c */
-#line 3024 "dtool/src/cppparser/cppBison.yxx"
+#line 3023 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
}
+#line 7316 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 559:
-/* Line 1792 of yacc.c */
-#line 3028 "dtool/src/cppparser/cppBison.yxx"
+#line 3027 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7324 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 560:
-/* Line 1792 of yacc.c */
-#line 3032 "dtool/src/cppparser/cppBison.yxx"
+#line 3031 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7332 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 561:
-/* Line 1792 of yacc.c */
-#line 3036 "dtool/src/cppparser/cppBison.yxx"
+#line 3035 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7340 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 562:
-/* Line 1792 of yacc.c */
-#line 3040 "dtool/src/cppparser/cppBison.yxx"
+#line 3039 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7348 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 563:
-/* Line 1792 of yacc.c */
-#line 3044 "dtool/src/cppparser/cppBison.yxx"
+#line 3043 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7356 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 564:
-/* Line 1792 of yacc.c */
-#line 3048 "dtool/src/cppparser/cppBison.yxx"
+#line 3047 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7364 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 565:
-/* Line 1792 of yacc.c */
-#line 3052 "dtool/src/cppparser/cppBison.yxx"
+#line 3051 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7372 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 566:
-/* Line 1792 of yacc.c */
-#line 3056 "dtool/src/cppparser/cppBison.yxx"
+#line 3055 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7380 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 567:
-/* Line 1792 of yacc.c */
-#line 3060 "dtool/src/cppparser/cppBison.yxx"
+#line 3059 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7388 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 568:
-/* Line 1792 of yacc.c */
-#line 3064 "dtool/src/cppparser/cppBison.yxx"
+#line 3063 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7396 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 569:
-/* Line 1792 of yacc.c */
-#line 3068 "dtool/src/cppparser/cppBison.yxx"
+#line 3067 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7404 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 570:
-/* Line 1792 of yacc.c */
-#line 3072 "dtool/src/cppparser/cppBison.yxx"
+#line 3071 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7412 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 571:
-/* Line 1792 of yacc.c */
-#line 3076 "dtool/src/cppparser/cppBison.yxx"
+#line 3075 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7420 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 572:
-/* Line 1792 of yacc.c */
-#line 3080 "dtool/src/cppparser/cppBison.yxx"
+#line 3079 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7428 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 573:
-/* Line 1792 of yacc.c */
-#line 3084 "dtool/src/cppparser/cppBison.yxx"
+#line 3083 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7436 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 574:
-/* Line 1792 of yacc.c */
-#line 3088 "dtool/src/cppparser/cppBison.yxx"
+#line 3087 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7444 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 575:
-/* Line 1792 of yacc.c */
-#line 3092 "dtool/src/cppparser/cppBison.yxx"
+#line 3091 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr));
+ (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7452 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 576:
-/* Line 1792 of yacc.c */
-#line 3096 "dtool/src/cppparser/cppBison.yxx"
+#line 3095 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
+ (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7460 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 577:
-/* Line 1792 of yacc.c */
-#line 3100 "dtool/src/cppparser/cppBison.yxx"
+#line 3099 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
+ (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7468 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 578:
-/* Line 1792 of yacc.c */
-#line 3104 "dtool/src/cppparser/cppBison.yxx"
+#line 3103 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 7476 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 579:
-/* Line 1792 of yacc.c */
-#line 3108 "dtool/src/cppparser/cppBison.yxx"
+#line 3107 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 7484 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 580:
-/* Line 1792 of yacc.c */
-#line 3112 "dtool/src/cppparser/cppBison.yxx"
+#line 3111 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
}
+#line 7492 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 581:
-/* Line 1792 of yacc.c */
-#line 3116 "dtool/src/cppparser/cppBison.yxx"
+#line 3115 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
+ (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7500 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 582:
-/* Line 1792 of yacc.c */
-#line 3123 "dtool/src/cppparser/cppBison.yxx"
+#line 3119 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
+ (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 7508 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 583:
-/* Line 1792 of yacc.c */
-#line 3127 "dtool/src/cppparser/cppBison.yxx"
+#line 3123 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(true);
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
}
+#line 7516 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 584:
-/* Line 1792 of yacc.c */
-#line 3131 "dtool/src/cppparser/cppBison.yxx"
+#line 3130 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(false);
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
}
+#line 7524 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 585:
-/* Line 1792 of yacc.c */
-#line 3135 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
-}
- break;
-
- case 586:
-/* Line 1792 of yacc.c */
-#line 3139 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real));
-}
- break;
-
- case 587:
-/* Line 1792 of yacc.c */
-#line 3143 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
-}
- break;
-
- case 588:
-/* Line 1792 of yacc.c */
-#line 3147 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
-}
- break;
-
- case 589:
-/* Line 1792 of yacc.c */
-#line 3151 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer);
-}
- break;
-
- case 590:
-/* Line 1792 of yacc.c */
-#line 3155 "dtool/src/cppparser/cppBison.yxx"
- {
- // A variable named "final". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[(1) - (1)]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
-}
- break;
-
- case 591:
-/* Line 1792 of yacc.c */
-#line 3161 "dtool/src/cppparser/cppBison.yxx"
- {
- // A variable named "override". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[(1) - (1)]));
- (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
-}
- break;
-
- case 592:
-/* Line 1792 of yacc.c */
-#line 3167 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr());
-}
- break;
-
- case 593:
-/* Line 1792 of yacc.c */
-#line 3171 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = NULL;
-}
- break;
-
- case 594:
-/* Line 1792 of yacc.c */
-#line 3175 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = NULL;
-}
- break;
-
- case 595:
-/* Line 1792 of yacc.c */
-#line 3189 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
-}
- break;
-
- case 596:
-/* Line 1792 of yacc.c */
-#line 3193 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr)));
-}
- break;
-
- case 597:
-/* Line 1792 of yacc.c */
-#line 3197 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_static_cast));
-}
- break;
-
- case 598:
-/* Line 1792 of yacc.c */
-#line 3201 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_dynamic_cast));
-}
- break;
-
- case 599:
-/* Line 1792 of yacc.c */
-#line 3205 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_const_cast));
-}
- break;
-
- case 600:
-/* Line 1792 of yacc.c */
-#line 3209 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr), CPPExpression::T_reinterpret_cast));
-}
- break;
-
- case 601:
-/* Line 1792 of yacc.c */
-#line 3213 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type)));
-}
- break;
-
- case 602:
-/* Line 1792 of yacc.c */
-#line 3217 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type)));
-}
- break;
-
- case 603:
-/* Line 1792 of yacc.c */
-#line 3221 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type)));
-}
- break;
-
- case 604:
-/* Line 1792 of yacc.c */
-#line 3225 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr)));
-}
- break;
-
- case 605:
-/* Line 1792 of yacc.c */
-#line 3229 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including ", (yylsp[(1) - (4)]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[(3) - (4)].u.type), std_type_info));
-}
- break;
-
- case 606:
-/* Line 1792 of yacc.c */
-#line 3240 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPIdentifier ident("");
- ident.add_name("std");
- ident.add_name("type_info");
- CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
- if (!std_type_info) {
- yywarning("cannot use typeid before including ", (yylsp[(1) - (4)]));
- }
- (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[(3) - (4)].u.expr), std_type_info));
-}
- break;
-
- case 607:
-/* Line 1792 of yacc.c */
-#line 3251 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr));
-}
- break;
-
- case 608:
-/* Line 1792 of yacc.c */
-#line 3255 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr));
-}
- break;
-
- case 609:
-/* Line 1792 of yacc.c */
-#line 3259 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
-}
- break;
-
- case 610:
-/* Line 1792 of yacc.c */
-#line 3263 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[(2) - (2)].u.expr));
-}
- break;
-
- case 611:
-/* Line 1792 of yacc.c */
-#line 3267 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr));
-}
- break;
-
- case 612:
-/* Line 1792 of yacc.c */
-#line 3271 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 613:
-/* Line 1792 of yacc.c */
-#line 3275 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 614:
-/* Line 1792 of yacc.c */
-#line 3279 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 615:
-/* Line 1792 of yacc.c */
-#line 3283 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 616:
-/* Line 1792 of yacc.c */
-#line 3287 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 617:
-/* Line 1792 of yacc.c */
-#line 3291 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 618:
-/* Line 1792 of yacc.c */
-#line 3295 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 619:
-/* Line 1792 of yacc.c */
-#line 3299 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 620:
-/* Line 1792 of yacc.c */
-#line 3303 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 621:
-/* Line 1792 of yacc.c */
-#line 3307 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 622:
-/* Line 1792 of yacc.c */
-#line 3311 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 623:
-/* Line 1792 of yacc.c */
-#line 3315 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 624:
-/* Line 1792 of yacc.c */
-#line 3319 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 625:
-/* Line 1792 of yacc.c */
-#line 3323 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 626:
-/* Line 1792 of yacc.c */
-#line 3327 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 627:
-/* Line 1792 of yacc.c */
-#line 3331 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 628:
-/* Line 1792 of yacc.c */
-#line 3335 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 629:
-/* Line 1792 of yacc.c */
-#line 3339 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 630:
-/* Line 1792 of yacc.c */
-#line 3343 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr));
-}
- break;
-
- case 631:
-/* Line 1792 of yacc.c */
-#line 3347 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 632:
-/* Line 1792 of yacc.c */
-#line 3351 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 633:
-/* Line 1792 of yacc.c */
-#line 3355 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr));
-}
- break;
-
- case 634:
-/* Line 1792 of yacc.c */
-#line 3359 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 635:
-/* Line 1792 of yacc.c */
-#line 3363 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 636:
-/* Line 1792 of yacc.c */
-#line 3367 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
-}
- break;
-
- case 637:
-/* Line 1792 of yacc.c */
-#line 3374 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
-}
- break;
-
- case 638:
-/* Line 1792 of yacc.c */
-#line 3378 "dtool/src/cppparser/cppBison.yxx"
+#line 3134 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(true);
}
+#line 7532 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 639:
-/* Line 1792 of yacc.c */
-#line 3382 "dtool/src/cppparser/cppBison.yxx"
+ case 586:
+#line 3138 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(false);
}
+#line 7540 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 640:
-/* Line 1792 of yacc.c */
-#line 3386 "dtool/src/cppparser/cppBison.yxx"
+ case 587:
+#line 3142 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
}
+#line 7548 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 641:
-/* Line 1792 of yacc.c */
-#line 3390 "dtool/src/cppparser/cppBison.yxx"
+ case 588:
+#line 3146 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real));
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real));
}
+#line 7556 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 642:
-/* Line 1792 of yacc.c */
-#line 3394 "dtool/src/cppparser/cppBison.yxx"
+ case 589:
+#line 3150 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 7564 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 643:
-/* Line 1792 of yacc.c */
-#line 3398 "dtool/src/cppparser/cppBison.yxx"
+ case 590:
+#line 3154 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 7572 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 644:
-/* Line 1792 of yacc.c */
-#line 3402 "dtool/src/cppparser/cppBison.yxx"
+ case 591:
+#line 3158 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer);
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer);
}
+#line 7580 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 645:
-/* Line 1792 of yacc.c */
-#line 3406 "dtool/src/cppparser/cppBison.yxx"
+ case 592:
+#line 3162 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// A variable named "final". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[(1) - (1)]));
+ CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0]));
(yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
}
+#line 7590 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 646:
-/* Line 1792 of yacc.c */
-#line 3412 "dtool/src/cppparser/cppBison.yxx"
+ case 593:
+#line 3168 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// A variable named "override". C++11 explicitly permits this.
- CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[(1) - (1)]));
+ CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0]));
(yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
}
+#line 7600 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 647:
-/* Line 1792 of yacc.c */
-#line 3418 "dtool/src/cppparser/cppBison.yxx"
+ case 594:
+#line 3174 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr());
}
+#line 7608 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 655:
-/* Line 1792 of yacc.c */
-#line 3439 "dtool/src/cppparser/cppBison.yxx"
+ case 595:
+#line 3178 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true);
- if (type == NULL) {
- type = CPPType::new_type(new CPPTBDType((yyvsp[(1) - (1)].u.identifier)));
- }
- (yyval.u.type) = type;
+ (yyval.u.expr) = NULL;
}
+#line 7616 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 656:
-/* Line 1792 of yacc.c */
-#line 3447 "dtool/src/cppparser/cppBison.yxx"
+ case 596:
+#line 3182 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer);
- if (type == NULL) {
- type = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
- }
- (yyval.u.type) = type;
+ (yyval.u.expr) = NULL;
}
+#line 7624 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 597:
+#line 3196 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 7632 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 598:
+#line 3200 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
+}
+#line 7640 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 599:
+#line 3204 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast));
+}
+#line 7648 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 600:
+#line 3208 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast));
+}
+#line 7656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 601:
+#line 3212 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast));
+}
+#line 7664 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 602:
+#line 3216 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast));
+}
+#line 7672 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 603:
+#line 3220 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
+}
+#line 7680 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 604:
+#line 3224 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type)));
+}
+#line 7688 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 605:
+#line 3228 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
+}
+#line 7696 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 606:
+#line 3232 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr)));
+}
+#line 7704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 607:
+#line 3236 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPIdentifier ident("");
+ ident.add_name("std");
+ ident.add_name("type_info");
+ CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
+ if (!std_type_info) {
+ yywarning("cannot use typeid before including ", (yylsp[-3]));
+ }
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info));
+}
+#line 7719 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 608:
+#line 3247 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPIdentifier ident("");
+ ident.add_name("std");
+ ident.add_name("type_info");
+ CPPType *std_type_info = ident.find_type(current_scope, global_scope, false, current_lexer);
+ if (!std_type_info) {
+ yywarning("cannot use typeid before including ", (yylsp[-3]));
+ }
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info));
+}
+#line 7734 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 609:
+#line 3258 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
+}
+#line 7742 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 610:
+#line 3262 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
+}
+#line 7750 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 611:
+#line 3266 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
+}
+#line 7758 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 612:
+#line 3270 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr));
+}
+#line 7766 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 613:
+#line 3274 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
+}
+#line 7774 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 614:
+#line 3278 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7782 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 615:
+#line 3282 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7790 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 616:
+#line 3286 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7798 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 617:
+#line 3290 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7806 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 618:
+#line 3294 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7814 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 619:
+#line 3298 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7822 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 620:
+#line 3302 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7830 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 621:
+#line 3306 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7838 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 622:
+#line 3310 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7846 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 623:
+#line 3314 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7854 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 624:
+#line 3318 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7862 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 625:
+#line 3322 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7870 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 626:
+#line 3326 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7878 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 627:
+#line 3330 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7886 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 628:
+#line 3334 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7894 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 629:
+#line 3338 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7902 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 630:
+#line 3342 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7910 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 631:
+#line 3346 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7918 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 632:
+#line 3350 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7926 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 633:
+#line 3354 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
+}
+#line 7934 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 634:
+#line 3358 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
+}
+#line 7942 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 635:
+#line 3362 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr));
+}
+#line 7950 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 636:
+#line 3366 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7958 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 637:
+#line 3370 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 7966 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 638:
+#line 3374 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
+}
+#line 7974 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 639:
+#line 3381 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
+}
+#line 7982 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 640:
+#line 3385 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(true);
+}
+#line 7990 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 641:
+#line 3389 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(false);
+}
+#line 7998 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 642:
+#line 3393 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
+}
+#line 8006 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 643:
+#line 3397 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real));
+}
+#line 8014 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 644:
+#line 3401 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 8022 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 645:
+#line 3405 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 8030 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 646:
+#line 3409 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer);
+}
+#line 8038 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 647:
+#line 3413 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ // A variable named "final". C++11 explicitly permits this.
+ CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0]));
+ (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
+}
+#line 8048 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 648:
+#line 3419 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ // A variable named "override". C++11 explicitly permits this.
+ CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0]));
+ (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer);
+}
+#line 8058 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 649:
+#line 3425 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr());
+}
+#line 8066 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 657:
-/* Line 1792 of yacc.c */
-#line 3455 "dtool/src/cppparser/cppBison.yxx"
+#line 3446 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true);
+ if (type == NULL) {
+ type = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
+ }
+ (yyval.u.type) = type;
}
+#line 8078 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 658:
-/* Line 1792 of yacc.c */
-#line 3483 "dtool/src/cppparser/cppBison.yxx"
+#line 3454 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
+ CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true, current_lexer);
+ if (type == NULL) {
+ type = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
+ }
+ (yyval.u.type) = type;
}
+#line 8090 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 659:
-/* Line 1792 of yacc.c */
-#line 3487 "dtool/src/cppparser/cppBison.yxx"
+#line 3462 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 8098 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 660:
-/* Line 1792 of yacc.c */
-#line 3491 "dtool/src/cppparser/cppBison.yxx"
+#line 3490 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[(1) - (1)]));
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
}
+#line 8106 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 661:
-/* Line 1792 of yacc.c */
-#line 3495 "dtool/src/cppparser/cppBison.yxx"
+#line 3494 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[(1) - (1)]));
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
}
+#line 8114 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 662:
-/* Line 1792 of yacc.c */
-#line 3506 "dtool/src/cppparser/cppBison.yxx"
+#line 3498 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
+ (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0]));
}
+#line 8122 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 663:
-/* Line 1792 of yacc.c */
-#line 3510 "dtool/src/cppparser/cppBison.yxx"
+#line 3502 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
+ (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0]));
}
+#line 8130 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 664:
-/* Line 1792 of yacc.c */
-#line 3514 "dtool/src/cppparser/cppBison.yxx"
+#line 3506 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[(1) - (1)]));
+ // This is not a keyword in Python, so it is useful to be able to use this
+ // in MAKE_PROPERTY definitions, etc.
+ (yyval.u.identifier) = new CPPIdentifier("signed", (yylsp[0]));
}
+#line 8140 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 665:
-/* Line 1792 of yacc.c */
-#line 3522 "dtool/src/cppparser/cppBison.yxx"
+#line 3512 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str));
+ (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0]));
}
+#line 8148 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 666:
-/* Line 1792 of yacc.c */
-#line 3526 "dtool/src/cppparser/cppBison.yxx"
+#line 3516 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0]));
}
+#line 8156 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 667:
-/* Line 1792 of yacc.c */
-#line 3530 "dtool/src/cppparser/cppBison.yxx"
+#line 3520 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- // The right string takes on the literal type of the left.
- (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr);
- (yyval.u.expr)->_str += (yyvsp[(2) - (2)].str);
+ (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0]));
}
+#line 8164 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 668:
-/* Line 1792 of yacc.c */
-#line 3536 "dtool/src/cppparser/cppBison.yxx"
+#line 3531 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
+}
+#line 8172 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 669:
+#line 3535 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
+}
+#line 8180 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 670:
+#line 3539 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0]));
+}
+#line 8188 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 671:
+#line 3547 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].str));
+}
+#line 8196 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 672:
+#line 3551 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 8204 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 673:
+#line 3555 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ // The right string takes on the literal type of the left.
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
+ (yyval.u.expr)->_str += (yyvsp[0].str);
+}
+#line 8214 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 674:
+#line 3561 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
// We have to check that the two literal types match up.
- (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr);
- if ((yyvsp[(2) - (2)].u.expr)->_type != CPPExpression::T_string && (yyvsp[(2) - (2)].u.expr)->_type != (yyvsp[(1) - (2)].u.expr)->_type) {
+ (yyval.u.expr) = (yyvsp[-1].u.expr);
+ if ((yyvsp[0].u.expr)->_type != CPPExpression::T_string && (yyvsp[0].u.expr)->_type != (yyvsp[-1].u.expr)->_type) {
yywarning("cannot concatenate two string literals of different types", (yyloc));
}
- (yyval.u.expr)->_str += (yyvsp[(2) - (2)].u.expr)->_str;
+ (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str;
}
+#line 8227 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
-/* Line 1792 of yacc.c */
-#line 8616 "built/tmp/cppBison.yxx.c"
+#line 8231 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -8635,7 +8250,7 @@ yyreduce:
*++yyvsp = yyval;
*++yylsp = yyloc;
- /* Now `shift' the result of the reduction. Determine what state
+ /* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -8650,9 +8265,9 @@ yyreduce:
goto yynewstate;
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
@@ -8703,20 +8318,20 @@ yyerrlab:
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
- error, discard it. */
+ error, discard it. */
if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- }
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, &yylloc);
+ yychar = YYEMPTY;
+ }
}
/* Else will try to reuse lookahead token after shifting the error
@@ -8736,7 +8351,7 @@ yyerrorlab:
goto yyerrorlab;
yyerror_range[1] = yylsp[1-yylen];
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
@@ -8749,29 +8364,29 @@ yyerrorlab:
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
- YYABORT;
+ YYABORT;
yyerror_range[1] = *yylsp;
yydestruct ("Error: popping",
- yystos[yystate], yyvsp, yylsp);
+ yystos[yystate], yyvsp, yylsp);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
@@ -8827,14 +8442,14 @@ yyreturn:
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
}
- /* Do not reclaim the symbols of the rule which action triggered
+ /* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp, yylsp);
+ yystos[*yyssp], yyvsp, yylsp);
YYPOPSTACK (1);
}
#ifndef yyoverflow
@@ -8845,8 +8460,5 @@ yyreturn:
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
+ return yyresult;
}
-
-
diff --git a/dtool/src/cppparser/cppBison.h.prebuilt b/dtool/src/cppparser/cppBison.h.prebuilt
index c7784f5edf..75d9fe4c15 100644
--- a/dtool/src/cppparser/cppBison.h.prebuilt
+++ b/dtool/src/cppparser/cppBison.h.prebuilt
@@ -1,19 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.7. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
-
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see . */
@@ -26,13 +26,13 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
#ifndef YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
# define YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED
-/* Enabling traces. */
+/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
@@ -40,134 +40,133 @@
extern int cppyydebug;
#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 {
- REAL = 258,
- INTEGER = 259,
- CHAR_TOK = 260,
- SIMPLE_STRING = 261,
- SIMPLE_IDENTIFIER = 262,
- STRING_LITERAL = 263,
- CUSTOM_LITERAL = 264,
- IDENTIFIER = 265,
- TYPENAME_IDENTIFIER = 266,
- SCOPING = 267,
- TYPEDEFNAME = 268,
- ELLIPSIS = 269,
- OROR = 270,
- ANDAND = 271,
- EQCOMPARE = 272,
- NECOMPARE = 273,
- LECOMPARE = 274,
- GECOMPARE = 275,
- LSHIFT = 276,
- RSHIFT = 277,
- POINTSAT_STAR = 278,
- DOT_STAR = 279,
- UNARY = 280,
- UNARY_NOT = 281,
- UNARY_NEGATE = 282,
- UNARY_MINUS = 283,
- UNARY_PLUS = 284,
- UNARY_STAR = 285,
- UNARY_REF = 286,
- POINTSAT = 287,
- SCOPE = 288,
- PLUSPLUS = 289,
- MINUSMINUS = 290,
- TIMESEQUAL = 291,
- DIVIDEEQUAL = 292,
- MODEQUAL = 293,
- PLUSEQUAL = 294,
- MINUSEQUAL = 295,
- OREQUAL = 296,
- ANDEQUAL = 297,
- XOREQUAL = 298,
- LSHIFTEQUAL = 299,
- RSHIFTEQUAL = 300,
- KW_ALIGNAS = 301,
- KW_ALIGNOF = 302,
- KW_AUTO = 303,
- KW_BEGIN_PUBLISH = 304,
- KW_BLOCKING = 305,
- KW_BOOL = 306,
- KW_CATCH = 307,
- KW_CHAR = 308,
- KW_CHAR16_T = 309,
- KW_CHAR32_T = 310,
- KW_CLASS = 311,
- KW_CONST = 312,
- KW_CONSTEXPR = 313,
- KW_CONST_CAST = 314,
- KW_DECLTYPE = 315,
- KW_DEFAULT = 316,
- KW_DELETE = 317,
- KW_DOUBLE = 318,
- KW_DYNAMIC_CAST = 319,
- KW_ELSE = 320,
- KW_END_PUBLISH = 321,
- KW_ENUM = 322,
- KW_EXTENSION = 323,
- KW_EXTERN = 324,
- KW_EXPLICIT = 325,
- KW_PUBLISHED = 326,
- KW_FALSE = 327,
- KW_FINAL = 328,
- KW_FLOAT = 329,
- KW_FRIEND = 330,
- KW_FOR = 331,
- KW_GOTO = 332,
- KW_IF = 333,
- KW_INLINE = 334,
- KW_INT = 335,
- KW_LONG = 336,
- KW_MAKE_PROPERTY = 337,
- KW_MAKE_PROPERTY2 = 338,
- KW_MAKE_SEQ = 339,
- KW_MUTABLE = 340,
- KW_NAMESPACE = 341,
- KW_NEW = 342,
- KW_NOEXCEPT = 343,
- KW_NULLPTR = 344,
- KW_OPERATOR = 345,
- KW_OVERRIDE = 346,
- KW_PRIVATE = 347,
- KW_PROTECTED = 348,
- KW_PUBLIC = 349,
- KW_REGISTER = 350,
- KW_REINTERPRET_CAST = 351,
- KW_RETURN = 352,
- KW_SHORT = 353,
- KW_SIGNED = 354,
- KW_SIZEOF = 355,
- KW_STATIC = 356,
- KW_STATIC_ASSERT = 357,
- KW_STATIC_CAST = 358,
- KW_STRUCT = 359,
- KW_TEMPLATE = 360,
- KW_THREAD_LOCAL = 361,
- KW_THROW = 362,
- KW_TRUE = 363,
- KW_TRY = 364,
- KW_TYPEDEF = 365,
- KW_TYPEID = 366,
- KW_TYPENAME = 367,
- KW_UNION = 368,
- KW_UNSIGNED = 369,
- KW_USING = 370,
- KW_VIRTUAL = 371,
- KW_VOID = 372,
- KW_VOLATILE = 373,
- KW_WCHAR_T = 374,
- KW_WHILE = 375,
- START_CPP = 376,
- START_CONST_EXPR = 377,
- START_TYPE = 378
- };
+ enum yytokentype
+ {
+ REAL = 258,
+ INTEGER = 259,
+ CHAR_TOK = 260,
+ SIMPLE_STRING = 261,
+ SIMPLE_IDENTIFIER = 262,
+ STRING_LITERAL = 263,
+ CUSTOM_LITERAL = 264,
+ IDENTIFIER = 265,
+ TYPENAME_IDENTIFIER = 266,
+ SCOPING = 267,
+ TYPEDEFNAME = 268,
+ ELLIPSIS = 269,
+ OROR = 270,
+ ANDAND = 271,
+ EQCOMPARE = 272,
+ NECOMPARE = 273,
+ LECOMPARE = 274,
+ GECOMPARE = 275,
+ LSHIFT = 276,
+ RSHIFT = 277,
+ POINTSAT_STAR = 278,
+ DOT_STAR = 279,
+ UNARY = 280,
+ UNARY_NOT = 281,
+ UNARY_NEGATE = 282,
+ UNARY_MINUS = 283,
+ UNARY_PLUS = 284,
+ UNARY_STAR = 285,
+ UNARY_REF = 286,
+ POINTSAT = 287,
+ SCOPE = 288,
+ PLUSPLUS = 289,
+ MINUSMINUS = 290,
+ TIMESEQUAL = 291,
+ DIVIDEEQUAL = 292,
+ MODEQUAL = 293,
+ PLUSEQUAL = 294,
+ MINUSEQUAL = 295,
+ OREQUAL = 296,
+ ANDEQUAL = 297,
+ XOREQUAL = 298,
+ LSHIFTEQUAL = 299,
+ RSHIFTEQUAL = 300,
+ KW_ALIGNAS = 301,
+ KW_ALIGNOF = 302,
+ KW_AUTO = 303,
+ KW_BEGIN_PUBLISH = 304,
+ KW_BLOCKING = 305,
+ KW_BOOL = 306,
+ KW_CATCH = 307,
+ KW_CHAR = 308,
+ KW_CHAR16_T = 309,
+ KW_CHAR32_T = 310,
+ KW_CLASS = 311,
+ KW_CONST = 312,
+ KW_CONSTEXPR = 313,
+ KW_CONST_CAST = 314,
+ KW_DECLTYPE = 315,
+ KW_DEFAULT = 316,
+ KW_DELETE = 317,
+ KW_DOUBLE = 318,
+ KW_DYNAMIC_CAST = 319,
+ KW_ELSE = 320,
+ KW_END_PUBLISH = 321,
+ KW_ENUM = 322,
+ KW_EXTENSION = 323,
+ KW_EXTERN = 324,
+ KW_EXPLICIT = 325,
+ KW_PUBLISHED = 326,
+ KW_FALSE = 327,
+ KW_FINAL = 328,
+ KW_FLOAT = 329,
+ KW_FRIEND = 330,
+ KW_FOR = 331,
+ KW_GOTO = 332,
+ KW_IF = 333,
+ KW_INLINE = 334,
+ KW_INT = 335,
+ KW_LONG = 336,
+ KW_MAKE_PROPERTY = 337,
+ KW_MAKE_PROPERTY2 = 338,
+ KW_MAKE_SEQ = 339,
+ KW_MUTABLE = 340,
+ KW_NAMESPACE = 341,
+ KW_NEW = 342,
+ KW_NOEXCEPT = 343,
+ KW_NULLPTR = 344,
+ KW_OPERATOR = 345,
+ KW_OVERRIDE = 346,
+ KW_PRIVATE = 347,
+ KW_PROTECTED = 348,
+ KW_PUBLIC = 349,
+ KW_REGISTER = 350,
+ KW_REINTERPRET_CAST = 351,
+ KW_RETURN = 352,
+ KW_SHORT = 353,
+ KW_SIGNED = 354,
+ KW_SIZEOF = 355,
+ KW_STATIC = 356,
+ KW_STATIC_ASSERT = 357,
+ KW_STATIC_CAST = 358,
+ KW_STRUCT = 359,
+ KW_TEMPLATE = 360,
+ KW_THREAD_LOCAL = 361,
+ KW_THROW = 362,
+ KW_TRUE = 363,
+ KW_TRY = 364,
+ KW_TYPEDEF = 365,
+ KW_TYPEID = 366,
+ KW_TYPENAME = 367,
+ KW_UNION = 368,
+ KW_UNSIGNED = 369,
+ KW_USING = 370,
+ KW_VIRTUAL = 371,
+ KW_VOID = 372,
+ KW_VOLATILE = 373,
+ KW_WCHAR_T = 374,
+ KW_WHILE = 375,
+ START_CPP = 376,
+ START_CONST_EXPR = 377,
+ START_TYPE = 378
+ };
#endif
/* Tokens. */
#define REAL 258
@@ -292,40 +291,24 @@ extern int cppyydebug;
#define START_CONST_EXPR 377
#define START_TYPE 378
+/* Value type. */
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
+/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
-typedef struct YYLTYPE
+typedef struct YYLTYPE YYLTYPE;
+struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
-} YYLTYPE;
-# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
+};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int cppyyparse (void *YYPARSE_PARAM);
-#else
-int cppyyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
+
int cppyyparse (void);
-#else
-int cppyyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_CPPYY_BUILT_TMP_CPPBISON_YXX_H_INCLUDED */
diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx
index b9a64f90fc..f71c5a7fd9 100644
--- a/dtool/src/cppparser/cppBison.yxx
+++ b/dtool/src/cppparser/cppBison.yxx
@@ -2349,21 +2349,23 @@ enum:
;
enum_decl:
- enum_keyword name_no_final ':' enum_element_type
+ enum_keyword ':' enum_element_type
{
- current_enum = new CPPEnumType($2, $4, current_scope, @1.file);
-}
- | enum_keyword name_no_final
-{
- current_enum = new CPPEnumType($2, current_scope, @1.file);
-}
- | enum_keyword ':' enum_element_type
-{
- current_enum = new CPPEnumType(NULL, $3, current_scope, @1.file);
+ current_enum = new CPPEnumType($1, NULL, $3, current_scope, NULL, @1.file);
}
| enum_keyword
{
- current_enum = new CPPEnumType(NULL, current_scope, @1.file);
+ current_enum = new CPPEnumType($1, NULL, current_scope, NULL, @1.file);
+}
+ | enum_keyword name_no_final ':' enum_element_type
+{
+ CPPScope *new_scope = new CPPScope(current_scope, $2->_names.back(), V_public);
+ current_enum = new CPPEnumType($1, $2, $4, current_scope, new_scope, @1.file);
+}
+ | enum_keyword name_no_final
+{
+ CPPScope *new_scope = new CPPScope(current_scope, $2->_names.back(), V_public);
+ current_enum = new CPPEnumType($1, $2, current_scope, new_scope, @1.file);
}
;
@@ -2383,14 +2385,12 @@ enum_body_trailing_comma:
| enum_body_trailing_comma name ','
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element($2->get_simple_name());
- current_scope->add_enum_value(inst, current_lexer, @2);
+ current_enum->add_element($2->get_simple_name(), NULL, current_lexer, @2);
}
| enum_body_trailing_comma name '=' const_expr ','
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element($2->get_simple_name(), $4);
- current_scope->add_enum_value(inst, current_lexer, @2);
+ current_enum->add_element($2->get_simple_name(), $4, current_lexer, @2);
};
enum_body:
@@ -2398,14 +2398,12 @@ enum_body:
| enum_body_trailing_comma name
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element($2->get_simple_name());
- current_scope->add_enum_value(inst, current_lexer, @2);
+ current_enum->add_element($2->get_simple_name(), NULL, current_lexer, @2);
}
| enum_body_trailing_comma name '=' const_expr
{
assert(current_enum != NULL);
- CPPInstance *inst = current_enum->add_element($2->get_simple_name(), $4);
- current_scope->add_enum_value(inst, current_lexer, @2);
+ current_enum->add_element($2->get_simple_name(), $4, current_lexer, @2);
}
;
@@ -2413,6 +2411,14 @@ enum_keyword:
KW_ENUM
{
$$ = CPPExtensionType::T_enum;
+}
+ | KW_ENUM KW_CLASS
+{
+ $$ = CPPExtensionType::T_enum_class;
+}
+ | KW_ENUM KW_STRUCT
+{
+ $$ = CPPExtensionType::T_enum_struct;
}
;
@@ -3495,6 +3501,24 @@ name:
| KW_OVERRIDE
{
$$ = new CPPIdentifier("override", @1);
+}
+ | KW_SIGNED
+{
+ // This is not a keyword in Python, so it is useful to be able to use this
+ // in MAKE_PROPERTY definitions, etc.
+ $$ = new CPPIdentifier("signed", @1);
+}
+ | KW_FLOAT
+{
+ $$ = new CPPIdentifier("float", @1);
+}
+ | KW_PUBLIC
+{
+ $$ = new CPPIdentifier("public", @1);
+}
+ | KW_PRIVATE
+{
+ $$ = new CPPIdentifier("private", @1);
}
;
diff --git a/dtool/src/cppparser/cppEnumType.cxx b/dtool/src/cppparser/cppEnumType.cxx
index bee8ec2f5b..927488585d 100644
--- a/dtool/src/cppparser/cppEnumType.cxx
+++ b/dtool/src/cppparser/cppEnumType.cxx
@@ -22,42 +22,53 @@
#include "indent.h"
/**
- * Creates an untyped, unscoped enum.
+ * Creates an untyped enum.
*/
CPPEnumType::
-CPPEnumType(CPPIdentifier *ident, CPPScope *current_scope,
- const CPPFile &file) :
- CPPExtensionType(T_enum, ident, current_scope, file),
- _parent_scope(current_scope),
+CPPEnumType(Type type, CPPIdentifier *ident, CPPScope *current_scope,
+ CPPScope *scope, const CPPFile &file) :
+ CPPExtensionType(type, ident, current_scope, file),
+ _scope(scope),
_element_type(NULL),
_last_value(NULL)
{
+ _parent_scope = (type == T_enum) ? current_scope : scope;
+
if (ident != NULL) {
ident->_native_scope = current_scope;
}
}
/**
- * Creates a typed but unscoped enum.
+ * Creates a typed enum.
*/
CPPEnumType::
-CPPEnumType(CPPIdentifier *ident, CPPType *element_type,
- CPPScope *current_scope, const CPPFile &file) :
- CPPExtensionType(T_enum, ident, current_scope, file),
- _parent_scope(current_scope),
+CPPEnumType(Type type, CPPIdentifier *ident, CPPType *element_type,
+ CPPScope *current_scope, CPPScope *scope, const CPPFile &file) :
+ CPPExtensionType(type, ident, current_scope, file),
+ _scope(scope),
_element_type(element_type),
_last_value(NULL)
{
+ _parent_scope = (type == T_enum) ? current_scope : scope;
if (ident != NULL) {
ident->_native_scope = current_scope;
}
}
+/**
+ * Returns true if this is a scoped enum.
+ */
+bool CPPEnumType::
+is_scoped() const {
+ return (_type != T_enum);
+}
+
/**
* Returns the integral type used to store enum values.
*/
CPPType *CPPEnumType::
-get_element_type() {
+get_underlying_type() {
if (_element_type == NULL) {
// This enum is untyped. Use a suitable default, ie. 'int'. In the
// future, we might want to check whether it fits in an int.
@@ -78,11 +89,18 @@ get_element_type() {
*
*/
CPPInstance *CPPEnumType::
-add_element(const string &name, CPPExpression *value) {
+add_element(const string &name, CPPExpression *value, CPPPreprocessor *preprocessor, const cppyyltype &pos) {
CPPIdentifier *ident = new CPPIdentifier(name);
ident->_native_scope = _parent_scope;
- CPPInstance *inst = new CPPInstance(get_element_type(), ident);
+ CPPInstance *inst;
+ if (_type == T_enum) {
+ // Weakly typed enum.
+ inst = new CPPInstance(get_underlying_type(), ident);
+ } else {
+ // C++11-style strongly typed enum.
+ inst = new CPPInstance(this, ident);
+ }
inst->_storage_class |= CPPInstance::SC_constexpr;
_elements.push_back(inst);
@@ -104,6 +122,41 @@ add_element(const string &name, CPPExpression *value) {
}
inst->_initializer = value;
_last_value = value;
+
+ if (preprocessor != (CPPPreprocessor *)NULL) {
+ // Same-line comment?
+ CPPCommentBlock *comment =
+ preprocessor->get_comment_on(pos.first_line, pos.file);
+
+ if (comment == (CPPCommentBlock *)NULL) {
+ // Nope. Check for a comment before this line.
+ comment =
+ preprocessor->get_comment_before(pos.first_line, pos.file);
+
+ if (comment != NULL) {
+ // This is a bit of a hack, but it prevents us from picking up a same-
+ // line comment from the previous line.
+ if (comment->_line_number != pos.first_line - 1 ||
+ comment->_col_number <= pos.first_column) {
+
+ inst->_leading_comment = comment;
+ }
+ }
+ } else {
+ inst->_leading_comment = comment;
+ }
+ }
+
+ // Add the value to the enum scope (as per C++11), assuming it's not anonymous.
+ if (_scope != NULL) {
+ _scope->add_enum_value(inst);
+ }
+
+ // Now add it to the containing scope as well if it's not an "enum class".
+ if (!is_scoped() && _parent_scope != NULL) {
+ _parent_scope->add_enum_value(inst);
+ }
+
return inst;
}
diff --git a/dtool/src/cppparser/cppEnumType.h b/dtool/src/cppparser/cppEnumType.h
index 85143d664b..c22742203c 100644
--- a/dtool/src/cppparser/cppEnumType.h
+++ b/dtool/src/cppparser/cppEnumType.h
@@ -30,15 +30,16 @@ class CPPScope;
*/
class CPPEnumType : public CPPExtensionType {
public:
- CPPEnumType(CPPIdentifier *ident, CPPScope *current_scope,
- const CPPFile &file);
- CPPEnumType(CPPIdentifier *ident, CPPType *element_type,
- CPPScope *current_scope, const CPPFile &file);
+ CPPEnumType(Type type, CPPIdentifier *ident, CPPScope *current_scope,
+ CPPScope *scope, const CPPFile &file);
+ CPPEnumType(Type type, CPPIdentifier *ident, CPPType *element_type,
+ CPPScope *current_scope, CPPScope *scope, const CPPFile &file);
- CPPType *get_element_type();
+ bool is_scoped() const;
+ CPPType *get_underlying_type();
- CPPInstance *add_element(const string &name,
- CPPExpression *value = (CPPExpression *)NULL);
+ CPPInstance *add_element(const string &name, CPPExpression *value,
+ CPPPreprocessor *preprocessor, const cppyyltype &pos);
virtual bool is_incomplete() const;
@@ -54,6 +55,7 @@ public:
virtual CPPEnumType *as_enum_type();
CPPScope *_parent_scope;
+ CPPScope *_scope;
CPPType *_element_type;
typedef vector Elements;
diff --git a/dtool/src/cppparser/cppExpression.cxx b/dtool/src/cppparser/cppExpression.cxx
index 8456c402f5..7ef5ec85fb 100644
--- a/dtool/src/cppparser/cppExpression.cxx
+++ b/dtool/src/cppparser/cppExpression.cxx
@@ -949,7 +949,7 @@ determine_type() const {
case CPPDeclaration::ST_enum:
// Convert into integral type.
- return t1->as_enum_type()->get_element_type();
+ return t1->as_enum_type()->get_underlying_type();
case CPPDeclaration::ST_simple:
{
diff --git a/dtool/src/cppparser/cppExtensionType.cxx b/dtool/src/cppparser/cppExtensionType.cxx
index 9e9aeb4c71..36bdd307fe 100644
--- a/dtool/src/cppparser/cppExtensionType.cxx
+++ b/dtool/src/cppparser/cppExtensionType.cxx
@@ -229,6 +229,12 @@ operator << (ostream &out, CPPExtensionType::Type type) {
case CPPExtensionType::T_union:
return out << "union";
+ case CPPExtensionType::T_enum_class:
+ return out << "enum class";
+
+ case CPPExtensionType::T_enum_struct:
+ return out << "enum struct";
+
default:
return out << "***invalid extension type***";
}
diff --git a/dtool/src/cppparser/cppExtensionType.h b/dtool/src/cppparser/cppExtensionType.h
index 801809f753..e60aeb9f21 100644
--- a/dtool/src/cppparser/cppExtensionType.h
+++ b/dtool/src/cppparser/cppExtensionType.h
@@ -34,6 +34,8 @@ public:
T_class,
T_struct,
T_union,
+ T_enum_class,
+ T_enum_struct,
};
CPPExtensionType(Type type, CPPIdentifier *ident, CPPScope *current_scope,
diff --git a/dtool/src/cppparser/cppScope.cxx b/dtool/src/cppparser/cppScope.cxx
index 158c3884d2..bd12a9025a 100644
--- a/dtool/src/cppparser/cppScope.cxx
+++ b/dtool/src/cppparser/cppScope.cxx
@@ -124,34 +124,9 @@ add_declaration(CPPDeclaration *decl, CPPScope *global_scope,
*
*/
void CPPScope::
-add_enum_value(CPPInstance *inst, CPPPreprocessor *preprocessor,
- const cppyyltype &pos) {
+add_enum_value(CPPInstance *inst) {
inst->_vis = _current_vis;
- if (inst->_leading_comment == (CPPCommentBlock *)NULL) {
- // Same-line comment?
- CPPCommentBlock *comment =
- preprocessor->get_comment_on(pos.first_line, pos.file);
-
- if (comment == (CPPCommentBlock *)NULL) {
- // Nope. Check for a comment before this line.
- comment =
- preprocessor->get_comment_before(pos.first_line, pos.file);
-
- if (comment != NULL) {
- // This is a bit of a hack, but it prevents us from picking up a same-
- // line comment from the previous line.
- if (comment->_line_number != pos.first_line - 1 ||
- comment->_col_number <= pos.first_column) {
-
- inst->_leading_comment = comment;
- }
- }
- } else {
- inst->_leading_comment = comment;
- }
- }
-
string name = inst->get_simple_name();
if (!name.empty()) {
_enum_values[name] = inst;
@@ -183,6 +158,8 @@ define_extension_type(CPPExtensionType *type, CPPPreprocessor *error_sink) {
break;
case CPPExtensionType::T_enum:
+ case CPPExtensionType::T_enum_struct:
+ case CPPExtensionType::T_enum_class:
_enums[name] = type;
break;
}
@@ -606,6 +583,11 @@ find_scope(const string &name, bool recurse) const {
if (st != NULL) {
return st->_scope;
}
+
+ CPPEnumType *et = type->as_enum_type();
+ if (et != NULL) {
+ return et->_scope;
+ }
}
Using::const_iterator ui;
@@ -645,11 +627,16 @@ find_scope(const string &name, CPPDeclaration::SubstDecl &subst,
}
CPPStructType *st = type->as_struct_type();
- if (st == NULL) {
- return NULL;
+ if (st != NULL) {
+ return st->_scope;
}
- return st->_scope;
+ CPPEnumType *et = type->as_enum_type();
+ if (et != NULL) {
+ return et->_scope;
+ }
+
+ return NULL;
}
/**
diff --git a/dtool/src/cppparser/cppScope.h b/dtool/src/cppparser/cppScope.h
index 7941a9afb1..387d55d18c 100644
--- a/dtool/src/cppparser/cppScope.h
+++ b/dtool/src/cppparser/cppScope.h
@@ -61,9 +61,7 @@ public:
virtual void add_declaration(CPPDeclaration *decl, CPPScope *global_scope,
CPPPreprocessor *preprocessor,
const cppyyltype &pos);
- virtual void add_enum_value(CPPInstance *inst,
- CPPPreprocessor *preprocessor,
- const cppyyltype &pos);
+ virtual void add_enum_value(CPPInstance *inst);
virtual void define_extension_type(CPPExtensionType *type,
CPPPreprocessor *error_sink = NULL);
virtual void define_namespace(CPPNamespace *scope);
diff --git a/dtool/src/cppparser/cppTemplateScope.cxx b/dtool/src/cppparser/cppTemplateScope.cxx
index baa36a5619..1e90b3a97e 100644
--- a/dtool/src/cppparser/cppTemplateScope.cxx
+++ b/dtool/src/cppparser/cppTemplateScope.cxx
@@ -43,11 +43,10 @@ add_declaration(CPPDeclaration *decl, CPPScope *global_scope,
*
*/
void CPPTemplateScope::
-add_enum_value(CPPInstance *inst, CPPPreprocessor *preprocessor,
- const cppyyltype &pos) {
+add_enum_value(CPPInstance *inst) {
inst->_template_scope = this;
assert(_parent_scope != NULL);
- _parent_scope->add_enum_value(inst, preprocessor, pos);
+ _parent_scope->add_enum_value(inst);
}
/**
diff --git a/dtool/src/cppparser/cppTemplateScope.h b/dtool/src/cppparser/cppTemplateScope.h
index 7ce48f34f3..0159dab680 100644
--- a/dtool/src/cppparser/cppTemplateScope.h
+++ b/dtool/src/cppparser/cppTemplateScope.h
@@ -33,9 +33,7 @@ public:
virtual void add_declaration(CPPDeclaration *decl, CPPScope *global_scope,
CPPPreprocessor *preprocessor,
const cppyyltype &pos);
- virtual void add_enum_value(CPPInstance *inst,
- CPPPreprocessor *preprocessor,
- const cppyyltype &pos);
+ virtual void add_enum_value(CPPInstance *inst);
virtual void define_extension_type(CPPExtensionType *type,
CPPPreprocessor *error_sink = NULL);
virtual void define_namespace(CPPNamespace *scope);
diff --git a/dtool/src/interrogate/interfaceMakerPythonNative.cxx b/dtool/src/interrogate/interfaceMakerPythonNative.cxx
index 5dde93b7d1..69be99605f 100644
--- a/dtool/src/interrogate/interfaceMakerPythonNative.cxx
+++ b/dtool/src/interrogate/interfaceMakerPythonNative.cxx
@@ -764,10 +764,6 @@ write_prototypes(ostream &out_code, ostream *out_h) {
*out_h << "#include \"py_panda.h\"\n\n";
}
- out_code << "//********************************************************************\n";
- out_code << "//*** prototypes for .. Global\n";
- out_code << "//********************************************************************\n";
-
/*
for (fi = _functions.begin(); fi != _functions.end(); ++fi)
{
@@ -792,9 +788,9 @@ write_prototypes(ostream &out_code, ostream *out_h) {
}
}
- out_code << "//********************************************************************\n";
- out_code << "//*** prototypes for .. External Objects\n";
- out_code << "//********************************************************************\n";
+ out_code << "/**\n";
+ out_code << " * Extern declarations for imported classes\n";
+ out_code << " */\n";
for (std::set::iterator ii = _external_imports.begin(); ii != _external_imports.end(); ii++) {
CPPType *type = (*ii);
@@ -897,9 +893,9 @@ write_prototypes_class_external(ostream &out, Object *obj) {
std::string preferred_name = obj->_itype.get_name();
- out << "//********************************************************************\n";
- out << "//*** prototypes for external.. " << class_name << "\n";
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Forward declaration of class " << class_name << "\n";
+ out << " */\n";
// This typedef is necessary for class templates since we can't pass a comma
// to a macro function.
@@ -915,9 +911,9 @@ write_prototypes_class(ostream &out_code, ostream *out_h, Object *obj) {
std::string ClassName = make_safe_name(obj->_itype.get_scoped_name());
Functions::iterator fi;
- out_code << "//********************************************************************\n";
- out_code << "//*** prototypes for .. " << ClassName << "\n";
- out_code << "//********************************************************************\n";
+ out_code << "/**\n";
+ out_code << " * Forward declarations for top-level class " << ClassName << "\n";
+ out_code << " */\n";
/*
for (fi = obj->_methods.begin(); fi != obj->_methods.end(); ++fi) {
@@ -943,9 +939,9 @@ write_prototypes_class(ostream &out_code, ostream *out_h, Object *obj) {
*/
void InterfaceMakerPythonNative::
write_functions(ostream &out) {
- out << "//********************************************************************\n";
- out << "//*** Functions for .. Global\n" ;
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Python wrappers for global functions\n" ;
+ out << " */\n";
FunctionsByIndex::iterator fi;
for (fi = _functions.begin(); fi != _functions.end(); ++fi) {
Function *func = (*fi).second;
@@ -994,9 +990,9 @@ write_class_details(ostream &out, Object *obj) {
std::string ClassName = make_safe_name(obj->_itype.get_scoped_name());
std::string cClassName = obj->_itype.get_true_name();
- out << "//********************************************************************\n";
- out << "//*** Functions for .. " << cClassName << "\n" ;
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Python wrappers for functions of class " << cClassName << "\n" ;
+ out << " */\n";
// First write out all the wrapper functions for the methods.
for (fi = obj->_methods.begin(); fi != obj->_methods.end(); ++fi) {
@@ -1183,7 +1179,6 @@ write_sub_module(ostream &out, Object *obj) {
// Object * obj = _objects[_embeded_index] ;
string class_name = make_safe_name(obj->_itype.get_scoped_name());
string class_ptr;
- out << " // Module init upcall for " << obj->_itype.get_scoped_name() << "\n";
if (!obj->_itype.is_typedef()) {
out << " // " << *(obj->_itype._cpptype) << "\n";
@@ -1242,9 +1237,9 @@ write_sub_module(ostream &out, Object *obj) {
*/
void InterfaceMakerPythonNative::
write_module_support(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
- out << "//********************************************************************\n";
- out << "//*** Module Object Linker ..\n";
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Module Object Linker ..\n";
+ out << " */\n";
Objects::iterator oi;
@@ -1305,14 +1300,41 @@ write_module_support(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
if (object->_itype.is_enum() && !object->_itype.is_nested() &&
isExportThisRun(object->_itype._cpptype)) {
int enum_count = object->_itype.number_of_enum_values();
- for (int xx = 0; xx < enum_count; xx++) {
- string name1 = classNameFromCppName(object->_itype.get_enum_value_name(xx), false);
- string name2 = classNameFromCppName(object->_itype.get_enum_value_name(xx), true);
- string enum_value = "::" + object->_itype.get_enum_value_name(xx);
- out << " PyModule_AddIntConstant(module, \"" << name1 << "\", " << enum_value << ");\n";
- if (name1 != name2) {
- // Also write the mangled name, for historical purposes.
- out << " PyModule_AddIntConstant(module, \"" << name2 << "\", " << enum_value << ");\n";
+
+ if (object->_itype.is_scoped_enum()) {
+ // Convert as Python 3.4 enum.
+ CPPType *underlying_type = TypeManager::unwrap_const(object->_itype._cpptype->as_enum_type()->get_underlying_type());
+ string cast_to = underlying_type->get_local_name(&parser);
+ out << "#if PY_VERSION_HEX >= 0x03040000\n\n";
+ out << " // enum class " << object->_itype.get_scoped_name() << "\n";
+ out << " {\n";
+ out << " PyObject *members = PyTuple_New(" << enum_count << ");\n";
+ out << " PyObject *member;\n";
+ for (int xx = 0; xx < enum_count; xx++) {
+ out << " member = PyTuple_New(2);\n"
+ " PyTuple_SET_ITEM(member, 0, PyUnicode_FromString(\""
+ << object->_itype.get_enum_value_name(xx) << "\"));\n"
+ " PyTuple_SET_ITEM(member, 1, Dtool_WrapValue(("
+ << cast_to << ")" << object->_itype.get_scoped_name() << "::"
+ << object->_itype.get_enum_value_name(xx) << "));\n"
+ " PyTuple_SET_ITEM(members, " << xx << ", member);\n";
+ }
+ out << " PyModule_AddObject(module, \"" << object->_itype.get_name()
+ << "\", Dtool_EnumType_Create(\"" << object->_itype.get_name()
+ << "\", members, \"" << _def->module_name << "\"));\n";
+ out << " }\n";
+ out << "#endif\n";
+ } else {
+ out << " // enum " << object->_itype.get_scoped_name() << "\n";
+ for (int xx = 0; xx < enum_count; xx++) {
+ string name1 = classNameFromCppName(object->_itype.get_enum_value_name(xx), false);
+ string name2 = classNameFromCppName(object->_itype.get_enum_value_name(xx), true);
+ string enum_value = "::" + object->_itype.get_enum_value_name(xx);
+ out << " PyModule_AddObject(module, \"" << name1 << "\", Dtool_WrapValue(" << enum_value << "));\n";
+ if (name1 != name2) {
+ // Also write the mangled name, for historical purposes.
+ out << " PyModule_AddObject(module, \"" << name2 << "\", Dtool_WrapValue(" << enum_value << "));\n";
+ }
}
}
}
@@ -1360,13 +1382,6 @@ write_module_support(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
}
}
}
- out << "//********************************************************************\n";
- out << "//*** Module Init Upcall .. Externally Defined Class\n";
- out << "//********************************************************************\n";
-
-// for (std::set< std::string >::iterator ii = _external_imports.begin(); ii
-// != _external_imports.end(); ii++) out << "Dtool_" <<*ii <<
-// "._Dtool_ClassInit(NULL);\n";
out << "}\n\n";
@@ -1435,9 +1450,9 @@ write_module(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
InterfaceMakerPython::write_module(out, out_h, def);
Objects::iterator oi;
- out << "//********************************************************************\n";
- out << "//*** Py Init Code For .. GlobalScope\n" ;
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Module initialization functions for Python module \"" << def->module_name << "\"\n";
+ out << " */\n";
out << "#if PY_MAJOR_VERSION >= 3\n"
<< "static struct PyModuleDef python_native_module = {\n"
@@ -1452,14 +1467,16 @@ write_module(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
<< "#ifdef _WIN32\n"
<< "extern \"C\" __declspec(dllexport) PyObject *PyInit_" << def->module_name << "();\n"
<< "#elif __GNUC__ >= 4\n"
- << "extern \"C\" __attribute__((visibility(\"default\"))) PyInit_" << def->module_name << "();\n"
+ << "extern \"C\" __attribute__((visibility(\"default\"))) PyObject *PyInit_" << def->module_name << "();\n"
<< "#else\n"
<< "extern \"C\" PyObject *PyInit_" << def->module_name << "();\n"
<< "#endif\n"
<< "\n"
<< "PyObject *PyInit_" << def->module_name << "() {\n"
<< " LibraryDef *refs[] = {&" << def->library_name << "_moddef, NULL};\n"
- << " return Dtool_PyModuleInitHelper(refs, &python_native_module);\n"
+ << " PyObject *module = Dtool_PyModuleInitHelper(refs, &python_native_module);\n"
+ << " Dtool_" << def->library_name << "_BuildInstants(module);\n"
+ << " return module;\n"
<< "}\n"
<< "\n"
<< "#else // Python 2 case\n"
@@ -1467,14 +1484,15 @@ write_module(ostream &out, ostream *out_h, InterrogateModuleDef *def) {
<< "#ifdef _WIN32\n"
<< "extern \"C\" __declspec(dllexport) void init" << def->module_name << "();\n"
<< "#elif __GNUC__ >= 4\n"
- << "extern \"C\" __attribute__((visibility(\"default\"))) init" << def->module_name << "();\n"
+ << "extern \"C\" __attribute__((visibility(\"default\"))) void init" << def->module_name << "();\n"
<< "#else\n"
<< "extern \"C\" void init" << def->module_name << "();\n"
<< "#endif\n"
<< "\n"
<< "void init" << def->module_name << "() {\n"
<< " LibraryDef *refs[] = {&" << def->library_name << "_moddef, NULL};\n"
- << " Dtool_PyModuleInitHelper(refs, \"" << def->module_name << "\");\n"
+ << " PyObject *module = Dtool_PyModuleInitHelper(refs, \"" << def->module_name << "\");\n"
+ << " Dtool_" << def->library_name << "_BuildInstants(module);\n"
<< "}\n"
<< "\n"
<< "#endif\n"
@@ -1520,9 +1538,9 @@ write_module_class(ostream &out, Object *obj) {
}
Functions::iterator fi;
- out << "//********************************************************************\n";
- out << "//*** Py Init Code For .. " << ClassName << " | " << export_class_name << "\n" ;
- out << "//********************************************************************\n";
+ out << "/**\n";
+ out << " * Python method tables for " << ClassName << " (" << export_class_name << ")\n" ;
+ out << " */\n";
out << "static PyMethodDef Dtool_Methods_" << ClassName << "[] = {\n";
SlottedFunctions slots;
@@ -2449,11 +2467,7 @@ write_module_class(ostream &out, Object *obj) {
<< classNameFromCppName(ClassName, false) << "\");\n";
}
out << " std::string ss = os.str();\n";
- out << "#if PY_MAJOR_VERSION >= 3\n";
- out << " return PyUnicode_FromStringAndSize(ss.data(), ss.length());\n";
- out << "#else\n";
- out << " return PyString_FromStringAndSize(ss.data(), ss.length());\n";
- out << "#endif\n";
+ out << " return Dtool_WrapValue(ss);\n";
out << "}\n\n";
has_local_repr = true;
}
@@ -2479,11 +2493,7 @@ write_module_class(ostream &out, Object *obj) {
out << " local_this->write(os);\n";
}
out << " std::string ss = os.str();\n";
- out << "#if PY_MAJOR_VERSION >= 3\n";
- out << " return PyUnicode_FromStringAndSize(ss.data(), ss.length());\n";
- out << "#else\n";
- out << " return PyString_FromStringAndSize(ss.data(), ss.length());\n";
- out << "#endif\n";
+ out << " return Dtool_WrapValue(ss);\n";
out << "}\n\n";
has_local_str = true;
}
@@ -3037,7 +3047,7 @@ write_module_class(ostream &out, Object *obj) {
} else if (nested_obj->_itype.is_typedef()) {
++num_dict_items;
- } else if (nested_obj->_itype.is_enum()) {
+ } else if (nested_obj->_itype.is_enum() && !nested_obj->_itype.is_scoped_enum()) {
CPPEnumType *enum_type = nested_obj->_itype._cpptype->as_enum_type();
num_dict_items += 2 * enum_type->_elements.size();
}
@@ -3095,8 +3105,33 @@ write_module_class(ostream &out, Object *obj) {
// No need to support mangled names for nested typedefs; we only added
// support recently.
+ } else if (nested_obj->_itype.is_scoped_enum()) {
+ // Convert enum class as Python 3.4 enum.
+ int enum_count = nested_obj->_itype.number_of_enum_values();
+ CPPType *underlying_type = TypeManager::unwrap_const(nested_obj->_itype._cpptype->as_enum_type()->get_underlying_type());
+ string cast_to = underlying_type->get_local_name(&parser);
+ out << "#if PY_VERSION_HEX >= 0x03040000\n\n";
+ out << " // enum class " << nested_obj->_itype.get_scoped_name() << ";\n";
+ out << " {\n";
+ out << " PyObject *members = PyTuple_New(" << enum_count << ");\n";
+ out << " PyObject *member;\n";
+ for (int xx = 0; xx < enum_count; xx++) {
+ out << " member = PyTuple_New(2);\n"
+ " PyTuple_SET_ITEM(member, 0, PyUnicode_FromString(\""
+ << nested_obj->_itype.get_enum_value_name(xx) << "\"));\n"
+ " PyTuple_SET_ITEM(member, 1, Dtool_WrapValue(("
+ << cast_to << ")" << nested_obj->_itype.get_scoped_name() << "::"
+ << nested_obj->_itype.get_enum_value_name(xx) << "));\n"
+ " PyTuple_SET_ITEM(members, " << xx << ", member);\n";
+ }
+ out << " PyDict_SetItemString(dict, \"" << nested_obj->_itype.get_name()
+ << "\", Dtool_EnumType_Create(\"" << nested_obj->_itype.get_name()
+ << "\", members, \"" << _def->module_name << "\"));\n";
+ out << " }\n";
+ out << "#endif\n";
+
} else if (nested_obj->_itype.is_enum()) {
- out << " // Enum " << nested_obj->_itype.get_scoped_name() << ";\n";
+ out << " // enum " << nested_obj->_itype.get_scoped_name() << ";\n";
CPPEnumType *enum_type = nested_obj->_itype._cpptype->as_enum_type();
CPPEnumType::Elements::const_iterator ei;
for (ei = enum_type->_elements.begin(); ei != enum_type->_elements.end(); ++ei) {
@@ -3111,9 +3146,9 @@ write_module_class(ostream &out, Object *obj) {
name2 = name1;
}
string enum_value = obj->_itype.get_scoped_name() + "::" + (*ei)->get_simple_name();
- out << " PyDict_SetItemString(dict, \"" << name1 << "\", PyLongOrInt_FromLong(" << enum_value << "));\n";
+ out << " PyDict_SetItemString(dict, \"" << name1 << "\", Dtool_WrapValue(" << enum_value << "));\n";
if (name1 != name2) {
- out << " PyDict_SetItemString(dict, \"" << name2 << "\", PyLongOrInt_FromLong(" << enum_value << "));\n";
+ out << " PyDict_SetItemString(dict, \"" << name2 << "\", Dtool_WrapValue(" << enum_value << "));\n";
}
}
}
@@ -3340,7 +3375,7 @@ write_function_for_name(ostream &out, Object *obj,
int max_required_args = 0;
bool all_nonconst = true;
- out << "/******************************************************************\n" << " * Python type method wrapper for\n";
+ out << "/**\n * Python function wrapper for:\n";
for (ri = remaps.begin(); ri != remaps.end(); ++ri) {
remap = (*ri);
if (is_remap_legal(remap)) {
@@ -3369,7 +3404,7 @@ write_function_for_name(ostream &out, Object *obj,
}
}
- out << " *******************************************************************/\n";
+ out << " */\n";
out << function_name << " {\n";
@@ -6033,164 +6068,16 @@ pack_return_value(ostream &out, int indent_level, FunctionRemap *remap,
CPPType *orig_type = return_type->get_orig_type();
CPPType *type = return_type->get_new_type();
- if (return_type->new_type_is_atomic_string()) {
- if (TypeManager::is_char_pointer(orig_type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
-
- out << "#if PY_MAJOR_VERSION >= 3\n";
- indent(out, indent_level) << " return "
- << "PyUnicode_FromString(" << return_expr << ");\n";
- out << "#else\n";
- indent(out, indent_level) << " return "
- << "PyString_FromString(" << return_expr << ");\n";
- out << "#endif\n";
-
- indent(out, indent_level) << "}\n";
-
- } else if (TypeManager::is_wchar_pointer(orig_type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
- indent(out, indent_level+2)
- << "return PyUnicode_FromWideChar("
- << return_expr << ", wcslen(" << return_expr << "));\n";
- indent(out, indent_level) << "}\n";
-
- } else if (TypeManager::is_wstring(orig_type)) {
- indent(out, indent_level)
- << "return PyUnicode_FromWideChar("
- << return_expr << ".data(), (int) " << return_expr << ".length());\n";
-
- } else if (TypeManager::is_const_ptr_to_basic_string_wchar(orig_type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
-
- indent(out, indent_level) << " return "
- << "PyUnicode_FromWideChar("
- << return_expr << "->data(), (int) " << return_expr << "->length());\n";
-
- indent(out, indent_level) << "}\n";
-
- } else if (TypeManager::is_const_ptr_to_basic_string_char(orig_type)) {
- indent(out, indent_level) << "if (" << return_expr<< " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
-
- out << "#if PY_MAJOR_VERSION >= 3\n";
- indent(out, indent_level) << " return "
- << "PyUnicode_FromStringAndSize("
- << return_expr << "->data(), (Py_ssize_t)" << return_expr << "->length());\n";
- out << "#else\n";
- indent(out, indent_level) << " return "
- << "PyString_FromStringAndSize("
- << return_expr << "->data(), (Py_ssize_t)" << return_expr << "->length());\n";
- out << "#endif\n";
-
- indent(out, indent_level) << "}\n";
-
- } else {
- out << "#if PY_MAJOR_VERSION >= 3\n";
- indent(out, indent_level)
- << "return PyUnicode_FromStringAndSize("
- << return_expr << ".data(), (Py_ssize_t)" << return_expr << ".length());\n";
- out << "#else\n";
- indent(out, indent_level)
- << "return PyString_FromStringAndSize("
- << return_expr << ".data(), (Py_ssize_t)" << return_expr << ".length());\n";
- out << "#endif\n";
- }
-
- } else if (TypeManager::is_bool(type)) {
+ if (return_type->new_type_is_atomic_string() ||
+ TypeManager::is_simple(type) ||
+ TypeManager::is_char_pointer(type) ||
+ TypeManager::is_wchar_pointer(type) ||
+ TypeManager::is_pointer_to_PyObject(type) ||
+ TypeManager::is_pointer_to_Py_buffer(type)) {
+ // Most types are now handled by the many overloads of Dtool_WrapValue,
+ // defined in py_panda.h.
indent(out, indent_level)
- << "return PyBool_FromLong(" << return_expr << ");\n";
-
- } else if (TypeManager::is_ssize(type)) {
- indent(out, indent_level)
- << "return PyLongOrInt_FromSsize_t(" << return_expr << ");\n";
-
- } else if (TypeManager::is_size(type)) {
- indent(out, indent_level)
- << "return PyLongOrInt_FromSize_t(" << return_expr << ");\n";
-
- } else if (TypeManager::is_char(type)) {
- out << "#if PY_MAJOR_VERSION >= 3\n";
- indent(out, indent_level)
- << "return PyUnicode_FromStringAndSize(&" << return_expr << ", 1);\n";
- out << "#else\n";
- indent(out, indent_level)
- << "return PyString_FromStringAndSize(&" << return_expr << ", 1);\n";
- out << "#endif\n";
-
- } else if (TypeManager::is_wchar(type)) {
- indent(out, indent_level)
- << "return PyUnicode_FromWideChar(&" << return_expr << ", 1);\n";
-
- } else if (TypeManager::is_unsigned_longlong(type)) {
- indent(out, indent_level)
- << "return PyLong_FromUnsignedLongLong(" << return_expr << ");\n";
-
- } else if (TypeManager::is_longlong(type)) {
- indent(out, indent_level)
- << "return PyLong_FromLongLong(" << return_expr << ");\n";
-
- } else if (TypeManager::is_unsigned_integer(type)){
- indent(out, indent_level)
- << "return PyLongOrInt_FromUnsignedLong(" << return_expr << ");\n";
-
- } else if (TypeManager::is_integer(type)) {
- indent(out, indent_level)
- << "return PyLongOrInt_FromLong(" << return_expr << ");\n";
-
- } else if (TypeManager::is_float(type)) {
- indent(out, indent_level)
- << "return PyFloat_FromDouble(" << return_expr << ");\n";
-
- } else if (TypeManager::is_char_pointer(type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
-
- out << "#if PY_MAJOR_VERSION >= 3\n";
- indent(out, indent_level) << " return "
- << "PyUnicode_FromString(" << return_expr << ");\n";
- out << "#else\n";
- indent(out, indent_level) << " return "
- << "PyString_FromString(" << return_expr << ");\n";
- out << "#endif\n";
-
- indent(out, indent_level) << "}\n";
-
- } else if (TypeManager::is_wchar_pointer(type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
- indent(out, indent_level) << " return "
- << "PyUnicode_FromWideChar("
- << return_expr << ", wcslen(" << return_expr << "));\n";
-
- indent(out, indent_level) << "}\n";
-
- } else if (TypeManager::is_pointer_to_PyObject(type)) {
- indent(out, indent_level)
- << "return " << return_expr << ";\n";
-
- } else if (TypeManager::is_pointer_to_Py_buffer(type)) {
- indent(out, indent_level) << "if (" << return_expr << " == NULL) {\n";
- indent(out, indent_level) << " Py_INCREF(Py_None);\n";
- indent(out, indent_level) << " return Py_None;\n";
- indent(out, indent_level) << "} else {\n";
- indent(out, indent_level) << " return "
- << "PyMemoryView_FromBuffer(" << return_expr << ");\n";
- indent(out, indent_level) << "}\n";
+ << "return Dtool_WrapValue(" << return_expr << ");\n";
} else if (TypeManager::is_pointer(type)) {
bool is_const = TypeManager::is_const_pointer_to_anything(type);
@@ -6234,13 +6121,13 @@ pack_return_value(ostream &out, int indent_level, FunctionRemap *remap,
} else {
indent(out, indent_level) << "Should Never Reach This InterfaceMakerPythonNative::pack_python_value";
- // << "return PyLongOrInt_FromLong((int) " << return_expr << ");\n";
+ // << "return Dtool_Integer((int) " << return_expr << ");\n";
}
} else {
// Return None.
indent(out, indent_level)
- << "return Py_BuildValue(\"\");\n";
+ << "return Py_BuildValue(\"\"); // Don't know how to wrap type.\n";
}
}
@@ -6288,11 +6175,7 @@ write_make_seq(ostream &out, Object *obj, const std::string &ClassName,
" PyObject *tuple = PyTuple_New(count);\n"
"\n"
" for (Py_ssize_t i = 0; i < count; ++i) {\n"
- "#if PY_MAJOR_VERSION >= 3\n"
- " PyObject *index = PyLong_FromSsize_t(i);\n"
- "#else\n"
- " PyObject *index = PyInt_FromSsize_t(i);\n"
- "#endif\n";
+ " PyObject *index = Dtool_WrapValue(i);\n";
switch (elem_getter->_args_type) {
case AT_keyword_args:
diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx
index b11b2a4d3e..762747cc42 100644
--- a/dtool/src/interrogate/interrogateBuilder.cxx
+++ b/dtool/src/interrogate/interrogateBuilder.cxx
@@ -2838,6 +2838,10 @@ define_enum_type(InterrogateType &itype, CPPEnumType *cpptype) {
return;
}
+ if (cpptype->is_scoped()) {
+ itype._flags |= InterrogateType::F_scoped_enum;
+ }
+
int next_value = 0;
CPPEnumType::Elements::const_iterator ei;
@@ -2919,6 +2923,8 @@ define_extension_type(InterrogateType &itype, CPPExtensionType *cpptype) {
// But we can at least indicate which of the various extension types it is.
switch (cpptype->_type) {
case CPPExtensionType::T_enum:
+ case CPPExtensionType::T_enum_class:
+ case CPPExtensionType::T_enum_struct:
itype._flags |= InterrogateType::F_enum;
break;
diff --git a/dtool/src/interrogatedb/interrogateType.I b/dtool/src/interrogatedb/interrogateType.I
index be8e40960f..f6037fc571 100644
--- a/dtool/src/interrogatedb/interrogateType.I
+++ b/dtool/src/interrogatedb/interrogateType.I
@@ -205,6 +205,14 @@ is_enum() const {
return (_flags & F_enum) != 0;
}
+/**
+ * Returns true if enum values are only available under a scope.
+ */
+INLINE bool InterrogateType::
+is_scoped_enum() const {
+ return (_flags & F_scoped_enum) != 0;
+}
+
/**
*
*/
diff --git a/dtool/src/interrogatedb/interrogateType.h b/dtool/src/interrogatedb/interrogateType.h
index 3887569694..a1cedd1d82 100644
--- a/dtool/src/interrogatedb/interrogateType.h
+++ b/dtool/src/interrogatedb/interrogateType.h
@@ -65,6 +65,7 @@ public:
INLINE int get_array_size() const;
INLINE bool is_enum() const;
+ INLINE bool is_scoped_enum() const;
INLINE int number_of_enum_values() const;
INLINE const string &get_enum_value_name(int n) const;
INLINE const string &get_enum_value_scoped_name(int n) const;
@@ -136,6 +137,7 @@ private:
F_unpublished = 0x100000,
F_typedef = 0x200000,
F_array = 0x400000,
+ F_scoped_enum = 0x800000,
};
public:
diff --git a/dtool/src/interrogatedb/py_panda.I b/dtool/src/interrogatedb/py_panda.I
new file mode 100644
index 0000000000..51e10db446
--- /dev/null
+++ b/dtool/src/interrogatedb/py_panda.I
@@ -0,0 +1,203 @@
+/**
+ * PANDA 3D SOFTWARE
+ * Copyright (c) Carnegie Mellon University. All rights reserved.
+ *
+ * All use of this software is subject to the terms of the revised BSD
+ * license. You should have received a copy of this license along
+ * with this source code in a file named "LICENSE."
+ *
+ * @file py_panda.I
+ * @author rdb
+ * @date 2016-06-06
+ */
+
+/**
+ * Template function that can be used to extract any TypedObject pointer from
+ * a wrapped Python object.
+ */
+template INLINE bool
+DTOOL_Call_ExtractThisPointer(PyObject *self, T *&into) {
+ if (DtoolCanThisBeAPandaInstance(self)) {
+ Dtool_PyTypedObject *target_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
+ if (target_class != NULL) {
+ into = (T*) ((Dtool_PyInstDef *)self)->_My_Type->_Dtool_UpcastInterface(self, target_class);
+ return (into != NULL);
+ }
+ }
+ into = NULL;
+ return false;
+}
+
+/**
+ * These functions wrap a pointer for a class that defines get_type_handle().
+ */
+template INLINE PyObject *
+DTool_CreatePyInstance(const T *obj, bool memory_rules) {
+ Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
+ nassertr(known_class != NULL, NULL);
+ return DTool_CreatePyInstance((void*) obj, *known_class, memory_rules, true);
+}
+
+template INLINE PyObject *
+DTool_CreatePyInstance(T *obj, bool memory_rules) {
+ Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
+ nassertr(known_class != NULL, NULL);
+ return DTool_CreatePyInstance((void*) obj, *known_class, memory_rules, false);
+}
+
+template INLINE PyObject *
+DTool_CreatePyInstanceTyped(const T *obj, bool memory_rules) {
+ Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
+ nassertr(known_class != NULL, NULL);
+ return DTool_CreatePyInstanceTyped((void*) obj, *known_class, memory_rules, true, obj->get_type().get_index());
+}
+
+template INLINE PyObject *
+DTool_CreatePyInstanceTyped(T *obj, bool memory_rules) {
+ Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
+ nassertr(known_class != NULL, NULL);
+ return DTool_CreatePyInstanceTyped((void*) obj, *known_class, memory_rules, false, obj->get_type().get_index());
+}
+
+/**
+ * The following functions wrap an arbitrary C++ value into a PyObject.
+ */
+ALWAYS_INLINE PyObject *Dtool_WrapValue(int value) {
+#if PY_MAJOR_VERSION >= 3
+ return PyLong_FromLong((long)value);
+#else
+ return PyInt_FromLong((long)value);
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned int value) {
+#if PY_MAJOR_VERSION >= 3 && SIZEOF_INT < SIZEOF_LONG
+ return PyLong_FromLong((long)value);
+#elif PY_MAJOR_VERSION >= 3
+ return PyLong_FromUnsignedLong((unsigned long)value);
+#elif SIZEOF_INT < SIZEOF_LONG
+ return PyInt_FromLong((long)value);
+#else
+ return (value > LONG_MAX)
+ ? PyLong_FromUnsignedLong((unsigned long)value)
+ : PyInt_FromLong((long)value);
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(long value) {
+#if PY_MAJOR_VERSION >= 3
+ return PyLong_FromLong(value);
+#else
+ return PyInt_FromLong(value);
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned long value) {
+#if PY_MAJOR_VERSION >= 3
+ return PyLong_FromUnsignedLong(value);
+#else
+ return (value > LONG_MAX)
+ ? PyLong_FromUnsignedLong(value)
+ : PyInt_FromLong((long)value);
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(long long value) {
+ return PyLong_FromLongLong(value);
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned long long value) {
+ return PyLong_FromUnsignedLongLong(value);
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(bool value) {
+ PyObject *result = (value ? Py_True : Py_False);
+ Py_INCREF(result);
+ return result;
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(double value) {
+ return PyFloat_FromDouble(value);
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const char *value) {
+ if (value == (const char *)NULL) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromString(value);
+#else
+ return PyString_FromString(value);
+#endif
+ }
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const wchar_t *value) {
+ if (value == (const wchar_t *)NULL) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+ return PyUnicode_FromWideChar(value, (Py_ssize_t)wcslen(value));
+ }
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::string &value) {
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromStringAndSize(value.data(), (Py_ssize_t)value.length());
+#else
+ return PyString_FromStringAndSize(value.data(), (Py_ssize_t)value.length());
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::wstring &value) {
+ return PyUnicode_FromWideChar(value.data(), (Py_ssize_t)value.length());
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::string *value) {
+ if (value == (const std::string *)NULL) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromStringAndSize(value->data(), (Py_ssize_t)value->length());
+#else
+ return PyString_FromStringAndSize(value->data(), (Py_ssize_t)value->length());
+#endif
+ }
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::wstring *value) {
+ if (value == (const std::wstring *)NULL) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ } else {
+ return PyUnicode_FromWideChar(value->data(), (Py_ssize_t)value->length());
+ }
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(char value) {
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromStringAndSize(&value, 1);
+#else
+ return PyString_FromStringAndSize(&value, 1);
+#endif
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(wchar_t value) {
+ return PyUnicode_FromWideChar(&value, 1);
+}
+
+ALWAYS_INLINE PyObject *Dtool_WrapValue(PyObject *value) {
+ return value;
+}
+
+#if PY_MAJOR_VERSION >= 0x02060000
+ALWAYS_INLINE PyObject *Dtool_WrapValue(Py_buffer *value) {
+ if (value == (Py_buffer *)NULL) {
+ return value;
+ } else {
+ return PyMemoryView_FromBuffer(value);
+ }
+}
+#endif
diff --git a/dtool/src/interrogatedb/py_panda.cxx b/dtool/src/interrogatedb/py_panda.cxx
index fc6338170e..a7cfa63ed5 100644
--- a/dtool/src/interrogatedb/py_panda.cxx
+++ b/dtool/src/interrogatedb/py_panda.cxx
@@ -335,6 +335,33 @@ PyObject *_Dtool_Return(PyObject *value) {
return value;
}
+/**
+ * Creates a Python 3.4-style enum type. Steals reference to 'names'.
+ */
+PyObject *Dtool_EnumType_Create(const char *name, PyObject *names, const char *module) {
+ static PyObject *enum_class = NULL;
+ static PyObject *enum_meta = NULL;
+ static PyObject *enum_create = NULL;
+ if (enum_meta == NULL) {
+ PyObject *enum_module = PyImport_ImportModule("enum");
+ nassertr_always(enum_module != NULL, NULL);
+
+ enum_class = PyObject_GetAttrString(enum_module, "Enum");
+ enum_meta = PyObject_GetAttrString(enum_module, "EnumMeta");
+ enum_create = PyObject_GetAttrString(enum_meta, "_create_");
+ nassertr(enum_meta != NULL, NULL);
+ }
+
+ PyObject *result = PyObject_CallFunction(enum_create, (char *)"OsN", enum_class, name, names);
+ nassertr(result != NULL, NULL);
+ if (module != NULL) {
+ PyObject *modstr = PyUnicode_FromString(module);
+ PyObject_SetAttrString(result, "__module__", modstr);
+ Py_DECREF(modstr);
+ }
+ return result;
+}
+
/**
*/
@@ -833,19 +860,4 @@ PyObject *map_deepcopy_to_copy(PyObject *self, PyObject *args) {
return PyObject_CallMethod(self, (char *)"__copy__", (char *)"()");
}
-/**
- * Similar to PyLong_FromUnsignedLong(), but returns either a regular integer
- * or a long integer, according to whether the indicated value will fit.
- */
-#if PY_MAJOR_VERSION < 3
-EXPCL_INTERROGATEDB PyObject *
-PyLongOrInt_FromUnsignedLong(unsigned long value) {
- if ((long)value < 0) {
- return PyLong_FromUnsignedLong(value);
- } else {
- return PyInt_FromLong((long)value);
- }
-}
-#endif
-
#endif // HAVE_PYTHON
diff --git a/dtool/src/interrogatedb/py_panda.h b/dtool/src/interrogatedb/py_panda.h
index 422fb5ffe1..22891799dd 100644
--- a/dtool/src/interrogatedb/py_panda.h
+++ b/dtool/src/interrogatedb/py_panda.h
@@ -103,10 +103,6 @@ inline PyObject* doPy_RETURN_FALSE()
#define nb_inplace_divide nb_inplace_true_divide
#define PyLongOrInt_Check(x) PyLong_Check(x)
-#define PyLongOrInt_FromSize_t PyLong_FromSize_t
-#define PyLongOrInt_FromSsize_t PyLong_FromSsize_t
-#define PyLongOrInt_FromLong PyLong_FromLong
-#define PyLongOrInt_FromUnsignedLong PyLong_FromUnsignedLong
#define PyLongOrInt_AS_LONG PyLong_AS_LONG
#define PyInt_Check PyLong_Check
#define PyInt_AsLong PyLong_AsLong
@@ -114,9 +110,6 @@ inline PyObject* doPy_RETURN_FALSE()
#else
#define PyLongOrInt_Check(x) (PyInt_Check(x) || PyLong_Check(x))
// PyInt_FromSize_t automatically picks the right type.
-#define PyLongOrInt_FromSize_t PyInt_FromSize_t
-#define PyLongOrInt_FromSsize_t PyInt_FromSsize_t
-#define PyLongOrInt_FromLong PyInt_FromLong
#define PyLongOrInt_AS_LONG PyInt_AsLong
// For more portably defining hash functions.
@@ -159,9 +152,6 @@ typedef void *(*DowncastFunction)(void *, Dtool_PyTypedObject *);
typedef void *(*CoerceFunction)(PyObject *, void *);
typedef void (*ModuleClassInitFunction)(PyObject *module);
-// inline Dtool_PyTypedObject * Dtool_RuntimeTypeDtoolType(int
-// type); inline void Dtool_Deallocate_General(PyObject * self); inline
-// int DTOOL_PyObject_Compare(PyObject *v1, PyObject *v2); THIS IS THE
// INSTANCE CONTAINER FOR ALL panda py objects....
struct Dtool_PyInstDef {
PyObject_HEAD
@@ -300,17 +290,7 @@ EXPCL_INTERROGATEDB bool Dtool_Call_ExtractThisPointer(PyObject *self, Dtool_PyT
EXPCL_INTERROGATEDB bool Dtool_Call_ExtractThisPointer_NonConst(PyObject *self, Dtool_PyTypedObject &classdef,
void **answer, const char *method_name);
-template INLINE bool DTOOL_Call_ExtractThisPointer(PyObject *self, T *&into) {
- if (DtoolCanThisBeAPandaInstance(self)) {
- Dtool_PyTypedObject *target_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
- if (target_class != NULL) {
- into = (T*) ((Dtool_PyInstDef *)self)->_My_Type->_Dtool_UpcastInterface(self, target_class);
- return (into != NULL);
- }
- }
- into = NULL;
- return false;
-}
+template INLINE bool DTOOL_Call_ExtractThisPointer(PyObject *self, T *&into);
// Functions related to error reporting.
EXPCL_INTERROGATEDB bool _Dtool_CheckErrorOccurred();
@@ -348,6 +328,12 @@ EXPCL_INTERROGATEDB PyObject *_Dtool_Return(PyObject *value);
#define Dtool_Return(value) _Dtool_Return(value)
#endif
+/**
+ * Wrapper around Python 3.4's enum library, which does not have a C API.
+ */
+EXPCL_INTERROGATEDB PyObject *Dtool_EnumType_Create(const char *name, PyObject *names,
+ const char *module = NULL);
+
/**
*/
@@ -359,29 +345,10 @@ EXPCL_INTERROGATEDB PyObject *DTool_CreatePyInstance(void *local_this, Dtool_PyT
// These template methods allow use when the Dtool_PyTypedObject is not known.
// They require a get_class_type() to be defined for the class.
-template INLINE PyObject *DTool_CreatePyInstance(const T *obj, bool memory_rules) {
- Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
- nassertr(known_class != NULL, NULL);
- return DTool_CreatePyInstance((void*) obj, *known_class, memory_rules, true);
-}
-
-template INLINE PyObject *DTool_CreatePyInstance(T *obj, bool memory_rules) {
- Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
- nassertr(known_class != NULL, NULL);
- return DTool_CreatePyInstance((void*) obj, *known_class, memory_rules, false);
-}
-
-template INLINE PyObject *DTool_CreatePyInstanceTyped(const T *obj, bool memory_rules) {
- Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
- nassertr(known_class != NULL, NULL);
- return DTool_CreatePyInstanceTyped((void*) obj, *known_class, memory_rules, true, obj->get_type().get_index());
-}
-
-template INLINE PyObject *DTool_CreatePyInstanceTyped(T *obj, bool memory_rules) {
- Dtool_PyTypedObject *known_class = Dtool_RuntimeTypeDtoolType(get_type_handle(T).get_index());
- nassertr(known_class != NULL, NULL);
- return DTool_CreatePyInstanceTyped((void*) obj, *known_class, memory_rules, false, obj->get_type().get_index());
-}
+template INLINE PyObject *DTool_CreatePyInstance(const T *obj, bool memory_rules);
+template INLINE PyObject *DTool_CreatePyInstance(T *obj, bool memory_rules);
+template INLINE PyObject *DTool_CreatePyInstanceTyped(const T *obj, bool memory_rules);
+template INLINE PyObject *DTool_CreatePyInstanceTyped(T *obj, bool memory_rules);
// Macro(s) class definition .. Used to allocate storage and init some values
// for a Dtool Py Type object.
@@ -474,11 +441,32 @@ copy_from_copy_constructor(PyObject *self, PyObject *noargs);
EXPCL_INTERROGATEDB PyObject *
map_deepcopy_to_copy(PyObject *self, PyObject *args);
-#if PY_MAJOR_VERSION < 3
-// In the Python 3 case, it is defined as a macro, at the beginning of this
-// file.
-EXPCL_INTERROGATEDB PyObject *
-PyLongOrInt_FromUnsignedLong(unsigned long value);
+/**
+ * These functions convert a C++ value into the corresponding Python object.
+ * This used to be generated by the code generator, but it seems more reliable
+ * and maintainable to define these as overloads and have the compiler sort
+ * it out.
+ */
+ALWAYS_INLINE PyObject *Dtool_WrapValue(int value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned int value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(long value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned long value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(long long value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(unsigned long long value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(bool value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(double value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const char *value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const wchar_t *value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::string &value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::wstring &value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::string *value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(const std::wstring *value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(char value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(wchar_t value);
+ALWAYS_INLINE PyObject *Dtool_WrapValue(PyObject *value);
+
+#if PY_MAJOR_VERSION >= 0x02060000
+ALWAYS_INLINE PyObject *Dtool_WrapValue(Py_buffer *value);
#endif
EXPCL_INTERROGATEDB extern struct Dtool_PyTypedObject Dtool_DTOOL_SUPER_BASE;
@@ -486,6 +474,8 @@ EXPCL_INTERROGATEDB extern void Dtool_PyModuleClassInit_DTOOL_SUPER_BASE(PyObjec
#define Dtool_Ptr_DTOOL_SUPER_BASE (&Dtool_DTOOL_SUPER_BASE)
+#include "py_panda.I"
+
#endif // HAVE_PYTHON && !CPPPARSER
#endif // PY_PANDA_H_
diff --git a/panda/src/express/globPattern_ext.cxx b/panda/src/express/globPattern_ext.cxx
index e6328bc5c0..359c34365f 100644
--- a/panda/src/express/globPattern_ext.cxx
+++ b/panda/src/express/globPattern_ext.cxx
@@ -25,14 +25,7 @@ match_files(const Filename &cwd) const {
PyObject *result = PyList_New(contents.size());
for (size_t i = 0; i < contents.size(); ++i) {
- const string &filename = contents[i];
-#if PY_MAJOR_VERSION >= 3
- // This function expects UTF-8.
- PyObject *str = PyUnicode_FromStringAndSize(filename.data(), filename.size());
-#else
- PyObject *str = PyString_FromStringAndSize(filename.data(), filename.size());
-#endif
- PyList_SET_ITEM(result, i, str);
+ PyList_SET_ITEM(result, i, Dtool_WrapValue(contents[i]));
}
return result;
diff --git a/panda/src/linmath/lpoint2_ext_src.I b/panda/src/linmath/lpoint2_ext_src.I
index 88e146e462..371017955d 100644
--- a/panda/src/linmath/lpoint2_ext_src.I
+++ b/panda/src/linmath/lpoint2_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -53,7 +43,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LPoint2) *vec = new FLOATNAME(LPoint2);
@@ -89,5 +79,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase2.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/linmath/lpoint3_ext_src.I b/panda/src/linmath/lpoint3_ext_src.I
index dc0d68240d..e695988177 100644
--- a/panda/src/linmath/lpoint3_ext_src.I
+++ b/panda/src/linmath/lpoint3_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -54,7 +44,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LPoint2) *vec = new FLOATNAME(LPoint2);
@@ -90,5 +80,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase2.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/linmath/lpoint4_ext_src.I b/panda/src/linmath/lpoint4_ext_src.I
index 4a17134496..bef1b1d012 100644
--- a/panda/src/linmath/lpoint4_ext_src.I
+++ b/panda/src/linmath/lpoint4_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -56,9 +46,9 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
if (attr_name[0] == 'w') {
- return PY_FROM_FLOATTYPE(_this->_v(3));
+ return Dtool_WrapValue(_this->_v(3));
} else {
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
}
case 2: {
@@ -95,5 +85,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase4.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/linmath/lvecBase2_ext_src.I b/panda/src/linmath/lvecBase2_ext_src.I
index 7355fd5e61..40399dc327 100644
--- a/panda/src/linmath/lvecBase2_ext_src.I
+++ b/panda/src/linmath/lvecBase2_ext_src.I
@@ -14,16 +14,13 @@
#ifdef FLOATTYPE_IS_INT
#if PY_MAJOR_VERSION >= 3
#define PYNUMBER_FLOATTYPE PyNumber_Long
-#define PY_FROM_FLOATTYPE PyLong_FromLong
#define PY_AS_FLOATTYPE PyLong_AS_LONG
#else
#define PYNUMBER_FLOATTYPE PyNumber_Int
-#define PY_FROM_FLOATTYPE PyInt_FromLong
#define PY_AS_FLOATTYPE PyInt_AS_LONG
#endif
#else
#define PYNUMBER_FLOATTYPE PyNumber_Float
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
#define PY_AS_FLOATTYPE (FLOATTYPE)PyFloat_AsDouble
#endif
@@ -88,7 +85,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LVecBase2) *vec = new FLOATNAME(LVecBase2);
@@ -222,5 +219,4 @@ __ipow__(PyObject *self, FLOATTYPE exponent) {
}
#undef PYNUMBER_FLOATTYPE
-#undef PY_FROM_FLOATTYPE
#undef PY_AS_FLOATTYPE
diff --git a/panda/src/linmath/lvecBase3_ext_src.I b/panda/src/linmath/lvecBase3_ext_src.I
index 4450a3ac30..a2705edbb6 100644
--- a/panda/src/linmath/lvecBase3_ext_src.I
+++ b/panda/src/linmath/lvecBase3_ext_src.I
@@ -14,16 +14,13 @@
#ifdef FLOATTYPE_IS_INT
#if PY_MAJOR_VERSION >= 3
#define PYNUMBER_FLOATTYPE PyNumber_Long
-#define PY_FROM_FLOATTYPE PyLong_FromLong
#define PY_AS_FLOATTYPE PyLong_AS_LONG
#else
#define PYNUMBER_FLOATTYPE PyNumber_Int
-#define PY_FROM_FLOATTYPE PyInt_FromLong
#define PY_AS_FLOATTYPE PyInt_AS_LONG
#endif
#else
#define PYNUMBER_FLOATTYPE PyNumber_Float
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
#define PY_AS_FLOATTYPE (FLOATTYPE)PyFloat_AsDouble
#endif
@@ -89,7 +86,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LVecBase2) *vec = new FLOATNAME(LVecBase2);
@@ -225,5 +222,4 @@ __ipow__(PyObject *self, FLOATTYPE exponent) {
}
#undef PYNUMBER_FLOATTYPE
-#undef PY_FROM_FLOATTYPE
#undef PY_AS_FLOATTYPE
diff --git a/panda/src/linmath/lvecBase4_ext_src.I b/panda/src/linmath/lvecBase4_ext_src.I
index a802815db0..76eee6b7bf 100644
--- a/panda/src/linmath/lvecBase4_ext_src.I
+++ b/panda/src/linmath/lvecBase4_ext_src.I
@@ -14,16 +14,13 @@
#ifdef FLOATTYPE_IS_INT
#if PY_MAJOR_VERSION >= 3
#define PYNUMBER_FLOATTYPE PyNumber_Long
-#define PY_FROM_FLOATTYPE PyLong_FromLong
#define PY_AS_FLOATTYPE PyLong_AS_LONG
#else
#define PYNUMBER_FLOATTYPE PyNumber_Int
-#define PY_FROM_FLOATTYPE PyInt_FromLong
#define PY_AS_FLOATTYPE PyInt_AS_LONG
#endif
#else
#define PYNUMBER_FLOATTYPE PyNumber_Float
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
#define PY_AS_FLOATTYPE (FLOATTYPE)PyFloat_AsDouble
#endif
@@ -91,9 +88,9 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
if (attr_name[0] == 'w') {
- return PY_FROM_FLOATTYPE(_this->_v(3));
+ return Dtool_WrapValue(_this->_v(3));
} else {
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
}
case 2: {
@@ -233,5 +230,4 @@ __ipow__(PyObject *self, FLOATTYPE exponent) {
}
#undef PYNUMBER_FLOATTYPE
-#undef PY_FROM_FLOATTYPE
#undef PY_AS_FLOATTYPE
diff --git a/panda/src/linmath/lvector2_ext_src.I b/panda/src/linmath/lvector2_ext_src.I
index b08f96f217..dd4dc5e95e 100644
--- a/panda/src/linmath/lvector2_ext_src.I
+++ b/panda/src/linmath/lvector2_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -53,7 +43,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LVector2) *vec = new FLOATNAME(LVector2);
@@ -89,5 +79,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase2.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/linmath/lvector3_ext_src.I b/panda/src/linmath/lvector3_ext_src.I
index 36012e7917..155c2a013a 100644
--- a/panda/src/linmath/lvector3_ext_src.I
+++ b/panda/src/linmath/lvector3_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -54,7 +44,7 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
case 2: {
FLOATNAME(LVector2) *vec = new FLOATNAME(LVector2);
@@ -90,5 +80,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase3.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/linmath/lvector4_ext_src.I b/panda/src/linmath/lvector4_ext_src.I
index 4964a1fc68..a188d6c4a2 100644
--- a/panda/src/linmath/lvector4_ext_src.I
+++ b/panda/src/linmath/lvector4_ext_src.I
@@ -11,16 +11,6 @@
* @date 2011-01-02
*/
-#ifdef FLOATTYPE_IS_INT
-#if PY_MAJOR_VERSION >= 3
-#define PY_FROM_FLOATTYPE PyLong_FromLong
-#else
-#define PY_FROM_FLOATTYPE PyInt_FromLong
-#endif
-#else
-#define PY_FROM_FLOATTYPE PyFloat_FromDouble
-#endif
-
/**
*
*/
@@ -56,9 +46,9 @@ __getattr__(PyObject *self, const string &attr_name) const {
switch (attr_name.size()) {
case 1:
if (attr_name[0] == 'w') {
- return PY_FROM_FLOATTYPE(_this->_v(3));
+ return Dtool_WrapValue(_this->_v(3));
} else {
- return PY_FROM_FLOATTYPE(_this->_v(attr_name[0] - 'x'));
+ return Dtool_WrapValue(_this->_v(attr_name[0] - 'x'));
}
case 2: {
@@ -95,5 +85,3 @@ __setattr__(PyObject *self, const string &attr_name, PyObject *assign) {
// Upcall to LVecBase4.
return invoke_extension(_this).__setattr__(self, attr_name, assign);
}
-
-#undef PY_FROM_FLOATTYPE
diff --git a/panda/src/pgraph/pandaNode_ext.cxx b/panda/src/pgraph/pandaNode_ext.cxx
index 9a12edabd0..9395a56e3b 100644
--- a/panda/src/pgraph/pandaNode_ext.cxx
+++ b/panda/src/pgraph/pandaNode_ext.cxx
@@ -187,15 +187,9 @@ get_tag_keys() const {
vector_string keys;
_this->get_tag_keys(keys);
- PyObject *result = PyList_New(keys.size());
+ PyObject *result = PyTuple_New(keys.size());
for (size_t i = 0; i < keys.size(); ++i) {
- const string &tag_name = keys[i];
-#if PY_MAJOR_VERSION >= 3
- PyObject *str = PyUnicode_FromStringAndSize(tag_name.data(), tag_name.size());
-#else
- PyObject *str = PyString_FromStringAndSize(tag_name.data(), tag_name.size());
-#endif
- PyList_SET_ITEM(result, i, str);
+ PyTuple_SET_ITEM(result, i, Dtool_WrapValue(keys[i]));
}
return result;
@@ -209,15 +203,9 @@ get_python_tag_keys() const {
vector_string keys;
get_python_tag_keys(keys);
- PyObject *result = PyList_New(keys.size());
+ PyObject *result = PyTuple_New(keys.size());
for (size_t i = 0; i < keys.size(); ++i) {
- const string &tag_name = keys[i];
-#if PY_MAJOR_VERSION >= 3
- PyObject *str = PyUnicode_FromStringAndSize(tag_name.data(), tag_name.size());
-#else
- PyObject *str = PyString_FromStringAndSize(tag_name.data(), tag_name.size());
-#endif
- PyList_SET_ITEM(result, i, str);
+ PyTuple_SET_ITEM(result, i, Dtool_WrapValue(keys[i]));
}
return result;