tree-sitter/test/fixtures/test_grammars/uses_current_column/grammar.json
2021-03-11 12:11:33 -08:00

69 lines
1.6 KiB
JSON

{
"name": "uses_current_column",
"externals": [
{"type": "SYMBOL", "name": "_indent"},
{"type": "SYMBOL", "name": "_dedent"},
{"type": "SYMBOL", "name": "_newline"}
],
"extras": [
{"type": "PATTERN", "value": "\\s"}
],
"rules": {
"block": {
"type": "REPEAT1",
"content": {"type": "SYMBOL", "name": "_statement"}
},
"_statement": {
"type": "SEQ",
"members": [
{"type": "SYMBOL", "name": "_expression"},
{"type": "SYMBOL", "name": "_newline"}
]
},
"_expression": {
"type": "CHOICE",
"members": [
{"type": "SYMBOL", "name": "do_expression"},
{"type": "SYMBOL", "name": "binary_expression"},
{"type": "SYMBOL", "name": "identifier"}
]
},
"do_expression": {
"type": "SEQ",
"members": [
{"type": "STRING", "value": "do"},
{"type": "SYMBOL", "name": "_indent"},
{"type": "SYMBOL", "name": "block"},
{"type": "SYMBOL", "name": "_dedent"}
]
},
"binary_expression": {
"type": "PREC_LEFT",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{"type": "SYMBOL", "name": "_expression"},
{
"type": "CHOICE",
"members": [
{"type": "STRING", "value": "="},
{"type": "STRING", "value": "+"},
{"type": "STRING", "value": "-"}
]
},
{"type": "SYMBOL", "name": "_expression"}
]
}
},
"identifier": {"type": "PATTERN", "value": "\\w+"}
}
}