@@ -268,6 +268,9 @@ $(GNAME IdentifierStart):
268
268
$(I Letter)
269
269
$(I UniversalAlpha)
270
270
271
+ $(GNAME IdentifierStartError):
272
+ IdentifierStart
273
+
271
274
$(GNAME IdentifierChar):
272
275
$(GLINK IdentifierStart)
273
276
$(B 0)
@@ -282,6 +285,11 @@ Identifiers can be arbitrarily long, and are case sensitive.)
282
285
283
286
$(IMPLEMENTATION_DEFINED Identifiers starting with $(D __) (two underscores) are reserved.)
284
287
288
+ $(NOTE *IdentifierStartError* exists to enforce that a $(GLINK StringPostfix)
289
+ or numeric literal with a suffix is not immediately followed by an identifier
290
+ without whitespace.)
291
+
292
+
285
293
$(H2 $(LNAME2 string_literals, String Literals))
286
294
287
295
$(GRAMMAR
@@ -328,9 +336,9 @@ $(GNAME EscapeSequence):
328
336
$(B \\) $(GLINK2 entity, NamedCharacterEntity)
329
337
330
338
$(GNAME StringPostfix):
331
- $(B c)
332
- $(B w)
333
- $(B d)
339
+ $(B c) $(GLINK IdentifierStartError)$(OPT)
340
+ $(B w) $(GLINK IdentifierStartError)$(OPT)
341
+ $(B d) $(GLINK IdentifierStartError)$(OPT)
334
342
)
335
343
336
344
$(H3 $(LNAME2 wysiwyg, Wysiwyg Strings))
@@ -626,7 +634,7 @@ $(H2 $(LNAME2 integerliteral, Integer Literals))
626
634
$(GRAMMAR_LEX
627
635
$(GNAME IntegerLiteral):
628
636
$(GLINK Integer)
629
- $(GLINK Integer) $(GLINK IntegerSuffix)
637
+ $(GLINK Integer) $(GLINK IntegerSuffix) $(GLINK IdentifierStartError)$(OPT)
630
638
631
639
$(GNAME Integer):
632
640
$(GLINK DecimalInteger)
@@ -842,9 +850,11 @@ $(H2 $(LNAME2 floatliteral, Floating Point Literals))
842
850
843
851
$(GRAMMAR_LEX
844
852
$(GNAME FloatLiteral):
845
- $(GLINK Float) $(GLINK Suffix)$(OPT)
846
- $(GLINK Integer) $(GLINK FloatSuffix) $(GLINK ImaginarySuffix)$(OPT)
853
+ $(GLINK Float)
854
+ $(GLINK Float) $(GLINK Suffix) $(GLINK IdentifierStartError)$(OPT)
855
+ $(GLINK Integer) $(GLINK FloatSuffix) $(GLINK IdentifierStartError)$(OPT)
847
856
$(GLINK Integer) $(GLINK RealSuffix)$(OPT) $(GLINK ImaginarySuffix)
857
+ $(GLINK Integer) $(GLINK FloatSuffix) $(GLINK ImaginarySuffix)
848
858
849
859
$(GNAME Float):
850
860
$(GLINK DecimalFloat)
0 commit comments