[
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "pair",
"named": true
}
]
}
},
{
"type": "array_expression",
"named": true,
"fields": {
"size": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "as_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "as_operator",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_type",
"named": true
}
]
}
},
{
"type": "as_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "null",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "proc_return_value",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"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": "[]=",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"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": "<=>",
"named": false
},
{
"type": "<>",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "to",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "~!",
"named": false
},
{
"type": "~=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "goto_label",
"named": true
},
{
"type": "goto_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "set_expression",
"named": true
},
{
"type": "spawn_statement",
"named": true
},
{
"type": "switch_statement",
"named": true
},
{
"type": "try_catch_statement",
"named": true
},
{
"type": "var_definition",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "break_statement",
"named": true,
"fields": {}
},
{
"type": "builtin_const",
"named": true,
"fields": {}
},
{
"type": "builtin_macro",
"named": true,
"fields": {}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "..",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "comment",
"named": true,
"extra": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_comment",
"named": true
},
{
"type": "line_comment",
"named": true
}
]
}
},
{
"type": "conditional_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "continue_statement",
"named": true,
"fields": {}
},
{
"type": "else_clause",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "elseif_clause",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "as_expression",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "builtin_const",
"named": true
},
{
"type": "builtin_macro",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "field_proc_expression",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "new_expression",
"named": true
},
{
"type": "null",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "proc_return_value",
"named": true
},
{
"type": "type_path_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "update_expression",
"named": true
}
]
}
},
{
"type": "field_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_operator",
"named": true
}
]
}
}
},
{
"type": "field_operator",
"named": true,
"fields": {}
},
{
"type": "field_proc_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_operator",
"named": true
}
]
},
"proc": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
}
},
{
"type": "file_literal",
"named": true,
"fields": {}
},
{
"type": "for_condition",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "forlist_condition",
"named": true
},
{
"type": "forloop_condition",
"named": true
}
]
}
},
{
"type": "for_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "for_condition",
"named": true
}
]
}
},
{
"type": "for_var_definition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "var_definition",
"named": true
}
]
}
},
{
"type": "forlist_condition",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": false,
"types": [
{
"type": "for_var_definition",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "for_var_definition",
"named": true
},
{
"type": "number_literal",
"named": true
}
]
}
},
{
"type": "forloop_condition",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"increment": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"initial": {
"multiple": false,
"required": false,
"types": [
{
"type": "for_var_definition",
"named": true
}
]
}
}
},
{
"type": "global_var_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
},
{
"type": "var_definition",
"named": true
},
{
"type": "var_keyword",
"named": true
},
{
"type": "var_modifier",
"named": true
}
]
}
},
{
"type": "goto_label",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "goto_label",
"named": true
},
{
"type": "goto_statement",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "set_expression",
"named": true
},
{
"type": "spawn_statement",
"named": true
},
{
"type": "switch_statement",
"named": true
},
{
"type": "try_catch_statement",
"named": true
},
{
"type": "var_definition",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "goto_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"alternative": {
"multiple": true,
"required": false,
"types": [
{
"type": "else_clause",
"named": true
},
{
"type": "elseif_clause",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "interpolation",
"named": true,
"fields": {
"expression": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "literal",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "file_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "new_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "argument_list",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "number_literal",
"named": true,
"fields": {}
},
{
"type": "operator",
"named": true,
"fields": {}
},
{
"type": "operator_override",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "operator",
"named": true
},
{
"type": "proc_keyword",
"named": true
},
{
"type": "proc_parameters",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "pair",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "preproc_arg",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "goto_label",
"named": true
},
{
"type": "goto_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "line_continuation",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "set_expression",
"named": true
},
{
"type": "spawn_statement",
"named": true
},
{
"type": "switch_statement",
"named": true
},
{
"type": "try_catch_statement",
"named": true
},
{
"type": "var_definition",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "preproc_call_expression",
"named": true,
"fields": {
"directive": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
},
{
"type": "block",
"named": true
}
]
}
},
{
"type": "preproc_def",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "preproc_arg",
"named": true
}
]
}
},
{
"type": "preproc_defproc",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "preproc_arg",
"named": true
}
]
}
},
{
"type": "preproc_directive",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "preproc_def",
"named": true
},
{
"type": "preproc_defproc",
"named": true
},
{
"type": "preproc_error",
"named": true
},
{
"type": "preproc_if",
"named": true
},
{
"type": "preproc_ifdef",
"named": true
},
{
"type": "preproc_include",
"named": true
},
{
"type": "preproc_pragma",
"named": true
},
{
"type": "preproc_undef",
"named": true
},
{
"type": "preproc_warn",
"named": true
}
]
}
},
{
"type": "preproc_elif",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "preproc_elif",
"named": true
},
{
"type": "preproc_else",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "preproc_if_block",
"named": true
},
{
"type": "preproc_message",
"named": true
}
]
}
},
{
"type": "preproc_else",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "preproc_if_block",
"named": true
}
]
}
},
{
"type": "preproc_endif",
"named": true,
"fields": {}
},
{
"type": "preproc_error",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "preproc_message",
"named": true
}
]
}
},
{
"type": "preproc_if",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "preproc_elif",
"named": true
},
{
"type": "preproc_else",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "preproc_endif",
"named": true
},
{
"type": "preproc_if_block",
"named": true
}
]
}
},
{
"type": "preproc_if_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "global_var_definition",
"named": true
},
{
"type": "goto_label",
"named": true
},
{
"type": "goto_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "proc_definition",
"named": true
},
{
"type": "proc_override",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "set_expression",
"named": true
},
{
"type": "spawn_statement",
"named": true
},
{
"type": "switch_statement",
"named": true
},
{
"type": "try_catch_statement",
"named": true
},
{
"type": "type_definition",
"named": true
},
{
"type": "var_definition",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "preproc_ifdef",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "preproc_elif",
"named": true
},
{
"type": "preproc_else",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "preproc_endif",
"named": true
},
{
"type": "preproc_if_block",
"named": true
}
]
}
},
{
"type": "preproc_include",
"named": true,
"fields": {
"file": {
"multiple": false,
"required": true,
"types": [
{
"type": "file_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
}
},
{
"type": "preproc_pragma",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "preproc_undef",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "preproc_warn",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "preproc_message",
"named": true
}
]
}
},
{
"type": "primitive_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "primitive_type_path",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "proc_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "proc_keyword",
"named": true
},
{
"type": "proc_parameters",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "proc_keyword",
"named": true,
"fields": {}
},
{
"type": "proc_override",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "proc_parameters",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "proc_parameter",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
},
{
"type": "var_definition",
"named": true
}
]
}
},
{
"type": "proc_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "proc_parameter",
"named": true
}
]
}
},
{
"type": "proc_return_value",
"named": true,
"fields": {}
},
{
"type": "return_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "set_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "global_var_definition",
"named": true
},
{
"type": "operator_override",
"named": true
},
{
"type": "preproc_call_expression",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "proc_definition",
"named": true
},
{
"type": "proc_override",
"named": true
},
{
"type": "type_definition",
"named": true
}
]
}
},
{
"type": "spawn_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "string_content",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_interpolation",
"named": true
},
{
"type": "escape_sequence",
"named": true
}
]
}
},
{
"type": "string_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "interpolation",
"named": true
},
{
"type": "string_content",
"named": true
},
{
"type": "string_end",
"named": true
},
{
"type": "string_start",
"named": true
}
]
}
},
{
"type": "switch_statement",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "try_catch_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "var_definition",
"named": true
}
]
}
},
{
"type": "type_body",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_body_braced",
"named": true
},
{
"type": "type_body_intended",
"named": true
}
]
}
},
{
"type": "type_body_braced",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "type_member",
"named": true
},
{
"type": "type_operator_override",
"named": true
},
{
"type": "type_proc_definition",
"named": true
},
{
"type": "type_proc_override",
"named": true
},
{
"type": "var_definition",
"named": true
}
]
}
},
{
"type": "type_body_intended",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "preproc_directive",
"named": true
},
{
"type": "type_member",
"named": true
},
{
"type": "type_operator_override",
"named": true
},
{
"type": "type_proc_definition",
"named": true
},
{
"type": "type_proc_override",
"named": true
},
{
"type": "var_definition",
"named": true
}
]
}
},
{
"type": "type_definition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_body",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "type_operator",
"named": true,
"fields": {}
},
{
"type": "type_operator_override",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "operator",
"named": true
},
{
"type": "proc_keyword",
"named": true
},
{
"type": "proc_parameters",
"named": true
},
{
"type": "type_operator",
"named": true
}
]
}
},
{
"type": "type_path",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "primitive_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_operator",
"named": true
}
]
}
},
{
"type": "type_path_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "primitive_type",
"named": true
},
{
"type": "primitive_type_path",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_operator",
"named": true
}
]
}
},
{
"type": "type_proc_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "proc_keyword",
"named": true
},
{
"type": "proc_parameters",
"named": true
},
{
"type": "type_operator",
"named": true
}
]
}
},
{
"type": "type_proc_override",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "proc_parameters",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "update_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},
{
"type": "var_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "as_operator",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "type_operator",
"named": true
},
{
"type": "type_path",
"named": true
},
{
"type": "var_keyword",
"named": true
},
{
"type": "var_modifier",
"named": true
}
]
}
},
{
"type": "var_modifier",
"named": true,
"fields": {}
},
{
"type": "while_statement",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "\n",
"named": false
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "\"\"",
"named": false
},
{
"type": "#define",
"named": false
},
{
"type": "#elif",
"named": false
},
{
"type": "#else",
"named": false
},
{
"type": "#endif",
"named": false
},
{
"type": "#error",
"named": false
},
{
"type": "#if",
"named": false
},
{
"type": "#ifdef",
"named": false
},
{
"type": "#ifndef",
"named": false
},
{
"type": "#include",
"named": false
},
{
"type": "#pragma",
"named": false
},
{
"type": "#undef",
"named": false
},
{
"type": "#warn",
"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": "*",
"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": "/",
"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": "=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "?.",
"named": false
},
{
"type": "DEBUG",
"named": false
},
{
"type": "DM_BUILD",
"named": false
},
{
"type": "DM_VERSION",
"named": false
},
{
"type": "FALSE",
"named": false
},
{
"type": "FILE_DIR",
"named": false
},
{
"type": "TRUE",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "[]",
"named": false
},
{
"type": "[]=",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "__FILE__",
"named": false
},
{
"type": "__LINE__",
"named": false
},
{
"type": "__MAIN__",
"named": false
},
{
"type": "anything",
"named": false
},
{
"type": "args",
"named": false
},
{
"type": "as",
"named": false
},
{
"type": "block_comment",
"named": true
},
{
"type": "break",
"named": false
},
{
"type": "catch",
"named": false
},
{
"type": "const",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "escape_interpolation",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "final",
"named": false
},
{
"type": "for",
"named": false
},
{
"type": "global",
"named": false
},
{
"type": "goto",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "line_comment",
"named": true
},
{
"type": "line_continuation",
"named": true,
"extra": true
},
{
"type": "new",
"named": false
},
{
"type": "null",
"named": true
},
{
"type": "num",
"named": false
},
{
"type": "operator",
"named": false
},
{
"type": "preproc_message",
"named": true
},
{
"type": "proc",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "set",
"named": false
},
{
"type": "spawn",
"named": false
},
{
"type": "src",
"named": false
},
{
"type": "static",
"named": false
},
{
"type": "step",
"named": false
},
{
"type": "string_end",
"named": true
},
{
"type": "string_start",
"named": true
},
{
"type": "switch",
"named": false
},
{
"type": "text",
"named": false
},
{
"type": "tmp",
"named": false
},
{
"type": "to",
"named": false
},
{
"type": "try",
"named": false
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_member",
"named": true
},
{
"type": "usr",
"named": false
},
{
"type": "var_keyword",
"named": true
},
{
"type": "vars",
"named": false
},
{
"type": "verb",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "world",
"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
}
]