summaryrefslogtreecommitdiff
path: root/ext/ripper/ripper.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ripper/ripper.c')
-rw-r--r--ext/ripper/ripper.c2987
1 files changed, 1091 insertions, 1896 deletions
diff --git a/ext/ripper/ripper.c b/ext/ripper/ripper.c
index 40bd701..6b34695 100644
--- a/ext/ripper/ripper.c
+++ b/ext/ripper/ripper.c
@@ -1,21 +1,24 @@
-/* A Bison parser, made by GNU Bison 2.5. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ 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.
-
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -26,7 +29,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 +47,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.5"
+#define YYBISON_VERSION "2.3"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -52,20 +55,261 @@
/* Pure parsers. */
#define YYPURE 1
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
/* Using locations. */
#define YYLSP_NEEDED 0
-/* Copy the first part of user declarations. */
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ keyword_class = 258,
+ keyword_module = 259,
+ keyword_def = 260,
+ keyword_undef = 261,
+ keyword_begin = 262,
+ keyword_rescue = 263,
+ keyword_ensure = 264,
+ keyword_end = 265,
+ keyword_if = 266,
+ keyword_unless = 267,
+ keyword_then = 268,
+ keyword_elsif = 269,
+ keyword_else = 270,
+ keyword_case = 271,
+ keyword_when = 272,
+ keyword_while = 273,
+ keyword_until = 274,
+ keyword_for = 275,
+ keyword_break = 276,
+ keyword_next = 277,
+ keyword_redo = 278,
+ keyword_retry = 279,
+ keyword_in = 280,
+ keyword_do = 281,
+ keyword_do_cond = 282,
+ keyword_do_block = 283,
+ keyword_do_LAMBDA = 284,
+ keyword_return = 285,
+ keyword_yield = 286,
+ keyword_super = 287,
+ keyword_self = 288,
+ keyword_nil = 289,
+ keyword_true = 290,
+ keyword_false = 291,
+ keyword_and = 292,
+ keyword_or = 293,
+ keyword_not = 294,
+ modifier_if = 295,
+ modifier_unless = 296,
+ modifier_while = 297,
+ modifier_until = 298,
+ modifier_rescue = 299,
+ keyword_alias = 300,
+ keyword_defined = 301,
+ keyword_BEGIN = 302,
+ keyword_END = 303,
+ keyword__LINE__ = 304,
+ keyword__FILE__ = 305,
+ keyword__ENCODING__ = 306,
+ tIDENTIFIER = 307,
+ tFID = 308,
+ tGVAR = 309,
+ tIVAR = 310,
+ tCONSTANT = 311,
+ tCVAR = 312,
+ tLABEL = 313,
+ tINTEGER = 314,
+ tFLOAT = 315,
+ tSTRING_CONTENT = 316,
+ tCHAR = 317,
+ tNTH_REF = 318,
+ tBACK_REF = 319,
+ tREGEXP_END = 320,
+ tUPLUS = 321,
+ tUMINUS = 322,
+ tPOW = 323,
+ tCMP = 324,
+ tEQ = 325,
+ tEQQ = 326,
+ tNEQ = 327,
+ tGEQ = 328,
+ tLEQ = 329,
+ tANDOP = 330,
+ tOROP = 331,
+ tMATCH = 332,
+ tNMATCH = 333,
+ tDOT2 = 334,
+ tDOT3 = 335,
+ tAREF = 336,
+ tASET = 337,
+ tLSHFT = 338,
+ tRSHFT = 339,
+ tCOLON2 = 340,
+ tCOLON3 = 341,
+ tOP_ASGN = 342,
+ tASSOC = 343,
+ tLPAREN = 344,
+ tLPAREN_ARG = 345,
+ tRPAREN = 346,
+ tLBRACK = 347,
+ tLBRACE = 348,
+ tLBRACE_ARG = 349,
+ tSTAR = 350,
+ tAMPER = 351,
+ tLAMBDA = 352,
+ tSYMBEG = 353,
+ tSTRING_BEG = 354,
+ tXSTRING_BEG = 355,
+ tREGEXP_BEG = 356,
+ tWORDS_BEG = 357,
+ tQWORDS_BEG = 358,
+ tSTRING_DBEG = 359,
+ tSTRING_DVAR = 360,
+ tSTRING_END = 361,
+ tLAMBEG = 362,
+ tLOWEST = 363,
+ tUMINUS_NUM = 364,
+ idNULL = 365,
+ idRespond_to = 366,
+ idIFUNC = 367,
+ idCFUNC = 368,
+ id_core_set_method_alias = 369,
+ id_core_set_variable_alias = 370,
+ id_core_undef_method = 371,
+ id_core_define_method = 372,
+ id_core_define_singleton_method = 373,
+ id_core_set_postexe = 374,
+ tLAST_TOKEN = 375
+ };
+#endif
+/* Tokens. */
+#define keyword_class 258
+#define keyword_module 259
+#define keyword_def 260
+#define keyword_undef 261
+#define keyword_begin 262
+#define keyword_rescue 263
+#define keyword_ensure 264
+#define keyword_end 265
+#define keyword_if 266
+#define keyword_unless 267
+#define keyword_then 268
+#define keyword_elsif 269
+#define keyword_else 270
+#define keyword_case 271
+#define keyword_when 272
+#define keyword_while 273
+#define keyword_until 274
+#define keyword_for 275
+#define keyword_break 276
+#define keyword_next 277
+#define keyword_redo 278
+#define keyword_retry 279
+#define keyword_in 280
+#define keyword_do 281
+#define keyword_do_cond 282
+#define keyword_do_block 283
+#define keyword_do_LAMBDA 284
+#define keyword_return 285
+#define keyword_yield 286
+#define keyword_super 287
+#define keyword_self 288
+#define keyword_nil 289
+#define keyword_true 290
+#define keyword_false 291
+#define keyword_and 292
+#define keyword_or 293
+#define keyword_not 294
+#define modifier_if 295
+#define modifier_unless 296
+#define modifier_while 297
+#define modifier_until 298
+#define modifier_rescue 299
+#define keyword_alias 300
+#define keyword_defined 301
+#define keyword_BEGIN 302
+#define keyword_END 303
+#define keyword__LINE__ 304
+#define keyword__FILE__ 305
+#define keyword__ENCODING__ 306
+#define tIDENTIFIER 307
+#define tFID 308
+#define tGVAR 309
+#define tIVAR 310
+#define tCONSTANT 311
+#define tCVAR 312
+#define tLABEL 313
+#define tINTEGER 314
+#define tFLOAT 315
+#define tSTRING_CONTENT 316
+#define tCHAR 317
+#define tNTH_REF 318
+#define tBACK_REF 319
+#define tREGEXP_END 320
+#define tUPLUS 321
+#define tUMINUS 322
+#define tPOW 323
+#define tCMP 324
+#define tEQ 325
+#define tEQQ 326
+#define tNEQ 327
+#define tGEQ 328
+#define tLEQ 329
+#define tANDOP 330
+#define tOROP 331
+#define tMATCH 332
+#define tNMATCH 333
+#define tDOT2 334
+#define tDOT3 335
+#define tAREF 336
+#define tASET 337
+#define tLSHFT 338
+#define tRSHFT 339
+#define tCOLON2 340
+#define tCOLON3 341
+#define tOP_ASGN 342
+#define tASSOC 343
+#define tLPAREN 344
+#define tLPAREN_ARG 345
+#define tRPAREN 346
+#define tLBRACK 347
+#define tLBRACE 348
+#define tLBRACE_ARG 349
+#define tSTAR 350
+#define tAMPER 351
+#define tLAMBDA 352
+#define tSYMBEG 353
+#define tSTRING_BEG 354
+#define tXSTRING_BEG 355
+#define tREGEXP_BEG 356
+#define tWORDS_BEG 357
+#define tQWORDS_BEG 358
+#define tSTRING_DBEG 359
+#define tSTRING_DVAR 360
+#define tSTRING_END 361
+#define tLAMBEG 362
+#define tLOWEST 363
+#define tUMINUS_NUM 364
+#define idNULL 365
+#define idRespond_to 366
+#define idIFUNC 367
+#define idCFUNC 368
+#define id_core_set_method_alias 369
+#define id_core_set_variable_alias 370
+#define id_core_undef_method 371
+#define id_core_define_method 372
+#define id_core_define_singleton_method 373
+#define id_core_set_postexe 374
+#define tLAST_TOKEN 375
+
+
-/* Line 268 of yacc.c */
+
+/* Copy the first part of user declarations. */
#line 12 "ripper.y"
@@ -668,9 +912,6 @@ static void token_info_pop(struct parser_params*, const char *token);
#endif
-/* Line 268 of yacc.c */
-#line 673 "parse.c"
-
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
@@ -689,165 +930,31 @@ static void token_info_pop(struct parser_params*, const char *token);
# define YYTOKEN_TABLE 0
#endif
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- keyword_class = 258,
- keyword_module = 259,
- keyword_def = 260,
- keyword_undef = 261,
- keyword_begin = 262,
- keyword_rescue = 263,
- keyword_ensure = 264,
- keyword_end = 265,
- keyword_if = 266,
- keyword_unless = 267,
- keyword_then = 268,
- keyword_elsif = 269,
- keyword_else = 270,
- keyword_case = 271,
- keyword_when = 272,
- keyword_while = 273,
- keyword_until = 274,
- keyword_for = 275,
- keyword_break = 276,
- keyword_next = 277,
- keyword_redo = 278,
- keyword_retry = 279,
- keyword_in = 280,
- keyword_do = 281,
- keyword_do_cond = 282,
- keyword_do_block = 283,
- keyword_do_LAMBDA = 284,
- keyword_return = 285,
- keyword_yield = 286,
- keyword_super = 287,
- keyword_self = 288,
- keyword_nil = 289,
- keyword_true = 290,
- keyword_false = 291,
- keyword_and = 292,
- keyword_or = 293,
- keyword_not = 294,
- modifier_if = 295,
- modifier_unless = 296,
- modifier_while = 297,
- modifier_until = 298,
- modifier_rescue = 299,
- keyword_alias = 300,
- keyword_defined = 301,
- keyword_BEGIN = 302,
- keyword_END = 303,
- keyword__LINE__ = 304,
- keyword__FILE__ = 305,
- keyword__ENCODING__ = 306,
- tIDENTIFIER = 307,
- tFID = 308,
- tGVAR = 309,
- tIVAR = 310,
- tCONSTANT = 311,
- tCVAR = 312,
- tLABEL = 313,
- tINTEGER = 314,
- tFLOAT = 315,
- tSTRING_CONTENT = 316,
- tCHAR = 317,
- tNTH_REF = 318,
- tBACK_REF = 319,
- tREGEXP_END = 320,
- tUPLUS = 321,
- tUMINUS = 322,
- tPOW = 323,
- tCMP = 324,
- tEQ = 325,
- tEQQ = 326,
- tNEQ = 327,
- tGEQ = 328,
- tLEQ = 329,
- tANDOP = 330,
- tOROP = 331,
- tMATCH = 332,
- tNMATCH = 333,
- tDOT2 = 334,
- tDOT3 = 335,
- tAREF = 336,
- tASET = 337,
- tLSHFT = 338,
- tRSHFT = 339,
- tCOLON2 = 340,
- tCOLON3 = 341,
- tOP_ASGN = 342,
- tASSOC = 343,
- tLPAREN = 344,
- tLPAREN_ARG = 345,
- tRPAREN = 346,
- tLBRACK = 347,
- tLBRACE = 348,
- tLBRACE_ARG = 349,
- tSTAR = 350,
- tAMPER = 351,
- tLAMBDA = 352,
- tSYMBEG = 353,
- tSTRING_BEG = 354,
- tXSTRING_BEG = 355,
- tREGEXP_BEG = 356,
- tWORDS_BEG = 357,
- tQWORDS_BEG = 358,
- tSTRING_DBEG = 359,
- tSTRING_DVAR = 360,
- tSTRING_END = 361,
- tLAMBEG = 362,
- tLOWEST = 363,
- tUMINUS_NUM = 364,
- idNULL = 365,
- idRespond_to = 366,
- idIFUNC = 367,
- idCFUNC = 368,
- id_core_set_method_alias = 369,
- id_core_set_variable_alias = 370,
- id_core_undef_method = 371,
- id_core_define_method = 372,
- id_core_define_singleton_method = 373,
- id_core_set_postexe = 374,
- tLAST_TOKEN = 375
- };
-#endif
-
-
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-{
-
-/* Line 293 of yacc.c */
#line 616 "ripper.y"
-
+{
VALUE val;
NODE *node;
ID id;
int num;
const struct vtable *vars;
-
-
-
-/* Line 293 of yacc.c */
-#line 839 "parse.c"
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
+}
+/* Line 187 of yacc.c. */
+#line 945 "parse.c"
+ YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
#endif
+
/* Copy the second part of user declarations. */
-/* Line 343 of yacc.c */
-#line 851 "parse.c"
+/* Line 216 of yacc.c. */
+#line 958 "parse.c"
#ifdef short
# undef short
@@ -897,7 +1004,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
+# if YYENABLE_NLS
# if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -922,14 +1029,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int yyi)
+YYID (int i)
#else
static int
-YYID (yyi)
- int yyi;
+YYID (i)
+ int i;
#endif
{
- return yyi;
+ return i;
}
#endif
@@ -950,11 +1057,11 @@ YYID (yyi)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
# endif
# endif
# endif
@@ -977,24 +1084,24 @@ YYID (yyi)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+# if (defined __cplusplus && ! defined _STDLIB_H \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
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__ \
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@@ -1010,9 +1117,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
+ yytype_int16 yyss;
+ YYSTYPE yyvs;
+ };
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -1023,27 +1130,6 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_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))
-
-#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
@@ -1061,7 +1147,24 @@ union yyalloc
while (YYID (0))
# endif
# endif
-#endif /* !YYCOPY_NEEDED */
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack, Stack, yysize); \
+ Stack = &yyptr->Stack; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
+#endif
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 3
@@ -1426,15 +1529,15 @@ static const yytype_uint16 yyrline[] =
4155, 4181, 4189, 4197, 4205, 4208, 4219, 4220, 4221, 4222,
4225, 4255, 4256, 4257, 4265, 4275, 4276, 4277, 4278, 4279,
4282, 4283, 4284, 4285, 4286, 4287, 4288, 4291, 4304, 4314,
- 4322, 4332, 4333, 4336, 4345, 4344, 4352, 4364, 4374, 4380,
- 4388, 4396, 4404, 4412, 4420, 4428, 4436, 4444, 4452, 4460,
- 4468, 4476, 4484, 4493, 4502, 4511, 4520, 4529, 4540, 4541,
- 4548, 4557, 4576, 4583, 4596, 4608, 4620, 4628, 4644, 4652,
- 4668, 4669, 4672, 4685, 4696, 4697, 4700, 4717, 4721, 4731,
- 4741, 4741, 4770, 4771, 4781, 4788, 4798, 4806, 4816, 4817,
- 4818, 4821, 4822, 4823, 4824, 4827, 4828, 4829, 4832, 4837,
- 4844, 4845, 4848, 4849, 4852, 4855, 4858, 4859, 4860, 4863,
- 4864, 4867, 4868, 4872
+ 4322, 4332, 4333, 4336, 4345, 4344, 4352, 4364, 4374, 4382,
+ 4390, 4398, 4406, 4414, 4422, 4430, 4438, 4446, 4454, 4462,
+ 4470, 4478, 4486, 4495, 4504, 4513, 4522, 4531, 4542, 4543,
+ 4550, 4559, 4578, 4585, 4598, 4610, 4622, 4630, 4646, 4654,
+ 4670, 4671, 4674, 4687, 4698, 4699, 4702, 4719, 4723, 4733,
+ 4743, 4743, 4772, 4773, 4783, 4790, 4800, 4808, 4818, 4819,
+ 4820, 4823, 4824, 4825, 4826, 4829, 4830, 4831, 4834, 4839,
+ 4846, 4847, 4850, 4851, 4854, 4857, 4860, 4861, 4862, 4865,
+ 4866, 4869, 4870, 4874
};
#endif
@@ -1472,35 +1575,34 @@ static const char *const yytname[] =
"id_core_define_method", "id_core_define_singleton_method",
"id_core_set_postexe", "tLAST_TOKEN", "'{'", "'}'", "'['", "'.'", "','",
"'`'", "'('", "')'", "']'", "';'", "' '", "'\\n'", "$accept", "program",
- "$@1", "top_compstmt", "top_stmts", "top_stmt", "$@2", "bodystmt",
- "compstmt", "stmts", "stmt", "$@3", "command_asgn", "expr", "expr_value",
+ "@1", "top_compstmt", "top_stmts", "top_stmt", "@2", "bodystmt",
+ "compstmt", "stmts", "stmt", "@3", "command_asgn", "expr", "expr_value",
"command_call", "block_command", "cmd_brace_block", "@4", "command",
"mlhs", "mlhs_inner", "mlhs_basic", "mlhs_item", "mlhs_head",
"mlhs_post", "mlhs_node", "lhs", "cname", "cpath", "fname", "fsym",
- "fitem", "undef_list", "$@5", "op", "reswords", "arg", "$@6",
- "arg_value", "aref_args", "paren_args", "opt_paren_args",
- "opt_call_args", "call_args", "command_args", "@7", "block_arg",
- "opt_block_arg", "args", "mrhs", "primary", "@8", "$@9", "$@10", "$@11",
- "$@12", "$@13", "$@14", "$@15", "$@16", "@17", "@18", "@19", "@20",
- "@21", "$@22", "$@23", "primary_value", "k_begin", "k_if", "k_unless",
- "k_while", "k_until", "k_case", "k_for", "k_class", "k_module", "k_def",
- "k_end", "then", "do", "if_tail", "opt_else", "for_var", "f_marg",
- "f_marg_list", "f_margs", "block_param", "opt_block_param",
- "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "lambda", "@24",
- "@25", "f_larglist", "lambda_body", "do_block", "@26", "block_call",
- "method_call", "brace_block", "@27", "@28", "case_body", "cases",
- "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", "strings",
- "string", "string1", "xstring", "regexp", "words", "word_list", "word",
- "qwords", "qword_list", "string_contents", "xstring_contents",
- "regexp_contents", "string_content", "@29", "@30", "@31", "string_dvar",
- "symbol", "sym", "dsym", "numeric", "user_variable", "keyword_variable",
- "var_ref", "var_lhs", "backref", "superclass", "$@32", "f_arglist",
- "f_args", "f_bad_arg", "f_norm_arg", "f_arg_item", "f_arg", "f_opt",
- "f_block_opt", "f_block_optarg", "f_optarg", "restarg_mark",
- "f_rest_arg", "blkarg_mark", "f_block_arg", "opt_f_block_arg",
- "singleton", "$@33", "assoc_list", "assocs", "assoc", "operation",
- "operation2", "operation3", "dot_or_colon", "opt_terms", "opt_nl",
- "rparen", "rbracket", "trailer", "term", "terms", "none", 0
+ "fitem", "undef_list", "@5", "op", "reswords", "arg", "@6", "arg_value",
+ "aref_args", "paren_args", "opt_paren_args", "opt_call_args",
+ "call_args", "command_args", "@7", "block_arg", "opt_block_arg", "args",
+ "mrhs", "primary", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15",
+ "@16", "@17", "@18", "@19", "@20", "@21", "@22", "@23", "primary_value",
+ "k_begin", "k_if", "k_unless", "k_while", "k_until", "k_case", "k_for",
+ "k_class", "k_module", "k_def", "k_end", "then", "do", "if_tail",
+ "opt_else", "for_var", "f_marg", "f_marg_list", "f_margs", "block_param",
+ "opt_block_param", "block_param_def", "opt_bv_decl", "bv_decls", "bvar",
+ "lambda", "@24", "@25", "f_larglist", "lambda_body", "do_block", "@26",
+ "block_call", "method_call", "brace_block", "@27", "@28", "case_body",
+ "cases", "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal",
+ "strings", "string", "string1", "xstring", "regexp", "words",
+ "word_list", "word", "qwords", "qword_list", "string_contents",
+ "xstring_contents", "regexp_contents", "string_content", "@29", "@30",
+ "@31", "string_dvar", "symbol", "sym", "dsym", "numeric",
+ "user_variable", "keyword_variable", "var_ref", "var_lhs", "backref",
+ "superclass", "@32", "f_arglist", "f_args", "f_bad_arg", "f_norm_arg",
+ "f_arg_item", "f_arg", "f_opt", "f_block_opt", "f_block_optarg",
+ "f_optarg", "restarg_mark", "f_rest_arg", "blkarg_mark", "f_block_arg",
+ "opt_f_block_arg", "singleton", "@33", "assoc_list", "assocs", "assoc",
+ "operation", "operation2", "operation3", "dot_or_colon", "opt_terms",
+ "opt_nl", "rparen", "rbracket", "trailer", "term", "terms", "none", 0
};
#endif
@@ -1653,8 +1755,8 @@ static const yytype_uint8 yyr2[] =
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
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
@@ -1915,7 +2017,8 @@ static const yytype_int16 yypgoto[] =
/* 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. */
+ number is the opposite. If zero, do what YYDEFACT says.
+ If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -574
static const yytype_int16 yytable[] =
{
@@ -2996,12 +3099,6 @@ static const yytype_int16 yytable[] =
325, 326, 327, 328, 329, 330, 331, 332, 333
};
-#define yypact_value_is_default(yystate) \
- ((yystate) == (-747))
-
-#define yytable_value_is_error(yytable_value) \
- ((yytable_value) == (-574))
-
static const yytype_int16 yycheck[] =
{
2, 55, 340, 28, 2, 454, 4, 52, 593, 16,
@@ -4199,18 +4296,9 @@ static const yytype_uint16 yystos[] =
/* 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. */
+ Once GCC version 2 has supplanted version 1, this can go. */
#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)
@@ -4220,6 +4308,7 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
+ yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@@ -4261,10 +4350,19 @@ while (YYID (0))
#endif
-/* This macro is provided for backward compatibility. */
+/* 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. */
#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# if YYLTYPE_IS_TRIVIAL
+# define YY_LOCATION_PRINT(File, Loc) \
+ fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
+# else
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
#endif
@@ -4371,20 +4469,17 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, parser)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
#else
static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
+yy_stack_print (bottom, top)
+ yytype_int16 *bottom;
+ yytype_int16 *top;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
+ for (; bottom <= top; ++bottom)
+ YYFPRINTF (stderr, " %d", *bottom);
YYFPRINTF (stderr, "\n");
}
@@ -4419,11 +4514,11 @@ yy_reduce_print (yyvsp, yyrule, parser)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ fprintf (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, parser);
- YYFPRINTF (stderr, "\n");
+ fprintf (stderr, "\n");
}
}
@@ -4462,6 +4557,7 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
+
#if YYERROR_VERBOSE
@@ -4564,142 +4660,115 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.
-
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store. */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
+/* Copy into YYRESULT an error message about the unexpected token
+ YYCHAR while in state YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
{
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = 0;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - Assume YYFAIL is not used. It's too flawed to consider. See
- <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
- 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
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[*yyssp];
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- }
- }
+ int yyn = yypact[yystate];
- switch (yycount)
- {
-# define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
- }
+ if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+ return 0;
+ else
+ {
+ int yytype = YYTRANSLATE (yychar);
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ int yysize_overflow = 0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ YY_("syntax error, unexpected %s");
+ YY_("syntax error, unexpected %s, expecting %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *yyfmt;
+ char const *yyf;
+ static char const yyunexpected[] = "syntax error, unexpected %s";
+ static char const yyexpecting[] = ", expecting %s";
+ static char const yyor[] = " or %s";
+ char yyformat[sizeof yyunexpected
+ + sizeof yyexpecting - 1
+ + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof yyor - 1))];
+ char const *yyprefix = yyexpecting;
+
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yycount = 1;
+
+ yyarg[0] = yytname[yytype];
+ yyfmt = yystpcpy (yyformat, yyunexpected);
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ yyformat[sizeof yyunexpected - 1] = '\0';
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
+ yyfmt = yystpcpy (yyfmt, yyprefix);
+ yyprefix = yyor;
+ }
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ yyf = YY_(yyformat);
+ yysize1 = yysize + yystrlen (yyf);
+ yysize_overflow |= (yysize1 < yysize);
+ yysize = yysize1;
- if (*yymsg_alloc < yysize)
- {
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
+ if (yysize_overflow)
+ return YYSIZE_MAXIMUM;
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- return 0;
+ if (yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *yyp = yyresult;
+ int yyi = 0;
+ while ((*yyp = *yyf) != '\0')
+ {
+ if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyf += 2;
+ }
+ else
+ {
+ yyp++;
+ yyf++;
+ }
+ }
+ }
+ return yysize;
+ }
}
#endif /* YYERROR_VERBOSE */
+
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -4733,9 +4802,10 @@ yydestruct (yymsg, yytype, yyvaluep, parser)
break;
}
}
-
+
/* Prevent warnings from -Wmissing-prototypes. */
+
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -4751,6 +4821,10 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
+
+
+
+
/*----------.
| yyparse. |
`----------*/
@@ -4777,46 +4851,22 @@ yyparse (parser)
#endif
#endif
{
-/* The lookahead symbol. */
+ /* The look-ahead symbol. */
int yychar;
-/* The semantic value of the lookahead symbol. */
+/* The semantic value of the look-ahead symbol. */
YYSTYPE yylval;
- /* Number of syntax errors so far. */
- int yynerrs;
-
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
-
- YYSIZE_T yystacksize;
+/* Number of syntax errors so far. */
+int yynerrs;
+ int yystate;
int yyn;
int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+ /* Look-ahead token as an internal (translated) token number. */
+ int yytoken = 0;
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
@@ -4824,28 +4874,51 @@ YYSTYPE yylval;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
+ /* Three stacks and their tools:
+ `yyss': related to states,
+ `yyvs': related to semantic values,
+ `yyls': related to locations.
+
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss = yyssa;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp;
+
+
+
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ YYSIZE_T yystacksize = YYINITDEPTH;
+
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
- yystacksize = YYINITDEPTH;
-
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
+
yyssp = yyss;
yyvsp = yyvs;
@@ -4875,6 +4948,7 @@ YYSTYPE yylval;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
+
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -4882,6 +4956,7 @@ YYSTYPE yylval;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
+
&yystacksize);
yyss = yyss1;
@@ -4904,8 +4979,9 @@ YYSTYPE yylval;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyss);
+ YYSTACK_RELOCATE (yyvs);
+
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -4916,6 +4992,7 @@ YYSTYPE yylval;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
+
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -4925,9 +5002,6 @@ YYSTYPE yylval;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- YYACCEPT;
-
goto yybackup;
/*-----------.
@@ -4936,16 +5010,16 @@ YYSTYPE yylval;
yybackup:
/* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
+ look-ahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to lookahead token. */
+ /* First try to decide what to do without reference to look-ahead token. */
yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
+ if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a lookahead token if don't already have one. */
+ /* Not known => get a look-ahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -4971,22 +5045,26 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yytable_value_is_error (yyn))
- goto yyerrlab;
+ if (yyn == 0 || yyn == YYTABLE_NINF)
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the lookahead token. */
+ /* Shift the look-ahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token. */
- yychar = YYEMPTY;
+ /* Discard the shifted token unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -5026,8 +5104,6 @@ yyreduce:
switch (yyn)
{
case 2:
-
-/* Line 1806 of yacc.c */
#line 782 "ripper.y"
{
lex_state = EXPR_BEG;
@@ -5036,12 +5112,10 @@ yyreduce:
#endif
local_push(0);
- }
+ ;}
break;
case 3:
-
-/* Line 1806 of yacc.c */
#line 791 "ripper.y"
{
#if 0
@@ -5062,12 +5136,10 @@ yyreduce:
parser->result = dispatch1(program, (yyval.val));
local_pop();
- }
+ ;}
break;
case 4:
-
-/* Line 1806 of yacc.c */
#line 814 "ripper.y"
{
#if 0
@@ -5076,12 +5148,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (2)].val);
- }
+ ;}
break;
case 5:
-
-/* Line 1806 of yacc.c */
#line 825 "ripper.y"
{
#if 0
@@ -5090,12 +5160,10 @@ yyreduce:
(yyval.val) = dispatch2(stmts_add, dispatch0(stmts_new),
dispatch0(void_stmt));
- }
+ ;}
break;
case 6:
-
-/* Line 1806 of yacc.c */
#line 834 "ripper.y"
{
#if 0
@@ -5103,12 +5171,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(stmts_add, dispatch0(stmts_new), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 7:
-
-/* Line 1806 of yacc.c */
#line 842 "ripper.y"
{
#if 0
@@ -5116,21 +5182,17 @@ yyreduce:
#endif
(yyval.val) = dispatch2(stmts_add, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 8:
-
-/* Line 1806 of yacc.c */
#line 850 "ripper.y"
{
(yyval.val) = remove_begin((yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 10:
-
-/* Line 1806 of yacc.c */
#line 857 "ripper.y"
{
if (in_def || in_single) {
@@ -5140,12 +5202,10 @@ yyreduce:
/* local_push(0); */
#endif
- }
+ ;}
break;
case 11:
-
-/* Line 1806 of yacc.c */
#line 867 "ripper.y"
{
#if 0
@@ -5157,12 +5217,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(BEGIN, (yyvsp[(4) - (5)].val));
- }
+ ;}
break;
case 12:
-
-/* Line 1806 of yacc.c */
#line 884 "ripper.y"
{
#if 0
@@ -5190,12 +5248,10 @@ yyreduce:
escape_Qundef((yyvsp[(3) - (4)].val)),
escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 13:
-
-/* Line 1806 of yacc.c */
#line 914 "ripper.y"
{
#if 0
@@ -5204,12 +5260,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (2)].val);
- }
+ ;}
break;
case 14:
-
-/* Line 1806 of yacc.c */
#line 925 "ripper.y"
{
#if 0
@@ -5218,12 +5272,10 @@ yyreduce:
(yyval.val) = dispatch2(stmts_add, dispatch0(stmts_new),
dispatch0(void_stmt));
- }
+ ;}
break;
case 15:
-
-/* Line 1806 of yacc.c */
#line 934 "ripper.y"
{
#if 0
@@ -5231,12 +5283,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(stmts_add, dispatch0(stmts_new), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 16:
-
-/* Line 1806 of yacc.c */
#line 942 "ripper.y"
{
#if 0
@@ -5244,28 +5294,22 @@ yyreduce:
#endif
(yyval.val) = dispatch2(stmts_add, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 17:
-
-/* Line 1806 of yacc.c */
#line 950 "ripper.y"
{
(yyval.val) = remove_begin((yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 18:
-
-/* Line 1806 of yacc.c */
#line 955 "ripper.y"
- {lex_state = EXPR_FNAME;}
+ {lex_state = EXPR_FNAME;;}
break;
case 19:
-
-/* Line 1806 of yacc.c */
#line 956 "ripper.y"
{
#if 0
@@ -5273,12 +5317,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(alias, (yyvsp[(2) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 20:
-
-/* Line 1806 of yacc.c */
#line 964 "ripper.y"
{
#if 0
@@ -5286,12 +5328,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(var_alias, (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 21:
-
-/* Line 1806 of yacc.c */
#line 972 "ripper.y"
{
#if 0
@@ -5302,12 +5342,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(var_alias, (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 22:
-
-/* Line 1806 of yacc.c */
#line 983 "ripper.y"
{
#if 0
@@ -5317,12 +5355,10 @@ yyreduce:
(yyval.val) = dispatch2(var_alias, (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = dispatch1(alias_error, (yyval.val));
- }
+ ;}
break;
case 23:
-
-/* Line 1806 of yacc.c */
#line 993 "ripper.y"
{
#if 0
@@ -5330,12 +5366,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(undef, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 24:
-
-/* Line 1806 of yacc.c */
#line 1001 "ripper.y"
{
#if 0
@@ -5344,12 +5378,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(if_mod, (yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val));
- }
+ ;}
break;
case 25:
-
-/* Line 1806 of yacc.c */
#line 1010 "ripper.y"
{
#if 0
@@ -5358,12 +5390,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unless_mod, (yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val));
- }
+ ;}
break;
case 26:
-
-/* Line 1806 of yacc.c */
#line 1019 "ripper.y"
{
#if 0
@@ -5376,12 +5406,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(while_mod, (yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val));
- }
+ ;}
break;
case 27:
-
-/* Line 1806 of yacc.c */
#line 1032 "ripper.y"
{
#if 0
@@ -5394,12 +5422,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(until_mod, (yyvsp[(3) - (3)].val), (yyvsp[(1) - (3)].val));
- }
+ ;}
break;
case 28:
-
-/* Line 1806 of yacc.c */
#line 1045 "ripper.y"
{
#if 0
@@ -5408,12 +5434,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(rescue_mod, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 29:
-
-/* Line 1806 of yacc.c */
#line 1054 "ripper.y"
{
if (in_def || in_single) {
@@ -5425,12 +5449,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(END, (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 31:
-
-/* Line 1806 of yacc.c */
#line 1067 "ripper.y"
{
#if 0
@@ -5440,12 +5462,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(massign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 32:
-
-/* Line 1806 of yacc.c */
#line 1077 "ripper.y"
{
#if 0
@@ -5474,12 +5494,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 33:
-
-/* Line 1806 of yacc.c */
#line 1106 "ripper.y"
{
#if 0
@@ -5500,12 +5518,10 @@ yyreduce:
(yyval.val) = dispatch2(aref_field, (yyvsp[(1) - (6)].val), escape_Qundef((yyvsp[(3) - (6)].val)));
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(5) - (6)].val), (yyvsp[(6) - (6)].val));
- }
+ ;}
break;
case 34:
-
-/* Line 1806 of yacc.c */
#line 1127 "ripper.y"
{
#if 0
@@ -5522,12 +5538,10 @@ yyreduce:
(yyval.val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_id2sym('.'), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 35:
-
-/* Line 1806 of yacc.c */
#line 1144 "ripper.y"
{
#if 0
@@ -5544,12 +5558,10 @@ yyreduce:
(yyval.val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_id2sym('.'), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 36:
-
-/* Line 1806 of yacc.c */
#line 1161 "ripper.y"
{
#if 0
@@ -5560,12 +5572,10 @@ yyreduce:
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 37:
-
-/* Line 1806 of yacc.c */
#line 1172 "ripper.y"
{
#if 0
@@ -5582,12 +5592,10 @@ yyreduce:
(yyval.val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_intern("::"), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 38:
-
-/* Line 1806 of yacc.c */
#line 1189 "ripper.y"
{
#if 0
@@ -5597,12 +5605,10 @@ yyreduce:
(yyval.val) = dispatch2(assign, dispatch1(var_field, (yyvsp[(1) - (3)].val)), (yyvsp[(3) - (3)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 39:
-
-/* Line 1806 of yacc.c */
#line 1199 "ripper.y"
{
#if 0
@@ -5611,12 +5617,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(assign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 40:
-
-/* Line 1806 of yacc.c */
#line 1208 "ripper.y"
{
#if 0
@@ -5625,12 +5629,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(massign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 41:
-
-/* Line 1806 of yacc.c */
#line 1217 "ripper.y"
{
#if 0
@@ -5639,12 +5641,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(massign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 43:
-
-/* Line 1806 of yacc.c */
#line 1229 "ripper.y"
{
#if 0
@@ -5653,12 +5653,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(assign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 44:
-
-/* Line 1806 of yacc.c */
#line 1238 "ripper.y"
{
#if 0
@@ -5667,12 +5665,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(assign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 46:
-
-/* Line 1806 of yacc.c */
#line 1251 "ripper.y"
{
#if 0
@@ -5680,12 +5676,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("and"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 47:
-
-/* Line 1806 of yacc.c */
#line 1259 "ripper.y"
{
#if 0
@@ -5693,12 +5687,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("or"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 48:
-
-/* Line 1806 of yacc.c */
#line 1267 "ripper.y"
{
#if 0
@@ -5706,12 +5698,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("not"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 49:
-
-/* Line 1806 of yacc.c */
#line 1275 "ripper.y"
{
#if 0
@@ -5719,12 +5709,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_id2sym('!'), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 51:
-
-/* Line 1806 of yacc.c */
#line 1286 "ripper.y"
{
#if 0
@@ -5734,12 +5722,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 55:
-
-/* Line 1806 of yacc.c */
#line 1303 "ripper.y"
{
#if 0
@@ -5748,12 +5734,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_id2sym('.'), (yyvsp[(3) - (4)].val));
(yyval.val) = method_arg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 56:
-
-/* Line 1806 of yacc.c */
#line 1312 "ripper.y"
{
#if 0
@@ -5762,12 +5746,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_intern("::"), (yyvsp[(3) - (4)].val));
(yyval.val) = method_arg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 57:
-
-/* Line 1806 of yacc.c */
#line 1323 "ripper.y"
{
(yyvsp[(1) - (1)].vars) = dyna_push();
@@ -5775,12 +5757,10 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 58:
-
-/* Line 1806 of yacc.c */
#line 1333 "ripper.y"
{
#if 0
@@ -5790,12 +5770,10 @@ yyreduce:
(yyval.val) = dispatch2(brace_block, escape_Qundef((yyvsp[(3) - (5)].val)), (yyvsp[(4) - (5)].val));
dyna_pop((yyvsp[(1) - (5)].vars));
- }
+ ;}
break;
case 59:
-
-/* Line 1806 of yacc.c */
#line 1345 "ripper.y"
{
#if 0
@@ -5804,12 +5782,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(command, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 60:
-
-/* Line 1806 of yacc.c */
#line 1354 "ripper.y"
{
#if 0
@@ -5821,12 +5797,10 @@ yyreduce:
(yyval.val) = dispatch2(command, (yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val));
(yyval.val) = method_add_block((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 61:
-
-/* Line 1806 of yacc.c */
#line 1366 "ripper.y"
{
#if 0
@@ -5835,12 +5809,10 @@ yyreduce:
#endif
(yyval.val) = dispatch4(command_call, (yyvsp[(1) - (4)].val), ripper_id2sym('.'), (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 62:
-
-/* Line 1806 of yacc.c */
#line 1375 "ripper.y"
{
#if 0
@@ -5852,12 +5824,10 @@ yyreduce:
(yyval.val) = dispatch4(command_call, (yyvsp[(1) - (5)].val), ripper_id2sym('.'), (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val));
(yyval.val) = method_add_block((yyval.val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 63:
-
-/* Line 1806 of yacc.c */
#line 1387 "ripper.y"
{
#if 0
@@ -5866,12 +5836,10 @@ yyreduce:
#endif
(yyval.val) = dispatch4(command_call, (yyvsp[(1) - (4)].val), ripper_intern("::"), (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 64:
-
-/* Line 1806 of yacc.c */
#line 1396 "ripper.y"
{
#if 0
@@ -5883,12 +5851,10 @@ yyreduce:
(yyval.val) = dispatch4(command_call, (yyvsp[(1) - (5)].val), ripper_intern("::"), (yyvsp[(3) - (5)].val), (yyvsp[(4) - (5)].val));
(yyval.val) = method_add_block((yyval.val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 65:
-
-/* Line 1806 of yacc.c */
#line 1408 "ripper.y"
{
#if 0
@@ -5897,12 +5863,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(super, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 66:
-
-/* Line 1806 of yacc.c */
#line 1417 "ripper.y"
{
#if 0
@@ -5911,12 +5875,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(yield, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 67:
-
-/* Line 1806 of yacc.c */
#line 1426 "ripper.y"
{
#if 0
@@ -5924,12 +5886,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(return, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 68:
-
-/* Line 1806 of yacc.c */
#line 1434 "ripper.y"
{
#if 0
@@ -5937,12 +5897,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(break, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 69:
-
-/* Line 1806 of yacc.c */
#line 1442 "ripper.y"
{
#if 0
@@ -5950,12 +5908,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(next, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 71:
-
-/* Line 1806 of yacc.c */
#line 1453 "ripper.y"
{
#if 0
@@ -5963,12 +5919,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 73:
-
-/* Line 1806 of yacc.c */
#line 1464 "ripper.y"
{
#if 0
@@ -5976,12 +5930,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 74:
-
-/* Line 1806 of yacc.c */
#line 1474 "ripper.y"
{
#if 0
@@ -5989,12 +5941,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 75:
-
-/* Line 1806 of yacc.c */
#line 1482 "ripper.y"
{
#if 0
@@ -6002,12 +5952,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 76:
-
-/* Line 1806 of yacc.c */
#line 1490 "ripper.y"
{
#if 0
@@ -6015,12 +5963,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 77:
-
-/* Line 1806 of yacc.c */
#line 1498 "ripper.y"
{
#if 0
@@ -6029,12 +5975,10 @@ yyreduce:
(yyvsp[(1) - (5)].val) = mlhs_add_star((yyvsp[(1) - (5)].val), (yyvsp[(3) - (5)].val));
(yyval.val) = mlhs_add((yyvsp[(1) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 78:
-
-/* Line 1806 of yacc.c */
#line 1507 "ripper.y"
{
#if 0
@@ -6042,12 +5986,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (2)].val), Qnil);
- }
+ ;}
break;
case 79:
-
-/* Line 1806 of yacc.c */
#line 1515 "ripper.y"
{
#if 0
@@ -6056,12 +5998,10 @@ yyreduce:
(yyvsp[(1) - (4)].val) = mlhs_add_star((yyvsp[(1) - (4)].val), Qnil);
(yyval.val) = mlhs_add((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 80:
-
-/* Line 1806 of yacc.c */
#line 1524 "ripper.y"
{
#if 0
@@ -6069,12 +6009,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star(mlhs_new(), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 81:
-
-/* Line 1806 of yacc.c */
#line 1532 "ripper.y"
{
#if 0
@@ -6083,12 +6021,10 @@ yyreduce:
(yyvsp[(2) - (4)].val) = mlhs_add_star(mlhs_new(), (yyvsp[(2) - (4)].val));
(yyval.val) = mlhs_add((yyvsp[(2) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 82:
-
-/* Line 1806 of yacc.c */
#line 1541 "ripper.y"
{
#if 0
@@ -6096,12 +6032,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star(mlhs_new(), Qnil);
- }
+ ;}
break;
case 83:
-
-/* Line 1806 of yacc.c */
#line 1549 "ripper.y"
{
#if 0
@@ -6110,12 +6044,10 @@ yyreduce:
(yyval.val) = mlhs_add_star(mlhs_new(), Qnil);
(yyval.val) = mlhs_add((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 85:
-
-/* Line 1806 of yacc.c */
#line 1561 "ripper.y"
{
#if 0
@@ -6123,12 +6055,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 86:
-
-/* Line 1806 of yacc.c */
#line 1571 "ripper.y"
{
#if 0
@@ -6136,12 +6066,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add(mlhs_new(), (yyvsp[(1) - (2)].val));
- }
+ ;}
break;
case 87:
-
-/* Line 1806 of yacc.c */
#line 1579 "ripper.y"
{
#if 0
@@ -6149,12 +6077,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add((yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 88:
-
-/* Line 1806 of yacc.c */
#line 1589 "ripper.y"
{
#if 0
@@ -6162,12 +6088,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add(mlhs_new(), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 89:
-
-/* Line 1806 of yacc.c */
#line 1597 "ripper.y"
{
#if 0
@@ -6175,30 +6099,24 @@ yyreduce:
#endif
(yyval.val) = mlhs_add((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 90:
-
-/* Line 1806 of yacc.c */
#line 1607 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
- }
+ ;}
break;
case 91:
-
-/* Line 1806 of yacc.c */
#line 1611 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
- }
+ ;}
break;
case 92:
-
-/* Line 1806 of yacc.c */
#line 1615 "ripper.y"
{
#if 0
@@ -6206,12 +6124,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(aref_field, (yyvsp[(1) - (4)].val), escape_Qundef((yyvsp[(3) - (4)].val)));
- }
+ ;}
break;
case 93:
-
-/* Line 1806 of yacc.c */
#line 1623 "ripper.y"
{
#if 0
@@ -6219,12 +6135,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(field, (yyvsp[(1) - (3)].val), ripper_id2sym('.'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 94:
-
-/* Line 1806 of yacc.c */
#line 1631 "ripper.y"
{
#if 0
@@ -6232,12 +6146,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(const_path_field, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 95:
-
-/* Line 1806 of yacc.c */
#line 1639 "ripper.y"
{
#if 0
@@ -6245,12 +6157,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(field, (yyvsp[(1) - (3)].val), ripper_id2sym('.'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 96:
-
-/* Line 1806 of yacc.c */
#line 1647 "ripper.y"
{
#if 0
@@ -6262,12 +6172,10 @@ yyreduce:
yyerror("dynamic constant assignment");
(yyval.val) = dispatch2(const_path_field, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 97:
-
-/* Line 1806 of yacc.c */
#line 1659 "ripper.y"
{
#if 0
@@ -6277,12 +6185,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(top_const_field, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 98:
-
-/* Line 1806 of yacc.c */
#line 1669 "ripper.y"
{
#if 0
@@ -6292,12 +6198,10 @@ yyreduce:
(yyval.val) = dispatch1(var_field, (yyvsp[(1) - (1)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 99:
-
-/* Line 1806 of yacc.c */
#line 1681 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
@@ -6306,12 +6210,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_field, (yyval.val));
- }
+ ;}
break;
case 100:
-
-/* Line 1806 of yacc.c */
#line 1690 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
@@ -6320,12 +6222,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_field, (yyval.val));
- }
+ ;}
break;
case 101:
-
-/* Line 1806 of yacc.c */
#line 1699 "ripper.y"
{
#if 0
@@ -6333,12 +6233,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(aref_field, (yyvsp[(1) - (4)].val), escape_Qundef((yyvsp[(3) - (4)].val)));
- }
+ ;}
break;
case 102:
-
-/* Line 1806 of yacc.c */
#line 1707 "ripper.y"
{
#if 0
@@ -6346,12 +6244,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(field, (yyvsp[(1) - (3)].val), ripper_id2sym('.'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 103:
-
-/* Line 1806 of yacc.c */
#line 1715 "ripper.y"
{
#if 0
@@ -6359,12 +6255,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(field, (yyvsp[(1) - (3)].val), ripper_intern("::"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 104:
-
-/* Line 1806 of yacc.c */
#line 1723 "ripper.y"
{
#if 0
@@ -6372,12 +6266,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(field, (yyvsp[(1) - (3)].val), ripper_id2sym('.'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 105:
-
-/* Line 1806 of yacc.c */
#line 1731 "ripper.y"
{
#if 0
@@ -6390,12 +6282,10 @@ yyreduce:
(yyval.val) = dispatch1(assign_error, (yyval.val));
}
- }
+ ;}
break;
case 106:
-
-/* Line 1806 of yacc.c */
#line 1744 "ripper.y"
{
#if 0
@@ -6408,12 +6298,10 @@ yyreduce:
(yyval.val) = dispatch1(assign_error, (yyval.val));
}
- }
+ ;}
break;
case 107:
-
-/* Line 1806 of yacc.c */
#line 1757 "ripper.y"
{
#if 0
@@ -6422,12 +6310,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(assign_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 108:
-
-/* Line 1806 of yacc.c */
#line 1768 "ripper.y"
{
#if 0
@@ -6435,12 +6321,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(class_name_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 110:
-
-/* Line 1806 of yacc.c */
#line 1779 "ripper.y"
{
#if 0
@@ -6448,12 +6332,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(top_const_ref, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 111:
-
-/* Line 1806 of yacc.c */
#line 1787 "ripper.y"
{
#if 0
@@ -6461,12 +6343,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(const_ref, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 112:
-
-/* Line 1806 of yacc.c */
#line 1795 "ripper.y"
{
#if 0
@@ -6474,22 +6354,18 @@ yyreduce:
#endif
(yyval.val) = dispatch2(const_path_ref, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 116:
-
-/* Line 1806 of yacc.c */
#line 1808 "ripper.y"
{
lex_state = EXPR_ENDFN;
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 117:
-
-/* Line 1806 of yacc.c */
#line 1813 "ripper.y"
{
lex_state = EXPR_ENDFN;
@@ -6498,12 +6374,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 120:
-
-/* Line 1806 of yacc.c */
#line 1828 "ripper.y"
{
#if 0
@@ -6511,12 +6385,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(symbol_literal, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 122:
-
-/* Line 1806 of yacc.c */
#line 1839 "ripper.y"
{
#if 0
@@ -6524,19 +6396,15 @@ yyreduce:
#endif
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 123:
-
-/* Line 1806 of yacc.c */
#line 1846 "ripper.y"
- {lex_state = EXPR_FNAME;}
+ {lex_state = EXPR_FNAME;;}
break;
case 124:
-
-/* Line 1806 of yacc.c */
#line 1847 "ripper.y"
{
#if 0
@@ -6544,215 +6412,155 @@ yyreduce:
#endif
rb_ary_push((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 125:
-
-/* Line 1806 of yacc.c */
#line 1856 "ripper.y"
- { ifndef_ripper((yyval.val) = '|'); }
+ { ifndef_ripper((yyval.val) = '|'); ;}
break;
case 126:
-
-/* Line 1806 of yacc.c */
#line 1857 "ripper.y"
- { ifndef_ripper((yyval.val) = '^'); }
+ { ifndef_ripper((yyval.val) = '^'); ;}
break;
case 127:
-
-/* Line 1806 of yacc.c */
#line 1858 "ripper.y"
- { ifndef_ripper((yyval.val) = '&'); }
+ { ifndef_ripper((yyval.val) = '&'); ;}
break;
case 128:
-
-/* Line 1806 of yacc.c */
#line 1859 "ripper.y"
- { ifndef_ripper((yyval.val) = tCMP); }
+ { ifndef_ripper((yyval.val) = tCMP); ;}
break;
case 129:
-
-/* Line 1806 of yacc.c */
#line 1860 "ripper.y"
- { ifndef_ripper((yyval.val) = tEQ); }
+ { ifndef_ripper((yyval.val) = tEQ); ;}
break;
case 130:
-
-/* Line 1806 of yacc.c */
#line 1861 "ripper.y"
- { ifndef_ripper((yyval.val) = tEQQ); }
+ { ifndef_ripper((yyval.val) = tEQQ); ;}
break;
case 131:
-
-/* Line 1806 of yacc.c */
#line 1862 "ripper.y"
- { ifndef_ripper((yyval.val) = tMATCH); }
+ { ifndef_ripper((yyval.val) = tMATCH); ;}
break;
case 132:
-
-/* Line 1806 of yacc.c */
#line 1863 "ripper.y"
- { ifndef_ripper((yyval.val) = tNMATCH); }
+ { ifndef_ripper((yyval.val) = tNMATCH); ;}
break;
case 133:
-
-/* Line 1806 of yacc.c */
#line 1864 "ripper.y"
- { ifndef_ripper((yyval.val) = '>'); }
+ { ifndef_ripper((yyval.val) = '>'); ;}
break;
case 134:
-
-/* Line 1806 of yacc.c */
#line 1865 "ripper.y"
- { ifndef_ripper((yyval.val) = tGEQ); }
+ { ifndef_ripper((yyval.val) = tGEQ); ;}
break;
case 135:
-
-/* Line 1806 of yacc.c */
#line 1866 "ripper.y"
- { ifndef_ripper((yyval.val) = '<'); }
+ { ifndef_ripper((yyval.val) = '<'); ;}
break;
case 136:
-
-/* Line 1806 of yacc.c */
#line 1867 "ripper.y"
- { ifndef_ripper((yyval.val) = tLEQ); }
+ { ifndef_ripper((yyval.val) = tLEQ); ;}
break;
case 137:
-
-/* Line 1806 of yacc.c */
#line 1868 "ripper.y"
- { ifndef_ripper((yyval.val) = tNEQ); }
+ { ifndef_ripper((yyval.val) = tNEQ); ;}
break;
case 138:
-
-/* Line 1806 of yacc.c */
#line 1869 "ripper.y"
- { ifndef_ripper((yyval.val) = tLSHFT); }
+ { ifndef_ripper((yyval.val) = tLSHFT); ;}
break;
case 139:
-
-/* Line 1806 of yacc.c */
#line 1870 "ripper.y"
- { ifndef_ripper((yyval.val) = tRSHFT); }
+ { ifndef_ripper((yyval.val) = tRSHFT); ;}
break;
case 140:
-
-/* Line 1806 of yacc.c */
#line 1871 "ripper.y"
- { ifndef_ripper((yyval.val) = '+'); }
+ { ifndef_ripper((yyval.val) = '+'); ;}
break;
case 141:
-
-/* Line 1806 of yacc.c */
#line 1872 "ripper.y"
- { ifndef_ripper((yyval.val) = '-'); }
+ { ifndef_ripper((yyval.val) = '-'); ;}
break;
case 142:
-
-/* Line 1806 of yacc.c */
#line 1873 "ripper.y"
- { ifndef_ripper((yyval.val) = '*'); }
+ { ifndef_ripper((yyval.val) = '*'); ;}
break;
case 143:
-
-/* Line 1806 of yacc.c */
#line 1874 "ripper.y"
- { ifndef_ripper((yyval.val) = '*'); }
+ { ifndef_ripper((yyval.val) = '*'); ;}
break;
case 144:
-
-/* Line 1806 of yacc.c */
#line 1875 "ripper.y"
- { ifndef_ripper((yyval.val) = '/'); }
+ { ifndef_ripper((yyval.val) = '/'); ;}
break;
case 145:
-
-/* Line 1806 of yacc.c */
#line 1876 "ripper.y"
- { ifndef_ripper((yyval.val) = '%'); }
+ { ifndef_ripper((yyval.val) = '%'); ;}
break;
case 146:
-
-/* Line 1806 of yacc.c */
#line 1877 "ripper.y"
- { ifndef_ripper((yyval.val) = tPOW); }
+ { ifndef_ripper((yyval.val) = tPOW); ;}
break;
case 147:
-
-/* Line 1806 of yacc.c */
#line 1878 "ripper.y"
- { ifndef_ripper((yyval.val) = '!'); }
+ { ifndef_ripper((yyval.val) = '!'); ;}
break;
case 148:
-
-/* Line 1806 of yacc.c */
#line 1879 "ripper.y"
- { ifndef_ripper((yyval.val) = '~'); }
+ { ifndef_ripper((yyval.val) = '~'); ;}
break;
case 149:
-
-/* Line 1806 of yacc.c */
#line 1880 "ripper.y"
- { ifndef_ripper((yyval.val) = tUPLUS); }
+ { ifndef_ripper((yyval.val) = tUPLUS); ;}
break;
case 150:
-
-/* Line 1806 of yacc.c */
#line 1881 "ripper.y"
- { ifndef_ripper((yyval.val) = tUMINUS); }
+ { ifndef_ripper((yyval.val) = tUMINUS); ;}
break;
case 151:
-
-/* Line 1806 of yacc.c */
#line 1882 "ripper.y"
- { ifndef_ripper((yyval.val) = tAREF); }
+ { ifndef_ripper((yyval.val) = tAREF); ;}
break;
case 152:
-
-/* Line 1806 of yacc.c */
#line 1883 "ripper.y"
- { ifndef_ripper((yyval.val) = tASET); }
+ { ifndef_ripper((yyval.val) = tASET); ;}
break;
case 153:
-
-/* Line 1806 of yacc.c */
#line 1884 "ripper.y"
- { ifndef_ripper((yyval.val) = '`'); }
+ { ifndef_ripper((yyval.val) = '`'); ;}
break;
case 195:
-
-/* Line 1806 of yacc.c */
#line 1902 "ripper.y"
{
#if 0
@@ -6761,12 +6569,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(assign, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 196:
-
-/* Line 1806 of yacc.c */
#line 1911 "ripper.y"
{
#if 0
@@ -6776,12 +6582,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(assign, (yyvsp[(1) - (5)].val), dispatch2(rescue_mod, (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val)));
- }
+ ;}
break;
case 197:
-
-/* Line 1806 of yacc.c */
#line 1921 "ripper.y"
{
#if 0
@@ -6810,12 +6614,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 198:
-
-/* Line 1806 of yacc.c */
#line 1950 "ripper.y"
{
#if 0
@@ -6846,12 +6648,10 @@ yyreduce:
(yyvsp[(3) - (5)].val) = dispatch2(rescue_mod, (yyvsp[(3) - (5)].val), (yyvsp[(5) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (5)].val), (yyvsp[(2) - (5)].val), (yyvsp[(3) - (5)].val));
- }
+ ;}
break;
case 199:
-
-/* Line 1806 of yacc.c */
#line 1981 "ripper.y"
{
#if 0
@@ -6877,12 +6677,10 @@ yyreduce:
(yyvsp[(1) - (6)].val) = dispatch2(aref_field, (yyvsp[(1) - (6)].val), escape_Qundef((yyvsp[(3) - (6)].val)));
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (6)].val), (yyvsp[(5) - (6)].val), (yyvsp[(6) - (6)].val));
- }
+ ;}
break;
case 200:
-
-/* Line 1806 of yacc.c */
#line 2007 "ripper.y"
{
#if 0
@@ -6899,12 +6697,10 @@ yyreduce:
(yyvsp[(1) - (5)].val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_id2sym('.'), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 201:
-
-/* Line 1806 of yacc.c */
#line 2024 "ripper.y"
{
#if 0
@@ -6921,12 +6717,10 @@ yyreduce:
(yyvsp[(1) - (5)].val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_id2sym('.'), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 202:
-
-/* Line 1806 of yacc.c */
#line 2041 "ripper.y"
{
#if 0
@@ -6943,12 +6737,10 @@ yyreduce:
(yyvsp[(1) - (5)].val) = dispatch3(field, (yyvsp[(1) - (5)].val), ripper_intern("::"), (yyvsp[(3) - (5)].val));
(yyval.val) = dispatch3(opassign, (yyvsp[(1) - (5)].val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 203:
-
-/* Line 1806 of yacc.c */
#line 2058 "ripper.y"
{
#if 0
@@ -6959,12 +6751,10 @@ yyreduce:
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(4) - (5)].val), (yyvsp[(5) - (5)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 204:
-
-/* Line 1806 of yacc.c */
#line 2069 "ripper.y"
{
#if 0
@@ -6975,12 +6765,10 @@ yyreduce:
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 205:
-
-/* Line 1806 of yacc.c */
#line 2080 "ripper.y"
{
#if 0
@@ -6991,12 +6779,10 @@ yyreduce:
(yyval.val) = dispatch3(opassign, (yyval.val), (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
(yyval.val) = dispatch1(assign_error, (yyval.val));
- }
+ ;}
break;
case 206:
-
-/* Line 1806 of yacc.c */
#line 2091 "ripper.y"
{
#if 0
@@ -7010,12 +6796,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(dot2, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 207:
-
-/* Line 1806 of yacc.c */
#line 2105 "ripper.y"
{
#if 0
@@ -7029,12 +6813,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(dot3, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 208:
-
-/* Line 1806 of yacc.c */
#line 2119 "ripper.y"
{
#if 0
@@ -7042,12 +6824,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('+'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 209:
-
-/* Line 1806 of yacc.c */
#line 2127 "ripper.y"
{
#if 0
@@ -7055,12 +6835,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('-'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 210:
-
-/* Line 1806 of yacc.c */
#line 2135 "ripper.y"
{
#if 0
@@ -7068,12 +6846,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('*'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 211:
-
-/* Line 1806 of yacc.c */
#line 2143 "ripper.y"
{
#if 0
@@ -7081,12 +6857,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('/'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 212:
-
-/* Line 1806 of yacc.c */
#line 2151 "ripper.y"
{
#if 0
@@ -7094,12 +6868,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('%'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 213:
-
-/* Line 1806 of yacc.c */
#line 2159 "ripper.y"
{
#if 0
@@ -7107,12 +6879,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("**"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 214:
-
-/* Line 1806 of yacc.c */
#line 2167 "ripper.y"
{
#if 0
@@ -7121,12 +6891,10 @@ yyreduce:
(yyval.val) = dispatch3(binary, (yyvsp[(2) - (4)].val), ripper_intern("**"), (yyvsp[(4) - (4)].val));
(yyval.val) = dispatch2(unary, ripper_intern("-@"), (yyval.val));
- }
+ ;}
break;
case 215:
-
-/* Line 1806 of yacc.c */
#line 2176 "ripper.y"
{
#if 0
@@ -7135,12 +6903,10 @@ yyreduce:
(yyval.val) = dispatch3(binary, (yyvsp[(2) - (4)].val), ripper_intern("**"), (yyvsp[(4) - (4)].val));
(yyval.val) = dispatch2(unary, ripper_intern("-@"), (yyval.val));
- }
+ ;}
break;
case 216:
-
-/* Line 1806 of yacc.c */
#line 2185 "ripper.y"
{
#if 0
@@ -7148,12 +6914,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("+@"), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 217:
-
-/* Line 1806 of yacc.c */
#line 2193 "ripper.y"
{
#if 0
@@ -7161,12 +6925,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("-@"), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 218:
-
-/* Line 1806 of yacc.c */
#line 2201 "ripper.y"
{
#if 0
@@ -7174,12 +6936,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('|'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 219:
-
-/* Line 1806 of yacc.c */
#line 2209 "ripper.y"
{
#if 0
@@ -7187,12 +6947,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('^'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 220:
-
-/* Line 1806 of yacc.c */
#line 2217 "ripper.y"
{
#if 0
@@ -7200,12 +6958,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('&'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 221:
-
-/* Line 1806 of yacc.c */
#line 2225 "ripper.y"
{
#if 0
@@ -7213,12 +6969,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("<=>"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 222:
-
-/* Line 1806 of yacc.c */
#line 2233 "ripper.y"
{
#if 0
@@ -7226,12 +6980,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('>'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 223:
-
-/* Line 1806 of yacc.c */
#line 2241 "ripper.y"
{
#if 0
@@ -7239,12 +6991,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern(">="), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 224:
-
-/* Line 1806 of yacc.c */
#line 2249 "ripper.y"
{
#if 0
@@ -7252,12 +7002,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ID2SYM('<'), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 225:
-
-/* Line 1806 of yacc.c */
#line 2257 "ripper.y"
{
#if 0
@@ -7265,12 +7013,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("<="), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 226:
-
-/* Line 1806 of yacc.c */
#line 2265 "ripper.y"
{
#if 0
@@ -7278,12 +7024,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("=="), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 227:
-
-/* Line 1806 of yacc.c */
#line 2273 "ripper.y"
{
#if 0
@@ -7291,12 +7035,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("==="), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 228:
-
-/* Line 1806 of yacc.c */
#line 2281 "ripper.y"
{
#if 0
@@ -7304,12 +7046,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("!="), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 229:
-
-/* Line 1806 of yacc.c */
#line 2289 "ripper.y"
{
#if 0
@@ -7320,12 +7060,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("=~"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 230:
-
-/* Line 1806 of yacc.c */
#line 2300 "ripper.y"
{
#if 0
@@ -7333,12 +7071,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("!~"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 231:
-
-/* Line 1806 of yacc.c */
#line 2308 "ripper.y"
{
#if 0
@@ -7346,12 +7082,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ID2SYM('!'), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 232:
-
-/* Line 1806 of yacc.c */
#line 2316 "ripper.y"
{
#if 0
@@ -7359,12 +7093,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ID2SYM('~'), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 233:
-
-/* Line 1806 of yacc.c */
#line 2324 "ripper.y"
{
#if 0
@@ -7372,12 +7104,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("<<"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 234:
-
-/* Line 1806 of yacc.c */
#line 2332 "ripper.y"
{
#if 0
@@ -7385,12 +7115,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern(">>"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 235:
-
-/* Line 1806 of yacc.c */
#line 2340 "ripper.y"
{
#if 0
@@ -7398,12 +7126,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("&&"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 236:
-
-/* Line 1806 of yacc.c */
#line 2348 "ripper.y"
{
#if 0
@@ -7411,19 +7137,15 @@ yyreduce:
#endif
(yyval.val) = dispatch3(binary, (yyvsp[(1) - (3)].val), ripper_intern("||"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 237:
-
-/* Line 1806 of yacc.c */
#line 2355 "ripper.y"
- {in_defined = 1;}
+ {in_defined = 1;;}
break;
case 238:
-
-/* Line 1806 of yacc.c */
#line 2356 "ripper.y"
{
#if 0
@@ -7433,12 +7155,10 @@ yyreduce:
in_defined = 0;
(yyval.val) = dispatch1(defined, (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 239:
-
-/* Line 1806 of yacc.c */
#line 2366 "ripper.y"
{
#if 0
@@ -7448,21 +7168,17 @@ yyreduce:
#endif
(yyval.val) = dispatch3(ifop, (yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(6) - (6)].val));
- }
+ ;}
break;
case 240:
-
-/* Line 1806 of yacc.c */
#line 2376 "ripper.y"
{
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 241:
-
-/* Line 1806 of yacc.c */
#line 2382 "ripper.y"
{
#if 0
@@ -7472,21 +7188,17 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 243:
-
-/* Line 1806 of yacc.c */
#line 2395 "ripper.y"
{
(yyval.val) = (yyvsp[(1) - (2)].val);
- }
+ ;}
break;
case 244:
-
-/* Line 1806 of yacc.c */
#line 2399 "ripper.y"
{
#if 0
@@ -7494,12 +7206,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_assocs((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 245:
-
-/* Line 1806 of yacc.c */
#line 2407 "ripper.y"
{
#if 0
@@ -7507,12 +7217,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_assocs(arg_new(), (yyvsp[(1) - (2)].val));
- }
+ ;}
break;
case 246:
-
-/* Line 1806 of yacc.c */
#line 2417 "ripper.y"
{
#if 0
@@ -7520,21 +7228,17 @@ yyreduce:
#endif
(yyval.val) = dispatch1(arg_paren, escape_Qundef((yyvsp[(2) - (3)].val)));
- }
+ ;}
break;
case 251:
-
-/* Line 1806 of yacc.c */
#line 2433 "ripper.y"
{
(yyval.val) = (yyvsp[(1) - (2)].val);
- }
+ ;}
break;
case 252:
-
-/* Line 1806 of yacc.c */
#line 2437 "ripper.y"
{
#if 0
@@ -7542,12 +7246,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_assocs((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 253:
-
-/* Line 1806 of yacc.c */
#line 2445 "ripper.y"
{
#if 0
@@ -7555,12 +7257,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_assocs(arg_new(), (yyvsp[(1) - (2)].val));
- }
+ ;}
break;
case 254:
-
-/* Line 1806 of yacc.c */
#line 2455 "ripper.y"
{
#if 0
@@ -7569,12 +7269,10 @@ yyreduce:
#endif
(yyval.val) = arg_add(arg_new(), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 255:
-
-/* Line 1806 of yacc.c */
#line 2464 "ripper.y"
{
#if 0
@@ -7582,12 +7280,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_optblock((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 256:
-
-/* Line 1806 of yacc.c */
#line 2472 "ripper.y"
{
#if 0
@@ -7597,12 +7293,10 @@ yyreduce:
(yyval.val) = arg_add_assocs(arg_new(), (yyvsp[(1) - (2)].val));
(yyval.val) = arg_add_optblock((yyval.val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 257:
-
-/* Line 1806 of yacc.c */
#line 2482 "ripper.y"
{
#if 0
@@ -7611,42 +7305,34 @@ yyreduce:
#endif
(yyval.val) = arg_add_optblock(arg_add_assocs((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val)), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 258:
-
-/* Line 1806 of yacc.c */
#line 2493 "ripper.y"
{
(yyval.val) = arg_add_block(arg_new(), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 259:
-
-/* Line 1806 of yacc.c */
#line 2499 "ripper.y"
{
(yyval.val) = cmdarg_stack;
CMDARG_PUSH(1);
- }
+ ;}
break;
case 260:
-
-/* Line 1806 of yacc.c */
#line 2504 "ripper.y"
{
/* CMDARG_POP() */
cmdarg_stack = (yyvsp[(1) - (2)].val);
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 261:
-
-/* Line 1806 of yacc.c */
#line 2512 "ripper.y"
{
#if 0
@@ -7654,30 +7340,24 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 262:
-
-/* Line 1806 of yacc.c */
#line 2522 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 263:
-
-/* Line 1806 of yacc.c */
#line 2526 "ripper.y"
{
(yyval.val) = 0;
- }
+ ;}
break;
case 264:
-
-/* Line 1806 of yacc.c */
#line 2532 "ripper.y"
{
#if 0
@@ -7685,12 +7365,10 @@ yyreduce:
#endif
(yyval.val) = arg_add(arg_new(), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 265:
-
-/* Line 1806 of yacc.c */
#line 2540 "ripper.y"
{
#if 0
@@ -7698,12 +7376,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_star(arg_new(), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 266:
-
-/* Line 1806 of yacc.c */
#line 2548 "ripper.y"
{
#if 0
@@ -7717,12 +7393,10 @@ yyreduce:
#endif
(yyval.val) = arg_add((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 267:
-
-/* Line 1806 of yacc.c */
#line 2562 "ripper.y"
{
#if 0
@@ -7736,12 +7410,10 @@ yyreduce:
#endif
(yyval.val) = arg_add_star((yyvsp[(1) - (4)].val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 268:
-
-/* Line 1806 of yacc.c */
#line 2578 "ripper.y"
{
#if 0
@@ -7755,12 +7427,10 @@ yyreduce:
#endif
(yyval.val) = mrhs_add(args2mrhs((yyvsp[(1) - (3)].val)), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 269:
-
-/* Line 1806 of yacc.c */
#line 2592 "ripper.y"
{
#if 0
@@ -7775,12 +7445,10 @@ yyreduce:
#endif
(yyval.val) = mrhs_add_star(args2mrhs((yyvsp[(1) - (4)].val)), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 270:
-
-/* Line 1806 of yacc.c */
#line 2607 "ripper.y"
{
#if 0
@@ -7788,12 +7456,10 @@ yyreduce:
#endif
(yyval.val) = mrhs_add_star(mrhs_new(), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 279:
-
-/* Line 1806 of yacc.c */
#line 2625 "ripper.y"
{
#if 0
@@ -7801,24 +7467,20 @@ yyreduce:
#endif
(yyval.val) = method_arg(dispatch1(fcall, (yyvsp[(1) - (1)].val)), arg_new());
- }
+ ;}
break;
case 280:
-
-/* Line 1806 of yacc.c */
#line 2633 "ripper.y"
{
#if 0
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 281:
-
-/* Line 1806 of yacc.c */
#line 2641 "ripper.y"
{
#if 0
@@ -7835,19 +7497,15 @@ yyreduce:
#endif
(yyval.val) = dispatch1(begin, (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 282:
-
-/* Line 1806 of yacc.c */
#line 2657 "ripper.y"
- {lex_state = EXPR_ENDARG;}
+ {lex_state = EXPR_ENDARG;;}
break;
case 283:
-
-/* Line 1806 of yacc.c */
#line 2658 "ripper.y"
{
rb_warning0("(...) interpreted as grouped expression");
@@ -7856,12 +7514,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(paren, (yyvsp[(2) - (4)].val));
- }
+ ;}
break;
case 284:
-
-/* Line 1806 of yacc.c */
#line 2667 "ripper.y"
{
#if 0
@@ -7869,12 +7525,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 285:
-
-/* Line 1806 of yacc.c */
#line 2675 "ripper.y"
{
#if 0
@@ -7882,12 +7536,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(const_path_ref, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 286:
-
-/* Line 1806 of yacc.c */
#line 2683 "ripper.y"
{
#if 0
@@ -7895,12 +7547,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(top_const_ref, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 287:
-
-/* Line 1806 of yacc.c */
#line 2691 "ripper.y"
{
#if 0
@@ -7913,12 +7563,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(array, escape_Qundef((yyvsp[(2) - (3)].val)));
- }
+ ;}
break;
case 288:
-
-/* Line 1806 of yacc.c */
#line 2704 "ripper.y"
{
#if 0
@@ -7926,12 +7574,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(hash, escape_Qundef((yyvsp[(2) - (3)].val)));
- }
+ ;}
break;
case 289:
-
-/* Line 1806 of yacc.c */
#line 2712 "ripper.y"
{
#if 0
@@ -7939,12 +7585,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(return0);
- }
+ ;}
break;
case 290:
-
-/* Line 1806 of yacc.c */
#line 2720 "ripper.y"
{
#if 0
@@ -7952,12 +7596,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(yield, dispatch1(paren, (yyvsp[(3) - (4)].val)));
- }
+ ;}
break;
case 291:
-
-/* Line 1806 of yacc.c */
#line 2728 "ripper.y"
{
#if 0
@@ -7965,12 +7607,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(yield, dispatch1(paren, arg_new()));
- }
+ ;}
break;
case 292:
-
-/* Line 1806 of yacc.c */
#line 2736 "ripper.y"
{
#if 0
@@ -7978,19 +7618,15 @@ yyreduce:
#endif
(yyval.val) = dispatch0(yield0);
- }
+ ;}
break;
case 293:
-
-/* Line 1806 of yacc.c */
#line 2743 "ripper.y"
- {in_defined = 1;}
+ {in_defined = 1;;}
break;
case 294:
-
-/* Line 1806 of yacc.c */
#line 2744 "ripper.y"
{
#if 0
@@ -8000,12 +7636,10 @@ yyreduce:
in_defined = 0;
(yyval.val) = dispatch1(defined, (yyvsp[(5) - (6)].val));
- }
+ ;}
break;
case 295:
-
-/* Line 1806 of yacc.c */
#line 2754 "ripper.y"
{
#if 0
@@ -8013,12 +7647,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("not"), (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 296:
-
-/* Line 1806 of yacc.c */
#line 2762 "ripper.y"
{
#if 0
@@ -8026,12 +7658,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("not"), Qnil);
- }
+ ;}
break;
case 297:
-
-/* Line 1806 of yacc.c */
#line 2770 "ripper.y"
{
#if 0
@@ -8042,12 +7672,10 @@ yyreduce:
(yyval.val) = method_arg(dispatch1(fcall, (yyvsp[(1) - (2)].val)), arg_new());
(yyval.val) = method_add_block((yyval.val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 299:
-
-/* Line 1806 of yacc.c */
#line 2782 "ripper.y"
{
#if 0
@@ -8058,21 +7686,17 @@ yyreduce:
#endif
(yyval.val) = method_add_block((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 300:
-
-/* Line 1806 of yacc.c */
#line 2793 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 301:
-
-/* Line 1806 of yacc.c */
#line 2800 "ripper.y"
{
#if 0
@@ -8081,12 +7705,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(if, (yyvsp[(2) - (6)].val), (yyvsp[(4) - (6)].val), escape_Qundef((yyvsp[(5) - (6)].val)));
- }
+ ;}
break;
case 302:
-
-/* Line 1806 of yacc.c */
#line 2812 "ripper.y"
{
#if 0
@@ -8095,26 +7717,20 @@ yyreduce:
#endif
(yyval.val) = dispatch3(unless, (yyvsp[(2) - (6)].val), (yyvsp[(4) - (6)].val), escape_Qundef((yyvsp[(5) - (6)].val)));
- }
+ ;}
break;
case 303:
-
-/* Line 1806 of yacc.c */
#line 2820 "ripper.y"
- {COND_PUSH(1);}
+ {COND_PUSH(1);;}
break;
case 304:
-
-/* Line 1806 of yacc.c */
#line 2820 "ripper.y"
- {COND_POP();}
+ {COND_POP();;}
break;
case 305:
-
-/* Line 1806 of yacc.c */
#line 2823 "ripper.y"
{
#if 0
@@ -8123,26 +7739,20 @@ yyreduce:
#endif
(yyval.val) = dispatch2(while, (yyvsp[(3) - (7)].val), (yyvsp[(6) - (7)].val));
- }
+ ;}
break;
case 306:
-
-/* Line 1806 of yacc.c */
#line 2831 "ripper.y"
- {COND_PUSH(1);}
+ {COND_PUSH(1);;}
break;
case 307:
-
-/* Line 1806 of yacc.c */
#line 2831 "ripper.y"
- {COND_POP();}
+ {COND_POP();;}
break;
case 308:
-
-/* Line 1806 of yacc.c */
#line 2834 "ripper.y"
{
#if 0
@@ -8151,12 +7761,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(until, (yyvsp[(3) - (7)].val), (yyvsp[(6) - (7)].val));
- }
+ ;}
break;
case 309:
-
-/* Line 1806 of yacc.c */
#line 2845 "ripper.y"
{
#if 0
@@ -8165,12 +7773,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(case, (yyvsp[(2) - (5)].val), (yyvsp[(4) - (5)].val));
- }
+ ;}
break;
case 310:
-
-/* Line 1806 of yacc.c */
#line 2854 "ripper.y"
{
#if 0
@@ -8178,26 +7784,20 @@ yyreduce:
#endif
(yyval.val) = dispatch2(case, Qnil, (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 311:
-
-/* Line 1806 of yacc.c */
#line 2862 "ripper.y"
- {COND_PUSH(1);}
+ {COND_PUSH(1);;}
break;
case 312:
-
-/* Line 1806 of yacc.c */
#line 2864 "ripper.y"
- {COND_POP();}
+ {COND_POP();;}
break;
case 313:
-
-/* Line 1806 of yacc.c */
#line 2867 "ripper.y"
{
#if 0
@@ -8258,12 +7858,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(for, (yyvsp[(2) - (9)].val), (yyvsp[(5) - (9)].val), (yyvsp[(8) - (9)].val));
- }
+ ;}
break;
case 314:
-
-/* Line 1806 of yacc.c */
#line 2928 "ripper.y"
{
if (in_def || in_single)
@@ -8273,12 +7871,10 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 315:
-
-/* Line 1806 of yacc.c */
#line 2939 "ripper.y"
{
#if 0
@@ -8288,33 +7884,27 @@ yyreduce:
(yyval.val) = dispatch3(class, (yyvsp[(2) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val));
local_pop();
- }
+ ;}
break;
case 316:
-
-/* Line 1806 of yacc.c */
#line 2949 "ripper.y"
{
(yyval.num) = in_def;
in_def = 0;
- }
+ ;}
break;
case 317:
-
-/* Line 1806 of yacc.c */
#line 2954 "ripper.y"
{
(yyval.num) = in_single;
in_single = 0;
local_push(0);
- }
+ ;}
break;
case 318:
-
-/* Line 1806 of yacc.c */
#line 2961 "ripper.y"
{
#if 0
@@ -8326,12 +7916,10 @@ yyreduce:
local_pop();
in_def = (yyvsp[(4) - (8)].num);
in_single = (yyvsp[(6) - (8)].num);
- }
+ ;}
break;
case 319:
-
-/* Line 1806 of yacc.c */
#line 2973 "ripper.y"
{
if (in_def || in_single)
@@ -8341,12 +7929,10 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 320:
-
-/* Line 1806 of yacc.c */
#line 2984 "ripper.y"
{
#if 0
@@ -8356,24 +7942,20 @@ yyreduce:
(yyval.val) = dispatch2(module, (yyvsp[(2) - (5)].val), (yyvsp[(4) - (5)].val));
local_pop();
- }
+ ;}
break;
case 321:
-
-/* Line 1806 of yacc.c */
#line 2994 "ripper.y"
{
(yyval.id) = cur_mid;
cur_mid = (yyvsp[(2) - (2)].val);
in_def++;
local_push(0);
- }
+ ;}
break;
case 322:
-
-/* Line 1806 of yacc.c */
#line 3003 "ripper.y"
{
#if 0
@@ -8387,30 +7969,24 @@ yyreduce:
local_pop();
in_def--;
cur_mid = (yyvsp[(3) - (6)].id);
- }
+ ;}
break;
case 323:
-
-/* Line 1806 of yacc.c */
#line 3016 "ripper.y"
- {lex_state = EXPR_FNAME;}
+ {lex_state = EXPR_FNAME;;}
break;
case 324:
-
-/* Line 1806 of yacc.c */
#line 3017 "ripper.y"
{
in_single++;
lex_state = EXPR_ENDFN; /* force for args */
local_push(0);
- }
+ ;}
break;
case 325:
-
-/* Line 1806 of yacc.c */
#line 3025 "ripper.y"
{
#if 0
@@ -8423,12 +7999,10 @@ yyreduce:
local_pop();
in_single--;
- }
+ ;}
break;
case 326:
-
-/* Line 1806 of yacc.c */
#line 3038 "ripper.y"
{
#if 0
@@ -8436,12 +8010,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(break, arg_new());
- }
+ ;}
break;
case 327:
-
-/* Line 1806 of yacc.c */
#line 3046 "ripper.y"
{
#if 0
@@ -8449,12 +8021,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(next, arg_new());
- }
+ ;}
break;
case 328:
-
-/* Line 1806 of yacc.c */
#line 3054 "ripper.y"
{
#if 0
@@ -8462,12 +8032,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(redo);
- }
+ ;}
break;
case 329:
-
-/* Line 1806 of yacc.c */
#line 3062 "ripper.y"
{
#if 0
@@ -8475,12 +8043,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(retry);
- }
+ ;}
break;
case 330:
-
-/* Line 1806 of yacc.c */
#line 3072 "ripper.y"
{
#if 0
@@ -8490,93 +8056,73 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 331:
-
-/* Line 1806 of yacc.c */
#line 3084 "ripper.y"
{
token_info_push("begin");
- }
+ ;}
break;
case 332:
-
-/* Line 1806 of yacc.c */
#line 3090 "ripper.y"
{
token_info_push("if");
- }
+ ;}
break;
case 333:
-
-/* Line 1806 of yacc.c */
#line 3096 "ripper.y"
{
token_info_push("unless");
- }
+ ;}
break;
case 334:
-
-/* Line 1806 of yacc.c */
#line 3102 "ripper.y"
{
token_info_push("while");
- }
+ ;}
break;
case 335:
-
-/* Line 1806 of yacc.c */
#line 3108 "ripper.y"
{
token_info_push("until");
- }
+ ;}
break;
case 336:
-
-/* Line 1806 of yacc.c */
#line 3114 "ripper.y"
{
token_info_push("case");
- }
+ ;}
break;
case 337:
-
-/* Line 1806 of yacc.c */
#line 3120 "ripper.y"
{
token_info_push("for");
- }
+ ;}
break;
case 338:
-
-/* Line 1806 of yacc.c */
#line 3126 "ripper.y"
{
token_info_push("class");
- }
+ ;}
break;
case 339:
-
-/* Line 1806 of yacc.c */
#line 3132 "ripper.y"
{
token_info_push("module");
- }
+ ;}
break;
case 340:
-
-/* Line 1806 of yacc.c */
#line 3138 "ripper.y"
{
token_info_push("def");
@@ -8584,42 +8130,32 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 341:
-
-/* Line 1806 of yacc.c */
#line 3148 "ripper.y"
{
token_info_pop("end");
- }
+ ;}
break;
case 342:
-
-/* Line 1806 of yacc.c */
#line 3156 "ripper.y"
- { (yyval.val) = Qnil; }
+ { (yyval.val) = Qnil; ;}
break;
case 344:
-
-/* Line 1806 of yacc.c */
#line 3162 "ripper.y"
- { (yyval.val) = (yyvsp[(2) - (2)].val); }
+ { (yyval.val) = (yyvsp[(2) - (2)].val); ;}
break;
case 345:
-
-/* Line 1806 of yacc.c */
#line 3169 "ripper.y"
- { (yyval.val) = Qnil; }
+ { (yyval.val) = Qnil; ;}
break;
case 348:
-
-/* Line 1806 of yacc.c */
#line 3178 "ripper.y"
{
#if 0
@@ -8628,12 +8164,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(elsif, (yyvsp[(2) - (5)].val), (yyvsp[(4) - (5)].val), escape_Qundef((yyvsp[(5) - (5)].val)));
- }
+ ;}
break;
case 350:
-
-/* Line 1806 of yacc.c */
#line 3190 "ripper.y"
{
#if 0
@@ -8641,12 +8175,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(else, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 353:
-
-/* Line 1806 of yacc.c */
#line 3204 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
@@ -8654,12 +8186,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyval.val));
- }
+ ;}
break;
case 354:
-
-/* Line 1806 of yacc.c */
#line 3212 "ripper.y"
{
#if 0
@@ -8667,12 +8197,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 355:
-
-/* Line 1806 of yacc.c */
#line 3222 "ripper.y"
{
#if 0
@@ -8680,12 +8208,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add(mlhs_new(), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 356:
-
-/* Line 1806 of yacc.c */
#line 3230 "ripper.y"
{
#if 0
@@ -8693,12 +8219,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 357:
-
-/* Line 1806 of yacc.c */
#line 3240 "ripper.y"
{
#if 0
@@ -8706,12 +8230,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 358:
-
-/* Line 1806 of yacc.c */
#line 3248 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(4) - (4)].val), 0);
@@ -8720,12 +8242,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (4)].val), (yyval.val));
- }
+ ;}
break;
case 359:
-
-/* Line 1806 of yacc.c */
#line 3257 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(4) - (6)].val), 0);
@@ -8734,12 +8254,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (6)].val), (yyval.val));
- }
+ ;}
break;
case 360:
-
-/* Line 1806 of yacc.c */
#line 3266 "ripper.y"
{
#if 0
@@ -8747,12 +8265,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (3)].val), Qnil);
- }
+ ;}
break;
case 361:
-
-/* Line 1806 of yacc.c */
#line 3274 "ripper.y"
{
#if 0
@@ -8760,12 +8276,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyvsp[(1) - (5)].val), (yyvsp[(5) - (5)].val));
- }
+ ;}
break;
case 362:
-
-/* Line 1806 of yacc.c */
#line 3282 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(2) - (2)].val), 0);
@@ -8774,12 +8288,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star(mlhs_new(), (yyval.val));
- }
+ ;}
break;
case 363:
-
-/* Line 1806 of yacc.c */
#line 3291 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(2) - (4)].val), 0);
@@ -8791,12 +8303,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 364:
-
-/* Line 1806 of yacc.c */
#line 3303 "ripper.y"
{
#if 0
@@ -8804,12 +8314,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star(mlhs_new(), Qnil);
- }
+ ;}
break;
case 365:
-
-/* Line 1806 of yacc.c */
#line 3311 "ripper.y"
{
#if 0
@@ -8817,12 +8325,10 @@ yyreduce:
#endif
(yyval.val) = mlhs_add_star(mlhs_new(), Qnil);
- }
+ ;}
break;
case 366:
-
-/* Line 1806 of yacc.c */
#line 3321 "ripper.y"
{
#if 0
@@ -8830,12 +8336,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), Qnil, escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 367:
-
-/* Line 1806 of yacc.c */
#line 3329 "ripper.y"
{
#if 0
@@ -8843,12 +8347,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (8)].val), (yyvsp[(3) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(7) - (8)].val), escape_Qundef((yyvsp[(8) - (8)].val)));
- }
+ ;}
break;
case 368:
-
-/* Line 1806 of yacc.c */
#line 3337 "ripper.y"
{
#if 0
@@ -8856,12 +8358,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), Qnil, Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 369:
-
-/* Line 1806 of yacc.c */
#line 3345 "ripper.y"
{
#if 0
@@ -8869,12 +8369,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), Qnil, (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 370:
-
-/* Line 1806 of yacc.c */
#line 3353 "ripper.y"
{
#if 0
@@ -8882,12 +8380,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (4)].val), Qnil, (yyvsp[(3) - (4)].val), Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 371:
-
-/* Line 1806 of yacc.c */
#line 3361 "ripper.y"
{
#if 0
@@ -8896,12 +8392,10 @@ yyreduce:
(yyval.val) = params_new((yyvsp[(1) - (2)].val), Qnil, Qnil, Qnil, Qnil);
dispatch1(excessed_comma, (yyval.val));
- }
+ ;}
break;
case 372:
-
-/* Line 1806 of yacc.c */
#line 3370 "ripper.y"
{
#if 0
@@ -8909,12 +8403,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), Qnil, (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 373:
-
-/* Line 1806 of yacc.c */
#line 3378 "ripper.y"
{
#if 0
@@ -8922,12 +8414,10 @@ yyreduce:
#endif
(yyval.val) = params_new((yyvsp[(1) - (2)].val), Qnil,Qnil, Qnil, escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 374:
-
-/* Line 1806 of yacc.c */
#line 3386 "ripper.y"
{
#if 0
@@ -8935,12 +8425,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 375:
-
-/* Line 1806 of yacc.c */
#line 3394 "ripper.y"
{
#if 0
@@ -8948,12 +8436,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 376:
-
-/* Line 1806 of yacc.c */
#line 3402 "ripper.y"
{
#if 0
@@ -8961,12 +8447,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (2)].val), Qnil, Qnil,escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 377:
-
-/* Line 1806 of yacc.c */
#line 3410 "ripper.y"
{
#if 0
@@ -8974,12 +8458,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (4)].val), Qnil, (yyvsp[(3) - (4)].val), escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 378:
-
-/* Line 1806 of yacc.c */
#line 3418 "ripper.y"
{
#if 0
@@ -8987,12 +8469,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, Qnil, (yyvsp[(1) - (2)].val), Qnil, escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 379:
-
-/* Line 1806 of yacc.c */
#line 3426 "ripper.y"
{
#if 0
@@ -9000,12 +8480,10 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, Qnil, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 380:
-
-/* Line 1806 of yacc.c */
#line 3434 "ripper.y"
{
#if 0
@@ -9013,21 +8491,17 @@ yyreduce:
#endif
(yyval.val) = params_new(Qnil, Qnil, Qnil, Qnil, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 382:
-
-/* Line 1806 of yacc.c */
#line 3445 "ripper.y"
{
command_start = TRUE;
- }
+ ;}
break;
case 383:
-
-/* Line 1806 of yacc.c */
#line 3451 "ripper.y"
{
#if 0
@@ -9036,12 +8510,10 @@ yyreduce:
(yyval.val) = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
escape_Qundef((yyvsp[(2) - (3)].val)));
- }
+ ;}
break;
case 384:
-
-/* Line 1806 of yacc.c */
#line 3460 "ripper.y"
{
#if 0
@@ -9050,12 +8522,10 @@ yyreduce:
(yyval.val) = blockvar_new(params_new(Qnil,Qnil,Qnil,Qnil,Qnil),
Qnil);
- }
+ ;}
break;
case 385:
-
-/* Line 1806 of yacc.c */
#line 3469 "ripper.y"
{
#if 0
@@ -9063,12 +8533,10 @@ yyreduce:
#endif
(yyval.val) = blockvar_new(escape_Qundef((yyvsp[(2) - (4)].val)), escape_Qundef((yyvsp[(3) - (4)].val)));
- }
+ ;}
break;
case 387:
-
-/* Line 1806 of yacc.c */
#line 3481 "ripper.y"
{
#if 0
@@ -9076,30 +8544,24 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 388:
-
-/* Line 1806 of yacc.c */
#line 3493 "ripper.y"
{
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 389:
-
-/* Line 1806 of yacc.c */
#line 3500 "ripper.y"
{
rb_ary_push((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 390:
-
-/* Line 1806 of yacc.c */
#line 3507 "ripper.y"
{
new_bv(get_id((yyvsp[(1) - (1)].val)));
@@ -9107,40 +8569,32 @@ yyreduce:
#endif
(yyval.val) = get_value((yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 391:
-
-/* Line 1806 of yacc.c */
#line 3515 "ripper.y"
{
(yyval.val) = 0;
- }
+ ;}
break;
case 392:
-
-/* Line 1806 of yacc.c */
#line 3520 "ripper.y"
{
(yyval.vars) = dyna_push();
- }
+ ;}
break;
case 393:
-
-/* Line 1806 of yacc.c */
#line 3523 "ripper.y"
{
(yyval.num) = lpar_beg;
lpar_beg = ++paren_nest;
- }
+ ;}
break;
case 394:
-
-/* Line 1806 of yacc.c */
#line 3529 "ripper.y"
{
lpar_beg = (yyvsp[(2) - (4)].num);
@@ -9151,12 +8605,10 @@ yyreduce:
(yyval.val) = dispatch2(lambda, (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
dyna_pop((yyvsp[(1) - (4)].vars));
- }
+ ;}
break;
case 395:
-
-/* Line 1806 of yacc.c */
#line 3542 "ripper.y"
{
#if 0
@@ -9164,12 +8616,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(paren, (yyvsp[(2) - (4)].val));
- }
+ ;}
break;
case 396:
-
-/* Line 1806 of yacc.c */
#line 3550 "ripper.y"
{
#if 0
@@ -9177,42 +8627,34 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 397:
-
-/* Line 1806 of yacc.c */
#line 3560 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (3)].val);
- }
+ ;}
break;
case 398:
-
-/* Line 1806 of yacc.c */
#line 3564 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (3)].val);
- }
+ ;}
break;
case 399:
-
-/* Line 1806 of yacc.c */
#line 3570 "ripper.y"
{
(yyvsp[(1) - (1)].vars) = dyna_push();
#if 0
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 400:
-
-/* Line 1806 of yacc.c */
#line 3579 "ripper.y"
{
#if 0
@@ -9222,12 +8664,10 @@ yyreduce:
(yyval.val) = dispatch2(do_block, escape_Qundef((yyvsp[(3) - (5)].val)), (yyvsp[(4) - (5)].val));
dyna_pop((yyvsp[(1) - (5)].vars));
- }
+ ;}
break;
case 401:
-
-/* Line 1806 of yacc.c */
#line 3591 "ripper.y"
{
#if 0
@@ -9243,12 +8683,10 @@ yyreduce:
#endif
(yyval.val) = method_add_block((yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 402:
-
-/* Line 1806 of yacc.c */
#line 3607 "ripper.y"
{
#if 0
@@ -9257,12 +8695,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_id2sym('.'), (yyvsp[(3) - (4)].val));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 403:
-
-/* Line 1806 of yacc.c */
#line 3616 "ripper.y"
{
#if 0
@@ -9271,12 +8707,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_intern("::"), (yyvsp[(3) - (4)].val));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 404:
-
-/* Line 1806 of yacc.c */
#line 3627 "ripper.y"
{
#if 0
@@ -9285,12 +8719,10 @@ yyreduce:
#endif
(yyval.val) = method_arg(dispatch1(fcall, (yyvsp[(1) - (2)].val)), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 405:
-
-/* Line 1806 of yacc.c */
#line 3636 "ripper.y"
{
#if 0
@@ -9300,12 +8732,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_id2sym('.'), (yyvsp[(3) - (4)].val));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 406:
-
-/* Line 1806 of yacc.c */
#line 3646 "ripper.y"
{
#if 0
@@ -9315,12 +8745,10 @@ yyreduce:
(yyval.val) = dispatch3(call, (yyvsp[(1) - (4)].val), ripper_id2sym('.'), (yyvsp[(3) - (4)].val));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(4) - (4)].val));
- }
+ ;}
break;
case 407:
-
-/* Line 1806 of yacc.c */
#line 3656 "ripper.y"
{
#if 0
@@ -9328,12 +8756,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(call, (yyvsp[(1) - (3)].val), ripper_intern("::"), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 408:
-
-/* Line 1806 of yacc.c */
#line 3664 "ripper.y"
{
#if 0
@@ -9344,12 +8770,10 @@ yyreduce:
ripper_intern("call"));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 409:
-
-/* Line 1806 of yacc.c */
#line 3675 "ripper.y"
{
#if 0
@@ -9360,12 +8784,10 @@ yyreduce:
ripper_intern("call"));
(yyval.val) = method_optarg((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 410:
-
-/* Line 1806 of yacc.c */
#line 3686 "ripper.y"
{
#if 0
@@ -9373,12 +8795,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(super, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 411:
-
-/* Line 1806 of yacc.c */
#line 3694 "ripper.y"
{
#if 0
@@ -9386,12 +8806,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(zsuper);
- }
+ ;}
break;
case 412:
-
-/* Line 1806 of yacc.c */
#line 3702 "ripper.y"
{
#if 0
@@ -9403,12 +8821,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(aref, (yyvsp[(1) - (4)].val), escape_Qundef((yyvsp[(3) - (4)].val)));
- }
+ ;}
break;
case 413:
-
-/* Line 1806 of yacc.c */
#line 3716 "ripper.y"
{
(yyvsp[(1) - (1)].vars) = dyna_push();
@@ -9416,12 +8832,10 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 414:
-
-/* Line 1806 of yacc.c */
#line 3725 "ripper.y"
{
#if 0
@@ -9431,12 +8845,10 @@ yyreduce:
(yyval.val) = dispatch2(brace_block, escape_Qundef((yyvsp[(3) - (5)].val)), (yyvsp[(4) - (5)].val));
dyna_pop((yyvsp[(1) - (5)].vars));
- }
+ ;}
break;
case 415:
-
-/* Line 1806 of yacc.c */
#line 3735 "ripper.y"
{
(yyvsp[(1) - (1)].vars) = dyna_push();
@@ -9444,12 +8856,10 @@ yyreduce:
(yyval.num) = ruby_sourceline;
#endif
- }
+ ;}
break;
case 416:
-
-/* Line 1806 of yacc.c */
#line 3744 "ripper.y"
{
#if 0
@@ -9459,12 +8869,10 @@ yyreduce:
(yyval.val) = dispatch2(do_block, escape_Qundef((yyvsp[(3) - (5)].val)), (yyvsp[(4) - (5)].val));
dyna_pop((yyvsp[(1) - (5)].vars));
- }
+ ;}
break;
case 417:
-
-/* Line 1806 of yacc.c */
#line 3758 "ripper.y"
{
#if 0
@@ -9472,12 +8880,10 @@ yyreduce:
#endif
(yyval.val) = dispatch3(when, (yyvsp[(2) - (5)].val), (yyvsp[(4) - (5)].val), escape_Qundef((yyvsp[(5) - (5)].val)));
- }
+ ;}
break;
case 420:
-
-/* Line 1806 of yacc.c */
#line 3774 "ripper.y"
{
#if 0
@@ -9494,12 +8900,10 @@ yyreduce:
escape_Qundef((yyvsp[(5) - (6)].val)),
escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 422:
-
-/* Line 1806 of yacc.c */
#line 3794 "ripper.y"
{
#if 0
@@ -9507,12 +8911,10 @@ yyreduce:
#endif
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 423:
-
-/* Line 1806 of yacc.c */
#line 3802 "ripper.y"
{
#if 0
@@ -9520,21 +8922,17 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 425:
-
-/* Line 1806 of yacc.c */
#line 3813 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 427:
-
-/* Line 1806 of yacc.c */
#line 3820 "ripper.y"
{
#if 0
@@ -9542,12 +8940,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(ensure, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 430:
-
-/* Line 1806 of yacc.c */
#line 3832 "ripper.y"
{
#if 0
@@ -9555,12 +8951,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(symbol_literal, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 432:
-
-/* Line 1806 of yacc.c */
#line 3843 "ripper.y"
{
#if 0
@@ -9575,12 +8969,10 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 435:
-
-/* Line 1806 of yacc.c */
#line 3862 "ripper.y"
{
#if 0
@@ -9588,12 +8980,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(string_concat, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 436:
-
-/* Line 1806 of yacc.c */
#line 3872 "ripper.y"
{
#if 0
@@ -9601,12 +8991,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(string_literal, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 437:
-
-/* Line 1806 of yacc.c */
#line 3882 "ripper.y"
{
#if 0
@@ -9631,12 +9019,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(xstring_literal, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 438:
-
-/* Line 1806 of yacc.c */
#line 3909 "ripper.y"
{
#if 0
@@ -9699,12 +9085,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(regexp_literal, (yyvsp[(2) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 439:
-
-/* Line 1806 of yacc.c */
#line 3974 "ripper.y"
{
#if 0
@@ -9713,12 +9097,10 @@ yyreduce:
(yyval.val) = dispatch0(words_new);
(yyval.val) = dispatch1(array, (yyval.val));
- }
+ ;}
break;
case 440:
-
-/* Line 1806 of yacc.c */
#line 3983 "ripper.y"
{
#if 0
@@ -9726,12 +9108,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(array, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 441:
-
-/* Line 1806 of yacc.c */
#line 3993 "ripper.y"
{
#if 0
@@ -9739,12 +9119,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(words_new);
- }
+ ;}
break;
case 442:
-
-/* Line 1806 of yacc.c */
#line 4001 "ripper.y"
{
#if 0
@@ -9752,22 +9130,18 @@ yyreduce:
#endif
(yyval.val) = dispatch2(words_add, (yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 443:
-
-/* Line 1806 of yacc.c */
#line 4013 "ripper.y"
{
(yyval.val) = dispatch0(word_new);
(yyval.val) = dispatch2(word_add, (yyval.val), (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 444:
-
-/* Line 1806 of yacc.c */
#line 4019 "ripper.y"
{
#if 0
@@ -9775,12 +9149,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(word_add, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 445:
-
-/* Line 1806 of yacc.c */
#line 4029 "ripper.y"
{
#if 0
@@ -9789,12 +9161,10 @@ yyreduce:
(yyval.val) = dispatch0(qwords_new);
(yyval.val) = dispatch1(array, (yyval.val));
- }
+ ;}
break;
case 446:
-
-/* Line 1806 of yacc.c */
#line 4038 "ripper.y"
{
#if 0
@@ -9802,12 +9172,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(array, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 447:
-
-/* Line 1806 of yacc.c */
#line 4048 "ripper.y"
{
#if 0
@@ -9815,12 +9183,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(qwords_new);
- }
+ ;}
break;
case 448:
-
-/* Line 1806 of yacc.c */
#line 4056 "ripper.y"
{
#if 0
@@ -9828,12 +9194,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(qwords_add, (yyvsp[(1) - (3)].val), (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 449:
-
-/* Line 1806 of yacc.c */
#line 4066 "ripper.y"
{
#if 0
@@ -9841,12 +9205,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(string_content);
- }
+ ;}
break;
case 450:
-
-/* Line 1806 of yacc.c */
#line 4074 "ripper.y"
{
#if 0
@@ -9854,12 +9216,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(string_add, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 451:
-
-/* Line 1806 of yacc.c */
#line 4084 "ripper.y"
{
#if 0
@@ -9867,12 +9227,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(xstring_new);
- }
+ ;}
break;
case 452:
-
-/* Line 1806 of yacc.c */
#line 4092 "ripper.y"
{
#if 0
@@ -9880,12 +9238,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(xstring_add, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 453:
-
-/* Line 1806 of yacc.c */
#line 4102 "ripper.y"
{
#if 0
@@ -9893,12 +9249,10 @@ yyreduce:
#endif
(yyval.val) = dispatch0(regexp_new);
- }
+ ;}
break;
case 454:
-
-/* Line 1806 of yacc.c */
#line 4110 "ripper.y"
{
#if 0
@@ -9925,23 +9279,19 @@ yyreduce:
#endif
(yyval.val) = dispatch2(regexp_add, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 456:
-
-/* Line 1806 of yacc.c */
#line 4140 "ripper.y"
{
(yyval.node) = lex_strterm;
lex_strterm = 0;
lex_state = EXPR_BEG;
- }
+ ;}
break;
case 457:
-
-/* Line 1806 of yacc.c */
#line 4146 "ripper.y"
{
#if 0
@@ -9951,35 +9301,29 @@ yyreduce:
lex_strterm = (yyvsp[(2) - (3)].node);
(yyval.val) = dispatch1(string_dvar, (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 458:
-
-/* Line 1806 of yacc.c */
#line 4156 "ripper.y"
{
(yyvsp[(1) - (1)].val) = cond_stack;
(yyval.val) = cmdarg_stack;
cond_stack = 0;
cmdarg_stack = 0;
- }
+ ;}
break;
case 459:
-
-/* Line 1806 of yacc.c */
#line 4162 "ripper.y"
{
(yyval.node) = lex_strterm;
lex_strterm = 0;
lex_state = EXPR_BEG;
- }
+ ;}
break;
case 460:
-
-/* Line 1806 of yacc.c */
#line 4168 "ripper.y"
{
cond_stack = (yyvsp[(1) - (5)].val);
@@ -9991,12 +9335,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(string_embexpr, (yyvsp[(4) - (5)].val));
- }
+ ;}
break;
case 461:
-
-/* Line 1806 of yacc.c */
#line 4182 "ripper.y"
{
#if 0
@@ -10004,12 +9346,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_ref, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 462:
-
-/* Line 1806 of yacc.c */
#line 4190 "ripper.y"
{
#if 0
@@ -10017,12 +9357,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_ref, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 463:
-
-/* Line 1806 of yacc.c */
#line 4198 "ripper.y"
{
#if 0
@@ -10030,12 +9368,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_ref, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 465:
-
-/* Line 1806 of yacc.c */
#line 4209 "ripper.y"
{
lex_state = EXPR_END;
@@ -10044,12 +9380,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(symbol, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 470:
-
-/* Line 1806 of yacc.c */
#line 4226 "ripper.y"
{
lex_state = EXPR_END;
@@ -10077,12 +9411,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(dyna_symbol, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 473:
-
-/* Line 1806 of yacc.c */
#line 4258 "ripper.y"
{
#if 0
@@ -10090,12 +9422,10 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("-@"), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 474:
-
-/* Line 1806 of yacc.c */
#line 4266 "ripper.y"
{
#if 0
@@ -10103,61 +9433,45 @@ yyreduce:
#endif
(yyval.val) = dispatch2(unary, ripper_intern("-@"), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 480:
-
-/* Line 1806 of yacc.c */
#line 4282 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword_nil);}
+ {ifndef_ripper((yyval.val) = keyword_nil);;}
break;
case 481:
-
-/* Line 1806 of yacc.c */
#line 4283 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword_self);}
+ {ifndef_ripper((yyval.val) = keyword_self);;}
break;
case 482:
-
-/* Line 1806 of yacc.c */
#line 4284 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword_true);}
+ {ifndef_ripper((yyval.val) = keyword_true);;}
break;
case 483:
-
-/* Line 1806 of yacc.c */
#line 4285 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword_false);}
+ {ifndef_ripper((yyval.val) = keyword_false);;}
break;
case 484:
-
-/* Line 1806 of yacc.c */
#line 4286 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword__FILE__);}
+ {ifndef_ripper((yyval.val) = keyword__FILE__);;}
break;
case 485:
-
-/* Line 1806 of yacc.c */
#line 4287 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword__LINE__);}
+ {ifndef_ripper((yyval.val) = keyword__LINE__);;}
break;
case 486:
-
-/* Line 1806 of yacc.c */
#line 4288 "ripper.y"
- {ifndef_ripper((yyval.val) = keyword__ENCODING__);}
+ {ifndef_ripper((yyval.val) = keyword__ENCODING__);;}
break;
case 487:
-
-/* Line 1806 of yacc.c */
#line 4292 "ripper.y"
{
#if 0
@@ -10170,12 +9484,10 @@ yyreduce:
(yyval.val) = dispatch1(vcall, (yyvsp[(1) - (1)].val));
}
- }
+ ;}
break;
case 488:
-
-/* Line 1806 of yacc.c */
#line 4305 "ripper.y"
{
#if 0
@@ -10183,12 +9495,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_ref, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 489:
-
-/* Line 1806 of yacc.c */
#line 4315 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
@@ -10196,12 +9506,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_field, (yyval.val));
- }
+ ;}
break;
case 490:
-
-/* Line 1806 of yacc.c */
#line 4323 "ripper.y"
{
(yyval.val) = assignable((yyvsp[(1) - (1)].val), 0);
@@ -10209,12 +9517,10 @@ yyreduce:
#endif
(yyval.val) = dispatch1(var_field, (yyval.val));
- }
+ ;}
break;
case 493:
-
-/* Line 1806 of yacc.c */
#line 4337 "ripper.y"
{
#if 0
@@ -10222,30 +9528,24 @@ yyreduce:
#endif
(yyval.val) = Qnil;
- }
+ ;}
break;
case 494:
-
-/* Line 1806 of yacc.c */
#line 4345 "ripper.y"
{
lex_state = EXPR_BEG;
- }
+ ;}
break;
case 495:
-
-/* Line 1806 of yacc.c */
#line 4349 "ripper.y"
{
(yyval.val) = (yyvsp[(3) - (4)].val);
- }
+ ;}
break;
case 496:
-
-/* Line 1806 of yacc.c */
#line 4353 "ripper.y"
{
#if 0
@@ -10255,12 +9555,10 @@ yyreduce:
yyerrok;
(yyval.val) = Qnil;
- }
+ ;}
break;
case 497:
-
-/* Line 1806 of yacc.c */
#line 4365 "ripper.y"
{
#if 0
@@ -10270,217 +9568,185 @@ yyreduce:
lex_state = EXPR_BEG;
command_start = TRUE;
- }
+ ;}
break;
case 498:
-
-/* Line 1806 of yacc.c */
#line 4375 "ripper.y"
{
(yyval.val) = (yyvsp[(1) - (2)].val);
- }
+ lex_state = EXPR_BEG;
+ command_start = TRUE;
+ ;}
break;
case 499:
-
-/* Line 1806 of yacc.c */
-#line 4381 "ripper.y"
+#line 4383 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), 0, (yyvsp[(6) - (6)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), Qnil, escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 500:
-
-/* Line 1806 of yacc.c */
-#line 4389 "ripper.y"
+#line 4391 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (8)].val), (yyvsp[(3) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(7) - (8)].val), (yyvsp[(8) - (8)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (8)].val), (yyvsp[(3) - (8)].val), (yyvsp[(5) - (8)].val), (yyvsp[(7) - (8)].val), escape_Qundef((yyvsp[(8) - (8)].val)));
- }
+ ;}
break;
case 501:
-
-/* Line 1806 of yacc.c */
-#line 4397 "ripper.y"
+#line 4399 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), 0, 0, (yyvsp[(4) - (4)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), Qnil, Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 502:
-
-/* Line 1806 of yacc.c */
-#line 4405 "ripper.y"
+#line 4407 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), 0, (yyvsp[(5) - (6)].val), (yyvsp[(6) - (6)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), Qnil, (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 503:
-
-/* Line 1806 of yacc.c */
-#line 4413 "ripper.y"
+#line 4415 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (4)].val), 0, (yyvsp[(3) - (4)].val), 0, (yyvsp[(4) - (4)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (4)].val), Qnil, (yyvsp[(3) - (4)].val), Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 504:
-
-/* Line 1806 of yacc.c */
-#line 4421 "ripper.y"
+#line 4423 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (6)].val), 0, (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), (yyvsp[(6) - (6)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (6)].val), Qnil, (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 505:
-
-/* Line 1806 of yacc.c */
-#line 4429 "ripper.y"
+#line 4431 "ripper.y"
{
#if 0
(yyval.val) = new_args((yyvsp[(1) - (2)].val), 0, 0, 0, (yyvsp[(2) - (2)].val));
#endif
(yyval.val) = params_new((yyvsp[(1) - (2)].val), Qnil, Qnil, Qnil,escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 506:
-
-/* Line 1806 of yacc.c */
-#line 4437 "ripper.y"
+#line 4439 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), 0, (yyvsp[(4) - (4)].val));
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), Qnil, escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 507:
-
-/* Line 1806 of yacc.c */
-#line 4445 "ripper.y"
+#line 4447 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, (yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), (yyvsp[(6) - (6)].val));
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (6)].val), (yyvsp[(3) - (6)].val), (yyvsp[(5) - (6)].val), escape_Qundef((yyvsp[(6) - (6)].val)));
- }
+ ;}
break;
case 508:
-
-/* Line 1806 of yacc.c */
-#line 4453 "ripper.y"
+#line 4455 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, (yyvsp[(1) - (2)].val), 0, 0, (yyvsp[(2) - (2)].val));
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (2)].val), Qnil, Qnil,escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 509:
-
-/* Line 1806 of yacc.c */
-#line 4461 "ripper.y"
+#line 4463 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, (yyvsp[(1) - (4)].val), 0, (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
#endif
(yyval.val) = params_new(Qnil, (yyvsp[(1) - (4)].val), Qnil, (yyvsp[(3) - (4)].val), escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 510:
-
-/* Line 1806 of yacc.c */
-#line 4469 "ripper.y"
+#line 4471 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, 0, (yyvsp[(1) - (2)].val), 0, (yyvsp[(2) - (2)].val));
#endif
(yyval.val) = params_new(Qnil, Qnil, (yyvsp[(1) - (2)].val), Qnil,escape_Qundef((yyvsp[(2) - (2)].val)));
- }
+ ;}
break;
case 511:
-
-/* Line 1806 of yacc.c */
-#line 4477 "ripper.y"
+#line 4479 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, 0, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), (yyvsp[(4) - (4)].val));
#endif
(yyval.val) = params_new(Qnil, Qnil, (yyvsp[(1) - (4)].val), (yyvsp[(3) - (4)].val), escape_Qundef((yyvsp[(4) - (4)].val)));
- }
+ ;}
break;
case 512:
-
-/* Line 1806 of yacc.c */
-#line 4485 "ripper.y"
+#line 4487 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, 0, 0, 0, (yyvsp[(1) - (1)].val));
#endif
(yyval.val) = params_new(Qnil, Qnil, Qnil, Qnil, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 513:
-
-/* Line 1806 of yacc.c */
-#line 4493 "ripper.y"
+#line 4495 "ripper.y"
{
#if 0
(yyval.val) = new_args(0, 0, 0, 0, 0);
#endif
(yyval.val) = params_new(Qnil, Qnil, Qnil, Qnil, Qnil);
- }
+ ;}
break;
case 514:
-
-/* Line 1806 of yacc.c */
-#line 4503 "ripper.y"
+#line 4505 "ripper.y"
{
#if 0
yyerror("formal argument cannot be a constant");
@@ -10488,13 +9754,11 @@ yyreduce:
#endif
(yyval.val) = dispatch1(param_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 515:
-
-/* Line 1806 of yacc.c */
-#line 4512 "ripper.y"
+#line 4514 "ripper.y"
{
#if 0
yyerror("formal argument cannot be an instance variable");
@@ -10502,13 +9766,11 @@ yyreduce:
#endif
(yyval.val) = dispatch1(param_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 516:
-
-/* Line 1806 of yacc.c */
-#line 4521 "ripper.y"
+#line 4523 "ripper.y"
{
#if 0
yyerror("formal argument cannot be a global variable");
@@ -10516,13 +9778,11 @@ yyreduce:
#endif
(yyval.val) = dispatch1(param_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 517:
-
-/* Line 1806 of yacc.c */
-#line 4530 "ripper.y"
+#line 4532 "ripper.y"
{
#if 0
yyerror("formal argument cannot be a class variable");
@@ -10530,23 +9790,19 @@ yyreduce:
#endif
(yyval.val) = dispatch1(param_error, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 519:
-
-/* Line 1806 of yacc.c */
-#line 4542 "ripper.y"
+#line 4544 "ripper.y"
{
formal_argument(get_id((yyvsp[(1) - (1)].val)));
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 520:
-
-/* Line 1806 of yacc.c */
-#line 4549 "ripper.y"
+#line 4551 "ripper.y"
{
arg_var(get_id((yyvsp[(1) - (1)].val)));
#if 0
@@ -10554,13 +9810,11 @@ yyreduce:
#endif
(yyval.val) = get_value((yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 521:
-
-/* Line 1806 of yacc.c */
-#line 4558 "ripper.y"
+#line 4560 "ripper.y"
{
ID tid = internal_id();
arg_var(tid);
@@ -10576,22 +9830,18 @@ yyreduce:
#endif
(yyval.val) = dispatch1(mlhs_paren, (yyvsp[(2) - (3)].val));
- }
+ ;}
break;
case 522:
-
-/* Line 1806 of yacc.c */
-#line 4579 "ripper.y"
+#line 4581 "ripper.y"
{
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 523:
-
-/* Line 1806 of yacc.c */
-#line 4584 "ripper.y"
+#line 4586 "ripper.y"
{
#if 0
(yyval.val) = (yyvsp[(1) - (3)].val);
@@ -10601,13 +9851,11 @@ yyreduce:
#endif
(yyval.val) = rb_ary_push((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 524:
-
-/* Line 1806 of yacc.c */
-#line 4597 "ripper.y"
+#line 4599 "ripper.y"
{
arg_var(formal_argument(get_id((yyvsp[(1) - (3)].val))));
(yyval.val) = assignable((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
@@ -10616,13 +9864,11 @@ yyreduce:
#endif
(yyval.val) = rb_assoc_new((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 525:
-
-/* Line 1806 of yacc.c */
-#line 4609 "ripper.y"
+#line 4611 "ripper.y"
{
arg_var(formal_argument(get_id((yyvsp[(1) - (3)].val))));
(yyval.val) = assignable((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
@@ -10631,26 +9877,22 @@ yyreduce:
#endif
(yyval.val) = rb_assoc_new((yyval.val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 526:
-
-/* Line 1806 of yacc.c */
-#line 4621 "ripper.y"
+#line 4623 "ripper.y"
{
#if 0
(yyval.val) = (yyvsp[(1) - (1)].val);
#endif
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 527:
-
-/* Line 1806 of yacc.c */
-#line 4629 "ripper.y"
+#line 4631 "ripper.y"
{
#if 0
NODE *opts = (yyvsp[(1) - (3)].val);
@@ -10663,26 +9905,22 @@ yyreduce:
#endif
(yyval.val) = rb_ary_push((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 528:
-
-/* Line 1806 of yacc.c */
-#line 4645 "ripper.y"
+#line 4647 "ripper.y"
{
#if 0
(yyval.val) = (yyvsp[(1) - (1)].val);
#endif
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 529:
-
-/* Line 1806 of yacc.c */
-#line 4653 "ripper.y"
+#line 4655 "ripper.y"
{
#if 0
NODE *opts = (yyvsp[(1) - (3)].val);
@@ -10695,13 +9933,11 @@ yyreduce:
#endif
(yyval.val) = rb_ary_push((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 532:
-
-/* Line 1806 of yacc.c */
-#line 4673 "ripper.y"
+#line 4675 "ripper.y"
{
#if 0
if (!is_local_id((yyvsp[(2) - (2)].val)))
@@ -10713,13 +9949,11 @@ yyreduce:
#endif
(yyval.val) = dispatch1(rest_param, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 533:
-
-/* Line 1806 of yacc.c */
-#line 4686 "ripper.y"
+#line 4688 "ripper.y"
{
#if 0
(yyval.val) = internal_id();
@@ -10727,13 +9961,11 @@ yyreduce:
#endif
(yyval.val) = dispatch1(rest_param, Qnil);
- }
+ ;}
break;
case 536:
-
-/* Line 1806 of yacc.c */
-#line 4701 "ripper.y"
+#line 4703 "ripper.y"
{
#if 0
if (!is_local_id((yyvsp[(2) - (2)].val)))
@@ -10747,35 +9979,29 @@ yyreduce:
#endif
(yyval.val) = dispatch1(blockarg, (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 537:
-
-/* Line 1806 of yacc.c */
-#line 4718 "ripper.y"
+#line 4720 "ripper.y"
{
(yyval.val) = (yyvsp[(2) - (2)].val);
- }
+ ;}
break;
case 538:
-
-/* Line 1806 of yacc.c */
-#line 4722 "ripper.y"
+#line 4724 "ripper.y"
{
#if 0
(yyval.val) = 0;
#endif
(yyval.val) = Qundef;
- }
+ ;}
break;
case 539:
-
-/* Line 1806 of yacc.c */
-#line 4732 "ripper.y"
+#line 4734 "ripper.y"
{
#if 0
value_expr((yyvsp[(1) - (1)].val));
@@ -10784,20 +10010,16 @@ yyreduce:
#endif
(yyval.val) = (yyvsp[(1) - (1)].val);
- }
+ ;}
break;
case 540:
-
-/* Line 1806 of yacc.c */
-#line 4741 "ripper.y"
- {lex_state = EXPR_BEG;}
+#line 4743 "ripper.y"
+ {lex_state = EXPR_BEG;;}
break;
case 541:
-
-/* Line 1806 of yacc.c */
-#line 4742 "ripper.y"
+#line 4744 "ripper.y"
{
#if 0
if ((yyvsp[(3) - (4)].val) == 0) {
@@ -10823,128 +10045,96 @@ yyreduce:
#endif
(yyval.val) = dispatch1(paren, (yyvsp[(3) - (4)].val));
- }
+ ;}
break;
case 543:
-
-/* Line 1806 of yacc.c */
-#line 4772 "ripper.y"
+#line 4774 "ripper.y"
{
#if 0
(yyval.val) = (yyvsp[(1) - (2)].val);
#endif
(yyval.val) = dispatch1(assoclist_from_args, (yyvsp[(1) - (2)].val));
- }
+ ;}
break;
case 544:
-
-/* Line 1806 of yacc.c */
-#line 4784 "ripper.y"
+#line 4786 "ripper.y"
{
(yyval.val) = rb_ary_new3(1, (yyvsp[(1) - (1)].val));
- }
+ ;}
break;
case 545:
-
-/* Line 1806 of yacc.c */
-#line 4789 "ripper.y"
+#line 4791 "ripper.y"
{
#if 0
(yyval.val) = list_concat((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
#endif
(yyval.val) = rb_ary_push((yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 546:
-
-/* Line 1806 of yacc.c */
-#line 4799 "ripper.y"
+#line 4801 "ripper.y"
{
#if 0
(yyval.val) = list_append(NEW_LIST((yyvsp[(1) - (3)].val)), (yyvsp[(3) - (3)].val));
#endif
(yyval.val) = dispatch2(assoc_new, (yyvsp[(1) - (3)].val), (yyvsp[(3) - (3)].val));
- }
+ ;}
break;
case 547:
-
-/* Line 1806 of yacc.c */
-#line 4807 "ripper.y"
+#line 4809 "ripper.y"
{
#if 0
(yyval.val) = list_append(NEW_LIST(NEW_LIT(ID2SYM((yyvsp[(1) - (2)].val)))), (yyvsp[(2) - (2)].val));
#endif
(yyval.val) = dispatch2(assoc_new, (yyvsp[(1) - (2)].val), (yyvsp[(2) - (2)].val));
- }
+ ;}
break;
case 558:
-
-/* Line 1806 of yacc.c */
-#line 4835 "ripper.y"
- { (yyval.val) = (yyvsp[(1) - (1)].val); }
+#line 4837 "ripper.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
break;
case 559:
-
-/* Line 1806 of yacc.c */
-#line 4840 "ripper.y"
- { (yyval.val) = (yyvsp[(1) - (1)].val); }
+#line 4842 "ripper.y"
+ { (yyval.val) = (yyvsp[(1) - (1)].val); ;}
break;
case 569:
-
-/* Line 1806 of yacc.c */
-#line 4863 "ripper.y"
- {yyerrok;}
+#line 4865 "ripper.y"
+ {yyerrok;;}
break;
case 572:
-
-/* Line 1806 of yacc.c */
-#line 4868 "ripper.y"
- {yyerrok;}
+#line 4870 "ripper.y"
+ {yyerrok;;}
break;
case 573:
-
-/* Line 1806 of yacc.c */
-#line 4872 "ripper.y"
+#line 4874 "ripper.y"
{
#if 0
(yyval.val) = 0;
#endif
(yyval.val) = Qundef;
- }
+ ;}
break;
-
-/* Line 1806 of yacc.c */
-#line 10933 "parse.c"
+/* Line 1267 of yacc.c. */
+#line 10134 "parse.c"
default: break;
}
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@@ -10953,6 +10143,7 @@ yyreduce:
*++yyvsp = yyval;
+
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -10972,10 +10163,6 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@@ -10983,36 +10170,37 @@ yyerrlab:
#if ! YYERROR_VERBOSE
parser_yyerror (parser, YY_("syntax error"));
#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
- yyssp, yytoken)
{
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- parser_yyerror (parser, yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
+ YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+ if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+ {
+ YYSIZE_T yyalloc = 2 * yysize;
+ if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+ yyalloc = YYSTACK_ALLOC_MAXIMUM;
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+ if (yymsg)
+ yymsg_alloc = yyalloc;
+ else
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ }
+ }
+
+ if (0 < yysize && yysize <= yymsg_alloc)
+ {
+ (void) yysyntax_error (yymsg, yystate, yychar);
+ parser_yyerror (parser, yymsg);
+ }
+ else
+ {
+ parser_yyerror (parser, YY_("syntax error"));
+ if (yysize != 0)
+ goto yyexhaustedlab;
+ }
}
-# undef YYSYNTAX_ERROR
#endif
}
@@ -11020,7 +10208,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse lookahead token after an
+ /* If just tried and failed to reuse look-ahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -11037,7 +10225,7 @@ yyerrlab:
}
}
- /* Else will try to reuse lookahead token after shifting the error
+ /* Else will try to reuse look-ahead token after shifting the error
token. */
goto yyerrlab1;
@@ -11071,7 +10259,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
+ if (yyn != YYPACT_NINF)
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@@ -11094,6 +10282,9 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
*++yyvsp = yylval;
@@ -11118,7 +10309,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#if !defined(yyoverflow) || YYERROR_VERBOSE
+#ifndef yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -11129,14 +10320,9 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval, parser);
- }
+ if (yychar != YYEOF && yychar != YYEMPTY)
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval, parser);
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@@ -11160,9 +10346,7 @@ yyreturn:
}
-
-/* Line 2067 of yacc.c */
-#line 4880 "ripper.y"
+#line 4882 "ripper.y"
# undef parser
# undef yylex
@@ -12212,7 +11396,7 @@ parser_tokadd_string(struct parser_params *parser,
default:
if (c == -1) return -1;
if (!ISASCII(c)) {
- tokadd('\\');
+ if ((func & STR_FUNC_EXPAND) == 0) tokadd('\\');
goto non_ascii;
}
if (func & STR_FUNC_REGEXP) {
@@ -12269,6 +11453,25 @@ parser_tokadd_string(struct parser_params *parser,
#define NEW_STRTERM(func, term, paren) \
rb_node_newnode(NODE_STRTERM, (func), (term) | ((paren) << (CHAR_BIT * 2)), 0)
+#ifdef RIPPER
+static void
+ripper_flush_string_content(struct parser_params *parser, rb_encoding *enc)
+{
+ if (!NIL_P(parser->delayed)) {
+ ptrdiff_t len = lex_p - parser->tokp;
+ if (len > 0) {
+ rb_enc_str_buf_cat(parser->delayed, parser->tokp, len, enc);
+ }
+ ripper_dispatch_delayed_token(parser, tSTRING_CONTENT);
+ parser->tokp = lex_p;
+ }
+}
+
+#define flush_string_content(enc) ripper_flush_string_content(parser, (enc))
+#else
+#define flush_string_content(enc) ((void)(enc))
+#endif
+
static int
parser_parse_string(struct parser_params *parser, NODE *quote)
{
@@ -12327,17 +11530,7 @@ parser_parse_string(struct parser_params *parser, NODE *quote)
tokfix();
set_yylval_str(STR_NEW3(tok(), toklen(), enc, func));
-
-#ifdef RIPPER
- if (!NIL_P(parser->delayed)) {
- ptrdiff_t len = lex_p - parser->tokp;
- if (len > 0) {
- rb_enc_str_buf_cat(parser->delayed, parser->tokp, len, enc);
- }
- ripper_dispatch_delayed_token(parser, tSTRING_CONTENT);
- parser->tokp = lex_p;
- }
-#endif
+ flush_string_content(enc);
return tSTRING_CONTENT;
}
@@ -12542,6 +11735,7 @@ parser_here_document(struct parser_params *parser, NODE *here)
}
if (c != '\n') {
set_yylval_str(STR_NEW3(tok(), toklen(), enc, func));
+ flush_string_content(enc);
return tSTRING_CONTENT;
}
tokadd(nextc());
@@ -12819,6 +12013,7 @@ parser_magic_comment(struct parser_params *parser, const char *str, long len)
}
} while (++p < magic_comments + numberof(magic_comments));
#else
+ str_copy(val, vbeg, vend - vbeg);
dispatch2(magic_comment, name, val);
#endif
}
@@ -13301,7 +12496,6 @@ parser_yylex(struct parser_params *parser)
}
else if (!lex_eol_p() && !(c = *lex_p, ISASCII(c))) {
nextc();
- tokadd('\\');
if (tokadd_mbchar(c) == -1) return 0;
}
else {
@@ -14198,7 +13392,8 @@ parser_yylex(struct parser_params *parser)
ID ident = TOK_INTERN(!ENC_SINGLE(mb));
set_yylval_name(ident);
- if (last_state != EXPR_DOT && is_local_id(ident) && lvar_defined(ident)) {
+ if (last_state != EXPR_DOT && last_state != EXPR_FNAME &&
+ is_local_id(ident) && lvar_defined(ident)) {
lex_state = EXPR_END;
}
}