jchitel / renlang

The Ren Programming Language
MIT License
4 stars 0 forks source link

Interfaces #2

Open jchitel opened 6 years ago

jchitel commented 6 years ago

Interfaces

Dependencies: Overloads

New syntactic features:

New Tokens:

INTERFACE ::= interface

New NonTerminals:

InterfaceDeclaration ::= INTERFACE IDENT TypeParamList? LBRACE InterfaceMember* RBRACE
AnonInterfaceDeclaration ::= INTERFACE TypeParamList? LBRACE InterfaceMember* RBRACE
InterfaceMember ::= (Type IDENT) | (Type IDENT TypeParamList? ParameterList)

Extended NonTerminals:

Declaration ::= ... | InterfaceDeclaration
AnonDeclaration ::= ... | AnonInterfaceDeclaration

New semantic features:

Transformation: