Finalize const&static grammar

This commit is contained in:
Aleksey Kladov 2020-07-30 18:02:20 +02:00
parent 6b25f640a6
commit 3cd4112bdc
39 changed files with 138 additions and 137 deletions

View file

@ -4,7 +4,7 @@ SourceFile =
Item*
Item =
ConstDef
Const
| Enum
| ExternBlock
| ExternCrate
@ -12,7 +12,7 @@ Item =
| ImplDef
| MacroCall
| Module
| StaticDef
| Static
| Struct
| TraitDef
| TypeAlias
@ -112,6 +112,14 @@ Union =
Attr* Visibility? 'union' Name GenericParamList? WhereClause?
RecordFieldList
Const =
Attr* Visibility? 'default'? 'const' (Name | '_') ':' ascribed_type:TypeRef
'=' body:Expr ';'
Static =
Attr* Visibility? 'static'? 'mut'? Name ':' ascribed_type:TypeRef
'=' body:Expr ';'
TraitDef =
Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name GenericParamList
(':' TypeBoundList?)? WhereClause
@ -120,14 +128,6 @@ TraitDef =
AssocItemList =
'{' AssocItem* '}'
ConstDef =
Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef
'=' body:Expr ';'
StaticDef =
Attr* Visibility? 'static'? 'mut'? 'static' Name ':' ascribed_type:TypeRef
'=' body:Expr ';'
ImplDef =
Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' GenericParamList? '!'? 'for'
WhereClause?
@ -475,11 +475,11 @@ TypeRef =
AssocItem =
Fn
| TypeAlias
| ConstDef
| Const
| MacroCall
ExternItem =
Fn | StaticDef
Fn | Static
AttrInput =
Literal