mago_syntax_core/
macros.rs1#[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}