pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"_compound_statement\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"class_definition\",\n        \"named\": true\n      },\n      {\n        \"type\": \"decorated_definition\",\n        \"named\": true\n      },\n      {\n        \"type\": \"for_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"function_definition\",\n        \"named\": true\n      },\n      {\n        \"type\": \"if_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"match_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"try_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"while_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"with_statement\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"_simple_statement\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"assert_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"break_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"continue_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"delete_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"exec_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"expression_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"future_import_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"global_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"import_from_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"import_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"nonlocal_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"pass_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"print_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"raise_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"return_statement\",\n        \"named\": true\n      },\n      {\n        \"type\": \"type_alias_statement\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"as_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"boolean_operator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"comparison_operator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"conditional_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"lambda\",\n        \"named\": true\n      },\n      {\n        \"type\": \"named_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"not_operator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"primary_expression\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"parameter\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"default_parameter\",\n        \"named\": true\n      },\n      {\n        \"type\": \"dictionary_splat_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"keyword_separator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_splat_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"positional_separator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typed_default_parameter\",\n        \"named\": true\n      },\n      {\n        \"type\": \"typed_parameter\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"pattern\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"attribute\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_splat_pattern\",\n        \"named\": true\n      },\n      {\n        \"type\": \"subscript\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple_pattern\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"primary_expression\",\n    \"named\": true,\n    \"subtypes\": [\n      {\n        \"type\": \"attribute\",\n        \"named\": true\n      },\n      {\n        \"type\": \"await\",\n        \"named\": true\n      },\n      {\n        \"type\": \"binary_operator\",\n        \"named\": true\n      },\n      {\n        \"type\": \"call\",\n        \"named\": true\n      },\n      {\n        \"type\": \"concatenated_string\",\n        \"named\": true\n      },\n      {\n        \"type\": \"dictionary\",\n        \"named\": true\n      },\n      {\n        \"type\": \"dictionary_comprehension\",\n        \"named\": true\n      },\n      {\n        \"type\": \"ellipsis\",\n        \"named\": true\n      },\n      {\n        \"type\": \"false\",\n        \"named\": true\n      },\n      {\n        \"type\": \"float\",\n        \"named\": true\n      },\n      {\n        \"type\": \"generator_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"identifier\",\n        \"named\": true\n      },\n      {\n        \"type\": \"integer\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_comprehension\",\n        \"named\": true\n      },\n      {\n        \"type\": \"list_splat\",\n        \"named\": true\n      },\n      {\n        \"type\": \"none\",\n        \"named\": true\n      },\n      {\n        \"type\": \"parenthesized_expression\",\n        \"named\": true\n      },\n      {\n        \"type\": \"set\",\n        \"named\": true\n      },\n      {\n        \"type\": \"set_comprehension\",\n        \"named\": true\n      },\n      {\n        \"type\": \"string\",\n        \"named\": true\n      },\n      {\n        \"type\": \"subscript\",\n        \"named\": true\n      },\n      {\n        \"type\": \"true\",\n        \"named\": true\n      },\n      {\n        \"type\": \"tuple\",\n        \"named\": true\n      },\n      {\n        \"type\": \"unary_operator\",\n        \"named\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"aliased_import\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"argument_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"dictionary_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_argument\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"as_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"as_pattern_target\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assignment\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"assignment\",\n            \"named\": true\n          },\n          {\n            \"type\": \"augmented_assignment\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"yield\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"attribute\",\n    \"named\": true,\n    \"fields\": {\n      \"attribute\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"object\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"augmented_assignment\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\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      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"assignment\",\n            \"named\": true\n          },\n          {\n            \"type\": \"augmented_assignment\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"yield\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"await\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"primary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\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      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"case_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_compound_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_simple_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"boolean_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\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      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"break_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"call\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generator_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"case_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"guard\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"if_clause\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"case_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"as_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"class_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"complex_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concatenated_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dict_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"keyword_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"splat_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"chevron\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"class_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"superclasses\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameter\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"class_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"case_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"comparison_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"operators\": {\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\": \"in\",\n            \"named\": false\n          },\n          {\n            \"type\": \"is\",\n            \"named\": false\n          },\n          {\n            \"type\": \"is not\",\n            \"named\": false\n          },\n          {\n            \"type\": \"not in\",\n            \"named\": false\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"primary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"complex_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"concatenated_string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"string\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"conditional_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"constrained_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"continue_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"decorated_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"definition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"class_definition\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_definition\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"decorator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"decorator\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"default_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tuple_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"delete_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dict_pattern\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\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\": \"class_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"complex_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"concatenated_string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dict_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"false\",\n            \"named\": true\n          },\n          {\n            \"type\": \"float\",\n            \"named\": true\n          },\n          {\n            \"type\": \"integer\",\n            \"named\": true\n          },\n          {\n            \"type\": \"list_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"none\",\n            \"named\": true\n          },\n          {\n            \"type\": \"splat_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          },\n          {\n            \"type\": \"true\",\n            \"named\": true\n          },\n          {\n            \"type\": \"tuple_pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"union_pattern\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"case_pattern\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"splat_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dictionary\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"dictionary_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pair\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dictionary_comprehension\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pair\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_in_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dictionary_splat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dictionary_splat_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"dotted_name\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"elif_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"else_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"except_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"except_group_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"exec_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"code\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"augmented_assignment\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yield\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"finally_clause\",\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\": \"for_in_clause\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \",\",\n            \"named\": false\n          },\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"for_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"else_clause\",\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      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"pattern\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_list\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"format_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"yield\",\n            \"named\": true\n          }\n        ]\n      },\n      \"format_specifier\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"format_specifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_conversion\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_conversion\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"format_specifier\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"format_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"parameters\",\n            \"named\": true\n          }\n        ]\n      },\n      \"return_type\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_parameter\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"future_import_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"aliased_import\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"generator_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_in_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"generic_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"global_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"if_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"elif_clause\",\n            \"named\": true\n          },\n          {\n            \"type\": \"else_clause\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"consequence\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"import_from_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"module_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"relative_import\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"aliased_import\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"wildcard_import\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"import_prefix\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"import_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"aliased_import\",\n            \"named\": true\n          },\n          {\n            \"type\": \"dotted_name\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"interpolation\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"expression_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pattern_list\",\n            \"named\": true\n          },\n          {\n            \"type\": \"yield\",\n            \"named\": true\n          }\n        ]\n      },\n      \"format_specifier\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"format_specifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_conversion\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_conversion\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"keyword_argument\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"keyword_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"class_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"complex_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concatenated_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dict_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"splat_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"keyword_separator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"lambda\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"lambda_parameters\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"lambda_parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yield\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_comprehension\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_in_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"case_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_splat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"list_splat_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"subscript\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"match_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"subject\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"member_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"module\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"_compound_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"_simple_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"named_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"nonlocal_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"not_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"pair\",\n    \"named\": true,\n    \"fields\": {\n      \"key\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"parameters\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"parameter\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yield\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"parenthesized_list_splat\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"pass_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"pattern_list\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"positional_separator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"print_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"chevron\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"raise_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"cause\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"relative_import\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"import_prefix\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yield\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"set_comprehension\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"for_in_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"slice\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"splat_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"splat_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_content\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_end\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_start\",\n          \"named\": true\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\": \"escape_interpolation\",\n          \"named\": true\n        },\n        {\n          \"type\": \"escape_sequence\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"subscript\",\n    \"named\": true,\n    \"fields\": {\n      \"subscript\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"slice\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"try_statement\",\n    \"named\": true,\n    \"fields\": {\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\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"else_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"except_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"except_group_clause\",\n          \"named\": true\n        },\n        {\n          \"type\": \"finally_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_list_splat\",\n          \"named\": true\n        },\n        {\n          \"type\": \"yield\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"tuple_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"case_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"constrained_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"splat_type\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_alias_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_parameter\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"typed_default_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"typed_parameter\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"type\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"dictionary_splat_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_splat_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unary_operator\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"primary_expression\",\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      }\n    }\n  },\n  {\n    \"type\": \"union_pattern\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"class_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"complex_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"concatenated_string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dict_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"dotted_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"false\",\n          \"named\": true\n        },\n        {\n          \"type\": \"float\",\n          \"named\": true\n        },\n        {\n          \"type\": \"integer\",\n          \"named\": true\n        },\n        {\n          \"type\": \"list_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"none\",\n          \"named\": true\n        },\n        {\n          \"type\": \"splat_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string\",\n          \"named\": true\n        },\n        {\n          \"type\": \"true\",\n          \"named\": true\n        },\n        {\n          \"type\": \"tuple_pattern\",\n          \"named\": true\n        },\n        {\n          \"type\": \"union_pattern\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"union_type\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"while_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"alternative\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"else_clause\",\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      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"wildcard_import\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"with_clause\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"with_item\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"with_item\",\n    \"named\": true,\n    \"fields\": {\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"with_statement\",\n    \"named\": true,\n    \"fields\": {\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\": true,\n      \"types\": [\n        {\n          \"type\": \"with_clause\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"yield\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_list\",\n          \"named\": true\n        }\n      ]\n    }\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\": \"<<=\",\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\": \"__future__\",\n    \"named\": false\n  },\n  {\n    \"type\": \"and\",\n    \"named\": false\n  },\n  {\n    \"type\": \"as\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"async\",\n    \"named\": false\n  },\n  {\n    \"type\": \"await\",\n    \"named\": false\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"case\",\n    \"named\": false\n  },\n  {\n    \"type\": \"class\",\n    \"named\": false\n  },\n  {\n    \"type\": \"comment\",\n    \"named\": true\n  },\n  {\n    \"type\": \"continue\",\n    \"named\": false\n  },\n  {\n    \"type\": \"def\",\n    \"named\": false\n  },\n  {\n    \"type\": \"del\",\n    \"named\": false\n  },\n  {\n    \"type\": \"elif\",\n    \"named\": false\n  },\n  {\n    \"type\": \"ellipsis\",\n    \"named\": true\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"escape_interpolation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"escape_sequence\",\n    \"named\": true\n  },\n  {\n    \"type\": \"except\",\n    \"named\": false\n  },\n  {\n    \"type\": \"except*\",\n    \"named\": false\n  },\n  {\n    \"type\": \"exec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"false\",\n    \"named\": true\n  },\n  {\n    \"type\": \"finally\",\n    \"named\": false\n  },\n  {\n    \"type\": \"float\",\n    \"named\": true\n  },\n  {\n    \"type\": \"for\",\n    \"named\": false\n  },\n  {\n    \"type\": \"from\",\n    \"named\": false\n  },\n  {\n    \"type\": \"global\",\n    \"named\": false\n  },\n  {\n    \"type\": \"identifier\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"import\",\n    \"named\": false\n  },\n  {\n    \"type\": \"in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"integer\",\n    \"named\": true\n  },\n  {\n    \"type\": \"is\",\n    \"named\": false\n  },\n  {\n    \"type\": \"is not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"lambda\",\n    \"named\": false\n  },\n  {\n    \"type\": \"line_continuation\",\n    \"named\": true\n  },\n  {\n    \"type\": \"match\",\n    \"named\": false\n  },\n  {\n    \"type\": \"none\",\n    \"named\": true\n  },\n  {\n    \"type\": \"nonlocal\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not\",\n    \"named\": false\n  },\n  {\n    \"type\": \"not in\",\n    \"named\": false\n  },\n  {\n    \"type\": \"or\",\n    \"named\": false\n  },\n  {\n    \"type\": \"pass\",\n    \"named\": false\n  },\n  {\n    \"type\": \"print\",\n    \"named\": false\n  },\n  {\n    \"type\": \"raise\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"string_end\",\n    \"named\": true\n  },\n  {\n    \"type\": \"string_start\",\n    \"named\": true\n  },\n  {\n    \"type\": \"true\",\n    \"named\": true\n  },\n  {\n    \"type\": \"try\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type_conversion\",\n    \"named\": true\n  },\n  {\n    \"type\": \"while\",\n    \"named\": false\n  },\n  {\n    \"type\": \"with\",\n    \"named\": false\n  },\n  {\n    \"type\": \"yield\",\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.