[
{
"type": "definition",
"named": true,
"subtypes": [
{
"type": "anonymous_node",
"named": true
},
{
"type": "field_definition",
"named": true
},
{
"type": "grouping",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "missing_node",
"named": true
},
{
"type": "named_node",
"named": true
},
{
"type": "predicate",
"named": true
}
]
},
{
"type": "anonymous_node",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "_",
"named": false
},
{
"type": "string",
"named": true
}
]
},
"quantifier": {
"multiple": true,
"required": false,
"types": [
{
"type": "quantifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "capture",
"named": true
}
]
}
},
{
"type": "capture",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "field_definition",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "definition",
"named": true
}
]
}
},
{
"type": "grouping",
"named": true,
"fields": {
"quantifier": {
"multiple": true,
"required": false,
"types": [
{
"type": "quantifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "capture",
"named": true
},
{
"type": "definition",
"named": true
}
]
}
},
{
"type": "list",
"named": true,
"fields": {
"quantifier": {
"multiple": true,
"required": false,
"types": [
{
"type": "quantifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "capture",
"named": true
},
{
"type": "definition",
"named": true
}
]
}
},
{
"type": "missing_node",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"quantifier": {
"multiple": true,
"required": false,
"types": [
{
"type": "quantifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "capture",
"named": true
}
]
}
},
{
"type": "named_node",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "_",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
},
"quantifier": {
"multiple": true,
"required": false,
"types": [
{
"type": "quantifier",
"named": true
}
]
},
"supertype": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "capture",
"named": true
},
{
"type": "definition",
"named": true
},
{
"type": "negated_field",
"named": true
}
]
}
},
{
"type": "negated_field",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "capture",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "predicate",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "#",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameters",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "predicate_type",
"named": true
}
]
}
}
},
{
"type": "program",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "definition",
"named": true
}
]
}
},
{
"type": "quantifier",
"named": true,
"fields": {}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_content",
"named": true
}
]
}
},
{
"type": "string_content",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
}
]
}
},
{
"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": "/",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "@",
"named": false
},
{
"type": "MISSING",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "_",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "predicate_type",
"named": true
}
]