diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-06 07:23:40 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-06 07:23:40 +0000 |
commit | 611159923088a098ee5903e7fb356ec7f12debd1 () | |
tree | e90d79747a2f10da2ddab61288b697228e108079 /tool/transcode-tblgen.rb | |
parent | 529827d711b1a5ed06bea18af8770d13d4f44e0e (diff) |
struct.c (documentation for rb_struct_members_m):
fix 'array of strings' to 'array of symbols' [ruby-core:44152][Bug #6264] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rwxr-xr-x | tool/transcode-tblgen.rb | 488 |
1 files changed, 462 insertions, 26 deletions
@@ -1,3 +1,4 @@ require 'optparse' require 'erb' require 'fileutils' @@ -553,37 +554,48 @@ class ActionMap min = max = 0 end - offsets_key = [min, max, offsets[min..max]] - if n = OffsetsMemo[offsets_key] - offsets_name = n - else - offsets_name = "#{name}_offsets" - OffsetsMemo[offsets_key] = offsets_name - size = bytes_code.length - bytes_code.insert_at_last(2+max-min+1, - "\#define #{offsets_name} #{size}\n" + - format_offsets(min,max,offsets) + "\n") - end - if n = InfosMemo[infos] - infos_name = n - else - infos_name = "#{name}_infos" - InfosMemo[infos] = infos_name - size = words_code.length - words_code.insert_at_last(infos.length, - "\#define #{infos_name} WORDINDEX2INFO(#{size})\n" + - format_infos(infos) + "\n") - end - size = words_code.length - words_code.insert_at_last(NUM_ELEM_BYTELOOKUP, - "\#define #{name} WORDINDEX2INFO(#{size})\n" + - <<"End" + "\n") #{offsets_name}, #{infos_name}, End end PreMemo = {} @@ -864,7 +876,428 @@ def transcode_generate_node(am, name_hint=nil) '' end def transcode_generated_code TRANSCODE_GENERATED_BYTES_CODE.to_s + TRANSCODE_GENERATED_WORDS_CODE.to_s + "\#define TRANSCODE_TABLE_INFO " + @@ -988,6 +1421,9 @@ if __FILE__ == $0 TRANSCODE_GENERATED_BYTES_CODE = ArrayCode.new("unsigned char", "#{OUTPUT_PREFIX}byte_array") TRANSCODE_GENERATED_WORDS_CODE = ArrayCode.new("unsigned int", "#{OUTPUT_PREFIX}word_array") arg = ARGV.shift $srcdir = File.dirname(arg) $:.unshift $srcdir unless $:.include? $srcdir @@ -1059,6 +1495,6 @@ if __FILE__ == $0 elapsed = Time.now - start_time STDERR.puts "done. (#{'%.2f' % tms.utime}user #{'%.2f' % tms.stime}system #{'%.2f' % elapsed}elapsed)" if VERBOSE_MODE else - print result end end |