* enc/trans/escape.trans: use transcode_tblgen.

* tool/transcode-tblgen.rb: generate an empty line after str1.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-09-07 10:46:30 +00:00
parent eee75cc1a6
commit faa1387484
3 changed files with 25 additions and 57 deletions

View File

@ -1,3 +1,9 @@
Sun Sep 7 19:45:31 2008 Tanaka Akira <akr@fsij.org>
* 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@fsij.org> Sun Sep 7 19:16:38 2008 Tanaka Akira <akr@fsij.org>
* tool/transcode-tblgen.rb (ActionMap#str_name): new method to * tool/transcode-tblgen.rb (ActionMap#str_name): new method to

View File

@ -5,25 +5,25 @@
str.unpack("H*")[0] str.unpack("H*")[0]
end end
map_amp = {} transcode_tblgen("", "amp-escaped", [
map_amp["{00-25,27-FF}"] = :nomap ["{00-25,27-FF}", :nomap],
map_amp["26"] = str1("&amp;") ["26", str1("&amp;")]
transcode_generate_node(ActionMap.parse(map_amp), "escape_amp_as_chref") ])
map_xml_text = {} transcode_tblgen("", "xml-text-escaped", [
map_xml_text["{00-25,27-3B,3D,3F-FF}"] = :nomap ["{00-25,27-3B,3D,3F-FF}", :nomap],
map_xml_text["26"] = str1("&amp;") ["26", str1("&amp;")],
map_xml_text["3C"] = str1("&lt;") ["3C", str1("&lt;")],
map_xml_text["3E"] = str1("&gt;") ["3E", str1("&gt;")]
transcode_generate_node(ActionMap.parse(map_xml_text), "escape_xml_text") ])
map_xml_attr_content = {} transcode_tblgen("", "xml-attr-content-escaped", [
map_xml_attr_content["{00-21,23-25,27-3B,3D,3F-FF}"] = :nomap ["{00-21,23-25,27-3B,3D,3F-FF}", :nomap],
map_xml_attr_content["22"] = str1("&quot;") ["22", str1("&quot;")],
map_xml_attr_content["26"] = str1("&amp;") ["26", str1("&amp;")],
map_xml_attr_content["3C"] = str1("&lt;") ["3C", str1("&lt;")],
map_xml_attr_content["3E"] = str1("&gt;") ["3E", str1("&gt;")]
transcode_generate_node(ActionMap.parse(map_xml_attr_content), "escape_xml_attr_content") ])
map_xml_attr_quote = {} map_xml_attr_quote = {}
map_xml_attr_quote["{00-FF}"] = :func_so map_xml_attr_quote["{00-FF}"] = :func_so
@ -32,42 +32,6 @@
<%= transcode_generated_code %> <%= 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 END 0
#define NORMAL 1 #define NORMAL 1
@ -124,9 +88,7 @@ rb_escape_xml_attr_quote = {
void void
Init_escape(void) Init_escape(void)
{ {
rb_register_transcoder(&rb_escape_amp_as_chref); <%= transcode_register_code %>
rb_register_transcoder(&rb_escape_xml_text);
rb_register_transcoder(&rb_escape_xml_attr_content);
rb_register_transcoder(&rb_escape_xml_attr_quote); rb_register_transcoder(&rb_escape_xml_attr_quote);
} }

View File

@ -304,7 +304,7 @@ class ActionMap
n = str_name(bytes) n = str_name(bytes)
@bytes_code.insert_at_last(1 + len, @bytes_code.insert_at_last(1 + len,
"\#define #{n} makeSTR1(#{size})\n" + "\#define #{n} makeSTR1(#{size})\n" +
" #{len}," + bytes.gsub(/../, ' 0x\&,') + "\n") " #{len}," + bytes.gsub(/../, ' 0x\&,') + "\n\n")
n n
end end
end end