From f150ac951157b7c54e48279d8e1fa46271ccf462 Mon Sep 17 00:00:00 2001 From: Brian Terlson Date: Fri, 11 Dec 2015 10:36:59 -0800 Subject: [PATCH] Editorial: Fill out Annex A --- spec.html | 325 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 309 insertions(+), 16 deletions(-) diff --git a/spec.html b/spec.html index 15fda60e94..316a7d44eb 100644 --- a/spec.html +++ b/spec.html @@ -29,7 +29,6 @@

Introduction

ECMA-262, 6th Edition Project Editor

This Ecma Standard has been adopted by the General Assembly of June 2015.

- @@ -3321,7 +3320,7 @@

Syntax

`+` DecimalDigits `-` DecimalDigits -

All grammar symbols not explicitly defined above have the definitions used in the Lexical Grammar for numeric literals ()

+

All grammar symbols not explicitly defined above have the definitions used in the Lexical Grammar for numeric literals ()

Some differences should be noted between the syntax of a |StringNumericLiteral| and a |NumericLiteral| (see ):

    @@ -9424,8 +9423,8 @@

    Syntax

    `enum` `await` -

    `await` is only treated as a |FutureReservedWord| when |Module| is the goal symbol of the syntactic grammar.

    - +

    `await` is only treated as a |FutureReservedWord| when |Module| is the goal symbol of the syntactic grammar.

    +

    Use of the following tokens within strict mode code (see ) is also reserved. That usage is restricted using static semantic restrictions (see ) rather than the lexical grammar:

    @@ -10700,7 +10699,7 @@

    Syntax

    GeneratorExpression RegularExpressionLiteral TemplateLiteral[?Yield] - CoverParenthesizedExpressionAndArrowParameterList[?Yield] + CoverParenthesizedExpressionAndArrowParameterList[?Yield] #parencover CoverParenthesizedExpressionAndArrowParameterList[Yield] : `(` Expression[In, ?Yield] `)` @@ -13448,7 +13447,7 @@

    Syntax

    ConditionalExpression[?In, ?Yield] [+Yield] YieldExpression[?In] ArrowFunction[?In, ?Yield] - LeftHandSideExpression[?Yield] `=` AssignmentExpression[?In, ?Yield] + LeftHandSideExpression[?Yield] `=` AssignmentExpression[?In, ?Yield] #assignment LeftHandSideExpression[?Yield] AssignmentOperator AssignmentExpression[?In, ?Yield] AssignmentOperator : one of @@ -17862,7 +17861,7 @@

    Syntax

    ArrowParameters[Yield] : BindingIdentifier[?Yield] - CoverParenthesizedExpressionAndArrowParameterList[?Yield] + CoverParenthesizedExpressionAndArrowParameterList[?Yield] #parencover ConciseBody[In] : [lookahead != `{` ] AssignmentExpression[?In] @@ -27266,7 +27265,7 @@

    Syntax

    [~U] `u` Hex4Digits [+U] `u{` HexDigits `}` -

    Each `\\u` |TrailSurrogate| for which the choice of associated `u` |LeadSurrogate| is ambiguous shall be associated with the nearest possible `u` |LeadSurrogate| that would otherwise have no corresponding `\\u` |TrailSurrogate|.

    +

    Each `\\u` |TrailSurrogate| for which the choice of associated `u` |LeadSurrogate| is ambiguous shall be associated with the nearest possible `u` |LeadSurrogate| that would otherwise have no corresponding `\\u` |TrailSurrogate|.

    LeadSurrogate :: Hex4Digits [match only if the SV of Hex4Digits is in the inclusive range 0xD800 to 0xDBFF] @@ -35272,49 +35271,343 @@

    Grammar Summary

    Lexical Grammar

    - + + + + + + + + + + + + + + + + + + + + + + + + + + +

    `await` is only treated as a |FutureReservedWord| when |Module| is the goal symbol of the syntactic grammar.

    +

    The following tokens are also considered to be |FutureReservedWords| when parsing strict mode code:

    +

    implements  package  protected
    + interface  private  public +

    +

     

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Expressions

    - + + + + + + +

    When processing the production the interpretation of |CoverParenthesizedExpressionAndArrowParameterList| is refined using the following grammar:

    + +

     

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    In certain circumstances when processing the production the following grammar is used to refine the interpretation of |LeftHandSideExpression|:

    + + + + + + + + + + +

     

    + +

    Statements

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Functions and Classes

    - + + + + + + + + + + + + + +

    When the production is recognized the following grammar is used to refine the interpretation of |CoverParenthesizedExpressionAndArrowParameterList|:

    + +

     

    + + + + + + + + + + + + + +

    Scripts and Modules

    - + + + + + + + + + + + + + + + + + + + +

    Number Conversions

    - + + + + + + + + + + + + + +

    All grammar symbols not explicitly defined by the |StringNumericLiteral| grammar have the definitions used in the Lexical Grammar for numeric literals.

    Universal Resource Identifier Character Classes

    - + + + + + + + +

    Regular Expressions

    - + + + + + + + + + + + + + + + +

    Each `\\u` |TrailSurrogate| for which the choice of associated `u` |LeadSurrogate| is ambiguous shall be associated with the nearest possible `u` |LeadSurrogate| that would otherwise have no corresponding `\\u` |TrailSurrogate|.

    +

     

    + + + + + + + + + + + + +