1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
aamine 2007-02-23 03:25:26 +00:00
parent 606734f0b1
commit 67c94cae96
3 changed files with 18 additions and 13 deletions

View file

@ -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.

View file

@ -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'

21
parse.y
View file

@ -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);
%*/
}
;