[ { "type": "alternation", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "choice", "named": true }, { "type": "predicate", "named": true } ] } }, { "type": "anonymous_leaf", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true } ] } }, { "type": "child", "named": true, "fields": { "pattern": { "multiple": false, "required": true, "types": [ { "type": "alternation", "named": true }, { "type": "anonymous_leaf", "named": true }, { "type": "group", "named": true }, { "type": "named_node", "named": true }, { "type": "wildcard_node", "named": true } ] }, "quantifier": { "multiple": false, "required": false, "types": [ { "type": "one_or_more", "named": true }, { "type": "zero_or_more", "named": true }, { "type": "zero_or_one", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "capture", "named": true }, { "type": "field_name", "named": true } ] } }, { "type": "choice", "named": true, "fields": { "pattern": { "multiple": false, "required": true, "types": [ { "type": "alternation", "named": true }, { "type": "anonymous_leaf", "named": true }, { "type": "group", "named": true }, { "type": "named_node", "named": true }, { "type": "wildcard_node", "named": true } ] }, "quantifier": { "multiple": false, "required": false, "types": [ { "type": "one_or_more", "named": true }, { "type": "zero_or_more", "named": true }, { "type": "zero_or_one", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "capture", "named": true } ] } }, { "type": "field_name", "named": true, "fields": {} }, { "type": "group", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "pattern", "named": true }, { "type": "predicate", "named": true } ] } }, { "type": "named_node", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "anchor", "named": true }, { "type": "child", "named": true }, { "type": "negated_child", "named": true }, { "type": "node_name", "named": true }, { "type": "predicate", "named": true } ] } }, { "type": "negated_child", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "field_name", "named": true } ] } }, { "type": "node_name", "named": true, "fields": {} }, { "type": "pattern", "named": true, "fields": { "pattern": { "multiple": false, "required": true, "types": [ { "type": "alternation", "named": true }, { "type": "anonymous_leaf", "named": true }, { "type": "group", "named": true }, { "type": "named_node", "named": true }, { "type": "wildcard_node", "named": true } ] }, "quantifier": { "multiple": false, "required": false, "types": [ { "type": "one_or_more", "named": true }, { "type": "zero_or_more", "named": true }, { "type": "zero_or_one", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "capture", "named": true } ] } }, { "type": "predicate", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "capture", "named": true }, { "type": "predicate_name", "named": true }, { "type": "string", "named": true } ] } }, { "type": "query", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "pattern", "named": true }, { "type": "predicate", "named": true } ] } }, { "type": "string", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true } ] } }, { "type": "wildcard_node", "named": true, "fields": {} }, { "type": "!", "named": false }, { "type": "\"", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": ":", "named": false }, { "type": "[", "named": false }, { "type": "]", "named": false }, { "type": "_", "named": false }, { "type": "anchor", "named": true }, { "type": "capture", "named": true }, { "type": "comment", "named": true }, { "type": "escape_sequence", "named": true }, { "type": "one_or_more", "named": true }, { "type": "predicate_name", "named": true }, { "type": "zero_or_more", "named": true }, { "type": "zero_or_one", "named": true } ]