equal
deleted
inserted
replaced
7 /* ASCII characters */ |
7 /* ASCII characters */ |
8 |
8 |
9 export type Symbol = string |
9 export type Symbol = string |
10 |
10 |
11 export function is_char(s: Symbol): boolean |
11 export function is_char(s: Symbol): boolean |
12 { return s.length == 1 } |
12 { return s.length === 1 } |
13 |
13 |
14 export function is_ascii_letter(s: Symbol): boolean |
14 export function is_ascii_letter(s: Symbol): boolean |
15 { return is_char(s) && "A" <= s && s <= "Z" || "a" <= s && s <= "z" } |
15 { return is_char(s) && "A" <= s && s <= "Z" || "a" <= s && s <= "z" } |
16 |
16 |
17 export function is_ascii_digit(s: Symbol): boolean |
17 export function is_ascii_digit(s: Symbol): boolean |
18 { return is_char(s) && "0" <= s && s <= "9" } |
18 { return is_char(s) && "0" <= s && s <= "9" } |
19 |
19 |
20 export function is_ascii_quasi(s: Symbol): boolean |
20 export function is_ascii_quasi(s: Symbol): boolean |
21 { return s == "_" || s == "'" } |
21 { return s === "_" || s === "'" } |
22 |
22 |
23 export function is_ascii_letdig(s: Symbol): boolean |
23 export function is_ascii_letdig(s: Symbol): boolean |
24 { return is_ascii_letter(s) || is_ascii_digit(s) || is_ascii_quasi(s) } |
24 { return is_ascii_letter(s) || is_ascii_digit(s) || is_ascii_quasi(s) } |
25 |
25 |
26 export function is_ascii_identifier(s: Symbol): boolean |
26 export function is_ascii_identifier(s: Symbol): boolean |