1
1
extern crate regex;
2
2
3
3
use std:: char;
4
- use std:: env;
5
- use std:: fs:: File ;
6
- use std:: io:: Write ;
7
- use std:: path:: Path ;
8
4
use regex:: Regex ;
9
5
10
6
// Case folding a single code point can give up to this many code points.
11
7
const MAX_FOLDED_CODE_POINTS : usize = 3 ;
12
8
13
9
fn main ( ) {
14
- let mut lines = include_str ! ( "../CaseFolding.txt" ) . lines ( ) ;
10
+ let mut lines = include_str ! ( "../../ CaseFolding.txt" ) . lines ( ) ;
15
11
let first_line = lines. next ( ) . unwrap ( ) ;
16
12
let version_regex = Regex :: new ( r"^# CaseFolding-(\d+)\.(\d+)\.(\d+).txt$" ) . unwrap ( ) ;
17
13
let unicode_version = & version_regex. captures ( first_line) . unwrap ( ) ;
@@ -21,15 +17,8 @@ fn main() {
21
17
unicode_version[ 3 ] . parse ( ) . unwrap ( ) ,
22
18
) ;
23
19
24
- let dst = Path :: new ( & env:: var ( "OUT_DIR" ) . unwrap ( ) ) . join ( "case_folding_data.rs" ) ;
25
- let f = & mut File :: create ( & dst) . unwrap ( ) ;
26
-
27
- macro_rules! w {
28
- ( $( $args: tt) +) => { ( write!( f, $( $args) +) ) . unwrap( ) ; }
29
- } ;
30
-
31
- w ! ( "pub const UNICODE_VERSION: (u64, u64, u64) = ({}, {}, {});\n " , major, minor, patch) ;
32
- w ! ( "const CASE_FOLDING_TABLE: &'static [(char, [char; 3])] = &[\n " ) ;
20
+ print ! ( "pub const UNICODE_VERSION: (u64, u64, u64) = ({}, {}, {});\n " , major, minor, patch) ;
21
+ print ! ( "pub const CASE_FOLDING_TABLE: &'static [(char, [char; 3])] = &[\n " ) ;
33
22
34
23
// Entry with C (common case folding) or F (full case folding) status
35
24
let c_or_f_entry = Regex :: new ( r"^([0-9A-F]+); [CF]; ([0-9A-F ]+);" ) . unwrap ( ) ;
@@ -42,17 +31,17 @@ fn main() {
42
31
let blanks = MAX_FOLDED_CODE_POINTS - to. len ( ) ;
43
32
let mut to = to. into_iter ( ) ;
44
33
let first_to = to. next ( ) . unwrap ( ) ;
45
- w ! ( " ('{}', ['{}'" , hex_to_escaped( from) , first_to) ;
34
+ print ! ( " ('{}', ['{}'" , hex_to_escaped( from) , first_to) ;
46
35
for c in to {
47
- w ! ( ", '{}'" , c) ;
36
+ print ! ( ", '{}'" , c) ;
48
37
}
49
38
for _ in 0 ..blanks {
50
- w ! ( ", '\\ 0'" ) ;
39
+ print ! ( ", '\\ 0'" ) ;
51
40
}
52
- w ! ( "]),\n " ) ;
41
+ print ! ( "]),\n " ) ;
53
42
}
54
43
}
55
- w ! ( "];\n " ) ;
44
+ print ! ( "];\n " ) ;
56
45
}
57
46
58
47
0 commit comments