pub const NODE_TYPES: &'static str = "[\n {\n \"type\": \"args\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"boolean\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"comment\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"default_arm\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_array\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\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\": \"==\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"to\",\n \"named\": false\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_call\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"args\",\n \"named\": true\n }\n ]\n },\n \"func\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_field\",\n \"named\": true,\n \"fields\": {\n \"arg\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n },\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_group\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expr_if\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n },\n \"else_branch\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_index\",\n \"named\": true,\n \"fields\": {\n \"arg\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n },\n \"index\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"args\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"boolean\",\n \"named\": true\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"number\",\n \"named\": true\n },\n {\n \"type\": \"self\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expr_match\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"match_body\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_object\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"prop\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true,\n \"fields\": {\n \"operand\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n },\n \"oprator\": {\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\": \"iterator\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"literal_pattern\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"match_arm\",\n \"named\": true,\n \"fields\": {\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"literal_pattern\",\n \"named\": true\n },\n {\n \"type\": \"or_pattern\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"match_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"default_arm\",\n \"named\": true\n },\n {\n \"type\": \"match_arm\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"or_pattern\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"literal_pattern\",\n \"named\": true\n },\n {\n \"type\": \"or_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"program\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"prop\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"stmt_break\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"stmt_continue\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"stmt_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"stmt_for\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n },\n \"iterable\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n },\n \"iterator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"iterator\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_func_decl\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"args\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_loop\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_return\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_var_decl\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"stmt_while\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"stmt_block\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_array\",\n \"named\": true\n },\n {\n \"type\": \"expr_binary\",\n \"named\": true\n },\n {\n \"type\": \"expr_call\",\n \"named\": true\n },\n {\n \"type\": \"expr_field\",\n \"named\": true\n },\n {\n \"type\": \"expr_group\",\n \"named\": true\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"expr_if\",\n \"named\": true\n },\n {\n \"type\": \"expr_index\",\n \"named\": true\n },\n {\n \"type\": \"expr_lambda\",\n \"named\": true\n },\n {\n \"type\": \"expr_literal\",\n \"named\": true\n },\n {\n \"type\": \"expr_match\",\n \"named\": true\n },\n {\n \"type\": \"expr_object\",\n \"named\": true\n },\n {\n \"type\": \"expr_unary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"string\",\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\": \"[\",\n \"named\": false\n },\n {\n \"type\": \"]\",\n \"named\": false\n },\n {\n \"type\": \"_\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"break\",\n \"named\": false\n },\n {\n \"type\": \"continue\",\n \"named\": false\n },\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"expr_identifier\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": false\n },\n {\n \"type\": \"for\",\n \"named\": false\n },\n {\n \"type\": \"function\",\n \"named\": false\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"in\",\n \"named\": false\n },\n {\n \"type\": \"lambda\",\n \"named\": false\n },\n {\n \"type\": \"loop\",\n \"named\": false\n },\n {\n \"type\": \"match\",\n \"named\": false\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"number\",\n \"named\": true\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"return\",\n \"named\": false\n },\n {\n \"type\": \"self\",\n \"named\": true\n },\n {\n \"type\": \"set\",\n \"named\": false\n },\n {\n \"type\": \"to\",\n \"named\": false\n },\n {\n \"type\": \"true\",\n \"named\": false\n },\n {\n \"type\": \"while\",\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.