]> gitweb.factorcode.org Git - factor.git/blob - extra/unicode/flags/flags.factor
unicode.flags: adding FLAG: syntax, why not
[factor.git] / extra / unicode / flags / flags.factor
1 USING: accessors ascii assocs biassocs lexer sequences ;
2
3 IN: unicode.flags
4
5 MEMO: flag-codes ( -- biassoc ) H{
6     { CHAR: A CHAR: ðŸ‡¦ }
7     { CHAR: B CHAR: ðŸ‡§ }
8     { CHAR: C CHAR: ðŸ‡¨ }
9     { CHAR: D CHAR: ðŸ‡© }
10     { CHAR: E CHAR: ðŸ‡ª }
11     { CHAR: F CHAR: ðŸ‡« }
12     { CHAR: G CHAR: ðŸ‡¬ }
13     { CHAR: H CHAR: ðŸ‡­ }
14     { CHAR: I CHAR: ðŸ‡® }
15     { CHAR: J CHAR: ðŸ‡¯ }
16     { CHAR: K CHAR: ðŸ‡° }
17     { CHAR: L CHAR: ðŸ‡± }
18     { CHAR: M CHAR: ðŸ‡² }
19     { CHAR: N CHAR: ðŸ‡³ }
20     { CHAR: O CHAR: ðŸ‡´ }
21     { CHAR: P CHAR: ðŸ‡µ }
22     { CHAR: Q CHAR: ðŸ‡¶ }
23     { CHAR: R CHAR: ðŸ‡· }
24     { CHAR: S CHAR: ðŸ‡¸ }
25     { CHAR: T CHAR: ðŸ‡¹ }
26     { CHAR: U CHAR: ðŸ‡º }
27     { CHAR: V CHAR: ðŸ‡» }
28     { CHAR: W CHAR: ðŸ‡¼ }
29     { CHAR: X CHAR: ðŸ‡½ }
30     { CHAR: Y CHAR: ðŸ‡¾ }
31     { CHAR: Z CHAR: ðŸ‡¿ }
32 } >biassoc ;
33
34 : unicode>flag ( country-code -- flag )
35     >upper [ flag-codes from>> at ] map ;
36
37 : flag>unicode ( flag -- country-code )
38     [ flag-codes to>> at ] map ;
39
40 SYNTAX: FLAG: scan-token unicode>flag suffix! ;