@@ -112,49 +112,7 @@ def escape_char(c):
112
112
return "'\\ u%4.4x'" % c
113
113
return "'\\ U%8.8x'" % c
114
114
115
- def ch_prefix (ix ):
116
- if ix == 0 :
117
- return " "
118
- if ix % 2 == 0 :
119
- return ",\n "
120
- else :
121
- return ", "
122
-
123
- def emit_bsearch_range_table (f ):
124
- f .write ("""
125
- pure fn bsearch_range_table(c: char, r: &[(char,char)]) -> bool {
126
- use cmp::{EQ, LT, GT};
127
- use vec::bsearch;
128
- use option::None;
129
- (do bsearch(r) |&(lo,hi)| {
130
- if lo <= c && c <= hi { EQ }
131
- else if hi < c { LT }
132
- else { GT }
133
- }) != None
134
- }\n \n
135
- """ );
136
-
137
115
def emit_property_module (f , mod , tbl ):
138
- f .write ("pub mod %s {\n " % mod )
139
- keys = tbl .keys ()
140
- keys .sort ()
141
- emit_bsearch_range_table (f );
142
- for cat in keys :
143
- f .write (" const %s_table : &[(char,char)] = &[\n " % cat )
144
- ix = 0
145
- for pair in tbl [cat ]:
146
- f .write (ch_prefix (ix ))
147
- f .write ("(%s, %s)" % (escape_char (pair [0 ]), escape_char (pair [1 ])))
148
- ix += 1
149
- f .write ("\n ];\n \n " )
150
-
151
- f .write (" pub pure fn %s(c: char) -> bool {\n " % cat )
152
- f .write (" bsearch_range_table(c, %s_table)\n " % cat )
153
- f .write (" }\n \n " )
154
- f .write ("}\n " )
155
-
156
-
157
- def emit_property_module_old (f , mod , tbl ):
158
116
f .write ("mod %s {\n " % mod )
159
117
keys = tbl .keys ()
160
118
keys .sort ()
@@ -235,9 +193,8 @@ def emit_decomp_module(f, canon, compat):
235
193
rf = open (r , "w" )
236
194
237
195
(canon_decomp , compat_decomp , gencats ) = load_unicode_data ("UnicodeData.txt" )
196
+ emit_decomp_module (rf , canon_decomp , compat_decomp )
238
197
emit_property_module (rf , "general_category" , gencats )
239
198
240
- #emit_decomp_module(rf, canon_decomp, compat_decomp)
241
-
242
199
derived = load_derived_core_properties ("DerivedCoreProperties.txt" )
243
200
emit_property_module (rf , "derived_property" , derived )
0 commit comments