UNPKG

tree-sitter-mlir

Version:
2,469 lines 100 kB
{ "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