[
{
"type": "postfix_deref",
"named": true,
"subtypes": [
{
"type": "amper_deref_expression",
"named": true
},
{
"type": "array_deref_expression",
"named": true
},
{
"type": "arraylen_deref_expression",
"named": true
},
{
"type": "glob_deref_expression",
"named": true
},
{
"type": "hash_deref_expression",
"named": true
},
{
"type": "scalar_deref_expression",
"named": true
}
]
},
{
"type": "primitive",
"named": true,
"subtypes": [
{
"type": "boolean",
"named": true
},
{
"type": "number",
"named": true
}
]
},
{
"type": "slices",
"named": true,
"subtypes": [
{
"type": "keyval_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
}
]
},
{
"type": "subscripted",
"named": true,
"subtypes": [
{
"type": "anonymous_slice_expression",
"named": true
},
{
"type": "array_element_expression",
"named": true
},
{
"type": "coderef_call_expression",
"named": true
},
{
"type": "glob_slot_expression",
"named": true
},
{
"type": "hash_element_expression",
"named": true
}
]
},
{
"type": ">",
"named": false,
"fields": {}
},
{
"type": "ambiguous_function_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "function",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "indirect_object",
"named": true
}
]
}
},
{
"type": "amper_deref_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "anonymous_array_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "anonymous_hash_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "anonymous_method_expression",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "prototype",
"named": true
},
{
"type": "signature",
"named": true
}
]
}
},
{
"type": "anonymous_slice_expression",
"named": true,
"fields": {
"list": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "anonymous_subroutine_expression",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "prototype",
"named": true
},
{
"type": "signature",
"named": true
}
]
}
},
{
"type": "array",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "array_deref_expression",
"named": true,
"fields": {
"arrayref": {
"multiple": false,
"required": false,
"types": [
{
"type": "scalar",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "array_element_expression",
"named": true,
"fields": {
"array": {
"multiple": false,
"required": false,
"types": [
{
"type": "container_variable",
"named": true
}
]
},
"index": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "arraylen",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "arraylen_deref_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"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": "x=",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||=",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "attribute",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "attribute_name",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "attribute_value",
"named": true
}
]
}
}
},
{
"type": "attribute_name",
"named": true,
"fields": {}
},
{
"type": "attrlist",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "attribute",
"named": true
}
]
}
},
{
"type": "autoquoted_bareword",
"named": true,
"fields": {}
},
{
"type": "await_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "bareword",
"named": true,
"fields": {}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": true,
"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": "x",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "statement_label",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
}
},
{
"type": "block_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "statement_label",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
}
},
{
"type": "boolean",
"named": true,
"fields": {}
},
{
"type": "class_phaser_statement",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"phase": {
"multiple": false,
"required": true,
"types": [
{
"type": "ADJUST",
"named": false
},
{
"type": "BUILD",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "signature",
"named": true
}
]
}
},
{
"type": "class_statement",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "package",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "coderef_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "command_heredoc_token",
"named": true,
"fields": {}
},
{
"type": "command_string",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_content",
"named": true
}
]
}
}
},
{
"type": "conditional_expression",
"named": true,
"fields": {
"alternative": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"consequent": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "conditional_statement",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "else",
"named": true
},
{
"type": "elsif",
"named": true
}
]
}
},
{
"type": "container_variable",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "cstyle_for_statement",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": ";",
"named": false
},
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
},
"continue": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"initialiser": {
"multiple": true,
"required": true,
"types": [
{
"type": ";",
"named": false
},
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
},
"iterator": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "defer_statement",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "do_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "else",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "elsif",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "else",
"named": true
},
{
"type": "elsif",
"named": true
}
]
}
},
{
"type": "equality_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": true,
"required": true,
"types": [
{
"type": "!=",
"named": false
},
{
"type": "<=>",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": "===",
"named": false
},
{
"type": "cmp",
"named": false
},
{
"type": "eq",
"named": false
},
{
"type": "eqr",
"named": false
},
{
"type": "equ",
"named": false
},
{
"type": "ne",
"named": false
},
{
"type": "~~",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "eval_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "filename",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "expression_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_conditional_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postfix_for_expression",
"named": true
},
{
"type": "postfix_loop_expression",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
},
{
"type": "yadayada",
"named": true
}
]
}
},
{
"type": "fileglob_expression",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_content",
"named": true
}
]
},
"operator": {
"multiple": true,
"required": true,
"types": [
{
"type": "<",
"named": false
},
{
"type": ">",
"named": false
}
]
}
}
},
{
"type": "filehandle",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "filename",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"continue": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"list": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"variable": {
"multiple": false,
"required": false,
"types": [
{
"type": "scalar",
"named": true
}
]
},
"variables": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "scalar",
"named": true
}
]
}
}
},
{
"type": "func0op_call_expression",
"named": true,
"fields": {
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "__FILE__",
"named": false
},
{
"type": "__LINE__",
"named": false
},
{
"type": "__PACKAGE__",
"named": false
},
{
"type": "__SUB__",
"named": false
},
{
"type": "break",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "fork",
"named": false
},
{
"type": "getppid",
"named": false
},
{
"type": "time",
"named": false
},
{
"type": "times",
"named": false
},
{
"type": "wait",
"named": false
},
{
"type": "wantarray",
"named": false
}
]
}
}
},
{
"type": "func1op_call_expression",
"named": true,
"fields": {
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "-x",
"named": false
},
{
"type": "abs",
"named": false
},
{
"type": "alarm",
"named": false
},
{
"type": "caller",
"named": false
},
{
"type": "chdir",
"named": false
},
{
"type": "chomp",
"named": false
},
{
"type": "chop",
"named": false
},
{
"type": "chr",
"named": false
},
{
"type": "chroot",
"named": false
},
{
"type": "close",
"named": false
},
{
"type": "closedir",
"named": false
},
{
"type": "cos",
"named": false
},
{
"type": "dbmclose",
"named": false
},
{
"type": "defined",
"named": false
},
{
"type": "delete",
"named": false
},
{
"type": "each",
"named": false
},
{
"type": "eof",
"named": false
},
{
"type": "exists",
"named": false
},
{
"type": "exit",
"named": false
},
{
"type": "exp",
"named": false
},
{
"type": "fc",
"named": false
},
{
"type": "fileno",
"named": false
},
{
"type": "getc",
"named": false
},
{
"type": "getgrgid",
"named": false
},
{
"type": "getgrnam",
"named": false
},
{
"type": "getnetbyname",
"named": false
},
{
"type": "getpeername",
"named": false
},
{
"type": "getpgrp",
"named": false
},
{
"type": "getprotobyname",
"named": false
},
{
"type": "getpwname",
"named": false
},
{
"type": "getpwuid",
"named": false
},
{
"type": "getsockname",
"named": false
},
{
"type": "gmtime",
"named": false
},
{
"type": "hex",
"named": false
},
{
"type": "int",
"named": false
},
{
"type": "keys",
"named": false
},
{
"type": "lc",
"named": false
},
{
"type": "lcfirst",
"named": false
},
{
"type": "length",
"named": false
},
{
"type": "localtime",
"named": false
},
{
"type": "lock",
"named": false
},
{
"type": "log",
"named": false
},
{
"type": "lstat",
"named": false
},
{
"type": "oct",
"named": false
},
{
"type": "ord",
"named": false
},
{
"type": "pop",
"named": false
},
{
"type": "pos",
"named": false
},
{
"type": "prototype",
"named": false
},
{
"type": "quotemeta",
"named": false
},
{
"type": "rand",
"named": false
},
{
"type": "readdir",
"named": false
},
{
"type": "readline",
"named": false
},
{
"type": "readlink",
"named": false
},
{
"type": "readpipe",
"named": false
},
{
"type": "ref",
"named": false
},
{
"type": "reset",
"named": false
},
{
"type": "rewinddir",
"named": false
},
{
"type": "rmdir",
"named": false
},
{
"type": "scalar",
"named": false
},
{
"type": "shift",
"named": false
},
{
"type": "sin",
"named": false
},
{
"type": "sleep",
"named": false
},
{
"type": "sqrt",
"named": false
},
{
"type": "srand",
"named": false
},
{
"type": "stat",
"named": false
},
{
"type": "study",
"named": false
},
{
"type": "tell",
"named": false
},
{
"type": "telldir",
"named": false
},
{
"type": "tied",
"named": false
},
{
"type": "uc",
"named": false
},
{
"type": "ucfirst",
"named": false
},
{
"type": "umask",
"named": false
},
{
"type": "untie",
"named": false
},
{
"type": "values",
"named": false
},
{
"type": "write",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "function",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "function_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "function",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "indirect_object",
"named": true
}
]
}
},
{
"type": "glob",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "glob_deref_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "glob_slot_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "goto_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "label",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "hash",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "hash_deref_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "hash_element_expression",
"named": true,
"fields": {
"hash": {
"multiple": false,
"required": false,
"types": [
{
"type": "container_variable",
"named": true
}
]
},
"key": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "heredoc_content",
"named": true,
"extra": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array",
"named": true
},
{
"type": "array_deref_expression",
"named": true
},
{
"type": "array_element_expression",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "hash_element_expression",
"named": true
},
{
"type": "heredoc_end",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "scalar_deref_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
}
]
}
},
{
"type": "heredoc_token",
"named": true,
"fields": {}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "indirect_object",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "statement_label",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
}
},
{
"type": "interpolated_string_literal",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_content",
"named": true
}
]
}
}
},
{
"type": "keyval_container_variable",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "keyval_expression",
"named": true,
"fields": {
"array": {
"multiple": false,
"required": false,
"types": [
{
"type": "keyval_container_variable",
"named": true
}
]
},
"arrayref": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"hash": {
"multiple": false,
"required": false,
"types": [
{
"type": "keyval_container_variable",
"named": true
}
]
},
"hashref": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "label",
"named": true,
"fields": {}
},
{
"type": "list_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "localization_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "loop_statement",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"continue": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "loopex_expression",
"named": true,
"fields": {
"loopex": {
"multiple": false,
"required": true,
"types": [
{
"type": "last",
"named": false
},
{
"type": "next",
"named": false
},
{
"type": "redo",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "label",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "lowprec_logical_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "and",
"named": false
},
{
"type": "or",
"named": false
},
{
"type": "xor",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "mandatory_parameter",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "scalar",
"named": true
}
]
}
},
{
"type": "map_grep_expression",
"named": true,
"fields": {
"callback": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"list": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "match_regexp",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "regexp_content",
"named": true
}
]
},
"modifiers": {
"multiple": false,
"required": false,
"types": [
{
"type": "match_regexp_modifiers",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": false,
"types": [
{
"type": "m",
"named": false
}
]
}
}
},
{
"type": "method",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "scalar",
"named": true
}
]
}
},
{
"type": "method_call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"invocant": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"method": {
"multiple": false,
"required": true,
"types": [
{
"type": "method",
"named": true
}
]
}
}
},
{
"type": "method_declaration_statement",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"lexical": {
"multiple": false,
"required": false,
"types": [
{
"type": "my",
"named": false
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "bareword",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "prototype",
"named": true
},
{
"type": "signature",
"named": true
}
]
}
},
{
"type": "named_parameter",
"named": true,
"fields": {
"default": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "scalar",
"named": true
}
]
}
},
{
"type": "optional_parameter",
"named": true,
"fields": {
"default": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "scalar",
"named": true
}
]
}
},
{
"type": "package",
"named": true,
"fields": {}
},
{
"type": "package_statement",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "package",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "phaser_statement",
"named": true,
"fields": {
"phase": {
"multiple": false,
"required": true,
"types": [
{
"type": "BEGIN",
"named": false
},
{
"type": "CHECK",
"named": false
},
{
"type": "END",
"named": false
},
{
"type": "INIT",
"named": false
},
{
"type": "UNITCHECK",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "postfix_conditional_expression",
"named": true,
"fields": {
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "postfix_for_expression",
"named": true,
"fields": {
"list": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "postfix_loop_expression",
"named": true,
"fields": {
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "postinc_expression",
"named": true,
"fields": {
"operand": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},
{
"type": "preinc_expression",
"named": true,
"fields": {
"operand": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},
{
"type": "quoted_regexp",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "regexp_content",
"named": true
}
]
},
"modifiers": {
"multiple": false,
"required": false,
"types": [
{
"type": "quoted_regexp_modifiers",
"named": true
}
]
}
}
},
{
"type": "quoted_word_list",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_content",
"named": true
}
]
}
}
},
{
"type": "readline_expression",
"named": true,
"fields": {
"operator": {
"multiple": true,
"required": true,
"types": [
{
"type": "<",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">>",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "filehandle",
"named": true
}
]
}
},
{
"type": "refgen_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "regexp_content",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array",
"named": true
},
{
"type": "array_deref_expression",
"named": true
},
{
"type": "array_element_expression",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "escaped_delimiter",
"named": true
},
{
"type": "hash_element_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "scalar_deref_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
}
]
}
},
{
"type": "relational_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": true,
"required": true,
"types": [
{
"type": "<",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": "ge",
"named": false
},
{
"type": "gt",
"named": false
},
{
"type": "isa",
"named": false
},
{
"type": "le",
"named": false
},
{
"type": "lt",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "replacement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array",
"named": true
},
{
"type": "array_deref_expression",
"named": true
},
{
"type": "array_element_expression",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "escaped_delimiter",
"named": true
},
{
"type": "hash_element_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "scalar_deref_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
}
]
}
},
{
"type": "require_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "require_version_expression",
"named": true,
"fields": {
"version": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
}
},
{
"type": "return_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "role_statement",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "package",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
}
},
{
"type": "scalar",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "scalar_deref_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "signature",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "mandatory_parameter",
"named": true
},
{
"type": "named_parameter",
"named": true
},
{
"type": "optional_parameter",
"named": true
},
{
"type": "slurpy_parameter",
"named": true
}
]
}
},
{
"type": "slice_container_variable",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "varname",
"named": true
}
]
}
},
{
"type": "slice_expression",
"named": true,
"fields": {
"array": {
"multiple": false,
"required": false,
"types": [
{
"type": "slice_container_variable",
"named": true
}
]
},
"arrayref": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"hash": {
"multiple": false,
"required": false,
"types": [
{
"type": "slice_container_variable",
"named": true
}
]
},
"hashref": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "slurpy_parameter",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array",
"named": true
},
{
"type": "hash",
"named": true
}
]
}
},
{
"type": "sort_expression",
"named": true,
"fields": {
"callback": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "scalar",
"named": true
}
]
},
"list": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "statement_label",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
}
},
{
"type": "statement_label",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"statement": {
"multiple": true,
"required": true,
"types": [
{
"type": ";",
"named": false
},
{
"type": "block_statement",
"named": true
},
{
"type": "class_phaser_statement",
"named": true
},
{
"type": "class_statement",
"named": true
},
{
"type": "conditional_statement",
"named": true
},
{
"type": "cstyle_for_statement",
"named": true
},
{
"type": "data_section",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "eof_marker",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "loop_statement",
"named": true
},
{
"type": "method_declaration_statement",
"named": true
},
{
"type": "package_statement",
"named": true
},
{
"type": "phaser_statement",
"named": true
},
{
"type": "role_statement",
"named": true
},
{
"type": "statement_label",
"named": true
},
{
"type": "subroutine_declaration_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "use_statement",
"named": true
},
{
"type": "use_version_statement",
"named": true
}
]
}
}
},
{
"type": "string_content",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array",
"named": true
},
{
"type": "array_deref_expression",
"named": true
},
{
"type": "array_element_expression",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "escaped_delimiter",
"named": true
},
{
"type": "hash_element_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "scalar_deref_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
}
]
}
},
{
"type": "string_literal",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_content",
"named": true
}
]
}
}
},
{
"type": "stub_expression",
"named": true,
"fields": {}
},
{
"type": "subroutine_declaration_statement",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"lexical": {
"multiple": false,
"required": false,
"types": [
{
"type": "my",
"named": false
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "bareword",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "prototype",
"named": true
},
{
"type": "signature",
"named": true
}
]
}
},
{
"type": "substitution_regexp",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "regexp_content",
"named": true
}
]
},
"modifiers": {
"multiple": false,
"required": false,
"types": [
{
"type": "substitution_regexp_modifiers",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "s",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "replacement",
"named": true
}
]
}
},
{
"type": "transliteration_content",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "escaped_delimiter",
"named": true
}
]
}
},
{
"type": "transliteration_expression",
"named": true,
"fields": {
"content": {
"multiple": false,
"required": false,
"types": [
{
"type": "transliteration_content",
"named": true
}
]
},
"modifiers": {
"multiple": false,
"required": false,
"types": [
{
"type": "transliteration_modifiers",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "tr",
"named": false
},
{
"type": "y",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "replacement",
"named": true
}
]
}
},
{
"type": "try_statement",
"named": true,
"fields": {
"catch_block": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"catch_expr": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"finally_block": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"try_block": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"operand": {
"multiple": true,
"required": true,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "undef_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "use_statement",
"named": true,
"fields": {
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "package",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "ambiguous_function_call_expression",
"named": true
},
{
"type": "anonymous_array_expression",
"named": true
},
{
"type": "anonymous_hash_expression",
"named": true
},
{
"type": "anonymous_method_expression",
"named": true
},
{
"type": "anonymous_subroutine_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arraylen",
"named": true
},
{
"type": "assignment_expression",
"named": true
},
{
"type": "autoquoted_bareword",
"named": true
},
{
"type": "await_expression",
"named": true
},
{
"type": "bareword",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "command_heredoc_token",
"named": true
},
{
"type": "command_string",
"named": true
},
{
"type": "conditional_expression",
"named": true
},
{
"type": "do_expression",
"named": true
},
{
"type": "equality_expression",
"named": true
},
{
"type": "eval_expression",
"named": true
},
{
"type": "fileglob_expression",
"named": true
},
{
"type": "func0op_call_expression",
"named": true
},
{
"type": "func1op_call_expression",
"named": true
},
{
"type": "function_call_expression",
"named": true
},
{
"type": "glob",
"named": true
},
{
"type": "goto_expression",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "heredoc_token",
"named": true
},
{
"type": "interpolated_string_literal",
"named": true
},
{
"type": "list_expression",
"named": true
},
{
"type": "localization_expression",
"named": true
},
{
"type": "loopex_expression",
"named": true
},
{
"type": "lowprec_logical_expression",
"named": true
},
{
"type": "map_grep_expression",
"named": true
},
{
"type": "match_regexp",
"named": true
},
{
"type": "method_call_expression",
"named": true
},
{
"type": "postfix_deref",
"named": true
},
{
"type": "postinc_expression",
"named": true
},
{
"type": "preinc_expression",
"named": true
},
{
"type": "primitive",
"named": true
},
{
"type": "quoted_regexp",
"named": true
},
{
"type": "quoted_word_list",
"named": true
},
{
"type": "readline_expression",
"named": true
},
{
"type": "refgen_expression",
"named": true
},
{
"type": "relational_expression",
"named": true
},
{
"type": "require_expression",
"named": true
},
{
"type": "require_version_expression",
"named": true
},
{
"type": "return_expression",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "slices",
"named": true
},
{
"type": "sort_expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "stub_expression",
"named": true
},
{
"type": "subscripted",
"named": true
},
{
"type": "substitution_regexp",
"named": true
},
{
"type": "transliteration_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undef_expression",
"named": true
},
{
"type": "variable_declaration",
"named": true
}
]
}
},
{
"type": "use_version_statement",
"named": true,
"fields": {
"version": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
},
{
"type": "version",
"named": true
}
]
}
}
},
{
"type": "variable_declaration",
"named": true,
"fields": {
"attributes": {
"multiple": false,
"required": false,
"types": [
{
"type": "attrlist",
"named": true
}
]
},
"variable": {
"multiple": false,
"required": false,
"types": [
{
"type": "array",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "scalar",
"named": true
}
]
},
"variables": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "array",
"named": true
},
{
"type": "hash",
"named": true
},
{
"type": "scalar",
"named": true
},
{
"type": "undef_expression",
"named": true
}
]
}
}
},
{
"type": "varname",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "scalar",
"named": true
}
]
}
},
{
"type": "yadayada",
"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": "&",
"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": "-x",
"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": "ADJUST",
"named": false
},
{
"type": "BEGIN",
"named": false
},
{
"type": "BUILD",
"named": false
},
{
"type": "CHECK",
"named": false
},
{
"type": "END",
"named": false
},
{
"type": "INIT",
"named": false
},
{
"type": "UNITCHECK",
"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": "__PACKAGE__",
"named": false
},
{
"type": "__SUB__",
"named": false
},
{
"type": "abs",
"named": false
},
{
"type": "alarm",
"named": false
},
{
"type": "and",
"named": false
},
{
"type": "async",
"named": false
},
{
"type": "attribute_value",
"named": true
},
{
"type": "await",
"named": false
},
{
"type": "break",
"named": false
},
{
"type": "caller",
"named": false
},
{
"type": "catch",
"named": false
},
{
"type": "chdir",
"named": false
},
{
"type": "chomp",
"named": false
},
{
"type": "chop",
"named": false
},
{
"type": "chr",
"named": false
},
{
"type": "chroot",
"named": false
},
{
"type": "class",
"named": false
},
{
"type": "close",
"named": false
},
{
"type": "closedir",
"named": false
},
{
"type": "cmp",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "continue",
"named": false
},
{
"type": "cos",
"named": false
},
{
"type": "data_section",
"named": true
},
{
"type": "dbmclose",
"named": false
},
{
"type": "defer",
"named": false
},
{
"type": "defined",
"named": false
},
{
"type": "delete",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "dynamically",
"named": false
},
{
"type": "each",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "elsif",
"named": false
},
{
"type": "eof",
"named": false
},
{
"type": "eof_marker",
"named": true
},
{
"type": "eq",
"named": false
},
{
"type": "eqr",
"named": false
},
{
"type": "equ",
"named": false
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "escaped_delimiter",
"named": true
},
{
"type": "eval",
"named": false
},
{
"type": "exists",
"named": false
},
{
"type": "exit",
"named": false
},
{
"type": "exp",
"named": false
},
{
"type": "extended",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "fc",
"named": false
},
{
"type": "field",
"named": false
},
{
"type": "fileno",
"named": false
},
{
"type": "finally",
"named": false
},
{
"type": "for",
"named": false
},
{
"type": "foreach",
"named": false
},
{
"type": "fork",
"named": false
},
{
"type": "ge",
"named": false
},
{
"type": "getc",
"named": false
},
{
"type": "getgrgid",
"named": false
},
{
"type": "getgrnam",
"named": false
},
{
"type": "getnetbyname",
"named": false
},
{
"type": "getpeername",
"named": false
},
{
"type": "getpgrp",
"named": false
},
{
"type": "getppid",
"named": false
},
{
"type": "getprotobyname",
"named": false
},
{
"type": "getpwname",
"named": false
},
{
"type": "getpwuid",
"named": false
},
{
"type": "getsockname",
"named": false
},
{
"type": "gmtime",
"named": false
},
{
"type": "goto",
"named": false
},
{
"type": "grep",
"named": false
},
{
"type": "gt",
"named": false
},
{
"type": "heredoc_end",
"named": true
},
{
"type": "hex",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "int",
"named": false
},
{
"type": "isa",
"named": false
},
{
"type": "keys",
"named": false
},
{
"type": "last",
"named": false
},
{
"type": "lc",
"named": false
},
{
"type": "lcfirst",
"named": false
},
{
"type": "le",
"named": false
},
{
"type": "length",
"named": false
},
{
"type": "local",
"named": false
},
{
"type": "localtime",
"named": false
},
{
"type": "lock",
"named": false
},
{
"type": "log",
"named": false
},
{
"type": "lstat",
"named": false
},
{
"type": "lt",
"named": false
},
{
"type": "m",
"named": false
},
{
"type": "map",
"named": false
},
{
"type": "match_regexp_modifiers",
"named": true
},
{
"type": "method",
"named": false
},
{
"type": "my",
"named": false
},
{
"type": "ne",
"named": false
},
{
"type": "next",
"named": false
},
{
"type": "no",
"named": false
},
{
"type": "not-interpolated",
"named": false
},
{
"type": "number",
"named": true
},
{
"type": "oct",
"named": false
},
{
"type": "or",
"named": false
},
{
"type": "ord",
"named": false
},
{
"type": "our",
"named": false
},
{
"type": "package",
"named": false
},
{
"type": "pod",
"named": true,
"extra": true
},
{
"type": "pop",
"named": false
},
{
"type": "pos",
"named": false
},
{
"type": "prototype",
"named": false
},
{
"type": "prototype",
"named": true
},
{
"type": "q",
"named": false
},
{
"type": "qq",
"named": false
},
{
"type": "qr",
"named": false
},
{
"type": "quoted_regexp_modifiers",
"named": true
},
{
"type": "quotemeta",
"named": false
},
{
"type": "qw",
"named": false
},
{
"type": "qx",
"named": false
},
{
"type": "rand",
"named": false
},
{
"type": "readdir",
"named": false
},
{
"type": "readline",
"named": false
},
{
"type": "readlink",
"named": false
},
{
"type": "readpipe",
"named": false
},
{
"type": "redo",
"named": false
},
{
"type": "ref",
"named": false
},
{
"type": "require",
"named": false
},
{
"type": "reset",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "rewinddir",
"named": false
},
{
"type": "rmdir",
"named": false
},
{
"type": "role",
"named": false
},
{
"type": "s",
"named": false
},
{
"type": "scalar",
"named": false
},
{
"type": "shift",
"named": false
},
{
"type": "sin",
"named": false
},
{
"type": "sleep",
"named": false
},
{
"type": "sort",
"named": false
},
{
"type": "sqrt",
"named": false
},
{
"type": "srand",
"named": false
},
{
"type": "stat",
"named": false
},
{
"type": "state",
"named": false
},
{
"type": "study",
"named": false
},
{
"type": "sub",
"named": false
},
{
"type": "substitution_regexp_modifiers",
"named": true
},
{
"type": "tell",
"named": false
},
{
"type": "telldir",
"named": false
},
{
"type": "tied",
"named": false
},
{
"type": "time",
"named": false
},
{
"type": "times",
"named": false
},
{
"type": "tr",
"named": false
},
{
"type": "transliteration_modifiers",
"named": true
},
{
"type": "true",
"named": false
},
{
"type": "try",
"named": false
},
{
"type": "uc",
"named": false
},
{
"type": "ucfirst",
"named": false
},
{
"type": "umask",
"named": false
},
{
"type": "undef",
"named": false
},
{
"type": "unless",
"named": false
},
{
"type": "untie",
"named": false
},
{
"type": "until",
"named": false
},
{
"type": "use",
"named": false
},
{
"type": "values",
"named": false
},
{
"type": "version",
"named": true
},
{
"type": "wait",
"named": false
},
{
"type": "wantarray",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "write",
"named": false
},
{
"type": "x",
"named": false
},
{
"type": "x=",
"named": false
},
{
"type": "xor",
"named": false
},
{
"type": "y",
"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
}
]