Skip to main content

NODE_TYPES

Constant NODE_TYPES 

Source
pub const NODE_TYPES: &'static str = "[\n  {\n    \"type\": \"postfix_deref\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"amper_deref_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_deref_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"arraylen_deref_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"glob_deref_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"hash_deref_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"scalar_deref_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"primitive\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"boolean\",\n        \"named\": true\n      },\n      {\n        \"type\": \"number\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"slices\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"keyval_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"slice_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"subscripted\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"anonymous_slice_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"array_element_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"coderef_call_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"glob_slot_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"hash_element_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"ambiguous_function_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"indirect_object\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"amper_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_array_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_hash_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_method_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_slice_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"list\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"anonymous_subroutine_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_deref_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arrayref\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"array_element_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"array\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"index\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"arraylen\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"arraylen_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"%=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&&=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"**=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-=\",\n            \"named\": false\n          },\n          {\n            \"type\": \".=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"//=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"/=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"=\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"x=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||=\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"attribute\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"attribute_name\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attribute_value\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"attribute_name\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"attrlist\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"autoquoted_bareword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"await_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bareword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!~\",\n            \"named\": false\n          },\n          {\n            \"type\": \"%\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"&&\",\n            \"named\": false\n          },\n          {\n            \"type\": \"*\",\n            \"named\": false\n          },\n          {\n            \"type\": \"**\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \".\",\n            \"named\": false\n          },\n          {\n            \"type\": \"..\",\n            \"named\": false\n          },\n          {\n            \"type\": \"...\",\n            \"named\": false\n          },\n          {\n            \"type\": \"/\",\n            \"named\": false\n          },\n          {\n            \"type\": \"//\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"=~\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"^^\",\n            \"named\": false\n          },\n          {\n            \"type\": \"x\",\n            \"named\": false\n          },\n          {\n            \"type\": \"|\",\n            \"named\": false\n          },\n          {\n            \"type\": \"||\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cstyle_for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_section\",\n          \"named\": true\n        },\n        {\n          \"type\": \"defer_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eof_marker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subroutine_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"try_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_version_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"block_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cstyle_for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_section\",\n          \"named\": true\n        },\n        {\n          \"type\": \"defer_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eof_marker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subroutine_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"try_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_version_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"boolean\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"class_phaser_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"phase\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"ADJUST\",\n            \"named\": false\n          },\n          {\n            \"type\": \"BUILD\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"package\",\n            \"named\": true\n          }\n        ]\n      },\n      \"version\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"code_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"coderef_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"command_heredoc_token\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"command_string\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string_content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"conditional_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequent\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"conditional_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elsif\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"container_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"cstyle_for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \";\",\n            \"named\": false\n          },\n          {\n            \"type\": \"block_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cstyle_for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"data_section\",\n            \"named\": true\n          },\n          {\n            \"type\": \"defer_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eof_marker\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loop_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"package_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"role_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subroutine_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"try_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_version_statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"continue\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"initialiser\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \";\",\n            \"named\": false\n          },\n          {\n            \"type\": \"block_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cstyle_for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"data_section\",\n            \"named\": true\n          },\n          {\n            \"type\": \"defer_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eof_marker\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loop_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"package_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"role_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subroutine_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"try_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_version_statement\",\n            \"named\": true\n          }\n        ]\n      },\n      \"iterator\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"defer_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"do_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"else\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"elsif\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"else\",\n          \"named\": true\n        },\n        {\n          \"type\": \"elsif\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"equality_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<=>\",\n            \"named\": false\n          },\n          {\n            \"type\": \"==\",\n            \"named\": false\n          },\n          {\n            \"type\": \"===\",\n            \"named\": false\n          },\n          {\n            \"type\": \"cmp\",\n            \"named\": false\n          },\n          {\n            \"type\": \"eq\",\n            \"named\": false\n          },\n          {\n            \"type\": \"eqr\",\n            \"named\": false\n          },\n          {\n            \"type\": \"equ\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ne\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~~\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"eval_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filename\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_for_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_loop_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yadayada\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"fileglob_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"string_content\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"filehandle\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"filename\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"continue\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"list\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variable\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"refalias_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variables\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"func0op_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"__FILE__\",\n            \"named\": false\n          },\n          {\n            \"type\": \"__LINE__\",\n            \"named\": false\n          },\n          {\n            \"type\": \"__PACKAGE__\",\n            \"named\": false\n          },\n          {\n            \"type\": \"__SUB__\",\n            \"named\": false\n          },\n          {\n            \"type\": \"break\",\n            \"named\": false\n          },\n          {\n            \"type\": \"continue\",\n            \"named\": false\n          },\n          {\n            \"type\": \"fork\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getppid\",\n            \"named\": false\n          },\n          {\n            \"type\": \"time\",\n            \"named\": false\n          },\n          {\n            \"type\": \"times\",\n            \"named\": false\n          },\n          {\n            \"type\": \"wait\",\n            \"named\": false\n          },\n          {\n            \"type\": \"wantarray\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"func1op_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"-x\",\n            \"named\": false\n          },\n          {\n            \"type\": \"abs\",\n            \"named\": false\n          },\n          {\n            \"type\": \"alarm\",\n            \"named\": false\n          },\n          {\n            \"type\": \"caller\",\n            \"named\": false\n          },\n          {\n            \"type\": \"chdir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"chomp\",\n            \"named\": false\n          },\n          {\n            \"type\": \"chop\",\n            \"named\": false\n          },\n          {\n            \"type\": \"chr\",\n            \"named\": false\n          },\n          {\n            \"type\": \"chroot\",\n            \"named\": false\n          },\n          {\n            \"type\": \"close\",\n            \"named\": false\n          },\n          {\n            \"type\": \"closedir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"cos\",\n            \"named\": false\n          },\n          {\n            \"type\": \"dbmclose\",\n            \"named\": false\n          },\n          {\n            \"type\": \"defined\",\n            \"named\": false\n          },\n          {\n            \"type\": \"delete\",\n            \"named\": false\n          },\n          {\n            \"type\": \"each\",\n            \"named\": false\n          },\n          {\n            \"type\": \"eof\",\n            \"named\": false\n          },\n          {\n            \"type\": \"exists\",\n            \"named\": false\n          },\n          {\n            \"type\": \"exit\",\n            \"named\": false\n          },\n          {\n            \"type\": \"exp\",\n            \"named\": false\n          },\n          {\n            \"type\": \"fc\",\n            \"named\": false\n          },\n          {\n            \"type\": \"fileno\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getc\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getgrgid\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getgrnam\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getnetbyname\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getpeername\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getpgrp\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getprotobyname\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getpwname\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getpwuid\",\n            \"named\": false\n          },\n          {\n            \"type\": \"getsockname\",\n            \"named\": false\n          },\n          {\n            \"type\": \"gmtime\",\n            \"named\": false\n          },\n          {\n            \"type\": \"hex\",\n            \"named\": false\n          },\n          {\n            \"type\": \"int\",\n            \"named\": false\n          },\n          {\n            \"type\": \"keys\",\n            \"named\": false\n          },\n          {\n            \"type\": \"lc\",\n            \"named\": false\n          },\n          {\n            \"type\": \"lcfirst\",\n            \"named\": false\n          },\n          {\n            \"type\": \"length\",\n            \"named\": false\n          },\n          {\n            \"type\": \"localtime\",\n            \"named\": false\n          },\n          {\n            \"type\": \"lock\",\n            \"named\": false\n          },\n          {\n            \"type\": \"log\",\n            \"named\": false\n          },\n          {\n            \"type\": \"lstat\",\n            \"named\": false\n          },\n          {\n            \"type\": \"oct\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ord\",\n            \"named\": false\n          },\n          {\n            \"type\": \"pop\",\n            \"named\": false\n          },\n          {\n            \"type\": \"pos\",\n            \"named\": false\n          },\n          {\n            \"type\": \"prototype\",\n            \"named\": false\n          },\n          {\n            \"type\": \"quotemeta\",\n            \"named\": false\n          },\n          {\n            \"type\": \"rand\",\n            \"named\": false\n          },\n          {\n            \"type\": \"readdir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"readline\",\n            \"named\": false\n          },\n          {\n            \"type\": \"readlink\",\n            \"named\": false\n          },\n          {\n            \"type\": \"readpipe\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ref\",\n            \"named\": false\n          },\n          {\n            \"type\": \"reset\",\n            \"named\": false\n          },\n          {\n            \"type\": \"rewinddir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"rmdir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": false\n          },\n          {\n            \"type\": \"shift\",\n            \"named\": false\n          },\n          {\n            \"type\": \"sin\",\n            \"named\": false\n          },\n          {\n            \"type\": \"sleep\",\n            \"named\": false\n          },\n          {\n            \"type\": \"sqrt\",\n            \"named\": false\n          },\n          {\n            \"type\": \"srand\",\n            \"named\": false\n          },\n          {\n            \"type\": \"stat\",\n            \"named\": false\n          },\n          {\n            \"type\": \"study\",\n            \"named\": false\n          },\n          {\n            \"type\": \"tell\",\n            \"named\": false\n          },\n          {\n            \"type\": \"telldir\",\n            \"named\": false\n          },\n          {\n            \"type\": \"tied\",\n            \"named\": false\n          },\n          {\n            \"type\": \"uc\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ucfirst\",\n            \"named\": false\n          },\n          {\n            \"type\": \"umask\",\n            \"named\": false\n          },\n          {\n            \"type\": \"untie\",\n            \"named\": false\n          },\n          {\n            \"type\": \"values\",\n            \"named\": false\n          },\n          {\n            \"type\": \"write\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"code_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"function\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"indirect_object\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"glob\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"glob_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"glob_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"glob_slot_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"goto_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hash\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hash_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"hash_element_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"hash\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"key\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"heredoc_content\",\n    \"named\": true,\n    \"extra\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"heredoc_token\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"indirect_object\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cstyle_for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_section\",\n          \"named\": true\n        },\n        {\n          \"type\": \"defer_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eof_marker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subroutine_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"try_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_version_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"interpolated_string_literal\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string_content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"keyval_container_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"keyval_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"array\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"keyval_container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"arrayref\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"hash\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"keyval_container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"hashref\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"label\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"list_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"localization_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"logical_not_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"not\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"loop_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"continue\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"loopex_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"loopex\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"last\",\n            \"named\": false\n          },\n          {\n            \"type\": \"next\",\n            \"named\": false\n          },\n          {\n            \"type\": \"redo\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"lowprec_logical_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"and\",\n            \"named\": false\n          },\n          {\n            \"type\": \"or\",\n            \"named\": false\n          },\n          {\n            \"type\": \"xor\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"mandatory_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"map_grep_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"callback\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"block\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"list\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"match_regexp\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"regexp_content\",\n            \"named\": true\n          }\n        ]\n      },\n      \"modifiers\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"match_regexp_modifiers\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"m\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"method\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"method_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"invocant\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"method\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"method\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"method_declaration_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"lexical\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"my\",\n            \"named\": false\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"default\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"optional_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"default\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"package\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"package_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"package\",\n            \"named\": true\n          }\n        ]\n      },\n      \"version\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"phaser_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"phase\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"BEGIN\",\n            \"named\": false\n          },\n          {\n            \"type\": \"CHECK\",\n            \"named\": false\n          },\n          {\n            \"type\": \"END\",\n            \"named\": false\n          },\n          {\n            \"type\": \"INIT\",\n            \"named\": false\n          },\n          {\n            \"type\": \"UNITCHECK\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"postfix_conditional_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"postfix_for_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"list\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"postfix_loop_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"condition\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"postinc_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"++\",\n            \"named\": false\n          },\n          {\n            \"type\": \"--\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"preinc_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"++\",\n            \"named\": false\n          },\n          {\n            \"type\": \"--\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"quoted_regexp\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"regexp_content\",\n            \"named\": true\n          }\n        ]\n      },\n      \"modifiers\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"quoted_regexp_modifiers\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"quoted_word_list\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string_content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"readline_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<<\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          },\n          {\n            \"type\": \">>\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"refalias_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"refgen_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"regexp_content\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relational_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"<\",\n            \"named\": false\n          },\n          {\n            \"type\": \"<=\",\n            \"named\": false\n          },\n          {\n            \"type\": \">\",\n            \"named\": false\n          },\n          {\n            \"type\": \">=\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ge\",\n            \"named\": false\n          },\n          {\n            \"type\": \"gt\",\n            \"named\": false\n          },\n          {\n            \"type\": \"isa\",\n            \"named\": false\n          },\n          {\n            \"type\": \"le\",\n            \"named\": false\n          },\n          {\n            \"type\": \"lt\",\n            \"named\": false\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"replacement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"require_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"require_version_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"version\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"return_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"role_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"package\",\n            \"named\": true\n          }\n        ]\n      },\n      \"version\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"scalar\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"scalar_deref_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"signature\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"mandatory_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"named_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"optional_parameter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slurpy_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice_container_variable\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"varname\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"array\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"slice_container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"arrayref\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"hash\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"slice_container_variable\",\n            \"named\": true\n          }\n        ]\n      },\n      \"hashref\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slurpy_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"sort_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"callback\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          }\n        ]\n      },\n      \"list\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"cstyle_for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"data_section\",\n          \"named\": true\n        },\n        {\n          \"type\": \"defer_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eof_marker\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"for_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"package_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"phaser_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"role_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"statement_label\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subroutine_declaration_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"try_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_version_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"statement_label\",\n    \"named\": true,\n    \"fields\": {\n      \"label\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"statement\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \";\",\n            \"named\": false\n          },\n          {\n            \"type\": \"block_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"class_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"cstyle_for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"data_section\",\n            \"named\": true\n          },\n          {\n            \"type\": \"defer_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eof_marker\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"for_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loop_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"package_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"phaser_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"role_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"statement_label\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subroutine_declaration_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"try_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_statement\",\n            \"named\": true\n          },\n          {\n            \"type\": \"use_version_statement\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"string_content\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_delimiter\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash_element_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar_deref_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slice_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string_content\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"stub_expression\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"subroutine_declaration_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"lexical\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"my\",\n            \"named\": false\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"prototype\",\n          \"named\": true\n        },\n        {\n          \"type\": \"signature\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"substitution_regexp\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"regexp_content\",\n            \"named\": true\n          }\n        ]\n      },\n      \"modifiers\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"substitution_regexp_modifiers\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"s\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"replacement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transliteration_content\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escaped_delimiter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"transliteration_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"content\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"transliteration_content\",\n            \"named\": true\n          }\n        ]\n      },\n      \"modifiers\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"transliteration_modifiers\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"tr\",\n            \"named\": false\n          },\n          {\n            \"type\": \"y\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"replacement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"try_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"catch_block\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"catch_expr\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"finally_block\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"try_block\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operand\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \"ambiguous_function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_array_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_hash_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_method_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"anonymous_subroutine_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"arraylen\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assignment_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"autoquoted_bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"await_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bareword\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"command_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"conditional_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"do_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equality_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"eval_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"fileglob_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"filehandle\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func0op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"func1op_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"glob\",\n            \"named\": true\n          },\n          {\n            \"type\": \"goto_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"heredoc_token\",\n            \"named\": true\n          },\n          {\n            \"type\": \"interpolated_string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"localization_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"logical_not_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"loopex_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"lowprec_logical_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"map_grep_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"match_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"method_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postfix_deref\",\n            \"named\": true\n          },\n          {\n            \"type\": \"postinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"preinc_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"primitive\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"quoted_word_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"readline_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refgen_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relational_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"require_version_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"return_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slices\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sort_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"stub_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"subscripted\",\n            \"named\": true\n          },\n          {\n            \"type\": \"substitution_regexp\",\n            \"named\": true\n          },\n          {\n            \"type\": \"transliteration_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"!\",\n            \"named\": false\n          },\n          {\n            \"type\": \"+\",\n            \"named\": false\n          },\n          {\n            \"type\": \"-\",\n            \"named\": false\n          },\n          {\n            \"type\": \"~\",\n            \"named\": false\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"undef_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"use_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"module\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"package\",\n            \"named\": true\n          }\n        ]\n      },\n      \"version\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"ambiguous_function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_array_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_hash_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_method_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"anonymous_subroutine_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"arraylen\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assignment_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"autoquoted_bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"await_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bareword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"command_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"conditional_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"do_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"equality_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"eval_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"fileglob_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"filehandle\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func0op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"func1op_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"glob\",\n          \"named\": true\n        },\n        {\n          \"type\": \"goto_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"heredoc_token\",\n          \"named\": true\n        },\n        {\n          \"type\": \"interpolated_string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"localization_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"logical_not_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loopex_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"lowprec_logical_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"map_grep_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"match_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"method_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postfix_deref\",\n          \"named\": true\n        },\n        {\n          \"type\": \"postinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"preinc_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"primitive\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"quoted_word_list\",\n          \"named\": true\n        },\n        {\n          \"type\": \"readline_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refgen_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"relational_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"require_version_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"slices\",\n          \"named\": true\n        },\n        {\n          \"type\": \"sort_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"stub_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscripted\",\n          \"named\": true\n        },\n        {\n          \"type\": \"substitution_regexp\",\n          \"named\": true\n        },\n        {\n          \"type\": \"transliteration_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_declaration\",\n          \"named\": true\n        },\n        {\n          \"type\": \"version\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"use_version_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"version\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"number\",\n            \"named\": true\n          },\n          {\n            \"type\": \"version\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"variable_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"attributes\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"attrlist\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variable\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refalias_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          }\n        ]\n      },\n      \"variables\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"(\",\n            \"named\": false\n          },\n          {\n            \"type\": \")\",\n            \"named\": false\n          },\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"hash\",\n            \"named\": true\n          },\n          {\n            \"type\": \"refalias_variable\",\n            \"named\": true\n          },\n          {\n            \"type\": \"scalar\",\n            \"named\": true\n          },\n          {\n            \"type\": \"undef_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"variable_group\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"variable_group\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"hash\",\n          \"named\": true\n        },\n        {\n          \"type\": \"refalias_variable\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        },\n        {\n          \"type\": \"undef_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_group\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"varname\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"scalar\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"yadayada\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"!\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"!~\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$#\",\n    \"named\": false\n  },\n  {\n    \"type\": \"$*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%\",\n    \"named\": false\n  },\n  {\n    \"type\": \"%=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&&=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"&=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\'\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"**\",\n    \"named\": false\n  },\n  {\n    \"type\": \"**=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"*=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+\",\n    \"named\": false\n  },\n  {\n    \"type\": \"++\",\n    \"named\": false\n  },\n  {\n    \"type\": \"+=\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"--\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"->\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-x\",\n    \"named\": false\n  },\n  {\n    \"type\": \".\",\n    \"named\": false\n  },\n  {\n    \"type\": \"..\",\n    \"named\": false\n  },\n  {\n    \"type\": \"...\",\n    \"named\": false\n  },\n  {\n    \"type\": \".=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/\",\n    \"named\": false\n  },\n  {\n    \"type\": \"//\",\n    \"named\": false\n  },\n  {\n    \"type\": \"//=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"/=\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"==\",\n    \"named\": false\n  },\n  {\n    \"type\": \"===\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=>\",\n    \"named\": false\n  },\n  {\n    \"type\": \"=~\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \">=\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>\",\n    \"named\": false\n  },\n  {\n    \"type\": \">>=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"?\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@\",\n    \"named\": false\n  },\n  {\n    \"type\": \"@*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ADJUST\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BEGIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"BUILD\",\n    \"named\": false\n  },\n  {\n    \"type\": \"CHECK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"END\",\n    \"named\": false\n  },\n  {\n    \"type\": \"INIT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STDERR\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STDIN\",\n    \"named\": false\n  },\n  {\n    \"type\": \"STDOUT\",\n    \"named\": false\n  },\n  {\n    \"type\": \"UNITCHECK\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"\\\\\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"^^\",\n    \"named\": false\n  },\n  {\n    \"type\": \"__FILE__\",\n    \"named\": false\n  },\n  {\n    \"type\": \"__LINE__\",\n    \"named\": false\n  },\n  {\n    \"type\": \"__PACKAGE__\",\n    \"named\": false\n  },\n  {\n    \"type\": \"__SUB__\",\n    \"named\": false\n  },\n  {\n    \"type\": \"abs\",\n    \"named\": false\n  },\n  {\n    \"type\": \"accept\",\n    \"named\": false\n  },\n  {\n    \"type\": \"alarm\",\n    \"named\": false\n  },\n  {\n    \"type\": \"and\",\n    \"named\": false\n  },\n  {\n    \"type\": \"async\",\n    \"named\": false\n  },\n  {\n    \"type\": \"atan2\",\n    \"named\": false\n  },\n  {\n    \"type\": \"attribute_value\",\n    \"named\": true\n  },\n  {\n    \"type\": \"await\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bind\",\n    \"named\": false\n  },\n  {\n    \"type\": \"binmode\",\n    \"named\": false\n  },\n  {\n    \"type\": \"bless\",\n    \"named\": false\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"caller\",\n    \"named\": false\n  },\n  {\n    \"type\": \"catch\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chdir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chmod\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chomp\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chop\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chown\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"chroot\",\n    \"named\": false\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"close\",\n    \"named\": false\n  },\n  {\n    \"type\": \"closedir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cmp\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"connect\",\n    \"named\": false\n  },\n  {\n    \"type\": \"continue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"cos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"crypt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"data_section\",\n    \"named\": true\n  },\n  {\n    \"type\": \"dbmclose\",\n    \"named\": false\n  },\n  {\n    \"type\": \"dbmopen\",\n    \"named\": false\n  },\n  {\n    \"type\": \"defer\",\n    \"named\": false\n  },\n  {\n    \"type\": \"defined\",\n    \"named\": false\n  },\n  {\n    \"type\": \"delete\",\n    \"named\": false\n  },\n  {\n    \"type\": \"die\",\n    \"named\": false\n  },\n  {\n    \"type\": \"do\",\n    \"named\": false\n  },\n  {\n    \"type\": \"dynamically\",\n    \"named\": false\n  },\n  {\n    \"type\": \"each\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"elsif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"eof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"eof_marker\",\n    \"named\": true\n  },\n  {\n    \"type\": \"eq\",\n    \"named\": false\n  },\n  {\n    \"type\": \"eqr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"equ\",\n    \"named\": false\n  },\n  {\n    \"type\": \"escape_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"escaped_delimiter\",\n    \"named\": true\n  },\n  {\n    \"type\": \"eval\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exists\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exit\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exp\",\n    \"named\": false\n  },\n  {\n    \"type\": \"extended\",\n    \"named\": false\n  },\n  {\n    \"type\": \"false\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fc\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fcntl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"field\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fileno\",\n    \"named\": false\n  },\n  {\n    \"type\": \"finally\",\n    \"named\": false\n  },\n  {\n    \"type\": \"flock\",\n    \"named\": false\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"foreach\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fork\",\n    \"named\": false\n  },\n  {\n    \"type\": \"formline\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ge\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getc\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getgrgid\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getgrnam\",\n    \"named\": false\n  },\n  {\n    \"type\": \"gethostbyaddr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getnetbyaddr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getnetbyname\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getpeername\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getpgrp\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getppid\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getpriority\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getprotobyname\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getprotobynumber\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getpwname\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getpwuid\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getservbyname\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getservbyport\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getsockname\",\n    \"named\": false\n  },\n  {\n    \"type\": \"getsockopt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"glob\",\n    \"named\": false\n  },\n  {\n    \"type\": \"gmtime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"goto\",\n    \"named\": false\n  },\n  {\n    \"type\": \"grep\",\n    \"named\": false\n  },\n  {\n    \"type\": \"gt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"heredoc_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"hex\",\n    \"named\": false\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"index\",\n    \"named\": false\n  },\n  {\n    \"type\": \"int\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ioctl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"isa\",\n    \"named\": false\n  },\n  {\n    \"type\": \"join\",\n    \"named\": false\n  },\n  {\n    \"type\": \"keys\",\n    \"named\": false\n  },\n  {\n    \"type\": \"kill\",\n    \"named\": false\n  },\n  {\n    \"type\": \"last\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lc\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lcfirst\",\n    \"named\": false\n  },\n  {\n    \"type\": \"le\",\n    \"named\": false\n  },\n  {\n    \"type\": \"length\",\n    \"named\": false\n  },\n  {\n    \"type\": \"link\",\n    \"named\": false\n  },\n  {\n    \"type\": \"listen\",\n    \"named\": false\n  },\n  {\n    \"type\": \"local\",\n    \"named\": false\n  },\n  {\n    \"type\": \"localtime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lock\",\n    \"named\": false\n  },\n  {\n    \"type\": \"log\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lstat\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"m\",\n    \"named\": false\n  },\n  {\n    \"type\": \"map\",\n    \"named\": false\n  },\n  {\n    \"type\": \"match_regexp_modifiers\",\n    \"named\": true\n  },\n  {\n    \"type\": \"method\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mkdir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"msgctl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"msgget\",\n    \"named\": false\n  },\n  {\n    \"type\": \"msgrcv\",\n    \"named\": false\n  },\n  {\n    \"type\": \"msgsend\",\n    \"named\": false\n  },\n  {\n    \"type\": \"my\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ne\",\n    \"named\": false\n  },\n  {\n    \"type\": \"next\",\n    \"named\": false\n  },\n  {\n    \"type\": \"no\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not-interpolated\",\n    \"named\": false\n  },\n  {\n    \"type\": \"number\",\n    \"named\": true\n  },\n  {\n    \"type\": \"oct\",\n    \"named\": false\n  },\n  {\n    \"type\": \"open\",\n    \"named\": false\n  },\n  {\n    \"type\": \"opendir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ord\",\n    \"named\": false\n  },\n  {\n    \"type\": \"our\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pack\",\n    \"named\": false\n  },\n  {\n    \"type\": \"package\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pipe\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pod\",\n    \"named\": true,\n    \"extra\": true\n  },\n  {\n    \"type\": \"pop\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pos\",\n    \"named\": false\n  },\n  {\n    \"type\": \"print\",\n    \"named\": false\n  },\n  {\n    \"type\": \"printf\",\n    \"named\": false\n  },\n  {\n    \"type\": \"prototype\",\n    \"named\": false\n  },\n  {\n    \"type\": \"prototype\",\n    \"named\": true\n  },\n  {\n    \"type\": \"push\",\n    \"named\": false\n  },\n  {\n    \"type\": \"q\",\n    \"named\": false\n  },\n  {\n    \"type\": \"qq\",\n    \"named\": false\n  },\n  {\n    \"type\": \"qr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"quoted_regexp_modifiers\",\n    \"named\": true\n  },\n  {\n    \"type\": \"quotemeta\",\n    \"named\": false\n  },\n  {\n    \"type\": \"qw\",\n    \"named\": false\n  },\n  {\n    \"type\": \"qx\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"read\",\n    \"named\": false\n  },\n  {\n    \"type\": \"readdir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"readline\",\n    \"named\": false\n  },\n  {\n    \"type\": \"readlink\",\n    \"named\": false\n  },\n  {\n    \"type\": \"readpipe\",\n    \"named\": false\n  },\n  {\n    \"type\": \"recv\",\n    \"named\": false\n  },\n  {\n    \"type\": \"redo\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ref\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rename\",\n    \"named\": false\n  },\n  {\n    \"type\": \"require\",\n    \"named\": false\n  },\n  {\n    \"type\": \"reset\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"reverse\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rewinddir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rindex\",\n    \"named\": false\n  },\n  {\n    \"type\": \"rmdir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"role\",\n    \"named\": false\n  },\n  {\n    \"type\": \"s\",\n    \"named\": false\n  },\n  {\n    \"type\": \"say\",\n    \"named\": false\n  },\n  {\n    \"type\": \"scalar\",\n    \"named\": false\n  },\n  {\n    \"type\": \"seek\",\n    \"named\": false\n  },\n  {\n    \"type\": \"seekdir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"select\",\n    \"named\": false\n  },\n  {\n    \"type\": \"semctl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"semget\",\n    \"named\": false\n  },\n  {\n    \"type\": \"semop\",\n    \"named\": false\n  },\n  {\n    \"type\": \"send\",\n    \"named\": false\n  },\n  {\n    \"type\": \"setpgrp\",\n    \"named\": false\n  },\n  {\n    \"type\": \"setpriority\",\n    \"named\": false\n  },\n  {\n    \"type\": \"setsockopt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shift\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shmctl\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shmread\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shmwrite\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shutdown\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sin\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sleep\",\n    \"named\": false\n  },\n  {\n    \"type\": \"socket\",\n    \"named\": false\n  },\n  {\n    \"type\": \"socketpair\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sort\",\n    \"named\": false\n  },\n  {\n    \"type\": \"splice\",\n    \"named\": false\n  },\n  {\n    \"type\": \"split\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sprintf\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sqrt\",\n    \"named\": false\n  },\n  {\n    \"type\": \"srand\",\n    \"named\": false\n  },\n  {\n    \"type\": \"stat\",\n    \"named\": false\n  },\n  {\n    \"type\": \"state\",\n    \"named\": false\n  },\n  {\n    \"type\": \"study\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sub\",\n    \"named\": false\n  },\n  {\n    \"type\": \"substitution_regexp_modifiers\",\n    \"named\": true\n  },\n  {\n    \"type\": \"substr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"symlink\",\n    \"named\": false\n  },\n  {\n    \"type\": \"syscall\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sysopen\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sysread\",\n    \"named\": false\n  },\n  {\n    \"type\": \"sysseek\",\n    \"named\": false\n  },\n  {\n    \"type\": \"system\",\n    \"named\": false\n  },\n  {\n    \"type\": \"syswrite\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tell\",\n    \"named\": false\n  },\n  {\n    \"type\": \"telldir\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tie\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tied\",\n    \"named\": false\n  },\n  {\n    \"type\": \"time\",\n    \"named\": false\n  },\n  {\n    \"type\": \"times\",\n    \"named\": false\n  },\n  {\n    \"type\": \"tr\",\n    \"named\": false\n  },\n  {\n    \"type\": \"transliteration_modifiers\",\n    \"named\": true\n  },\n  {\n    \"type\": \"true\",\n    \"named\": false\n  },\n  {\n    \"type\": \"truncate\",\n    \"named\": false\n  },\n  {\n    \"type\": \"try\",\n    \"named\": false\n  },\n  {\n    \"type\": \"uc\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ucfirst\",\n    \"named\": false\n  },\n  {\n    \"type\": \"umask\",\n    \"named\": false\n  },\n  {\n    \"type\": \"undef\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unless\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unlink\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unpack\",\n    \"named\": false\n  },\n  {\n    \"type\": \"unshift\",\n    \"named\": false\n  },\n  {\n    \"type\": \"untie\",\n    \"named\": false\n  },\n  {\n    \"type\": \"until\",\n    \"named\": false\n  },\n  {\n    \"type\": \"use\",\n    \"named\": false\n  },\n  {\n    \"type\": \"utime\",\n    \"named\": false\n  },\n  {\n    \"type\": \"values\",\n    \"named\": false\n  },\n  {\n    \"type\": \"vec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"version\",\n    \"named\": true\n  },\n  {\n    \"type\": \"wait\",\n    \"named\": false\n  },\n  {\n    \"type\": \"waitpid\",\n    \"named\": false\n  },\n  {\n    \"type\": \"wantarray\",\n    \"named\": false\n  },\n  {\n    \"type\": \"warn\",\n    \"named\": false\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"write\",\n    \"named\": false\n  },\n  {\n    \"type\": \"x\",\n    \"named\": false\n  },\n  {\n    \"type\": \"x=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"xor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"y\",\n    \"named\": false\n  },\n  {\n    \"type\": \"{\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|\",\n    \"named\": false\n  },\n  {\n    \"type\": \"|=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||\",\n    \"named\": false\n  },\n  {\n    \"type\": \"||=\",\n    \"named\": false\n  },\n  {\n    \"type\": \"}\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~\",\n    \"named\": false\n  },\n  {\n    \"type\": \"~~\",\n    \"named\": false\n  }\n]";
Expand description

The content of the node-types.json file for this grammar.