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

* tool/transcode-tblgen.rb (ArrayCode): less string substitutions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-09-08 09:16:45 +00:00
parent 933eb07996
commit 1625494feb
2 changed files with 16 additions and 11 deletions

View file

@ -1,3 +1,7 @@
Mon Sep 8 18:15:59 2008 Tanaka Akira <akr@fsij.org>
* tool/transcode-tblgen.rb (ArrayCode): less string substitutions.
Mon Sep 8 18:13:13 2008 Tanaka Akira <akr@fsij.org>
* vm.c (rb_mRubyVMFrozenCore): registered for GC.

View file

@ -157,27 +157,28 @@ end
class ArrayCode
def initialize(type, name)
@code = <<"End"
static const #{type}
#{name}[0] = {
};
End
@type = type
@name = name
@len = 0;
@content = ''
end
def length
@code[/\[\d+\]/][1...-1].to_i
@len
end
def insert_at_last(num, str)
newnum = self.length + num
@code.sub!(/^(\};\n\z)/) {
str + $1
}
@code.sub!(/\[\d+\]/) { "[#{newnum}]" }
@content << str
@len += num
end
def to_s
@code.dup
<<"End"
static const #{@type}
#{@name}[#{@len}] = {
#{@content}};
End
end
end