Skip to content

Commit 68bdfd1

Browse files
authored
Merge pull request #2126 from ehuss/lexical-alt-order
Fix alternation order of lexical rules
2 parents 0d0c336 + 782cf07 commit 68bdfd1

File tree

1 file changed

+47
-47
lines changed

1 file changed

+47
-47
lines changed

src/tokens.md

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Token ->
1414
| RAW_BYTE_STRING_LITERAL
1515
| C_STRING_LITERAL
1616
| RAW_C_STRING_LITERAL
17-
| INTEGER_LITERAL
1817
| FLOAT_LITERAL
18+
| INTEGER_LITERAL
1919
| LIFETIME_TOKEN
2020
| PUNCTUATION
2121
| IDENTIFIER_OR_KEYWORD
@@ -443,7 +443,7 @@ r[lex.token.literal.int]
443443
r[lex.token.literal.int.syntax]
444444
```grammar,lexer
445445
INTEGER_LITERAL ->
446-
( DEC_LITERAL | BIN_LITERAL | OCT_LITERAL | HEX_LITERAL ) SUFFIX_NO_E?
446+
( BIN_LITERAL | OCT_LITERAL | HEX_LITERAL | DEC_LITERAL ) SUFFIX_NO_E?
447447
448448
DEC_LITERAL -> DEC_DIGIT (DEC_DIGIT|`_`)*
449449
@@ -558,9 +558,9 @@ r[lex.token.literal.float]
558558
r[lex.token.literal.float.syntax]
559559
```grammar,lexer
560560
FLOAT_LITERAL ->
561-
DEC_LITERAL `.` _not immediately followed by `.`, `_` or an XID_Start character_
561+
DEC_LITERAL (`.` DEC_LITERAL)? FLOAT_EXPONENT SUFFIX?
562562
| DEC_LITERAL `.` DEC_LITERAL SUFFIX_NO_E?
563-
| DEC_LITERAL (`.` DEC_LITERAL)? FLOAT_EXPONENT SUFFIX?
563+
| DEC_LITERAL `.` _not immediately followed by `.`, `_` or an XID_Start character_
564564
565565
FLOAT_EXPONENT ->
566566
(`e`|`E`) (`+`|`-`)? `_`* DEC_DIGIT (DEC_DIGIT|`_`)*
@@ -657,12 +657,12 @@ r[lex.token.life]
657657
r[lex.token.life.syntax]
658658
```grammar,lexer
659659
LIFETIME_TOKEN ->
660-
`'` IDENTIFIER_OR_KEYWORD _not immediately followed by `'`_
661-
| RAW_LIFETIME
660+
RAW_LIFETIME
661+
| `'` IDENTIFIER_OR_KEYWORD _not immediately followed by `'`_
662662
663663
LIFETIME_OR_LABEL ->
664-
`'` NON_KEYWORD_IDENTIFIER _not immediately followed by `'`_
665-
| RAW_LIFETIME
664+
RAW_LIFETIME
665+
| `'` NON_KEYWORD_IDENTIFIER _not immediately followed by `'`_
666666
667667
RAW_LIFETIME ->
668668
`'r#` IDENTIFIER_OR_KEYWORD _not immediately followed by `'`_
@@ -695,58 +695,58 @@ Punctuation tokens are used as operators, separators, and other parts of the gra
695695
r[lex.token.punct.syntax]
696696
```grammar,lexer
697697
PUNCTUATION ->
698-
`=`
699-
| `<`
700-
| `<=`
701-
| `==`
698+
`...`
699+
| `..=`
700+
| `<<=`
701+
| `>>=`
702702
| `!=`
703-
| `>=`
704-
| `>`
703+
| `%=`
705704
| `&&`
706-
| `||`
707-
| `!`
708-
| `~`
709-
| `+`
710-
| `-`
711-
| `*`
712-
| `/`
713-
| `%`
714-
| `^`
715-
| `&`
716-
| `|`
717-
| `<<`
718-
| `>>`
705+
| `&=`
706+
| `*=`
719707
| `+=`
720708
| `-=`
721-
| `*=`
722-
| `/=`
723-
| `%=`
724-
| `^=`
725-
| `&=`
726-
| `|=`
727-
| `<<=`
728-
| `>>=`
729-
| `@`
730-
| `.`
709+
| `->`
731710
| `..`
732-
| `...`
733-
| `..=`
734-
| `,`
735-
| `;`
736-
| `:`
711+
| `/=`
737712
| `::`
738-
| `->`
739713
| `<-`
714+
| `<<`
715+
| `<=`
716+
| `==`
740717
| `=>`
718+
| `>=`
719+
| `>>`
720+
| `>`
721+
| `^=`
722+
| `|=`
723+
| `||`
724+
| `!`
741725
| `#`
742726
| `$`
727+
| `%`
728+
| `&`
729+
| `(`
730+
| `)`
731+
| `*`
732+
| `+`
733+
| `,`
734+
| `-`
735+
| `.`
736+
| `/`
737+
| `:`
738+
| `;`
739+
| `<`
740+
| `=`
743741
| `?`
744-
| `{`
745-
| `}`
742+
| `@`
746743
| `[`
747744
| `]`
748-
| `(`
749-
| `)`
745+
| `^`
746+
| `{`
747+
| `|`
748+
| `}`
749+
| `~`
750750
```
751751

752752
> [!NOTE]

0 commit comments

Comments
 (0)