[前][次][番号順一覧][スレッド一覧]

ruby-changes:2884

From: ko1@a...
Date: 21 Dec 2007 09:27:53 +0900
Subject: [ruby-changes:2884] akr - Ruby:r14375 (trunk): * tool/compile_prelude.rb: use erb.

akr	2007-12-21 09:27:40 +0900 (Fri, 21 Dec 2007)

  New Revision: 14375

  Modified files:
    trunk/ChangeLog
    trunk/common.mk
    trunk/tool/compile_prelude.rb

  Log:
    * tool/compile_prelude.rb: use erb.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/tool/compile_prelude.rb?r1=14375&r2=14374
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14375&r2=14374
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/common.mk?r1=14375&r2=14374

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14374)
+++ ChangeLog	(revision 14375)
@@ -1,3 +1,7 @@
+Fri Dec 21 09:26:48 2007  Tanaka Akira  <akr@f...>
+
+	* tool/compile_prelude.rb: use erb.
+
 Fri Dec 21 08:07:35 2007  Yukihiro Matsumoto  <matz@r...>
 
 	* enumerator.c (enumerator_next): should call next_init() if fiber
Index: common.mk
===================================================================
--- common.mk	(revision 14374)
+++ common.mk	(revision 14375)
@@ -648,7 +648,7 @@
 	$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
 
 prelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $(srcdir)/gem_prelude.rb $(RBCONFIG)
-	$(MINIRUBY) -I$(srcdir) -rrbconfig $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $(srcdir)/gem_prelude.rb $@
+	$(MINIRUBY) -I$(srcdir) -I$(srcdir)/lib -rrbconfig $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $(srcdir)/gem_prelude.rb $@
 
 prereq: incs {$(VPATH)}parse.c $(srcdir)/ext/ripper/ripper.c {$(VPATH)}miniprelude.c
 
Index: tool/compile_prelude.rb
===================================================================
--- tool/compile_prelude.rb	(revision 14374)
+++ tool/compile_prelude.rb	(revision 14375)
@@ -56,36 +56,35 @@
   [setup_lines, lines]
 }
 
-require 'tool/serb'
+require 'erb'
 
-tmp = ''
-eval(serb(<<'EOS', 'tmp'))
+tmp = ERB.new(<<'EOS', nil, '%').result(binding)
 #include "ruby/ruby.h"
 #include "vm_core.h"
 
-! preludes.zip(lines_list).each_with_index {|(prelude, (setup_lines, lines)), i|
-static const char prelude_name<%i%>[] = <%c_esc(File.basename(prelude))%>;
-static const char prelude_code<%i%>[] =
-!   (setup_lines+lines).each {|line|
-<%line%>
-!   }
+% preludes.zip(lines_list).each_with_index {|(prelude, (setup_lines, lines)), i|
+static const char prelude_name<%=i%>[] = <%=c_esc(File.basename(prelude))%>;
+static const char prelude_code<%=i%>[] =
+%   (setup_lines+lines).each {|line|
+<%=line%>
+%   }
 ;
-! }
+% }
 
 void
 Init_prelude(void)
 {
-! lines_list.each_with_index {|(setup_lines, lines), i|
+% lines_list.each_with_index {|(setup_lines, lines), i|
   rb_iseq_eval(rb_iseq_compile(
-    rb_str_new(prelude_code<%i%>, sizeof(prelude_code<%i%>) - 1),
-    rb_str_new(prelude_name<%i%>, sizeof(prelude_name<%i%>) - 1),
-    INT2FIX(<%1-setup_lines.length%>)));
+    rb_str_new(prelude_code<%=i%>, sizeof(prelude_code<%=i%>) - 1),
+    rb_str_new(prelude_name<%=i%>, sizeof(prelude_name<%=i%>) - 1),
+    INT2FIX(<%=1-setup_lines.length%>)));
 
-! }
+% }
 #if 0
-! preludes.length.times {|i|
-    puts(prelude_code<%i%>);
-! }
+% preludes.length.times {|i|
+    puts(prelude_code<%=i%>);
+% }
 #endif
 }
 EOS

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]