1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/ytab.sed
nobu 76e845505a * tool/ytab.sed: skip yydestruct hack unless yymsg exists, for bison
1.8 series.  [ruby-dev:32825]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-28 02:46:06 +00:00

30 lines
532 B
Sed
Executable file

#!/bin/sed -f
/^int yydebug;/{
i\
#ifndef yydebug
a\
#endif
}
/^yydestruct.*yymsg/,/#endif/{
/^yydestruct/{
/parser/!{
h
s/^/ruby_parser_&/
s/)$/, parser)/
/\*/s/parser)$/struct parser_params *&/
}
}
/^#endif/{
x
/^./{
i\
struct parser_params *parser;
a\
#define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, parser)
}
x
}
}
s/^\([ ]*\)\(yyerror[ ]*([ ]*parser,\)/\1parser_\2/
s!^ *extern char \*getenv();!/* & */!
s/^\(#.*\)".*\.tab\.c"/\1"parse.c"/