From edf1d608c725db1a42f884a91c7ac18b9f98aef0 Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 1 Sep 2008 14:16:30 +0000 Subject: [PATCH] * tool/transcode-tblgen.rb: gather infos arrays and BYTE_LOOKUPs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 +++++- tool/transcode-tblgen.rb | 33 ++++++++++++++++----------------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4c025c84e1..d4ba6b17ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 1 23:14:25 2008 Tanaka Akira + + * tool/transcode-tblgen.rb: gather infos arrays and BYTE_LOOKUPs. + Mon Sep 1 22:42:54 2008 Yuki Sonoda (Yugui) * lib/mkmf.rb (distclean): added RM_RF conftest.dSYM. @@ -19,7 +23,7 @@ Mon Sep 1 22:20:22 2008 Tanaka Akira Mon Sep 1 21:46:18 2008 Tanaka Akira - * tool/transcode-tblgen.rb: gather offsets array at top. + * tool/transcode-tblgen.rb: gather offsets arrays at top. Mon Sep 1 21:09:04 2008 Yuki Sonoda (Yugui) diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 507b56f503..22587ac4f3 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -297,7 +297,7 @@ class ActionMap code end - def generate_lookup_node(bytes_code, code, name, table) + def generate_lookup_node(bytes_code, words_code, name, table) offsets = [] infos = [] infomap = {} @@ -361,14 +361,14 @@ static const BYTE_LOOKUP }; End - code << r + words_code << r end PreMemo = {} PostMemo = {} NextName = "a" - def generate_node(bytes_code, code, name_hint=nil, valid_encoding=nil) + def generate_node(bytes_code, words_code, name_hint=nil, valid_encoding=nil) if n = PreMemo[[self,valid_encoding]] return n end @@ -380,7 +380,7 @@ End else name_hint2 = nil name_hint2 = "#{name_hint}_#{'%02X' % byte}" if name_hint - table[byte] = "&" + rest.generate_node(bytes_code, code, name_hint2, rest_valid_encoding) + table[byte] = "&" + rest.generate_node(bytes_code, words_code, name_hint2, rest_valid_encoding) end } @@ -395,14 +395,13 @@ End PreMemo[[self,valid_encoding]] = PostMemo[table] = name_hint - generate_lookup_node(bytes_code, code, name_hint, table) + generate_lookup_node(bytes_code, words_code, name_hint, table) name_hint end - def gennode(bytes_code, name_hint=nil, valid_encoding=nil) - code = '' - name = generate_node(bytes_code, code, name_hint, valid_encoding) - return name, code + def gennode(bytes_code, words_code, name_hint=nil, valid_encoding=nil) + name = generate_node(bytes_code, words_code, name_hint, valid_encoding) + return name end end @@ -544,13 +543,14 @@ def transcode_compile_tree(name, from, map) valid_encoding = nil end - defined_name, code = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, name, valid_encoding) - return defined_name, code, max_input + defined_name = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, TRANSCODE_GENERATED_WORDS_CODE, name, valid_encoding) + return defined_name, max_input end TRANSCODERS = [] TRANSCODE_GENERATED_BYTES_CODE = '' -TRANSCODE_GENERATED_CODE = '' +TRANSCODE_GENERATED_WORDS_CODE = '' +TRANSCODE_GENERATED_TRANSCODER_CODE = '' def transcode_tblgen(from, to, map) STDERR.puts "converter from #{from} to #{to}" if VERBOSE_MODE @@ -564,7 +564,7 @@ def transcode_tblgen(from, to, map) tree_name = "from_#{id_from}_to_#{id_to}" end map = encode_utf8(map) - real_tree_name, tree_code, max_input = transcode_compile_tree(tree_name, from, map) + real_tree_name, max_input = transcode_compile_tree(tree_name, from, map) transcoder_name = "rb_#{tree_name}" TRANSCODERS << transcoder_name input_unit_length = UnitLength[from] @@ -581,19 +581,18 @@ static const rb_transcoder NULL, NULL, NULL }; End - TRANSCODE_GENERATED_CODE << tree_code + "\n" + transcoder_code + TRANSCODE_GENERATED_TRANSCODER_CODE << transcoder_code '' end def transcode_generate_node(am, name_hint=nil) STDERR.puts "converter for #{name_hint}" if VERBOSE_MODE - name, code = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, name_hint) - TRANSCODE_GENERATED_CODE << code + name = am.gennode(TRANSCODE_GENERATED_BYTES_CODE, TRANSCODE_GENERATED_WORDS_CODE, name_hint) '' end def transcode_generated_code - TRANSCODE_GENERATED_BYTES_CODE + TRANSCODE_GENERATED_CODE + TRANSCODE_GENERATED_BYTES_CODE + TRANSCODE_GENERATED_WORDS_CODE + TRANSCODE_GENERATED_TRANSCODER_CODE end def transcode_register_code