diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-07-30 10:51:20 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-07-30 10:51:20 +0100 |
commit | 74864d560b9293174c82fdee2b9d15991ebf075f (patch) | |
tree | f76a250431629a36d225d456ed41f393aaa9a579 /xtask/src | |
parent | 72ffd851dd5b0fcdf3aa072131ba11009878b4ae (diff) | |
parent | 7d09e5ed618b9b9d6e00b57b24db0b9c8a8c12d7 (diff) |
Merge #5582
5582: Finish Module grammar r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'xtask/src')
-rw-r--r-- | xtask/src/ast_src.rs | 1 | ||||
-rw-r--r-- | xtask/src/codegen/rust.ungram | 23 |
2 files changed, 13 insertions, 11 deletions
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs index 83449437b..d2a408e77 100644 --- a/xtask/src/ast_src.rs +++ b/xtask/src/ast_src.rs | |||
@@ -186,6 +186,7 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc { | |||
186 | "TUPLE_FIELD_DEF", | 186 | "TUPLE_FIELD_DEF", |
187 | "ENUM_VARIANT_LIST", | 187 | "ENUM_VARIANT_LIST", |
188 | "ITEM_LIST", | 188 | "ITEM_LIST", |
189 | "ASSOC_ITEM_LIST", | ||
189 | "ATTR", | 190 | "ATTR", |
190 | "META_ITEM", // not an item actually | 191 | "META_ITEM", // not an item actually |
191 | "USE_TREE", | 192 | "USE_TREE", |
diff --git a/xtask/src/codegen/rust.ungram b/xtask/src/codegen/rust.ungram index a93cb3815..470ac8c8f 100644 --- a/xtask/src/codegen/rust.ungram +++ b/xtask/src/codegen/rust.ungram | |||
@@ -19,6 +19,13 @@ Item = | |||
19 | | UnionDef | 19 | | UnionDef |
20 | | UseItem | 20 | | UseItem |
21 | 21 | ||
22 | Module = | ||
23 | Attr* Visibility? 'mod' Name | ||
24 | (ItemList | ';') | ||
25 | |||
26 | ItemList = | ||
27 | '{' Attr* Item* '}' | ||
28 | |||
22 | FnDef = | 29 | FnDef = |
23 | Attr* Visibility? Abi? 'const' 'default' 'async' 'unsafe' 'fn' Name TypeParamList? | 30 | Attr* Visibility? Abi? 'const' 'default' 'async' 'unsafe' 'fn' Name TypeParamList? |
24 | ParamList RetType? | 31 | ParamList RetType? |
@@ -67,17 +74,10 @@ EnumVariant = | |||
67 | TraitDef = | 74 | TraitDef = |
68 | Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name TypeParamList | 75 | Attr* Visibility? 'unsafe'? 'auto'? 'trait' Name TypeParamList |
69 | (':' TypeBoundList?)? WhereClause | 76 | (':' TypeBoundList?)? WhereClause |
70 | ItemList | 77 | AssocItemList |
71 | 78 | ||
72 | Module = | 79 | AssocItemList = |
73 | Attr* Visibility? 'mod' Name | 80 | '{' AssocItem* '}' |
74 | (ItemList | ';') | ||
75 | |||
76 | ItemList = | ||
77 | '{' | ||
78 | AssocItem* | ||
79 | Item* | ||
80 | '}' | ||
81 | 81 | ||
82 | ConstDef = | 82 | ConstDef = |
83 | Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef | 83 | Attr* Visibility? 'default'? 'const' Name ':' ascribed_type:TypeRef |
@@ -94,7 +94,7 @@ TypeAliasDef = | |||
94 | ImplDef = | 94 | ImplDef = |
95 | Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' TypeParamList? '!'? 'for' | 95 | Attr* Visibility? 'const'? 'default'? 'unsafe'? 'impl' TypeParamList? '!'? 'for' |
96 | WhereClause? | 96 | WhereClause? |
97 | ItemList | 97 | AssocItemList |
98 | 98 | ||
99 | ParenType = | 99 | ParenType = |
100 | '(' TypeRef ')' | 100 | '(' TypeRef ')' |
@@ -467,6 +467,7 @@ AssocItem = | |||
467 | FnDef | 467 | FnDef |
468 | | TypeAliasDef | 468 | | TypeAliasDef |
469 | | ConstDef | 469 | | ConstDef |
470 | | MacroCall | ||
470 | 471 | ||
471 | ExternItem = | 472 | ExternItem = |
472 | FnDef | StaticDef | 473 | FnDef | StaticDef |