mago_syntax_core/
macros.rs

1#[macro_export]
2macro_rules! start_of_identifier {
3    () => {
4        b'a'..=b'z' | b'A'..=b'Z' | b'_' | b'\x80'..=b'\xff'
5    };
6}
7
8#[macro_export]
9macro_rules! part_of_identifier {
10    () => {
11        b'0'..=b'9' | b'a'..=b'z' | b'A'..=b'Z' | b'_' | b'\x80'..=b'\xff'
12    };
13}
14
15#[macro_export]
16macro_rules! start_of_number {
17    () => {
18        b'0'..=b'9'
19    };
20}
21
22#[macro_export]
23macro_rules! start_of_binary_number {
24    () => {
25        [b'0', b'B' | b'b', b'0' | b'1']
26    };
27}
28
29#[macro_export]
30macro_rules! start_of_octal_number {
31    () => {
32        [b'0', b'O' | b'o', b'0'..=b'7']
33    };
34}
35
36#[macro_export]
37macro_rules! start_of_hexadecimal_number {
38    () => {
39        [b'0', b'X' | b'x', b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F']
40    };
41}
42
43#[macro_export]
44macro_rules! start_of_octal_or_float_number {
45    () => {
46        [b'0', ..]
47    };
48}
49
50#[macro_export]
51macro_rules! start_of_float_number {
52    () => {
53        [b'.', ..]
54    };
55}
56
57#[macro_export]
58macro_rules! float_exponent {
59    () => {
60        [b'e' | b'E']
61    };
62}
63
64#[macro_export]
65macro_rules! float_separator {
66    () => {
67        [b'.', ..] | [b'e' | b'E', b'-' | b'+', b'0'..=b'9'] | [b'e' | b'E', b'0'..=b'9', ..]
68    };
69}
70
71#[macro_export]
72macro_rules! number_sign {
73    () => {
74        [b'-' | b'+']
75    };
76}
77
78#[macro_export]
79macro_rules! number_separator {
80    () => {
81        b'_'
82    };
83}