@@ -942,34 +942,18 @@ extension Lexer.Cursor {
942
942
preferRegexOverBinaryOperator: preferRegexOverBinaryOperator
943
943
)
944
944
945
- case " A " , " B " , " C " ,
946
- " D " , " E " , " F " ,
947
- " G " , " H " , " I " ,
948
- " J " , " K " , " L " ,
949
- " M " , " N " , " O " ,
950
- " P " , " Q " , " R " ,
951
- " S " , " T " , " U " ,
952
- " V " , " W " , " X " ,
953
- " Y " , " Z " ,
954
- " a " , " b " , " c " ,
955
- " d " , " e " , " f " ,
956
- " g " , " h " , " i " ,
957
- " j " , " k " , " l " ,
958
- " m " , " n " , " o " ,
959
- " p " , " q " , " r " ,
960
- " s " , " t " , " u " ,
961
- " v " , " w " , " x " ,
962
- " y " , " z " ,
963
- " _ " :
945
+ case " A " , " B " , " C " , " D " , " E " , " F " , " G " , " H " , " I " ,
946
+ " J " , " K " , " L " , " M " , " N " , " O " , " P " , " Q " , " R " ,
947
+ " S " , " T " , " U " , " V " , " W " , " X " , " Y " , " Z " ,
948
+ " a " , " b " , " c " , " d " , " e " , " f " , " g " , " h " , " i " ,
949
+ " j " , " k " , " l " , " m " , " n " , " o " , " p " , " q " , " r " ,
950
+ " s " , " t " , " u " , " v " , " w " , " x " , " y " , " z " , " _ " :
964
951
return self . lexIdentifier ( )
965
952
966
953
case " $ " :
967
954
return self . lexDollarIdentifier ( )
968
955
969
- case " 0 " , " 1 " , " 2 " ,
970
- " 3 " , " 4 " , " 5 " ,
971
- " 6 " , " 7 " , " 8 " ,
972
- " 9 " :
956
+ case " 0 " , " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " , " 9 " :
973
957
return self . lexNumber ( )
974
958
case #"'"# , #"""# :
975
959
return self . lexStringQuote ( isOpening: true , leadingDelimiterLength: 0 )
@@ -1184,47 +1168,25 @@ extension Lexer.Cursor {
1184
1168
// Start character of tokens.
1185
1169
// case (char)-1: case (char)-2:
1186
1170
case // Punctuation.
1187
- " { " , " [ " , " ( " ,
1188
- " } " , " ] " , " ) " ,
1189
- " @ " , " , " , " ; " ,
1190
- " : " , " \\ " , " $ " ,
1191
- " # " ,
1171
+ " { " , " [ " , " ( " , " } " , " ] " , " ) " , " @ " ,
1172
+ " , " , " ; " , " : " , " \\ " , " $ " , " # " ,
1192
1173
1193
1174
// Start of integer/hex/float literals.
1194
- " 0 " , " 1 " , " 2 " ,
1195
- " 3 " , " 4 " , " 5 " ,
1196
- " 6 " , " 7 " , " 8 " ,
1197
- " 9 " ,
1175
+ " 0 " , " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " , " 9 " ,
1198
1176
1199
1177
// Start of literals.
1200
1178
#"""# , #"'"# , " ` " ,
1201
1179
1202
1180
// Start of identifiers.
1203
- " A " , " B " , " C " ,
1204
- " D " , " E " , " F " ,
1205
- " G " , " H " , " I " ,
1206
- " J " , " K " , " L " ,
1207
- " M " , " N " , " O " ,
1208
- " P " , " Q " , " R " ,
1209
- " S " , " T " , " U " ,
1210
- " V " , " W " , " X " ,
1211
- " Y " , " Z " ,
1212
- " a " , " b " , " c " ,
1213
- " d " , " e " , " f " ,
1214
- " g " , " h " , " i " ,
1215
- " j " , " k " , " l " ,
1216
- " m " , " n " , " o " ,
1217
- " p " , " q " , " r " ,
1218
- " s " , " t " , " u " ,
1219
- " v " , " w " , " x " ,
1220
- " y " , " z " ,
1221
- " _ " ,
1181
+ " A " , " B " , " C " , " D " , " E " , " F " , " G " , " H " , " I " ,
1182
+ " J " , " K " , " L " , " M " , " N " , " O " , " P " , " Q " , " R " ,
1183
+ " S " , " T " , " U " , " V " , " W " , " X " , " Y " , " Z " ,
1184
+ " a " , " b " , " c " , " d " , " e " , " f " , " g " , " h " , " i " ,
1185
+ " j " , " k " , " l " , " m " , " n " , " o " , " p " , " q " , " r " ,
1186
+ " s " , " t " , " u " , " v " , " w " , " x " , " y " , " z " , " _ " ,
1222
1187
1223
1188
// Start of operators.
1224
- " % " , " ! " , " ? " ,
1225
- " = " , " - " , " + " ,
1226
- " * " , " & " , " | " ,
1227
- " ^ " , " ~ " , " . " :
1189
+ " % " , " ! " , " ? " , " = " , " - " , " + " , " * " , " & " , " | " , " ^ " , " ~ " , " . " :
1228
1190
break
1229
1191
case 0xEF :
1230
1192
if self . is ( at: 0xBB ) , self . is ( offset: 1 , at: 0xBF ) {
@@ -1287,7 +1249,7 @@ extension Lexer.Cursor {
1287
1249
let zeroConsumed = self . advance ( matching: " 0 " ) // Consume '0'
1288
1250
let oConsumed = self . advance ( matching: " o " ) // Consume 'o'
1289
1251
precondition ( zeroConsumed && oConsumed)
1290
- if let peeked = self . peek ( ) , peeked < " 0 " || peeked > " 7 " {
1252
+ if let peeked = self . peek ( ) , peeked < UInt8 ( ascii : " 0 " ) || peeked > UInt8 ( ascii : " 7 " ) {
1291
1253
let errorPos = self
1292
1254
self . advance ( while: { $0. isValidIdentifierContinuationCodePoint } )
1293
1255
return Lexer . Result (
0 commit comments