2.1 Grammar Conventions

The syntactic grammar added by TypeScript language is specified throughout this document using the existing conventions and production names of the ECMAScript grammar. In places where TypeScript augments an existing grammar production it is so noted. For example:

  Declaration: ( Modified )   …   InterfaceDeclaration   TypeAliasDeclaration   EnumDeclaration

The ‘( Modified )‘ annotation indicates that an existing grammar production is being replaced, and the ‘…’ references the contents of the original grammar production.

Similar to the ECMAScript grammar, 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 not a match if a LineTerminator occurs in the input stream at the indicated position.