Skip to content

1.3. Import Directives#


ImportDirective = (* import_keyword: *) IMPORT_KEYWORD
(* clause: *) ImportClause
(* semicolon: *) SEMICOLON;

ImportClause = (* variant: *) PathImport
| (* variant: *) NamedImport
| (* variant: *) ImportDeconstruction;

PathImport = (* path: *) StringLiteral
(* alias: *) ImportAlias?;

NamedImport = (* asterisk: *) ASTERISK
(* alias: *) ImportAlias
(* from_keyword: *) FROM_KEYWORD
(* path: *) StringLiteral;

ImportDeconstruction = (* open_brace: *) OPEN_BRACE
(* symbols: *) ImportDeconstructionSymbols
(* close_brace: *) CLOSE_BRACE
(* from_keyword: *) FROM_KEYWORD
(* path: *) StringLiteral;

ImportDeconstructionSymbols = (* item: *) ImportDeconstructionSymbol ((* separator: *) COMMA (* item: *) ImportDeconstructionSymbol)*;

ImportDeconstructionSymbol = (* name: *) IDENTIFIER
(* alias: *) ImportAlias?;

ImportAlias = (* as_keyword: *) AS_KEYWORD
(* identifier: *) IDENTIFIER;