diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-26 13:25:09 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-26 13:25:09 +0000 |
commit | b6285a01fb49551e85c20587f6f9846a55f32bf5 (patch) | |
tree | ffa466f109290de98efa81e3b2603f901fd44eaf /tool/transcode-tblgen.rb | |
parent | 0881a39acd7d3dfa6cdbea76f80dabd939996807 (diff) | |
download | ruby-b6285a01fb49551e85c20587f6f9846a55f32bf5.tar.gz |
* tool/transcode-tb (ActionMap#each_firstbyte):
if :asis collides other mappings, use another.
* tool/transcode-tb (ActionMap#generate_info):
add :asis for ASIS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/transcode-tblgen.rb')
-rw-r--r-- | tool/transcode-tblgen.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 266b5a8500..83fc198da0 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -237,7 +237,10 @@ class ActionMap else ss.each_firstbyte {|byte, rest| h[byte] ||= {} - if h[byte][rest] + if h[byte][rest].nil? + elsif action == :asis + next + elsif h[byte][rest] != :asis raise "ambiguous %s or %s (%02X/%s)" % [h[byte][rest], action, byte, rest] end h[byte][rest] = action @@ -316,6 +319,8 @@ class ActionMap case info when :nomap "NOMAP" + when :asis + "ASIS" when :undef "UNDEF" when :invalid |