diff --git a/spec.html b/spec.html
index c1670d7f31c..00de982ec17 100644
--- a/spec.html
+++ b/spec.html
@@ -10076,6 +10076,7 @@
Syntax
BinaryIntegerLiteral
OctalIntegerLiteral
HexIntegerLiteral
+ LegacyOctalIntegerLiteral
DecimalLiteral ::
DecimalIntegerLiteral `.` DecimalDigits? ExponentPart?
@@ -10085,6 +10086,7 @@ Syntax
DecimalIntegerLiteral ::
`0`
NonZeroDigit DecimalDigits?
+ NonOctalDecimalIntegerLiteral
DecimalDigits ::
DecimalDigit
@@ -10118,6 +10120,19 @@ Syntax
BinaryDigit :: one of
`0` `1`
+ NonOctalDecimalIntegerLiteral ::
+ `0` NonOctalDigit
+ LegacyOctalLikeDecimalIntegerLiteral NonOctalDigit
+ NonOctalDecimalIntegerLiteral DecimalDigit
+
+ LegacyOctalLikeDecimalIntegerLiteral ::
+ `0` OctalDigit
+ LegacyOctalLikeDecimalIntegerLiteral OctalDigit
+
+ LegacyOctalIntegerLiteral ::
+ `0` OctalDigit
+ LegacyOctalIntegerLiteral OctalDigit
+
OctalIntegerLiteral ::
`0o` OctalDigits
`0O` OctalDigits
@@ -10129,6 +10144,9 @@ Syntax
OctalDigit :: one of
`0` `1` `2` `3` `4` `5` `6` `7`
+ NonOctalDigit :: one of
+ `8` `9`
+
HexIntegerLiteral ::
`0x` HexDigits
`0X` HexDigits
@@ -10144,9 +10162,20 @@ Syntax
For example: `3in` is an error and not the two input elements `3` and `in`.
- A conforming implementation, when processing strict mode code, must not extend, as described in , the syntax of |NumericLiteral| to include , nor extend the syntax of |DecimalIntegerLiteral| to include .
-
+
+ Static Semantics: Early Errors
+
+ NumericLiteral :: LegacyOctalIntegerLiteral
+
+ DecimalIntegerLiteral :: NonOctalDecimalIntegerLiteral
+
+
+ - It is a Syntax Error if the source code matching this production is strict mode code.
+
+
+
+
Static Semantics: MV
A numeric literal stands for a value of the Number type. This value is determined in two steps: first, a mathematical value (MV) is derived from the literal; second, this mathematical value is rounded as described below.