@@ -660,10 +660,15 @@ $(GNAME IntegerSuffix):
660
660
$(B UL)
661
661
662
662
$(GNAME DecimalInteger):
663
- $(B 0)
663
+ $(GLINK ZeroDigits)
664
+ $(GLINK ZeroDigits) $(GLINK OctalDigit)
664
665
$(GLINK NonZeroDigit)
665
666
$(GLINK NonZeroDigit) $(GLINK DecimalDigitsUS)
666
667
668
+ $(GNAME ZeroDigits):
669
+ $(B 0)
670
+ $(B 0) $(GSELF ZeroDigits)
671
+
667
672
$(GNAME BinaryInteger):
668
673
$(GLINK BinPrefix) $(GLINK BinaryDigitsNoSingleUS)
669
674
@@ -787,7 +792,8 @@ $(GNAME HexLetter):
787
792
)
788
793
789
794
$(P C-style octal integer notation was deemed too easy to mix up with decimal notation;
790
- it is only fully supported in string literals.
795
+ it is only fully supported in string literals or when the decimal interpretation would be equivalent
796
+ (e.g. $(D 007) is accepted)
791
797
D still supports octal integer literals interpreted at compile time through the $(REF octal, std,conv)
792
798
template, as in $(D octal!167).)
793
799
$(P Hexadecimal integers are a sequence of hexadecimal digits preceded
@@ -861,12 +867,12 @@ $(GNAME Float):
861
867
$(GLINK HexFloat)
862
868
863
869
$(GNAME DecimalFloat):
864
- $(GLINK LeadingDecimal ) $(B .)
865
- $(GLINK LeadingDecimal ) $(B .) $(GLINK DecimalDigits )
866
- $(GLINK DecimalDigits ) $(B .) $(GLINK DecimalDigitsNoStartingUS) $(GLINK DecimalExponent)
867
- $(B .) $(GLINK DecimalInteger )
868
- $(B .) $(GLINK DecimalInteger ) $(GLINK DecimalExponent)
869
- $(GLINK LeadingDecimal ) $(GLINK DecimalExponent)
870
+ $(GLINK DecimalDigitsNoStartingUS ) $(B .)
871
+ $(GLINK DecimalDigitsNoStartingUS ) $(B .) $(GLINK DecimalDigitsNoStartingUS )
872
+ $(GLINK DecimalDigitsNoStartingUS ) $(B .) $(GLINK DecimalDigitsNoStartingUS) $(GLINK DecimalExponent)
873
+ $(B .) $(GLINK DecimalDigitsNoStartingUS )
874
+ $(B .) $(GLINK DecimalDigitsNoStartingUS ) $(GLINK DecimalExponent)
875
+ $(GLINK DecimalDigitsNoStartingUS ) $(GLINK DecimalExponent)
870
876
871
877
$(GNAME DecimalExponent):
872
878
$(GLINK DecimalExponentStart) $(GLINK DecimalDigitsNoSingleUS)
@@ -889,7 +895,7 @@ $(GNAME HexPrefix):
889
895
$(B 0X)
890
896
891
897
$(GNAME HexExponent):
892
- $(GLINK HexExponentStart) $(GLINK DecimalDigitsNoSingleUS )
898
+ $(GLINK HexExponentStart) $(GLINK HexDigitsNoSingleUS )
893
899
894
900
$(GNAME HexExponentStart):
895
901
$(B p)
@@ -916,10 +922,6 @@ $(GNAME RealSuffix):
916
922
917
923
$(GNAME ImaginarySuffix):
918
924
$(B i)
919
-
920
- $(GNAME LeadingDecimal):
921
- $(GLINK DecimalInteger)
922
- $(B 0) $(GLINK DecimalDigitsNoSingleUS)
923
925
)
924
926
925
927
$(P Floats can be in decimal or hexadecimal format.)
0 commit comments