25 lines
807 B
BNF
25 lines
807 B
BNF
<program> ::= <module_declaration>* <use_statement>* <declaration>*
|
|
|
|
<module_declaration> ::= "module" <identifier> "{"
|
|
(<export_declaration> | <declaration>)*
|
|
"}"
|
|
|
|
<export_declaration> ::= <accessibility_modifier>"export"
|
|
(<type_declaration> | <function_declaration>)
|
|
|
|
<use_statement> ::= "use" <identifier> ("." <identifier>)* ";"
|
|
|
|
import "core/base_types.bnf"
|
|
import "core/identifiers.bnf"
|
|
import "core/literals.bnf"
|
|
import "core/visibility.bnf"
|
|
import "core/modules.bnf"
|
|
import "declarations/type_declarations.bnf"
|
|
import "declarations/function_declarations.bnf"
|
|
import "declarations/object_instantiation.bnf"
|
|
import "operations/expressions.bnf"
|
|
import "operations/method_calls.bnf"
|
|
import "operations/control_flow.bnf"
|
|
import "interfaces/interface_definitions.bnf"
|
|
import "modules/**/*.bnf"
|