* Fixed the char-numeric? Numeric property.
This commit is contained in:
parent
9a62c12c66
commit
a85669fc4d
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -237,10 +237,13 @@
|
||||||
[_ C ba sc]
|
[_ C ba sc]
|
||||||
[else C ba ex]
|
[else C ba ex]
|
||||||
;;;
|
;;;
|
||||||
[bitwise-and D bw]
|
|
||||||
[bitwise-arithmetic-shift C bw]
|
[bitwise-arithmetic-shift C bw]
|
||||||
[bitwise-arithmetic-shift-left C bw]
|
[bitwise-arithmetic-shift-left C bw]
|
||||||
[bitwise-arithmetic-shift-right C bw]
|
[bitwise-arithmetic-shift-right C bw]
|
||||||
|
[bitwise-not D bw]
|
||||||
|
[bitwise-and D bw]
|
||||||
|
[bitwise-ior D bw]
|
||||||
|
[bitwise-xor D bw]
|
||||||
[bitwise-bit-count D bw]
|
[bitwise-bit-count D bw]
|
||||||
[bitwise-bit-field D bw]
|
[bitwise-bit-field D bw]
|
||||||
[bitwise-bit-set? D bw]
|
[bitwise-bit-set? D bw]
|
||||||
|
@ -248,12 +251,9 @@
|
||||||
[bitwise-copy-bit-field D bw]
|
[bitwise-copy-bit-field D bw]
|
||||||
[bitwise-first-bit-set D bw]
|
[bitwise-first-bit-set D bw]
|
||||||
[bitwise-if D bw]
|
[bitwise-if D bw]
|
||||||
[bitwise-ior D bw]
|
|
||||||
[bitwise-length D bw]
|
[bitwise-length D bw]
|
||||||
[bitwise-not D bw]
|
|
||||||
[bitwise-reverse-bit-field D bw]
|
[bitwise-reverse-bit-field D bw]
|
||||||
[bitwise-rotate-bit-field D bw]
|
[bitwise-rotate-bit-field D bw]
|
||||||
[bitwise-xor D bw]
|
|
||||||
;;;
|
;;;
|
||||||
[fixnum? C fx]
|
[fixnum? C fx]
|
||||||
[fx* D fx]
|
[fx* D fx]
|
||||||
|
|
|
@ -124,9 +124,9 @@
|
||||||
[Mn ,(+ 05 constituent-property) "Mark, Nonspacing"]
|
[Mn ,(+ 05 constituent-property) "Mark, Nonspacing"]
|
||||||
[Mc ,(+ 06 constituent-property) "Mark, Spacing Combining"]
|
[Mc ,(+ 06 constituent-property) "Mark, Spacing Combining"]
|
||||||
[Me ,(+ 07 constituent-property) "Mark, Enclosing"]
|
[Me ,(+ 07 constituent-property) "Mark, Enclosing"]
|
||||||
[Nd ,(+ 08 constituent-property numeric-property) "Number, Decimal Digit"]
|
[Nd ,(+ 08 constituent-property) "Number, Decimal Digit"]
|
||||||
[Nl ,(+ 09 constituent-property alphabetic-property numeric-property) "Number, Letter"]
|
[Nl ,(+ 09 constituent-property alphabetic-property) "Number, Letter"]
|
||||||
[No ,(+ 10 constituent-property numeric-property) "Number, Other"]
|
[No ,(+ 10 constituent-property) "Number, Other"]
|
||||||
[Pc ,(+ 11 constituent-property) "Punctuation, Connector"]
|
[Pc ,(+ 11 constituent-property) "Punctuation, Connector"]
|
||||||
[Pd ,(+ 12 constituent-property) "Punctuation, Dash"]
|
[Pd ,(+ 12 constituent-property) "Punctuation, Dash"]
|
||||||
[Ps ,(+ 13 ) "Punctuation, Open"]
|
[Ps ,(+ 13 ) "Punctuation, Open"]
|
||||||
|
@ -215,11 +215,16 @@
|
||||||
;;; interesting parts of each element in ls are:
|
;;; interesting parts of each element in ls are:
|
||||||
;;; field0: the character index, numeric
|
;;; field0: the character index, numeric
|
||||||
;;; field2: the category, symbolic
|
;;; field2: the category, symbolic
|
||||||
|
;;; field8: if set, then the char has the numeric property
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(let ([idx (hex-string->number (list-ref x 0))]
|
(let ([idx (hex-string->number (list-ref x 0))]
|
||||||
[cat (category-index (string->symbol (list-ref x 2)))])
|
[cat (category-index (string->symbol (list-ref x 2)))]
|
||||||
(vector-set! v idx cat)))
|
[num? (list-ref x 8)])
|
||||||
|
(vector-set! v idx
|
||||||
|
(if (string=? num? "")
|
||||||
|
cat
|
||||||
|
(fxlogor cat numeric-property)))))
|
||||||
ls))
|
ls))
|
||||||
;;; every element of v now maps to the category-index.
|
;;; every element of v now maps to the category-index.
|
||||||
(let ([ls (get-unicode-data "UNIDATA/PropList.txt")])
|
(let ([ls (get-unicode-data "UNIDATA/PropList.txt")])
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; DO NOT EDIT
|
;;; DO NOT EDIT
|
||||||
;;; automatically generated
|
;;; automatically generated
|
||||||
;;; 1486 elements in vectors
|
;;; 1490 elements in vectors
|
||||||
|
|
||||||
(begin
|
(begin
|
||||||
(define constituent-property 65536)
|
(define constituent-property 65536)
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
2364 2366 2369 2377 2381 2382 2384 2385 2389 2392 2402 2404 2406 2416 2417
|
2364 2366 2369 2377 2381 2382 2384 2385 2389 2392 2402 2404 2406 2416 2417
|
||||||
2427 2432 2434 2436 2437 2445 2447 2449 2451 2473 2474 2481 2483 2486 2490
|
2427 2432 2434 2436 2437 2445 2447 2449 2451 2473 2474 2481 2483 2486 2490
|
||||||
2492 2494 2497 2501 2503 2505 2507 2509 2511 2519 2520 2524 2526 2527 2530
|
2492 2494 2497 2501 2503 2505 2507 2509 2511 2519 2520 2524 2526 2527 2530
|
||||||
2532 2534 2544 2546 2548 2554 2555 2561 2563 2565 2571 2575 2577 2579 2601
|
2532 2534 2544 2546 2548 2552 2555 2561 2563 2565 2571 2575 2577 2579 2601
|
||||||
2602 2609 2610 2612 2613 2615 2616 2618 2620 2622 2625 2627 2631 2633 2635
|
2602 2609 2610 2612 2613 2615 2616 2618 2620 2622 2625 2627 2631 2633 2635
|
||||||
2637 2638 2649 2653 2655 2662 2672 2674 2677 2689 2691 2693 2702 2703 2706
|
2637 2638 2649 2653 2655 2662 2672 2674 2677 2689 2691 2693 2702 2703 2706
|
||||||
2707 2729 2730 2737 2738 2740 2741 2746 2748 2750 2753 2758 2759 2761 2763
|
2707 2729 2730 2737 2738 2740 2741 2746 2748 2750 2753 2758 2759 2761 2763
|
||||||
|
@ -105,20 +105,21 @@
|
||||||
66600 66640 66718 66720 66730 67584 67590 67592 67594 67638 67639 67641
|
66600 66640 66718 66720 66730 67584 67590 67592 67594 67638 67639 67641
|
||||||
67644 67645 67647 67648 67840 67862 67866 67871 67872 68096 68097 68100
|
67644 67645 67647 67648 67840 67862 67866 67871 67872 68096 68097 68100
|
||||||
68101 68103 68108 68112 68116 68117 68120 68121 68148 68152 68155 68159
|
68101 68103 68108 68112 68116 68117 68120 68121 68148 68152 68155 68159
|
||||||
68160 68168 68176 68185 73728 74607 74752 74851 74864 74868 118784 119030
|
68160 68168 68176 68185 73728 74607 74752 74802 74804 74838 74840 74851
|
||||||
119040 119079 119082 119141 119143 119146 119149 119155 119163 119171
|
74864 74868 118784 119030 119040 119079 119082 119141 119143 119146 119149
|
||||||
119173 119180 119210 119214 119262 119296 119362 119365 119366 119552
|
119155 119163 119171 119173 119180 119210 119214 119262 119296 119362
|
||||||
119639 119648 119666 119808 119834 119860 119886 119893 119894 119912
|
119365 119366 119552 119639 119648 119666 119808 119834 119860 119886
|
||||||
119938 119964 119966 119968 119970 119971 119973 119975 119977 119981
|
119893 119894 119912 119938 119964 119966 119968 119970 119971 119973
|
||||||
119982 119990 119994 119997 120004 120005 120016 120042 120068 120070
|
119975 119977 119981 119982 119990 119994 119997 120004 120005 120016
|
||||||
120071 120075 120077 120085 120086 120093 120094 120120 120122 120123
|
120042 120068 120070 120071 120075 120077 120085 120086 120093 120094
|
||||||
120127 120128 120133 120135 120138 120145 120146 120172 120198 120224
|
120120 120122 120123 120127 120128 120133 120135 120138 120145 120146
|
||||||
120250 120276 120302 120328 120354 120380 120406 120432 120458 120486
|
120172 120198 120224 120250 120276 120302 120328 120354 120380 120406
|
||||||
120488 120513 120514 120539 120540 120546 120571 120572 120597 120598
|
120432 120458 120486 120488 120513 120514 120539 120540 120546 120571
|
||||||
120604 120629 120630 120655 120656 120662 120687 120688 120713 120714
|
120572 120597 120598 120604 120629 120630 120655 120656 120662 120687
|
||||||
120720 120745 120746 120771 120772 120778 120780 120782 120832 131072
|
120688 120713 120714 120720 120745 120746 120771 120772 120778 120780
|
||||||
131073 173782 173783 194560 195102 917505 917506 917536 917632 917760
|
120782 120832 131072 131073 173782 173783 194560 195102 917505 917506
|
||||||
918000 983040 983041 1048573 1048574 1048576 1048577 1114109 1114110))
|
917536 917632 917760 918000 983040 983041 1048573 1048574 1048576 1048577
|
||||||
|
1114109 1114110))
|
||||||
(define unicode-categories-values-vector
|
(define unicode-categories-values-vector
|
||||||
'#(25 4194329 25 4194326 65553 65555 65553 #(13 14 65553 65554 65553 65548)
|
'#(25 4194329 25 4194326 65553 65555 65553 #(13 14 65553 65554 65553 65548)
|
||||||
65553 2162696 65553 65554 65553 1245184 #(13 65553 14 65556 65547 65556)
|
65553 2162696 65553 65554 65553 1245184 #(13 65553 14 65556 65547 65556)
|
||||||
|
@ -204,56 +205,56 @@
|
||||||
1114117 65553 2162696 65553 29 1114116 #(29 1114117) 1114118 29 1114116 29
|
1114117 65553 2162696 65553 29 1114116 #(29 1114117) 1114118 29 1114116 29
|
||||||
1114116 29 1114116 29 1114116 #(29 1114116) 29 1114116 29 #(65541 1114116)
|
1114116 29 1114116 29 1114116 #(29 1114116) 29 1114116 29 #(65541 1114116)
|
||||||
1114118 1114117 29 1114118 29 1114118 #(65541 1114116) 29 1114118 29
|
1114118 1114117 29 1114118 29 1114118 #(65541 1114116) 29 1114118 29
|
||||||
1114116 29 1114116 1114117 29 2162696 1114116 65555 2162698 65557 29
|
1114116 29 1114116 1114117 29 2162696 1114116 65555 2162698
|
||||||
1114117 #(1114118 29) 1114116 29 1114116 29 1114116 29 1114116 29 1114116
|
#(65546 2162698 65557) 29 1114117 #(1114118 29) 1114116 29 1114116 29
|
||||||
29 1114116 29 1114116 29 #(65541 29) 1114118 1114117 29 1114117 29 1114117
|
1114116 29 1114116 29 1114116 29 1114116 29 1114116 29 #(65541 29) 1114118
|
||||||
65541 29 1114116 #(29 1114116) 29 2162696 1114117 1114116 29 1114117
|
1114117 29 1114117 29 1114117 65541 29 1114116 #(29 1114116) 29 2162696
|
||||||
#(1114118 29) 1114116 29 1114116 29 1114116 29 1114116 29 1114116 29
|
1114117 1114116 29 1114117 #(1114118 29) 1114116 29 1114116 29 1114116 29
|
||||||
1114116 29 #(65541 1114116) 1114118 1114117 29 1114117 #(1114118 29)
|
1114116 29 1114116 29 1114116 29 #(65541 1114116) 1114118 1114117 29
|
||||||
1114118 65541 29 1114116 29 1114116 1114117 29 2162696 #(29 65555) 29
|
1114117 #(1114118 29) 1114118 65541 29 1114116 29 1114116 1114117 29
|
||||||
1114117 1114118 29 1114116 29 1114116 29 1114116 29 1114116 29 1114116 29
|
2162696 #(29 65555) 29 1114117 1114118 29 1114116 29 1114116 29 1114116 29
|
||||||
1114116 29 #(65541 1114116 1114118 1114117 1114118) 1114117 29 1114118 29
|
1114116 29 1114116 29 1114116 29 #(65541 1114116 1114118 1114117 1114118)
|
||||||
1114118 65541 29 #(1114117 1114118) 29 1114116 29 1114116 29 2162696
|
1114117 29 1114118 29 1114118 65541 29 #(1114117 1114118) 29 1114116 29
|
||||||
#(65557 1114116) 29 #(1114117 1114116 29) 1114116 29 1114116 29 1114116 29
|
1114116 29 2162696 #(65557 1114116) 29 #(1114117 1114116 29) 1114116 29
|
||||||
1114116 #(29 1114116 29) 1114116 29 1114116 29 1114116 29 1114116 29
|
|
||||||
1114118 1114117 1114118 29 1114118 29 1114118 65541 29 1114118 29 2162696
|
|
||||||
2162698 65557 #(65555 65557) 29 1114118 29 1114116 29 1114116 29 1114116 29
|
|
||||||
1114116 29 1114116 29 1114117 1114118 29 1114117 29 1114117 65541 29
|
|
||||||
1114117 29 1114116 29 2162696 29 1114118 29 1114116 29 1114116 29 1114116
|
|
||||||
29 1114116 29 1114116 29 #(65541 1114116 1114118 1114117) 1114118
|
|
||||||
#(29 1114117) 1114118 29 1114118 #(1114117 65541) 29 1114118 29
|
|
||||||
#(1114116 29) 1114116 1114117 29 2162696 29 65557 29 1114118 29 1114116 29
|
|
||||||
1114116 29 1114116 29 1114116 29 1114118 1114117 29 1114118 29 1114118
|
|
||||||
65541 29 1114118 29 1114116 29 2162696 29 1114118 29 1114116 29 1114116 29
|
|
||||||
1114116 #(29 1114116) 29 1114116 29 65541 29 1114118 1114117
|
|
||||||
#(29 1114117 29) 1114118 29 1114118 65553 29 1114116 1114117 1114116
|
|
||||||
1114117 29 65555 1114116 1114115 65541 #(1114117 65541 65553) 2162696 65553
|
|
||||||
29 1114116 #(29 1114116) 29 1114116 #(29 1114116) 29 1114116 29 1114116 29
|
|
||||||
1114116 29 1114116 #(29 1114116 29 1114116) 29 1114116 29 1114116 1114117
|
|
||||||
1114116 1114117 29 1114117 1114116 29 1114116 #(29 1114115 29) 65541
|
|
||||||
1114117 29 2162696 29 1114116 29 1114116 65557 65553 65557 65541 65557
|
|
||||||
2162696 2162698 #(65557 65541 65557 65541 65557 65541 13 14 13 14) 65542
|
|
||||||
1114116 29 1114116 29 1114117 1114118 1114117 65541 65553 65541 1114116 29
|
|
||||||
1114117 29 1114117 29 65557 65541 65557 29 65557 65553 29 1114116 29
|
|
||||||
1114116 29 1114116 #(29 1114118) 1114117 #(1114118 1114117) 29
|
|
||||||
#(1114117 65541 1114118 65541) 29 2162696 65553 1114116 1114118 1114117 29
|
|
||||||
1245184 29 1114116 #(65553 1114115) 29 1114116 29 1114116 29 1114116 29
|
|
||||||
1114116 29 1114116 29 1114116 #(29 1114116 29) 1114116 29 1114116 29
|
1114116 29 1114116 29 1114116 #(29 1114116 29) 1114116 29 1114116 29
|
||||||
1114116 29 1114116 29 1114116 29 1114116 #(29 1114116 29) 1114116 29
|
1114116 29 1114116 29 1114118 1114117 1114118 29 1114118 29 1114118 65541
|
||||||
1114116 29 1114116 29 1114116 29 1114116 29 #(1114117 65557) 65553 2162698
|
29 1114118 29 2162696 2162698 65557 #(65555 65557) 29 1114118 29 1114116 29
|
||||||
29 1114116 65557 29 1114116 29 1114116 65553 1114116 29 4194326 1114116
|
1114116 29 1114116 29 1114116 29 1114116 29 1114117 1114118 29 1114117 29
|
||||||
#(13 14) 29 1114116 65553 3211273 29 1114116 29 1114116 1114117 65541 29
|
1114117 65541 29 1114117 29 1114116 29 2162696 29 1114118 29 1114116 29
|
||||||
1114116 1114117 65541 65553 29 1114116 1114117 29 1114116 29 1114116 29
|
1114116 29 1114116 29 1114116 29 1114116 29
|
||||||
1114117 29 1114116 26 1114118 1114117 1114118 1114117 1114118 65541 65553
|
#(65541 1114116 1114118 1114117) 1114118 #(29 1114117) 1114118 29 1114118
|
||||||
1114115 65553 #(65555 1114116 65541) 29 2162696 29 2162698 29 65553 65548
|
#(1114117 65541) 29 1114118 29 #(1114116 29) 1114116 1114117 29 2162696 29
|
||||||
65553 65541 #(4194326 29) 2162696 29 1114116 1114115 1114116 29 1114116
|
65557 29 1114118 29 1114116 29 1114116 29 1114116 29 1114116 29 1114118
|
||||||
1114117 29 1114116 29 1114117 1114118 1114117 1114118 29 1114118 1114117
|
1114117 29 1114118 29 1114118 65541 29 1114118 29 1114116 29 2162696 29
|
||||||
1114118 65541 29 65557 29 65553 2162696 1114116 29 1114116 29 1114116 29
|
1114118 29 1114116 29 1114116 29 1114116 #(29 1114116) 29 1114116 29 65541
|
||||||
1114118 1114116 1114118 29 2162696 29 65553 65557 1114116 1114117 1114118
|
29 1114118 1114117 #(29 1114117 29) 1114118 29 1114118 65553 29 1114116
|
||||||
29 65553 29 1114117 1114118 1114116 #(65541 1114118) 1114117
|
1114117 1114116 1114117 29 65555 1114116 1114115 65541
|
||||||
#(1114118 1114117) 1114118 #(1114117 1114118 65542) 1114116 29 2162696
|
#(1114117 65541 65553) 2162696 65553 29 1114116 #(29 1114116) 29 1114116
|
||||||
65553 65557 65541 65557 29 1376257 1376259 1376257 1376259 1376257 1376259
|
#(29 1114116) 29 1114116 29 1114116 29 1114116 29 1114116
|
||||||
65541 29 65541
|
#(29 1114116 29 1114116) 29 1114116 29 1114116 1114117 1114116 1114117 29
|
||||||
|
1114117 1114116 29 1114116 #(29 1114115 29) 65541 1114117 29 2162696 29
|
||||||
|
1114116 29 1114116 65557 65553 65557 65541 65557 2162696 2162698
|
||||||
|
#(65557 65541 65557 65541 65557 65541 13 14 13 14) 65542 1114116 29 1114116
|
||||||
|
29 1114117 1114118 1114117 65541 65553 65541 1114116 29 1114117 29 1114117
|
||||||
|
29 65557 65541 65557 29 65557 65553 29 1114116 29 1114116 29 1114116
|
||||||
|
#(29 1114118) 1114117 #(1114118 1114117) 29 #(1114117 65541 1114118 65541)
|
||||||
|
29 2162696 65553 1114116 1114118 1114117 29 1245184 29 1114116
|
||||||
|
#(65553 1114115) 29 1114116 29 1114116 29 1114116 29 1114116 29 1114116 29
|
||||||
|
1114116 #(29 1114116 29) 1114116 29 1114116 29 1114116 29 1114116 29
|
||||||
|
1114116 29 1114116 #(29 1114116 29) 1114116 29 1114116 29 1114116 29
|
||||||
|
1114116 29 1114116 29 #(1114117 65557) 65553 2162698 29 1114116 65557 29
|
||||||
|
1114116 29 1114116 65553 1114116 29 4194326 1114116 #(13 14) 29 1114116
|
||||||
|
65553 3211273 29 1114116 29 1114116 1114117 65541 29 1114116 1114117 65541
|
||||||
|
65553 29 1114116 1114117 29 1114116 29 1114116 29 1114117 29 1114116 26
|
||||||
|
1114118 1114117 1114118 1114117 1114118 65541 65553 1114115 65553
|
||||||
|
#(65555 1114116 65541) 29 2162696 29 2162698 29 65553 65548 65553 65541
|
||||||
|
#(4194326 29) 2162696 29 1114116 1114115 1114116 29 1114116 1114117 29
|
||||||
|
1114116 29 1114117 1114118 1114117 1114118 29 1114118 1114117 1114118 65541
|
||||||
|
29 65557 29 65553 2162696 1114116 29 1114116 29 1114116 29 1114118 1114116
|
||||||
|
1114118 29 2162696 29 65553 65557 1114116 1114117 1114118 29 65553 29
|
||||||
|
1114117 1114118 1114116 #(65541 1114118) 1114117 #(1114118 1114117) 1114118
|
||||||
|
#(1114117 1114118 65542) 1114116 29 2162696 65553 65557 65541 65557 29
|
||||||
|
1376257 1376259 1376257 1376259 1376257 1376259 65541 29 65541
|
||||||
#(1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184
|
#(1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184
|
||||||
1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257
|
1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257
|
||||||
1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184
|
1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184
|
||||||
|
@ -354,18 +355,18 @@
|
||||||
29 #(1114116 29) 1114116 29 1114116 29 1114116 29 1114116 29 1114116
|
29 #(1114116 29) 1114116 29 1114116 29 1114116 29 1114116 29 1114116
|
||||||
2162698 29 65553 29 1114116 1114117 29 1114117 29 1114117 1114116 29
|
2162698 29 65553 29 1114116 1114117 29 1114117 29 1114117 1114116 29
|
||||||
1114116 29 1114116 29 65541 29 65541 2162698 29 65553 29 1114116 29 3211273
|
1114116 29 1114116 29 65541 29 65541 2162698 29 65553 29 1114116 29 3211273
|
||||||
29 65553 29 65557 29 65557 29 65557 65542 65541 65557 65542 26 65541 65557
|
1114121 3211273 1114121 3211273 29 65553 29 65557 29 65557 29 65557 65542
|
||||||
65541 65557 65541 65557 29 65557 65541 65557 29 65557 29 2162698 29 1245184
|
65541 65557 65542 26 65541 65557 65541 65557 65541 65557 29 65557 65541
|
||||||
1376257 1245184 1376257 29 1376257 1245184 1376257 #(1245184 29) 1245184 29
|
65557 29 65557 29 2162698 29 1245184 1376257 1245184 1376257 29 1376257
|
||||||
1245184 29 1245184 29 1245184 29 1245184 1376257 #(29 1376257 29) 1376257
|
1245184 1376257 #(1245184 29) 1245184 29 1245184 29 1245184 29 1245184 29
|
||||||
29 1376257 1245184 1376257 1245184 29 1245184 29 1245184 29 1245184 29
|
1245184 1376257 #(29 1376257 29) 1376257 29 1376257 1245184 1376257 1245184
|
||||||
1376257 1245184 29 1245184 29 1245184 #(29 1245184) 29 1245184 29 1376257
|
29 1245184 29 1245184 29 1245184 29 1376257 1245184 29 1245184 29 1245184
|
||||||
1245184 1376257 1245184 1376257 1245184 1376257 1245184 1376257 1245184
|
#(29 1245184) 29 1245184 29 1376257 1245184 1376257 1245184 1376257 1245184
|
||||||
1376257 1245184 1376257 29 1245184 65554 1376257 65554 1376257 1245184
|
1376257 1245184 1376257 1245184 1376257 1245184 1376257 29 1245184 65554
|
||||||
65554 1376257 65554 1376257 1245184 65554 1376257 65554 1376257 1245184
|
1376257 65554 1376257 1245184 65554 1376257 65554 1376257 1245184 65554
|
||||||
65554 1376257 65554 1376257 1245184 65554 1376257 65554 1376257
|
1376257 65554 1376257 1245184 65554 1376257 65554 1376257 1245184 65554
|
||||||
#(1245184 1376257) 29 2162696 29 1114116 29 1114116 29 1114116 29 26 29 26
|
1376257 65554 1376257 #(1245184 1376257) 29 2162696 29 1114116 29 1114116
|
||||||
29 65541 29 65564 29 65564 29 65564 29 65564 29))
|
29 1114116 29 26 29 26 29 65541 29 65564 29 65564 29 65564 29 65564 29))
|
||||||
(define unicode-categories-name-vector
|
(define unicode-categories-name-vector
|
||||||
'#(Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs Zl Zp
|
'#(Lu Ll Lt Lm Lo Mn Mc Me Nd Nl No Pc Pd Ps Pe Pi Pf Po Sm Sc Sk So Zs Zl Zp
|
||||||
Cc Cf Cs Co Cn))
|
Cc Cf Cs Co Cn))
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
[(or (fx= i n) (memv (string-ref str i) '(#\; #\#))) i]
|
[(or (fx= i n) (memv (string-ref str i) '(#\; #\#))) i]
|
||||||
[else (find-semi/hash str (+ i 1) n)]))
|
[else (find-semi/hash str (+ i 1) n)]))
|
||||||
|
|
||||||
(define (cleanup str)
|
(define (cleanup^ str)
|
||||||
(let ([lo
|
(let ([lo
|
||||||
(let f ([i 0] [n (string-length str)])
|
(let f ([i 0] [n (string-length str)])
|
||||||
(cond
|
(cond
|
||||||
|
@ -35,11 +35,19 @@
|
||||||
[(< i 0) i]
|
[(< i 0) i]
|
||||||
[(char=? #\space (string-ref str i))
|
[(char=? #\space (string-ref str i))
|
||||||
(f (sub1 i))]
|
(f (sub1 i))]
|
||||||
[else i]))])
|
[else (+ i 1)]))])
|
||||||
(if (> hi lo)
|
(if (> hi lo)
|
||||||
(substring str lo (+ hi 1))
|
(substring str lo hi)
|
||||||
"")))
|
"")))
|
||||||
|
|
||||||
|
(define (cleanup str)
|
||||||
|
(let ([s (cleanup^ str)])
|
||||||
|
(when
|
||||||
|
(and (= (string-length str) 1)
|
||||||
|
(not (= (string-length s) 1)))
|
||||||
|
(error 'cleanup "duuh ~s ~s" s str))
|
||||||
|
s))
|
||||||
|
|
||||||
(define (split str)
|
(define (split str)
|
||||||
(let f ([i 0] [n (string-length str)])
|
(let f ([i 0] [n (string-length str)])
|
||||||
(cond
|
(cond
|
||||||
|
|
Loading…
Reference in New Issue