A.8 Namespaces

  NamespaceDeclaration:   namespaceIdentifierPath{NamespaceBody}

  IdentifierPath:   BindingIdentifier   IdentifierPath.BindingIdentifier

  NamespaceBody:   NamespaceElementsopt

  NamespaceElements:   NamespaceElement   NamespaceElementsNamespaceElement

  NamespaceElement:   Statement   LexicalDeclaration   FunctionDeclaration   GeneratorDeclaration   ClassDeclaration   InterfaceDeclaration   TypeAliasDeclaration   EnumDeclaration   NamespaceDeclaration   AmbientDeclaration   ImportAliasDeclaration   ExportNamespaceElement

  ExportNamespaceElement:   exportVariableStatement   exportLexicalDeclaration   exportFunctionDeclaration   exportGeneratorDeclaration   exportClassDeclaration   exportInterfaceDeclaration   exportTypeAliasDeclaration   exportEnumDeclaration   exportNamespaceDeclaration   exportAmbientDeclaration   exportImportAliasDeclaration

  ImportAliasDeclaration:   importBindingIdentifier=EntityName;

  EntityName:   NamespaceName   NamespaceName.IdentifierReference