tree-sitter-quik
Version:
Quik grammar for tree-sitter
2,622 lines (2,621 loc) • 117 kB
JSON
[
{
"type": "argument",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "argument",
"named": true
}
]
}
},
{
"type": "assignment",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "map_pattern",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "atomic",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "boolean",
"named": true,
"fields": {}
},
{
"type": "call",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "case",
"named": true,
"fields": {
"else_clause": {
"multiple": false,
"required": false,
"types": [
{
"type": "else_clause",
"named": true
}
]
},
"expression": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"when_clauses": {
"multiple": false,
"required": true,
"types": [
{
"type": "when_clauses",
"named": true
}
]
}
}
},
{
"type": "do",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "else_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "else_if_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
}
},
{
"type": "else_if_clauses",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "else_if_clause",
"named": true
}
]
}
},
{
"type": "export",
"named": true,
"fields": {
"declaration": {
"multiple": false,
"required": true,
"types": [
{
"type": "interface",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "struct",
"named": true
}
]
},
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "default",
"named": false
}
]
},
"source": {
"multiple": false,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"types": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_pair_or_type_list",
"named": true
}
]
}
}
},
{
"type": "expression_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "expression_pair",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"clause": {
"multiple": false,
"required": false,
"types": [
{
"type": "refinement_clause",
"named": true
}
]
},
"clauses": {
"multiple": false,
"required": false,
"types": [
{
"type": "refinement_block",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameters",
"named": true
}
]
}
}
},
{
"type": "generator",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "generator_condition",
"named": true
}
]
},
"expression": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "generator_condition",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "generators",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "generator",
"named": true
}
]
}
},
{
"type": "generic_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "generic_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "refinement_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_constructor",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "hold",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "atomic",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "struct",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "if",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"else_body": {
"multiple": false,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"else_clause": {
"multiple": false,
"required": false,
"types": [
{
"type": "else_clause",
"named": true
}
]
},
"else_if_clauses": {
"multiple": false,
"required": false,
"types": [
{
"type": "else_if_clauses",
"named": true
}
]
}
}
},
{
"type": "import",
"named": true,
"fields": {
"source": {
"multiple": false,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"type_hints": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_hint_list",
"named": true
}
]
},
"types": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_pair_or_type_list",
"named": true
}
]
}
}
},
{
"type": "include",
"named": true,
"fields": {
"declaration": {
"multiple": false,
"required": false,
"types": [
{
"type": "interface",
"named": true
},
{
"type": "module",
"named": true
},
{
"type": "struct",
"named": true
}
]
},
"types": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_list",
"named": true
}
]
}
}
},
{
"type": "infix_call",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "generic_type",
"named": true
},
{
"type": "hold",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "infix_call",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_comprehension",
"named": true
},
{
"type": "map",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "pass",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "prefix_call",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "retry",
"named": true
},
{
"type": "return",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "type_assignment",
"named": true
},
{
"type": "type_hint",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "infix_call_operator",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "assignment",
"named": true
},
{
"type": "boolean",
"named": true
},
{
"type": "call",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "function",