diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/ripper/extconf.rb | 3 | ||||
-rw-r--r-- | parse.y | 21 |
3 files changed, 18 insertions, 13 deletions
@@ -1,3 +1,10 @@ +Fri Feb 23 12:24:46 2007 Minero Aoki <aamine@loveruby.net> + + * parse.y (lambda): add ripper event. This fixes bus error on + "make test-all". + + * ext/ripper/extconf.rb: do not stop build. + Fri Feb 23 12:16:05 2007 Yukihiro Matsumoto <matz@ruby-lang.org> * parse.y: remove dyna_check_gen() prototype. diff --git a/ext/ripper/extconf.rb b/ext/ripper/extconf.rb index 99814e5d6..6b4407330 100644 --- a/ext/ripper/extconf.rb +++ b/ext/ripper/extconf.rb @@ -4,9 +4,6 @@ require 'mkmf' require 'rbconfig' def main - Logging.message "YARV doesn't support Ripper" - return - unless find_executable('bison') unless File.exist?('ripper.c') or File.exist?("#{$srcdir}/ripper.c") Logging.message 'missing bison; abort' @@ -3208,29 +3208,30 @@ bvar : tIDENTIFIER } ; -lambda : { +lambda : { /*%%%*/ dyna_push(); + $<num>$ = lpar_beg; + lpar_beg = ++paren_nest; /*% %*/ } - { - $<num>$ = lpar_beg; - lpar_beg = ++paren_nest; - } f_larglist { - $<num>$ = vtable_size(lvtbl->dvars); + /*%%%*/ + $<num>$ = vtable_size(lvtbl->dvars); + /*% + %*/ } lambda_body { /*%%%*/ - $$ = $3; - $$->nd_body = block_append($$->nd_body, $5); + $$ = $2; + $$->nd_body = block_append($$->nd_body, $4); dyna_pop(); - lpar_beg = $<num>2; + lpar_beg = $<num>1; /*% - $$ = dispatch2(lambda, $3, $5); + $$ = dispatch2(lambda, $2, $4); %*/ } ; |