blob: 4f193f05fab4ed400248df3a1d55508092bb0c59 [file] [edit]
/**
h1. Syntax
*Relevant pages:* [Namespaces]
*/
[start]
kotlinFile
: preamble toplevelObject*
;
[start]
script
: preamble expression*
;
preamble
: packageHeader? import*
;
packageHeader
: modifiers "package" SimpleName{"."} SEMI?
;
import
: "import" ("package" ".")? SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI?
;
/**
bq. See [Imports|Namespaces#Imports]
*/
toplevelObject
: package
: class
: object
: function
: property
: typedef
;
package
: "package" SimpleName{"."} "{"
import*
toplevelObject*
"}"
;
/**
bq. See [Namespaces]
*/
[undocumented]
typedef
: modifiers "type" SimpleName (typeParameters typeConstraints)? "=" type
;