diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-25 12:26:11 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-25 12:26:11 +0000 |
| commit | d2068ff8f292b275ea7546ab281807f776011f68 (patch) | |
| tree | 35c38660a424cc61cc3f7a494364ca07518317f0 | |
| parent | 0a79e4c9b1413ccda6133405cc9523a605728531 (diff) | |
| download | ruby-d2068ff8f292b275ea7546ab281807f776011f68.tar.gz ruby-d2068ff8f292b275ea7546ab281807f776011f68.tar.xz ruby-d2068ff8f292b275ea7546ab281807f776011f68.zip | |
* common.mk (parse.c): depends on tool/ytab.sed.
* tool/ytab.sed: hack for bison 2.1.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | common.mk | 2 | ||||
| -rwxr-xr-x | tool/ytab.sed | 22 |
3 files changed, 28 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Tue Dec 25 21:26:09 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * common.mk (parse.c): depends on tool/ytab.sed. + + * tool/ytab.sed: hack for bison 2.1. + Tue Dec 25 20:24:58 2007 Technorama Ltd. <oss-ruby@technorama.net> * ext/openssl/ossl_ssl.c: Only show a warning if the default @@ -368,7 +368,7 @@ enc.mk: $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/de PHONY: -{$(VPATH)}parse.c: {$(VPATH)}parse.y +{$(VPATH)}parse.c: {$(VPATH)}parse.y $(srcdir)/tool/ytab.sed {$(srcdir)}.y.c: $(YACC) $(YFLAGS) -o y.tab.c $< diff --git a/tool/ytab.sed b/tool/ytab.sed index d75367abe..92f821820 100755 --- a/tool/ytab.sed +++ b/tool/ytab.sed @@ -5,6 +5,26 @@ i\ a\ #endif } -s/^[ ]*\(yyerror[ ]*([ ]*parser,\)/parser_\1/ +/^yydestruct/,/#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"/ |
