[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:150

From: Nobuyoshi Nakada <nobu.nokada softhome.net>
Date: Wed, 25 Aug 2004 23:15:59 +0900
Subject: [yarv-dev:150] Re: eval order

なかだです。

At Wed, 25 Aug 2004 18:59:00 +0900,
Yukihiro Matsumoto wrote:
> | ちなみに,こいつの修正はすぐ終わりますね.
> | yarv では左から右にしてみました.
> 
> うーん、じゃあ、どうしようかなあ。
> 
> | まぁ,こちらはパーサのほうだと思うのでパスします ^^;
> 
> 時間が取れたら見てみます。

それぞれこんなとこでしょうか。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.688
diff -u -2 -p -r1.688 eval.c
--- eval.c	19 Aug 2004 07:33:15 -0000	1.688
+++ eval.c	25 Aug 2004 03:30:59 -0000
@@ -3769,4 +3769,6 @@ rb_eval(self, n)
 		rb_raise(rb_eTypeError, "no outer class/module");
 	    }
+
+	    cbase = class_prefix(self, node->nd_cpath);
 	    if (node->nd_super) {
 		super = superclass(self, node->nd_super);
@@ -3775,6 +3777,4 @@ rb_eval(self, n)
 		super = 0;
 	    }
-
-	    cbase = class_prefix(self, node->nd_cpath);
 	    cname = node->nd_cpath->nd_mid;
 	    if (rb_const_defined_at(cbase, cname)) {
Index: parse.y
===================================================================
RCS file: /cvs/ruby/src/ruby/parse.y,v
retrieving revision 1.329
diff -u -2 -p -r1.329 parse.y
--- parse.y	17 Jul 2004 09:29:21 -0000	1.329
+++ parse.y	25 Aug 2004 13:50:20 -0000
@@ -4147,5 +4147,5 @@ yylex()
       case '(':
 	command_start = Qtrue;
-	if (IS_BEG()) {
+	if (IS_BEG() || lex_state == EXPR_CLASS) {
 	    c = tLPAREN;
 	}


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       144 2004-08-25 10:42 [ko1 atdot.net       ] eval order                              
       145 2004-08-25 12:10 ┗[matz ruby-lang.org  ]                                       
       148 2004-08-25 13:35  ┗[ko1 atdot.net       ]                                     
       149 2004-08-25 18:59   ┗[matz ruby-lang.org  ]                                   
->     150 2004-08-25 23:15    ┗[nobu.nokada softhome]                                 
       151 2004-08-26 11:27     ┗[matz ruby-lang.org  ]