summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grammar/rust.lm12
1 files changed, 10 insertions, 2 deletions
diff --git a/grammar/rust.lm b/grammar/rust.lm
index 45e01d73..ad6d25d8 100644
--- a/grammar/rust.lm
+++ b/grammar/rust.lm
@@ -31,9 +31,17 @@ lex
( ( 'u' | 'i' ) [a-z0-9]+ )?
/
+ rl float_exponent
+ / ( [eE] [+\-]? [0-9_]* [0-9] [0-9_]* )? /
+
+ rl float_suffix
+ / ( 'f32' | 'f64' )? /
+
+ # Not implemented: DEC_LITERAL . (not immediately followed by ., _ or an identifier)
token float/
- [0-9]+ '.' [0-9]+
- ( 'f32' | 'f64' )?
+ [0-9]+ float_exponent |
+ [0-9]+ '.' [0-9]+ float_exponent? |
+ [0-9]+ ( '.' [0-9]+ )? float_exponent? float_suffix
/
token raw_string /