19 lines
544 B
BNF
19 lines
544 B
BNF
<function_declaration> ::= <accessibility_modifier>"fn" <identifier>
|
|
<function_signature>
|
|
"{" <statement>* "}"
|
|
|
|
<function_signature> ::= "(" <parameter_list>? ")"
|
|
"->" <return_type_list>
|
|
|
|
<parameter_list> ::= <required_parameter>
|
|
("," <required_parameter>)*
|
|
[("," <default_parameter>)*]
|
|
|
|
<required_parameter> ::= <identifier> ":" <parameter_type>
|
|
|
|
<default_parameter> ::= <identifier> ".default(" <literal> ")"
|
|
|
|
<lambda_declaration> ::= "fn" "(" <parameter_list>? ")"
|
|
"->" "[" <type> "]"
|
|
"{" <statement>* "}"
|