summaryrefslogtreecommitdiff
path: root/enc/make_encdb.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-13 00:10:00 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-13 00:10:00 +0000
commit9bded8aae94aacf03b308798bed7ee6a752ba099 (patch)
treef222acd4ff3a4dabbfc30ffd8671d215281f1ae1 /enc/make_encdb.rb
parente699dda5042b65e9e4c8ce29fa6575e3684b9100 (diff)
* enc/make_encdb.rb: set properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/make_encdb.rb')
-rwxr-xr-xenc/make_encdb.rb128
1 files changed, 64 insertions, 64 deletions
diff --git a/enc/make_encdb.rb b/enc/make_encdb.rb
index b8b430190f..b49f13c16e 100755
--- a/enc/make_encdb.rb
+++ b/enc/make_encdb.rb
@@ -1,64 +1,64 @@
-#
-# OnigEncodingDefine(foo, Foo) = {
-# ..
-# "Shift_JIS", /* Canonical Name */
-# ..
-# };
-# ENC_ALIAS("SJIS", "Shift_JIS")
-# ENC_REPLICATE("Windows-31J", "Shift_JIS")
-# ENC_ALIAS("CP932", "Windows-31J")
-#
-
-encodings = []
-replicas = {}
-aliases = {}
-encdir = ARGV[0]
-Dir.open(encdir) {|d| d.grep(/.+\.c\z/)}.each do |fn|
- open(File.join(encdir,fn)) do |f|
- orig = nil
- name = nil
- f.each_line do |line|
- break if /^OnigEncodingDefine/o =~ line
- end
- f.each_line do |line|
- break if /"(.*?)"/ =~ line
- end
- encodings << $1 if $1
- f.each_line do |line|
- if /^ENC_REPLICATE\(\s*"([^"]+)"\s*,\s*"([^"]+)"/o =~ line
- replicas[$1] = $2
- elsif /^ENC_ALIAS\(\s*"([^"]+)"\s*,\s*"([^"]+)"/o =~ line
- aliases[$1] = $2
- end
- end
- end
-end
-p aliases
-open('encdb.h', 'wb') do |f|
- f.puts 'static const char *enc_name_list[] = {'
- encodings.each {|name| f.puts' "%s",' % name}
- replicas.each_key {|name| f.puts' "%s",' % name}
- aliases.each_key {|name| f.puts' "%s",' % name}
- f.puts(<<"_TEXT_")
- NULL
-};
-static const int enc_name_list_size = #{encodings.length + replicas.length + aliases.length};
-static const int enc_aliases_size = #{aliases.length};
-static st_table *enc_table_replica_name;
-static st_table *enc_table_alias_name;
-
-static void enc_init_db(void)
-{
- if (!enc_table_replica_name) {
- enc_table_replica_name = st_init_strcasetable();
- }
- if (!enc_table_alias_name) {
- enc_table_alias_name = st_init_strcasetable();
- }
-_TEXT_
- replicas.each_pair {|name, orig|
- f.puts' st_insert(enc_table_replica_name, (st_data_t)"%s", (st_data_t)"%s");' % [name, orig]}
- aliases.each_pair {|name, orig|
- f.puts' st_insert(enc_table_alias_name, (st_data_t)"%s", (st_data_t)"%s");' % [name, orig]}
- f.puts '}'
-end
+#
+# OnigEncodingDefine(foo, Foo) = {
+# ..
+# "Shift_JIS", /* Canonical Name */
+# ..
+# };
+# ENC_ALIAS("SJIS", "Shift_JIS")
+# ENC_REPLICATE("Windows-31J", "Shift_JIS")
+# ENC_ALIAS("CP932", "Windows-31J")
+#
+
+encodings = []
+replicas = {}
+aliases = {}
+encdir = ARGV[0]
+Dir.open(encdir) {|d| d.grep(/.+\.c\z/)}.each do |fn|
+ open(File.join(encdir,fn)) do |f|
+ orig = nil
+ name = nil
+ f.each_line do |line|
+ break if /^OnigEncodingDefine/o =~ line
+ end
+ f.each_line do |line|
+ break if /"(.*?)"/ =~ line
+ end
+ encodings << $1 if $1
+ f.each_line do |line|
+ if /^ENC_REPLICATE\(\s*"([^"]+)"\s*,\s*"([^"]+)"/o =~ line
+ replicas[$1] = $2
+ elsif /^ENC_ALIAS\(\s*"([^"]+)"\s*,\s*"([^"]+)"/o =~ line
+ aliases[$1] = $2
+ end
+ end
+ end
+end
+p aliases
+open('encdb.h', 'wb') do |f|
+ f.puts 'static const char *enc_name_list[] = {'
+ encodings.each {|name| f.puts' "%s",' % name}
+ replicas.each_key {|name| f.puts' "%s",' % name}
+ aliases.each_key {|name| f.puts' "%s",' % name}
+ f.puts(<<"_TEXT_")
+ NULL
+};
+static const int enc_name_list_size = #{encodings.length + replicas.length + aliases.length};
+static const int enc_aliases_size = #{aliases.length};
+static st_table *enc_table_replica_name;
+static st_table *enc_table_alias_name;
+
+static void enc_init_db(void)
+{
+ if (!enc_table_replica_name) {
+ enc_table_replica_name = st_init_strcasetable();
+ }
+ if (!enc_table_alias_name) {
+ enc_table_alias_name = st_init_strcasetable();
+ }
+_TEXT_
+ replicas.each_pair {|name, orig|
+ f.puts' st_insert(enc_table_replica_name, (st_data_t)"%s", (st_data_t)"%s");' % [name, orig]}
+ aliases.each_pair {|name, orig|
+ f.puts' st_insert(enc_table_alias_name, (st_data_t)"%s", (st_data_t)"%s");' % [name, orig]}
+ f.puts '}'
+end