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
34
35
36
37
38
39
40
#[doc(hidden)]
#[macro_export]
macro_rules! private_parse_expr {
{
$caller:tt
input = [{ $($input:tt)* }]
} => {
$crate::private_parse_expr! {
$caller
tokens = [{ $($input)* }]
_tokens = [{ $($input)* }]
}
};
{
$caller:tt
tokens = [{ $e:expr }]
_tokens = [{ $($tokens:tt)* }]
} => {
$crate::tt_return! {
$caller
expr = [{ $($tokens)* }]
rest = [{ }]
}
};
{
$caller:tt
tokens = [{ $($unexpected:tt)+ }]
_tokens = [{ $($dup:tt)* }]
} => {
$crate::error_unexpected! {
$($unexpected)*
}
};
}