@@ -242,29 +242,31 @@ FormatReplacement { "{" (YieldExpression | commaSep<"*"? test>) FormatConversion
242
242
243
243
formatStringSpecChars { ![{}]+ }
244
244
245
- formatString1Content { !['{\\] | "\\" _ | "{{" }
246
- formatString2Content { !["{\\] | "\\" _ | "{{" }
245
+ formatString1Content { ( !['{\\] | "\\" _ | "{{")+ }
246
+ formatString2Content { ( !["{\\] | "\\" _ | "{{")+ }
247
247
248
248
longStringStart<quote> { stringPrefix? quote quote quote }
249
249
250
- longString1Content { !['\\] | "\\" _ | "'" longString1_2 }
250
+ longString1Content { ( !['\\] | "\\" _ | "'" longString1_2)+ }
251
251
longString1_2 { !['\\] | "\\" _ | "'" longString1_3 }
252
252
longString1_3 { !['\\] | "\\" _ }
253
253
254
- longString2Content { !["\\] | "\\" _ | '"' longString2_2 }
254
+ longString2Content { ( !["\\] | "\\" _ | '"' longString2_2)+ }
255
255
longString2_2 { !["\\] | "\\" _ | '"' longString2_3 }
256
256
longString2_3 { !["\\] | "\\" _ }
257
257
258
258
longFormatStringStart<quote> { formatPrefix quote quote quote }
259
259
260
- longFormatString1Content { !['\\{] | "\\" _ | "'" longFormatString1_2 | "{{" }
260
+ longFormatString1Content { ( !['\\{] | "\\" _ | "'" longFormatString1_2 | "{{")+ }
261
261
longFormatString1_2 { !['\\{] | "\\" _ | "{{" | "'" longFormatString1_3 }
262
262
longFormatString1_3 { !['\\{] | "\\" _ | "{{" }
263
263
264
- longFormatString2Content { !["\\{] | "\\" _ | "'" longFormatString2_2 | "{{" }
264
+ longFormatString2Content { ( !["\\{] | "\\" _ | "'" longFormatString2_2 | "{{")+ }
265
265
longFormatString2_2 { !["\\{] | "\\" _ | "{{" | "'" longFormatString2_3 }
266
266
longFormatString2_3 { !["\\{] | "\\" _ | "{{" }
267
267
268
+ @precedence { "{", formatString1Content, formatString2Content, longFormatString1Content, longFormatString2Content }
269
+
268
270
Number {
269
271
(std.digit ("_" | std.digit)* ("." std.digit ("_" | std.digit)*)? | "." std.digit ("_" | std.digit)*)
270
272
($[eE] $[+\-]? std.digit ("_" | std.digit)*)? $[jJ]? |
0 commit comments