UNPKG

tree-sitter-python

Version:
2,235 lines 144 kB
{ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "python", "word": "identifier", "rules": { "module": { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_statement" } }, "_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_simple_statements" }, { "type": "SYMBOL", "name": "_compound_statement" } ] }, "_simple_statements": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_simple_statement" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ";" }, { "type": "SYMBOL", "name": "_simple_statement" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": ";" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_newline" } ] }, "_simple_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "future_import_statement" }, { "type": "SYMBOL", "name": "import_statement" }, { "type": "SYMBOL", "name": "import_from_statement" }, { "type": "SYMBOL", "name": "print_statement" }, { "type": "SYMBOL", "name": "assert_statement" }, { "type": "SYMBOL", "name": "expression_statement" }, { "type": "SYMBOL", "name": "return_statement" }, { "type": "SYMBOL", "name": "delete_statement" }, { "type": "SYMBOL", "name": "raise_statement" }, { "type": "SYMBOL", "name": "pass_statement" }, { "type": "SYMBOL", "name": "break_statement" }, { "type": "SYMBOL", "name": "continue_statement" }, { "type": "SYMBOL", "name": "global_statement" }, { "type": "SYMBOL", "name": "nonlocal_statement" }, { "type": "SYMBOL", "name": "exec_statement" }, { "type": "SYMBOL", "name": "type_alias_statement" } ] }, "import_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "SYMBOL", "name": "_import_list" } ] }, "import_prefix": { "type": "REPEAT1", "content": { "type": "STRING", "value": "." } }, "relative_import": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "import_prefix" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "dotted_name" }, { "type": "BLANK" } ] } ] }, "future_import_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "from" }, { "type": "STRING", "value": "__future__" }, { "type": "STRING", "value": "import" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_import_list" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "_import_list" }, { "type": "STRING", "value": ")" } ] } ] } ] }, "import_from_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "from" }, { "type": "FIELD", "name": "module_name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "relative_import" }, { "type": "SYMBOL", "name": "dotted_name" } ] } }, { "type": "STRING", "value": "import" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "wildcard_import" }, { "type": "SYMBOL", "name": "_import_list" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "_import_list" }, { "type": "STRING", "value": ")" } ] } ] } ] }, "_import_list": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "dotted_name" }, { "type": "SYMBOL", "name": "aliased_import" } ] } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "name", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "dotted_name" }, { "type": "SYMBOL", "name": "aliased_import" } ] } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, "aliased_import": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "dotted_name" } }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "alias", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, "wildcard_import": { "type": "STRING", "value": "*" }, "print_statement": { "type": "CHOICE", "members": [ { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "print" }, { "type": "SYMBOL", "name": "chevron" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] } }, { "type": "PREC", "value": -3, "content": { "type": "PREC_DYNAMIC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "print" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "expression" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] } } } ] }, "chevron": { "type": "SEQ", "members": [ { "type": "STRING", "value": ">>" }, { "type": "SYMBOL", "name": "expression" } ] }, "assert_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "assert" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] } ] }, "expression_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "assignment" }, { "type": "SYMBOL", "name": "augmented_assignment" }, { "type": "SYMBOL", "name": "yield" } ] }, "named_expression": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_named_expression_lhs" } }, { "type": "STRING", "value": ":=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] }, "_named_expression_lhs": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "keyword_identifier" } ] }, "return_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "return" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expressions" }, { "type": "BLANK" } ] } ] }, "delete_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "del" }, { "type": "SYMBOL", "name": "_expressions" } ] }, "_expressions": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "SYMBOL", "name": "expression_list" } ] }, "raise_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "raise" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_expressions" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "from" }, { "type": "FIELD", "name": "cause", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "BLANK" } ] } ] }, "pass_statement": { "type": "PREC_LEFT", "value": 0, "content": { "type": "STRING", "value": "pass" } }, "break_statement": { "type": "PREC_LEFT", "value": 0, "content": { "type": "STRING", "value": "break" } }, "continue_statement": { "type": "PREC_LEFT", "value": 0, "content": { "type": "STRING", "value": "continue" } }, "_compound_statement": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "if_statement" }, { "type": "SYMBOL", "name": "for_statement" }, { "type": "SYMBOL", "name": "while_statement" }, { "type": "SYMBOL", "name": "try_statement" }, { "type": "SYMBOL", "name": "with_statement" }, { "type": "SYMBOL", "name": "function_definition" }, { "type": "SYMBOL", "name": "class_definition" }, { "type": "SYMBOL", "name": "decorated_definition" }, { "type": "SYMBOL", "name": "match_statement" } ] }, "if_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "if" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "consequence", "content": { "type": "SYMBOL", "name": "_suite" } }, { "type": "REPEAT", "content": { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "elif_clause" } } }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "else_clause" } }, { "type": "BLANK" } ] } ] }, "elif_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "elif" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "consequence", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "else_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "else" }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "match_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "match" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "subject", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "subject", "content": { "type": "SYMBOL", "name": "expression" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_match_block" }, "named": true, "value": "block" } } ] }, "_match_block": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT", "content": { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "case_clause" } } }, { "type": "SYMBOL", "name": "_dedent" } ] }, { "type": "SYMBOL", "name": "_newline" } ] }, "case_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "case" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "case_pattern" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "case_pattern" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "guard", "content": { "type": "SYMBOL", "name": "if_clause" } }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "consequence", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "for_statement": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "async" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "for" }, { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_left_hand_side" } }, { "type": "STRING", "value": "in" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_expressions" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } }, { "type": "FIELD", "name": "alternative", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "else_clause" }, { "type": "BLANK" } ] } } ] }, "while_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "while" }, { "type": "FIELD", "name": "condition", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "else_clause" } }, { "type": "BLANK" } ] } ] }, "try_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "try" }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "except_clause" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "else_clause" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "finally_clause" }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "except_group_clause" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "else_clause" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "finally_clause" }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "finally_clause" } ] } ] }, "except_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "except" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "as" }, { "type": "STRING", "value": "," } ] }, { "type": "FIELD", "name": "alias", "content": { "type": "SYMBOL", "name": "expression" } } ] }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "_suite" } ] }, "except_group_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "except*" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "as" }, { "type": "SYMBOL", "name": "expression" } ] }, { "type": "BLANK" } ] } ] }, { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "_suite" } ] }, "finally_clause": { "type": "SEQ", "members": [ { "type": "STRING", "value": "finally" }, { "type": "STRING", "value": ":" }, { "type": "SYMBOL", "name": "_suite" } ] }, "with_statement": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "async" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "with" }, { "type": "SYMBOL", "name": "with_clause" }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "with_clause": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "with_item" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "with_item" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "with_item" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "with_item" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] }, "with_item": { "type": "PREC_DYNAMIC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "expression" } } ] } }, "function_definition": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "async" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "def" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "FIELD", "name": "type_parameters", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameter" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "parameters", "content": { "type": "SYMBOL", "name": "parameters" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "->" }, { "type": "FIELD", "name": "return_type", "content": { "type": "SYMBOL", "name": "type" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "parameters": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_parameters" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "lambda_parameters": { "type": "SYMBOL", "name": "_parameters" }, "list_splat": { "type": "SEQ", "members": [ { "type": "STRING", "value": "*" }, { "type": "SYMBOL", "name": "expression" } ] }, "dictionary_splat": { "type": "SEQ", "members": [ { "type": "STRING", "value": "**" }, { "type": "SYMBOL", "name": "expression" } ] }, "global_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "global" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "identifier" } ] } } ] } ] }, "nonlocal_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "nonlocal" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "identifier" } ] } } ] } ] }, "exec_statement": { "type": "SEQ", "members": [ { "type": "STRING", "value": "exec" }, { "type": "FIELD", "name": "code", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "identifier" } ] } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "in" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "expression" } ] } } ] } ] }, { "type": "BLANK" } ] } ] }, "type_alias_statement": { "type": "PREC_DYNAMIC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "type" }, { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "type" } }, { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "type" } } ] } }, "class_definition": { "type": "SEQ", "members": [ { "type": "STRING", "value": "class" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "FIELD", "name": "type_parameters", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameter" }, { "type": "BLANK" } ] } }, { "type": "FIELD", "name": "superclasses", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "argument_list" }, { "type": "BLANK" } ] } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "body", "content": { "type": "SYMBOL", "name": "_suite" } } ] }, "type_parameter": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "type" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "type" } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "]" } ] }, "parenthesized_list_splat": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "parenthesized_list_splat" }, "named": true, "value": "parenthesized_expression" }, { "type": "SYMBOL", "name": "list_splat" } ] }, { "type": "STRING", "value": ")" } ] } }, "argument_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "SYMBOL", "name": "list_splat" }, { "type": "SYMBOL", "name": "dictionary_splat" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "parenthesized_list_splat" }, "named": true, "value": "parenthesized_expression" }, { "type": "SYMBOL", "name": "keyword_argument" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "SYMBOL", "name": "list_splat" }, { "type": "SYMBOL", "name": "dictionary_splat" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "parenthesized_list_splat" }, "named": true, "value": "parenthesized_expression" }, { "type": "SYMBOL", "name": "keyword_argument" } ] } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "decorated_definition": { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "decorator" } }, { "type": "FIELD", "name": "definition", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "class_definition" }, { "type": "SYMBOL", "name": "function_definition" } ] } } ] }, "decorator": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "SYMBOL", "name": "expression" }, { "type": "SYMBOL", "name": "_newline" } ] }, "_suite": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_simple_statements" }, "named": true, "value": "block" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_indent" }, { "type": "SYMBOL", "name": "block" } ] }, { "type": "ALIAS", "content": { "type": "