[前][次][番号順一覧][スレッド一覧]

ruby-changes:15497

From: nobu <ko1@a...>
Date: Mon, 19 Apr 2010 19:19:12 +0900 (JST)
Subject: [ruby-changes:15497] Ruby:r27399 (trunk): * parse.y (parser_yylex): reduced duplicated conditions.

nobu	2010-04-19 19:18:56 +0900 (Mon, 19 Apr 2010)

  New Revision: 27399

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27399

  Log:
    * parse.y (parser_yylex): reduced duplicated conditions.

  Modified files:
    trunk/ChangeLog
    trunk/parse.y

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 27398)
+++ ChangeLog	(revision 27399)
@@ -1,3 +1,7 @@
+Mon Apr 19 19:18:53 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* parse.y (parser_yylex): reduced duplicated conditions.
+
 Mon Apr 19 13:58:04 2010  Eric Hodel  <drbrain@s...>
 
 	* lib/rdoc:  Update to RDoc 2.5.4.  Fixes #3169, #3160, #3023.
Index: parse.y
===================================================================
--- parse.y	(revision 27398)
+++ parse.y	(revision 27399)
@@ -6117,7 +6117,7 @@
     dispatch0(arg_ambiguous);
 #endif
 }
-#define arg_ambiguous() arg_ambiguous_gen(parser)
+#define arg_ambiguous() (arg_ambiguous_gen(parser), 1)
 
 static ID
 formal_argument_gen(struct parser_params *parser, ID lhs)
@@ -6886,8 +6886,7 @@
 	    lex_state = EXPR_BEG;
 	    return tOP_ASGN;
 	}
-	if (IS_BEG() || IS_SPCARG(c)) {
-	    if (!IS_BEG()) arg_ambiguous();
+	if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous())) {
 	    lex_state = EXPR_BEG;
 	    pushback(c);
 	    if (c != -1 && ISDIGIT(c)) {
@@ -6919,8 +6918,7 @@
 	    lex_state = EXPR_ARG;
 	    return tLAMBDA;
 	}
-	if (IS_BEG() || IS_SPCARG(c)) {
-	    if (!IS_BEG()) arg_ambiguous();
+	if (IS_BEG() || (IS_SPCARG(c) && arg_ambiguous())) {
 	    lex_state = EXPR_BEG;
 	    pushback(c);
 	    if (c != -1 && ISDIGIT(c)) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]