Waddle_Language/grammar/main.bnf

30 lines
1,013 B
BNF
Raw Normal View History

<program> ::= <use_statement>*
<optional_whitespace>
<top_level_definition>*
<optional_whitespace>
<use_statement> ::= <use_statement_identifier>
<optional_whitespace>
<identifier>
("." <identifier>)*
<optional_whitespace> ";"
<top_level_definition> ::= (<type_declaration>
| <interface_declaration>
| <error_declaration>)
<optional_whitespace>
import "core/keywords.bnf"
import "core/comments.bnf"
import "core/base_types.bnf"
import "core/identifiers.bnf"
import "core/literals.bnf"
import "core/visibility.bnf"
import "declarations/error_declarations.bnf"
import "declarations/type_declarations.bnf"
import "declarations/function_declarations.bnf"
import "operations/expressions.bnf"
import "operations/method_calls.bnf"
import "operations/control_flow.bnf"
import "interfaces/interface_definitions.bnf"