Add support in Dart.g for separators in numeric literals
Change-Id: I2b0ba97b9b89803b28358b94959e31276eda3af2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/387222 Commit-Queue: Erik Ernst <eernst@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
|
||||
// CHANGES:
|
||||
//
|
||||
// v0.50 Add support for digit separators in numeric literals.
|
||||
//
|
||||
// v0.49 Add support for static and top-level members with no implementation.
|
||||
//
|
||||
// v0.48 Add support for enhanced parts.
|
||||
@@ -1734,7 +1736,12 @@ DIGIT
|
||||
|
||||
fragment
|
||||
EXPONENT
|
||||
: ('e' | 'E') ('+' | '-')? DIGIT+
|
||||
: ('e' | 'E') ('+' | '-')? DIGITS
|
||||
;
|
||||
|
||||
fragment
|
||||
DIGITS
|
||||
: DIGIT ('_'* DIGIT)*
|
||||
;
|
||||
|
||||
fragment
|
||||
@@ -1744,6 +1751,11 @@ HEX_DIGIT
|
||||
| DIGIT
|
||||
;
|
||||
|
||||
fragment
|
||||
HEX_DIGITS
|
||||
: HEX_DIGIT ('_'* HEX_DIGIT)*
|
||||
;
|
||||
|
||||
// Reserved words (if updated, update `reservedWord` as well).
|
||||
|
||||
ASSERT
|
||||
@@ -2031,14 +2043,13 @@ WHEN
|
||||
// Lexical tokens that are not words.
|
||||
|
||||
NUMBER
|
||||
: DIGIT+ '.' DIGIT+ EXPONENT?
|
||||
| DIGIT+ EXPONENT?
|
||||
| '.' DIGIT+ EXPONENT?
|
||||
: DIGITS ('.' DIGITS)? EXPONENT?
|
||||
| '.' DIGITS EXPONENT?
|
||||
;
|
||||
|
||||
HEX_NUMBER
|
||||
: '0x' HEX_DIGIT+
|
||||
| '0X' HEX_DIGIT+
|
||||
: '0x' HEX_DIGITS
|
||||
| '0X' HEX_DIGITS
|
||||
;
|
||||
|
||||
RAW_SINGLE_LINE_STRING
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
// CHANGES:
|
||||
//
|
||||
// v0.51 Add support for digit separators in numeric literals.
|
||||
//
|
||||
// v0.50 Add support for static and top-level members with no implementation.
|
||||
//
|
||||
// v0.49 Add support for enhanced parts.
|
||||
@@ -1740,7 +1742,12 @@ DIGIT
|
||||
|
||||
fragment
|
||||
EXPONENT
|
||||
: ('e' | 'E') ('+' | '-')? DIGIT+
|
||||
: ('e' | 'E') ('+' | '-')? DIGITS
|
||||
;
|
||||
|
||||
fragment
|
||||
DIGITS
|
||||
: DIGIT ('_'* DIGIT)*
|
||||
;
|
||||
|
||||
fragment
|
||||
@@ -1750,6 +1757,11 @@ HEX_DIGIT
|
||||
| DIGIT
|
||||
;
|
||||
|
||||
fragment
|
||||
HEX_DIGITS
|
||||
: HEX_DIGIT ('_'* HEX_DIGIT)*
|
||||
;
|
||||
|
||||
// Reserved words (if updated, update `reservedWord` as well).
|
||||
|
||||
ASSERT
|
||||
@@ -2037,14 +2049,13 @@ WHEN
|
||||
// Lexical tokens that are not words.
|
||||
|
||||
NUMBER
|
||||
: DIGIT+ '.' DIGIT+ EXPONENT?
|
||||
| DIGIT+ EXPONENT?
|
||||
| '.' DIGIT+ EXPONENT?
|
||||
: DIGITS ('.' DIGITS)? EXPONENT?
|
||||
| '.' DIGITS EXPONENT?
|
||||
;
|
||||
|
||||
HEX_NUMBER
|
||||
: '0x' HEX_DIGIT+
|
||||
| '0X' HEX_DIGIT+
|
||||
: '0x' HEX_DIGITS
|
||||
| '0X' HEX_DIGITS
|
||||
;
|
||||
|
||||
RAW_SINGLE_LINE_STRING
|
||||
|
||||
Reference in New Issue
Block a user