diff --git a/spec.html b/spec.html index 209fb50..d51250a 100644 --- a/spec.html +++ b/spec.html @@ -23,6 +23,45 @@

Introduction

`&hat;` could instead be `#`, `@`, `?`, or many other tokens.

+ +

Notational Conventions

+ + +

Syntactic and Lexical Grammars

+ + +

Grammar Notation

+ + +

This section augments the original + Grammar Notation clause.

+ +

It presumptively uses `&hat;` as the placeholder token for the + topic reference. This choice of token is not a final decision; `&hat;` + could instead be `#`, `@`, `?`, or many other tokens.

+
+ +

If the phrase “[no |LineTerminator| here]” appears in the right-hand side of a production of the syntactic grammar, it indicates that the production is a restricted production: it may not be used if a |LineTerminator| occurs in the input stream at the indicated position. For example, the production:

+ + ThrowStatement : + `throw` [no LineTerminator here] Expression `;` + +

indicates that the production may not be used if a |LineTerminator| occurs in the script between the `throw` token and the |Expression|.

+ +

If the phrase “[no |LineTerminator| here]” appears in the right-hand side of a production of the syntactic grammar, it indicates that the production is a restricted production: it may not be used if a |LineTerminator| occurs in the input stream at the indicated position. For example, the production:

+

If the phrase “[contiguous]” appears in the right-hand side of a production of the syntactic grammar, it indicates that the production may not be used if there are any discarded tokens (i.e., simple white space, single-line comments, and any |MultiLineComment| that contains no line terminator) at the indicated position.

+

In other words, a production with “[contiguous]” may be used only if the production immediately preceding the indicated position is, in the original source text, contiguous with the production immediately following the indicated position. For example, the production:

+ + AssignmentOperator : + `^` [contiguous] `=` + +

indicates that the production must be associated with the text `^=`. The production may not be used if any code points appear in the script between `^` and `=`, including code points associated with discarded tokens such as |WhiteSpace|, |LineTerminator|, |SingleLineComment|, or |MultiLineComment|.

+
+
+
+
+

Syntax-Directed Operations