ruby-changes:7696
From: akr <ko1@a...>
Date: Sun, 7 Sep 2008 19:46:47 +0900 (JST)
Subject: [ruby-changes:7696] Ruby:r19217 (trunk): * enc/trans/escape.trans: use transcode_tblgen.
akr 2008-09-07 19:46:30 +0900 (Sun, 07 Sep 2008) New Revision: 19217 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19217 Log: * enc/trans/escape.trans: use transcode_tblgen. * tool/transcode-tblgen.rb: generate an empty line after str1. Modified files: trunk/ChangeLog trunk/enc/trans/escape.trans trunk/tool/transcode-tblgen.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 19216) +++ ChangeLog (revision 19217) @@ -1,3 +1,9 @@ +Sun Sep 7 19:45:31 2008 Tanaka Akira <akr@f...> + + * enc/trans/escape.trans: use transcode_tblgen. + + * tool/transcode-tblgen.rb: generate an empty line after str1. + Sun Sep 7 19:16:38 2008 Tanaka Akira <akr@f...> * tool/transcode-tblgen.rb (ActionMap#str_name): new method to Index: enc/trans/escape.trans =================================================================== --- enc/trans/escape.trans (revision 19216) +++ enc/trans/escape.trans (revision 19217) @@ -5,25 +5,25 @@ str.unpack("H*")[0] end - map_amp = {} - map_amp["{00-25,27-FF}"] = :nomap - map_amp["26"] = str1("&") - transcode_generate_node(ActionMap.parse(map_amp), "escape_amp_as_chref") + transcode_tblgen("", "amp-escaped", [ + ["{00-25,27-FF}", :nomap], + ["26", str1("&")] + ]) - map_xml_text = {} - map_xml_text["{00-25,27-3B,3D,3F-FF}"] = :nomap - map_xml_text["26"] = str1("&") - map_xml_text["3C"] = str1("<") - map_xml_text["3E"] = str1(">") - transcode_generate_node(ActionMap.parse(map_xml_text), "escape_xml_text") + transcode_tblgen("", "xml-text-escaped", [ + ["{00-25,27-3B,3D,3F-FF}", :nomap], + ["26", str1("&")], + ["3C", str1("<")], + ["3E", str1(">")] + ]) - map_xml_attr_content = {} - map_xml_attr_content["{00-21,23-25,27-3B,3D,3F-FF}"] = :nomap - map_xml_attr_content["22"] = str1(""") - map_xml_attr_content["26"] = str1("&") - map_xml_attr_content["3C"] = str1("<") - map_xml_attr_content["3E"] = str1(">") - transcode_generate_node(ActionMap.parse(map_xml_attr_content), "escape_xml_attr_content") + transcode_tblgen("", "xml-attr-content-escaped", [ + ["{00-21,23-25,27-3B,3D,3F-FF}", :nomap], + ["22", str1(""")], + ["26", str1("&")], + ["3C", str1("<")], + ["3E", str1(">")] + ]) map_xml_attr_quote = {} map_xml_attr_quote["{00-FF}"] = :func_so @@ -32,42 +32,6 @@ <%= transcode_generated_code %> -static const rb_transcoder -rb_escape_amp_as_chref = { - "", "amp-escaped", escape_amp_as_chref, - TRANSCODE_TABLE_INFO, - 1, /* input_unit_length */ - 1, /* max_input */ - 5, /* max_output */ - stateless_converter, /* stateful_type */ - 0, NULL, NULL, - NULL, NULL, NULL, NULL -}; - -static const rb_transcoder -rb_escape_xml_text = { - "", "xml-text-escaped", escape_xml_text, - TRANSCODE_TABLE_INFO, - 1, /* input_unit_length */ - 1, /* max_input */ - 5, /* max_output */ - stateless_converter, /* stateful_type */ - 0, NULL, NULL, - NULL, NULL, NULL, NULL -}; - -static const rb_transcoder -rb_escape_xml_attr_content = { - "", "xml-attr-content-escaped", escape_xml_attr_content, - TRANSCODE_TABLE_INFO, - 1, /* input_unit_length */ - 1, /* max_input */ - 6, /* max_output */ - stateless_converter, /* stateful_type */ - 0, NULL, NULL, - NULL, NULL, NULL, NULL -}; - #define END 0 #define NORMAL 1 @@ -124,9 +88,7 @@ void Init_escape(void) { - rb_register_transcoder(&rb_escape_amp_as_chref); - rb_register_transcoder(&rb_escape_xml_text); - rb_register_transcoder(&rb_escape_xml_attr_content); +<%= transcode_register_code %> rb_register_transcoder(&rb_escape_xml_attr_quote); } Index: tool/transcode-tblgen.rb =================================================================== --- tool/transcode-tblgen.rb (revision 19216) +++ tool/transcode-tblgen.rb (revision 19217) @@ -304,7 +304,7 @@ n = str_name(bytes) @bytes_code.insert_at_last(1 + len, "\#define #{n} makeSTR1(#{size})\n" + - " #{len}," + bytes.gsub(/../, ' 0x\&,') + "\n") + " #{len}," + bytes.gsub(/../, ' 0x\&,') + "\n\n") n end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/