Finalize structs grammar

This commit is contained in:
Aleksey Kladov 2020-07-30 17:24:07 +02:00
parent b043947301
commit 8ddbf06e39
2 changed files with 3 additions and 5 deletions

View file

@ -83,22 +83,21 @@ StructDef =
)
RecordFieldList =
'{' fields:RecordField* '}'
'{' fields:(RecordField (',' RecordField)* ','?)? '}'
RecordField =
Attr* Visibility? Name ':' ascribed_type:TypeRef
TupleFieldList =
'(' fields:TupleField* ')'
'(' fields:(TupleField (',' TupleField)* ','?)? ')'
TupleField =
Attr* Visibility? Name TypeRef
Attr* Visibility? TypeRef
FieldList =
RecordFieldList
| TupleFieldList
UnionDef =
Attr* Visibility? 'union' Name GenericParamList? WhereClause?
RecordFieldList