tree-sitter-mlir
Version:
MLIR grammar for tree-sitter
2,469 lines • 100 kB
JSON
{
"name": "mlir",
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_description"
}
},
"_description": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "function"
},
{
"type": "SYMBOL",
"name": "module"
}
]
},
"hex_digit": {
"type": "PATTERN",
"value": "[0-9a-fA-F]"
},
"integerLiteral": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "decimalLiteral"
},
{
"type": "SYMBOL",
"name": "hexadecimalLiteral"
}
]
},
"decimalLiteral": {
"type": "PATTERN",
"value": "[0-9]+"
},
"hexadecimalLiteral": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "0x"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "hex_digit"
}
}
]
},
"floatLiteral": {
"type": "PATTERN",
"value": "[-+]?[0-9]+[.][0-9]*([eE][-+]?[0-9]+)?"
},
"stringLiteral": {
"type": "PATTERN",
"value": "\"[^\"\\n\\f\\v\\r]*\""
},
"boolLiteral": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "true"
},
{
"type": "STRING",
"value": "false"
}
]
},
"bareId": {
"type": "PATTERN",
"value": "[a-zA-Z_][a-zA-Z0-9_$.]*"
},
"bareIdList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "bareId"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "bareId"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"valueId": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "%"
},
{
"type": "SYMBOL",
"name": "suffixId"
}
]
},
"suffixId": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[0-9]+"
},
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z]"
},
{
"type": "PATTERN",
"value": "[$._-]"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[a-zA-Z]"
},
{
"type": "PATTERN",
"value": "[$._-]"
},
{
"type": "PATTERN",
"value": "[0-9]"
}
]
}
}
]
}
]
},
"symbolRefId": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "suffixId"
},
{
"type": "SYMBOL",
"name": "stringLiteral"
}
]
}
]
},
"valueIdList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueId"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "valueId"
}
]
}
}
]
},
"valueUse": {
"type": "SYMBOL",
"name": "valueId"
},
"valueUseList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueUse"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "valueUse"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"operation": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "opResultList"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "genericOperation"
},
{
"type": "SYMBOL",
"name": "customOperation"
}
]
}
]
},
"genericOperation": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "stringLiteral"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "valueUseList"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SYMBOL",
"name": "regionList"
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "functionType"
}
]
},
"opResultList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "opResult"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "opResult"
}
]
}
},
{
"type": "STRING",
"value": "="
}
]
},
"opResult": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueId"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "integerLiteral"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"successorList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "successor"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "successor"
}
]
}
}
]
},
"successor": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "caretId"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "blockArgList"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"regionList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "region"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "region"
}
]
}
}
]
},
"module": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "module"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "symbolRefId"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "attributes"
},
{
"type": "SYMBOL",
"name": "attributeDict"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "region"
}
]
},
"function": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "func"
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "private"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "functionSignature"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "functionAttributes"
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "functionBody"
},
{
"type": "BLANK"
}
]
}
]
},
"functionSignature": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "symbolRefId"
},
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "argumentList"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "->"
},
{
"type": "SYMBOL",
"name": "functionResultList"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"argumentList": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "namedArgument"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "namedArgument"
}
]
}
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
}
]
}
}
]
}
]
},
"namedArgument": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueId"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
}
]
},
"functionResultList": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "functionResultListParens"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"functionResultListParens": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "functionResultListNoParens"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"functionResultListNoParens": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "functionResult"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "functionResult"
}
]
}
}
]
},
"functionResult": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
}
]
},
"functionAttributes": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "attributes"
},
{
"type": "SYMBOL",
"name": "attributeDict"
}
]
},
"functionBody": {
"type": "SYMBOL",
"name": "region"
},
"block": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "operation"
}
}
]
}
},
"blockLabel": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "blockId"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "blockArgList"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ":"
}
]
},
"blockId": {
"type": "SYMBOL",
"name": "caretId"
},
"caretId": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "^"
},
{
"type": "SYMBOL",
"name": "suffixId"
}
]
},
"valueIdAndType": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueId"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"valueIdAndTypeList": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "valueIdAndType"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "valueIdAndType"
}
]
}
}
]
},
"blockArgList": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "valueIdAndTypeList"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"region": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "block"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"comment": {
"type": "TOKEN",
"content": {
"type": "PREC",
"value": 1,
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "//"
},
{
"type": "PATTERN",
"value": ".*"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "/*"
},
{
"type": "PATTERN",
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
},
{
"type": "STRING",
"value": "/"
}
]
}
]
}
}
},
"customOperation": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "standardFormat"
},
{
"type": "SYMBOL",
"name": "rtlFormat"
}
]
},
"standardFormat": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "stdReturn"
},
{
"type": "SYMBOL",
"name": "stdConstant"
}
]
},
"stdReturn": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "return"
},
{
"type": "FIELD",
"name": "result",
"content": {
"type": "SYMBOL",
"name": "valueId"
}
},
{
"type": "FIELD",
"name": "attr_dict",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeDict"
},
{
"type": "BLANK"
}
]
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "result_type",
"content": {
"type": "SYMBOL",
"name": "type"
}
}
]
},
"stdConstant": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "constant"
},
{
"type": "CHOICE",
"members": [
{
"type": "FIELD",
"name": "attr",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "elementsAttribute"
},
{
"type": "BLANK"
}
]
}
}
]
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "result_type",
"content": {
"type": "SYMBOL",
"name": "type"
}
}
]
},
"type": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "dialectType"
},
{
"type": "SYMBOL",
"name": "standardType"
}
]
},
"typeListNoParens": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type"
}
]
}
}
]
},
"typeListParens": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "typeListNoParens"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"typeAliasDef": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "SYMBOL",
"name": "aliasName"
},
{
"type": "STRING",
"value": "="
},
{
"type": "STRING",
"value": "type"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"typeAlias": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "SYMBOL",
"name": "aliasName"
}
]
},
"aliasName": {
"type": "PATTERN",
"value": "[a-zA-Z]+"
},
"dialectNamespace": {
"type": "SYMBOL",
"name": "bareId"
},
"opaqueDialectItem": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dialectNamespace"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "stringLiteral"
},
{
"type": "STRING",
"value": ">"
}
]
},
"prettyDialectItem": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dialectNamespace"
},
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "prettyDialectItemLeadIdent"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "prettyDialectItemBody"
},
{
"type": "BLANK"
}
]
}
]
},
"prettyDialectItemLeadIdent": {
"type": "PATTERN",
"value": "[A-Za-z][A-Za-z0-9._]*"
},
"prettyDialectItemBody": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "<"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "prettyDialectItemContents"
}
},
{
"type": "STRING",
"value": ">"
}
]
},
"prettyDialectItemContents": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "prettyDialectItemBody"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "prettyDialectItemContents"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "prettyDialectItemContents"
}
},
{
"type": "STRING",
"value": "]"
}
]
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "prettyDialectItemContents"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
{
"type": "PATTERN",
"value": "[^>]*"
}
]
},
"dialectType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "opaqueDialectItem"
},
{
"type": "SYMBOL",
"name": "prettyDialectItem"
}
]
}
]
},
"standardType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "complexType"
},
{
"type": "SYMBOL",
"name": "floatType"
},
{
"type": "SYMBOL",
"name": "indexType"
},
{
"type": "SYMBOL",
"name": "integerType"
},
{
"type": "SYMBOL",
"name": "memrefType"
},
{
"type": "SYMBOL",
"name": "noneType"
},
{
"type": "SYMBOL",
"name": "tensorType"
},
{
"type": "SYMBOL",
"name": "tupleType"
},
{
"type": "SYMBOL",
"name": "vectorType"
}
]
},
"complexType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "complex"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "STRING",
"value": ">"
}
]
},
"floatType": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "f16"
},
{
"type": "STRING",
"value": "bf16"
},
{
"type": "STRING",
"value": "f32"
},
{
"type": "STRING",
"value": "f64"
}
]
},
"functionResultType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "typeListParens"
},
{
"type": "SYMBOL",
"name": "type"
}
]
},
"functionType": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "typeListParens"
},
{
"type": "STRING",
"value": "->"
},
{
"type": "SYMBOL",
"name": "functionResultType"
}
]
},
"indexType": {
"type": "STRING",
"value": "index"
},
"signedIntegerType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "si"
},
{
"type": "PATTERN",
"value": "[1-9][0-9]*"
}
]
},
"unsignedIntegerType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "ui"
},
{
"type": "PATTERN",
"value": "[1-9][0-9]*"
}
]
},
"signlessIntegerType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "i"
},
{
"type": "PATTERN",
"value": "[1-9][0-9]*"
}
]
},
"integerType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "signedIntegerType"
},
{
"type": "SYMBOL",
"name": "unsignedIntegerType"
},
{
"type": "SYMBOL",
"name": "signlessIntegerType"
}
]
},
"memrefType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "rankedMemrefType"
},
{
"type": "SYMBOL",
"name": "unrankedMemrefType"
}
]
},
"rankedMemrefType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "memref"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "dimensionListRanked"
},
{
"type": "BLANK"
}
]
},
{
"type": "SYMBOL",
"name": "tensorMemrefElementType"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "layoutSpecification"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "memorySpace"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"unrankedMemrefType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "memref"
},
{
"type": "STRING",
"value": "<*x"
},
{
"type": "SYMBOL",
"name": "tensorMemrefElementType"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "memorySpace"
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"strideList": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dimension"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "dimension"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"stridedLayout": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "offset:"
},
{
"type": "SYMBOL",
"name": "dimension"
},
{
"type": "STRING",
"value": ","
},
{
"type": "STRING",
"value": "strides: "
},
{
"type": "SYMBOL",
"name": "strideList"
}
]
},
"layoutSpecification": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "semiAffineMap"
},
{
"type": "SYMBOL",
"name": "stridedLayout"
}
]
},
"memorySpace": {
"type": "SYMBOL",
"name": "integerLiteral"
},
"noneType": {
"type": "STRING",
"value": "none"
},
"tensorType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "tensor"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "dimensionList"
},
{
"type": "SYMBOL",
"name": "tensorMemrefElementType"
},
{
"type": "STRING",
"value": ">"
}
]
},
"tensorMemrefElementType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "vectorElementType"
},
{
"type": "SYMBOL",
"name": "vectorType"
},
{
"type": "SYMBOL",
"name": "complexType"
}
]
},
"dimensionList": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "dimensionListRanked"
},
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "*"
},
{
"type": "STRING",
"value": "x"
}
]
}
]
},
"dimensionListRanked": {
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dimension"
},
{
"type": "STRING",
"value": "x"
}
]
}
},
"dimension": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "?"
},
{
"type": "SYMBOL",
"name": "decimalLiteral"
}
]
},
"tupleType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "tuple"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "type"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "type"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": ">"
}
]
},
"vectorType": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "vector"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "staticDimensionList"
},
{
"type": "SYMBOL",
"name": "vectorElementType"
},
{
"type": "STRING",
"value": ">"
}
]
},
"vectorElementType": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "floatType"
},
{
"type": "SYMBOL",
"name": "integerType"
}
]
},
"staticDimensionList": {
"type": "REPEAT1",
"content": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "decimalLiteral"
},
{
"type": "STRING",
"value": "x"
}
]
}
},
"attributeDict": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attributeEntry"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "attributeEntry"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"attributeEntry": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "dialectAttributeEntry"
},
{
"type": "SYMBOL",
"name": "dependentAttributeEntry"
}
]
},
"dialectAttributeEntry": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dialectNamespace"
},
{
"type": "STRING",
"value": "."
},
{
"type": "SYMBOL",
"name": "bareId"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "attributeValue"
}
]
},
"dependentAttributeEntry": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "dependentAttributeName"
},
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "attributeValue"
}
]
},
"simpleAttributeName": {
"type": "PATTERN",
"value": "[a-zA-Z_][a-zA-Z0-9_$.]*"
},
"dependentAttributeName": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "simpleAttributeName"
},
{
"type": "SYMBOL",
"name": "stringLiteral"
}
]
},
"attributeValue": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "attributeAlias"
},
{
"type": "SYMBOL",
"name": "dialectAttribute"
},
{
"type": "SYMBOL",
"name": "standardAttribute"
}
]
},
"attributeAlias": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "SYMBOL",
"name": "aliasName"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "="
},
{
"type": "SYMBOL",
"name": "attributeValue"
}
]
},
{
"type": "BLANK"
}
]
}
]
},
"dialectAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "#"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "opaqueDialectItem"
},
{
"type": "SYMBOL",
"name": "prettyDialectItem"
}
]
}
]
},
"standardAttribute": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "affineMapAttribute"
},
{
"type": "SYMBOL",
"name": "arrayAttribute"
},
{
"type": "SYMBOL",
"name": "boolAttribute"
},
{
"type": "SYMBOL",
"name": "dictionaryAttribute"
},
{
"type": "SYMBOL",
"name": "elementsAttribute"
},
{
"type": "SYMBOL",
"name": "floatAttribute"
},
{
"type": "SYMBOL",
"name": "integerSetAttribute"
},
{
"type": "SYMBOL",
"name": "stringAttribute"
},
{
"type": "SYMBOL",
"name": "symbolRefAttribute"
},
{
"type": "SYMBOL",
"name": "typeAttribute"
},
{
"type": "SYMBOL",
"name": "unitAttribute"
}
]
},
"affineMapAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "affine_map"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "affineMap"
},
{
"type": "STRING",
"value": ">"
}
]
},
"arrayAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attributeValue"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "attributeValue"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "]"
}
]
},
"boolAttribute": {
"type": "SYMBOL",
"name": "boolLiteral"
},
"dictionaryAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attributeEntry"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "attributeEntry"
}
]
}
}
]
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
"value": "}"
}
]
},
"elementsAttribute": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "denseElementsAttribute"
},
{
"type": "SYMBOL",
"name": "opaqueElementsAttribute"
},
{
"type": "SYMBOL",
"name": "sparseElementsAttribute"
}
]
},
"denseElementsAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "dense"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "attributeValue"
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "tensorType"
},
{
"type": "SYMBOL",
"name": "vectorType"
}
]
}
]
},
"opaqueElementsAttribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "opaque"
},
{
"type": "STRING",
"value": "<"
},
{
"type": "SYMBOL",
"name": "dialectNamespace"
},
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "hexadecimalLiteral"
},
{
"type": "STRING",
"value": ">"
},
{
"type": "STRING",
"value": ":"
},
{
"type": "CHOICE",
"member