diff --git a/doc/TypeScript Language Specification (Change Markup).docx b/doc/TypeScript Language Specification (Change Markup).docx
index 08a3fb4ac0d9b..10a972fac8414 100644
Binary files a/doc/TypeScript Language Specification (Change Markup).docx and b/doc/TypeScript Language Specification (Change Markup).docx differ
diff --git a/doc/TypeScript Language Specification (Change Markup).pdf b/doc/TypeScript Language Specification (Change Markup).pdf
index 00a91ba1fc856..2330d9eab8633 100644
Binary files a/doc/TypeScript Language Specification (Change Markup).pdf and b/doc/TypeScript Language Specification (Change Markup).pdf differ
diff --git a/doc/TypeScript Language Specification.docx b/doc/TypeScript Language Specification.docx
index 7a82371f38c10..7334e11bd3121 100644
Binary files a/doc/TypeScript Language Specification.docx and b/doc/TypeScript Language Specification.docx differ
diff --git a/doc/TypeScript Language Specification.pdf b/doc/TypeScript Language Specification.pdf
index 323481fb7c215..a50170d32ba40 100644
Binary files a/doc/TypeScript Language Specification.pdf and b/doc/TypeScript Language Specification.pdf differ
diff --git a/doc/spec.md b/doc/spec.md
index cf92bb2db2fe9..8791eac1e7c25 100644
--- a/doc/spec.md
+++ b/doc/spec.md
@@ -5751,14 +5751,51 @@ This appendix contains a summary of the grammar found in the main document. As d
## A.3 Statements
*VariableDeclaration:* *( Modified )*
- *Identifier* *TypeAnnotationopt* *Initialiseropt*
+ *SimpleVariableDeclaration*
+ *DestructuringVariableDeclaration*
- *VariableDeclarationNoIn:* *( Modified )*
- *Identifier* *TypeAnnotationopt* *InitialiserNoInopt*
+ *SimpleVariableDeclaration:*
+ *Identifier* *TypeAnnotationopt* *Initialiseropt*
*TypeAnnotation:*
`:` *Type*
+ *DestructuringVariableDeclaration:*
+ *BindingPattern* *TypeAnnotationopt* *Initialiser*
+
+ *BindingPattern:*
+ *ObjectBindingPattern*
+ *ArrayBindingPattern*
+
+ *ObjectBindingPattern:*
+ `{` `}`
+ `{` *BindingPropertyList* `,`*opt* `}`
+
+ *BindingPropertyList:*
+ *BindingProperty*
+ *BindingPropertyList* `,` *BindingProperty*
+
+ *BindingProperty:*
+ *Identifier* *Initialiseropt*
+ *PropertyName* `:` *Identifier* *Initialiseropt*
+ *PropertyName* `:` *BindingPattern* *Initialiseropt*
+
+ *ArrayBindingPattern:*
+ `[` *Elisionopt* *BindingRestElementopt* `]`
+ `[` *BindingElementList* `]`
+ `[` *BindingElementList* `,` *Elisionopt* *BindingRestElementopt* `]`
+
+ *BindingElementList:*
+ *Elisionopt* *BindingElement*
+ *BindingElementList* `,` *Elisionopt* *BindingElement*
+
+ *BindingElement:*
+ *Identifier* *Initialiseropt*
+ *BindingPattern* *Initialiseropt*
+
+ *BindingRestElement:*
+ `...` *Identifier*
+
## A.4 Functions
*FunctionDeclaration:* *( Modified )*