pub const GRAMMAR_JSON: &str = "{\n \"name\": \"bitbake\",\n \"rules\": {\n \"recipe\": {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_assignment\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"unset_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inherit_directive\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"include_directive\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"require_directive\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"export_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"overrides_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"export_functions_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"addtask_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"deltask_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"addhandler_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"anonymous_python_function\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"function_definition\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_function_definition\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"\\\\r?\\\\n\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\u0000\"\n }\n ]\n }\n ]\n }\n },\n \"variable_assignment\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"concatenation\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_flag\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"override\"\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"?=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"??=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"+=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=+\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \".=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=.\"\n }\n ]\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"literal\"\n }\n ]\n },\n \"variable_flag\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"noexec\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[^ \\\\r\\\\n\\\\]]+\"\n },\n \"named\": true,\n \"value\": \"flag\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n },\n \"override\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"append\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"prepend\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"remove\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_flag\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"concatenation\"\n }\n ]\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"append\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"prepend\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"remove\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_flag\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"concatenation\"\n }\n ]\n }\n ]\n }\n }\n ]\n }\n ]\n },\n \"unset_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"unset\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_flag\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"inherit_directive\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"inherit\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inline_python\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inherit_path\"\n }\n ]\n }\n }\n ]\n },\n \"inherit_path\": {\n \"type\": \"PATTERN\",\n \"value\": \"[^$ \\\\r\\\\n][^ \\\\r\\\\n]+\"\n },\n \"inherit_configuration_directive\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"INHERIT\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"+=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \" \"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n }\n ]\n },\n \"include_directive\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"include\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[^ \\\\r\\\\n]+\"\n },\n \"named\": true,\n \"value\": \"include_path\"\n }\n ]\n },\n \"require_directive\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"require\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[^ \\\\r\\\\n]+\"\n },\n \"named\": true,\n \"value\": \"include_path\"\n }\n ]\n },\n \"export_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"export\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_assignment\"\n }\n ]\n }\n ]\n },\n \"overrides_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"OVERRIDES\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n }\n ]\n },\n \"export_functions_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"EXPORT_FUNCTIONS\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n }\n ]\n },\n \"addtask_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"addtask\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"after\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"before\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"before\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"after\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"deltask_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"deltask\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n ]\n },\n \"addhandler_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"addhandler\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n ]\n },\n \"anonymous_python_function\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"fakeroot\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"python\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"override\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"function_definition\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"fakeroot\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"override\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"shell_content\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inline_python\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"literal\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n }\n ]\n },\n \"string\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"IMMEDIATE_TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"([^\\\"$\\\\\\\\]|\\\\\\\\.?|\\\\\\\\?\\\\r?\\\\n)+\"\n }\n }\n },\n \"named\": true,\n \"value\": \"string_content\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"\\\"[^\\\"$\\\\\\\\\\\\s]+\\\"\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inline_python\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"$BB_ENV_PASSTHROUGH\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"$BB_ENV_PASSTHROUGH_ADDITIONS\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"$\"\n }\n }\n },\n \"named\": true,\n \"value\": \"string_content\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\\\"\"\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"\'\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"IMMEDIATE_TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"([^\'$\\\\\\\\]|\\\\\\\\?\\\\r?\\\\n)+\"\n }\n }\n },\n \"named\": true,\n \"value\": \"string_content\"\n },\n {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"\\\"[^\\\"$\\\\\\\\\\\\s]+\\\"\"\n }\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"inline_python\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"$BB_ENV_PASSTHROUGH\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"$BB_ENV_PASSTHROUGH_ADDITIONS\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"\'\"\n }\n ]\n }\n ]\n },\n \"inline_python\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"${@\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"variable_expansion\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"${\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"python_function_definition\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"def\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"parameters\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"parameters\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"->\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"return_type\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n }\n ]\n },\n \"_statement\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_simple_statements\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_compound_statement\"\n }\n ]\n },\n \"_simple_statements\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_simple_statement\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \";\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_simple_statement\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \";\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_newline\"\n }\n ]\n },\n \"_simple_statement\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"future_import_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"import_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"import_from_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"print_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"assert_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"return_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"delete_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"raise_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pass_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"break_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"continue_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"global_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"nonlocal_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"exec_statement\"\n }\n ]\n },\n \"import_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"import\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_import_list\"\n }\n ]\n },\n \"import_prefix\": {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \".\"\n }\n },\n \"relative_import\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"import_prefix\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dotted_name\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"future_import_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"from\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"__future__\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"import\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_import_list\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_import_list\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"import_from_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"from\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"module_name\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"relative_import\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dotted_name\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"import\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"wildcard_import\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_import_list\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_import_list\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"_import_list\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dotted_name\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"aliased_import\"\n }\n ]\n }\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dotted_name\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"aliased_import\"\n }\n ]\n }\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"aliased_import\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"dotted_name\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"as\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"alias\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n }\n ]\n },\n \"wildcard_import\": {\n \"type\": \"STRING\",\n \"value\": \"*\"\n },\n \"print_statement\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"print\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"chevron\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"argument\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n },\n {\n \"type\": \"PREC\",\n \"value\": -3,\n \"content\": {\n \"type\": \"PREC_DYNAMIC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"print\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"argument\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"argument\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n }\n }\n ]\n },\n \"chevron\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \">>\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n \"assert_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"assert\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n }\n }\n ]\n }\n ]\n },\n \"expression_statement\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"assignment\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"augmented_assignment\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n }\n ]\n },\n \"named_expression\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_named_expression_lhs\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n },\n \"_named_expression_lhs\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n }\n ]\n },\n \"return_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"return\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expressions\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"delete_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"del\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expressions\"\n }\n ]\n },\n \"_expressions\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression_list\"\n }\n ]\n },\n \"raise_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"raise\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expressions\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"from\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"cause\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"pass_statement\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"pass\"\n }\n },\n \"break_statement\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"break\"\n }\n },\n \"continue_statement\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"continue\"\n }\n },\n \"global_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"global\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n }\n }\n ]\n }\n ]\n },\n \"nonlocal_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"nonlocal\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n }\n }\n ]\n }\n ]\n },\n \"exec_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"exec\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"code\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_string\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"in\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n }\n }\n ]\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"type_parameter\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n },\n \"parenthesized_list_splat\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_list_splat\"\n },\n \"named\": true,\n \"value\": \"parenthesized_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n }\n },\n \"argument_list\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_list_splat\"\n },\n \"named\": true,\n \"value\": \"parenthesized_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_argument\"\n }\n ]\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_list_splat\"\n },\n \"named\": true,\n \"value\": \"parenthesized_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_argument\"\n }\n ]\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n },\n \"_compound_statement\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"if_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"for_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"while_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"try_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_statement\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_function_definition\"\n }\n ]\n },\n \"if_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"if\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"condition\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"consequence\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"FIELD\",\n \"name\": \"alternative\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"elif_clause\"\n }\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"alternative\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"else_clause\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"elif_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"elif\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"condition\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"consequence\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n }\n ]\n },\n \"else_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"else\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n }\n ]\n },\n \"for_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"async\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"for\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_left_hand_side\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"in\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_expressions\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"alternative\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"else_clause\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n }\n ]\n },\n \"while_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"while\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"condition\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"alternative\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"else_clause\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"try_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"try\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"except_clause\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"else_clause\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"finally_clause\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"except_group_clause\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"else_clause\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"finally_clause\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"finally_clause\"\n }\n ]\n }\n ]\n },\n \"except_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"except\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"as\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n ]\n },\n \"except_group_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"except*\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"as\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n ]\n },\n \"finally_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"finally\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n ]\n },\n \"with_statement\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"async\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"with\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_clause\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_suite\"\n }\n }\n ]\n },\n \"with_clause\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_item\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_item\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_item\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"with_item\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n }\n ]\n },\n \"with_item\": {\n \"type\": \"PREC_DYNAMIC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n \"dotted_name\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \".\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n }\n }\n ]\n }\n },\n \"not_operator\": {\n \"type\": \"PREC\",\n \"value\": 12,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"not\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"argument\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n \"boolean_operator\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 11,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"and\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 10,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"or\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n }\n ]\n },\n \"binary_operator\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 18,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"+\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 18,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"-\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 19,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"*\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 19,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"@\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 19,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"/\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 19,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"%\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 19,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"//\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_RIGHT\",\n \"value\": 21,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"**\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 14,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"|\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 15,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"&\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 16,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"^\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 17,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"<<\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n {\n \"type\": \"PREC_LEFT\",\n \"value\": 17,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \">>\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n }\n ]\n },\n \"unary_operator\": {\n \"type\": \"PREC\",\n \"value\": 20,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"+\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"-\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"~\"\n }\n ]\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"argument\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n }\n ]\n }\n },\n \"comparison_operator\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 13,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"operators\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"<\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"<=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"==\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"!=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \">=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \">\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"<>\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"in\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"not\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"in\"\n }\n ]\n },\n \"named\": false,\n \"value\": \"not in\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"is\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"is\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"not\"\n }\n ]\n },\n \"named\": false,\n \"value\": \"is not\"\n }\n ]\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n ]\n }\n }\n ]\n }\n },\n \"lambda\": {\n \"type\": \"PREC\",\n \"value\": -2,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"lambda\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"parameters\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"lambda_parameters\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n \"lambda_within_for_in_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"lambda\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"parameters\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"lambda_parameters\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_expression_within_for_in_clause\"\n }\n }\n ]\n },\n \"assignment\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_left_hand_side\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_right_hand_side\"\n }\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"type\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"type\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_right_hand_side\"\n }\n }\n ]\n }\n ]\n }\n ]\n },\n \"augmented_assignment\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_left_hand_side\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"operator\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"+=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"-=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"*=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"/=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"@=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"//=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"%=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"**=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \">>=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"<<=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"&=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"^=\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"|=\"\n }\n ]\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_right_hand_side\"\n }\n }\n ]\n },\n \"_left_hand_side\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern_list\"\n }\n ]\n },\n \"pattern_list\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern\"\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n \"_right_hand_side\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression_list\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"assignment\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"augmented_assignment\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern_list\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n }\n ]\n },\n \"yield\": {\n \"type\": \"PREC_RIGHT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"yield\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"from\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expressions\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"attribute\": {\n \"type\": \"PREC\",\n \"value\": 22,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"object\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \".\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"attribute\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n }\n ]\n }\n },\n \"subscript\": {\n \"type\": \"PREC\",\n \"value\": 22,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"subscript\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"slice\"\n }\n ]\n }\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"subscript\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"slice\"\n }\n ]\n }\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n }\n },\n \"slice\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"ellipsis\": {\n \"type\": \"STRING\",\n \"value\": \"...\"\n },\n \"call\": {\n \"type\": \"PREC\",\n \"value\": 22,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"function\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"arguments\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"generator_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"argument_list\"\n }\n ]\n }\n }\n ]\n }\n },\n \"generator_expression\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_comprehension_clauses\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n },\n \"_comprehension_clauses\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"for_in_clause\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"for_in_clause\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"if_clause\"\n }\n ]\n }\n }\n ]\n },\n \"parenthesized_expression\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n }\n },\n \"_collection_elements\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_list_splat\"\n }\n ]\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_list_splat\"\n }\n ]\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"for_in_clause\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"async\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"for\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"left\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_left_hand_side\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"in\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"right\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expression_within_for_in_clause\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_expression_within_for_in_clause\"\n }\n ]\n }\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n },\n \"if_clause\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"if\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n \"_suite\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_simple_statements\"\n },\n \"named\": true,\n \"value\": \"block\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_indent\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"block\"\n }\n ]\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_newline\"\n },\n \"named\": true,\n \"value\": \"block\"\n }\n ]\n },\n \"block\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_statement\"\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_dedent\"\n }\n ]\n },\n \"expression_list\": {\n \"type\": \"PREC_RIGHT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"parameters\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_parameters\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n },\n \"lambda_parameters\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_parameters\"\n },\n \"list_splat\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"*\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n \"dictionary_splat\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"**\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n },\n \"_parameters\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"parameter\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"parameter\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"_patterns\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern\"\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n \"parameter\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"typed_parameter\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"default_parameter\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"typed_default_parameter\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat_pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"tuple_pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_separator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"positional_separator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat_pattern\"\n }\n ]\n },\n \"pattern\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"subscript\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"attribute\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat_pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"tuple_pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_pattern\"\n }\n ]\n },\n \"tuple_pattern\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_patterns\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n },\n \"list_pattern\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_patterns\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n },\n \"default_parameter\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"tuple_pattern\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n },\n \"typed_default_parameter\": {\n \"type\": \"PREC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"type\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n }\n },\n \"list_splat_pattern\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"*\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"subscript\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"attribute\"\n }\n ]\n }\n ]\n },\n \"dictionary_splat_pattern\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"**\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"subscript\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"attribute\"\n }\n ]\n }\n ]\n },\n \"as_pattern\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"as\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"alias\",\n \"content\": {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n \"named\": true,\n \"value\": \"as_pattern_target\"\n }\n }\n ]\n }\n },\n \"_expression_within_for_in_clause\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"lambda_within_for_in_clause\"\n },\n \"named\": true,\n \"value\": \"lambda\"\n }\n ]\n },\n \"expression\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"comparison_operator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"not_operator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"boolean_operator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"lambda\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"conditional_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"named_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"as_pattern\"\n }\n ]\n },\n \"primary_expression\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"await\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"binary_operator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n \"named\": true,\n \"value\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_string\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"concatenated_string\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"integer\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"float\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"true\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"false\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"none\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"unary_operator\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"attribute\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"subscript\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"call\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_comprehension\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_comprehension\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"set\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"set_comprehension\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"tuple\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"parenthesized_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"generator_expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"ellipsis\"\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat_pattern\"\n },\n \"named\": true,\n \"value\": \"list_splat\"\n }\n ]\n },\n \"typed_parameter\": {\n \"type\": \"PREC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"list_splat_pattern\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat_pattern\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"type\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n }\n ]\n }\n },\n \"type\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"splat_type\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"generic_type\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"union_type\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"constrained_type\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"member_type\"\n }\n ]\n },\n \"splat_type\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"*\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"**\"\n }\n ]\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n }\n },\n \"generic_type\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type_parameter\"\n }\n ]\n }\n },\n \"union_type\": {\n \"type\": \"PREC_LEFT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"|\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n ]\n }\n },\n \"constrained_type\": {\n \"type\": \"PREC_RIGHT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n }\n ]\n }\n },\n \"member_type\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"type\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \".\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n }\n ]\n },\n \"keyword_argument\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"name\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"keyword_identifier\"\n }\n ]\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n },\n \"list\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_collection_elements\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n },\n \"set\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_collection_elements\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"tuple\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"(\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_collection_elements\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n }\n ]\n },\n \"dictionary\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pair\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat\"\n }\n ]\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pair\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"dictionary_splat\"\n }\n ]\n }\n ]\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \",\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"pair\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"key\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"value\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n }\n ]\n },\n \"list_comprehension\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"[\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_comprehension_clauses\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n }\n ]\n },\n \"dictionary_comprehension\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"pair\"\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_comprehension_clauses\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"set_comprehension\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"body\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_comprehension_clauses\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"conditional_expression\": {\n \"type\": \"PREC_RIGHT\",\n \"value\": -1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"if\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"else\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n }\n ]\n }\n },\n \"concatenated_string\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"python_string\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"python_string\"\n }\n }\n ]\n },\n \"python_string\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string_start\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"interpolation\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string_content\"\n }\n ]\n }\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string_end\"\n }\n ]\n },\n \"string_content\": {\n \"type\": \"PREC_RIGHT\",\n \"value\": 0,\n \"content\": {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"escape_interpolation\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"escape_sequence\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_not_escape_sequence\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_string_content\"\n }\n ]\n }\n }\n },\n \"interpolation\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"{\"\n },\n {\n \"type\": \"FIELD\",\n \"name\": \"expression\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"_f_expression\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"=\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"type_conversion\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"type_conversion\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"FIELD\",\n \"name\": \"format_specifier\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"format_specifier\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n }\n ]\n },\n \"_f_expression\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"expression_list\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"pattern_list\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"yield\"\n }\n ]\n },\n \"escape_sequence\": {\n \"type\": \"IMMEDIATE_TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"\\\\\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"u[a-fA-F\\\\d]{4}\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"U[a-fA-F\\\\d]{8}\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"x[a-fA-F\\\\d]{2}\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"\\\\d{3}\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"\\\\r?\\\\n\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"[\'\\\"abfrntv\\\\\\\\]\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"N\\\\{[^}]+\\\\}\"\n }\n ]\n }\n ]\n }\n }\n },\n \"_not_escape_sequence\": {\n \"type\": \"IMMEDIATE_TOKEN\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"\\\\\"\n }\n },\n \"format_specifier\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \":\"\n },\n {\n \"type\": \"REPEAT\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"PREC\",\n \"value\": 1,\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[^{}\\\\n]+\"\n }\n }\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"SYMBOL\",\n \"name\": \"interpolation\"\n },\n \"named\": true,\n \"value\": \"format_expression\"\n }\n ]\n }\n }\n ]\n },\n \"type_conversion\": {\n \"type\": \"PATTERN\",\n \"value\": \"![a-z]\"\n },\n \"keyword_identifier\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PREC\",\n \"value\": -3,\n \"content\": {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"print\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"exec\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"async\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"await\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"match\"\n }\n ]\n },\n \"named\": true,\n \"value\": \"python_identifier\"\n }\n },\n {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"STRING\",\n \"value\": \"type\"\n },\n \"named\": true,\n \"value\": \"python_identifier\"\n }\n ]\n },\n \"await\": {\n \"type\": \"PREC\",\n \"value\": 20,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"await\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"primary_expression\"\n }\n ]\n }\n },\n \"integer\": {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"0x\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"0X\"\n }\n ]\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"_?[A-Fa-f0-9]+\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[Ll]\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"0o\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"0O\"\n }\n ]\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"_?[0-7]+\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[Ll]\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"0b\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"0B\"\n }\n ]\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"_?[0-1]+\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[Ll]\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[Ll]\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[jJ]\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"float\": {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"STRING\",\n \"value\": \".\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[eE][\\\\+-]?\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n },\n {\n \"type\": \"STRING\",\n \"value\": \".\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[eE][\\\\+-]?\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n },\n {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[eE][\\\\+-]?\"\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[0-9]+_?\"\n }\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"[Ll]\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \"[jJ]\"\n }\n ]\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n },\n \"true\": {\n \"type\": \"STRING\",\n \"value\": \"True\"\n },\n \"false\": {\n \"type\": \"STRING\",\n \"value\": \"False\"\n },\n \"none\": {\n \"type\": \"STRING\",\n \"value\": \"None\"\n },\n \"python_identifier\": {\n \"type\": \"PATTERN\",\n \"value\": \"[_\\\\p{XID_Start}][_\\\\p{XID_Continue}]*\"\n },\n \"positional_separator\": {\n \"type\": \"STRING\",\n \"value\": \"/\"\n },\n \"keyword_separator\": {\n \"type\": \"STRING\",\n \"value\": \"*\"\n },\n \"concatenation\": {\n \"type\": \"PREC\",\n \"value\": -1,\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_dotted_identifier\"\n }\n ]\n },\n {\n \"type\": \"REPEAT1\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_concat\"\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"identifier\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"variable_expansion\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_dotted_identifier\"\n }\n ]\n }\n ]\n }\n },\n {\n \"type\": \"CHOICE\",\n \"members\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_concat\"\n },\n {\n \"type\": \"BLANK\"\n }\n ]\n }\n ]\n }\n },\n \"identifier\": {\n \"type\": \"PATTERN\",\n \"value\": \"[a-zA-Z0-9_-]+\"\n },\n \"_dotted_identifier\": {\n \"type\": \"ALIAS\",\n \"content\": {\n \"type\": \"PATTERN\",\n \"value\": \"[.a-zA-Z0-9_-]+\"\n },\n \"named\": true,\n \"value\": \"identifier\"\n },\n \"comment\": {\n \"type\": \"TOKEN\",\n \"content\": {\n \"type\": \"SEQ\",\n \"members\": [\n {\n \"type\": \"STRING\",\n \"value\": \"#\"\n },\n {\n \"type\": \"PATTERN\",\n \"value\": \".*\"\n }\n ]\n }\n }\n },\n \"extras\": [\n {\n \"type\": \"PATTERN\",\n \"value\": \"\\\\s\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"comment\"\n }\n ],\n \"conflicts\": [\n [\n \"primary_expression\",\n \"pattern\"\n ],\n [\n \"primary_expression\",\n \"list_splat_pattern\"\n ],\n [\n \"tuple\",\n \"tuple_pattern\"\n ],\n [\n \"list\",\n \"list_pattern\"\n ],\n [\n \"with_item\",\n \"_collection_elements\"\n ],\n [\n \"named_expression\",\n \"as_pattern\"\n ],\n [\n \"print_statement\",\n \"primary_expression\"\n ]\n ],\n \"precedences\": [],\n \"externals\": [\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_concat\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_newline\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_indent\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_dedent\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string_start\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"_string_content\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"escape_interpolation\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"string_end\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"comment\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"]\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \")\"\n },\n {\n \"type\": \"STRING\",\n \"value\": \"}\"\n },\n {\n \"type\": \"SYMBOL\",\n \"name\": \"shell_content\"\n }\n ],\n \"inline\": [\n \"_simple_statement\",\n \"_compound_statement\",\n \"_suite\",\n \"_expressions\",\n \"_left_hand_side\",\n \"keyword_identifier\",\n \"_dotted_identifier\"\n ],\n \"supertypes\": [\n \"_simple_statement\",\n \"_compound_statement\",\n \"expression\",\n \"primary_expression\",\n \"pattern\",\n \"parameter\"\n ]\n}\n\n";Expand description
The json source of the BitBake tree-sitter grammar description.