From d68854c07f839371d9da8dceaa291caecee40d33 Mon Sep 17 00:00:00 2001 From: yugui Date: Thu, 15 Jan 2009 15:39:02 +0000 Subject: merges r21509 and r21512 from trunk into ruby_1_9_1. * enc/trans/gb18030.trans, gb18030-tbl.rb: new Chinese GB18030 transcoding (from Yoshihiro Kambayashi) * test/ruby/test_transcode.rb: added tests for the above (from Yoshihiro Kambayashi) * transcode_data.h, transcode.c, tool/transcode_tblgen.rb: added support for GB18030-specific 4-byte sequences (with Yoshihiro Kambayashi) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/transcode-tblgen.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tool') diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 870d971e9e..0269b8933c 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -334,6 +334,8 @@ class ActionMap "o2(0x#$1,0x#$2)" when /\A([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])\z/i "o3(0x#$1,0x#$2,0x#$3)" + when /\A([0-9a-f][0-9a-f])(3[0-9])([0-9a-f][0-9a-f])(3[0-9])\z/i + "g4(0x#$1,0x#$2,0x#$3,0x#$4)" when /\A(f[0-7])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])\z/i "o4(0x#$1,0x#$2,0x#$3,0x#$4)" when /\A([0-9a-f][0-9a-f]){4,259}\z/i @@ -605,7 +607,7 @@ end TRANSCODERS = [] TRANSCODE_GENERATED_TRANSCODER_CODE = '' -def transcode_tblgen(from, to, map) +def transcode_tbl_only(from, to, map) if VERBOSE_MODE if from.empty? || to.empty? STDERR.puts "converter for #{from.empty? ? to : from}" @@ -624,6 +626,11 @@ def transcode_tblgen(from, to, map) end map = encode_utf8(map) real_tree_name, max_input = transcode_compile_tree(tree_name, from, map) + return map, tree_name, real_tree_name, max_input +end + +def transcode_tblgen(from, to, map) + map, tree_name, real_tree_name, max_input = transcode_tbl_only(from, to, map) transcoder_name = "rb_#{tree_name}" TRANSCODERS << transcoder_name input_unit_length = UnitLength[from] -- cgit v1.2.3