mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-07-24 23:29:41 +00:00
docs: Bring TableGen syntax a bit closer to reality.
It's not just def's but actually a limited subset of Object's that are allowed inside a multiclass. Spotted by Joel Jones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171935 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
68ca56285f
commit
9302dcc914
@ -370,6 +370,7 @@ applied at the end of parsing the base classes of a record.
|
|||||||
|
|
||||||
.. productionlist::
|
.. productionlist::
|
||||||
MultiClass: "multiclass" `TokIdentifier` [`TemplateArgList`]
|
MultiClass: "multiclass" `TokIdentifier` [`TemplateArgList`]
|
||||||
: [":" `BaseMultiClassList`] "{" `MultiClassDef`+ "}"
|
: [":" `BaseMultiClassList`] "{" `MultiClassObject`+ "}"
|
||||||
BaseMultiClassList: `MultiClassID` ("," `MultiClassID`)*
|
BaseMultiClassList: `MultiClassID` ("," `MultiClassID`)*
|
||||||
MultiClassID: `TokIdentifier`
|
MultiClassID: `TokIdentifier`
|
||||||
|
MultiClassObject: `Def` | `Defm` | `Let` | `Foreach`
|
||||||
|
@ -2160,7 +2160,12 @@ bool TGParser::ParseTopLevelLet(MultiClass *CurMultiClass) {
|
|||||||
/// ParseMultiClass - Parse a multiclass definition.
|
/// ParseMultiClass - Parse a multiclass definition.
|
||||||
///
|
///
|
||||||
/// MultiClassInst ::= MULTICLASS ID TemplateArgList?
|
/// MultiClassInst ::= MULTICLASS ID TemplateArgList?
|
||||||
/// ':' BaseMultiClassList '{' MultiClassDef+ '}'
|
/// ':' BaseMultiClassList '{' MultiClassObject+ '}'
|
||||||
|
/// MultiClassObject ::= DefInst
|
||||||
|
/// MultiClassObject ::= MultiClassInst
|
||||||
|
/// MultiClassObject ::= DefMInst
|
||||||
|
/// MultiClassObject ::= LETCommand '{' ObjectList '}'
|
||||||
|
/// MultiClassObject ::= LETCommand Object
|
||||||
///
|
///
|
||||||
bool TGParser::ParseMultiClass() {
|
bool TGParser::ParseMultiClass() {
|
||||||
assert(Lex.getCode() == tgtok::MultiClass && "Unexpected token");
|
assert(Lex.getCode() == tgtok::MultiClass && "Unexpected token");
|
||||||
|
Loading…
Reference in New Issue
Block a user