1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#[macro_export]
macro_rules! ident_start {
() => {
b'a'..=b'z' | b'A'..=b'Z' | b'_' | b'\x80'..=b'\xff'
};
}
#[macro_export]
macro_rules! ident {
() => {
b'0'..=b'9' | b'a'..=b'z' | b'A'..=b'Z' | b'_' | b'\x80'..=b'\xff'
};
}
#[macro_export]
macro_rules! lexer_bail {
($state:expr, $issue:ident($($args:expr),+$(,)?)$(,)?) => {
{
let issue = $crate::lexer::issue::$issue($state, $($args,)+);
return Err(Box::new(issue));
}
};
($state:expr, $issue:ident) => {
{
let issue = $crate::lexer::issue::$issue($state);
return Err(Box::new(issue));
}
};
}