Issue #5738 has been reported by Sho H…
Bug #5738: if false; BEGIN {}; end が syntax error になる
Author: Sho H.
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3dev (2011-07-31 revision 32789) [i686-linux]
1.8 の時と異なり、以下のコードが syntax error になります。
if false; BEGIN {}; end
test/ruby/test_beginendblock.rb や過去の NEWS
に記述がない事などから、もしかしたらバグかもしれないと考えています。1.9 からの仕様であれば reject してやってください。
なお、以下についても syntax error になりますが、1.8 の時と異なり、yyerror(“BEGIN in method”);
に到達しない事からチケットを発行する事にしました。
def foo; BEGIN {}; end
Sho_H
December 10, 2011, 2:35pm
2
Issue #5738 has been updated by Sho H…
了解です。ありがとうございます。
Bug #5738: if false; BEGIN {}; end が syntax error になる
Author: Sho H.
Status: Rejected
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3dev (2011-07-31 revision 32789) [i686-linux]
1.8 の時と異なり、以下のコードが syntax error になります。
if false; BEGIN {}; end
test/ruby/test_beginendblock.rb や過去の NEWS
に記述がない事などから、もしかしたらバグかもしれないと考えています。1.9 からの仕様であれば reject してやってください。
なお、以下についても syntax error になりますが、1.8 の時と異なり、yyerror(“BEGIN in method”);
に到達しない事からチケットを発行する事にしました。
def foo; BEGIN {}; end
Sho_H
December 10, 2011, 2:10pm
3
Issue #5738 has been updated by Yukihiro M…
Status changed from Open to Rejected
エラーのタイプは異なりますが、この変更は意図的です。ifでくくってあってもBEGINはコンパイル時に登録されます。ので、トップレベルでしか登録できないように文法が変更されました。
Bug #5738: if false; BEGIN {}; end が syntax error になる
Author: Sho H.
Status: Rejected
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3dev (2011-07-31 revision 32789) [i686-linux]
1.8 の時と異なり、以下のコードが syntax error になります。
if false; BEGIN {}; end
test/ruby/test_beginendblock.rb や過去の NEWS
に記述がない事などから、もしかしたらバグかもしれないと考えています。1.9 からの仕様であれば reject してやってください。
なお、以下についても syntax error になりますが、1.8 の時と異なり、yyerror(“BEGIN in method”);
に到達しない事からチケットを発行する事にしました。
def foo; BEGIN {}; end
Sho_H
December 10, 2011, 3:26pm
4
$BA0ED$G$9!#(B
2011$BG/(B12$B7n(B10$BF|(B22:10 Yukihiro M. [email protected] :
$B%(%i!<$N%?%$%W$O0[$J$j$^$9$,!“$3$NJQ99$O0U?^E*$G$9!#(Bif$B$G$/$/$C$F$”$C$F$b(BBEGIN$B$O%3%s%Q%$%k;~$KEPO?$5$l$^$9!#$N$G!"%H%C%W%l%Y%k$G$7$+EPO?$G$-$J$$$h$&$KJ8K!$,JQ99$5$l$^$7$?!#(B
$B%(%i!<%a%C%;!<%8$,$o$+$j$K$/$/$J$C$F$$$k5$$,$9$k$N$G$9$,!"$3$s$J46$8$G(B
$B%(%i!<%a%C%;!<%8$rI=<($7$F$O$I$&$G$7$g$&$+!#(B
error message for BEGIN · GitHub
$B$;$a$F!"0J2<$N%Q%9$ODL$i$J$$$N$G:o$C$?J}$,$$$$$h$&$K;W$$$^$9!#(B
if (in_def || in_single) {
yyerror("BEGIN in method");
}
Sho_H
December 12, 2011, 5:03am
5
$B$^$D$b$H(B $B$f$-$R$m$G$9(B
In message “Re: [ruby-dev:44966] Re: [ruby-trunk - Bug #5738 ][Rejected]
if false; BEGIN {}; end $B$,(B syntax error $B$K$J$k(B”
on Sat, 10 Dec 2011 23:25:19 +0900, Shugo M.
[email protected] writes:
|$B%(%i!<%a%C%;!<%8$,$o$+$j$K$/$/$J$C$F$$$k5$$,$9$k$N$G$9$,!"$3$s$J46$8$G(B
|$B%(%i!<%a%C%;!<%8$rI=<($7$F$O$I$&$G$7$g$&$+!#(B
|
| error message for BEGIN · GitHub
$B$J$k$[$I!#$=$l$G$b$$$$$+$b$7$l$^$;$s$M!#%3%_%C%H$7$F$/$@$5$$!#(B