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

ruby-changes:9985

From: matz <ko1@a...>
Date: Thu, 15 Jan 2009 15:07:11 +0900 (JST)
Subject: [ruby-changes:9985] Ruby:r21527 (trunk): * parse.y (command): moved return/break/next from command_call for

matz	2009-01-15 15:06:47 +0900 (Thu, 15 Jan 2009)

  New Revision: 21527

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

  Log:
    * parse.y (command): moved return/break/next from command_call for
      better error message.
    * parse.y (call_args): void value check added.

  Modified files:
    trunk/ChangeLog
    trunk/parse.y

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21526)
+++ ChangeLog	(revision 21527)
@@ -7,6 +7,11 @@
 	* parse.y (stmt): explicit error for "Object::Far += foo 1" just
 	  as "Object::Far += 1".
 
+	* parse.y (command): moved return/break/next from command_call for
+	  better error message.
+
+	* parse.y (call_args): void value check added.
+
 Thu Jan 15 13:10:58 2009  NAKAMURA Usaku  <usa@r...>
 
 	* win32/Makefile.sub (COMPILERFLAG): for enc/trans/gb18030.c.
Index: parse.y
===================================================================
--- parse.y	(revision 21526)
+++ parse.y	(revision 21527)
@@ -1212,30 +1212,6 @@
 
 command_call	: command
 		| block_command
-		| keyword_return call_args
-		    {
-		    /*%%%*/
-			$$ = NEW_RETURN(ret_args($2));
-		    /*%
-			$$ = dispatch1(return, $2);
-		    %*/
-		    }
-		| keyword_break call_args
-		    {
-		    /*%%%*/
-			$$ = NEW_BREAK(ret_args($2));
-		    /*%
-			$$ = dispatch1(break, $2);
-		    %*/
-		    }
-		| keyword_next call_args
-		    {
-		    /*%%%*/
-			$$ = NEW_NEXT(ret_args($2));
-		    /*%
-			$$ = dispatch1(next, $2);
-		    %*/
-		    }
 		;
 
 block_command	: block_call
@@ -1362,6 +1338,30 @@
 			$$ = dispatch1(yield, $2);
 		    %*/
 		    }
+		| keyword_return call_args
+		    {
+		    /*%%%*/
+			$$ = NEW_RETURN(ret_args($2));
+		    /*%
+			$$ = dispatch1(return, $2);
+		    %*/
+		    }
+		| keyword_break call_args
+		    {
+		    /*%%%*/
+			$$ = NEW_BREAK(ret_args($2));
+		    /*%
+			$$ = dispatch1(break, $2);
+		    %*/
+		    }
+		| keyword_next call_args
+		    {
+		    /*%%%*/
+			$$ = NEW_NEXT(ret_args($2));
+		    /*%
+			$$ = dispatch1(next, $2);
+		    %*/
+		    }
 		;
 
 mlhs		: mlhs_basic
@@ -2337,6 +2337,7 @@
 call_args	: command
 		    {
 		    /*%%%*/
+			value_expr($1);
 			$$ = NEW_LIST($1);
 		    /*%
 			$$ = arg_add(arg_new(), $1);

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

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