ruby-changes:7510
From: akr <ko1@a...>
Date: Mon, 1 Sep 2008 21:56:59 +0900 (JST)
Subject: [ruby-changes:7510] Ruby:r19031 (trunk): * tool/transcode-tblgen.rb: gather offsets array at top.
akr 2008-09-01 21:52:58 +0900 (Mon, 01 Sep 2008) New Revision: 19031 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19031 Log: * tool/transcode-tblgen.rb: gather offsets array at top. Modified files: trunk/ChangeLog trunk/tool/transcode-tblgen.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 19030) +++ ChangeLog (revision 19031) @@ -1,3 +1,7 @@ +Mon Sep 1 21:46:18 2008 Tanaka Akira <akr@f...> + + * tool/transcode-tblgen.rb: gather offsets array at top. + Mon Sep 1 21:09:04 2008 Yuki Sonoda (Yugui) <yugui@y...> * ./: removed rubyspec from svn:ignore subversion property. Index: tool/transcode-tblgen.rb =================================================================== --- tool/transcode-tblgen.rb (revision 19030) +++ tool/transcode-tblgen.rb (revision 19031) @@ -298,7 +298,7 @@ code end - def generate_lookup_node(name, table) + def generate_lookup_node(bytes_code, code, name, table) offsets = [] infos = [] infomap = {} @@ -330,6 +330,7 @@ #{offsets_name}[#{2+max-min+1}] = #{format_offsets(min,max,offsets)}; End OffsetsMemo[offsets_key] = offsets_name + bytes_code << offsets_code end if n = InfosMemo[infos] @@ -344,7 +345,7 @@ InfosMemo[infos] = infos_name end - r = offsets_code + infos_code + <<"End" + r = infos_code + <<"End" static const BYTE_LOOKUP #{name} = { #{offsets_name}, @@ -352,14 +353,14 @@ }; End - r + code << r end PreMemo = {} PostMemo = {} NextName = "a" - def generate_node(code, name_hint=nil, valid_encoding=nil) + def generate_node(bytes_code, code, name_hint=nil, valid_encoding=nil) if n = PreMemo[[self,valid_encoding]] return n end @@ -371,7 +372,7 @@ else name_hint2 = nil name_hint2 = "#{name_hint}_#{'%02X' % byte}" if name_hint - table[byte] = "&" + rest.generate_node(code, name_hint2, rest_valid_encoding) + table[byte] = "&" + rest.generate_node(bytes_code, code, name_hint2, rest_valid_encoding) end } @@ -386,13 +387,13 @@ PreMemo[[self,valid_encoding]] = PostMemo[table] = name_hint - code << generate_lookup_node(name_hint, table) + generate_lookup_node(bytes_code, code, name_hint, table) name_hint end - def gennode(name_hint=nil, valid_encoding=nil) + def gennode(bytes_code, name_hint=nil, valid_encoding=nil) code = '' - name = generate_node(code, name_hint, valid_encoding) + name = generate_node(bytes_code, code, name_hint, valid_encoding) return name, code end end @@ -535,11 +536,12 @@ valid_encoding = nil end - defined_name, code = am.gennode(name, valid_encoding) + defined_name, code = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, name, valid_encoding) return defined_name, code, max_input end TRANSCODERS = [] +TRANSCODE_GENERATED_BYTES_CODE = '' TRANSCODE_GENERATED_CODE = '' def transcode_tblgen(from, to, map) @@ -577,13 +579,13 @@ def transcode_generate_node(am, name_hint=nil) STDERR.puts "converter for #{name_hint}" if VERBOSE_MODE - name, code = am.gennode(name_hint) + name, code = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, name_hint) TRANSCODE_GENERATED_CODE << code '' end def transcode_generated_code - TRANSCODE_GENERATED_CODE + TRANSCODE_GENERATED_BYTES_CODE + TRANSCODE_GENERATED_CODE end def transcode_register_code -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/