From 67c94cae969538b2d442fcf8b37663e8aa141686 Mon Sep 17 00:00:00 2001 From: aamine Date: Fri, 23 Feb 2007 03:25:26 +0000 Subject: * parse.y (lambda): add ripper event. This fixes bus error on "make test-all". * ext/ripper/extconf.rb: do not stop build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ ext/ripper/extconf.rb | 3 --- parse.y | 21 +++++++++++---------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 48603ad00d..74855de336 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Feb 23 12:24:46 2007 Minero Aoki + + * 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 * parse.y: remove dyna_check_gen() prototype. diff --git a/ext/ripper/extconf.rb b/ext/ripper/extconf.rb index 99814e5d6c..6b44073300 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' diff --git a/parse.y b/parse.y index 5c4fbf9120..e4958888f2 100644 --- a/parse.y +++ b/parse.y @@ -3208,29 +3208,30 @@ bvar : tIDENTIFIER } ; -lambda : { +lambda : { /*%%%*/ dyna_push(); + $$ = lpar_beg; + lpar_beg = ++paren_nest; /*% %*/ } - { - $$ = lpar_beg; - lpar_beg = ++paren_nest; - } f_larglist { - $$ = vtable_size(lvtbl->dvars); + /*%%%*/ + $$ = 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 = $2; + lpar_beg = $1; /*% - $$ = dispatch2(lambda, $3, $5); + $$ = dispatch2(lambda, $2, $4); %*/ } ; -- cgit v1.2.3