]> granicus.if.org Git - onig/commitdiff
add output of PROP_INDEX_XXXX in Unicode Properties data
authorK.Kosako <kosako@sofnec.co.jp>
Fri, 24 Aug 2018 05:28:59 +0000 (14:28 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Fri, 24 Aug 2018 05:28:59 +0000 (14:28 +0900)
src/make_unicode_property_data.py

index 25fce50caa51f0a35d0ce007098ee44da9291140..16b0a0ca71add2ef2b75d29315601365bb500abf 100755 (executable)
@@ -85,6 +85,16 @@ def dic_find_by_value(dic, v):
 
   return None
 
+def make_reverse_dic(dic):
+  rev = {}
+  for key, val in dic.items():
+    d = rev.get(val, None)
+    if d is None:
+      rev[val] = [key]
+    else:
+      d.append(key)
+
+  return rev
 
 def normalize_ranges(in_ranges, sort=False):
   if sort:
@@ -559,6 +569,12 @@ if VERSION_INFO is not None:
 print "#define PROPERTY_NAME_MAX_SIZE  %d" % (PROPERTY_NAME_MAX_LEN + 10)
 print "#define CODE_RANGES_NUM         %d" % (index + 1)
 
+index_props = make_reverse_dic(PropIndex)
+print ''
+for i in range(index + 1):
+  for p in index_props[i]:
+    print "#define PROP_INDEX_%s %d" % (p.upper(), i)
+
 if OUTPUT_LIST_MODE:
   UPF.close()