{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
"name": "bracket_parser",
"rules": {
"source_file": {
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_item"
}
},
"_item": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "bracketed_expression"
},
{
"type": "SYMBOL",
"name": "text"
}
]
},
"bracketed_expression": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "paren_expression"
},
{
"type": "SYMBOL",
"name": "square_expression"
},
{
"type": "SYMBOL",
"name": "curly_expression"
}
]
},
"paren_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_item"
}
},
{
"type": "STRING",
"value": ")"
}
]
},
"square_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "["
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_item"
}
},
{
"type": "STRING",
"value": "]"
}
]
},
"curly_expression": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "{"
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_item"
}
},
{
"type": "STRING",
"value": "}"
}
]
},
"text": {
"type": "PATTERN",
"value": "[^()\\[\\]{}]+"
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s"
}
],
"conflicts": [],
"precedences": [],
"externals": [],
"inline": [],
"supertypes": [],
"reserved": {}
}