diff --git a/src/tokens.md b/src/tokens.md
index 3163a9de6..22e8f6852 100644
--- a/src/tokens.md
+++ b/src/tokens.md
@@ -264,6 +264,22 @@ a single integer literal.
#### Floating-point literals
+> **Lexer**
+> FLOAT_LITERAL :
+> DEC_LITERAL `.`
+> _(not immediately followed by `.`, `_` or an identifier_)
+> | DEC_LITERAL FLOAT_EXPONENT
+> | DEC_LITERAL `.` DEC_LITERAL FLOAT_EXPONENT?
+> | DEC_LITERAL (`.` DEC_LITERAL)?
+> FLOAT_EXPONENT? FLOAT_SUFFIX
+>
+> FLOAT_EXPONENT :
+> (`e`|`E`) (`+`|`-`)?
+> (DEC_DIGIT|`_`)\* DEC_DIGIT (DEC_DIGIT|`_`)\*
+>
+> FLOAT_SUFFIX :
+> `f32` | `f64`
+
A _floating-point literal_ has one of two forms:
* A _decimal literal_ followed by a period character `U+002E` (`.`). This is