text/rust
*.rs
//
/*
*/
fn
type
abstract
alignof
as
become
box
break
const
continue
crate
do
else
enum
extern
final
for
if
impl
in
let
loop
macro
match
mod
move
mut
offsetof
override
priv
proc
pub
pure
ref
return
sizeof
static
struct
super
trait
typeof
unsafe
unsized
use
virtual
where
while
yield
bool
isize
usize
i8
i16
i32
i64
u8
u16
u32
u64
f32
f64
char
str
Self
self
true
false
(i8|i16|i32|i64|i|u8|u16|u32|u64|u)
([eE][+-]?[0-9_]+)
(\%{exponent}?(f32|f64)?)|(\.[0-9][0-9_]*\%{exponent}?)?(f32|f64)?|\.
\%{int_suffix}|\%{float_suffix}
[0-9a-fA-F]
[0-7]
((?<=\.\.)|(?<![\w\.]))
(
[1-9][0-9_]*\%{num_suffix}?|
0[0-9_]*\%{num_suffix}?|
0b[01_]+\%{int_suffix}?|
0o(\%{oct_digit}|_)+\%{int_suffix}?|
0x(\%{hex_digit}|_)+\%{int_suffix}?
)
((?![\w\.].)|(?=\.\.))
([^[:cntrl:][:space:][:punct:][:digit:]]|_)([^[:cntrl:][:punct:][:space:]]|_)*
\%{ident}::
\%{ident}!
'\%{ident}
'|"|
\\|n|r|t|0|
x\%{hex_digit}{2}
u{\%{hex_digit}{1,6}}
\\\%{common_escape}|\\\%{unicode_escape}
\\\%{common_escape}
b?r(#*)"
"\%{1@start}
"
"
b"
"
'([^\\']|\\\%{common_escape}|\\\%{unicode_escape})'
b'([^\\']|\\\%{common_escape})'
\#!?\[
\]