Waddle_Language/grammar/interfaces/interface_definitions.bnf

18 lines
599 B
BNF
Raw Normal View History

<interface_declaration> ::= "@" <interface_identifier> "{" <interface_body> "}"
<interface_identifier> ::= <identifier>
<interface_body> ::= <interface_method_declaration>*
<interface_method_declaration> ::=
<accessibility_modifier> "fn" <identifier> <function_signature> ";"
<interface_implementation> ::= <type_declaration> "->" <interface_identifier_list>
<interface_method_signature> ::=
<accessibility_modifier>"fn" <identifier> <function_signature>
<interface_inheritance> ::=
"@" <interface_identifier> "extends" <interface_identifier_list>
"{" <interface_body> "}"