diff --git a/doc/ReleaseNotes b/doc/ReleaseNotes
index 94ebbe4e9e..ad90def34b 100644
--- a/doc/ReleaseNotes
+++ b/doc/ReleaseNotes
@@ -27,6 +27,7 @@ This issue fixes several bugs that were still found in 1.9.2.
* Support uint8 index buffers in DX9
* Fix occasional frame lag when loading a big model asynchronously
* Fix race condition reading string config var
+* Fix interrogate parsing issue with "const static"
------------------------ RELEASE 1.9.2 ------------------------
diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt
index 3eb1fb147d..8a02d61218 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 6 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:339 */
#include "cppBisonDefs.h"
@@ -260,14 +257,13 @@ pop_struct() {
}
-/* Line 371 of yacc.c */
-#line 265 "built/tmp/cppBison.yxx.c"
+#line 261 "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
@@ -283,7 +279,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
@@ -291,117 +287,116 @@ 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,
- STRING = 261,
- SIMPLE_IDENTIFIER = 262,
- IDENTIFIER = 263,
- TYPENAME_IDENTIFIER = 264,
- SCOPING = 265,
- TYPEDEFNAME = 266,
- ELLIPSIS = 267,
- OROR = 268,
- ANDAND = 269,
- EQCOMPARE = 270,
- NECOMPARE = 271,
- LECOMPARE = 272,
- GECOMPARE = 273,
- LSHIFT = 274,
- RSHIFT = 275,
- POINTSAT_STAR = 276,
- DOT_STAR = 277,
- UNARY = 278,
- UNARY_NOT = 279,
- UNARY_NEGATE = 280,
- UNARY_MINUS = 281,
- UNARY_STAR = 282,
- UNARY_REF = 283,
- POINTSAT = 284,
- SCOPE = 285,
- PLUSPLUS = 286,
- MINUSMINUS = 287,
- TIMESEQUAL = 288,
- DIVIDEEQUAL = 289,
- MODEQUAL = 290,
- PLUSEQUAL = 291,
- MINUSEQUAL = 292,
- OREQUAL = 293,
- ANDEQUAL = 294,
- XOREQUAL = 295,
- LSHIFTEQUAL = 296,
- RSHIFTEQUAL = 297,
- KW_BEGIN_PUBLISH = 298,
- KW_BLOCKING = 299,
- KW_BOOL = 300,
- KW_CATCH = 301,
- KW_CHAR = 302,
- KW_CHAR16_T = 303,
- KW_CHAR32_T = 304,
- KW_CLASS = 305,
- KW_CONST = 306,
- KW_DELETE = 307,
- KW_DOUBLE = 308,
- KW_DYNAMIC_CAST = 309,
- KW_ELSE = 310,
- KW_END_PUBLISH = 311,
- KW_ENUM = 312,
- KW_EXTENSION = 313,
- KW_EXTERN = 314,
- KW_EXPLICIT = 315,
- KW_PUBLISHED = 316,
- KW_FALSE = 317,
- KW_FLOAT = 318,
- KW_FRIEND = 319,
- KW_FOR = 320,
- KW_GOTO = 321,
- KW_IF = 322,
- KW_INLINE = 323,
- KW_INT = 324,
- KW_LONG = 325,
- KW_LONGLONG = 326,
- KW_MAKE_PROPERTY = 327,
- KW_MAKE_SEQ = 328,
- KW_MUTABLE = 329,
- KW_NAMESPACE = 330,
- KW_NEW = 331,
- KW_NOEXCEPT = 332,
- KW_OPERATOR = 333,
- KW_PRIVATE = 334,
- KW_PROTECTED = 335,
- KW_PUBLIC = 336,
- KW_REGISTER = 337,
- KW_RETURN = 338,
- KW_SHORT = 339,
- KW_SIGNED = 340,
- KW_SIZEOF = 341,
- KW_STATIC = 342,
- KW_STATIC_CAST = 343,
- KW_STRUCT = 344,
- KW_TEMPLATE = 345,
- KW_THROW = 346,
- KW_TRUE = 347,
- KW_TRY = 348,
- KW_TYPEDEF = 349,
- KW_TYPENAME = 350,
- KW_UNION = 351,
- KW_UNSIGNED = 352,
- KW_USING = 353,
- KW_VIRTUAL = 354,
- KW_VOID = 355,
- KW_VOLATILE = 356,
- KW_WCHAR_T = 357,
- KW_WHILE = 358,
- START_CPP = 359,
- START_CONST_EXPR = 360,
- START_TYPE = 361
- };
+ enum yytokentype
+ {
+ REAL = 258,
+ INTEGER = 259,
+ CHAR_TOK = 260,
+ STRING = 261,
+ SIMPLE_IDENTIFIER = 262,
+ IDENTIFIER = 263,
+ TYPENAME_IDENTIFIER = 264,
+ SCOPING = 265,
+ TYPEDEFNAME = 266,
+ ELLIPSIS = 267,
+ OROR = 268,
+ ANDAND = 269,
+ EQCOMPARE = 270,
+ NECOMPARE = 271,
+ LECOMPARE = 272,
+ GECOMPARE = 273,
+ LSHIFT = 274,
+ RSHIFT = 275,
+ POINTSAT_STAR = 276,
+ DOT_STAR = 277,
+ UNARY = 278,
+ UNARY_NOT = 279,
+ UNARY_NEGATE = 280,
+ UNARY_MINUS = 281,
+ UNARY_STAR = 282,
+ UNARY_REF = 283,
+ POINTSAT = 284,
+ SCOPE = 285,
+ PLUSPLUS = 286,
+ MINUSMINUS = 287,
+ TIMESEQUAL = 288,
+ DIVIDEEQUAL = 289,
+ MODEQUAL = 290,
+ PLUSEQUAL = 291,
+ MINUSEQUAL = 292,
+ OREQUAL = 293,
+ ANDEQUAL = 294,
+ XOREQUAL = 295,
+ LSHIFTEQUAL = 296,
+ RSHIFTEQUAL = 297,
+ KW_BEGIN_PUBLISH = 298,
+ KW_BLOCKING = 299,
+ KW_BOOL = 300,
+ KW_CATCH = 301,
+ KW_CHAR = 302,
+ KW_CHAR16_T = 303,
+ KW_CHAR32_T = 304,
+ KW_CLASS = 305,
+ KW_CONST = 306,
+ KW_DELETE = 307,
+ KW_DOUBLE = 308,
+ KW_DYNAMIC_CAST = 309,
+ KW_ELSE = 310,
+ KW_END_PUBLISH = 311,
+ KW_ENUM = 312,
+ KW_EXTENSION = 313,
+ KW_EXTERN = 314,
+ KW_EXPLICIT = 315,
+ KW_PUBLISHED = 316,
+ KW_FALSE = 317,
+ KW_FLOAT = 318,
+ KW_FRIEND = 319,
+ KW_FOR = 320,
+ KW_GOTO = 321,
+ KW_IF = 322,
+ KW_INLINE = 323,
+ KW_INT = 324,
+ KW_LONG = 325,
+ KW_LONGLONG = 326,
+ KW_MAKE_PROPERTY = 327,
+ KW_MAKE_SEQ = 328,
+ KW_MUTABLE = 329,
+ KW_NAMESPACE = 330,
+ KW_NEW = 331,
+ KW_NOEXCEPT = 332,
+ KW_OPERATOR = 333,
+ KW_PRIVATE = 334,
+ KW_PROTECTED = 335,
+ KW_PUBLIC = 336,
+ KW_REGISTER = 337,
+ KW_RETURN = 338,
+ KW_SHORT = 339,
+ KW_SIGNED = 340,
+ KW_SIZEOF = 341,
+ KW_STATIC = 342,
+ KW_STATIC_CAST = 343,
+ KW_STRUCT = 344,
+ KW_TEMPLATE = 345,
+ KW_THROW = 346,
+ KW_TRUE = 347,
+ KW_TRY = 348,
+ KW_TYPEDEF = 349,
+ KW_TYPENAME = 350,
+ KW_UNION = 351,
+ KW_UNSIGNED = 352,
+ KW_USING = 353,
+ KW_VIRTUAL = 354,
+ KW_VOID = 355,
+ KW_VOLATILE = 356,
+ KW_WCHAR_T = 357,
+ KW_WHILE = 358,
+ START_CPP = 359,
+ START_CONST_EXPR = 360,
+ START_TYPE = 361
+ };
#endif
/* Tokens. */
#define REAL 258
@@ -509,48 +504,31 @@ extern int cppyydebug;
#define START_CONST_EXPR 360
#define START_TYPE 361
+/* 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 554 "built/tmp/cppBison.yxx.c"
+#line 532 "built/tmp/cppBison.yxx.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -564,11 +542,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
@@ -588,8 +563,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
@@ -611,6 +585,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))
@@ -618,23 +619,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
@@ -653,8 +656,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
@@ -666,8 +668,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
@@ -683,7 +685,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
@@ -691,15 +693,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
@@ -709,8 +709,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
@@ -736,16 +736,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
@@ -764,7 +764,7 @@ union yyalloc
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
- while (YYID (0))
+ while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
@@ -772,25 +772,27 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 73
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 3646
+#define YYLAST 3624
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 131
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 93
+#define YYNNTS 88
/* YYNRULES -- Number of rules. */
-#define YYNRULES 550
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 995
+#define YYNRULES 542
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 977
-/* 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 361
-#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,
@@ -833,304 +835,64 @@ 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, 32, 38, 40, 42, 44, 46, 48, 50,
- 53, 55, 57, 60, 63, 66, 69, 77, 87, 97,
- 98, 102, 104, 107, 111, 114, 117, 120, 123, 126,
- 129, 132, 135, 138, 140, 144, 148, 149, 154, 155,
- 161, 164, 169, 172, 177, 178, 183, 184, 190, 194,
- 197, 202, 205, 210, 211, 218, 219, 226, 227, 235,
- 236, 247, 248, 260, 261, 270, 271, 281, 283, 285,
- 287, 290, 295, 301, 303, 305, 307, 309, 311, 313,
- 315, 317, 319, 321, 323, 325, 327, 329, 331, 333,
- 335, 337, 339, 341, 343, 345, 347, 349, 351, 353,
- 355, 357, 359, 361, 363, 365, 367, 369, 371, 374,
- 377, 379, 381, 383, 385, 386, 393, 395, 397, 399,
- 403, 406, 411, 414, 419, 423, 428, 430, 432, 434,
- 436, 439, 442, 445, 448, 451, 455, 460, 464, 468,
- 469, 476, 478, 480, 482, 486, 489, 491, 495, 497,
- 500, 502, 505, 507, 511, 517, 521, 526, 528, 530,
- 533, 535, 539, 543, 549, 553, 557, 562, 564, 566,
- 568, 570, 573, 576, 579, 582, 586, 591, 593, 595,
- 597, 600, 603, 606, 609, 613, 618, 626, 630, 632,
- 635, 638, 641, 644, 648, 653, 661, 663, 665, 668,
- 670, 672, 674, 677, 682, 684, 686, 689, 691, 693,
- 695, 698, 703, 706, 708, 710, 713, 716, 719, 722,
- 726, 727, 733, 734, 742, 744, 746, 749, 753, 756,
- 759, 762, 766, 770, 774, 778, 782, 786, 791, 796,
- 799, 803, 805, 807, 809, 811, 815, 821, 823, 826,
- 831, 833, 835, 837, 839, 840, 847, 852, 855, 859,
- 861, 863, 865, 867, 869, 871, 873, 875, 877, 879,
- 881, 883, 885, 887, 890, 893, 896, 899, 901, 904,
- 906, 910, 913, 915, 916, 919, 921, 924, 926, 928,
- 930, 932, 934, 936, 938, 940, 942, 944, 946, 948,
- 950, 952, 954, 956, 958, 960, 962, 964, 966, 968,
- 970, 972, 974, 976, 978, 980, 982, 984, 986, 988,
- 990, 992, 994, 996, 998, 1000, 1002, 1004, 1006, 1008,
- 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028,
- 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048,
- 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068,
- 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088,
- 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108,
- 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128,
- 1130, 1132, 1134, 1136, 1138, 1142, 1144, 1146, 1148, 1150,
- 1152, 1156, 1158, 1163, 1171, 1179, 1184, 1187, 1190, 1193,
- 1196, 1199, 1203, 1207, 1211, 1215, 1219, 1223, 1227, 1231,
- 1235, 1239, 1243, 1247, 1251, 1255, 1259, 1263, 1269, 1274,
- 1279, 1283, 1287, 1291, 1295, 1297, 1302, 1310, 1318, 1323,
- 1328, 1333, 1338, 1343, 1348, 1353, 1358, 1363, 1368, 1373,
- 1378, 1383, 1388, 1391, 1397, 1400, 1403, 1406, 1409, 1412,
- 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452,
- 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1490, 1495,
- 1500, 1504, 1508, 1512, 1516, 1518, 1520, 1522, 1524, 1526,
- 1528, 1530, 1532, 1537, 1545, 1553, 1558, 1561, 1567, 1570,
- 1573, 1576, 1579, 1583, 1587, 1591, 1595, 1599, 1603, 1607,
- 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1643, 1647,
- 1651, 1657, 1662, 1667, 1671, 1675, 1679, 1683, 1685, 1687,
- 1689, 1691, 1693, 1695, 1697, 1700, 1703, 1705, 1707, 1709,
- 1712
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int16 yyrhs[] =
-{
- 132, 0, -1, 104, 133, -1, 105, 216, -1, 106,
- 186, -1, 223, -1, 133, 109, -1, 133, 138, -1,
- 135, -1, 134, 108, 135, -1, 221, 125, 213, 127,
- -1, -1, 141, 107, 137, 133, 128, -1, 142, -1,
- 164, -1, 136, -1, 201, -1, 203, -1, 139, -1,
- 94, 148, -1, 43, -1, 56, -1, 61, 110, -1,
- 81, 110, -1, 80, 110, -1, 79, 110, -1, 72,
- 125, 8, 108, 8, 127, 109, -1, 72, 125, 8,
- 108, 8, 108, 8, 127, 109, -1, 73, 125, 221,
- 108, 221, 108, 221, 127, 109, -1, -1, 64, 140,
- 138, -1, 223, -1, 141, 59, -1, 141, 59, 222,
- -1, 141, 87, -1, 141, 68, -1, 141, 99, -1,
- 141, 60, -1, 141, 101, -1, 141, 74, -1, 141,
- 82, -1, 141, 44, -1, 141, 58, -1, 143, -1,
- 141, 184, 109, -1, 141, 153, 176, -1, -1, 141,
- 184, 144, 146, -1, -1, 141, 51, 183, 145, 147,
- -1, 170, 176, -1, 170, 175, 108, 146, -1, 170,
- 176, -1, 170, 175, 108, 147, -1, -1, 141, 184,
- 149, 151, -1, -1, 141, 51, 183, 150, 152, -1,
- 141, 153, 176, -1, 170, 176, -1, 170, 175, 108,
- 151, -1, 170, 176, -1, 170, 175, 108, 152, -1,
- -1, 8, 125, 154, 172, 127, 161, -1, -1, 9,
- 125, 155, 172, 127, 161, -1, -1, 123, 221, 125,
- 156, 172, 127, 161, -1, -1, 9, 125, 120, 170,
- 127, 125, 157, 172, 127, 161, -1, -1, 9, 125,
- 10, 120, 170, 127, 125, 158, 172, 127, 161, -1,
- -1, 78, 183, 180, 125, 159, 172, 127, 161, -1,
- -1, 78, 51, 183, 180, 125, 160, 172, 127, 161,
- -1, 8, -1, 223, -1, 51, -1, 161, 77, -1,
- 161, 91, 125, 127, -1, 161, 91, 125, 221, 127,
- -1, 129, -1, 123, -1, 120, -1, 121, -1, 122,
- -1, 118, -1, 119, -1, 113, -1, 115, -1, 114,
- -1, 13, -1, 14, -1, 15, -1, 16, -1, 17,
- -1, 18, -1, 116, -1, 117, -1, 19, -1, 20,
- -1, 111, -1, 108, -1, 31, -1, 32, -1, 33,
- -1, 34, -1, 35, -1, 36, -1, 37, -1, 38,
- -1, 39, -1, 40, -1, 41, -1, 42, -1, 29,
- -1, 126, 130, -1, 125, 127, -1, 76, -1, 52,
- -1, 142, -1, 164, -1, -1, 90, 165, 116, 166,
- 117, 163, -1, 223, -1, 167, -1, 168, -1, 167,
- 108, 168, -1, 50, 221, -1, 50, 221, 111, 186,
- -1, 95, 221, -1, 95, 221, 111, 186, -1, 169,
- 181, 174, -1, 51, 169, 181, 174, -1, 204, -1,
- 8, -1, 9, -1, 221, -1, 78, 162, -1, 51,
- 170, -1, 120, 170, -1, 115, 170, -1, 14, 170,
- -1, 10, 120, 170, -1, 170, 126, 212, 130, -1,
- 170, 110, 4, -1, 125, 170, 127, -1, -1, 170,
- 125, 171, 172, 127, 161, -1, 223, -1, 12, -1,
- 173, -1, 173, 108, 12, -1, 173, 12, -1, 179,
- -1, 173, 108, 179, -1, 223, -1, 111, 215, -1,
- 223, -1, 111, 216, -1, 109, -1, 107, 208, 128,
- -1, 110, 134, 107, 208, 128, -1, 111, 216, 109,
- -1, 111, 107, 177, 128, -1, 223, -1, 178, -1,
- 178, 108, -1, 216, -1, 107, 177, 128, -1, 178,
- 108, 216, -1, 178, 108, 107, 177, 128, -1, 183,
- 181, 175, -1, 8, 181, 175, -1, 51, 183, 181,
- 175, -1, 218, -1, 223, -1, 8, -1, 9, -1,
- 51, 180, -1, 120, 180, -1, 115, 180, -1, 14,
- 180, -1, 10, 120, 180, -1, 180, 126, 212, 130,
- -1, 223, -1, 8, -1, 9, -1, 51, 181, -1,
- 120, 181, -1, 115, 181, -1, 14, 181, -1, 10,
- 120, 181, -1, 181, 126, 212, 130, -1, 125, 181,
- 127, 125, 172, 127, 161, -1, 125, 181, 127, -1,
- 223, -1, 51, 182, -1, 120, 182, -1, 115, 182,
- -1, 14, 182, -1, 10, 120, 182, -1, 182, 126,
- 212, 130, -1, 125, 182, 127, 125, 172, 127, 161,
- -1, 204, -1, 9, -1, 95, 221, -1, 187, -1,
- 189, -1, 194, -1, 200, 221, -1, 199, 221, 110,
- 196, -1, 204, -1, 9, -1, 95, 221, -1, 187,
- -1, 189, -1, 194, -1, 200, 221, -1, 199, 221,
- 110, 196, -1, 199, 221, -1, 204, -1, 9, -1,
- 95, 221, -1, 200, 221, -1, 199, 221, -1, 183,
- 182, -1, 51, 183, 182, -1, -1, 200, 107, 188,
- 133, 128, -1, -1, 200, 221, 190, 191, 107, 133,
- 128, -1, 223, -1, 192, -1, 110, 193, -1, 192,
- 108, 193, -1, 81, 220, -1, 80, 220, -1, 79,
- 220, -1, 99, 81, 220, -1, 99, 80, 220, -1,
- 99, 79, 220, -1, 81, 99, 220, -1, 80, 99,
- 220, -1, 79, 99, 220, -1, 195, 107, 198, 128,
- -1, 199, 221, 110, 196, -1, 199, 221, -1, 199,
- 110, 196, -1, 199, -1, 205, -1, 9, -1, 223,
- -1, 197, 221, 108, -1, 197, 221, 111, 216, 108,
- -1, 197, -1, 197, 221, -1, 197, 221, 111, 216,
- -1, 57, -1, 50, -1, 89, -1, 96, -1, -1,
- 75, 221, 107, 202, 133, 128, -1, 75, 107, 133,
- 128, -1, 98, 221, -1, 98, 75, 221, -1, 205,
- -1, 206, -1, 207, -1, 45, -1, 47, -1, 102,
- -1, 48, -1, 49, -1, 84, -1, 70, -1, 71,
- -1, 97, -1, 85, -1, 69, -1, 84, 205, -1,
- 70, 205, -1, 97, 205, -1, 85, 205, -1, 63,
- -1, 70, 63, -1, 53, -1, 70, 70, 63, -1,
- 70, 53, -1, 100, -1, -1, 209, 210, -1, 223,
- -1, 210, 211, -1, 3, -1, 4, -1, 6, -1,
- 5, -1, 8, -1, 9, -1, 10, -1, 7, -1,
- 12, -1, 13, -1, 14, -1, 15, -1, 16, -1,
- 17, -1, 18, -1, 19, -1, 20, -1, 21, -1,
- 22, -1, 29, -1, 30, -1, 31, -1, 32, -1,
- 33, -1, 34, -1, 35, -1, 36, -1, 37, -1,
- 38, -1, 39, -1, 40, -1, 41, -1, 42, -1,
- 45, -1, 46, -1, 47, -1, 48, -1, 49, -1,
- 50, -1, 51, -1, 52, -1, 53, -1, 54, -1,
- 55, -1, 57, -1, 59, -1, 60, -1, 62, -1,
- 63, -1, 64, -1, 65, -1, 66, -1, 67, -1,
- 68, -1, 69, -1, 70, -1, 74, -1, 75, -1,
- 76, -1, 78, -1, 79, -1, 80, -1, 81, -1,
- 61, -1, 82, -1, 83, -1, 84, -1, 85, -1,
- 86, -1, 87, -1, 88, -1, 89, -1, 91, -1,
- 92, -1, 93, -1, 94, -1, 95, -1, 96, -1,
- 97, -1, 98, -1, 99, -1, 100, -1, 101, -1,
- 102, -1, 103, -1, 118, -1, 119, -1, 120, -1,
- 121, -1, 115, -1, 113, -1, 114, -1, 129, -1,
- 123, -1, 111, -1, 122, -1, 116, -1, 117, -1,
- 125, -1, 127, -1, 124, -1, 108, -1, 109, -1,
- 110, -1, 126, -1, 130, -1, 112, -1, 107, 210,
- 128, -1, 223, -1, 216, -1, 223, -1, 214, -1,
- 216, -1, 214, 108, 216, -1, 217, -1, 125, 186,
- 127, 215, -1, 88, 116, 186, 117, 125, 214, 127,
- -1, 54, 116, 186, 117, 125, 214, 127, -1, 86,
- 125, 186, 127, -1, 129, 215, -1, 123, 215, -1,
- 119, 215, -1, 120, 215, -1, 115, 215, -1, 215,
- 120, 215, -1, 215, 121, 215, -1, 215, 122, 215,
- -1, 215, 118, 215, -1, 215, 119, 215, -1, 215,
- 113, 215, -1, 215, 114, 215, -1, 215, 115, 215,
- -1, 215, 13, 215, -1, 215, 14, 215, -1, 215,
- 15, 215, -1, 215, 16, 215, -1, 215, 17, 215,
- -1, 215, 18, 215, -1, 215, 19, 215, -1, 215,
- 20, 215, -1, 215, 112, 215, 110, 215, -1, 215,
- 126, 216, 130, -1, 215, 125, 214, 127, -1, 215,
- 125, 127, -1, 215, 124, 215, -1, 215, 29, 215,
- -1, 125, 214, 127, -1, 217, -1, 125, 186, 127,
- 216, -1, 88, 116, 186, 117, 125, 214, 127, -1,
- 54, 116, 186, 117, 125, 214, 127, -1, 9, 125,
- 213, 127, -1, 69, 125, 213, 127, -1, 47, 125,
- 213, 127, -1, 102, 125, 213, 127, -1, 48, 125,
- 213, 127, -1, 49, 125, 213, 127, -1, 45, 125,
- 213, 127, -1, 84, 125, 213, 127, -1, 70, 125,
- 213, 127, -1, 97, 125, 213, 127, -1, 85, 125,
- 213, 127, -1, 63, 125, 213, 127, -1, 53, 125,
- 213, 127, -1, 86, 125, 186, 127, -1, 76, 185,
- -1, 76, 185, 125, 213, 127, -1, 129, 216, -1,
- 123, 216, -1, 119, 216, -1, 120, 216, -1, 115,
- 216, -1, 216, 120, 216, -1, 216, 121, 216, -1,
- 216, 122, 216, -1, 216, 118, 216, -1, 216, 119,
- 216, -1, 216, 113, 216, -1, 216, 114, 216, -1,
- 216, 115, 216, -1, 216, 13, 216, -1, 216, 14,
- 216, -1, 216, 15, 216, -1, 216, 16, 216, -1,
- 216, 17, 216, -1, 216, 18, 216, -1, 216, 116,
- 216, -1, 216, 117, 216, -1, 216, 19, 216, -1,
- 216, 20, 216, -1, 216, 112, 216, 110, 216, -1,
- 216, 126, 216, 130, -1, 216, 125, 214, 127, -1,
- 216, 125, 127, -1, 216, 124, 216, -1, 216, 29,
- 216, -1, 125, 214, 127, -1, 4, -1, 92, -1,
- 62, -1, 5, -1, 3, -1, 222, -1, 8, -1,
- 219, -1, 125, 186, 127, 216, -1, 88, 116, 186,
- 117, 125, 214, 127, -1, 54, 116, 186, 117, 125,
- 214, 127, -1, 86, 125, 186, 127, -1, 76, 185,
- -1, 76, 185, 125, 213, 127, -1, 129, 216, -1,
- 123, 216, -1, 119, 216, -1, 115, 216, -1, 218,
- 120, 216, -1, 218, 121, 216, -1, 218, 122, 216,
- -1, 218, 118, 216, -1, 218, 119, 216, -1, 218,
- 113, 216, -1, 218, 114, 216, -1, 218, 115, 216,
- -1, 218, 13, 216, -1, 218, 14, 216, -1, 218,
- 15, 216, -1, 218, 16, 216, -1, 218, 17, 216,
- -1, 218, 18, 216, -1, 218, 116, 216, -1, 218,
- 117, 216, -1, 218, 19, 216, -1, 218, 20, 216,
- -1, 218, 112, 216, 110, 216, -1, 218, 126, 216,
- 130, -1, 218, 125, 214, 127, -1, 218, 125, 127,
- -1, 218, 124, 216, -1, 218, 29, 216, -1, 125,
- 214, 127, -1, 4, -1, 92, -1, 62, -1, 5,
- -1, 3, -1, 222, -1, 221, -1, 200, 221, -1,
- 95, 221, -1, 8, -1, 9, -1, 6, -1, 222,
- 6, -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, 386, 386, 387, 391, 398, 399, 400, 404, 405,
409, 422, 421, 433, 434, 435, 436, 437, 438, 439,
440, 453, 462, 466, 474, 478, 482, 493, 514, 523,
- 522, 537, 541, 545, 556, 560, 564, 568, 572, 576,
- 580, 584, 588, 595, 599, 608, 620, 619, 635, 634,
- 652, 660, 671, 680, 694, 693, 709, 708, 719, 734,
- 740, 749, 756, 769, 768, 791, 790, 815, 814, 845,
- 844, 860, 859, 877, 876, 908, 907, 933, 946, 950,
- 954, 958, 962, 969, 973, 977, 981, 985, 989, 993,
- 997, 1001, 1005, 1009, 1013, 1017, 1021, 1025, 1029, 1033,
- 1037, 1041, 1045, 1049, 1053, 1057, 1061, 1065, 1069, 1073,
- 1077, 1081, 1085, 1089, 1093, 1097, 1101, 1105, 1109, 1113,
- 1117, 1121, 1128, 1129, 1134, 1133, 1144, 1145, 1149, 1155,
- 1164, 1168, 1172, 1176, 1180, 1186, 1196, 1200, 1205, 1214,
- 1218, 1232, 1237, 1242, 1247, 1252, 1257, 1262, 1267, 1273,
- 1272, 1294, 1298, 1303, 1307, 1312, 1320, 1325, 1333, 1337,
- 1344, 1348, 1355, 1359, 1363, 1367, 1371, 1378, 1379, 1380,
- 1384, 1387, 1388, 1389, 1393, 1398, 1406, 1412, 1422, 1426,
- 1430, 1434, 1439, 1444, 1449, 1454, 1459, 1467, 1471, 1475,
- 1479, 1484, 1489, 1494, 1499, 1504, 1509, 1515, 1523, 1527,
- 1532, 1537, 1542, 1547, 1552, 1557, 1566, 1570, 1575, 1579,
- 1583, 1587, 1591, 1607, 1626, 1630, 1635, 1639, 1643, 1647,
- 1651, 1667, 1683, 1704, 1708, 1713, 1717, 1733, 1752, 1758,
- 1769, 1768, 1793, 1792, 1822, 1823, 1827, 1828, 1832, 1836,
- 1840, 1844, 1848, 1852, 1856, 1860, 1864, 1871, 1879, 1883,
- 1887, 1891, 1898, 1902, 1909, 1910, 1916, 1924, 1925, 1931,
- 1940, 1947, 1951, 1955, 1963, 1962, 1984, 1988, 1994, 2003,
- 2004, 2005, 2009, 2013, 2017, 2021, 2025, 2029, 2034, 2039,
- 2044, 2049, 2054, 2058, 2063, 2072, 2077, 2085, 2089, 2094,
- 2098, 2103, 2111, 2121, 2121, 2131, 2132, 2136, 2137, 2138,
- 2139, 2140, 2141, 2142, 2143, 2144, 2144, 2144, 2145, 2145,
- 2145, 2145, 2146, 2146, 2146, 2146, 2146, 2147, 2147, 2147,
- 2148, 2148, 2148, 2148, 2148, 2149, 2149, 2149, 2149, 2149,
- 2150, 2150, 2151, 2151, 2151, 2152, 2152, 2153, 2153, 2153,
- 2153, 2153, 2154, 2154, 2154, 2155, 2155, 2155, 2155, 2155,
- 2155, 2156, 2156, 2156, 2156, 2157, 2157, 2157, 2157, 2158,
- 2158, 2158, 2158, 2159, 2159, 2159, 2159, 2160, 2160, 2160,
- 2160, 2160, 2161, 2161, 2161, 2161, 2161, 2162, 2162, 2162,
- 2162, 2162, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165,
- 2165, 2165, 2165, 2166, 2166, 2166, 2166, 2166, 2166, 2166,
- 2166, 2166, 2166, 2167, 2167, 2171, 2175, 2182, 2186, 2193,
- 2197, 2204, 2208, 2212, 2216, 2220, 2224, 2228, 2232, 2244,
- 2248, 2252, 2256, 2260, 2264, 2268, 2272, 2276, 2280, 2284,
- 2288, 2292, 2296, 2300, 2304, 2308, 2312, 2316, 2320, 2324,
- 2328, 2332, 2336, 2340, 2348, 2352, 2356, 2360, 2364, 2371,
- 2377, 2383, 2389, 2395, 2401, 2407, 2414, 2421, 2428, 2435,
- 2441, 2447, 2451, 2455, 2459, 2463, 2467, 2479, 2483, 2487,
- 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2519, 2523, 2527,
- 2531, 2535, 2539, 2543, 2547, 2551, 2555, 2559, 2563, 2567,
- 2571, 2575, 2579, 2583, 2590, 2594, 2598, 2602, 2606, 2610,
- 2614, 2628, 2632, 2636, 2640, 2644, 2648, 2652, 2656, 2660,
- 2664, 2676, 2680, 2684, 2688, 2692, 2696, 2700, 2704, 2708,
- 2712, 2716, 2720, 2724, 2728, 2732, 2736, 2740, 2744, 2748,
- 2752, 2756, 2760, 2764, 2768, 2772, 2776, 2783, 2787, 2791,
- 2795, 2799, 2803, 2810, 2818, 2826, 2849, 2853, 2860, 2864,
- 2870
+ 522, 537, 541, 546, 550, 561, 565, 569, 573, 577,
+ 581, 585, 589, 593, 601, 600, 615, 624, 638, 649,
+ 664, 663, 678, 693, 702, 717, 716, 739, 738, 763,
+ 762, 793, 792, 808, 807, 825, 824, 856, 855, 881,
+ 894, 898, 902, 906, 910, 917, 921, 925, 929, 933,
+ 937, 941, 945, 949, 953, 957, 961, 965, 969, 973,
+ 977, 981, 985, 989, 993, 997, 1001, 1005, 1009, 1013,
+ 1017, 1021, 1025, 1029, 1033, 1037, 1041, 1045, 1049, 1053,
+ 1057, 1061, 1065, 1069, 1076, 1077, 1082, 1081, 1092, 1093,
+ 1097, 1103, 1112, 1116, 1120, 1124, 1128, 1134, 1144, 1148,
+ 1153, 1162, 1166, 1180, 1185, 1190, 1195, 1200, 1205, 1210,
+ 1215, 1221, 1220, 1242, 1246, 1251, 1255, 1260, 1268, 1273,
+ 1281, 1285, 1292, 1296, 1303, 1307, 1311, 1315, 1319, 1326,
+ 1327, 1328, 1332, 1335, 1336, 1337, 1341, 1346, 1354, 1360,
+ 1370, 1374, 1378, 1382, 1387, 1392, 1397, 1402, 1407, 1415,
+ 1419, 1423, 1427, 1432, 1437, 1442, 1447, 1452, 1457, 1463,
+ 1471, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1514, 1518,
+ 1523, 1527, 1531, 1535, 1539, 1555, 1574, 1578, 1583, 1587,
+ 1591, 1595, 1599, 1615, 1631, 1652, 1656, 1661, 1665, 1681,
+ 1700, 1706, 1717, 1716, 1741, 1740, 1770, 1771, 1775, 1776,
+ 1780, 1784, 1788, 1792, 1796, 1800, 1804, 1808, 1812, 1819,
+ 1827, 1831, 1835, 1839, 1846, 1850, 1857, 1858, 1864, 1872,
+ 1873, 1879, 1888, 1895, 1899, 1903, 1911, 1910, 1932, 1936,
+ 1942, 1951, 1952, 1953, 1957, 1961, 1965, 1969, 1973, 1977,
+ 1982, 1987, 1992, 1997, 2002, 2006, 2011, 2020, 2025, 2033,
+ 2037, 2042, 2046, 2051, 2059, 2069, 2069, 2079, 2080, 2084,
+ 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2092, 2092,
+ 2093, 2093, 2093, 2093, 2094, 2094, 2094, 2094, 2094, 2095,
+ 2095, 2095, 2096, 2096, 2096, 2096, 2096, 2097, 2097, 2097,
+ 2097, 2097, 2098, 2098, 2099, 2099, 2099, 2100, 2100, 2101,
+ 2101, 2101, 2101, 2101, 2102, 2102, 2102, 2103, 2103, 2103,
+ 2103, 2103, 2103, 2104, 2104, 2104, 2104, 2105, 2105, 2105,
+ 2105, 2106, 2106, 2106, 2106, 2107, 2107, 2107, 2107, 2108,
+ 2108, 2108, 2108, 2108, 2109, 2109, 2109, 2109, 2109, 2110,
+ 2110, 2110, 2110, 2110, 2113, 2113, 2113, 2113, 2113, 2113,
+ 2113, 2113, 2113, 2113, 2113, 2114, 2114, 2114, 2114, 2114,
+ 2114, 2114, 2114, 2114, 2114, 2115, 2115, 2119, 2123, 2130,
+ 2134, 2141, 2145, 2152, 2156, 2160, 2164, 2168, 2172, 2176,
+ 2180, 2192, 2196, 2200, 2204, 2208, 2212, 2216, 2220, 2224,
+ 2228, 2232, 2236, 2240, 2244, 2248, 2252, 2256, 2260, 2264,
+ 2268, 2272, 2276, 2280, 2284, 2288, 2296, 2300, 2304, 2308,
+ 2312, 2319, 2325, 2331, 2337, 2343, 2349, 2355, 2362, 2369,
+ 2376, 2383, 2389, 2395, 2399, 2403, 2407, 2411, 2415, 2427,
+ 2431, 2435, 2439, 2443, 2447, 2451, 2455, 2459, 2463, 2467,
+ 2471, 2475, 2479, 2483, 2487, 2491, 2495, 2499, 2503, 2507,
+ 2511, 2515, 2519, 2523, 2527, 2531, 2538, 2542, 2546, 2550,
+ 2554, 2558, 2562, 2576, 2580, 2584, 2588, 2592, 2596, 2600,
+ 2604, 2608, 2612, 2624, 2628, 2632, 2636, 2640, 2644, 2648,
+ 2652, 2656, 2660, 2664, 2668, 2672, 2676, 2680, 2684, 2688,
+ 2692, 2696, 2700, 2704, 2708, 2712, 2716, 2720, 2724, 2731,
+ 2735, 2739, 2743, 2747, 2751, 2758, 2766, 2774, 2797, 2801,
+ 2808, 2812, 2818
};
#endif
@@ -1165,37 +927,35 @@ static const char *const yytname[] =
"']'", "$accept", "grammar", "cpp", "constructor_inits",
"constructor_init", "extern_c", "$@1", "declaration",
"friend_declaration", "$@2", "storage_class", "type_like_declaration",
- "multiple_var_declaration", "$@3", "$@4",
- "multiple_instance_identifiers", "multiple_const_instance_identifiers",
- "typedef_declaration", "$@5", "$@6", "typedef_instance_identifiers",
- "typedef_const_instance_identifiers", "function_prototype", "$@7", "$@8",
- "$@9", "$@10", "$@11", "$@12", "$@13", "function_post",
+ "$@3", "multiple_instance_identifiers", "typedef_declaration", "$@4",
+ "typedef_instance_identifiers", "function_prototype", "$@5", "$@6",
+ "$@7", "$@8", "$@9", "$@10", "$@11", "function_post",
"function_operator", "more_template_declaration", "template_declaration",
- "$@14", "template_formal_parameters",
+ "$@12", "template_formal_parameters",
"template_nonempty_formal_parameters", "template_formal_parameter",
- "template_formal_parameter_type", "instance_identifier", "$@15",
+ "template_formal_parameter_type", "instance_identifier", "$@13",
"formal_parameter_list", "formal_parameters",
"template_parameter_maybe_initialize", "maybe_initialize",
"maybe_initialize_or_function_body", "structure_init",
"structure_init_body", "formal_parameter",
"not_paren_formal_parameter_identifier", "formal_parameter_identifier",
"empty_instance_identifier", "type", "type_decl", "predefined_type",
- "full_type", "anonymous_struct", "$@16", "named_struct", "$@17",
+ "full_type", "anonymous_struct", "$@14", "named_struct", "$@15",
"maybe_class_derivation", "class_derivation", "base_specification",
"enum", "enum_decl", "enum_element_type", "enum_body_trailing_comma",
"enum_body", "enum_keyword", "struct_keyword", "namespace_declaration",
- "$@18", "using_declaration", "simple_type", "simple_int_type",
- "simple_float_type", "simple_void_type", "code", "$@19", "code_block",
+ "$@16", "using_declaration", "simple_type", "simple_int_type",
+ "simple_float_type", "simple_void_type", "code", "$@17", "code_block",
"element", "optional_const_expr", "optional_const_expr_comma",
"const_expr_comma", "no_angle_bracket_const_expr", "const_expr",
"const_operand", "formal_const_expr", "formal_const_operand",
- "class_derivation_name", "name", "string", "empty", YY_NULL
+ "class_derivation_name", "name", "string", "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,
@@ -1215,856 +975,736 @@ static const yytype_uint16 yytoknum[] =
};
# endif
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 131, 132, 132, 132, 133, 133, 133, 134, 134,
- 135, 137, 136, 138, 138, 138, 138, 138, 138, 138,
- 138, 138, 138, 138, 138, 138, 138, 138, 138, 140,
- 139, 141, 141, 141, 141, 141, 141, 141, 141, 141,
- 141, 141, 141, 142, 142, 142, 144, 143, 145, 143,
- 146, 146, 147, 147, 149, 148, 150, 148, 148, 151,
- 151, 152, 152, 154, 153, 155, 153, 156, 153, 157,
- 153, 158, 153, 159, 153, 160, 153, 153, 161, 161,
- 161, 161, 161, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 162, 162, 163, 163, 165, 164, 166, 166, 167, 167,
- 168, 168, 168, 168, 168, 168, 169, 169, 169, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 171,
- 170, 172, 172, 172, 172, 172, 173, 173, 174, 174,
- 175, 175, 176, 176, 176, 176, 176, 177, 177, 177,
- 178, 178, 178, 178, 179, 179, 179, 179, 180, 180,
- 180, 180, 180, 180, 180, 180, 180, 181, 181, 181,
- 181, 181, 181, 181, 181, 181, 181, 181, 182, 182,
- 182, 182, 182, 182, 182, 182, 183, 183, 183, 183,
- 183, 183, 183, 183, 184, 184, 184, 184, 184, 184,
- 184, 184, 184, 185, 185, 185, 185, 185, 186, 186,
- 188, 187, 190, 189, 191, 191, 192, 192, 193, 193,
- 193, 193, 193, 193, 193, 193, 193, 194, 195, 195,
- 195, 195, 196, 196, 197, 197, 197, 198, 198, 198,
- 199, 200, 200, 200, 202, 201, 201, 203, 203, 204,
- 204, 204, 205, 205, 205, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 205, 205, 205, 206, 206, 206,
- 206, 206, 207, 209, 208, 210, 210, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
- 214, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 217, 217, 217, 217, 217, 217,
- 217, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
- 218, 218, 218, 218, 218, 218, 218, 219, 219, 219,
- 219, 219, 219, 220, 220, 220, 221, 221, 222, 222,
- 223
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 2, 2, 2, 1, 2, 2, 1, 3,
- 4, 0, 5, 1, 1, 1, 1, 1, 1, 2,
- 1, 1, 2, 2, 2, 2, 7, 9, 9, 0,
- 3, 1, 2, 3, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 1, 3, 3, 0, 4, 0, 5,
- 2, 4, 2, 4, 0, 4, 0, 5, 3, 2,
- 4, 2, 4, 0, 6, 0, 6, 0, 7, 0,
- 10, 0, 11, 0, 8, 0, 9, 1, 1, 1,
- 2, 4, 5, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
- 1, 1, 1, 1, 0, 6, 1, 1, 1, 3,
- 2, 4, 2, 4, 3, 4, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 3, 4, 3, 3, 0,
- 6, 1, 1, 1, 3, 2, 1, 3, 1, 2,
- 1, 2, 1, 3, 5, 3, 4, 1, 1, 2,
- 1, 3, 3, 5, 3, 3, 4, 1, 1, 1,
- 1, 2, 2, 2, 2, 3, 4, 1, 1, 1,
- 2, 2, 2, 2, 3, 4, 7, 3, 1, 2,
- 2, 2, 2, 3, 4, 7, 1, 1, 2, 1,
- 1, 1, 2, 4, 1, 1, 2, 1, 1, 1,
- 2, 4, 2, 1, 1, 2, 2, 2, 2, 3,
- 0, 5, 0, 7, 1, 1, 2, 3, 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, 4, 2, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 2, 2, 2, 1, 2, 1,
- 3, 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, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 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, 4, 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, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 2, 5, 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, 4, 7, 7, 4, 2, 5, 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, 2, 2, 1, 1, 1, 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, 550, 0, 0, 0, 550, 5, 498, 494, 497,
- 548, 500, 0, 0, 0, 0, 0, 0, 0, 496,
- 0, 0, 0, 0, 0, 0, 0, 0, 495, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 444, 499,
- 207, 272, 273, 275, 276, 261, 0, 289, 260, 287,
- 282, 278, 279, 277, 281, 262, 0, 263, 280, 292,
- 274, 550, 4, 209, 210, 211, 0, 251, 0, 206,
- 269, 270, 271, 1, 20, 21, 0, 29, 0, 0,
- 0, 0, 0, 0, 124, 550, 0, 6, 15, 7,
- 18, 0, 13, 43, 14, 16, 17, 31, 550, 550,
- 550, 550, 550, 550, 0, 550, 550, 550, 224, 0,
- 462, 0, 0, 223, 550, 550, 0, 0, 550, 550,
- 468, 466, 467, 465, 207, 272, 273, 275, 276, 289,
- 287, 282, 278, 277, 281, 280, 274, 0, 0, 409,
- 464, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 549, 550, 291, 288, 278, 284,
- 278, 283, 286, 546, 547, 208, 285, 0, 550, 550,
- 550, 550, 550, 228, 198, 550, 0, 249, 230, 212,
- 22, 550, 0, 0, 550, 0, 25, 24, 23, 0,
- 0, 19, 0, 267, 77, 215, 41, 0, 42, 32,
- 37, 35, 39, 0, 40, 34, 0, 36, 38, 11,
- 0, 0, 46, 217, 218, 219, 251, 0, 214, 0,
- 408, 407, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 225, 550, 227, 226, 0, 0, 0, 0, 0,
- 0, 0, 0, 493, 477, 478, 479, 480, 481, 482,
- 485, 486, 492, 0, 474, 475, 476, 483, 484, 472,
- 473, 469, 470, 471, 491, 490, 0, 0, 229, 290,
- 550, 202, 199, 201, 200, 0, 550, 257, 0, 254,
- 253, 250, 252, 0, 550, 550, 30, 0, 0, 550,
- 264, 550, 0, 0, 54, 268, 63, 65, 48, 33,
- 0, 550, 216, 550, 0, 293, 162, 0, 0, 45,
- 44, 0, 222, 220, 448, 454, 450, 452, 453, 460,
- 0, 459, 449, 456, 0, 455, 458, 461, 0, 457,
- 451, 445, 410, 0, 489, 488, 203, 0, 0, 406,
- 405, 258, 247, 213, 550, 0, 0, 235, 234, 0,
- 0, 266, 550, 137, 138, 0, 0, 0, 0, 127,
- 128, 550, 136, 126, 56, 58, 0, 550, 0, 0,
- 550, 0, 550, 179, 180, 0, 550, 550, 550, 550,
- 0, 178, 550, 67, 0, 550, 0, 8, 0, 550,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 550,
- 139, 0, 0, 463, 0, 487, 550, 204, 255, 0,
- 231, 0, 0, 0, 0, 236, 550, 0, 0, 0,
- 550, 130, 550, 132, 550, 0, 188, 189, 0, 550,
- 550, 550, 550, 550, 550, 187, 0, 55, 550, 541,
- 537, 540, 550, 152, 0, 0, 539, 0, 0, 0,
- 538, 0, 0, 0, 0, 0, 0, 153, 156, 550,
- 177, 501, 542, 151, 0, 0, 0, 49, 550, 0,
- 550, 184, 181, 183, 182, 73, 550, 12, 550, 163,
- 294, 295, 293, 0, 550, 550, 0, 168, 170, 167,
- 165, 0, 144, 141, 93, 94, 95, 96, 97, 98,
- 101, 102, 117, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 121, 120, 104, 103, 90,
- 92, 91, 99, 100, 88, 89, 85, 86, 87, 84,
- 0, 0, 83, 140, 143, 142, 0, 0, 0, 149,
- 550, 0, 50, 160, 221, 0, 0, 0, 259, 0,
- 0, 0, 240, 543, 0, 239, 0, 238, 0, 0,
- 0, 550, 237, 0, 0, 0, 265, 0, 550, 0,
- 0, 122, 125, 123, 129, 550, 193, 190, 192, 191,
- 0, 0, 550, 134, 158, 57, 550, 0, 59, 550,
- 550, 0, 506, 0, 0, 511, 510, 509, 0, 0,
- 508, 550, 155, 0, 550, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 550, 0, 52, 75, 185, 550, 0, 0, 297,
- 298, 300, 299, 304, 301, 302, 303, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, 339, 340, 341, 342, 343, 360, 344, 345, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 380, 381, 550, 398, 399, 400, 391, 403,
- 387, 388, 386, 393, 394, 382, 383, 384, 385, 392,
- 390, 397, 395, 401, 396, 389, 402, 296, 0, 9,
- 0, 0, 166, 169, 145, 119, 118, 148, 147, 161,
- 550, 0, 0, 447, 446, 550, 256, 545, 246, 544,
- 245, 244, 243, 242, 241, 233, 0, 26, 0, 131,
- 135, 133, 194, 197, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 159, 411, 0, 0, 61, 0, 0,
- 175, 550, 0, 550, 0, 0, 0, 536, 79, 64,
- 78, 154, 157, 174, 520, 521, 522, 523, 524, 525,
- 528, 529, 535, 0, 517, 518, 519, 526, 527, 515,
- 516, 512, 513, 514, 534, 533, 0, 0, 0, 69,
- 66, 0, 550, 0, 186, 550, 0, 164, 10, 171,
- 550, 172, 0, 146, 51, 205, 0, 0, 550, 0,
- 0, 0, 420, 418, 419, 417, 0, 0, 416, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 195, 0, 60, 161, 176, 0, 0, 505, 0, 502,
- 80, 0, 0, 532, 531, 71, 550, 53, 0, 550,
- 68, 404, 0, 550, 27, 28, 0, 0, 0, 0,
- 0, 443, 429, 430, 431, 432, 433, 434, 435, 436,
- 442, 0, 426, 427, 428, 424, 425, 421, 422, 423,
- 441, 440, 0, 0, 62, 0, 507, 0, 0, 530,
- 550, 0, 550, 74, 173, 150, 550, 0, 415, 0,
- 412, 0, 439, 438, 0, 0, 81, 0, 0, 550,
- 76, 196, 0, 0, 437, 504, 503, 82, 550, 70,
- 0, 0, 72, 414, 413
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 4, 5, 396, 397, 88, 313, 89, 90, 191,
- 91, 92, 93, 321, 381, 408, 477, 201, 376, 446,
- 447, 595, 221, 377, 380, 488, 916, 960, 646, 852,
- 819, 543, 582, 94, 199, 368, 369, 370, 371, 409,
- 770, 466, 467, 593, 551, 319, 496, 497, 468, 390,
- 444, 183, 61, 222, 110, 62, 63, 294, 64, 295,
- 356, 357, 425, 65, 66, 291, 287, 288, 67, 68,
- 95, 362, 96, 69, 70, 71, 72, 394, 395, 490,
- 757, 348, 229, 230, 803, 139, 38, 470, 471, 562,
- 410, 39, 231
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -490
-static const yytype_int16 yypact[] =
-{
- 202, -490, 2072, 3155, 52, 3007, -490, -490, -490, -490,
- -490, -490, -60, -44, -28, -16, 10, 37, -3, -490,
- 43, 46, 51, 3267, 57, 67, 75, 22, -490, 93,
- 113, 2072, 2072, 2072, 2072, 1232, 2072, 2714, -490, 114,
- -490, -490, -490, -490, -490, -490, 3323, -490, -490, -490,
- -490, 1593, -490, 1773, 1773, -490, 84, -490, 1773, -490,
- -490, 119, -490, -490, -490, -490, 139, 102, 15, -490,
- -490, -490, -490, -490, -490, -490, 143, -490, 124, 142,
- 29, 178, 182, 185, -490, -490, 62, -490, -490, -490,
- -490, 2409, -490, -490, -490, -490, -490, -490, 2072, 2072,
- 2072, 2072, 2072, 2072, 3155, 2072, 2072, 2072, -490, 84,
- 146, 84, 84, -490, 2072, 2072, 3155, 3155, 2072, 2072,
- 49, 49, 49, 49, -60, -44, -28, -16, 10, 37,
- 43, 46, 2043, 2336, 3256, 3516, 113, 174, -92, 2714,
- 49, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
- 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
- 2072, 2072, 1532, 2072, -490, 119, -490, -490, 1683, -490,
- 1773, -490, -490, -490, -490, -490, -490, 191, 119, 119,
- 119, 119, 119, 196, -490, -490, 3200, 207, -490, -21,
- -490, 3548, 316, 84, -490, 225, -490, -490, -490, 217,
- 2476, -490, 84, -490, 213, 223, -490, 3323, -490, 345,
- -490, -490, -490, 3211, -490, -490, 84, -490, -490, -490,
- 84, 218, 246, -490, -490, -490, 102, 15, -490, 229,
- 249, -490, 233, 247, 262, 263, 265, 245, 266, 268,
- 269, -490, 2072, -490, -490, 270, 276, 282, 293, 289,
- 295, 2072, 2072, -490, 1249, 821, 3055, 3055, 627, 627,
- 388, 388, -490, 2566, 2134, 2876, 664, 627, 627, 280,
- 280, 49, 49, 49, -490, -490, -68, 2164, 196, -490,
- 119, 196, 196, 196, 196, 4, 2072, 84, 292, -490,
- -490, -490, -490, 3200, -490, 314, -490, 318, 324, 3360,
- -490, 3061, 3323, 218, -490, -490, -490, 12, -490, 114,
- 3323, 222, -490, -490, 309, -490, -490, 84, 1622, -490,
- -490, 206, 17, -21, -490, -490, -490, -490, -490, -490,
- 311, -490, -490, -490, 325, -490, -490, -490, 328, -490,
- -490, 49, 2714, 2072, -490, -490, 196, 329, 326, 2714,
- -490, 58, -490, 351, 3387, 161, 352, 356, -490, 452,
- 84, -490, -490, -490, -490, 84, 2327, 84, 349, 359,
- -490, 219, -490, -490, -490, -490, 206, 1332, 350, 206,
- 1332, 206, 222, -490, -490, 353, 222, 222, 222, 222,
- 71, -490, 3414, -490, 341, -490, 148, -490, 346, 1712,
- 2633, 355, 206, 206, 2326, 206, 206, 206, -490, 165,
- -490, 3200, 2072, -490, 2072, 2714, 1332, -490, -490, 2072,
- -490, 665, 867, 1201, 235, -490, -490, 161, -61, 364,
- 3441, 365, 219, 367, 390, 3061, -490, -490, 361, 219,
- 219, 219, 219, 219, -101, -490, 206, -490, 165, -490,
- -490, -490, 219, -490, 3323, 366, -490, 3267, 368, 374,
- -490, 2072, 2072, 2072, 1232, 2072, 357, 6, -490, 219,
- 2747, -490, 114, -490, 206, 177, 371, -490, 165, 156,
- 222, 373, 373, 373, 373, -490, 2072, -490, 1332, -490,
- 1104, -490, -490, 84, 2072, 1712, 363, 392, 2714, -490,
- -490, 206, 194, 194, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- 375, 381, -490, -490, 194, 194, 239, 79, 1622, -490,
- 2072, 395, -490, -490, 351, -54, -33, 377, 2680, 84,
- 332, 84, -490, -490, 332, -490, 332, -490, 332, 332,
- 332, 3468, -490, 507, 407, 84, -490, 3155, -101, 3155,
- 2543, -490, -490, -490, -490, 219, 393, 393, 393, 393,
- 209, 1468, 2072, -490, -490, -490, 165, 410, -490, -35,
- 219, 3155, 396, 3155, 3155, 49, 49, 49, 398, 13,
- 49, 469, -490, 1432, -35, 2072, 2072, 2072, 2072, 2072,
- 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072,
- 2072, 2072, 2072, 2072, 2072, 2072, 1802, 2072, 242, 519,
- 408, 469, 426, -490, -490, 373, 1332, 405, 409, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, -490, -490, 411, -490,
- 413, 414, -490, 1892, 194, -490, -490, -490, -490, 2633,
- 1332, 415, 206, -490, -490, 469, -490, -490, -490, -490,
- -490, -490, -490, -490, -490, -490, 416, -490, 419, -490,
- -490, -490, 393, 422, 425, 427, 438, 1468, 1468, 1468,
- 1468, 1232, 1468, 2861, -490, 428, 430, -490, 206, 2072,
- -490, -35, 439, 2072, 437, 449, 2072, -490, -490, 27,
- -490, -490, -490, -490, 1249, 821, 3055, 3055, 627, 627,
- 388, 388, -490, 2697, 2134, 2876, 664, 627, 627, 280,
- 280, 49, 49, 49, -490, -490, 90, 2189, 442, -490,
- 27, 206, 1332, 445, -490, 469, 976, -490, -490, -490,
- 1712, 2714, 446, -490, -490, 27, 465, 466, 1332, 3155,
- 3155, 3155, 221, 221, 221, 221, 454, 96, 221, 1468,
- 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468,
- 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1982, 2072,
- -490, 206, -490, 2714, -490, 451, 455, -490, 458, 49,
- -490, 460, 2072, -490, -490, -490, 1332, -490, 459, 469,
- 27, -490, 468, 469, -490, -490, 461, 476, 473, 486,
- 1468, -490, 1449, 2891, 3073, 3073, 1485, 1485, 533, 533,
- -490, 2828, 2906, 2940, 3018, 406, 406, 221, 221, 221,
- -490, -490, 118, 2208, -490, 2072, -490, 2072, 59, 2714,
- 1332, 477, 469, 27, -490, 27, 469, 481, -490, 482,
- 221, 1468, -490, -490, 127, 151, -490, 484, 487, 469,
- 27, 27, 2072, 2072, 2861, -490, -490, -490, 469, 27,
- 169, 172, 27, -490, -490
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
-{
- -490, -490, -179, -490, 116, -490, -490, 447, -490, -490,
- -76, 205, -490, -490, -490, -136, -209, -490, -490, -490,
- -165, -252, 464, -490, -490, -490, -490, -490, -490, -490,
- -318, -490, -490, 231, -490, -490, -490, 234, 300, -307,
- -490, -363, -490, 94, -393, -283, -489, -490, 55, -281,
- -413, 83, -5, 471, 220, -14, -88, -490, -84, -490,
- -490, -490, 248, -83, -490, -288, -490, -490, -11, -9,
- -490, -490, -490, -12, 609, -490, -490, 184, -490, -56,
- -490, -473, -57, -34, 1, 0, -62, -490, -490, -359,
- 157, -158, -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 -250
-static const yytype_int16 yytable[] =
-{
- 6, 138, 37, 223, 97, 353, 761, 224, 225, 200,
- 591, 113, 111, 647, 112, 299, 252, 476, 612, 578,
- 375, 137, 378, 173, 174, 592, 586, 587, 588, 589,
- 590, 120, 121, 122, 123, 253, 140, 173, 174, 599,
- 252, 165, 232, 233, 234, 235, 236, 573, 238, 239,
- 240, 309, 73, 557, 252, 597, 614, 245, 246, 344,
- 184, 249, 250, 565, 567, 98, 574, 173, 174, 448,
- 173, 174, 475, 773, 478, 252, 809, 771, 149, 228,
- 226, 99, 227, 768, 97, 642, -232, 173, 174, -232,
- 237, 592, 173, 174, 774, 502, 503, 100, 544, 545,
- 546, 479, 247, 248, 910, 481, 482, 483, 484, 101,
- 173, 174, 223, 104, 613, 354, 224, 225, 911, 805,
- 164, 252, 188, 554, -249, 648, 552, 411, 276, 177,
- 286, 347, 379, 178, 392, 102, 194, 202, 117, 596,
- 817, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 103, 277, 184, 598, 418, 638, 105, 419,
- 179, 106, 792, 161, 162, 163, 107, 184, 184, 184,
- 184, 184, 114, 430, 289, 334, 976, 811, 228, 226,
- 97, 227, 115, 6, 764, 643, 485, 486, 252, 645,
- 116, 778, 308, 806, 252, 780, 810, 781, 311, 782,
- 783, 784, 186, 175, 173, 174, 401, 913, 118, 472,
- 402, 823, 472, 931, 187, 189, 252, 436, 437, 438,
- 383, 384, 385, 439, 180, 252, 386, 195, 119, 181,
- 421, 422, 423, 203, 182, 972, 185, 571, 278, 192,
- 887, 341, 342, 190, 985, 492, 493, 403, 472, 252,
- 424, 281, 282, 283, 284, 285, 241, 193, 243, 244,
- 440, 242, 315, 387, 316, 547, 548, 252, 986, 184,
- 252, 644, 486, 853, 404, 350, 349, 639, 196, 372,
- 549, 550, 197, 6, 358, 198, 993, 374, 97, 994,
- 373, 251, 549, 550, 640, 382, 1, 2, 3, 149,
- 391, 280, 6, 807, 568, 569, 570, 293, 400, 549,
- 550, 405, 286, 850, 297, 315, 406, 316, 317, 318,
- 472, 407, 300, 301, 441, 592, 793, 388, 306, 442,
- 173, 174, 389, 415, 443, 897, 898, 899, 307, 639,
- 298, 10, 639, 97, 372, 320, 324, 252, 580, 305,
- 325, 6, 330, 346, 549, 550, 767, 549, 550, 848,
- 445, 922, 469, 312, 326, 469, 473, 314, 555, 473,
- 556, 391, 45, 322, 323, 391, 391, 391, 391, 327,
- 328, 97, 329, 331, 491, 332, 333, 335, 499, 498,
- 158, 159, 160, 336, 161, 162, 163, 862, 553, 337,
- 338, 469, 561, 561, 561, 473, 339, 149, 904, 558,
- 352, 55, 340, 372, 355, 6, 359, 559, 57, 97,
- 609, 445, 360, 97, 393, 887, 412, 760, 445, 445,
- 445, 445, 445, 594, 351, 113, 111, 553, 112, 600,
- 608, 445, 413, 414, 416, 472, 417, 865, -248, 426,
- 428, 605, 606, 607, 427, 610, 434, 435, 445, 489,
- 474, 494, 575, 480, 398, 501, 577, 553, 579, 391,
- 84, 585, 601, 469, 611, 350, 349, 473, 472, 918,
- 604, 762, 223, 603, 499, 498, 224, 225, 641, 486,
- 763, 448, 765, 772, 775, 926, 156, 157, 158, 159,
- 160, 766, 161, 162, 163, 786, 787, 429, 808, 592,
- 818, 813, 431, 768, 433, 816, 894, 895, 896, 804,
- 897, 898, 899, 849, 851, 854, 855, 920, 901, 857,
- 858, 869, 859, 866, 478, 863, 867, 868, 769, 350,
- 349, 561, 870, 961, 871, 561, 905, 561, 900, 561,
- 561, 561, 887, 789, 907, 791, 908, 915, 228, 226,
- 97, 227, 919, 923, 924, 925, 955, 594, 563, 563,
- 563, 930, 956, 957, 445, 958, 962, 812, 966, 814,
- 815, 350, 349, 967, 596, 553, 964, 978, 553, 445,
- 968, 963, 846, 969, 979, 965, 982, 983, 469, 759,
- 820, 987, 472, 553, 988, 824, 825, 826, 827, 828,
- 829, 830, 831, 832, 833, 834, 835, 836, 837, 838,
- 839, 840, 841, 842, 843, 844, 864, 847, 296, 581,
- 820, 469, 917, 902, 980, 473, 147, 148, 981, 954,
- 398, 892, 893, 894, 895, 896, 149, 897, 898, 899,
- 169, 989, 171, 172, 303, 583, 432, 176, 822, 584,
- 992, 304, 790, 173, 174, 572, 758, 602, 856, 143,
- 144, 145, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 0, 0, 149, 472, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 398, 0, 0, 0, 0, 0,
- 472, 0, 0, 0, 0, 45, 777, 563, 779, 0,
- 0, 563, 0, 563, 0, 563, 563, 563, 0, 0,
- 0, 0, 788, 491, 0, 804, 804, 804, 804, 0,
- 804, 169, 171, 172, 176, 156, 157, 158, 159, 160,
- 0, 161, 162, 163, 55, 0, 906, 0, 472, 0,
- 559, 57, 0, 861, 560, 469, 0, 877, 0, 473,
- 0, 0, 0, 0, 820, 0, 0, 169, 0, 169,
- 154, 155, 156, 157, 158, 159, 160, 876, 161, 162,
- 163, 0, 0, 0, 0, 292, 0, 0, 872, 873,
- 874, 875, 472, 878, 0, 0, 0, 0, 0, 903,
- 553, 0, 0, 0, 0, 0, 909, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 804, 804, 804, 804,
- 804, 804, 804, 804, 804, 804, 143, 144, 145, 146,
- 147, 148, 0, 0, 0, 0, 0, 469, 0, 0,
- 149, 473, 0, 0, 820, 927, 928, 929, 0, 499,
- 498, 0, 0, 469, 952, 0, 0, 473, 804, 0,
- 0, 0, 0, 0, 0, 173, 174, 0, 0, 0,
- 932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
- 942, 943, 944, 945, 946, 947, 948, 949, 950, 953,
- 0, 0, 292, 0, 0, 0, 0, 0, 0, 804,
- 0, 469, 959, 0, 0, 473, 0, 45, 820, 0,
- 0, 974, 820, 975, 0, 0, 0, 0, 0, 0,
- 0, 970, 0, 0, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 0, 161, 162, 163, 990, 991,
- 0, 0, 0, 0, 0, 469, 55, 0, 0, 473,
- 0, 820, 559, 57, 0, 820, 564, 0, 0, 0,
- 0, 0, 984, 0, 0, 0, 0, 0, 820, 649,
- 650, 651, 652, 653, 654, 655, 656, 820, 657, 658,
- 659, 660, 661, 662, 663, 664, 665, 666, 667, 0,
- 0, 0, 0, 0, 0, 668, 669, 670, 671, 672,
- 673, 674, 675, 676, 677, 678, 679, 680, 681, 0,
- 292, 682, 683, 684, 685, 686, 687, 688, 689, 690,
- 691, 692, 0, 693, 0, 694, 695, 696, 697, 698,
- 699, 700, 701, 702, 703, 704, 705, 0, 0, 0,
- 706, 707, 708, 0, 709, 710, 711, 712, 713, 714,
- 715, 716, 717, 718, 719, 720, 0, 721, 722, 723,
- 724, 725, 726, 727, 728, 729, 730, 731, 732, 733,
- 0, 0, 0, 734, 735, 736, 737, 738, 739, 740,
- 741, 742, 743, 744, 745, 746, 747, 748, 749, 750,
- 751, 752, 753, 754, 921, 755, 756, 649, 650, 651,
- 652, 653, 654, 655, 656, 977, 657, 658, 659, 660,
- 661, 662, 663, 664, 665, 666, 667, 0, 0, 0,
- 0, 0, 0, 668, 669, 670, 671, 672, 673, 674,
- 675, 676, 677, 678, 679, 680, 681, 0, 0, 682,
- 683, 684, 685, 686, 687, 688, 689, 690, 691, 692,
- 0, 693, 0, 694, 695, 696, 697, 698, 699, 700,
- 701, 702, 703, 704, 705, 0, 0, 0, 706, 707,
- 708, 0, 709, 710, 711, 712, 713, 714, 715, 716,
- 717, 718, 719, 720, 0, 721, 722, 723, 724, 725,
- 726, 727, 728, 729, 730, 731, 732, 733, 0, 173,
- 174, 734, 735, 736, 737, 738, 739, 740, 741, 742,
- 743, 744, 745, 746, 747, 748, 749, 750, 751, 752,
- 753, 754, 0, 755, 756, 7, 8, 9, 10, 0,
- 11, 124, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 142, 143, 144, 145, 146, 147, 148,
- 0, 0, 0, 0, 0, 0, 0, 125, 149, 126,
- 127, 128, 45, 46, 0, 129, 18, 0, 0, 48,
- 55, 0, 0, 0, 19, 130, 559, 57, 0, 0,
- 566, 131, 132, 52, 0, 0, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 133, 134, 26, 0,
- 27, 55, 0, 0, 28, 0, 0, 56, 57, 135,
- 0, 0, 59, 0, 136, 449, 450, 451, 10, 0,
- 452, 40, 0, 0, 453, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 0, 35, 0, 0,
- 0, 36, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 0, 161, 162, 163, 0, 41, 0, 42,
- 43, 44, 45, 454, 0, 47, 455, 0, 0, 48,
- 0, 0, 0, 0, 456, 49, 0, 0, 0, 0,
- 0, 50, 51, 52, 0, 0, 0, 0, 457, 0,
- 0, 0, 0, 0, 0, 0, 53, 54, 458, 0,
- 459, 55, 0, 0, 460, 0, 0, 56, 57, 58,
- 0, 0, 59, 0, 60, 449, 450, 451, 10, 0,
- 452, 40, 0, 0, 821, 0, 0, 461, 0, 0,
- 0, 462, 0, 0, 0, 463, 0, 464, 0, 0,
- 0, 465, 0, 880, 881, 882, 883, 884, 885, 886,
- 0, 7, 8, 9, 10, 0, 11, 41, 887, 42,
- 43, 44, 45, 454, 0, 47, 455, 0, 0, 48,
- 0, 0, 0, 0, 456, 49, 0, 0, 0, 0,
- 0, 50, 51, 52, 885, 886, 0, 0, 457, 0,
- 0, 0, 0, 0, 887, 0, 53, 54, 458, 0,
- 459, 55, 794, 0, 460, 0, 0, 56, 57, 58,
- 19, 0, 59, 0, 60, 7, 8, 9, 10, 0,
- 11, 12, 0, 0, 0, 0, 0, 461, 0, 0,
- 0, 462, 0, 0, 795, 463, 796, 464, 0, 0,
- 28, 465, 889, 890, 891, 0, 0, 892, 893, 894,
- 895, 896, 0, 897, 898, 899, 0, 13, 0, 14,
- 15, 16, 0, 797, 0, 17, 18, 798, 799, 0,
- 0, 800, 0, 801, 19, 20, 0, 802, 0, 0,
- 0, 21, 22, 892, 893, 894, 895, 896, 23, 897,
- 898, 899, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 41, 0,
- 42, 43, 44, 0, 0, 0, 166, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 167, 35, 0, 275,
- 0, 36, 50, 168, 52, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 53, 54, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 58, 21, 22, 0, 0, 60, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 41, 399,
- 42, 43, 44, 0, 0, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 279, 35, 0, 0,
- 0, 36, 50, 170, 52, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 53, 54, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 58, 21, 22, 0, 0, 60, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 41, 495,
- 42, 43, 44, 0, 0, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 0, 35, 0, 0,
- 0, 36, 50, 170, 52, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 53, 54, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 58, 21, 22, 0, 0, 60, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 0, 35, 0, 845,
- 0, 36, 0, 0, 0, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 0, 0, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 0, 21, 22, 0, 0, 0, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 0, 860,
- 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 0, 35, 0, 0,
- 0, 36, 0, 0, 0, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 0, 0, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 0, 21, 22, 0, 0, 0, 0, 0, 23, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 26, 0,
- 27, 0, 0, 0, 28, 7, 8, 9, 10, 29,
- 11, 12, 0, 0, 30, 0, 0, 0, 41, 0,
- 42, 43, 44, 0, 0, 0, 166, 31, 0, 0,
- 0, 32, 33, 0, 0, 34, 167, 35, 0, 951,
- 0, 36, 50, 168, 52, 0, 0, 13, 0, 14,
- 15, 16, 0, 0, 0, 17, 18, 53, 54, 0,
- 0, 0, 0, 0, 19, 20, 0, 0, 0, 0,
- 58, 21, 22, 0, 0, 60, 0, 0, 23, 143,
- 144, 145, 146, 147, 148, 0, 24, 25, 26, 0,
- 27, 0, 0, 149, 28, 0, 0, 0, 107, 29,
- 0, 0, 0, 0, 30, 0, 0, 141, 142, 143,
- 144, 145, 146, 147, 148, 0, 0, 31, 0, 0,
- 0, 32, 33, 149, 0, 34, 0, 35, 0, 0,
- 0, 36, 141, 142, 143, 144, 145, 146, 147, 148,
- 0, 0, 0, 0, 0, 0, 0, 0, 149, 0,
- 0, 141, 142, 143, 144, 145, 146, 147, 148, 0,
- 0, 0, 0, 0, 0, 0, 0, 149, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 0, 161, 162,
- 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 0, 161, 162,
- 163, 0, 0, 0, 345, 0, 0, 0, 0, 0,
- 0, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 0, 161, 162, 163, 0, 0, 0, 914,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 0, 161, 162, 163, 363, 364, 0, 973, 504,
- 505, 506, 507, 508, 509, 510, 511, 0, 0, 0,
- 0, 0, 0, 0, 0, 512, 0, 513, 514, 515,
- 516, 517, 518, 519, 520, 521, 522, 523, 524, 0,
- 0, 0, 41, 0, 42, 43, 44, 0, 525, 0,
- 47, 41, 0, 42, 43, 44, 0, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 50, 51, 52, 0,
- 0, 0, 526, 0, 0, 50, 170, 52, 0, 0,
- 0, 53, 54, 0, 0, 0, 0, 204, 205, 0,
- 53, 54, 0, 0, 58, 0, 0, 59, 0, 60,
- 0, 0, 0, 58, 527, 0, 0, 528, 60, 529,
- 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
- 0, 540, 541, 206, 41, 542, 42, 43, 44, 45,
- 207, 114, 47, 0, 0, 0, 48, 208, 209, 210,
- 0, 0, 49, 0, 0, 0, 0, 211, 50, 51,
- 52, 0, 0, 212, 204, 205, 0, 213, 0, 0,
- 0, 214, 0, 53, 54, 0, 215, 0, 55, 0,
- 0, 0, 0, 0, 216, 57, 58, 0, 217, 59,
- 218, 60, 0, 0, 0, 0, 219, 0, 0, 0,
- 206, 41, 0, 42, 43, 44, 45, 302, 0, 47,
- 0, 0, 220, 48, 208, 209, 210, 0, 0, 49,
- 0, 0, 0, 0, 211, 50, 51, 52, 0, 0,
- 212, 204, 205, 0, 213, 0, 0, 0, 214, 0,
- 53, 54, 0, 215, 0, 55, 0, 0, 0, 0,
- 0, 216, 57, 58, 0, 217, 59, 218, 60, 141,
- 142, 143, 144, 145, 146, 147, 148, 206, 41, 0,
- 42, 43, 44, 45, 207, 149, 47, 0, 0, 220,
- 48, 208, 209, 210, 0, 0, 49, 0, 0, 0,
- 0, 211, 50, 51, 52, 0, 0, 212, 0, 0,
- 0, 213, 0, 0, 0, 214, 0, 53, 54, 0,
- 215, 0, 55, 0, 0, 0, 0, 0, 216, 57,
- 58, 0, 217, 59, 218, 60, 141, 142, 143, 144,
- 145, 146, 147, 148, 0, 0, 0, 0, 0, 0,
- 0, 0, 149, 0, 0, 0, 220, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 343, 0, 150, 151,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 0,
- 161, 162, 163, 141, 142, 143, 144, 145, 146, 147,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 149,
- 141, 142, 143, 144, 145, 146, 147, 148, 0, 0,
- 0, 0, 0, 0, 0, 0, 149, 141, 142, 143,
- 144, 145, 146, 147, 148, 0, 0, 0, 0, 0,
- 0, 0, 500, 149, 0, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 0, 161, 162, 163,
- 615, 616, 617, 618, 619, 620, 621, 622, 0, 0,
- 0, 0, 0, 0, 0, 0, 623, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 776, 0,
- 0, 0, 150, 151, 152, 153, 154, 155, 156, 157,
- 158, 159, 160, 0, 161, 162, 163, 912, 0, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 0, 161, 162, 163, 0, 0, 150, 151, 152, 153,
- 154, 155, 156, 157, 158, 159, 160, 0, 161, 162,
- 163, 879, 880, 881, 882, 883, 884, 885, 886, 0,
- 0, 0, 0, 0, 0, 0, 0, 887, 0, 624,
- 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
- 0, 635, 636, 637, 879, 880, 881, 882, 883, 884,
- 885, 886, 0, 0, 0, 0, 0, 0, 0, 0,
- 887, 143, 144, 145, 146, 147, 148, 0, 0, 0,
- 0, 0, 0, 0, 0, 149, 881, 882, 883, 884,
- 885, 886, 0, 0, 0, 0, 0, 0, 0, 0,
- 887, 881, 882, 883, 884, 885, 886, 0, 0, 0,
- 0, 0, 0, 0, 0, 887, 0, 0, 971, 0,
- 888, 889, 890, 891, 0, 0, 892, 893, 894, 895,
- 896, 0, 897, 898, 899, 881, 882, 883, 884, 885,
- 886, 0, 0, 0, 0, 0, 0, 0, 0, 887,
- 0, 0, 0, 888, 889, 890, 891, 0, 0, 892,
- 893, 894, 895, 896, 0, 897, 898, 899, 0, 0,
- 0, 153, 154, 155, 156, 157, 158, 159, 160, 0,
- 161, 162, 163, 0, 889, 890, 891, -2, 0, 892,
- 893, 894, 895, 896, 0, 897, 898, 899, 0, 0,
- 890, 891, 0, 0, 892, 893, 894, 895, 896, 0,
- 897, 898, 899, 881, 882, 883, 884, 885, 886, 0,
- 0, 0, 0, 0, 0, 0, 0, 887, 0, 0,
- 74, 0, 0, 0, 0, 891, 0, 0, 892, 893,
- 894, 895, 896, 75, 897, 898, 899, 0, 76, 363,
- 364, 77, 145, 146, 147, 148, 0, 0, 0, 78,
- 79, 0, 80, 0, 149, 0, 81, 82, 83, 0,
- 883, 884, 885, 886, 0, 0, 0, 84, 0, 0,
- 0, 85, 887, 0, 0, 86, 41, 0, 42, 43,
- 44, 365, 366, 0, 47, 0, 87, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
- 50, 51, 52, 0, 0, 0, 892, 893, 894, 895,
- 896, 0, 897, 898, 899, 53, 54, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 367, 0, 58, 0,
- 0, 59, 0, 60, 40, 0, 0, 0, 0, 0,
- 0, 154, 155, 156, 157, 158, 159, 160, 0, 161,
- 162, 163, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 892, 893, 894, 895, 896, 0, 897, 898, 899,
- 41, 0, 42, 43, 44, 45, 46, 0, 47, 290,
- 0, 0, 48, 0, 0, 0, 0, 0, 49, 0,
- 40, 0, 0, 0, 50, 51, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
- 54, 0, 0, 0, 55, 41, 0, 42, 43, 44,
- 56, 57, 58, 0, 0, 59, 41, 60, 42, 43,
- 44, 45, 310, 0, 47, 0, 0, 0, 48, 50,
- 170, 52, 0, 0, 49, 0, 108, 0, 0, 0,
- 50, 51, 52, 0, 53, 54, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 53, 54, 58, 0, 0,
- 55, 41, 60, 42, 43, 44, 56, 57, 58, 0,
- 0, 59, 41, 60, 42, 43, 44, 45, 0, 0,
- 47, 0, 0, 0, 48, 50, 170, 52, 0, 0,
- 49, 0, 40, 0, 0, 0, 50, 51, 52, 0,
- 53, 54, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 53, 54, 58, 0, 0, 55, 0, 60, 0,
- 0, 0, 109, 57, 58, 0, 0, 59, 41, 60,
- 42, 43, 44, 45, 0, 0, 47, 0, 0, 0,
- 48, 115, 0, 0, 0, 0, 49, 0, 0, 0,
- 0, 0, 50, 51, 52, 0, 0, 0, 0, 0,
- 0, 0, 0, 74, 0, 0, 0, 53, 54, 0,
- 0, 0, 55, 0, 0, 0, 75, 0, 56, 57,
- 58, 76, 0, 59, 77, 60, 0, 0, 0, 0,
- 74, 0, 78, 79, 0, 80, 0, 0, 0, 81,
- 82, 83, 0, 75, 0, 0, 0, 0, 76, 0,
- 84, 77, 0, 0, 85, 0, 0, 74, 86, 78,
- 79, 0, 80, 0, 0, 0, 81, 82, 83, 87,
- 75, 0, 0, 0, 0, 76, 0, 84, 77, 0,
- 0, 85, 0, 0, 74, 86, 78, 79, 361, 80,
- 0, 0, 0, 81, 82, 83, 87, 75, 0, 0,
- 0, 0, 76, 0, 84, 77, 0, 0, 85, 0,
- 0, 74, 86, 78, 79, 420, 80, 0, 0, 0,
- 81, 82, 83, 87, 75, 0, 0, 0, 0, 76,
- 0, 84, 77, 0, 0, 85, 0, 0, 0, 86,
- 78, 79, 487, 80, 0, 0, 0, 81, 82, 83,
- 87, 0, 0, 0, 0, 0, 0, 0, 84, 0,
- 0, 41, 85, 42, 43, 44, 86, 0, 0, 576,
- 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
- 0, 0, 0, 0, 0, 50, 170, 52, 0, 0,
- 0, 74, 0, 0, 0, 0, 785, 0, 0, 0,
- 53, 54, 0, 0, 75, 0, 0, 0, 0, 76,
- 0, 0, 77, 58, 0, 0, 0, 0, 60, 0,
- 78, 79, 0, 80, 0, 0, 0, 81, 82, 83,
- 0, 0, 0, 0, 0, 0, 0, 0, 84, 0,
- 0, 118, 85, 0, 0, 0, 86
-};
+#define YYPACT_NINF -603
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-490)))
+ (!!((Yystate) == (-603)))
+
+#define YYTABLE_NINF -242
#define yytable_value_is_error(Yytable_value) \
- YYID (0)
+ 0
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int16 yypact[] =
+{
+ 225, -603, 2053, 3183, 23, 3073, -603, -603, -603, -603,
+ -603, -603, -97, -74, -61, -33, -22, -20, -2, -603,
+ 7, 14, 48, 3295, 56, 63, 66, 78, -603, 91,
+ 94, 2053, 2053, 2053, 2053, 908, 2053, 2621, -603, 219,
+ -603, -603, -603, -603, -603, -603, 3351, -603, -603, -603,
+ -603, 1574, -603, 1284, 1284, -603, 326, -603, 1284, -603,
+ -603, 124, -603, -603, -603, -603, 123, 60, 1, -603,
+ -603, -603, -603, -603, -603, -603, 122, -603, 125, 127,
+ 64, 160, 162, 167, -603, -603, 27, -603, -603, -603,
+ -603, 2390, -603, -603, -603, -603, -603, 2053, 2053, 2053,
+ 2053, 2053, 2053, 3183, 2053, 2053, 2053, -603, 326, 149,
+ 326, 326, -603, 2053, 2053, 3183, 3183, 2053, 2053, 164,
+ 164, 164, 164, -97, -74, -61, -33, -22, -20, 7,
+ 14, 2024, 2317, 3054, 3228, 94, 153, -83, 2621, 164,
+ 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
+ 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
+ 2053, 1513, 2053, -603, 124, -603, -603, 1664, -603, 1284,
+ -603, -603, -603, -603, -603, -603, 165, 124, 124, 124,
+ 124, 124, 170, -603, -603, 3117, 181, -603, -14, -603,
+ 3523, 286, 326, -603, 191, -603, -603, -603, 192, 2457,
+ -603, 326, -603, 198, 207, -603, -603, -603, 310, -603,
+ -603, -603, 3239, -603, -603, 326, -603, -603, -603, 326,
+ 312, 228, -603, -603, -603, 60, 1, -603, 214, 240,
+ -603, 224, 226, 242, 260, 269, 249, 273, 275, 282,
+ -603, 2053, -603, -603, 291, 298, 300, 313, 302, 304,
+ 2053, 2053, -603, 1330, 2115, 812, 812, 378, 378, 193,
+ 193, -603, 2547, 2800, 2815, 2942, 378, 378, 139, 139,
+ 164, 164, 164, -603, -603, -37, 2145, 170, -603, 124,
+ 170, 170, 170, 170, 235, 2053, 326, 315, -603, -603,
+ -603, -603, 3117, -603, 322, -603, 336, 338, 3388, -603,
+ 3127, 312, -603, -603, -603, 24, 219, 3351, 44, -603,
+ -603, 323, -603, -603, 326, 1603, -603, -603, 232, 80,
+ -14, -603, -603, -603, -603, -603, -603, 327, -603, -603,
+ -603, 320, -603, -603, -603, 328, -603, -603, 164, 2621,
+ 2053, -603, -603, 170, 330, 321, 2621, -603, 37, -603,
+ 349, 3415, 2, 350, 352, -603, 450, 326, -603, -603,
+ -603, -603, 326, 2308, 326, 344, 355, -603, 403, -603,
+ -603, -603, 232, 1313, 345, 232, 1313, 44, -603, -603,
+ 346, 44, 44, 44, 44, 248, -603, 3442, -603, 339,
+ -603, 271, -603, 353, 1693, 2568, 360, 232, 232, 2307,
+ 232, 232, 232, -603, 365, -603, 3117, 2053, -603, 2053,
+ 2621, 1313, -603, -603, 2053, -603, 132, 530, 767, 335,
+ -603, -603, 2, -30, 356, 3469, 372, 403, 376, 405,
+ 3127, -603, -603, 385, 403, 403, 403, 403, 403, -70,
+ -603, -603, 365, -603, -603, -603, 403, -603, 3351, 390,
+ -603, 3295, 382, 393, -603, 2053, 2053, 2053, 908, 2053,
+ 386, 9, -603, 403, 2735, -603, 219, -603, 232, 176,
+ 392, 259, 44, 391, 391, 391, 391, -603, 2053, -603,
+ 1313, -603, 1184, -603, -603, 326, 2053, 1693, 394, 412,
+ 2621, -603, -603, 232, 266, 266, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, 397, 396, -603, -603, 266, 266, 218, 142,
+ 1603, -603, 2053, 413, -603, -603, 349, -29, -23, 402,
+ 2587, 326, 546, 326, -603, -603, 546, -603, 546, -603,
+ 546, 546, 546, 3496, -603, 522, 422, 326, -603, 3183,
+ -70, 3183, 2457, -603, -603, -603, -603, 403, 406, 406,
+ 406, 406, 278, 699, 2053, -603, -603, 426, -603, -5,
+ 403, 3183, 410, 3183, 3183, 164, 164, 164, 409, -8,
+ 164, 486, -603, 1413, -5, 2053, 2053, 2053, 2053, 2053,
+ 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053,
+ 2053, 2053, 2053, 2053, 2053, 2053, 1783, 2053, 229, 536,
+ 418, 486, -603, 391, 1313, 414, 419, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, -603, -603, 417, -603, 429, 425,
+ -603, 1873, 266, -603, -603, -603, -603, 2568, 1313, 427,
+ 232, -603, -603, 486, -603, -603, -603, -603, -603, -603,
+ -603, -603, -603, -603, 433, -603, 437, -603, -603, -603,
+ 406, 440, 451, 441, 452, 699, 699, 699, 699, 908,
+ 699, 2769, -603, 442, 232, 2053, -603, -5, 453, 2053,
+ 446, 457, 2053, -603, -603, 3, -603, -603, -603, -603,
+ 1330, 2115, 812, 812, 378, 378, 193, 193, -603, 2604,
+ 2800, 2815, 2942, 378, 378, 139, 139, 164, 164, 164,
+ -603, -603, 35, 2170, 454, -603, 3, 1313, 448, -603,
+ 486, 1056, -603, -603, -603, 1693, 2621, 455, -603, -603,
+ 3, 469, 472, 1313, 3183, 3183, 3183, 239, 239, 239,
+ 239, 458, 58, 239, 699, 699, 699, 699, 699, 699,
+ 699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
+ 699, 699, 699, 1963, 2053, -603, -603, 2621, -603, 462,
+ 465, -603, 468, 164, -603, 479, 2053, -603, -603, -603,
+ 1313, 484, 486, 3, -603, 485, 486, -603, -603, 497,
+ 495, 500, 506, 699, -603, 2785, 2927, 532, 532, 496,
+ 496, 569, 569, -603, 2752, 2957, 2972, 2987, 200, 200,
+ 239, 239, 239, -603, -603, 116, 2189, 2053, -603, 2053,
+ 30, 2621, 1313, 504, 486, 3, -603, 3, 486, 515,
+ -603, 518, 239, 699, -603, -603, 118, 146, -603, 528,
+ 554, 486, 3, 3, 2053, 2053, 2769, -603, -603, -603,
+ 486, 3, 154, 168, 3, -603, -603
+};
+
+ /* 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, 542, 0, 0, 0, 542, 5, 490, 486, 489,
+ 540, 492, 0, 0, 0, 0, 0, 0, 0, 488,
+ 0, 0, 0, 0, 0, 0, 0, 0, 487, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 436, 491,
+ 199, 264, 265, 267, 268, 253, 0, 281, 252, 279,
+ 274, 270, 271, 269, 273, 254, 0, 255, 272, 284,
+ 266, 542, 4, 201, 202, 203, 0, 243, 0, 198,
+ 261, 262, 263, 1, 20, 21, 0, 29, 0, 0,
+ 0, 0, 0, 0, 116, 542, 0, 6, 15, 7,
+ 18, 0, 13, 14, 16, 17, 31, 542, 542, 542,
+ 542, 542, 542, 0, 542, 542, 542, 216, 0, 454,
+ 0, 0, 215, 542, 542, 0, 0, 542, 542, 460,
+ 458, 459, 457, 199, 264, 265, 267, 268, 281, 279,
+ 274, 270, 269, 273, 272, 266, 0, 0, 401, 456,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 541, 542, 283, 280, 270, 276, 270,
+ 275, 278, 538, 539, 200, 277, 0, 542, 542, 542,
+ 542, 542, 220, 190, 542, 0, 241, 222, 204, 22,
+ 542, 0, 0, 542, 0, 25, 24, 23, 0, 0,
+ 19, 0, 259, 69, 207, 42, 32, 43, 33, 38,
+ 36, 40, 0, 41, 35, 0, 37, 39, 11, 0,
+ 0, 44, 209, 210, 211, 243, 0, 206, 0, 400,
+ 399, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 217, 542, 219, 218, 0, 0, 0, 0, 0, 0,
+ 0, 0, 485, 469, 470, 471, 472, 473, 474, 477,
+ 478, 484, 0, 466, 467, 468, 475, 476, 464, 465,
+ 461, 462, 463, 483, 482, 0, 0, 221, 282, 542,
+ 194, 191, 193, 192, 0, 542, 249, 0, 246, 245,
+ 242, 244, 0, 542, 542, 30, 0, 0, 542, 256,
+ 542, 0, 50, 260, 55, 57, 34, 0, 542, 208,
+ 542, 0, 285, 154, 0, 0, 47, 46, 0, 214,
+ 212, 440, 446, 442, 444, 445, 452, 0, 451, 441,
+ 448, 0, 447, 450, 453, 0, 449, 443, 437, 402,
+ 0, 481, 480, 195, 0, 0, 398, 397, 250, 239,
+ 205, 542, 0, 0, 227, 226, 0, 0, 258, 542,
+ 129, 130, 0, 0, 0, 0, 119, 120, 542, 128,
+ 118, 52, 0, 542, 0, 0, 542, 542, 171, 172,
+ 0, 542, 542, 542, 542, 0, 170, 542, 59, 0,
+ 542, 0, 8, 0, 542, 0, 0, 0, 0, 0,
+ 0, 0, 0, 45, 542, 131, 0, 0, 455, 0,
+ 479, 542, 196, 247, 0, 223, 0, 0, 0, 0,
+ 228, 542, 0, 0, 0, 542, 122, 542, 124, 542,
+ 0, 180, 181, 0, 542, 542, 542, 542, 542, 542,
+ 179, 51, 542, 533, 529, 532, 542, 144, 0, 0,
+ 531, 0, 0, 0, 530, 0, 0, 0, 0, 0,
+ 0, 145, 148, 542, 169, 493, 534, 143, 0, 0,
+ 0, 0, 542, 176, 173, 175, 174, 65, 542, 12,
+ 542, 155, 286, 287, 285, 0, 542, 542, 0, 160,
+ 162, 159, 157, 0, 136, 133, 85, 86, 87, 88,
+ 89, 90, 93, 94, 109, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 113, 112, 96,
+ 95, 82, 84, 83, 91, 92, 80, 81, 77, 78,
+ 79, 76, 0, 0, 75, 132, 135, 134, 0, 0,
+ 0, 141, 542, 0, 48, 152, 213, 0, 0, 0,
+ 251, 0, 0, 0, 232, 535, 0, 231, 0, 230,
+ 0, 0, 0, 542, 229, 0, 0, 0, 257, 0,
+ 542, 0, 0, 114, 117, 115, 121, 542, 185, 182,
+ 184, 183, 0, 0, 542, 126, 150, 0, 53, 542,
+ 542, 0, 498, 0, 0, 503, 502, 501, 0, 0,
+ 500, 542, 147, 0, 542, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 542, 67, 177, 542, 0, 0, 289, 290, 292,
+ 291, 296, 293, 294, 295, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 352, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
+ 351, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 542, 390, 391, 392, 383, 395, 379, 380,
+ 378, 385, 386, 374, 375, 376, 377, 384, 382, 389,
+ 387, 393, 388, 381, 394, 288, 0, 9, 0, 0,
+ 158, 161, 137, 111, 110, 140, 139, 153, 542, 0,
+ 0, 439, 438, 542, 248, 537, 238, 536, 237, 236,
+ 235, 234, 233, 225, 0, 26, 0, 123, 127, 125,
+ 186, 189, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 151, 403, 0, 0, 0, 167, 542, 0, 542,
+ 0, 0, 0, 528, 71, 56, 70, 146, 149, 166,
+ 512, 513, 514, 515, 516, 517, 520, 521, 527, 0,
+ 509, 510, 511, 518, 519, 507, 508, 504, 505, 506,
+ 526, 525, 0, 0, 0, 61, 58, 542, 0, 178,
+ 542, 0, 156, 10, 163, 542, 164, 0, 138, 49,
+ 197, 0, 0, 542, 0, 0, 0, 412, 410, 411,
+ 409, 0, 0, 408, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 187, 54, 153, 168, 0,
+ 0, 497, 0, 494, 72, 0, 0, 524, 523, 63,
+ 542, 0, 542, 60, 396, 0, 542, 27, 28, 0,
+ 0, 0, 0, 0, 435, 421, 422, 423, 424, 425,
+ 426, 427, 428, 434, 0, 418, 419, 420, 416, 417,
+ 413, 414, 415, 433, 432, 0, 0, 0, 499, 0,
+ 0, 522, 542, 0, 542, 66, 165, 142, 542, 0,
+ 407, 0, 404, 0, 431, 430, 0, 0, 73, 0,
+ 0, 542, 68, 188, 0, 0, 429, 496, 495, 74,
+ 542, 62, 0, 0, 64, 406, 405
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -603, -603, -173, -603, 174, -603, -603, 507, -603, -603,
+ -80, 256, -603, -64, -603, -603, -108, 499, -603, -603,
+ -603, -603, -603, -603, -603, -602, -603, -603, 270, -603,
+ -603, -603, 279, 348, -335, -603, -352, -603, 131, -420,
+ -268, -485, -603, 105, -307, -311, -132, -40, 514, 263,
+ 15, -90, -603, -88, -603, -603, -603, 293, -84, -603,
+ -284, -603, -603, 19, 76, -603, -603, -603, 38, 102,
+ -603, -603, 236, -603, -3, -603, -435, -87, -19, 13,
+ 55, -141, -603, -603, -305, 491, -153, -1
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ -1, 4, 5, 391, 392, 88, 310, 89, 90, 190,
+ 91, 92, 318, 403, 200, 372, 441, 220, 373, 376,
+ 480, 900, 942, 634, 837, 805, 535, 574, 93, 198,
+ 365, 366, 367, 368, 404, 758, 460, 461, 585, 543,
+ 316, 488, 489, 462, 385, 439, 182, 61, 221, 109,
+ 62, 63, 293, 64, 294, 353, 354, 420, 65, 66,
+ 290, 286, 287, 67, 68, 94, 359, 95, 69, 70,
+ 71, 72, 389, 390, 482, 745, 345, 228, 229, 791,
+ 138, 38, 464, 465, 554, 405, 39, 230
+};
+
+ /* 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, 222, 749, 223, 96, 199, 164, 224, 350, 172,
+ 173, 231, 232, 233, 234, 235, 137, 237, 238, 239,
+ 298, 602, 587, 73, 470, 251, 244, 245, 97, 836,
+ 248, 249, 277, 371, 374, 172, 173, 442, 172, 173,
+ 469, 583, 110, 635, 252, 280, 281, 282, 283, 284,
+ 136, 98, 378, 379, 380, 306, 584, 37, 381, 549,
+ 183, 112, 494, 495, 99, 536, 537, 538, 172, 173,
+ 471, 251, 172, 173, 473, 474, 475, 476, 565, 251,
+ 894, 416, 417, 418, 96, 251, 119, 120, 121, 122,
+ 341, 139, 100, -224, 895, 382, -224, 566, 761, 111,
+ 251, 419, 201, 101, 762, 102, 795, 759, 187, 222,
+ 225, 223, 557, 559, 103, 224, 570, 603, 236, 803,
+ 351, 584, 546, 578, 579, 580, 581, 582, 636, 227,
+ 246, 247, 104, 628, 176, 589, 544, 387, 177, 105,
+ 172, 173, 275, 251, 375, 413, 756, 343, 414, 793,
+ 172, 173, 604, 168, 331, 170, 171, 958, 752, 383,
+ 175, 850, 897, 183, 384, 633, 251, 226, 148, 796,
+ 185, 193, 308, 106, 588, 178, 183, 183, 183, 183,
+ 183, 113, 45, 288, 809, 914, 425, -241, 114, 96,
+ 406, 115, 6, 148, 116, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 117, 276, 225, 118,
+ 466, 55, 148, 466, 251, 163, 251, 551, 57, 872,
+ 184, 552, 189, 168, 170, 171, 175, 227, 903, 179,
+ 172, 173, 396, 954, 180, 967, 397, 766, 563, 181,
+ 191, 768, 192, 769, 251, 770, 771, 772, 466, 157,
+ 158, 159, 251, 160, 161, 162, 780, 377, 872, 168,
+ 195, 168, 196, 968, 241, 226, 251, 197, 183, 797,
+ 250, 975, 838, 398, 347, 279, 629, 291, 160, 161,
+ 162, 292, 6, 355, 296, 976, 285, 96, 299, 370,
+ 945, 541, 542, 630, 947, 338, 339, 386, 300, 6,
+ 399, 155, 156, 157, 158, 159, 10, 160, 161, 162,
+ 879, 880, 881, 304, 882, 883, 884, 466, 629, 1,
+ 2, 3, 305, 463, 172, 173, 463, 317, 369, 629,
+ 346, 321, 962, 541, 542, 755, 963, 400, 251, 572,
+ 96, 322, 401, 323, 541, 542, 834, 402, 6, 971,
+ 905, 285, 344, 882, 883, 884, 327, 440, 974, 324,
+ 395, 463, 467, 477, 478, 467, 386, 888, 484, 485,
+ 386, 386, 386, 386, 632, 478, 96, 325, 547, 483,
+ 548, 541, 542, 491, 291, 410, 326, 146, 147, 748,
+ 328, 369, 329, 545, 584, 781, 847, 148, 590, 330,
+ 467, 431, 432, 433, 560, 561, 562, 434, 332, 312,
+ 6, 313, 314, 315, 96, 333, 440, 334, 96, 336,
+ 335, 337, 352, 440, 440, 440, 440, 440, 586, 599,
+ 463, 545, 792, 349, 356, 440, 357, 408, 388, 490,
+ 466, 412, 407, 409, 435, 411, -240, 421, 423, 442,
+ 422, 429, 440, 430, 567, 468, 472, 481, 369, 550,
+ 110, 386, 312, 598, 313, 539, 540, 347, 486, 467,
+ 493, 466, 222, 569, 223, 901, 491, 571, 224, 112,
+ 541, 542, 553, 553, 553, 84, 155, 156, 157, 158,
+ 159, 909, 160, 161, 162, 577, 591, 593, 291, 594,
+ 595, 596, 597, 601, 600, 870, 871, 478, 436, 631,
+ 751, 760, 750, 437, 753, 872, 754, 111, 438, 763,
+ 774, 775, 584, 346, 794, 799, 802, 804, 172, 173,
+ 756, 347, 490, 835, 839, 842, 840, 174, 943, 868,
+ 869, 870, 871, 844, 172, 173, 843, 848, 186, 188,
+ 851, 872, 96, 463, 852, 853, 855, 854, 856, 586,
+ 889, 194, 885, 891, 892, 902, 440, 202, 907, 899,
+ 45, 908, 906, 347, 777, 913, 779, 937, 545, 440,
+ 960, 225, 938, 939, 463, 757, 45, 346, 872, 240,
+ 806, 242, 243, 545, 940, 466, 798, 832, 800, 801,
+ 227, 944, 949, 946, 877, 878, 879, 880, 881, 55,
+ 882, 883, 884, 951, 948, 551, 57, 950, 553, 556,
+ 806, 961, 553, 467, 553, 55, 553, 553, 553, 346,
+ 964, 551, 57, 965, 792, 792, 792, 792, 226, 792,
+ 877, 878, 879, 880, 881, 969, 882, 883, 884, 747,
+ 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
+ 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
+ 830, 970, 833, 297, 466, 573, 886, 877, 878, 879,
+ 880, 881, 303, 882, 883, 884, 849, 295, 301, 575,
+ 466, 778, 7, 8, 9, 10, 309, 11, 808, 576,
+ 311, 427, 890, 302, 592, 564, 319, 320, 463, 841,
+ 746, 483, 0, 792, 792, 792, 792, 792, 792, 792,
+ 792, 792, 792, 792, 792, 792, 792, 792, 792, 792,
+ 792, 792, 0, 0, 0, 0, 0, 466, 0, 0,
+ 0, 0, 0, 782, 0, 0, 0, 467, 0, 0,
+ 0, 19, 806, 0, 0, 0, 0, 0, 0, 0,
+ 862, 0, 792, 0, 0, 172, 173, 348, 0, 0,
+ 0, 0, 0, 0, 0, 783, 0, 784, 0, 466,
+ 0, 28, 0, 0, 0, 0, 545, 463, 857, 858,
+ 859, 860, 0, 863, 861, 393, 846, 0, 0, 0,
+ 0, 0, 792, 463, 785, 0, 0, 45, 786, 787,
+ 0, 0, 788, 0, 789, 0, 0, 0, 790, 144,
+ 145, 146, 147, 0, 0, 0, 467, 0, 0, 806,
+ 0, 148, 0, 0, 491, 0, 0, 0, 424, 0,
+ 887, 0, 467, 426, 0, 428, 55, 893, 0, 0,
+ 463, 0, 551, 57, 935, 0, 558, 0, 0, 910,
+ 911, 912, 0, 0, 0, 0, 0, 915, 916, 917,
+ 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
+ 928, 929, 930, 931, 932, 933, 0, 0, 0, 467,
+ 490, 806, 463, 0, 0, 806, 0, 555, 555, 555,
+ 0, 7, 8, 9, 10, 0, 11, 123, 956, 0,
+ 957, 0, 0, 0, 0, 0, 952, 0, 153, 154,
+ 155, 156, 157, 158, 159, 0, 160, 161, 162, 936,
+ 0, 467, 0, 806, 0, 972, 973, 806, 0, 0,
+ 0, 941, 0, 124, 0, 125, 126, 127, 45, 46,
+ 806, 128, 18, 0, 0, 48, 966, 0, 0, 806,
+ 19, 129, 0, 0, 0, 0, 393, 130, 131, 52,
+ 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
+ 0, 0, 132, 133, 26, 0, 27, 55, 0, 0,
+ 28, 0, 0, 56, 57, 134, 0, 0, 59, 0,
+ 135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 31, 0, 0, 0, 32, 33, 0,
+ 393, 34, 0, 35, 0, 0, 0, 36, 0, 0,
+ 0, 0, 765, 555, 767, 0, 0, 555, 0, 555,
+ 0, 555, 555, 555, 0, 0, 0, 0, 776, 637,
+ 638, 639, 640, 641, 642, 643, 644, 0, 645, 646,
+ 647, 648, 649, 650, 651, 652, 653, 654, 655, 0,
+ 0, 0, 0, 0, 0, 656, 657, 658, 659, 660,
+ 661, 662, 663, 664, 665, 666, 667, 668, 669, 0,
+ 0, 670, 671, 672, 673, 674, 675, 676, 677, 678,
+ 679, 680, 0, 681, 0, 682, 683, 684, 685, 686,
+ 687, 688, 689, 690, 691, 692, 693, 0, 0, 0,
+ 694, 695, 696, 0, 697, 698, 699, 700, 701, 702,
+ 703, 704, 705, 706, 707, 708, 0, 709, 710, 711,
+ 712, 713, 714, 715, 716, 717, 718, 719, 720, 721,
+ 0, 0, 0, 722, 723, 724, 725, 726, 727, 728,
+ 729, 730, 731, 732, 733, 734, 735, 736, 737, 738,
+ 739, 740, 741, 742, 904, 743, 744, 637, 638, 639,
+ 640, 641, 642, 643, 644, 0, 645, 646, 647, 648,
+ 649, 650, 651, 652, 653, 654, 655, 0, 0, 0,
+ 0, 0, 0, 656, 657, 658, 659, 660, 661, 662,
+ 663, 664, 665, 666, 667, 668, 669, 0, 0, 670,
+ 671, 672, 673, 674, 675, 676, 677, 678, 679, 680,
+ 0, 681, 0, 682, 683, 684, 685, 686, 687, 688,
+ 689, 690, 691, 692, 693, 0, 0, 0, 694, 695,
+ 696, 0, 697, 698, 699, 700, 701, 702, 703, 704,
+ 705, 706, 707, 708, 0, 709, 710, 711, 712, 713,
+ 714, 715, 716, 717, 718, 719, 720, 721, 0, 0,
+ 0, 722, 723, 724, 725, 726, 727, 728, 729, 730,
+ 731, 732, 733, 734, 735, 736, 737, 738, 739, 740,
+ 741, 742, 0, 743, 744, 0, 443, 444, 445, 10,
+ 0, 446, 40, 0, 0, 447, 0, 0, 0, 41,
+ 0, 42, 43, 44, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 141, 142, 143, 144, 145, 146,
+ 147, 0, 0, 50, 169, 52, 0, 0, 41, 148,
+ 42, 43, 44, 45, 448, 0, 47, 449, 53, 54,
+ 48, 0, 0, 0, 0, 450, 49, 0, 0, 0,
+ 0, 58, 50, 51, 52, 0, 60, 0, 0, 451,
+ 0, 0, 0, 0, 0, 0, 0, 53, 54, 452,
+ 0, 453, 55, 0, 0, 454, 0, 0, 56, 57,
+ 58, 0, 0, 59, 0, 60, 443, 444, 445, 10,
+ 0, 446, 40, 0, 0, 807, 0, 0, 455, 0,
+ 0, 959, 456, 0, 0, 0, 457, 0, 458, 0,
+ 0, 0, 459, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 0, 160, 161, 162, 0, 41, 0,
+ 42, 43, 44, 45, 448, 0, 47, 449, 0, 0,
+ 48, 0, 0, 0, 0, 450, 49, 0, 0, 0,
+ 0, 0, 50, 51, 52, 0, 0, 0, 0, 451,
+ 0, 0, 0, 0, 0, 0, 0, 53, 54, 452,
+ 0, 453, 55, 0, 0, 454, 0, 0, 56, 57,
+ 58, 0, 0, 59, 0, 60, 7, 8, 9, 10,
+ 0, 11, 12, 0, 0, 0, 0, 0, 455, 0,
+ 0, 0, 456, 0, 0, 0, 457, 0, 458, 0,
+ 0, 0, 459, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 0, 0,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 0, 21, 22, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 41,
+ 0, 42, 43, 44, 0, 0, 0, 165, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 166, 35, 0,
+ 274, 0, 36, 50, 167, 52, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 53, 54,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 58, 21, 22, 0, 0, 60, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 41,
+ 394, 42, 43, 44, 0, 0, 0, 0, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 278, 35, 0,
+ 0, 0, 36, 50, 169, 52, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 53, 54,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 58, 21, 22, 0, 0, 60, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 0,
+ 487, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 0, 35, 0,
+ 0, 0, 36, 0, 0, 0, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 0, 0,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 0, 21, 22, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 0, 35, 0,
+ 831, 0, 36, 0, 0, 0, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 0, 0,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 0, 21, 22, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 0,
+ 845, 0, 0, 0, 0, 0, 0, 0, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 0, 35, 0,
+ 0, 0, 36, 0, 0, 0, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 0, 0,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 0, 21, 22, 0, 0, 0, 0, 0, 23,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 26,
+ 0, 27, 0, 0, 0, 28, 7, 8, 9, 10,
+ 29, 11, 12, 0, 0, 30, 0, 0, 0, 41,
+ 0, 42, 43, 44, 0, 0, 0, 165, 31, 0,
+ 0, 0, 32, 33, 0, 0, 34, 166, 35, 0,
+ 934, 0, 36, 50, 167, 52, 0, 0, 13, 0,
+ 14, 15, 16, 0, 0, 0, 17, 18, 53, 54,
+ 0, 0, 0, 0, 0, 19, 20, 0, 0, 0,
+ 0, 58, 21, 22, 0, 0, 60, 0, 0, 23,
+ 142, 143, 144, 145, 146, 147, 0, 24, 25, 26,
+ 0, 27, 0, 0, 148, 28, 0, 0, 0, 106,
+ 29, 0, 0, 0, 0, 30, 0, 0, 140, 141,
+ 142, 143, 144, 145, 146, 147, 0, 0, 31, 0,
+ 0, 0, 32, 33, 148, 0, 34, 0, 35, 0,
+ 0, 0, 36, 140, 141, 142, 143, 144, 145, 146,
+ 147, 0, 0, 0, 0, 0, 0, 0, 0, 148,
+ 0, 0, 140, 141, 142, 143, 144, 145, 146, 147,
+ 0, 0, 0, 0, 0, 0, 0, 0, 148, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 0, 160,
+ 161, 162, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 0, 160,
+ 161, 162, 0, 0, 0, 342, 0, 0, 0, 0,
+ 0, 0, 149, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 0, 160, 161, 162, 0, 0, 0,
+ 898, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 0, 160, 161, 162, 360, 361, 0, 955,
+ 496, 497, 498, 499, 500, 501, 502, 503, 0, 0,
+ 0, 0, 0, 0, 0, 0, 504, 0, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
+ 0, 0, 0, 41, 0, 42, 43, 44, 0, 517,
+ 0, 47, 41, 0, 42, 43, 44, 0, 0, 0,
+ 0, 49, 0, 0, 0, 0, 0, 50, 51, 52,
+ 0, 0, 0, 518, 0, 0, 50, 169, 52, 0,
+ 0, 0, 53, 54, 0, 0, 0, 0, 203, 204,
+ 0, 53, 54, 0, 0, 58, 0, 0, 59, 0,
+ 60, 0, 0, 0, 58, 519, 0, 0, 520, 60,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 0, 532, 533, 205, 41, 534, 42, 43, 44,
+ 45, 206, 113, 47, 0, 0, 0, 48, 207, 208,
+ 209, 0, 0, 49, 0, 0, 0, 0, 210, 50,
+ 51, 52, 0, 0, 211, 203, 204, 0, 212, 0,
+ 0, 0, 213, 0, 53, 54, 0, 214, 0, 55,
+ 0, 0, 0, 0, 0, 215, 57, 58, 0, 216,
+ 59, 217, 60, 0, 0, 0, 0, 218, 0, 0,
+ 0, 205, 41, 0, 42, 43, 44, 45, 206, 0,
+ 47, 0, 0, 219, 48, 207, 208, 209, 0, 0,
+ 49, 0, 0, 0, 0, 210, 50, 51, 52, 0,
+ 0, 211, 0, 0, 0, 212, 0, 0, 0, 213,
+ 0, 53, 54, 0, 214, 0, 55, 0, 0, 0,
+ 0, 0, 215, 57, 58, 0, 216, 59, 217, 60,
+ 140, 141, 142, 143, 144, 145, 146, 147, 0, 0,
+ 0, 0, 0, 0, 0, 0, 148, 0, 0, 0,
+ 219, 140, 141, 142, 143, 144, 145, 146, 147, 0,
+ 0, 0, 0, 0, 0, 0, 0, 148, 0, 0,
+ 140, 141, 142, 143, 144, 145, 146, 147, 0, 0,
+ 0, 0, 0, 0, 0, 0, 148, 140, 141, 142,
+ 143, 144, 145, 146, 147, 0, 0, 0, 0, 0,
+ 0, 0, 0, 148, 140, 141, 142, 143, 144, 145,
+ 146, 147, 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 0, 0, 0, 0, 0, 0, 340, 0, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 0, 160, 161, 162, 0, 0, 0, 492, 0, 0,
+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 0, 160, 161, 162, 764, 0, 0, 0, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 0, 160, 161, 162, 896, 0, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 0, 160, 161,
+ 162, 0, 0, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 0, 160, 161, 162, 605, 606,
+ 607, 608, 609, 610, 611, 612, 0, 0, 0, 0,
+ 0, 0, 0, 0, 613, 864, 865, 866, 867, 868,
+ 869, 870, 871, 0, 0, 0, 0, 0, 0, 0,
+ 0, 872, 864, 865, 866, 867, 868, 869, 870, 871,
+ 0, 0, 0, 0, 0, 0, 0, 0, 872, 865,
+ 866, 867, 868, 869, 870, 871, 0, 0, 0, 0,
+ 0, 0, 0, 0, 872, 142, 143, 144, 145, 146,
+ 147, 0, 0, 0, 0, 0, 0, 0, 0, 148,
+ 142, 143, 144, 145, 146, 147, 0, 0, 0, 0,
+ 0, 0, 0, 0, 148, 0, 0, 614, 615, 616,
+ 617, 618, 619, 620, 621, 622, 623, 624, 0, 625,
+ 626, 627, 953, 0, 873, 874, 875, 876, 0, 0,
+ 877, 878, 879, 880, 881, 0, 882, 883, 884, 0,
+ 0, 873, 874, 875, 876, 0, 0, 877, 878, 879,
+ 880, 881, 0, 882, 883, 884, 0, 0, 874, 875,
+ 876, 0, 0, 877, 878, 879, 880, 881, 0, 882,
+ 883, 884, 0, 0, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 0, 160, 161, 162, 0, 0, 0,
+ 152, 153, 154, 155, 156, 157, 158, 159, 0, 160,
+ 161, 162, 866, 867, 868, 869, 870, 871, 0, 0,
+ 0, 0, 0, 0, 0, 0, 872, 142, 143, 144,
+ 145, 146, 147, 0, 0, 0, 0, 0, 0, 0,
+ 0, 148, 866, 867, 868, 869, 870, 871, 0, 0,
+ 0, 0, 0, 0, 0, 0, 872, 866, 867, 868,
+ 869, 870, 871, 0, 0, 0, 0, 0, 0, 0,
+ 0, 872, 866, 867, 868, 869, 870, 871, 0, 0,
+ 0, 0, 0, 0, 0, 0, 872, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 874, 875, 876, 0, 0, 877, 878, 879, 880, 881,
+ 0, 882, 883, 884, 0, 0, 0, 0, 153, 154,
+ 155, 156, 157, 158, 159, 0, 160, 161, 162, 0,
+ 0, 875, 876, -2, 0, 877, 878, 879, 880, 881,
+ 0, 882, 883, 884, 0, 0, 0, 876, 0, 0,
+ 877, 878, 879, 880, 881, 0, 882, 883, 884, 41,
+ 0, 42, 43, 44, 0, 877, 878, 879, 880, 881,
+ 0, 882, 883, 884, 0, 0, 74, 0, 0, 0,
+ 0, 0, 0, 50, 169, 52, 289, 0, 0, 75,
+ 0, 0, 0, 0, 76, 360, 361, 77, 53, 54,
+ 0, 0, 0, 0, 0, 78, 79, 0, 80, 0,
+ 0, 58, 81, 82, 83, 0, 60, 0, 0, 0,
+ 0, 0, 41, 84, 42, 43, 44, 85, 0, 0,
+ 0, 86, 41, 0, 42, 43, 44, 362, 363, 114,
+ 47, 0, 87, 0, 0, 0, 50, 169, 52, 0,
+ 49, 0, 40, 0, 0, 0, 50, 51, 52, 0,
+ 0, 53, 54, 0, 0, 0, 0, 0, 0, 0,
+ 0, 53, 54, 0, 58, 0, 0, 0, 0, 60,
+ 0, 0, 364, 0, 58, 0, 0, 59, 41, 60,
+ 42, 43, 44, 45, 46, 0, 47, 0, 0, 0,
+ 48, 0, 0, 0, 0, 0, 49, 0, 40, 0,
+ 0, 0, 50, 51, 52, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 53, 54, 0,
+ 0, 0, 55, 41, 0, 42, 43, 44, 56, 57,
+ 58, 0, 0, 59, 41, 60, 42, 43, 44, 45,
+ 307, 0, 47, 0, 0, 0, 48, 50, 169, 52,
+ 0, 0, 49, 0, 107, 0, 0, 0, 50, 51,
+ 52, 0, 53, 54, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 53, 54, 58, 0, 0, 55, 0,
+ 60, 0, 0, 0, 56, 57, 58, 0, 0, 59,
+ 41, 60, 42, 43, 44, 45, 0, 0, 47, 0,
+ 0, 0, 48, 117, 0, 0, 0, 0, 49, 0,
+ 40, 0, 0, 0, 50, 51, 52, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
+ 54, 0, 0, 0, 55, 0, 0, 0, 0, 0,
+ 108, 57, 58, 0, 0, 59, 41, 60, 42, 43,
+ 44, 45, 0, 0, 47, 0, 0, 0, 48, 0,
+ 0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
+ 50, 51, 52, 0, 0, 0, 0, 0, 0, 0,
+ 0, 74, 0, 0, 0, 53, 54, 0, 0, 0,
+ 55, 0, 0, 0, 75, 0, 56, 57, 58, 76,
+ 0, 59, 77, 60, 0, 0, 0, 0, 74, 0,
+ 78, 79, 0, 80, 0, 0, 0, 81, 82, 83,
+ 0, 75, 0, 0, 0, 0, 76, 0, 84, 77,
+ 0, 0, 85, 0, 0, 74, 86, 78, 79, 0,
+ 80, 0, 0, 0, 81, 82, 83, 87, 75, 0,
+ 0, 0, 0, 76, 0, 84, 77, 0, 0, 85,
+ 0, 0, 74, 86, 78, 79, 358, 80, 0, 0,
+ 0, 81, 82, 83, 87, 75, 0, 0, 0, 0,
+ 76, 0, 84, 77, 0, 0, 85, 0, 0, 74,
+ 86, 78, 79, 415, 80, 0, 0, 0, 81, 82,
+ 83, 87, 75, 0, 0, 0, 0, 76, 0, 84,
+ 77, 0, 0, 85, 0, 0, 74, 86, 78, 79,
+ 479, 80, 0, 0, 0, 81, 82, 83, 87, 75,
+ 0, 0, 0, 0, 76, 0, 84, 77, 0, 0,
+ 85, 0, 0, 0, 86, 78, 79, 568, 80, 0,
+ 0, 0, 81, 82, 83, 87, 0, 0, 0, 0,
+ 0, 0, 0, 84, 0, 0, 0, 85, 0, 0,
+ 0, 86, 0, 0, 773
+};
static const yytype_int16 yycheck[] =
{
- 1, 35, 2, 91, 5, 293, 495, 91, 91, 85,
- 111, 23, 23, 486, 23, 194, 108, 380, 12, 432,
- 303, 35, 10, 8, 9, 126, 439, 440, 441, 442,
- 443, 31, 32, 33, 34, 127, 36, 8, 9, 452,
- 108, 46, 99, 100, 101, 102, 103, 108, 105, 106,
- 107, 209, 0, 416, 108, 448, 469, 114, 115, 127,
- 61, 118, 119, 422, 423, 125, 127, 8, 9, 376,
- 8, 9, 379, 127, 381, 108, 111, 550, 29, 91,
- 91, 125, 91, 4, 85, 478, 107, 8, 9, 110,
- 104, 126, 8, 9, 127, 402, 403, 125, 405, 406,
- 407, 382, 116, 117, 77, 386, 387, 388, 389, 125,
- 8, 9, 200, 116, 108, 294, 200, 200, 91, 592,
- 6, 108, 107, 411, 107, 488, 409, 110, 162, 10,
- 126, 127, 120, 14, 313, 125, 107, 75, 116, 446,
- 127, 141, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
- 160, 161, 125, 163, 165, 448, 108, 474, 125, 111,
- 51, 125, 585, 124, 125, 126, 125, 178, 179, 180,
- 181, 182, 125, 362, 185, 242, 127, 600, 200, 200,
- 191, 200, 125, 194, 501, 478, 125, 126, 108, 480,
- 125, 560, 207, 596, 108, 564, 599, 566, 213, 568,
- 569, 570, 110, 56, 8, 9, 10, 127, 125, 377,
- 14, 614, 380, 127, 67, 68, 108, 8, 9, 10,
- 8, 9, 10, 14, 115, 108, 14, 80, 125, 120,
- 79, 80, 81, 86, 125, 127, 107, 426, 165, 125,
- 29, 251, 252, 110, 127, 107, 108, 51, 416, 108,
- 99, 178, 179, 180, 181, 182, 109, 125, 111, 112,
- 51, 125, 107, 51, 109, 110, 111, 108, 127, 280,
- 108, 125, 126, 646, 78, 286, 286, 110, 110, 301,
- 125, 126, 110, 294, 295, 110, 127, 302, 299, 127,
- 301, 127, 125, 126, 127, 310, 104, 105, 106, 29,
- 311, 120, 313, 596, 79, 80, 81, 110, 318, 125,
- 126, 115, 126, 641, 8, 107, 120, 109, 110, 111,
- 488, 125, 107, 116, 115, 126, 127, 115, 125, 120,
- 8, 9, 120, 343, 125, 124, 125, 126, 125, 110,
- 193, 6, 110, 354, 366, 109, 127, 108, 434, 202,
- 127, 362, 117, 280, 125, 126, 127, 125, 126, 127,
- 371, 860, 377, 216, 127, 380, 377, 220, 412, 380,
- 414, 382, 50, 226, 227, 386, 387, 388, 389, 127,
- 127, 392, 127, 127, 395, 127, 127, 127, 399, 399,
- 120, 121, 122, 127, 124, 125, 126, 770, 409, 127,
- 117, 416, 421, 422, 423, 416, 127, 29, 811, 419,
- 128, 89, 127, 435, 110, 426, 108, 95, 96, 430,
- 464, 432, 108, 434, 125, 29, 125, 494, 439, 440,
- 441, 442, 443, 444, 287, 457, 457, 448, 457, 454,
- 464, 452, 127, 125, 125, 613, 130, 775, 107, 107,
- 8, 461, 462, 463, 108, 465, 117, 108, 469, 128,
- 120, 125, 108, 120, 317, 120, 111, 478, 111, 480,
- 90, 120, 116, 488, 127, 486, 486, 488, 646, 852,
- 116, 128, 580, 125, 495, 495, 580, 580, 127, 126,
- 108, 808, 127, 108, 127, 868, 118, 119, 120, 121,
- 122, 130, 124, 125, 126, 8, 109, 360, 108, 126,
- 51, 125, 365, 4, 367, 127, 120, 121, 122, 591,
- 124, 125, 126, 125, 108, 130, 127, 855, 108, 128,
- 127, 116, 128, 127, 851, 130, 127, 125, 548, 550,
- 550, 560, 125, 916, 116, 564, 117, 566, 130, 568,
- 569, 570, 29, 577, 127, 579, 117, 125, 580, 580,
- 571, 580, 127, 127, 109, 109, 125, 578, 421, 422,
- 423, 127, 127, 125, 585, 125, 127, 601, 127, 603,
- 604, 592, 592, 117, 901, 596, 128, 960, 599, 600,
- 127, 919, 636, 117, 127, 923, 125, 125, 613, 493,
- 611, 127, 770, 614, 127, 615, 616, 617, 618, 619,
- 620, 621, 622, 623, 624, 625, 626, 627, 628, 629,
- 630, 631, 632, 633, 634, 635, 772, 637, 191, 434,
- 641, 646, 851, 808, 962, 646, 19, 20, 966, 901,
- 493, 118, 119, 120, 121, 122, 29, 124, 125, 126,
- 51, 979, 53, 54, 200, 434, 366, 58, 613, 435,
- 988, 200, 578, 8, 9, 427, 492, 457, 734, 15,
- 16, 17, 18, 19, 20, -1, -1, -1, -1, -1,
- -1, -1, -1, 29, 852, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 547, -1, -1, -1, -1, -1,
- 868, -1, -1, -1, -1, 50, 559, 560, 561, -1,
- -1, 564, -1, 566, -1, 568, 569, 570, -1, -1,
- -1, -1, 575, 734, -1, 797, 798, 799, 800, -1,
- 802, 132, 133, 134, 135, 118, 119, 120, 121, 122,
- -1, 124, 125, 126, 89, -1, 813, -1, 916, -1,
- 95, 96, -1, 763, 99, 770, -1, 801, -1, 770,
- -1, -1, -1, -1, 775, -1, -1, 168, -1, 170,
- 116, 117, 118, 119, 120, 121, 122, 801, 124, 125,
- 126, -1, -1, -1, -1, 186, -1, -1, 797, 798,
- 799, 800, 960, 802, -1, -1, -1, -1, -1, 809,
- 811, -1, -1, -1, -1, -1, 816, 879, 880, 881,
- 882, 883, 884, 885, 886, 887, 888, 889, 890, 891,
- 892, 893, 894, 895, 896, 897, 15, 16, 17, 18,
- 19, 20, -1, -1, -1, -1, -1, 852, -1, -1,
- 29, 852, -1, -1, 855, 869, 870, 871, -1, 860,
- 860, -1, -1, 868, 898, -1, -1, 868, 930, -1,
- -1, -1, -1, -1, -1, 8, 9, -1, -1, -1,
- 879, 880, 881, 882, 883, 884, 885, 886, 887, 888,
- 889, 890, 891, 892, 893, 894, 895, 896, 897, 899,
- -1, -1, 293, -1, -1, -1, -1, -1, -1, 971,
- -1, 916, 912, -1, -1, 916, -1, 50, 919, -1,
- -1, 955, 923, 957, -1, -1, -1, -1, -1, -1,
- -1, 930, -1, -1, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, -1, 124, 125, 126, 982, 983,
- -1, -1, -1, -1, -1, 960, 89, -1, -1, 960,
- -1, 962, 95, 96, -1, 966, 99, -1, -1, -1,
- -1, -1, 971, -1, -1, -1, -1, -1, 979, 3,
- 4, 5, 6, 7, 8, 9, 10, 988, 12, 13,
+ 1, 91, 487, 91, 5, 85, 46, 91, 292, 8,
+ 9, 98, 99, 100, 101, 102, 35, 104, 105, 106,
+ 193, 12, 442, 0, 376, 108, 113, 114, 125, 631,
+ 117, 118, 164, 301, 10, 8, 9, 372, 8, 9,
+ 375, 111, 23, 478, 127, 177, 178, 179, 180, 181,
+ 35, 125, 8, 9, 10, 208, 126, 2, 14, 411,
+ 61, 23, 397, 398, 125, 400, 401, 402, 8, 9,
+ 377, 108, 8, 9, 381, 382, 383, 384, 108, 108,
+ 77, 79, 80, 81, 85, 108, 31, 32, 33, 34,
+ 127, 36, 125, 107, 91, 51, 110, 127, 127, 23,
+ 108, 99, 75, 125, 127, 125, 111, 542, 107, 199,
+ 91, 199, 417, 418, 116, 199, 427, 108, 103, 127,
+ 293, 126, 406, 434, 435, 436, 437, 438, 480, 91,
+ 115, 116, 125, 468, 10, 446, 404, 310, 14, 125,
+ 8, 9, 161, 108, 120, 108, 4, 279, 111, 584,
+ 8, 9, 463, 51, 241, 53, 54, 127, 493, 115,
+ 58, 763, 127, 164, 120, 472, 108, 91, 29, 589,
+ 110, 107, 212, 125, 442, 51, 177, 178, 179, 180,
+ 181, 125, 50, 184, 604, 127, 359, 107, 125, 190,
+ 110, 125, 193, 29, 116, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 125, 162, 199, 125,
+ 373, 89, 29, 376, 108, 6, 108, 95, 96, 29,
+ 107, 99, 110, 131, 132, 133, 134, 199, 840, 115,
+ 8, 9, 10, 127, 120, 127, 14, 552, 421, 125,
+ 125, 556, 125, 558, 108, 560, 561, 562, 411, 120,
+ 121, 122, 108, 124, 125, 126, 577, 307, 29, 167,
+ 110, 169, 110, 127, 125, 199, 108, 110, 279, 590,
+ 127, 127, 634, 51, 285, 120, 110, 185, 124, 125,
+ 126, 110, 293, 294, 8, 127, 126, 298, 107, 300,
+ 902, 125, 126, 127, 906, 250, 251, 308, 116, 310,
+ 78, 118, 119, 120, 121, 122, 6, 124, 125, 126,
+ 120, 121, 122, 125, 124, 125, 126, 480, 110, 104,
+ 105, 106, 125, 373, 8, 9, 376, 109, 300, 110,
+ 285, 127, 944, 125, 126, 127, 948, 115, 108, 429,
+ 351, 127, 120, 127, 125, 126, 127, 125, 359, 961,
+ 845, 126, 127, 124, 125, 126, 117, 368, 970, 127,
+ 315, 411, 373, 125, 126, 376, 377, 797, 107, 108,
+ 381, 382, 383, 384, 125, 126, 387, 127, 407, 390,
+ 409, 125, 126, 394, 292, 340, 127, 19, 20, 486,
+ 127, 363, 127, 404, 126, 127, 758, 29, 448, 127,
+ 411, 8, 9, 10, 79, 80, 81, 14, 127, 107,
+ 421, 109, 110, 111, 425, 127, 427, 127, 429, 127,
+ 117, 127, 110, 434, 435, 436, 437, 438, 439, 458,
+ 480, 442, 583, 128, 108, 446, 108, 127, 125, 394,
+ 603, 130, 125, 125, 51, 125, 107, 107, 8, 794,
+ 108, 117, 463, 108, 108, 120, 120, 128, 430, 414,
+ 451, 472, 107, 458, 109, 110, 111, 478, 125, 480,
+ 120, 634, 572, 111, 572, 837, 487, 111, 572, 451,
+ 125, 126, 416, 417, 418, 90, 118, 119, 120, 121,
+ 122, 853, 124, 125, 126, 120, 116, 125, 406, 116,
+ 455, 456, 457, 127, 459, 19, 20, 126, 115, 127,
+ 108, 108, 128, 120, 127, 29, 130, 451, 125, 127,
+ 8, 109, 126, 478, 108, 125, 127, 51, 8, 9,
+ 4, 542, 487, 125, 130, 128, 127, 56, 900, 17,
+ 18, 19, 20, 128, 8, 9, 127, 130, 67, 68,
+ 127, 29, 563, 603, 127, 125, 125, 116, 116, 570,
+ 117, 80, 130, 127, 117, 127, 577, 86, 109, 125,
+ 50, 109, 127, 584, 569, 127, 571, 125, 589, 590,
+ 942, 572, 127, 125, 634, 540, 50, 542, 29, 108,
+ 601, 110, 111, 604, 125, 758, 591, 626, 593, 594,
+ 572, 127, 117, 128, 118, 119, 120, 121, 122, 89,
+ 124, 125, 126, 117, 127, 95, 96, 127, 552, 99,
+ 631, 127, 556, 634, 558, 89, 560, 561, 562, 584,
+ 125, 95, 96, 125, 785, 786, 787, 788, 572, 790,
+ 118, 119, 120, 121, 122, 127, 124, 125, 126, 485,
+ 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
+ 625, 127, 627, 192, 837, 429, 794, 118, 119, 120,
+ 121, 122, 201, 124, 125, 126, 760, 190, 199, 429,
+ 853, 570, 3, 4, 5, 6, 215, 8, 603, 430,
+ 219, 363, 799, 199, 451, 422, 225, 226, 758, 722,
+ 484, 722, -1, 864, 865, 866, 867, 868, 869, 870,
+ 871, 872, 873, 874, 875, 876, 877, 878, 879, 880,
+ 881, 882, -1, -1, -1, -1, -1, 900, -1, -1,
+ -1, -1, -1, 54, -1, -1, -1, 758, -1, -1,
+ -1, 62, 763, -1, -1, -1, -1, -1, -1, -1,
+ 789, -1, 913, -1, -1, 8, 9, 286, -1, -1,
+ -1, -1, -1, -1, -1, 86, -1, 88, -1, 942,
+ -1, 92, -1, -1, -1, -1, 797, 837, 785, 786,
+ 787, 788, -1, 790, 789, 314, 751, -1, -1, -1,
+ -1, -1, 953, 853, 115, -1, -1, 50, 119, 120,
+ -1, -1, 123, -1, 125, -1, -1, -1, 129, 17,
+ 18, 19, 20, -1, -1, -1, 837, -1, -1, 840,
+ -1, 29, -1, -1, 845, -1, -1, -1, 357, -1,
+ 795, -1, 853, 362, -1, 364, 89, 802, -1, -1,
+ 900, -1, 95, 96, 883, -1, 99, -1, -1, 854,
+ 855, 856, -1, -1, -1, -1, -1, 864, 865, 866,
+ 867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
+ 877, 878, 879, 880, 881, 882, -1, -1, -1, 900,
+ 845, 902, 942, -1, -1, 906, -1, 416, 417, 418,
+ -1, 3, 4, 5, 6, -1, 8, 9, 937, -1,
+ 939, -1, -1, -1, -1, -1, 913, -1, 116, 117,
+ 118, 119, 120, 121, 122, -1, 124, 125, 126, 884,
+ -1, 942, -1, 944, -1, 964, 965, 948, -1, -1,
+ -1, 896, -1, 45, -1, 47, 48, 49, 50, 51,
+ 961, 53, 54, -1, -1, 57, 953, -1, -1, 970,
+ 62, 63, -1, -1, -1, -1, 485, 69, 70, 71,
+ -1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
+ -1, -1, 84, 85, 86, -1, 88, 89, -1, -1,
+ 92, -1, -1, 95, 96, 97, -1, -1, 100, -1,
+ 102, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 115, -1, -1, -1, 119, 120, -1,
+ 539, 123, -1, 125, -1, -1, -1, 129, -1, -1,
+ -1, -1, 551, 552, 553, -1, -1, 556, -1, 558,
+ -1, 560, 561, 562, -1, -1, -1, -1, 567, 3,
+ 4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
-1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, -1,
- 411, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ -1, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, -1, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, -1, -1, -1,
74, 75, 76, -1, 78, 79, 80, 81, 82, 83,
@@ -2073,7 +1713,7 @@ static const yytype_int16 yycheck[] =
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 3, 4, 5,
- 6, 7, 8, 9, 10, 958, 12, 13, 14, 15,
+ 6, 7, 8, 9, 10, -1, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
-1, -1, -1, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, -1, -1, 45,
@@ -2082,383 +1722,477 @@ static const yytype_int16 yycheck[] =
66, 67, 68, 69, 70, -1, -1, -1, 74, 75,
76, -1, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, -1, 91, 92, 93, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, -1, 8,
- 9, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
+ -1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
- 126, 127, -1, 129, 130, 3, 4, 5, 6, -1,
- 8, 9, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 14, 15, 16, 17, 18, 19, 20,
- -1, -1, -1, -1, -1, -1, -1, 45, 29, 47,
- 48, 49, 50, 51, -1, 53, 54, -1, -1, 57,
- 89, -1, -1, -1, 62, 63, 95, 96, -1, -1,
- 99, 69, 70, 71, -1, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, 89, -1, -1, 92, -1, -1, 95, 96, 97,
- -1, -1, 100, -1, 102, 3, 4, 5, 6, -1,
- 8, 9, -1, -1, 12, -1, -1, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, -1, 125, -1, -1,
- -1, 129, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, -1, 124, 125, 126, -1, 45, -1, 47,
- 48, 49, 50, 51, -1, 53, 54, -1, -1, 57,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- -1, 69, 70, 71, -1, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, 89, -1, -1, 92, -1, -1, 95, 96, 97,
- -1, -1, 100, -1, 102, 3, 4, 5, 6, -1,
- 8, 9, -1, -1, 12, -1, -1, 115, -1, -1,
- -1, 119, -1, -1, -1, 123, -1, 125, -1, -1,
- -1, 129, -1, 14, 15, 16, 17, 18, 19, 20,
- -1, 3, 4, 5, 6, -1, 8, 45, 29, 47,
- 48, 49, 50, 51, -1, 53, 54, -1, -1, 57,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- -1, 69, 70, 71, 19, 20, -1, -1, 76, -1,
- -1, -1, -1, -1, 29, -1, 84, 85, 86, -1,
- 88, 89, 54, -1, 92, -1, -1, 95, 96, 97,
- 62, -1, 100, -1, 102, 3, 4, 5, 6, -1,
- 8, 9, -1, -1, -1, -1, -1, 115, -1, -1,
- -1, 119, -1, -1, 86, 123, 88, 125, -1, -1,
- 92, 129, 113, 114, 115, -1, -1, 118, 119, 120,
- 121, 122, -1, 124, 125, 126, -1, 45, -1, 47,
- 48, 49, -1, 115, -1, 53, 54, 119, 120, -1,
- -1, 123, -1, 125, 62, 63, -1, 129, -1, -1,
- -1, 69, 70, 118, 119, 120, 121, 122, 76, 124,
- 125, 126, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, 45, -1,
- 47, 48, 49, -1, -1, -1, 53, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, 63, 125, -1, 127,
- -1, 129, 69, 70, 71, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, 84, 85, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- 97, 69, 70, -1, -1, 102, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, 45, 107,
- 47, 48, 49, -1, -1, -1, -1, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, 63, 125, -1, -1,
- -1, 129, 69, 70, 71, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, 84, 85, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- 97, 69, 70, -1, -1, 102, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, 45, 107,
- 47, 48, 49, -1, -1, -1, -1, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, -1, 125, -1, -1,
- -1, 129, 69, 70, 71, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, 84, 85, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- 97, 69, 70, -1, -1, 102, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, -1, 125, -1, 127,
- -1, 129, -1, -1, -1, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, -1, -1, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- -1, 69, 70, -1, -1, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, -1, 107,
- -1, -1, -1, -1, -1, -1, -1, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, -1, 125, -1, -1,
- -1, 129, -1, -1, -1, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, -1, -1, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- -1, 69, 70, -1, -1, -1, -1, -1, 76, -1,
- -1, -1, -1, -1, -1, -1, 84, 85, 86, -1,
- 88, -1, -1, -1, 92, 3, 4, 5, 6, 97,
- 8, 9, -1, -1, 102, -1, -1, -1, 45, -1,
- 47, 48, 49, -1, -1, -1, 53, 115, -1, -1,
- -1, 119, 120, -1, -1, 123, 63, 125, -1, 127,
- -1, 129, 69, 70, 71, -1, -1, 45, -1, 47,
- 48, 49, -1, -1, -1, 53, 54, 84, 85, -1,
- -1, -1, -1, -1, 62, 63, -1, -1, -1, -1,
- 97, 69, 70, -1, -1, 102, -1, -1, 76, 15,
- 16, 17, 18, 19, 20, -1, 84, 85, 86, -1,
- 88, -1, -1, 29, 92, -1, -1, -1, 125, 97,
- -1, -1, -1, -1, 102, -1, -1, 13, 14, 15,
- 16, 17, 18, 19, 20, -1, -1, 115, -1, -1,
- -1, 119, 120, 29, -1, 123, -1, 125, -1, -1,
- -1, 129, 13, 14, 15, 16, 17, 18, 19, 20,
- -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
- -1, 13, 14, 15, 16, 17, 18, 19, 20, -1,
- -1, -1, -1, -1, -1, -1, -1, 29, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
- 126, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
- 116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
- 126, -1, -1, -1, 130, -1, -1, -1, -1, -1,
- -1, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, -1, 124, 125, 126, -1, -1, -1, 130,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, -1, 124, 125, 126, 8, 9, -1, 130, 13,
- 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
- -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, -1,
- -1, -1, 45, -1, 47, 48, 49, -1, 52, -1,
- 53, 45, -1, 47, 48, 49, -1, -1, -1, -1,
- 63, -1, -1, -1, -1, -1, 69, 70, 71, -1,
- -1, -1, 76, -1, -1, 69, 70, 71, -1, -1,
- -1, 84, 85, -1, -1, -1, -1, 8, 9, -1,
- 84, 85, -1, -1, 97, -1, -1, 100, -1, 102,
- -1, -1, -1, 97, 108, -1, -1, 111, 102, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- -1, 125, 126, 44, 45, 129, 47, 48, 49, 50,
- 51, 125, 53, -1, -1, -1, 57, 58, 59, 60,
- -1, -1, 63, -1, -1, -1, -1, 68, 69, 70,
- 71, -1, -1, 74, 8, 9, -1, 78, -1, -1,
- -1, 82, -1, 84, 85, -1, 87, -1, 89, -1,
- -1, -1, -1, -1, 95, 96, 97, -1, 99, 100,
- 101, 102, -1, -1, -1, -1, 107, -1, -1, -1,
- 44, 45, -1, 47, 48, 49, 50, 51, -1, 53,
- -1, -1, 123, 57, 58, 59, 60, -1, -1, 63,
- -1, -1, -1, -1, 68, 69, 70, 71, -1, -1,
- 74, 8, 9, -1, 78, -1, -1, -1, 82, -1,
- 84, 85, -1, 87, -1, 89, -1, -1, -1, -1,
- -1, 95, 96, 97, -1, 99, 100, 101, 102, 13,
- 14, 15, 16, 17, 18, 19, 20, 44, 45, -1,
- 47, 48, 49, 50, 51, 29, 53, -1, -1, 123,
- 57, 58, 59, 60, -1, -1, 63, -1, -1, -1,
- -1, 68, 69, 70, 71, -1, -1, 74, -1, -1,
- -1, 78, -1, -1, -1, 82, -1, 84, 85, -1,
- 87, -1, 89, -1, -1, -1, -1, -1, 95, 96,
- 97, -1, 99, 100, 101, 102, 13, 14, 15, 16,
- 17, 18, 19, 20, -1, -1, -1, -1, -1, -1,
- -1, -1, 29, -1, -1, -1, 123, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 110, -1, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, -1,
- 124, 125, 126, 13, 14, 15, 16, 17, 18, 19,
+ 126, 127, -1, 129, 130, -1, 3, 4, 5, 6,
+ -1, 8, 9, -1, -1, 12, -1, -1, -1, 45,
+ -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, 15, 16, 17, 18, 19,
+ 20, -1, -1, 69, 70, 71, -1, -1, 45, 29,
+ 47, 48, 49, 50, 51, -1, 53, 54, 84, 85,
+ 57, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, 97, 69, 70, 71, -1, 102, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, 89, -1, -1, 92, -1, -1, 95, 96,
+ 97, -1, -1, 100, -1, 102, 3, 4, 5, 6,
+ -1, 8, 9, -1, -1, 12, -1, -1, 115, -1,
+ -1, 940, 119, -1, -1, -1, 123, -1, 125, -1,
+ -1, -1, 129, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, -1, 124, 125, 126, -1, 45, -1,
+ 47, 48, 49, 50, 51, -1, 53, 54, -1, -1,
+ 57, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, -1, 69, 70, 71, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, 89, -1, -1, 92, -1, -1, 95, 96,
+ 97, -1, -1, 100, -1, 102, 3, 4, 5, 6,
+ -1, 8, 9, -1, -1, -1, -1, -1, 115, -1,
+ -1, -1, 119, -1, -1, -1, 123, -1, 125, -1,
+ -1, -1, 129, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, -1, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, 45,
+ -1, 47, 48, 49, -1, -1, -1, 53, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, 63, 125, -1,
+ 127, -1, 129, 69, 70, 71, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, 84, 85,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, 97, 69, 70, -1, -1, 102, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, 45,
+ 107, 47, 48, 49, -1, -1, -1, -1, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, 63, 125, -1,
+ -1, -1, 129, 69, 70, 71, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, 84, 85,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, 97, 69, 70, -1, -1, 102, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, -1,
+ 107, -1, -1, -1, -1, -1, -1, -1, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, -1, 125, -1,
+ -1, -1, 129, -1, -1, -1, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, -1, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, -1, 125, -1,
+ 127, -1, 129, -1, -1, -1, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, -1, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, -1,
+ 107, -1, -1, -1, -1, -1, -1, -1, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, -1, 125, -1,
+ -1, -1, 129, -1, -1, -1, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, -1, -1,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, -1, 69, 70, -1, -1, -1, -1, -1, 76,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, 86,
+ -1, 88, -1, -1, -1, 92, 3, 4, 5, 6,
+ 97, 8, 9, -1, -1, 102, -1, -1, -1, 45,
+ -1, 47, 48, 49, -1, -1, -1, 53, 115, -1,
+ -1, -1, 119, 120, -1, -1, 123, 63, 125, -1,
+ 127, -1, 129, 69, 70, 71, -1, -1, 45, -1,
+ 47, 48, 49, -1, -1, -1, 53, 54, 84, 85,
+ -1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
+ -1, 97, 69, 70, -1, -1, 102, -1, -1, 76,
+ 15, 16, 17, 18, 19, 20, -1, 84, 85, 86,
+ -1, 88, -1, -1, 29, 92, -1, -1, -1, 125,
+ 97, -1, -1, -1, -1, 102, -1, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, 115, -1,
+ -1, -1, 119, 120, 29, -1, 123, -1, 125, -1,
+ -1, -1, 129, 13, 14, 15, 16, 17, 18, 19,
20, -1, -1, -1, -1, -1, -1, -1, -1, 29,
+ -1, -1, 13, 14, 15, 16, 17, 18, 19, 20,
+ -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
+ 125, 126, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
+ 125, 126, -1, -1, -1, 130, -1, -1, -1, -1,
+ -1, -1, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, -1, 124, 125, 126, -1, -1, -1,
+ 130, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, -1, 124, 125, 126, 8, 9, -1, 130,
+ 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
+ -1, -1, -1, -1, -1, -1, 29, -1, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ -1, -1, -1, 45, -1, 47, 48, 49, -1, 52,
+ -1, 53, 45, -1, 47, 48, 49, -1, -1, -1,
+ -1, 63, -1, -1, -1, -1, -1, 69, 70, 71,
+ -1, -1, -1, 76, -1, -1, 69, 70, 71, -1,
+ -1, -1, 84, 85, -1, -1, -1, -1, 8, 9,
+ -1, 84, 85, -1, -1, 97, -1, -1, 100, -1,
+ 102, -1, -1, -1, 97, 108, -1, -1, 111, 102,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, -1, 125, 126, 44, 45, 129, 47, 48, 49,
+ 50, 51, 125, 53, -1, -1, -1, 57, 58, 59,
+ 60, -1, -1, 63, -1, -1, -1, -1, 68, 69,
+ 70, 71, -1, -1, 74, 8, 9, -1, 78, -1,
+ -1, -1, 82, -1, 84, 85, -1, 87, -1, 89,
+ -1, -1, -1, -1, -1, 95, 96, 97, -1, 99,
+ 100, 101, 102, -1, -1, -1, -1, 107, -1, -1,
+ -1, 44, 45, -1, 47, 48, 49, 50, 51, -1,
+ 53, -1, -1, 123, 57, 58, 59, 60, -1, -1,
+ 63, -1, -1, -1, -1, 68, 69, 70, 71, -1,
+ -1, 74, -1, -1, -1, 78, -1, -1, -1, 82,
+ -1, 84, 85, -1, 87, -1, 89, -1, -1, -1,
+ -1, -1, 95, 96, 97, -1, 99, 100, 101, 102,
+ 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
+ -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
+ 123, 13, 14, 15, 16, 17, 18, 19, 20, -1,
+ -1, -1, -1, -1, -1, -1, -1, 29, -1, -1,
13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
-1, -1, -1, -1, -1, -1, 29, 13, 14, 15,
16, 17, 18, 19, 20, -1, -1, -1, -1, -1,
- -1, -1, 109, 29, -1, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, -1, 124, 125, 126,
- 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
- -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 108, -1,
- -1, -1, 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, -1, 124, 125, 126, 110, -1, 112,
+ -1, -1, -1, 29, 13, 14, 15, 16, 17, 18,
+ 19, 20, -1, -1, -1, -1, -1, -1, -1, -1,
+ 29, -1, -1, -1, -1, -1, -1, 110, -1, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- -1, 124, 125, 126, -1, -1, 112, 113, 114, 115,
+ -1, 124, 125, 126, -1, -1, -1, 109, -1, -1,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, -1, 124, 125, 126, 108, -1, -1, -1, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ -1, 124, 125, 126, 110, -1, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, -1, 124, 125,
- 126, 13, 14, 15, 16, 17, 18, 19, 20, -1,
- -1, -1, -1, -1, -1, -1, -1, 29, -1, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- -1, 124, 125, 126, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, -1, -1, -1, -1, -1, -1,
- 29, 15, 16, 17, 18, 19, 20, -1, -1, -1,
- -1, -1, -1, -1, -1, 29, 15, 16, 17, 18,
- 19, 20, -1, -1, -1, -1, -1, -1, -1, -1,
- 29, 15, 16, 17, 18, 19, 20, -1, -1, -1,
- -1, -1, -1, -1, -1, 29, -1, -1, 110, -1,
- 112, 113, 114, 115, -1, -1, 118, 119, 120, 121,
- 122, -1, 124, 125, 126, 15, 16, 17, 18, 19,
+ 126, -1, -1, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, -1, 124, 125, 126, 13, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, 29, 13, 14, 15, 16, 17,
+ 18, 19, 20, -1, -1, -1, -1, -1, -1, -1,
+ -1, 29, 13, 14, 15, 16, 17, 18, 19, 20,
+ -1, -1, -1, -1, -1, -1, -1, -1, 29, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, 29, 15, 16, 17, 18, 19,
20, -1, -1, -1, -1, -1, -1, -1, -1, 29,
- -1, -1, -1, 112, 113, 114, 115, -1, -1, 118,
- 119, 120, 121, 122, -1, 124, 125, 126, -1, -1,
- -1, 115, 116, 117, 118, 119, 120, 121, 122, -1,
- 124, 125, 126, -1, 113, 114, 115, 0, -1, 118,
- 119, 120, 121, 122, -1, 124, 125, 126, -1, -1,
- 114, 115, -1, -1, 118, 119, 120, 121, 122, -1,
- 124, 125, 126, 15, 16, 17, 18, 19, 20, -1,
- -1, -1, -1, -1, -1, -1, -1, 29, -1, -1,
- 43, -1, -1, -1, -1, 115, -1, -1, 118, 119,
- 120, 121, 122, 56, 124, 125, 126, -1, 61, 8,
- 9, 64, 17, 18, 19, 20, -1, -1, -1, 72,
- 73, -1, 75, -1, 29, -1, 79, 80, 81, -1,
- 17, 18, 19, 20, -1, -1, -1, 90, -1, -1,
- -1, 94, 29, -1, -1, 98, 45, -1, 47, 48,
- 49, 50, 51, -1, 53, -1, 109, -1, -1, -1,
- -1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
- 69, 70, 71, -1, -1, -1, 118, 119, 120, 121,
- 122, -1, 124, 125, 126, 84, 85, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 95, -1, 97, -1,
- -1, 100, -1, 102, 9, -1, -1, -1, -1, -1,
- -1, 116, 117, 118, 119, 120, 121, 122, -1, 124,
- 125, 126, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 118, 119, 120, 121, 122, -1, 124, 125, 126,
- 45, -1, 47, 48, 49, 50, 51, -1, 53, 9,
- -1, -1, 57, -1, -1, -1, -1, -1, 63, -1,
+ 15, 16, 17, 18, 19, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, 29, -1, -1, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
+ 125, 126, 110, -1, 112, 113, 114, 115, -1, -1,
+ 118, 119, 120, 121, 122, -1, 124, 125, 126, -1,
+ -1, 112, 113, 114, 115, -1, -1, 118, 119, 120,
+ 121, 122, -1, 124, 125, 126, -1, -1, 113, 114,
+ 115, -1, -1, 118, 119, 120, 121, 122, -1, 124,
+ 125, 126, -1, -1, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, -1, 124, 125, 126, -1, -1, -1,
+ 115, 116, 117, 118, 119, 120, 121, 122, -1, 124,
+ 125, 126, 15, 16, 17, 18, 19, 20, -1, -1,
+ -1, -1, -1, -1, -1, -1, 29, 15, 16, 17,
+ 18, 19, 20, -1, -1, -1, -1, -1, -1, -1,
+ -1, 29, 15, 16, 17, 18, 19, 20, -1, -1,
+ -1, -1, -1, -1, -1, -1, 29, 15, 16, 17,
+ 18, 19, 20, -1, -1, -1, -1, -1, -1, -1,
+ -1, 29, 15, 16, 17, 18, 19, 20, -1, -1,
+ -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 113, 114, 115, -1, -1, 118, 119, 120, 121, 122,
+ -1, 124, 125, 126, -1, -1, -1, -1, 116, 117,
+ 118, 119, 120, 121, 122, -1, 124, 125, 126, -1,
+ -1, 114, 115, 0, -1, 118, 119, 120, 121, 122,
+ -1, 124, 125, 126, -1, -1, -1, 115, -1, -1,
+ 118, 119, 120, 121, 122, -1, 124, 125, 126, 45,
+ -1, 47, 48, 49, -1, 118, 119, 120, 121, 122,
+ -1, 124, 125, 126, -1, -1, 43, -1, -1, -1,
+ -1, -1, -1, 69, 70, 71, 9, -1, -1, 56,
+ -1, -1, -1, -1, 61, 8, 9, 64, 84, 85,
+ -1, -1, -1, -1, -1, 72, 73, -1, 75, -1,
+ -1, 97, 79, 80, 81, -1, 102, -1, -1, -1,
+ -1, -1, 45, 90, 47, 48, 49, 94, -1, -1,
+ -1, 98, 45, -1, 47, 48, 49, 50, 51, 125,
+ 53, -1, 109, -1, -1, -1, 69, 70, 71, -1,
+ 63, -1, 9, -1, -1, -1, 69, 70, 71, -1,
+ -1, 84, 85, -1, -1, -1, -1, -1, -1, -1,
+ -1, 84, 85, -1, 97, -1, -1, -1, -1, 102,
+ -1, -1, 95, -1, 97, -1, -1, 100, 45, 102,
+ 47, 48, 49, 50, 51, -1, 53, -1, -1, -1,
+ 57, -1, -1, -1, -1, -1, 63, -1, 9, -1,
+ -1, -1, 69, 70, 71, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 84, 85, -1,
+ -1, -1, 89, 45, -1, 47, 48, 49, 95, 96,
+ 97, -1, -1, 100, 45, 102, 47, 48, 49, 50,
+ 51, -1, 53, -1, -1, -1, 57, 69, 70, 71,
+ -1, -1, 63, -1, 9, -1, -1, -1, 69, 70,
+ 71, -1, 84, 85, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 84, 85, 97, -1, -1, 89, -1,
+ 102, -1, -1, -1, 95, 96, 97, -1, -1, 100,
+ 45, 102, 47, 48, 49, 50, -1, -1, 53, -1,
+ -1, -1, 57, 125, -1, -1, -1, -1, 63, -1,
9, -1, -1, -1, 69, 70, 71, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
- 85, -1, -1, -1, 89, 45, -1, 47, 48, 49,
+ 85, -1, -1, -1, 89, -1, -1, -1, -1, -1,
95, 96, 97, -1, -1, 100, 45, 102, 47, 48,
- 49, 50, 51, -1, 53, -1, -1, -1, 57, 69,
- 70, 71, -1, -1, 63, -1, 9, -1, -1, -1,
- 69, 70, 71, -1, 84, 85, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 84, 85, 97, -1, -1,
- 89, 45, 102, 47, 48, 49, 95, 96, 97, -1,
- -1, 100, 45, 102, 47, 48, 49, 50, -1, -1,
- 53, -1, -1, -1, 57, 69, 70, 71, -1, -1,
- 63, -1, 9, -1, -1, -1, 69, 70, 71, -1,
- 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 84, 85, 97, -1, -1, 89, -1, 102, -1,
- -1, -1, 95, 96, 97, -1, -1, 100, 45, 102,
- 47, 48, 49, 50, -1, -1, 53, -1, -1, -1,
- 57, 125, -1, -1, -1, -1, 63, -1, -1, -1,
- -1, -1, 69, 70, 71, -1, -1, -1, -1, -1,
- -1, -1, -1, 43, -1, -1, -1, 84, 85, -1,
- -1, -1, 89, -1, -1, -1, 56, -1, 95, 96,
- 97, 61, -1, 100, 64, 102, -1, -1, -1, -1,
- 43, -1, 72, 73, -1, 75, -1, -1, -1, 79,
- 80, 81, -1, 56, -1, -1, -1, -1, 61, -1,
- 90, 64, -1, -1, 94, -1, -1, 43, 98, 72,
- 73, -1, 75, -1, -1, -1, 79, 80, 81, 109,
- 56, -1, -1, -1, -1, 61, -1, 90, 64, -1,
- -1, 94, -1, -1, 43, 98, 72, 73, 128, 75,
- -1, -1, -1, 79, 80, 81, 109, 56, -1, -1,
- -1, -1, 61, -1, 90, 64, -1, -1, 94, -1,
- -1, 43, 98, 72, 73, 128, 75, -1, -1, -1,
- 79, 80, 81, 109, 56, -1, -1, -1, -1, 61,
- -1, 90, 64, -1, -1, 94, -1, -1, -1, 98,
- 72, 73, 128, 75, -1, -1, -1, 79, 80, 81,
- 109, -1, -1, -1, -1, -1, -1, -1, 90, -1,
- -1, 45, 94, 47, 48, 49, 98, -1, -1, 128,
- -1, -1, -1, -1, -1, -1, -1, 109, -1, -1,
- -1, -1, -1, -1, -1, 69, 70, 71, -1, -1,
- -1, 43, -1, -1, -1, -1, 128, -1, -1, -1,
- 84, 85, -1, -1, 56, -1, -1, -1, -1, 61,
- -1, -1, 64, 97, -1, -1, -1, -1, 102, -1,
+ 49, 50, -1, -1, 53, -1, -1, -1, 57, -1,
+ -1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
+ 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
+ -1, 43, -1, -1, -1, 84, 85, -1, -1, -1,
+ 89, -1, -1, -1, 56, -1, 95, 96, 97, 61,
+ -1, 100, 64, 102, -1, -1, -1, -1, 43, -1,
72, 73, -1, 75, -1, -1, -1, 79, 80, 81,
- -1, -1, -1, -1, -1, -1, -1, -1, 90, -1,
- -1, 125, 94, -1, -1, -1, 98
+ -1, 56, -1, -1, -1, -1, 61, -1, 90, 64,
+ -1, -1, 94, -1, -1, 43, 98, 72, 73, -1,
+ 75, -1, -1, -1, 79, 80, 81, 109, 56, -1,
+ -1, -1, -1, 61, -1, 90, 64, -1, -1, 94,
+ -1, -1, 43, 98, 72, 73, 128, 75, -1, -1,
+ -1, 79, 80, 81, 109, 56, -1, -1, -1, -1,
+ 61, -1, 90, 64, -1, -1, 94, -1, -1, 43,
+ 98, 72, 73, 128, 75, -1, -1, -1, 79, 80,
+ 81, 109, 56, -1, -1, -1, -1, 61, -1, 90,
+ 64, -1, -1, 94, -1, -1, 43, 98, 72, 73,
+ 128, 75, -1, -1, -1, 79, 80, 81, 109, 56,
+ -1, -1, -1, -1, 61, -1, 90, 64, -1, -1,
+ 94, -1, -1, -1, 98, 72, 73, 128, 75, -1,
+ -1, -1, 79, 80, 81, 109, -1, -1, -1, -1,
+ -1, -1, -1, 90, -1, -1, -1, 94, -1, -1,
+ -1, 98, -1, -1, 128
};
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 104, 105, 106, 132, 133, 223, 3, 4, 5,
+ 0, 104, 105, 106, 132, 133, 218, 3, 4, 5,
6, 8, 9, 45, 47, 48, 49, 53, 54, 62,
63, 69, 70, 76, 84, 85, 86, 88, 92, 97,
- 102, 115, 119, 120, 123, 125, 129, 216, 217, 222,
+ 102, 115, 119, 120, 123, 125, 129, 211, 212, 217,
9, 45, 47, 48, 49, 50, 51, 53, 57, 63,
69, 70, 71, 84, 85, 89, 95, 96, 97, 100,
- 102, 183, 186, 187, 189, 194, 195, 199, 200, 204,
- 205, 206, 207, 0, 43, 56, 61, 64, 72, 73,
+ 102, 178, 181, 182, 184, 189, 190, 194, 195, 199,
+ 200, 201, 202, 0, 43, 56, 61, 64, 72, 73,
75, 79, 80, 81, 90, 94, 98, 109, 136, 138,
- 139, 141, 142, 143, 164, 201, 203, 223, 125, 125,
- 125, 125, 125, 125, 116, 125, 125, 125, 9, 95,
- 185, 199, 200, 204, 125, 125, 125, 116, 125, 125,
- 216, 216, 216, 216, 9, 45, 47, 48, 49, 53,
- 63, 69, 70, 84, 85, 97, 102, 186, 214, 216,
- 216, 13, 14, 15, 16, 17, 18, 19, 20, 29,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
- 122, 124, 125, 126, 6, 183, 53, 63, 70, 205,
- 70, 205, 205, 8, 9, 221, 205, 10, 14, 51,
- 115, 120, 125, 182, 223, 107, 110, 221, 107, 221,
- 110, 140, 125, 125, 107, 221, 110, 110, 110, 165,
- 141, 148, 75, 221, 8, 9, 44, 51, 58, 59,
- 60, 68, 74, 78, 82, 87, 95, 99, 101, 107,
- 123, 153, 184, 187, 189, 194, 199, 200, 204, 213,
- 214, 223, 213, 213, 213, 213, 213, 186, 213, 213,
- 213, 221, 125, 221, 221, 213, 213, 186, 186, 213,
- 213, 127, 108, 127, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 127, 214, 216, 182, 63,
- 120, 182, 182, 182, 182, 182, 126, 197, 198, 223,
- 9, 196, 205, 110, 188, 190, 138, 8, 221, 133,
- 107, 116, 51, 153, 184, 221, 125, 125, 183, 222,
- 51, 183, 221, 137, 221, 107, 109, 110, 111, 176,
- 109, 144, 221, 221, 127, 127, 127, 127, 127, 127,
- 117, 127, 127, 127, 213, 127, 127, 127, 117, 127,
- 127, 216, 216, 110, 127, 130, 182, 127, 212, 216,
- 223, 221, 128, 196, 133, 110, 191, 192, 223, 108,
- 108, 128, 202, 8, 9, 50, 51, 95, 166, 167,
- 168, 169, 204, 223, 183, 176, 149, 154, 10, 120,
- 155, 145, 183, 8, 9, 10, 14, 51, 115, 120,
- 180, 223, 133, 125, 208, 209, 134, 135, 221, 107,
- 216, 10, 14, 51, 78, 115, 120, 125, 146, 170,
- 221, 110, 125, 127, 125, 216, 125, 130, 108, 111,
- 128, 79, 80, 81, 99, 193, 107, 108, 8, 221,
- 133, 221, 169, 221, 117, 108, 8, 9, 10, 14,
- 51, 115, 120, 125, 181, 223, 150, 151, 170, 3,
- 4, 5, 8, 12, 51, 54, 62, 76, 86, 88,
- 92, 115, 119, 123, 125, 129, 172, 173, 179, 183,
- 218, 219, 222, 223, 120, 170, 172, 147, 170, 180,
- 120, 180, 180, 180, 180, 125, 126, 128, 156, 128,
- 210, 223, 107, 108, 125, 107, 177, 178, 216, 223,
- 109, 120, 170, 170, 13, 14, 15, 16, 17, 18,
- 19, 20, 29, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 52, 76, 108, 111, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 125, 126, 129, 162, 170, 170, 170, 110, 111, 125,
- 126, 175, 176, 223, 196, 214, 214, 172, 216, 95,
- 99, 200, 220, 221, 99, 220, 99, 220, 79, 80,
- 81, 133, 193, 108, 127, 108, 128, 111, 181, 111,
- 141, 142, 163, 164, 168, 120, 181, 181, 181, 181,
- 181, 111, 126, 174, 223, 152, 170, 175, 176, 181,
- 183, 116, 185, 125, 116, 216, 216, 216, 186, 214,
- 216, 127, 12, 108, 181, 13, 14, 15, 16, 17,
- 18, 19, 20, 29, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 124, 125, 126, 170, 110,
- 127, 127, 175, 176, 125, 180, 159, 212, 172, 3,
- 4, 5, 6, 7, 8, 9, 10, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 57, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 74, 75, 76, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 91, 92, 93, 94, 95, 96, 97, 98, 99,
- 100, 101, 102, 103, 107, 108, 109, 110, 111, 112,
+ 139, 141, 142, 159, 196, 198, 218, 125, 125, 125,
+ 125, 125, 125, 116, 125, 125, 125, 9, 95, 180,
+ 194, 195, 199, 125, 125, 125, 116, 125, 125, 211,
+ 211, 211, 211, 9, 45, 47, 48, 49, 53, 63,
+ 69, 70, 84, 85, 97, 102, 181, 209, 211, 211,
+ 13, 14, 15, 16, 17, 18, 19, 20, 29, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 129, 130, 211, 208, 135,
- 213, 177, 128, 108, 170, 127, 130, 127, 4, 216,
- 171, 212, 108, 127, 127, 127, 108, 221, 220, 221,
- 220, 220, 220, 220, 220, 128, 8, 109, 221, 186,
- 174, 186, 181, 127, 54, 86, 88, 115, 119, 120,
- 123, 125, 129, 215, 217, 212, 175, 176, 108, 111,
- 175, 181, 186, 125, 186, 186, 127, 127, 51, 161,
- 223, 12, 179, 175, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
- 216, 216, 216, 216, 216, 127, 214, 216, 127, 125,
- 161, 108, 160, 172, 130, 127, 210, 128, 127, 128,
- 107, 216, 172, 130, 146, 161, 127, 127, 125, 116,
- 125, 116, 215, 215, 215, 215, 186, 214, 215, 13,
- 14, 15, 16, 17, 18, 19, 20, 29, 112, 113,
- 114, 115, 118, 119, 120, 121, 122, 124, 125, 126,
- 130, 108, 151, 216, 175, 117, 213, 127, 117, 216,
- 77, 91, 110, 127, 130, 125, 157, 147, 172, 127,
- 161, 128, 177, 127, 109, 109, 172, 186, 186, 186,
- 127, 127, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 127, 214, 216, 152, 125, 127, 125, 125, 216,
- 158, 172, 127, 161, 128, 161, 127, 117, 127, 117,
- 215, 110, 127, 130, 214, 214, 127, 221, 172, 127,
- 161, 161, 125, 125, 215, 127, 127, 127, 127, 161,
- 214, 214, 161, 127, 127
+ 124, 125, 126, 6, 178, 53, 63, 70, 200, 70,
+ 200, 200, 8, 9, 216, 200, 10, 14, 51, 115,
+ 120, 125, 177, 218, 107, 110, 216, 107, 216, 110,
+ 140, 125, 125, 107, 216, 110, 110, 110, 160, 141,
+ 145, 75, 216, 8, 9, 44, 51, 58, 59, 60,
+ 68, 74, 78, 82, 87, 95, 99, 101, 107, 123,
+ 148, 179, 182, 184, 189, 194, 195, 199, 208, 209,
+ 218, 208, 208, 208, 208, 208, 181, 208, 208, 208,
+ 216, 125, 216, 216, 208, 208, 181, 181, 208, 208,
+ 127, 108, 127, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 127, 209, 211, 177, 63, 120,
+ 177, 177, 177, 177, 177, 126, 192, 193, 218, 9,
+ 191, 200, 110, 183, 185, 138, 8, 216, 133, 107,
+ 116, 148, 179, 216, 125, 125, 217, 51, 178, 216,
+ 137, 216, 107, 109, 110, 111, 171, 109, 143, 216,
+ 216, 127, 127, 127, 127, 127, 127, 117, 127, 127,
+ 127, 208, 127, 127, 127, 117, 127, 127, 211, 211,
+ 110, 127, 130, 177, 127, 207, 211, 218, 216, 128,
+ 191, 133, 110, 186, 187, 218, 108, 108, 128, 197,
+ 8, 9, 50, 51, 95, 161, 162, 163, 164, 199,
+ 218, 171, 146, 149, 10, 120, 150, 178, 8, 9,
+ 10, 14, 51, 115, 120, 175, 218, 133, 125, 203,
+ 204, 134, 135, 216, 107, 211, 10, 14, 51, 78,
+ 115, 120, 125, 144, 165, 216, 110, 125, 127, 125,
+ 211, 125, 130, 108, 111, 128, 79, 80, 81, 99,
+ 188, 107, 108, 8, 216, 133, 216, 164, 216, 117,
+ 108, 8, 9, 10, 14, 51, 115, 120, 125, 176,
+ 218, 147, 165, 3, 4, 5, 8, 12, 51, 54,
+ 62, 76, 86, 88, 92, 115, 119, 123, 125, 129,
+ 167, 168, 174, 178, 213, 214, 217, 218, 120, 165,
+ 167, 175, 120, 175, 175, 175, 175, 125, 126, 128,
+ 151, 128, 205, 218, 107, 108, 125, 107, 172, 173,
+ 211, 218, 109, 120, 165, 165, 13, 14, 15, 16,
+ 17, 18, 19, 20, 29, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 52, 76, 108,
+ 111, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 125, 126, 129, 157, 165, 165, 165, 110,
+ 111, 125, 126, 170, 171, 218, 191, 209, 209, 167,
+ 211, 95, 99, 195, 215, 216, 99, 215, 99, 215,
+ 79, 80, 81, 133, 188, 108, 127, 108, 128, 111,
+ 176, 111, 141, 142, 158, 159, 163, 120, 176, 176,
+ 176, 176, 176, 111, 126, 169, 218, 170, 171, 176,
+ 178, 116, 180, 125, 116, 211, 211, 211, 181, 209,
+ 211, 127, 12, 108, 176, 13, 14, 15, 16, 17,
+ 18, 19, 20, 29, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 124, 125, 126, 165, 110,
+ 127, 127, 125, 175, 154, 207, 167, 3, 4, 5,
+ 6, 7, 8, 9, 10, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 57, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 74, 75, 76, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 129, 130, 206, 203, 135, 208, 172,
+ 128, 108, 165, 127, 130, 127, 4, 211, 166, 207,
+ 108, 127, 127, 127, 108, 216, 215, 216, 215, 215,
+ 215, 215, 215, 128, 8, 109, 216, 181, 169, 181,
+ 176, 127, 54, 86, 88, 115, 119, 120, 123, 125,
+ 129, 210, 212, 207, 108, 111, 170, 176, 181, 125,
+ 181, 181, 127, 127, 51, 156, 218, 12, 174, 170,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 127, 209, 211, 127, 125, 156, 155, 167, 130,
+ 127, 205, 128, 127, 128, 107, 211, 167, 130, 144,
+ 156, 127, 127, 125, 116, 125, 116, 210, 210, 210,
+ 210, 181, 209, 210, 13, 14, 15, 16, 17, 18,
+ 19, 20, 29, 112, 113, 114, 115, 118, 119, 120,
+ 121, 122, 124, 125, 126, 130, 147, 211, 170, 117,
+ 208, 127, 117, 211, 77, 91, 110, 127, 130, 125,
+ 152, 167, 127, 156, 128, 172, 127, 109, 109, 167,
+ 181, 181, 181, 127, 127, 210, 210, 210, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+ 210, 210, 210, 210, 127, 209, 211, 125, 127, 125,
+ 125, 211, 153, 167, 127, 156, 128, 156, 127, 117,
+ 127, 117, 210, 110, 127, 130, 209, 209, 127, 216,
+ 167, 127, 156, 156, 125, 125, 210, 127, 127, 127,
+ 127, 156, 209, 209, 156, 127, 127
};
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 131, 132, 132, 132, 133, 133, 133, 134, 134,
+ 135, 137, 136, 138, 138, 138, 138, 138, 138, 138,
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 140,
+ 139, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+ 141, 141, 141, 141, 143, 142, 142, 142, 144, 144,
+ 146, 145, 145, 147, 147, 149, 148, 150, 148, 151,
+ 148, 152, 148, 153, 148, 154, 148, 155, 148, 148,
+ 156, 156, 156, 156, 156, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 158, 158, 160, 159, 161, 161,
+ 162, 162, 163, 163, 163, 163, 163, 163, 164, 164,
+ 164, 165, 165, 165, 165, 165, 165, 165, 165, 165,
+ 165, 166, 165, 167, 167, 167, 167, 167, 168, 168,
+ 169, 169, 170, 170, 171, 171, 171, 171, 171, 172,
+ 172, 172, 173, 173, 173, 173, 174, 174, 174, 174,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 176,
+ 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+ 177, 177, 177, 177, 177, 177, 177, 177, 178, 178,
+ 178, 178, 178, 178, 178, 178, 179, 179, 179, 179,
+ 179, 179, 179, 179, 179, 180, 180, 180, 180, 180,
+ 181, 181, 183, 182, 185, 184, 186, 186, 187, 187,
+ 188, 188, 188, 188, 188, 188, 188, 188, 188, 189,
+ 190, 190, 190, 190, 191, 191, 192, 192, 192, 193,
+ 193, 193, 194, 195, 195, 195, 197, 196, 196, 198,
+ 198, 199, 199, 199, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200, 200, 201,
+ 201, 201, 201, 201, 202, 204, 203, 205, 205, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 207, 207, 208,
+ 208, 209, 209, 210, 210, 210, 210, 210, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+ 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+ 210, 210, 210, 210, 210, 210, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
+ 211, 211, 211, 211, 211, 211, 212, 212, 212, 212,
+ 212, 212, 212, 213, 213, 213, 213, 213, 213, 213,
+ 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
+ 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
+ 213, 213, 213, 213, 213, 213, 213, 213, 213, 214,
+ 214, 214, 214, 214, 214, 215, 215, 215, 216, 216,
+ 217, 217, 218
+};
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
+ /* 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,
+ 4, 0, 5, 1, 1, 1, 1, 1, 1, 2,
+ 1, 1, 2, 2, 2, 2, 7, 9, 9, 0,
+ 3, 1, 2, 2, 3, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 0, 4, 3, 3, 2, 4,
+ 0, 4, 3, 2, 4, 0, 6, 0, 6, 0,
+ 7, 0, 10, 0, 11, 0, 8, 0, 9, 1,
+ 1, 1, 2, 4, 5, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 1, 1, 1, 1, 0, 6, 1, 1,
+ 1, 3, 2, 4, 2, 4, 3, 4, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 3, 4, 3,
+ 3, 0, 6, 1, 1, 1, 3, 2, 1, 3,
+ 1, 2, 1, 2, 1, 3, 5, 3, 4, 1,
+ 1, 2, 1, 3, 3, 5, 3, 3, 4, 1,
+ 1, 1, 1, 2, 2, 2, 2, 3, 4, 1,
+ 1, 1, 2, 2, 2, 2, 3, 4, 7, 3,
+ 1, 2, 2, 2, 2, 3, 4, 7, 1, 1,
+ 2, 1, 1, 1, 2, 4, 1, 1, 2, 1,
+ 1, 1, 2, 4, 2, 1, 1, 2, 2, 2,
+ 2, 3, 0, 5, 0, 7, 1, 1, 2, 3,
+ 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, 4, 2,
+ 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 2, 2, 2, 2, 1,
+ 2, 1, 3, 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, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 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, 4, 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,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 2, 5, 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, 4, 7, 7, 4, 2, 5,
+ 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, 2, 2, 1, 1,
+ 1, 2, 0
+};
-/* 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 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
-#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)
@@ -2475,13 +2209,13 @@ do \
else \
{ \
yyerror (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].
@@ -2491,7 +2225,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; \
@@ -2505,12 +2239,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. */
@@ -2520,36 +2269,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;
}
@@ -2563,73 +2304,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);
}
@@ -2637,23 +2340,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, ": ");
@@ -2666,16 +2357,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++)
@@ -2686,50 +2369,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. */
@@ -2743,7 +2418,7 @@ int yydebug;
/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
+#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
@@ -2766,15 +2441,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++)
@@ -2790,16 +2458,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;
@@ -2829,27 +2489,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: ;
}
@@ -2872,11 +2532,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
@@ -2884,10 +2544,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
@@ -2937,7 +2593,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;
@@ -3004,33 +2660,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
}
@@ -3040,66 +2681,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;
@@ -3108,9 +2710,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. */
@@ -3189,26 +2791,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
@@ -3216,23 +2818,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 */
@@ -3242,10 +2844,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));
@@ -3274,7 +2876,7 @@ yybackup:
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
+ yychar = yylex (&yylval, &yylloc);
}
if (yychar <= YYEOF)
@@ -3339,7 +2941,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
@@ -3354,49 +2956,48 @@ yyreduce:
switch (yyn)
{
case 3:
-/* Line 1792 of yacc.c */
-#line 388 "dtool/src/cppparser/cppBison.yxx"
+#line 388 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_expr = (yyvsp[(2) - (2)].u.expr);
+ current_expr = (yyvsp[0].u.expr);
}
+#line 2964 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 4:
-/* Line 1792 of yacc.c */
-#line 392 "dtool/src/cppparser/cppBison.yxx"
+#line 392 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_type = (yyvsp[(2) - (2)].u.type);
+ current_type = (yyvsp[0].u.type);
}
+#line 2972 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 10:
-/* Line 1792 of yacc.c */
-#line 410 "dtool/src/cppparser/cppBison.yxx"
+#line 410 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- delete (yyvsp[(3) - (4)].u.expr);
+ delete (yyvsp[-1].u.expr);
}
+#line 2980 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 11:
-/* Line 1792 of yacc.c */
-#line 422 "dtool/src/cppparser/cppBison.yxx"
+#line 422 "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 2989 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 12:
-/* Line 1792 of yacc.c */
-#line 427 "dtool/src/cppparser/cppBison.yxx"
+#line 427 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_storage_class();
}
+#line 2997 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 20:
-/* Line 1792 of yacc.c */
-#line 441 "dtool/src/cppparser/cppBison.yxx"
+#line 441 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
if (publish_nest_level != 0) {
yyerror("Unclosed __begin_publish", publish_loc);
@@ -3405,36 +3006,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 3014 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 21:
-/* Line 1792 of yacc.c */
-#line 454 "dtool/src/cppparser/cppBison.yxx"
+#line 454 "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 3027 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 22:
-/* Line 1792 of yacc.c */
-#line 463 "dtool/src/cppparser/cppBison.yxx"
+#line 463 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_published);
}
+#line 3035 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 23:
-/* Line 1792 of yacc.c */
-#line 467 "dtool/src/cppparser/cppBison.yxx"
+#line 467 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
if (publish_nest_level > 0) {
current_scope->set_current_vis(V_published);
@@ -3442,572 +3043,499 @@ yyreduce:
current_scope->set_current_vis(V_public);
}
}
+#line 3047 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 24:
-/* Line 1792 of yacc.c */
-#line 475 "dtool/src/cppparser/cppBison.yxx"
+#line 475 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_protected);
}
+#line 3055 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 25:
-/* Line 1792 of yacc.c */
-#line 479 "dtool/src/cppparser/cppBison.yxx"
+#line 479 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_scope->set_current_vis(V_private);
}
+#line 3063 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 26:
-/* Line 1792 of yacc.c */
-#line 483 "dtool/src/cppparser/cppBison.yxx"
+#line 483 "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[(1) - (7)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-6]));
}
- 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 3078 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 27:
-/* Line 1792 of yacc.c */
-#line 494 "dtool/src/cppparser/cppBison.yxx"
+#line 494 "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[(1) - (9)]));
+ yyerror("Reference to non-existent or invalid getter: " + (yyvsp[-4].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
} 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[(1) - (9)]));
+ yyerror("Reference to non-existent or invalid setter: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-8]));
} 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 3103 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 28:
-/* Line 1792 of yacc.c */
-#line 515 "dtool/src/cppparser/cppBison.yxx"
+#line 515 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[(3) - (9)].u.identifier)->get_simple_name(), (yyvsp[(5) - (9)].u.identifier)->get_simple_name(), (yyvsp[(7) - (9)].u.identifier)->get_simple_name(), (yylsp[(1) - (9)]).file);
- current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[(1) - (9)]));
+ CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[-6].u.identifier)->get_simple_name(), (yyvsp[-4].u.identifier)->get_simple_name(), (yyvsp[-2].u.identifier)->get_simple_name(), (yylsp[-8]).file);
+ current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8]));
}
+#line 3112 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 29:
-/* Line 1792 of yacc.c */
-#line 523 "dtool/src/cppparser/cppBison.yxx"
+#line 523 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"),
V_public);
push_scope(new_scope);
}
+#line 3122 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 30:
-/* Line 1792 of yacc.c */
-#line 529 "dtool/src/cppparser/cppBison.yxx"
+#line 529 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
delete current_scope;
pop_scope();
}
+#line 3131 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 31:
-/* Line 1792 of yacc.c */
-#line 538 "dtool/src/cppparser/cppBison.yxx"
+#line 538 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = 0;
}
+#line 3139 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 32:
-/* Line 1792 of yacc.c */
-#line 542 "dtool/src/cppparser/cppBison.yxx"
+#line 542 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extern;
+ // This isn't really a storage class, but it helps with parsing.
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_const;
}
+#line 3148 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 33:
-/* Line 1792 of yacc.c */
-#line 546 "dtool/src/cppparser/cppBison.yxx"
+#line 547 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (3)].u.integer) | (int)CPPInstance::SC_extern;
- if ((yyvsp[(3) - (3)].str) == "C") {
- (yyval.u.integer) |= (int)CPPInstance::SC_c_binding;
- } else if ((yyvsp[(3) - (3)].str) == "C++") {
- (yyval.u.integer) &= ~(int)CPPInstance::SC_c_binding;
- } else {
- yywarning("Ignoring unknown linkage type \"" + (yyvsp[(3) - (3)].str) + "\"", (yylsp[(3) - (3)]));
- }
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_extern;
}
+#line 3156 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 34:
-/* Line 1792 of yacc.c */
-#line 557 "dtool/src/cppparser/cppBison.yxx"
+#line 551 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_static;
+ (yyval.u.integer) = (yyvsp[-2].u.integer) | (int)CPPInstance::SC_extern;
+ if ((yyvsp[0].str) == "C") {
+ (yyval.u.integer) |= (int)CPPInstance::SC_c_binding;
+ } else if ((yyvsp[0].str) == "C++") {
+ (yyval.u.integer) &= ~(int)CPPInstance::SC_c_binding;
+ } else {
+ yywarning("Ignoring unknown linkage type \"" + (yyvsp[0].str) + "\"", (yylsp[0]));
+ }
}
+#line 3171 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 35:
-/* Line 1792 of yacc.c */
-#line 561 "dtool/src/cppparser/cppBison.yxx"
+#line 562 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_inline;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_static;
}
+#line 3179 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 36:
-/* Line 1792 of yacc.c */
-#line 565 "dtool/src/cppparser/cppBison.yxx"
+#line 566 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_virtual;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_inline;
}
+#line 3187 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 37:
-/* Line 1792 of yacc.c */
-#line 569 "dtool/src/cppparser/cppBison.yxx"
+#line 570 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_explicit;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_virtual;
}
+#line 3195 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 38:
-/* Line 1792 of yacc.c */
-#line 573 "dtool/src/cppparser/cppBison.yxx"
+#line 574 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_volatile;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_explicit;
}
+#line 3203 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 39:
-/* Line 1792 of yacc.c */
-#line 577 "dtool/src/cppparser/cppBison.yxx"
+#line 578 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_mutable;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_volatile;
}
+#line 3211 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 40:
-/* Line 1792 of yacc.c */
-#line 581 "dtool/src/cppparser/cppBison.yxx"
+#line 582 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_register;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_mutable;
}
+#line 3219 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 41:
-/* Line 1792 of yacc.c */
-#line 585 "dtool/src/cppparser/cppBison.yxx"
+#line 586 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_blocking;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_register;
}
+#line 3227 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 42:
-/* Line 1792 of yacc.c */
-#line 589 "dtool/src/cppparser/cppBison.yxx"
+#line 590 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extension;
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_blocking;
}
+#line 3235 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 43:
-/* Line 1792 of yacc.c */
-#line 596 "dtool/src/cppparser/cppBison.yxx"
+#line 594 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- /* multiple_var_declaration adds itself to the scope. */
+ (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPInstance::SC_extension;
}
+#line 3243 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 44:
-/* Line 1792 of yacc.c */
-#line 600 "dtool/src/cppparser/cppBison.yxx"
+#line 601 "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[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
+ } else {
+ current_type = (yyvsp[0].u.decl)->as_type();
+ }
+ push_storage_class((yyvsp[-1].u.integer));
+}
+#line 3258 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 45:
+#line 612 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ pop_storage_class();
+}
+#line 3266 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 46:
+#line 616 "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)]));
-}
- break;
-
- case 45:
-/* Line 1792 of yacc.c */
-#line 609 "dtool/src/cppparser/cppBison.yxx"
- {
- 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));
- }
-}
- break;
-
- case 46:
-/* Line 1792 of yacc.c */
-#line 620 "dtool/src/cppparser/cppBison.yxx"
- {
- // 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;
- } else {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type();
- }
- push_storage_class((yyvsp[(1) - (2)].u.integer));
+ current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1]));
}
+#line 3279 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 47:
-/* Line 1792 of yacc.c */
-#line 631 "dtool/src/cppparser/cppBison.yxx"
+#line 625 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- pop_storage_class();
+ 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 3291 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 48:
-/* Line 1792 of yacc.c */
-#line 635 "dtool/src/cppparser/cppBison.yxx"
+#line 639 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- current_type = (yyvsp[(3) - (3)].u.type);
- push_storage_class((yyvsp[(1) - (3)].u.integer));
+ if (current_storage_class & CPPInstance::SC_const) {
+ (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]).file);
+ inst->set_initializer((yyvsp[0].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1]));
}
+#line 3306 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 49:
-/* Line 1792 of yacc.c */
-#line 642 "dtool/src/cppparser/cppBison.yxx"
+#line 650 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- pop_storage_class();
+ if (current_storage_class & CPPInstance::SC_const) {
+ (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
+ }
+ CPPInstance *inst = new CPPInstance(current_type, (yyvsp[-3].u.inst_ident),
+ current_storage_class,
+ (yylsp[-3]).file);
+ inst->set_initializer((yyvsp[-2].u.expr));
+ current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3]));
}
+#line 3321 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 50:
-/* Line 1792 of yacc.c */
-#line 653 "dtool/src/cppparser/cppBison.yxx"
+#line 664 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].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)]));
+ // We don't need to push/pop type, because we can't nest
+ // multiple_var_declarations.
+ if ((yyvsp[0].u.decl)->as_type_declaration()) {
+ current_type = (yyvsp[0].u.decl)->as_type_declaration()->_type;
+ } else {
+ current_type = (yyvsp[0].u.decl)->as_type();
+ }
+ push_storage_class((yyvsp[-1].u.integer));
}
+#line 3336 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 51:
-/* Line 1792 of yacc.c */
-#line 661 "dtool/src/cppparser/cppBison.yxx"
+#line 675 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].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)]));
+ pop_storage_class();
}
+#line 3344 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 52:
-/* Line 1792 of yacc.c */
-#line 672 "dtool/src/cppparser/cppBison.yxx"
+#line 679 "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),
- 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)]));
-}
- break;
-
- case 53:
-/* Line 1792 of yacc.c */
-#line 681 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].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)]));
-}
- break;
-
- case 54:
-/* Line 1792 of yacc.c */
-#line 694 "dtool/src/cppparser/cppBison.yxx"
- {
- // 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;
- } else {
- current_type = (yyvsp[(2) - (2)].u.decl)->as_type();
- }
- push_storage_class((yyvsp[(1) - (2)].u.integer));
-}
- break;
-
- case 55:
-/* Line 1792 of yacc.c */
-#line 705 "dtool/src/cppparser/cppBison.yxx"
- {
- pop_storage_class();
-}
- break;
-
- case 56:
-/* Line 1792 of yacc.c */
-#line 709 "dtool/src/cppparser/cppBison.yxx"
- {
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- current_type = (yyvsp[(3) - (3)].u.type);
- push_storage_class((yyvsp[(1) - (3)].u.integer));
-}
- break;
-
- case 57:
-/* Line 1792 of yacc.c */
-#line 716 "dtool/src/cppparser/cppBison.yxx"
- {
- pop_storage_class();
-}
- break;
-
- case 58:
-/* Line 1792 of yacc.c */
-#line 720 "dtool/src/cppparser/cppBison.yxx"
- {
- 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(typedef_type, global_scope, current_lexer, (yylsp[(2) - (3)]));
+ current_scope->add_declaration(typedef_type, global_scope, current_lexer, (yylsp[-1]));
}
}
}
+#line 3360 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 53:
+#line 694 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ if (current_storage_class & CPPInstance::SC_const) {
+ (yyvsp[-1].u.inst_ident)->add_modifier(IIT_const);
+ }
+ CPPType *target_type = current_type;
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file);
+ current_scope->add_declaration(typedef_type, global_scope, current_lexer, (yylsp[-1]));
+}
+#line 3373 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 54:
+#line 703 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ if (current_storage_class & CPPInstance::SC_const) {
+ (yyvsp[-3].u.inst_ident)->add_modifier(IIT_const);
+ }
+ CPPType *target_type = current_type;
+ CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file);
+ current_scope->add_declaration(typedef_type, global_scope, current_lexer, (yylsp[-3]));
+}
+#line 3386 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 55:
+#line 717 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
+}
+#line 3394 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 56:
+#line 721 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ pop_scope();
+ CPPType *type;
+ 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 {
+ // This isn't a constructor, so it has an implicit return type of
+ // int.
+ type = new CPPSimpleType(CPPSimpleType::T_int);
+ }
+
+ 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[-5]).file);
+}
+#line 3416 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 57:
+#line 739 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
+}
+#line 3424 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 58:
+#line 743 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ pop_scope();
+ CPPType *type;
+ 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 {
+ // This isn't a constructor, so it has an implicit return type of
+ // int.
+ type = new CPPSimpleType(CPPSimpleType::T_int);
+ }
+
+ 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[-5]).file);
+}
+#line 3446 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 59:
-/* Line 1792 of yacc.c */
-#line 735 "dtool/src/cppparser/cppBison.yxx"
+#line 763 "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(typedef_type, global_scope, current_lexer, (yylsp[(1) - (2)]));
+ push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope));
}
+#line 3454 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 60:
-/* Line 1792 of yacc.c */
-#line 741 "dtool/src/cppparser/cppBison.yxx"
- {
- 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(typedef_type, global_scope, current_lexer, (yylsp[(1) - (4)]));
-}
- break;
-
- case 61:
-/* Line 1792 of yacc.c */
-#line 750 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyvsp[(1) - (2)].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(typedef_type, global_scope, current_lexer, (yylsp[(1) - (2)]));
-}
- break;
-
- case 62:
-/* Line 1792 of yacc.c */
-#line 757 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyvsp[(1) - (4)].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(typedef_type, global_scope, current_lexer, (yylsp[(1) - (4)]));
-}
- break;
-
- case 63:
-/* Line 1792 of yacc.c */
-#line 769 "dtool/src/cppparser/cppBison.yxx"
- {
- push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope));
-}
- break;
-
- case 64:
-/* Line 1792 of yacc.c */
-#line 773 "dtool/src/cppparser/cppBison.yxx"
+#line 767 "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()) {
- // 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.
- 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));
-
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file);
-}
- break;
-
- case 65:
-/* Line 1792 of yacc.c */
-#line 791 "dtool/src/cppparser/cppBison.yxx"
- {
- push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope));
-}
- break;
-
- case 66:
-/* Line 1792 of yacc.c */
-#line 795 "dtool/src/cppparser/cppBison.yxx"
- {
- pop_scope();
- CPPType *type;
- if ((yyvsp[(1) - (6)].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 {
- // This isn't a constructor, so it has an implicit return type of
- // int.
- 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));
-
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file);
-}
- break;
-
- case 67:
-/* Line 1792 of yacc.c */
-#line 815 "dtool/src/cppparser/cppBison.yxx"
- {
- push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope));
-}
- break;
-
- case 68:
-/* Line 1792 of yacc.c */
-#line 819 "dtool/src/cppparser/cppBison.yxx"
- {
- 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)]).file);
- delete (yyvsp[(2) - (7)].u.identifier);
+ new CPPIdentifier("~" + (yyvsp[-5].u.identifier)->get_simple_name(), (yylsp[-5]).file);
+ 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 3477 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 69:
-/* Line 1792 of yacc.c */
-#line 845 "dtool/src/cppparser/cppBison.yxx"
+ case 61:
+#line 793 "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 3485 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 70:
-/* Line 1792 of yacc.c */
-#line 849 "dtool/src/cppparser/cppBison.yxx"
+ case 62:
+#line 797 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
- CPPType *type = (yyvsp[(1) - (10)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ CPPType *type = (yyvsp[-9].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[(4) - (10)].u.inst_ident);
+ CPPInstanceIdentifier *ii = (yyvsp[-6].u.inst_ident);
ii->add_modifier(IIT_pointer);
- ii->add_func_modifier((yyvsp[(8) - (10)].u.param_list), (yyvsp[(10) - (10)].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (10)]).file);
+ ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-9]).file);
}
+#line 3500 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 71:
-/* Line 1792 of yacc.c */
-#line 860 "dtool/src/cppparser/cppBison.yxx"
+ case 63:
+#line 808 "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 3508 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 72:
-/* Line 1792 of yacc.c */
-#line 864 "dtool/src/cppparser/cppBison.yxx"
+ case 64:
+#line 812 "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);
assert(type != NULL);
- CPPInstanceIdentifier *ii = (yyvsp[(5) - (11)].u.inst_ident);
- ii->add_scoped_pointer_modifier((yyvsp[(3) - (11)].u.identifier));
- ii->add_func_modifier((yyvsp[(9) - (11)].u.param_list), (yyvsp[(11) - (11)].u.integer));
- (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (11)]).file);
+ CPPInstanceIdentifier *ii = (yyvsp[-6].u.inst_ident);
+ ii->add_scoped_pointer_modifier((yyvsp[-8].u.identifier));
+ ii->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer));
+ (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-10]).file);
}
+#line 3523 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 73:
-/* Line 1792 of yacc.c */
-#line 877 "dtool/src/cppparser/cppBison.yxx"
+ case 65:
+#line 825 "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 3533 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 74:
-/* Line 1792 of yacc.c */
-#line 883 "dtool/src/cppparser/cppBison.yxx"
+ case 66:
+#line 831 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(1) - (8)].u.identifier) != NULL) {
+ if ((yyvsp[-7].u.identifier) != NULL) {
pop_scope();
}
@@ -4020,3116 +3548,3116 @@ 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[(1) - (8)]).file);
+ ident = new CPPIdentifier(name, (yylsp[-7]).file);
} 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 3562 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 75:
-/* Line 1792 of yacc.c */
-#line 908 "dtool/src/cppparser/cppBison.yxx"
+ case 67:
+#line 856 "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 3572 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 76:
-/* Line 1792 of yacc.c */
-#line 914 "dtool/src/cppparser/cppBison.yxx"
+ case 68:
+#line 862 "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[(1) - (9)]).file);
+ ident = new CPPIdentifier("operator typecast", (yylsp[-8]).file);
} 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 3592 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 77:
-/* Line 1792 of yacc.c */
-#line 934 "dtool/src/cppparser/cppBison.yxx"
+ case 69:
+#line 882 "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 3606 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 78:
-/* Line 1792 of yacc.c */
-#line 947 "dtool/src/cppparser/cppBison.yxx"
+ case 70:
+#line 895 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = 0;
}
+#line 3614 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 79:
-/* Line 1792 of yacc.c */
-#line 951 "dtool/src/cppparser/cppBison.yxx"
+ case 71:
+#line 899 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_const_method;
}
+#line 3622 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 80:
-/* Line 1792 of yacc.c */
-#line 955 "dtool/src/cppparser/cppBison.yxx"
+ case 72:
+#line 903 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.integer) = (int)CPPFunctionType::F_noexcept;
}
+#line 3630 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 81:
-/* Line 1792 of yacc.c */
-#line 959 "dtool/src/cppparser/cppBison.yxx"
+ case 73:
+#line 907 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (4)].u.integer);
+ (yyval.u.integer) = (yyvsp[-3].u.integer);
}
+#line 3638 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 82:
-/* Line 1792 of yacc.c */
-#line 963 "dtool/src/cppparser/cppBison.yxx"
+ case 74:
+#line 911 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.integer) = (yyvsp[(1) - (5)].u.integer);
+ (yyval.u.integer) = (yyvsp[-4].u.integer);
}
+#line 3646 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 83:
-/* Line 1792 of yacc.c */
-#line 970 "dtool/src/cppparser/cppBison.yxx"
+ case 75:
+#line 918 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "!";
}
+#line 3654 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 84:
-/* Line 1792 of yacc.c */
-#line 974 "dtool/src/cppparser/cppBison.yxx"
+ case 76:
+#line 922 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "~";
}
+#line 3662 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 85:
-/* Line 1792 of yacc.c */
-#line 978 "dtool/src/cppparser/cppBison.yxx"
+ case 77:
+#line 926 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "*";
}
+#line 3670 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 86:
-/* Line 1792 of yacc.c */
-#line 982 "dtool/src/cppparser/cppBison.yxx"
+ case 78:
+#line 930 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "/";
}
+#line 3678 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 87:
-/* Line 1792 of yacc.c */
-#line 986 "dtool/src/cppparser/cppBison.yxx"
+ case 79:
+#line 934 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "%";
}
+#line 3686 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 88:
-/* Line 1792 of yacc.c */
-#line 990 "dtool/src/cppparser/cppBison.yxx"
+ case 80:
+#line 938 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "+";
}
+#line 3694 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 89:
-/* Line 1792 of yacc.c */
-#line 994 "dtool/src/cppparser/cppBison.yxx"
+ case 81:
+#line 942 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "-";
}
+#line 3702 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 90:
-/* Line 1792 of yacc.c */
-#line 998 "dtool/src/cppparser/cppBison.yxx"
+ case 82:
+#line 946 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "|";
}
+#line 3710 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 91:
-/* Line 1792 of yacc.c */
-#line 1002 "dtool/src/cppparser/cppBison.yxx"
+ case 83:
+#line 950 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&";
}
+#line 3718 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 92:
-/* Line 1792 of yacc.c */
-#line 1006 "dtool/src/cppparser/cppBison.yxx"
+ case 84:
+#line 954 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "^";
}
+#line 3726 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 93:
-/* Line 1792 of yacc.c */
-#line 1010 "dtool/src/cppparser/cppBison.yxx"
+ case 85:
+#line 958 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "||";
}
+#line 3734 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 94:
-/* Line 1792 of yacc.c */
-#line 1014 "dtool/src/cppparser/cppBison.yxx"
+ case 86:
+#line 962 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&&";
}
+#line 3742 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 95:
-/* Line 1792 of yacc.c */
-#line 1018 "dtool/src/cppparser/cppBison.yxx"
+ case 87:
+#line 966 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "==";
}
+#line 3750 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 96:
-/* Line 1792 of yacc.c */
-#line 1022 "dtool/src/cppparser/cppBison.yxx"
+ case 88:
+#line 970 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "!=";
}
+#line 3758 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 97:
-/* Line 1792 of yacc.c */
-#line 1026 "dtool/src/cppparser/cppBison.yxx"
+ case 89:
+#line 974 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<=";
}
+#line 3766 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 98:
-/* Line 1792 of yacc.c */
-#line 1030 "dtool/src/cppparser/cppBison.yxx"
+ case 90:
+#line 978 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">=";
}
+#line 3774 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 99:
-/* Line 1792 of yacc.c */
-#line 1034 "dtool/src/cppparser/cppBison.yxx"
+ case 91:
+#line 982 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<";
}
+#line 3782 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 100:
-/* Line 1792 of yacc.c */
-#line 1038 "dtool/src/cppparser/cppBison.yxx"
+ case 92:
+#line 986 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">";
}
+#line 3790 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 101:
-/* Line 1792 of yacc.c */
-#line 1042 "dtool/src/cppparser/cppBison.yxx"
+ case 93:
+#line 990 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<<";
}
+#line 3798 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 102:
-/* Line 1792 of yacc.c */
-#line 1046 "dtool/src/cppparser/cppBison.yxx"
+ case 94:
+#line 994 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">>";
}
+#line 3806 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 103:
-/* Line 1792 of yacc.c */
-#line 1050 "dtool/src/cppparser/cppBison.yxx"
+ case 95:
+#line 998 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "=";
}
+#line 3814 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 104:
-/* Line 1792 of yacc.c */
-#line 1054 "dtool/src/cppparser/cppBison.yxx"
+ case 96:
+#line 1002 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ",";
}
+#line 3822 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 105:
-/* Line 1792 of yacc.c */
-#line 1058 "dtool/src/cppparser/cppBison.yxx"
+ case 97:
+#line 1006 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "++";
}
+#line 3830 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 106:
-/* Line 1792 of yacc.c */
-#line 1062 "dtool/src/cppparser/cppBison.yxx"
+ case 98:
+#line 1010 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "--";
}
+#line 3838 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 107:
-/* Line 1792 of yacc.c */
-#line 1066 "dtool/src/cppparser/cppBison.yxx"
+ case 99:
+#line 1014 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "*=";
}
+#line 3846 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 108:
-/* Line 1792 of yacc.c */
-#line 1070 "dtool/src/cppparser/cppBison.yxx"
+ case 100:
+#line 1018 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "/=";
}
+#line 3854 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 109:
-/* Line 1792 of yacc.c */
-#line 1074 "dtool/src/cppparser/cppBison.yxx"
+ case 101:
+#line 1022 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "%=";
}
+#line 3862 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 110:
-/* Line 1792 of yacc.c */
-#line 1078 "dtool/src/cppparser/cppBison.yxx"
+ case 102:
+#line 1026 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "+=";
}
+#line 3870 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 111:
-/* Line 1792 of yacc.c */
-#line 1082 "dtool/src/cppparser/cppBison.yxx"
+ case 103:
+#line 1030 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "-=";
}
+#line 3878 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 112:
-/* Line 1792 of yacc.c */
-#line 1086 "dtool/src/cppparser/cppBison.yxx"
+ case 104:
+#line 1034 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "|=";
}
+#line 3886 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 113:
-/* Line 1792 of yacc.c */
-#line 1090 "dtool/src/cppparser/cppBison.yxx"
+ case 105:
+#line 1038 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "&=";
}
+#line 3894 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 114:
-/* Line 1792 of yacc.c */
-#line 1094 "dtool/src/cppparser/cppBison.yxx"
+ case 106:
+#line 1042 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "^=";
}
+#line 3902 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 115:
-/* Line 1792 of yacc.c */
-#line 1098 "dtool/src/cppparser/cppBison.yxx"
+ case 107:
+#line 1046 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "<<=";
}
+#line 3910 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 116:
-/* Line 1792 of yacc.c */
-#line 1102 "dtool/src/cppparser/cppBison.yxx"
+ case 108:
+#line 1050 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = ">>=";
}
+#line 3918 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 117:
-/* Line 1792 of yacc.c */
-#line 1106 "dtool/src/cppparser/cppBison.yxx"
+ case 109:
+#line 1054 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "->";
}
+#line 3926 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 118:
-/* Line 1792 of yacc.c */
-#line 1110 "dtool/src/cppparser/cppBison.yxx"
+ case 110:
+#line 1058 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "[]";
}
+#line 3934 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 119:
-/* Line 1792 of yacc.c */
-#line 1114 "dtool/src/cppparser/cppBison.yxx"
+ case 111:
+#line 1062 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "()";
}
+#line 3942 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 120:
-/* Line 1792 of yacc.c */
-#line 1118 "dtool/src/cppparser/cppBison.yxx"
+ case 112:
+#line 1066 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "new";
}
+#line 3950 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 121:
-/* Line 1792 of yacc.c */
-#line 1122 "dtool/src/cppparser/cppBison.yxx"
+ case 113:
+#line 1070 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.str) = "delete";
}
+#line 3958 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 124:
-/* Line 1792 of yacc.c */
-#line 1134 "dtool/src/cppparser/cppBison.yxx"
+ case 116:
+#line 1082 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
push_scope(new CPPTemplateScope(current_scope));
}
+#line 3966 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 125:
-/* Line 1792 of yacc.c */
-#line 1138 "dtool/src/cppparser/cppBison.yxx"
+ case 117:
+#line 1086 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
}
+#line 3974 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 120:
+#line 1098 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPTemplateScope *ts = current_scope->as_template_scope();
+ assert(ts != NULL);
+ ts->add_template_parameter((yyvsp[0].u.decl));
+}
+#line 3984 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 121:
+#line 1104 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ CPPTemplateScope *ts = current_scope->as_template_scope();
+ assert(ts != NULL);
+ ts->add_template_parameter((yyvsp[0].u.decl));
+}
+#line 3994 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 122:
+#line 1113 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier)));
+}
+#line 4002 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 123:
+#line 1117 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type)));
+}
+#line 4010 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 124:
+#line 1121 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier)));
+}
+#line 4018 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 125:
+#line 1125 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type)));
+}
+#line 4026 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 126:
+#line 1129 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ 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 4036 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 127:
+#line 1135 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (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 4047 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 128:
-/* Line 1792 of yacc.c */
-#line 1150 "dtool/src/cppparser/cppBison.yxx"
+#line 1145 "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));
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 4055 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 129:
-/* Line 1792 of yacc.c */
-#line 1156 "dtool/src/cppparser/cppBison.yxx"
+#line 1149 "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));
+ 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 4064 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 130:
-/* Line 1792 of yacc.c */
-#line 1165 "dtool/src/cppparser/cppBison.yxx"
+#line 1154 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ assert((yyval.u.type) != NULL);
}
+#line 4073 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 131:
-/* Line 1792 of yacc.c */
-#line 1169 "dtool/src/cppparser/cppBison.yxx"
+#line 1163 "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.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
}
+#line 4081 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 132:
-/* Line 1792 of yacc.c */
-#line 1173 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier)));
-}
- break;
-
- case 133:
-/* Line 1792 of yacc.c */
-#line 1177 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type)));
-}
- break;
-
- case 134:
-/* Line 1792 of yacc.c */
-#line 1181 "dtool/src/cppparser/cppBison.yxx"
- {
- 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));
- (yyval.u.decl) = inst;
-}
- break;
-
- case 135:
-/* Line 1792 of yacc.c */
-#line 1187 "dtool/src/cppparser/cppBison.yxx"
- {
- (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));
- (yyval.u.decl) = inst;
-}
- break;
-
- case 136:
-/* Line 1792 of yacc.c */
-#line 1197 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
-}
- break;
-
- case 137:
-/* Line 1792 of yacc.c */
-#line 1201 "dtool/src/cppparser/cppBison.yxx"
- {
- yywarning("Not a type: " + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)]));
- (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
-}
- break;
-
- case 138:
-/* Line 1792 of yacc.c */
-#line 1206 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- assert((yyval.u.type) != NULL);
-}
- break;
-
- case 139:
-/* Line 1792 of yacc.c */
-#line 1215 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
-}
- break;
-
- case 140:
-/* Line 1792 of yacc.c */
-#line 1219 "dtool/src/cppparser/cppBison.yxx"
+#line 1167 "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)]).file);
+ ident = new CPPIdentifier("operator "+(yyvsp[0].str), (yylsp[0]).file);
} 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 4099 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 133:
+#line 1181 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_const);
+}
+#line 4108 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 134:
+#line 1186 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_pointer);
+}
+#line 4117 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 135:
+#line 1191 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_reference);
+}
+#line 4126 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 136:
+#line 1196 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
+}
+#line 4135 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 137:
+#line 1201 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
+}
+#line 4144 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 138:
+#line 1206 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
+}
+#line 4153 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 139:
+#line 1211 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ // bitfield definition. We ignore the bitfield for now.
+ (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident);
+}
+#line 4162 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 140:
+#line 1216 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_paren);
+}
+#line 4171 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 141:
-/* Line 1792 of yacc.c */
-#line 1233 "dtool/src/cppparser/cppBison.yxx"
+#line 1221 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
+ push_scope((yyvsp[-1].u.inst_ident)->get_scope(current_scope, global_scope));
}
+#line 4179 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 142:
-/* Line 1792 of yacc.c */
-#line 1238 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
-}
- break;
-
- case 143:
-/* Line 1792 of yacc.c */
-#line 1243 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
-}
- break;
-
- case 144:
-/* Line 1792 of yacc.c */
-#line 1248 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
-}
- break;
-
- case 145:
-/* Line 1792 of yacc.c */
-#line 1253 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
-}
- break;
-
- case 146:
-/* Line 1792 of yacc.c */
-#line 1258 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 147:
-/* Line 1792 of yacc.c */
-#line 1263 "dtool/src/cppparser/cppBison.yxx"
- {
- // bitfield definition. We ignore the bitfield for now.
- (yyval.u.inst_ident) = (yyvsp[(1) - (3)].u.inst_ident);
-}
- break;
-
- case 148:
-/* Line 1792 of yacc.c */
-#line 1268 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
-}
- break;
-
- case 149:
-/* Line 1792 of yacc.c */
-#line 1273 "dtool/src/cppparser/cppBison.yxx"
- {
- push_scope((yyvsp[(1) - (2)].u.inst_ident)->get_scope(current_scope, global_scope));
-}
- break;
-
- case 150:
-/* Line 1792 of yacc.c */
-#line 1277 "dtool/src/cppparser/cppBison.yxx"
+#line 1225 "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 4197 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 143:
+#line 1243 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = new CPPParameterList;
+}
+#line 4205 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 144:
+#line 1247 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = new CPPParameterList;
+ (yyval.u.param_list)->_includes_ellipsis = true;
+}
+#line 4214 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 145:
+#line 1252 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = (yyvsp[0].u.param_list);
+}
+#line 4222 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 146:
+#line 1256 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
+ (yyval.u.param_list)->_includes_ellipsis = true;
+}
+#line 4231 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 147:
+#line 1261 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = (yyvsp[-1].u.param_list);
+ (yyval.u.param_list)->_includes_ellipsis = true;
+}
+#line 4240 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 148:
+#line 1269 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = new CPPParameterList;
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
+}
+#line 4249 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 149:
+#line 1274 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.param_list) = (yyvsp[-2].u.param_list);
+ (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance));
+}
+#line 4258 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 150:
+#line 1282 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (CPPExpression *)NULL;
+}
+#line 4266 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 151:
-/* Line 1792 of yacc.c */
-#line 1295 "dtool/src/cppparser/cppBison.yxx"
+#line 1286 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = new CPPParameterList;
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 4274 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 152:
-/* Line 1792 of yacc.c */
-#line 1299 "dtool/src/cppparser/cppBison.yxx"
+#line 1293 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = new CPPParameterList;
- (yyval.u.param_list)->_includes_ellipsis = true;
+ (yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 4282 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 153:
-/* Line 1792 of yacc.c */
-#line 1304 "dtool/src/cppparser/cppBison.yxx"
+#line 1297 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 4290 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 154:
-/* Line 1792 of yacc.c */
-#line 1308 "dtool/src/cppparser/cppBison.yxx"
+#line 1304 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
+ (yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 4298 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 155:
-/* Line 1792 of yacc.c */
-#line 1313 "dtool/src/cppparser/cppBison.yxx"
+#line 1308 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list);
- (yyval.u.param_list)->_includes_ellipsis = true;
+ (yyval.u.expr) = (CPPExpression *)NULL;
}
+#line 4306 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 156:
-/* Line 1792 of yacc.c */
-#line 1321 "dtool/src/cppparser/cppBison.yxx"
+#line 1312 "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.expr) = (CPPExpression *)NULL;
}
+#line 4314 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 157:
-/* Line 1792 of yacc.c */
-#line 1326 "dtool/src/cppparser/cppBison.yxx"
+#line 1316 "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.expr) = (yyvsp[-1].u.expr);
}
+#line 4322 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 158:
-/* Line 1792 of yacc.c */
-#line 1334 "dtool/src/cppparser/cppBison.yxx"
+#line 1320 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = (CPPExpression *)NULL;
}
- break;
-
- case 159:
-/* Line 1792 of yacc.c */
-#line 1338 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
-}
- break;
-
- case 160:
-/* Line 1792 of yacc.c */
-#line 1345 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
-}
- break;
-
- case 161:
-/* Line 1792 of yacc.c */
-#line 1349 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
-}
+#line 4330 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 162:
-/* Line 1792 of yacc.c */
-#line 1356 "dtool/src/cppparser/cppBison.yxx"
+#line 1333 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (CPPExpression *)NULL;
-}
- break;
-
- case 163:
-/* Line 1792 of yacc.c */
-#line 1360 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
-}
- break;
-
- case 164:
-/* Line 1792 of yacc.c */
-#line 1364 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (CPPExpression *)NULL;
-}
- break;
-
- case 165:
-/* Line 1792 of yacc.c */
-#line 1368 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
}
+#line 4337 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 166:
-/* Line 1792 of yacc.c */
-#line 1372 "dtool/src/cppparser/cppBison.yxx"
+#line 1342 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (CPPExpression *)NULL;
+ (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 4346 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 170:
-/* Line 1792 of yacc.c */
-#line 1385 "dtool/src/cppparser/cppBison.yxx"
+ case 167:
+#line 1347 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
-}
- break;
-
- case 174:
-/* Line 1792 of yacc.c */
-#line 1394 "dtool/src/cppparser/cppBison.yxx"
- {
- (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));
-}
- break;
-
- case 175:
-/* Line 1792 of yacc.c */
-#line 1399 "dtool/src/cppparser/cppBison.yxx"
- {
- yywarning("Not a type: " + (yyvsp[(1) - (3)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (3)]));
+ yywarning("Not a type: " + (yyvsp[-2].u.identifier)->get_fully_scoped_name(), (yylsp[-2]));
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown));
- (yyval.u.instance) = new CPPInstance(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(type, (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file);
+ (yyval.u.instance)->set_initializer((yyvsp[0].u.expr));
}
+#line 4358 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 176:
-/* Line 1792 of yacc.c */
-#line 1407 "dtool/src/cppparser/cppBison.yxx"
+ case 168:
+#line 1355 "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 4368 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 177:
-/* Line 1792 of yacc.c */
-#line 1413 "dtool/src/cppparser/cppBison.yxx"
+ case 169:
+#line 1361 "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 4379 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 170:
+#line 1371 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
+}
+#line 4387 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 171:
+#line 1375 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
+}
+#line 4395 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 172:
+#line 1379 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
+}
+#line 4403 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 173:
+#line 1383 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_const);
+}
+#line 4412 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 174:
+#line 1388 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_pointer);
+}
+#line 4421 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 175:
+#line 1393 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_reference);
+}
+#line 4430 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 176:
+#line 1398 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
+}
+#line 4439 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 177:
+#line 1403 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
+}
+#line 4448 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 178:
-/* Line 1792 of yacc.c */
-#line 1423 "dtool/src/cppparser/cppBison.yxx"
+#line 1408 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 4457 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 179:
-/* Line 1792 of yacc.c */
-#line 1427 "dtool/src/cppparser/cppBison.yxx"
+#line 1416 "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((CPPIdentifier *)NULL);
}
+#line 4465 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 180:
-/* Line 1792 of yacc.c */
-#line 1431 "dtool/src/cppparser/cppBison.yxx"
+#line 1420 "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 4473 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 181:
-/* Line 1792 of yacc.c */
-#line 1435 "dtool/src/cppparser/cppBison.yxx"
+#line 1424 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[0].u.identifier));
}
+#line 4481 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 182:
-/* Line 1792 of yacc.c */
-#line 1440 "dtool/src/cppparser/cppBison.yxx"
+#line 1428 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_const);
}
+#line 4490 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 183:
-/* Line 1792 of yacc.c */
-#line 1445 "dtool/src/cppparser/cppBison.yxx"
+#line 1433 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_pointer);
}
+#line 4499 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 184:
-/* Line 1792 of yacc.c */
-#line 1450 "dtool/src/cppparser/cppBison.yxx"
+#line 1438 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_reference);
}
+#line 4508 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 185:
-/* Line 1792 of yacc.c */
-#line 1455 "dtool/src/cppparser/cppBison.yxx"
+#line 1443 "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_modifier(IIT_rvalue_reference);
}
+#line 4517 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 186:
-/* Line 1792 of yacc.c */
-#line 1460 "dtool/src/cppparser/cppBison.yxx"
+#line 1448 "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[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
}
+#line 4526 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 187:
-/* Line 1792 of yacc.c */
-#line 1468 "dtool/src/cppparser/cppBison.yxx"
+#line 1453 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
}
+#line 4535 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 188:
-/* Line 1792 of yacc.c */
-#line 1472 "dtool/src/cppparser/cppBison.yxx"
+#line 1458 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
+ (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[-2].u.param_list), (yyvsp[0].u.integer));
}
+#line 4545 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 189:
-/* Line 1792 of yacc.c */
-#line 1476 "dtool/src/cppparser/cppBison.yxx"
+#line 1464 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier));
+ (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_paren);
}
+#line 4554 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 190:
-/* Line 1792 of yacc.c */
-#line 1480 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
-}
- break;
-
- case 191:
-/* Line 1792 of yacc.c */
-#line 1485 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
-}
- break;
-
- case 192:
-/* Line 1792 of yacc.c */
-#line 1490 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
-}
- break;
-
- case 193:
-/* Line 1792 of yacc.c */
-#line 1495 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
-}
- break;
-
- case 194:
-/* Line 1792 of yacc.c */
-#line 1500 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier));
-}
- break;
-
- case 195:
-/* Line 1792 of yacc.c */
-#line 1505 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident);
- (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 196:
-/* Line 1792 of yacc.c */
-#line 1510 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (7)].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));
-}
- break;
-
- case 197:
-/* Line 1792 of yacc.c */
-#line 1516 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_paren);
-}
- break;
-
- case 198:
-/* Line 1792 of yacc.c */
-#line 1524 "dtool/src/cppparser/cppBison.yxx"
+#line 1472 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL);
}
+#line 4562 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 191:
+#line 1476 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_const);
+}
+#line 4571 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 192:
+#line 1481 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_pointer);
+}
+#line 4580 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 193:
+#line 1486 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_reference);
+}
+#line 4589 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 194:
+#line 1491 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
+}
+#line 4598 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 195:
+#line 1496 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident);
+ (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-2].u.identifier));
+}
+#line 4607 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 196:
+#line 1501 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.inst_ident) = (yyvsp[-3].u.inst_ident);
+ (yyval.u.inst_ident)->add_array_modifier((yyvsp[-1].u.expr));
+}
+#line 4616 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 197:
+#line 1506 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (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[-2].u.param_list), (yyvsp[0].u.integer));
+}
+#line 4626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 198:
+#line 1515 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
+}
+#line 4634 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 199:
-/* Line 1792 of yacc.c */
-#line 1528 "dtool/src/cppparser/cppBison.yxx"
+#line 1519 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_const);
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ assert((yyval.u.type) != NULL);
}
+#line 4643 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 200:
-/* Line 1792 of yacc.c */
-#line 1533 "dtool/src/cppparser/cppBison.yxx"
+#line 1524 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_pointer);
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 4651 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 201:
-/* Line 1792 of yacc.c */
-#line 1538 "dtool/src/cppparser/cppBison.yxx"
+#line 1528 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_reference);
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 4659 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 202:
-/* Line 1792 of yacc.c */
-#line 1543 "dtool/src/cppparser/cppBison.yxx"
+#line 1532 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident);
- (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference);
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 4667 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 203:
-/* Line 1792 of yacc.c */
-#line 1548 "dtool/src/cppparser/cppBison.yxx"
+#line 1536 "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.type) = CPPType::new_type((yyvsp[0].u.enum_type));
}
+#line 4675 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 204:
-/* Line 1792 of yacc.c */
-#line 1553 "dtool/src/cppparser/cppBison.yxx"
+#line 1540 "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));
+ 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].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
+ ->as_extension_type();
+ 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 4695 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 205:
-/* Line 1792 of yacc.c */
-#line 1558 "dtool/src/cppparser/cppBison.yxx"
+#line 1556 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.inst_ident) = (yyvsp[(2) - (7)].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));
+ 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[-3].u.extension_enum), (yyvsp[-2].u.identifier), current_scope, (yylsp[-3]).file))
+ ->as_extension_type();
+ 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 4715 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 206:
-/* Line 1792 of yacc.c */
-#line 1567 "dtool/src/cppparser/cppBison.yxx"
+#line 1575 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 4723 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 207:
-/* Line 1792 of yacc.c */
-#line 1571 "dtool/src/cppparser/cppBison.yxx"
+#line 1579 "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);
- assert((yyval.u.type) != NULL);
+ (yyval.u.decl) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ assert((yyval.u.decl) != NULL);
}
+#line 4732 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 208:
-/* Line 1792 of yacc.c */
-#line 1576 "dtool/src/cppparser/cppBison.yxx"
+#line 1584 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 4740 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 209:
-/* Line 1792 of yacc.c */
-#line 1580 "dtool/src/cppparser/cppBison.yxx"
+#line 1588 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type));
}
+#line 4748 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 210:
-/* Line 1792 of yacc.c */
-#line 1584 "dtool/src/cppparser/cppBison.yxx"
+#line 1592 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type)));
}
+#line 4756 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 211:
-/* Line 1792 of yacc.c */
-#line 1588 "dtool/src/cppparser/cppBison.yxx"
+#line 1596 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type));
+ (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type)));
}
+#line 4764 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 212:
-/* Line 1792 of yacc.c */
-#line 1592 "dtool/src/cppparser/cppBison.yxx"
+#line 1600 "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;
+ (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.type) = et;
+ (yyval.u.decl) = et;
}
}
+#line 4784 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 213:
-/* Line 1792 of yacc.c */
-#line 1608 "dtool/src/cppparser/cppBison.yxx"
+#line 1616 "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;
+ (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.type) = et;
+ (yyval.u.decl) = et;
}
}
+#line 4804 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 214:
-/* Line 1792 of yacc.c */
-#line 1627 "dtool/src/cppparser/cppBison.yxx"
+#line 1632 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
+ yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[-1]));
+
+ 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].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
+ ->as_extension_type();
+ 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 4826 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 215:
-/* Line 1792 of yacc.c */
-#line 1631 "dtool/src/cppparser/cppBison.yxx"
+#line 1653 "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);
- assert((yyval.u.decl) != NULL);
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
}
+#line 4834 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 216:
-/* Line 1792 of yacc.c */
-#line 1636 "dtool/src/cppparser/cppBison.yxx"
+#line 1657 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ assert((yyval.u.type) != NULL);
}
+#line 4843 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 217:
-/* Line 1792 of yacc.c */
-#line 1640 "dtool/src/cppparser/cppBison.yxx"
+#line 1662 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type));
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
}
+#line 4851 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 218:
-/* Line 1792 of yacc.c */
-#line 1644 "dtool/src/cppparser/cppBison.yxx"
+#line 1666 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)));
+ 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].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
+ ->as_extension_type();
+ 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 4871 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 219:
-/* Line 1792 of yacc.c */
-#line 1648 "dtool/src/cppparser/cppBison.yxx"
+#line 1682 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)));
+ 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].u.extension_enum), (yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file))
+ ->as_extension_type();
+ 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 4891 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 220:
-/* Line 1792 of yacc.c */
-#line 1652 "dtool/src/cppparser/cppBison.yxx"
+#line 1701 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (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) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
+ CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[-1]).file);
+ (yyval.u.type) = inst->_type;
+ delete inst;
}
+#line 4901 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 221:
-/* Line 1792 of yacc.c */
-#line 1668 "dtool/src/cppparser/cppBison.yxx"
+#line 1707 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPType *type = (yyvsp[(2) - (4)].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))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (4)].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
+ (yyvsp[0].u.inst_ident)->add_modifier(IIT_const);
+ CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[-2]).file);
+ (yyval.u.type) = inst->_type;
+ delete inst;
}
+#line 4912 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 222:
-/* Line 1792 of yacc.c */
-#line 1684 "dtool/src/cppparser/cppBison.yxx"
- {
- yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[(2) - (2)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (2)]));
-
- CPPType *type = (yyvsp[(2) - (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) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.decl) = et;
- }
-}
- break;
-
- case 223:
-/* Line 1792 of yacc.c */
-#line 1705 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
-}
- break;
-
- case 224:
-/* Line 1792 of yacc.c */
-#line 1709 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- assert((yyval.u.type) != NULL);
-}
- break;
-
- case 225:
-/* Line 1792 of yacc.c */
-#line 1714 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
-}
- break;
-
- case 226:
-/* Line 1792 of yacc.c */
-#line 1718 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPType *type = (yyvsp[(2) - (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) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
-}
- break;
-
- case 227:
-/* Line 1792 of yacc.c */
-#line 1734 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPType *type = (yyvsp[(2) - (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) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file))
- ->as_extension_type();
- CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope);
- if (scope != NULL) {
- scope->define_extension_type(et);
- }
- (yyval.u.type) = et;
- }
-}
- break;
-
- case 228:
-/* Line 1792 of yacc.c */
-#line 1753 "dtool/src/cppparser/cppBison.yxx"
- {
- CPPInstance *inst = new CPPInstance((yyvsp[(1) - (2)].u.type), (yyvsp[(2) - (2)].u.inst_ident), 0, (yylsp[(1) - (2)]).file);
- (yyval.u.type) = inst->_type;
- delete inst;
-}
- break;
-
- case 229:
-/* Line 1792 of yacc.c */
-#line 1759 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyvsp[(3) - (3)].u.inst_ident)->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance((yyvsp[(2) - (3)].u.type), (yyvsp[(3) - (3)].u.inst_ident), 0, (yylsp[(1) - (3)]).file);
- (yyval.u.type) = inst->_type;
- delete inst;
-}
- break;
-
- case 230:
-/* Line 1792 of yacc.c */
-#line 1769 "dtool/src/cppparser/cppBison.yxx"
+#line 1717 "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 4930 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 231:
-/* Line 1792 of yacc.c */
-#line 1783 "dtool/src/cppparser/cppBison.yxx"
+ case 223:
+#line 1731 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.struct_type) = current_struct;
current_struct->_incomplete = false;
pop_struct();
pop_scope();
}
+#line 4941 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 232:
-/* Line 1792 of yacc.c */
-#line 1793 "dtool/src/cppparser/cppBison.yxx"
+ case 224:
+#line 1741 "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 4965 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 233:
-/* Line 1792 of yacc.c */
-#line 1813 "dtool/src/cppparser/cppBison.yxx"
+ case 225:
+#line 1761 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.struct_type) = current_struct;
current_struct->_incomplete = false;
pop_struct();
pop_scope();
}
+#line 4976 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 230:
+#line 1781 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, false);
+}
+#line 4984 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 231:
+#line 1785 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, false);
+}
+#line 4992 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 232:
+#line 1789 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_private, false);
+}
+#line 5000 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 233:
+#line 1793 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
+}
+#line 5008 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 234:
+#line 1797 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
+}
+#line 5016 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 235:
+#line 1801 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_private, true);
+}
+#line 5024 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 236:
+#line 1805 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_public, true);
+}
+#line 5032 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 237:
+#line 1809 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_struct->append_derivation((yyvsp[0].u.type), V_protected, true);
+}
+#line 5040 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 238:
-/* Line 1792 of yacc.c */
-#line 1833 "dtool/src/cppparser/cppBison.yxx"
+#line 1813 "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_private, true);
}
+#line 5048 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 239:
-/* Line 1792 of yacc.c */
-#line 1837 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false);
-}
- break;
-
- case 240:
-/* Line 1792 of yacc.c */
-#line 1841 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false);
-}
- break;
-
- case 241:
-/* Line 1792 of yacc.c */
-#line 1845 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true);
-}
- break;
-
- case 242:
-/* Line 1792 of yacc.c */
-#line 1849 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true);
-}
- break;
-
- case 243:
-/* Line 1792 of yacc.c */
-#line 1853 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true);
-}
- break;
-
- case 244:
-/* Line 1792 of yacc.c */
-#line 1857 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true);
-}
- break;
-
- case 245:
-/* Line 1792 of yacc.c */
-#line 1861 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true);
-}
- break;
-
- case 246:
-/* Line 1792 of yacc.c */
-#line 1865 "dtool/src/cppparser/cppBison.yxx"
- {
- current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true);
-}
- break;
-
- case 247:
-/* Line 1792 of yacc.c */
-#line 1872 "dtool/src/cppparser/cppBison.yxx"
+#line 1820 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.enum_type) = current_enum;
current_enum = NULL;
}
+#line 5057 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 240:
+#line 1828 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_enum = new CPPEnumType((yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, (yylsp[-3]).file);
+}
+#line 5065 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 241:
+#line 1832 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_enum = new CPPEnumType((yyvsp[0].u.identifier), current_scope, (yylsp[-1]).file);
+}
+#line 5073 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 242:
+#line 1836 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_enum = new CPPEnumType(NULL, (yyvsp[0].u.type), current_scope, (yylsp[-2]).file);
+}
+#line 5081 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 243:
+#line 1840 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ current_enum = new CPPEnumType(NULL, current_scope, (yylsp[0]).file);
+}
+#line 5089 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 244:
+#line 1847 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type));
+}
+#line 5097 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 245:
+#line 1851 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+}
+#line 5105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 247:
+#line 1859 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ assert(current_enum != NULL);
+ CPPInstance *inst = current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name());
+ current_scope->add_enum_value(inst, current_lexer, (yylsp[-1]));
+}
+#line 5115 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 248:
-/* Line 1792 of yacc.c */
-#line 1880 "dtool/src/cppparser/cppBison.yxx"
+#line 1865 "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);
-}
- break;
-
- case 249:
-/* Line 1792 of yacc.c */
-#line 1884 "dtool/src/cppparser/cppBison.yxx"
- {
- current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file);
+ assert(current_enum != NULL);
+ CPPInstance *inst = current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr));
+ current_scope->add_enum_value(inst, current_lexer, (yylsp[-3]));
}
+#line 5125 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 250:
-/* Line 1792 of yacc.c */
-#line 1888 "dtool/src/cppparser/cppBison.yxx"
+#line 1874 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file);
+ assert(current_enum != NULL);
+ CPPInstance *inst = current_enum->add_element((yyvsp[0].u.identifier)->get_simple_name());
+ current_scope->add_enum_value(inst, current_lexer, (yylsp[0]));
}
+#line 5135 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 251:
-/* Line 1792 of yacc.c */
-#line 1892 "dtool/src/cppparser/cppBison.yxx"
+#line 1880 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file);
+ assert(current_enum != NULL);
+ CPPInstance *inst = current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), (yyvsp[0].u.expr));
+ current_scope->add_enum_value(inst, current_lexer, (yylsp[-2]));
}
+#line 5145 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 252:
-/* Line 1792 of yacc.c */
-#line 1899 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type));
-}
- break;
-
- case 253:
-/* Line 1792 of yacc.c */
-#line 1903 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
-}
- break;
-
- case 255:
-/* Line 1792 of yacc.c */
-#line 1911 "dtool/src/cppparser/cppBison.yxx"
- {
- 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)]));
-}
- break;
-
- case 256:
-/* Line 1792 of yacc.c */
-#line 1917 "dtool/src/cppparser/cppBison.yxx"
- {
- 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)]));
-}
- break;
-
- case 258:
-/* Line 1792 of yacc.c */
-#line 1926 "dtool/src/cppparser/cppBison.yxx"
- {
- 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)]));
-}
- break;
-
- case 259:
-/* Line 1792 of yacc.c */
-#line 1932 "dtool/src/cppparser/cppBison.yxx"
- {
- 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)]));
-}
- break;
-
- case 260:
-/* Line 1792 of yacc.c */
-#line 1941 "dtool/src/cppparser/cppBison.yxx"
+#line 1889 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.extension_enum) = CPPExtensionType::T_enum;
}
+#line 5153 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 261:
-/* Line 1792 of yacc.c */
-#line 1948 "dtool/src/cppparser/cppBison.yxx"
+ case 253:
+#line 1896 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.extension_enum) = CPPExtensionType::T_class;
}
+#line 5161 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 262:
-/* Line 1792 of yacc.c */
-#line 1952 "dtool/src/cppparser/cppBison.yxx"
+ case 254:
+#line 1900 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.extension_enum) = CPPExtensionType::T_struct;
}
+#line 5169 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 263:
-/* Line 1792 of yacc.c */
-#line 1956 "dtool/src/cppparser/cppBison.yxx"
+ case 255:
+#line 1904 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.extension_enum) = CPPExtensionType::T_union;
}
+#line 5177 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 264:
-/* Line 1792 of yacc.c */
-#line 1963 "dtool/src/cppparser/cppBison.yxx"
+ case 256:
+#line 1911 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPScope *scope = (yyvsp[(2) - (3)].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[(2) - (3)].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[(2) - (3)].u.identifier)->_names.back(), V_public);
+ scope = new CPPScope(parent_scope, (yyvsp[-1].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)]));
+ 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 5199 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 265:
-/* Line 1792 of yacc.c */
-#line 1981 "dtool/src/cppparser/cppBison.yxx"
+ case 257:
+#line 1929 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
pop_scope();
}
+#line 5207 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 267:
-/* Line 1792 of yacc.c */
-#line 1989 "dtool/src/cppparser/cppBison.yxx"
+ case 259:
+#line 1937 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPUsing *using_decl = new CPPUsing((yyvsp[(2) - (2)].u.identifier), false, (yylsp[(1) - (2)]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (2)]));
+ CPPUsing *using_decl = new CPPUsing((yyvsp[0].u.identifier), false, (yylsp[-1]).file);
+ current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-1]));
current_scope->add_using(using_decl, global_scope, current_lexer);
}
+#line 5217 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 268:
-/* Line 1792 of yacc.c */
-#line 1995 "dtool/src/cppparser/cppBison.yxx"
+ case 260:
+#line 1943 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- CPPUsing *using_decl = new CPPUsing((yyvsp[(3) - (3)].u.identifier), true, (yylsp[(1) - (3)]).file);
- current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (3)]));
+ CPPUsing *using_decl = new CPPUsing((yyvsp[0].u.identifier), true, (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 5227 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 272:
-/* Line 1792 of yacc.c */
-#line 2010 "dtool/src/cppparser/cppBison.yxx"
+ case 264:
+#line 1958 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool);
}
+#line 5235 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 273:
-/* Line 1792 of yacc.c */
-#line 2014 "dtool/src/cppparser/cppBison.yxx"
+ case 265:
+#line 1962 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char);
}
+#line 5243 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 274:
-/* Line 1792 of yacc.c */
-#line 2018 "dtool/src/cppparser/cppBison.yxx"
+ case 266:
+#line 1966 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t);
}
+#line 5251 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 275:
-/* Line 1792 of yacc.c */
-#line 2022 "dtool/src/cppparser/cppBison.yxx"
+ case 267:
+#line 1970 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t);
}
+#line 5259 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 276:
-/* Line 1792 of yacc.c */
-#line 2026 "dtool/src/cppparser/cppBison.yxx"
+ case 268:
+#line 1974 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t);
}
+#line 5267 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 277:
-/* Line 1792 of yacc.c */
-#line 2030 "dtool/src/cppparser/cppBison.yxx"
+ case 269:
+#line 1978 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_short);
}
+#line 5276 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 278:
-/* Line 1792 of yacc.c */
-#line 2035 "dtool/src/cppparser/cppBison.yxx"
+ case 270:
+#line 1983 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_long);
}
+#line 5285 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 279:
-/* Line 1792 of yacc.c */
-#line 2040 "dtool/src/cppparser/cppBison.yxx"
+ case 271:
+#line 1988 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_longlong);
}
+#line 5294 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 280:
-/* Line 1792 of yacc.c */
-#line 2045 "dtool/src/cppparser/cppBison.yxx"
+ case 272:
+#line 1993 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_unsigned);
}
+#line 5303 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 281:
-/* Line 1792 of yacc.c */
-#line 2050 "dtool/src/cppparser/cppBison.yxx"
+ case 273:
+#line 1998 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int,
CPPSimpleType::F_signed);
}
+#line 5312 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 282:
-/* Line 1792 of yacc.c */
-#line 2055 "dtool/src/cppparser/cppBison.yxx"
+ case 274:
+#line 2003 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int);
}
+#line 5320 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 283:
-/* Line 1792 of yacc.c */
-#line 2059 "dtool/src/cppparser/cppBison.yxx"
+ case 275:
+#line 2007 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
(yyval.u.simple_type)->_flags |= CPPSimpleType::F_short;
}
+#line 5329 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 284:
-/* Line 1792 of yacc.c */
-#line 2064 "dtool/src/cppparser/cppBison.yxx"
+ case 276:
+#line 2012 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
+ (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;
}
}
+#line 5342 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 285:
-/* Line 1792 of yacc.c */
-#line 2073 "dtool/src/cppparser/cppBison.yxx"
+ case 277:
+#line 2021 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
(yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned;
}
+#line 5351 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 286:
-/* Line 1792 of yacc.c */
-#line 2078 "dtool/src/cppparser/cppBison.yxx"
+ case 278:
+#line 2026 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type);
+ (yyval.u.simple_type) = (yyvsp[0].u.simple_type);
(yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed;
}
+#line 5360 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 287:
-/* Line 1792 of yacc.c */
-#line 2086 "dtool/src/cppparser/cppBison.yxx"
+ case 279:
+#line 2034 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float);
}
+#line 5368 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 288:
-/* Line 1792 of yacc.c */
-#line 2090 "dtool/src/cppparser/cppBison.yxx"
+ case 280:
+#line 2038 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float,
CPPSimpleType::F_long);
}
+#line 5377 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 289:
-/* Line 1792 of yacc.c */
-#line 2095 "dtool/src/cppparser/cppBison.yxx"
+ case 281:
+#line 2043 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double);
}
+#line 5385 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 290:
-/* Line 1792 of yacc.c */
-#line 2099 "dtool/src/cppparser/cppBison.yxx"
+ case 282:
+#line 2047 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float,
CPPSimpleType::F_longlong);
}
+#line 5394 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 291:
-/* Line 1792 of yacc.c */
-#line 2104 "dtool/src/cppparser/cppBison.yxx"
+ case 283:
+#line 2052 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double,
CPPSimpleType::F_long);
}
+#line 5403 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 292:
-/* Line 1792 of yacc.c */
-#line 2112 "dtool/src/cppparser/cppBison.yxx"
+ case 284:
+#line 2060 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void);
}
+#line 5411 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 293:
-/* Line 1792 of yacc.c */
-#line 2121 "dtool/src/cppparser/cppBison.yxx"
+ case 285:
+#line 2069 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_lexer->_resolve_identifiers = false;
}
+#line 5419 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 294:
-/* Line 1792 of yacc.c */
-#line 2125 "dtool/src/cppparser/cppBison.yxx"
+ case 286:
+#line 2073 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
current_lexer->_resolve_identifiers = true;
}
+#line 5427 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 381:
-/* Line 1792 of yacc.c */
-#line 2163 "dtool/src/cppparser/cppBison.yxx"
+ case 373:
+#line 2111 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
}
+#line 5434 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 397:
+#line 2120 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (CPPExpression *)NULL;
+}
+#line 5442 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 398:
+#line 2124 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 5450 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 399:
+#line 2131 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (CPPExpression *)NULL;
+}
+#line 5458 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 400:
+#line 2135 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 5466 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 401:
+#line 2142 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 5474 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 402:
+#line 2146 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
+}
+#line 5482 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 403:
+#line 2153 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+}
+#line 5490 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 404:
+#line 2157 "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 5498 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 405:
-/* Line 1792 of yacc.c */
-#line 2172 "dtool/src/cppparser/cppBison.yxx"
+#line 2161 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (CPPExpression *)NULL;
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 5506 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 406:
-/* Line 1792 of yacc.c */
-#line 2176 "dtool/src/cppparser/cppBison.yxx"
+#line 2165 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 5514 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 407:
-/* Line 1792 of yacc.c */
-#line 2183 "dtool/src/cppparser/cppBison.yxx"
+#line 2169 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (CPPExpression *)NULL;
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
}
+#line 5522 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 408:
-/* Line 1792 of yacc.c */
-#line 2187 "dtool/src/cppparser/cppBison.yxx"
+#line 2173 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
}
+#line 5530 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 409:
-/* Line 1792 of yacc.c */
-#line 2194 "dtool/src/cppparser/cppBison.yxx"
+#line 2177 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
}
+#line 5538 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 410:
-/* Line 1792 of yacc.c */
-#line 2198 "dtool/src/cppparser/cppBison.yxx"
+#line 2181 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
+ if ((yyvsp[0].u.expr)->_type == CPPExpression::T_integer) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
+ } else if ((yyvsp[0].u.expr)->_type == CPPExpression::T_real) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
+ } else {
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
+ }
}
+#line 5554 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 411:
-/* Line 1792 of yacc.c */
-#line 2205 "dtool/src/cppparser/cppBison.yxx"
+#line 2193 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
}
+#line 5562 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 412:
-/* Line 1792 of yacc.c */
-#line 2209 "dtool/src/cppparser/cppBison.yxx"
+#line 2197 "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(UNARY_REF, (yyvsp[0].u.expr));
}
+#line 5570 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 413:
-/* Line 1792 of yacc.c */
-#line 2213 "dtool/src/cppparser/cppBison.yxx"
+#line 2201 "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)));
+ (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5578 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 414:
-/* Line 1792 of yacc.c */
-#line 2217 "dtool/src/cppparser/cppBison.yxx"
+#line 2205 "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)));
+ (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5586 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 415:
-/* Line 1792 of yacc.c */
-#line 2221 "dtool/src/cppparser/cppBison.yxx"
+#line 2209 "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('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5594 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 416:
-/* Line 1792 of yacc.c */
-#line 2225 "dtool/src/cppparser/cppBison.yxx"
+#line 2213 "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('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5602 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 417:
-/* Line 1792 of yacc.c */
-#line 2229 "dtool/src/cppparser/cppBison.yxx"
+#line 2217 "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('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5610 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 418:
-/* Line 1792 of yacc.c */
-#line 2233 "dtool/src/cppparser/cppBison.yxx"
+#line 2221 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
- } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
- } else {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
- }
+ (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5618 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 419:
-/* Line 1792 of yacc.c */
-#line 2245 "dtool/src/cppparser/cppBison.yxx"
+#line 2225 "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('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5626 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 420:
-/* Line 1792 of yacc.c */
-#line 2249 "dtool/src/cppparser/cppBison.yxx"
+#line 2229 "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('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5634 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 421:
-/* Line 1792 of yacc.c */
-#line 2253 "dtool/src/cppparser/cppBison.yxx"
+#line 2233 "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(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5642 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 422:
-/* Line 1792 of yacc.c */
-#line 2257 "dtool/src/cppparser/cppBison.yxx"
+#line 2237 "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(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5650 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 423:
-/* Line 1792 of yacc.c */
-#line 2261 "dtool/src/cppparser/cppBison.yxx"
+#line 2241 "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(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5658 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 424:
-/* Line 1792 of yacc.c */
-#line 2265 "dtool/src/cppparser/cppBison.yxx"
+#line 2245 "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(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5666 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 425:
-/* Line 1792 of yacc.c */
-#line 2269 "dtool/src/cppparser/cppBison.yxx"
+#line 2249 "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 5674 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 426:
-/* Line 1792 of yacc.c */
-#line 2273 "dtool/src/cppparser/cppBison.yxx"
+#line 2253 "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 5682 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 427:
-/* Line 1792 of yacc.c */
-#line 2277 "dtool/src/cppparser/cppBison.yxx"
+#line 2257 "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(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5690 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 428:
-/* Line 1792 of yacc.c */
-#line 2281 "dtool/src/cppparser/cppBison.yxx"
+#line 2261 "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(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5698 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 429:
-/* Line 1792 of yacc.c */
-#line 2285 "dtool/src/cppparser/cppBison.yxx"
+#line 2265 "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[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5706 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 430:
-/* Line 1792 of yacc.c */
-#line 2289 "dtool/src/cppparser/cppBison.yxx"
+#line 2269 "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[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 5714 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 431:
-/* Line 1792 of yacc.c */
-#line 2293 "dtool/src/cppparser/cppBison.yxx"
+#line 2273 "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('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 5722 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 432:
-/* Line 1792 of yacc.c */
-#line 2297 "dtool/src/cppparser/cppBison.yxx"
+#line 2277 "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('f', (yyvsp[-2].u.expr));
}
+#line 5730 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 433:
-/* Line 1792 of yacc.c */
-#line 2301 "dtool/src/cppparser/cppBison.yxx"
+#line 2281 "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('.', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5738 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 434:
-/* Line 1792 of yacc.c */
-#line 2305 "dtool/src/cppparser/cppBison.yxx"
+#line 2285 "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(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 5746 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 435:
-/* Line 1792 of yacc.c */
-#line 2309 "dtool/src/cppparser/cppBison.yxx"
+#line 2289 "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) = (yyvsp[-1].u.expr);
}
+#line 5754 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 436:
-/* Line 1792 of yacc.c */
-#line 2313 "dtool/src/cppparser/cppBison.yxx"
+#line 2297 "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) = (yyvsp[0].u.expr);
}
+#line 5762 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 437:
-/* Line 1792 of yacc.c */
-#line 2317 "dtool/src/cppparser/cppBison.yxx"
+#line 2301 "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(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
}
+#line 5770 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 438:
-/* Line 1792 of yacc.c */
-#line 2321 "dtool/src/cppparser/cppBison.yxx"
+#line 2305 "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(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 5778 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 439:
-/* Line 1792 of yacc.c */
-#line 2325 "dtool/src/cppparser/cppBison.yxx"
+#line 2309 "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(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 5786 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 440:
-/* Line 1792 of yacc.c */
-#line 2329 "dtool/src/cppparser/cppBison.yxx"
+#line 2313 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr));
+ // A constructor call.
+ CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
+ assert(type != NULL);
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5797 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 441:
-/* Line 1792 of yacc.c */
-#line 2333 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 442:
-/* Line 1792 of yacc.c */
-#line 2337 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 443:
-/* Line 1792 of yacc.c */
-#line 2341 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
-}
- break;
-
- case 444:
-/* Line 1792 of yacc.c */
-#line 2349 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
-}
- break;
-
- case 445:
-/* Line 1792 of yacc.c */
-#line 2353 "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 446:
-/* Line 1792 of yacc.c */
-#line 2357 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr)));
-}
- break;
-
- case 447:
-/* Line 1792 of yacc.c */
-#line 2361 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr)));
-}
- break;
-
- case 448:
-/* Line 1792 of yacc.c */
-#line 2365 "dtool/src/cppparser/cppBison.yxx"
- {
- // A constructor call.
- CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer);
- assert(type != NULL);
- (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr)));
-}
- break;
-
- case 449:
-/* Line 1792 of yacc.c */
-#line 2372 "dtool/src/cppparser/cppBison.yxx"
+#line 2320 "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::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5807 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 450:
-/* Line 1792 of yacc.c */
-#line 2378 "dtool/src/cppparser/cppBison.yxx"
+ case 442:
+#line 2326 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5817 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 451:
-/* Line 1792 of yacc.c */
-#line 2384 "dtool/src/cppparser/cppBison.yxx"
+ case 443:
+#line 2332 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5827 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 452:
-/* Line 1792 of yacc.c */
-#line 2390 "dtool/src/cppparser/cppBison.yxx"
+ case 444:
+#line 2338 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5837 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 453:
-/* Line 1792 of yacc.c */
-#line 2396 "dtool/src/cppparser/cppBison.yxx"
+ case 445:
+#line 2344 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5847 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 454:
-/* Line 1792 of yacc.c */
-#line 2402 "dtool/src/cppparser/cppBison.yxx"
+ case 446:
+#line 2350 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5857 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 455:
-/* Line 1792 of yacc.c */
-#line 2408 "dtool/src/cppparser/cppBison.yxx"
+ case 447:
+#line 2356 "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 5868 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 456:
-/* Line 1792 of yacc.c */
-#line 2415 "dtool/src/cppparser/cppBison.yxx"
+ case 448:
+#line 2363 "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 5879 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 457:
-/* Line 1792 of yacc.c */
-#line 2422 "dtool/src/cppparser/cppBison.yxx"
+ case 449:
+#line 2370 "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 5890 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 458:
-/* Line 1792 of yacc.c */
-#line 2429 "dtool/src/cppparser/cppBison.yxx"
+ case 450:
+#line 2377 "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)));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr)));
}
+#line 5901 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 459:
-/* Line 1792 of yacc.c */
-#line 2436 "dtool/src/cppparser/cppBison.yxx"
+ case 451:
+#line 2384 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
CPPType *type =
CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float));
- (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 5911 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 460:
-/* Line 1792 of yacc.c */
-#line 2442 "dtool/src/cppparser/cppBison.yxx"
+ case 452:
+#line 2390 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
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 5921 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 453:
+#line 2396 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
+}
+#line 5929 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 454:
+#line 2400 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
+}
+#line 5937 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 455:
+#line 2404 "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 5945 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 456:
+#line 2408 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr));
+}
+#line 5953 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 457:
+#line 2412 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
+}
+#line 5961 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 458:
+#line 2416 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ if ((yyvsp[0].u.expr)->_type == CPPExpression::T_integer) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
+ } else if ((yyvsp[0].u.expr)->_type == CPPExpression::T_real) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
+ } else {
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
+ }
+}
+#line 5977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 459:
+#line 2428 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr));
+}
+#line 5985 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 460:
+#line 2432 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
+}
+#line 5993 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 461:
-/* Line 1792 of yacc.c */
-#line 2448 "dtool/src/cppparser/cppBison.yxx"
+#line 2436 "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('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6001 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 462:
-/* Line 1792 of yacc.c */
-#line 2452 "dtool/src/cppparser/cppBison.yxx"
+#line 2440 "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('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6009 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 463:
-/* Line 1792 of yacc.c */
-#line 2456 "dtool/src/cppparser/cppBison.yxx"
+#line 2444 "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('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6017 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 464:
-/* Line 1792 of yacc.c */
-#line 2460 "dtool/src/cppparser/cppBison.yxx"
+#line 2448 "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('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6025 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 465:
-/* Line 1792 of yacc.c */
-#line 2464 "dtool/src/cppparser/cppBison.yxx"
+#line 2452 "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('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6033 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 466:
-/* Line 1792 of yacc.c */
-#line 2468 "dtool/src/cppparser/cppBison.yxx"
+#line 2456 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
- } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
- } else {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
- }
+ (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6041 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 467:
-/* Line 1792 of yacc.c */
-#line 2480 "dtool/src/cppparser/cppBison.yxx"
+#line 2460 "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('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6049 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 468:
-/* Line 1792 of yacc.c */
-#line 2484 "dtool/src/cppparser/cppBison.yxx"
+#line 2464 "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('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6057 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 469:
-/* Line 1792 of yacc.c */
-#line 2488 "dtool/src/cppparser/cppBison.yxx"
+#line 2468 "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(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6065 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 470:
-/* Line 1792 of yacc.c */
-#line 2492 "dtool/src/cppparser/cppBison.yxx"
+#line 2472 "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(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6073 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 471:
-/* Line 1792 of yacc.c */
-#line 2496 "dtool/src/cppparser/cppBison.yxx"
+#line 2476 "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(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6081 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 472:
-/* Line 1792 of yacc.c */
-#line 2500 "dtool/src/cppparser/cppBison.yxx"
+#line 2480 "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(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6089 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 473:
-/* Line 1792 of yacc.c */
-#line 2504 "dtool/src/cppparser/cppBison.yxx"
+#line 2484 "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 6097 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 474:
-/* Line 1792 of yacc.c */
-#line 2508 "dtool/src/cppparser/cppBison.yxx"
+#line 2488 "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 6105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 475:
-/* Line 1792 of yacc.c */
-#line 2512 "dtool/src/cppparser/cppBison.yxx"
+#line 2492 "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 6113 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 476:
-/* Line 1792 of yacc.c */
-#line 2516 "dtool/src/cppparser/cppBison.yxx"
+#line 2496 "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 6121 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 477:
-/* Line 1792 of yacc.c */
-#line 2520 "dtool/src/cppparser/cppBison.yxx"
+#line 2500 "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(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6129 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 478:
-/* Line 1792 of yacc.c */
-#line 2524 "dtool/src/cppparser/cppBison.yxx"
+#line 2504 "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(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6137 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 479:
-/* Line 1792 of yacc.c */
-#line 2528 "dtool/src/cppparser/cppBison.yxx"
+#line 2508 "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('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6145 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 480:
-/* Line 1792 of yacc.c */
-#line 2532 "dtool/src/cppparser/cppBison.yxx"
+#line 2512 "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('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6153 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 481:
-/* Line 1792 of yacc.c */
-#line 2536 "dtool/src/cppparser/cppBison.yxx"
+#line 2516 "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('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6161 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 482:
-/* Line 1792 of yacc.c */
-#line 2540 "dtool/src/cppparser/cppBison.yxx"
+#line 2520 "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('f', (yyvsp[-2].u.expr));
}
+#line 6169 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 483:
-/* Line 1792 of yacc.c */
-#line 2544 "dtool/src/cppparser/cppBison.yxx"
+#line 2524 "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 6177 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 484:
-/* Line 1792 of yacc.c */
-#line 2548 "dtool/src/cppparser/cppBison.yxx"
+#line 2528 "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(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6185 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 485:
-/* Line 1792 of yacc.c */
-#line 2552 "dtool/src/cppparser/cppBison.yxx"
+#line 2532 "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) = (yyvsp[-1].u.expr);
}
+#line 6193 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 486:
-/* Line 1792 of yacc.c */
-#line 2556 "dtool/src/cppparser/cppBison.yxx"
+#line 2539 "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[0].u.integer));
}
+#line 6201 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 487:
-/* Line 1792 of yacc.c */
-#line 2560 "dtool/src/cppparser/cppBison.yxx"
+#line 2543 "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(true);
}
+#line 6209 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 488:
-/* Line 1792 of yacc.c */
-#line 2564 "dtool/src/cppparser/cppBison.yxx"
+#line 2547 "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(false);
}
+#line 6217 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 489:
-/* Line 1792 of yacc.c */
-#line 2568 "dtool/src/cppparser/cppBison.yxx"
+#line 2551 "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[0].u.integer));
}
+#line 6225 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 490:
-/* Line 1792 of yacc.c */
-#line 2572 "dtool/src/cppparser/cppBison.yxx"
+#line 2555 "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[0].u.real));
}
+#line 6233 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 491:
-/* Line 1792 of yacc.c */
-#line 2576 "dtool/src/cppparser/cppBison.yxx"
+#line 2559 "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[0].str));
}
+#line 6241 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 492:
-/* Line 1792 of yacc.c */
-#line 2580 "dtool/src/cppparser/cppBison.yxx"
+#line 2563 "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((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer);
}
+#line 6249 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 493:
-/* Line 1792 of yacc.c */
-#line 2584 "dtool/src/cppparser/cppBison.yxx"
+#line 2577 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
+ (yyval.u.expr) = (yyvsp[0].u.expr);
}
+#line 6257 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 494:
-/* Line 1792 of yacc.c */
-#line 2591 "dtool/src/cppparser/cppBison.yxx"
+#line 2581 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr)));
}
+#line 6265 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 495:
-/* Line 1792 of yacc.c */
-#line 2595 "dtool/src/cppparser/cppBison.yxx"
+#line 2585 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(true);
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 6273 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 496:
-/* Line 1792 of yacc.c */
-#line 2599 "dtool/src/cppparser/cppBison.yxx"
+#line 2589 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression(false);
+ (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr)));
}
+#line 6281 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 497:
-/* Line 1792 of yacc.c */
-#line 2603 "dtool/src/cppparser/cppBison.yxx"
+#line 2593 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type)));
}
+#line 6289 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 498:
-/* Line 1792 of yacc.c */
-#line 2607 "dtool/src/cppparser/cppBison.yxx"
+#line 2597 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type)));
}
+#line 6297 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 499:
-/* Line 1792 of yacc.c */
-#line 2611 "dtool/src/cppparser/cppBison.yxx"
+#line 2601 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str));
+ (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr)));
}
+#line 6305 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 500:
-/* Line 1792 of yacc.c */
-#line 2615 "dtool/src/cppparser/cppBison.yxx"
+#line 2605 "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(UNARY_NOT, (yyvsp[0].u.expr));
}
+#line 6313 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 501:
-/* Line 1792 of yacc.c */
-#line 2629 "dtool/src/cppparser/cppBison.yxx"
+#line 2609 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr);
+ (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr));
}
+#line 6321 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 502:
-/* Line 1792 of yacc.c */
-#line 2633 "dtool/src/cppparser/cppBison.yxx"
+#line 2613 "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)));
+ if ((yyvsp[0].u.expr)->_type == CPPExpression::T_integer) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
+ } else if ((yyvsp[0].u.expr)->_type == CPPExpression::T_real) {
+ (yyval.u.expr) = (yyvsp[0].u.expr);
+ (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
+ } else {
+ (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr));
+ }
}
+#line 6337 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 503:
-/* Line 1792 of yacc.c */
-#line 2637 "dtool/src/cppparser/cppBison.yxx"
+#line 2625 "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)));
+ (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr));
}
+#line 6345 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 504:
-/* Line 1792 of yacc.c */
-#line 2641 "dtool/src/cppparser/cppBison.yxx"
+#line 2629 "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)));
+ (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6353 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 505:
-/* Line 1792 of yacc.c */
-#line 2645 "dtool/src/cppparser/cppBison.yxx"
+#line 2633 "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('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6361 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 506:
-/* Line 1792 of yacc.c */
-#line 2649 "dtool/src/cppparser/cppBison.yxx"
+#line 2637 "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('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6369 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 507:
-/* Line 1792 of yacc.c */
-#line 2653 "dtool/src/cppparser/cppBison.yxx"
+#line 2641 "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('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6377 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 508:
-/* Line 1792 of yacc.c */
-#line 2657 "dtool/src/cppparser/cppBison.yxx"
+#line 2645 "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('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6385 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 509:
-/* Line 1792 of yacc.c */
-#line 2661 "dtool/src/cppparser/cppBison.yxx"
+#line 2649 "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('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6393 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 510:
-/* Line 1792 of yacc.c */
-#line 2665 "dtool/src/cppparser/cppBison.yxx"
+#line 2653 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer;
- } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) {
- (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr);
- (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real;
- } else {
- (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr));
- }
+ (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6401 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 511:
-/* Line 1792 of yacc.c */
-#line 2677 "dtool/src/cppparser/cppBison.yxx"
+#line 2657 "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('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6409 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 512:
-/* Line 1792 of yacc.c */
-#line 2681 "dtool/src/cppparser/cppBison.yxx"
+#line 2661 "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(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6417 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 513:
-/* Line 1792 of yacc.c */
-#line 2685 "dtool/src/cppparser/cppBison.yxx"
+#line 2665 "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(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6425 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 514:
-/* Line 1792 of yacc.c */
-#line 2689 "dtool/src/cppparser/cppBison.yxx"
+#line 2669 "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(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6433 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 515:
-/* Line 1792 of yacc.c */
-#line 2693 "dtool/src/cppparser/cppBison.yxx"
+#line 2673 "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(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6441 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 516:
-/* Line 1792 of yacc.c */
-#line 2697 "dtool/src/cppparser/cppBison.yxx"
+#line 2677 "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 6449 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 517:
-/* Line 1792 of yacc.c */
-#line 2701 "dtool/src/cppparser/cppBison.yxx"
+#line 2681 "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 6457 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 518:
-/* Line 1792 of yacc.c */
-#line 2705 "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) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6465 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 519:
-/* Line 1792 of yacc.c */
-#line 2709 "dtool/src/cppparser/cppBison.yxx"
+#line 2689 "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 6473 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 520:
-/* Line 1792 of yacc.c */
-#line 2713 "dtool/src/cppparser/cppBison.yxx"
+#line 2693 "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(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6481 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 521:
-/* Line 1792 of yacc.c */
-#line 2717 "dtool/src/cppparser/cppBison.yxx"
+#line 2697 "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(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6489 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 522:
-/* Line 1792 of yacc.c */
-#line 2721 "dtool/src/cppparser/cppBison.yxx"
+#line 2701 "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('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6497 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 523:
-/* Line 1792 of yacc.c */
-#line 2725 "dtool/src/cppparser/cppBison.yxx"
+#line 2705 "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('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6505 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 524:
-/* Line 1792 of yacc.c */
-#line 2729 "dtool/src/cppparser/cppBison.yxx"
+#line 2709 "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('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr));
}
+#line 6513 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 525:
-/* Line 1792 of yacc.c */
-#line 2733 "dtool/src/cppparser/cppBison.yxx"
+#line 2713 "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('f', (yyvsp[-2].u.expr));
}
+#line 6521 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 526:
-/* Line 1792 of yacc.c */
-#line 2737 "dtool/src/cppparser/cppBison.yxx"
+#line 2717 "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 6529 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 527:
-/* Line 1792 of yacc.c */
-#line 2741 "dtool/src/cppparser/cppBison.yxx"
+#line 2721 "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(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr));
}
+#line 6537 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 528:
-/* Line 1792 of yacc.c */
-#line 2745 "dtool/src/cppparser/cppBison.yxx"
+#line 2725 "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) = (yyvsp[-1].u.expr);
}
+#line 6545 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 529:
-/* Line 1792 of yacc.c */
-#line 2749 "dtool/src/cppparser/cppBison.yxx"
+#line 2732 "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[0].u.integer));
}
+#line 6553 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 530:
-/* Line 1792 of yacc.c */
-#line 2753 "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 531:
-/* Line 1792 of yacc.c */
-#line 2757 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 532:
-/* Line 1792 of yacc.c */
-#line 2761 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr));
-}
- break;
-
- case 533:
-/* Line 1792 of yacc.c */
-#line 2765 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr));
-}
- break;
-
- case 534:
-/* Line 1792 of yacc.c */
-#line 2769 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 535:
-/* Line 1792 of yacc.c */
-#line 2773 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr));
-}
- break;
-
- case 536:
-/* Line 1792 of yacc.c */
-#line 2777 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr);
-}
- break;
-
- case 537:
-/* Line 1792 of yacc.c */
-#line 2784 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
-}
- break;
-
- case 538:
-/* Line 1792 of yacc.c */
-#line 2788 "dtool/src/cppparser/cppBison.yxx"
+#line 2736 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(true);
}
+#line 6561 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
- case 539:
-/* Line 1792 of yacc.c */
-#line 2792 "dtool/src/cppparser/cppBison.yxx"
+ case 531:
+#line 2740 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
(yyval.u.expr) = new CPPExpression(false);
}
+#line 6569 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 532:
+#line 2744 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer));
+}
+#line 6577 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 533:
+#line 2748 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real));
+}
+#line 6585 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 534:
+#line 2752 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.expr) = new CPPExpression((yyvsp[0].str));
+}
+#line 6593 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 535:
+#line 2759 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ 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 6605 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 536:
+#line 2767 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ 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 6617 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 537:
+#line 2775 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier)));
+}
+#line 6625 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 538:
+#line 2798 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
+}
+#line 6633 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
+ break;
+
+ case 539:
+#line 2802 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
+ {
+ (yyval.u.identifier) = (yyvsp[0].u.identifier);
+}
+#line 6641 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 540:
-/* Line 1792 of yacc.c */
-#line 2796 "dtool/src/cppparser/cppBison.yxx"
+#line 2809 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer));
+ (yyval.str) = (yyvsp[0].str);
}
+#line 6649 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
case 541:
-/* Line 1792 of yacc.c */
-#line 2800 "dtool/src/cppparser/cppBison.yxx"
+#line 2813 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
{
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real));
-}
- break;
-
- case 542:
-/* Line 1792 of yacc.c */
-#line 2804 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str));
-}
- break;
-
- case 543:
-/* Line 1792 of yacc.c */
-#line 2811 "dtool/src/cppparser/cppBison.yxx"
- {
- 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;
-}
- break;
-
- case 544:
-/* Line 1792 of yacc.c */
-#line 2819 "dtool/src/cppparser/cppBison.yxx"
- {
- 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;
-}
- break;
-
- case 545:
-/* Line 1792 of yacc.c */
-#line 2827 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier)));
-}
- break;
-
- case 546:
-/* Line 1792 of yacc.c */
-#line 2850 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
-}
- break;
-
- case 547:
-/* Line 1792 of yacc.c */
-#line 2854 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier);
-}
- break;
-
- case 548:
-/* Line 1792 of yacc.c */
-#line 2861 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.str) = (yyvsp[(1) - (1)].str);
-}
- break;
-
- case 549:
-/* Line 1792 of yacc.c */
-#line 2865 "dtool/src/cppparser/cppBison.yxx"
- {
- (yyval.str) = (yyvsp[(1) - (2)].str) + (yyvsp[(2) - (2)].str);
+ (yyval.str) = (yyvsp[-1].str) + (yyvsp[0].str);
}
+#line 6657 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
break;
-/* Line 1792 of yacc.c */
-#line 7133 "built/tmp/cppBison.yxx.c"
+#line 6661 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
@@ -7152,7 +6680,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. */
@@ -7167,9 +6695,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. */
@@ -7220,20 +6748,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
@@ -7253,7 +6781,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;
@@ -7266,29 +6794,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);
@@ -7344,14 +6872,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
@@ -7362,8 +6890,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 491ce5dc46..5232fee336 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,117 +40,116 @@
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,
- STRING = 261,
- SIMPLE_IDENTIFIER = 262,
- IDENTIFIER = 263,
- TYPENAME_IDENTIFIER = 264,
- SCOPING = 265,
- TYPEDEFNAME = 266,
- ELLIPSIS = 267,
- OROR = 268,
- ANDAND = 269,
- EQCOMPARE = 270,
- NECOMPARE = 271,
- LECOMPARE = 272,
- GECOMPARE = 273,
- LSHIFT = 274,
- RSHIFT = 275,
- POINTSAT_STAR = 276,
- DOT_STAR = 277,
- UNARY = 278,
- UNARY_NOT = 279,
- UNARY_NEGATE = 280,
- UNARY_MINUS = 281,
- UNARY_STAR = 282,
- UNARY_REF = 283,
- POINTSAT = 284,
- SCOPE = 285,
- PLUSPLUS = 286,
- MINUSMINUS = 287,
- TIMESEQUAL = 288,
- DIVIDEEQUAL = 289,
- MODEQUAL = 290,
- PLUSEQUAL = 291,
- MINUSEQUAL = 292,
- OREQUAL = 293,
- ANDEQUAL = 294,
- XOREQUAL = 295,
- LSHIFTEQUAL = 296,
- RSHIFTEQUAL = 297,
- KW_BEGIN_PUBLISH = 298,
- KW_BLOCKING = 299,
- KW_BOOL = 300,
- KW_CATCH = 301,
- KW_CHAR = 302,
- KW_CHAR16_T = 303,
- KW_CHAR32_T = 304,
- KW_CLASS = 305,
- KW_CONST = 306,
- KW_DELETE = 307,
- KW_DOUBLE = 308,
- KW_DYNAMIC_CAST = 309,
- KW_ELSE = 310,
- KW_END_PUBLISH = 311,
- KW_ENUM = 312,
- KW_EXTENSION = 313,
- KW_EXTERN = 314,
- KW_EXPLICIT = 315,
- KW_PUBLISHED = 316,
- KW_FALSE = 317,
- KW_FLOAT = 318,
- KW_FRIEND = 319,
- KW_FOR = 320,
- KW_GOTO = 321,
- KW_IF = 322,
- KW_INLINE = 323,
- KW_INT = 324,
- KW_LONG = 325,
- KW_LONGLONG = 326,
- KW_MAKE_PROPERTY = 327,
- KW_MAKE_SEQ = 328,
- KW_MUTABLE = 329,
- KW_NAMESPACE = 330,
- KW_NEW = 331,
- KW_NOEXCEPT = 332,
- KW_OPERATOR = 333,
- KW_PRIVATE = 334,
- KW_PROTECTED = 335,
- KW_PUBLIC = 336,
- KW_REGISTER = 337,
- KW_RETURN = 338,
- KW_SHORT = 339,
- KW_SIGNED = 340,
- KW_SIZEOF = 341,
- KW_STATIC = 342,
- KW_STATIC_CAST = 343,
- KW_STRUCT = 344,
- KW_TEMPLATE = 345,
- KW_THROW = 346,
- KW_TRUE = 347,
- KW_TRY = 348,
- KW_TYPEDEF = 349,
- KW_TYPENAME = 350,
- KW_UNION = 351,
- KW_UNSIGNED = 352,
- KW_USING = 353,
- KW_VIRTUAL = 354,
- KW_VOID = 355,
- KW_VOLATILE = 356,
- KW_WCHAR_T = 357,
- KW_WHILE = 358,
- START_CPP = 359,
- START_CONST_EXPR = 360,
- START_TYPE = 361
- };
+ enum yytokentype
+ {
+ REAL = 258,
+ INTEGER = 259,
+ CHAR_TOK = 260,
+ STRING = 261,
+ SIMPLE_IDENTIFIER = 262,
+ IDENTIFIER = 263,
+ TYPENAME_IDENTIFIER = 264,
+ SCOPING = 265,
+ TYPEDEFNAME = 266,
+ ELLIPSIS = 267,
+ OROR = 268,
+ ANDAND = 269,
+ EQCOMPARE = 270,
+ NECOMPARE = 271,
+ LECOMPARE = 272,
+ GECOMPARE = 273,
+ LSHIFT = 274,
+ RSHIFT = 275,
+ POINTSAT_STAR = 276,
+ DOT_STAR = 277,
+ UNARY = 278,
+ UNARY_NOT = 279,
+ UNARY_NEGATE = 280,
+ UNARY_MINUS = 281,
+ UNARY_STAR = 282,
+ UNARY_REF = 283,
+ POINTSAT = 284,
+ SCOPE = 285,
+ PLUSPLUS = 286,
+ MINUSMINUS = 287,
+ TIMESEQUAL = 288,
+ DIVIDEEQUAL = 289,
+ MODEQUAL = 290,
+ PLUSEQUAL = 291,
+ MINUSEQUAL = 292,
+ OREQUAL = 293,
+ ANDEQUAL = 294,
+ XOREQUAL = 295,
+ LSHIFTEQUAL = 296,
+ RSHIFTEQUAL = 297,
+ KW_BEGIN_PUBLISH = 298,
+ KW_BLOCKING = 299,
+ KW_BOOL = 300,
+ KW_CATCH = 301,
+ KW_CHAR = 302,
+ KW_CHAR16_T = 303,
+ KW_CHAR32_T = 304,
+ KW_CLASS = 305,
+ KW_CONST = 306,
+ KW_DELETE = 307,
+ KW_DOUBLE = 308,
+ KW_DYNAMIC_CAST = 309,
+ KW_ELSE = 310,
+ KW_END_PUBLISH = 311,
+ KW_ENUM = 312,
+ KW_EXTENSION = 313,
+ KW_EXTERN = 314,
+ KW_EXPLICIT = 315,
+ KW_PUBLISHED = 316,
+ KW_FALSE = 317,
+ KW_FLOAT = 318,
+ KW_FRIEND = 319,
+ KW_FOR = 320,
+ KW_GOTO = 321,
+ KW_IF = 322,
+ KW_INLINE = 323,
+ KW_INT = 324,
+ KW_LONG = 325,
+ KW_LONGLONG = 326,
+ KW_MAKE_PROPERTY = 327,
+ KW_MAKE_SEQ = 328,
+ KW_MUTABLE = 329,
+ KW_NAMESPACE = 330,
+ KW_NEW = 331,
+ KW_NOEXCEPT = 332,
+ KW_OPERATOR = 333,
+ KW_PRIVATE = 334,
+ KW_PROTECTED = 335,
+ KW_PUBLIC = 336,
+ KW_REGISTER = 337,
+ KW_RETURN = 338,
+ KW_SHORT = 339,
+ KW_SIGNED = 340,
+ KW_SIZEOF = 341,
+ KW_STATIC = 342,
+ KW_STATIC_CAST = 343,
+ KW_STRUCT = 344,
+ KW_TEMPLATE = 345,
+ KW_THROW = 346,
+ KW_TRUE = 347,
+ KW_TRY = 348,
+ KW_TYPEDEF = 349,
+ KW_TYPENAME = 350,
+ KW_UNION = 351,
+ KW_UNSIGNED = 352,
+ KW_USING = 353,
+ KW_VIRTUAL = 354,
+ KW_VOID = 355,
+ KW_VOLATILE = 356,
+ KW_WCHAR_T = 357,
+ KW_WHILE = 358,
+ START_CPP = 359,
+ START_CONST_EXPR = 360,
+ START_TYPE = 361
+ };
#endif
/* Tokens. */
#define REAL 258
@@ -258,40 +257,24 @@ extern int cppyydebug;
#define START_CONST_EXPR 360
#define START_TYPE 361
+/* 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 a557a61a6d..518f2a6cbb 100644
--- a/dtool/src/cppparser/cppBison.yxx
+++ b/dtool/src/cppparser/cppBison.yxx
@@ -537,6 +537,11 @@ storage_class:
empty
{
$$ = 0;
+}
+ | storage_class KW_CONST
+{
+ // This isn't really a storage class, but it helps with parsing.
+ $$ = $1 | (int)CPPInstance::SC_const;
}
| storage_class KW_EXTERN
{
@@ -592,9 +597,20 @@ storage_class:
;
type_like_declaration:
- multiple_var_declaration
+ storage_class type_decl
{
- /* multiple_var_declaration adds itself to the scope. */
+ // We don't need to push/pop type, because we can't nest
+ // multiple_var_declarations.
+ if ($2->as_type_declaration()) {
+ current_type = $2->as_type_declaration()->_type;
+ } else {
+ current_type = $2->as_type();
+ }
+ push_storage_class($1);
+}
+ multiple_instance_identifiers
+{
+ pop_storage_class();
}
| storage_class type_decl ';'
{
@@ -613,36 +629,6 @@ type_like_declaration:
$2->set_initializer($3);
}
}
- ;
-
-multiple_var_declaration:
- storage_class type_decl
-{
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- if ($2->as_type_declaration()) {
- current_type = $2->as_type_declaration()->_type;
- } else {
- current_type = $2->as_type();
- }
- push_storage_class($1);
-}
- multiple_instance_identifiers
-{
- pop_storage_class();
-}
- | storage_class KW_CONST type
-{
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- current_type = $3;
- push_storage_class($1);
-}
- multiple_const_instance_identifiers
-{
- pop_storage_class();
-}
-
/* We don't need to include a rule for variables that point to
functions, because we get those from the function_prototype
definition. */
@@ -651,6 +637,9 @@ multiple_var_declaration:
multiple_instance_identifiers:
instance_identifier maybe_initialize_or_function_body
{
+ if (current_storage_class & CPPInstance::SC_const) {
+ $1->add_modifier(IIT_const);
+ }
CPPInstance *inst = new CPPInstance(current_type, $1,
current_storage_class,
@1.file);
@@ -659,6 +648,9 @@ multiple_instance_identifiers:
}
| instance_identifier maybe_initialize ',' multiple_instance_identifiers
{
+ if (current_storage_class & CPPInstance::SC_const) {
+ $1->add_modifier(IIT_const);
+ }
CPPInstance *inst = new CPPInstance(current_type, $1,
current_storage_class,
@1.file);
@@ -667,28 +659,6 @@ multiple_instance_identifiers:
}
;
-multiple_const_instance_identifiers:
- instance_identifier maybe_initialize_or_function_body
-{
- $1->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance(current_type, $1,
- current_storage_class,
- @1.file);
- inst->set_initializer($2);
- current_scope->add_declaration(inst, global_scope, current_lexer, @1);
-}
- | instance_identifier maybe_initialize ',' multiple_const_instance_identifiers
-{
- $1->add_modifier(IIT_const);
- CPPInstance *inst = new CPPInstance(current_type, $1,
- current_storage_class,
- @1.file);
- inst->set_initializer($2);
- current_scope->add_declaration(inst, global_scope, current_lexer, @1);
-}
- ;
-
-
typedef_declaration:
storage_class type_decl
{
@@ -704,17 +674,6 @@ typedef_declaration:
typedef_instance_identifiers
{
pop_storage_class();
-}
- | storage_class KW_CONST type
-{
- // We don't need to push/pop type, because we can't nest
- // multiple_var_declarations.
- current_type = $3;
- push_storage_class($1);
-}
- typedef_const_instance_identifiers
-{
- pop_storage_class();
}
| storage_class function_prototype maybe_initialize_or_function_body
{
@@ -733,29 +692,18 @@ typedef_declaration:
typedef_instance_identifiers:
instance_identifier maybe_initialize_or_function_body
{
+ if (current_storage_class & CPPInstance::SC_const) {
+ $1->add_modifier(IIT_const);
+ }
CPPType *target_type = current_type;
CPPTypedefType *typedef_type = new CPPTypedefType(target_type, $1, current_scope, @1.file);
current_scope->add_declaration(typedef_type, global_scope, current_lexer, @1);
}
| instance_identifier maybe_initialize ',' typedef_instance_identifiers
{
- CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, $1, current_scope, @1.file);
- current_scope->add_declaration(typedef_type, global_scope, current_lexer, @1);
-}
- ;
-
-typedef_const_instance_identifiers:
- instance_identifier maybe_initialize_or_function_body
-{
- $1->add_modifier(IIT_const);
- CPPType *target_type = current_type;
- CPPTypedefType *typedef_type = new CPPTypedefType(target_type, $1, current_scope, @1.file);
- current_scope->add_declaration(typedef_type, global_scope, current_lexer, @1);
-}
- | instance_identifier maybe_initialize ',' typedef_const_instance_identifiers
-{
- $1->add_modifier(IIT_const);
+ if (current_storage_class & CPPInstance::SC_const) {
+ $1->add_modifier(IIT_const);
+ }
CPPType *target_type = current_type;
CPPTypedefType *typedef_type = new CPPTypedefType(target_type, $1, current_scope, @1.file);
current_scope->add_declaration(typedef_type, global_scope, current_lexer, @1);
diff --git a/dtool/src/cppparser/cppInstance.h b/dtool/src/cppparser/cppInstance.h
index e2ecbc0ced..b53c84c8c6 100644
--- a/dtool/src/cppparser/cppInstance.h
+++ b/dtool/src/cppparser/cppInstance.h
@@ -60,6 +60,10 @@ public:
// And this is for methods tagged with __extension, which declares
// extension methods defined separately from the source code.
SC_extension = 0x1000,
+
+ // This isn't really a storage class. It's only used temporarily by the
+ // parser, to make parsing specifier sequences a bit easier.
+ SC_const = 0x20000,
};
CPPInstance(CPPType *type, const string &name, int storage_class = 0);