{ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "hy", "word": "symbol", "rules": { "source_file": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "shebang" }, { "type": "BLANK" } ] }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } } ] }, "shebang": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#!" }, { "type": "PATTERN", "value": ".*" } ] } }, "_element": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_form" }, { "type": "SYMBOL", "name": "discard" }, { "type": "SYMBOL", "name": "comment" }, { "type": "SYMBOL", "name": "import" }, { "type": "SYMBOL", "name": "require" }, { "type": "SYMBOL", "name": "function" }, { "type": "SYMBOL", "name": "lambda" }, { "type": "SYMBOL", "name": "class" }, { "type": "SYMBOL", "name": "macro" }, { "type": "SYMBOL", "name": "reader" } ] }, "_form": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "sugar" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_identifier" }, { "type": "SYMBOL", "name": "_sequence" }, { "type": "SYMBOL", "name": "_string" } ] } ] }, "discard": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#_" }, { "type": "SYMBOL", "name": "_form" } ] }, "comment": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ";" }, { "type": "PATTERN", "value": ".*" } ] } }, "sugar": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "'" }, { "type": "STRING", "value": "`" }, { "type": "STRING", "value": "~" }, { "type": "STRING", "value": "~@" }, { "type": "STRING", "value": "#*" }, { "type": "STRING", "value": "#**" } ] }, "_identifier": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_numeric_literal" }, { "type": "SYMBOL", "name": "keyword" }, { "type": "SYMBOL", "name": "_symbol_or_dots" }, { "type": "SYMBOL", "name": "dotted_identifier" } ] }, "_sequence": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "expression" }, { "type": "SYMBOL", "name": "list" }, { "type": "SYMBOL", "name": "tuple" }, { "type": "SYMBOL", "name": "set" }, { "type": "SYMBOL", "name": "dictionary" } ] }, "_string": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "bracket_string" } ] }, "_numeric_literal": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "integer" }, { "type": "SYMBOL", "name": "float" }, { "type": "SYMBOL", "name": "complex" } ] }, "keyword": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "immediate_symbol" }, { "type": "BLANK" } ] } ] } }, "_symbol_or_dots": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "symbol" }, { "type": "SYMBOL", "name": "dots" } ] }, "dotted_identifier": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[.]+" }, { "type": "SYMBOL", "name": "immediate_symbol" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "." } }, { "type": "SYMBOL", "name": "immediate_symbol" } ] } } ] }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "sym", "content": { "type": "SYMBOL", "name": "symbol" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "." } }, { "type": "SYMBOL", "name": "immediate_symbol" } ] } } ] } ] }, "expression": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": "]" } ] }, "tuple": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#(" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "set": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#{" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": "}" } ] }, "dictionary": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "key", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_element" } } ] } }, { "type": "STRING", "value": "}" } ] }, "string": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[rbf]*\"" }, { "type": "FIELD", "name": "content", "content": { "type": "PATTERN", "value": "[^\"]*" } }, { "type": "STRING", "value": "\"" } ] }, "bracket_string": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#[[" }, { "type": "FIELD", "name": "content", "content": { "type": "PATTERN", "value": "[^\\]]*" } }, { "type": "STRING", "value": "]]" } ] }, "integer": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_decinteger" }, { "type": "SYMBOL", "name": "_bininteger" }, { "type": "SYMBOL", "name": "_octinteger" }, { "type": "SYMBOL", "name": "_hexinteger" } ] }, "float": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] } ] }, { "type": "STRING", "value": "Inf" }, { "type": "STRING", "value": "NaN" } ] } ] } } }, "complex": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "Inf" }, { "type": "STRING", "value": "NaN" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "." }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "." } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "e" }, { "type": "STRING", "value": "E" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] } ] } ] }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "_*\\d+" } } ] }, { "type": "STRING", "value": "NaN" }, { "type": "STRING", "value": "Inf" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "j" }, { "type": "STRING", "value": "J" } ] } ] } ] } } }, "symbol": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[^()\\[\\]{};\"'`~:.\\d\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[^()\\[\\]{};\"'`~.\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]" } } ] } }, "immediate_symbol": { "type": "IMMEDIATE_TOKEN", "content": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[^()\\[\\]{};\"'`~:.\\d\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[^()\\[\\]{};\"'`~.\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]" } } ] } }, "dots": { "type": "PATTERN", "value": "[.]+" }, "_decinteger": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "+" }, { "type": "STRING", "value": "-" } ] }, { "type": "BLANK" } ] }, { "type": "PATTERN", "value": "\\d" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[,_]*\\d+" } } ] } } }, "_bininteger": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "PATTERN", "value": "[bB]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[,_]*[01]+" } } ] } } }, "_octinteger": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "PATTERN", "value": "[oO]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[,_]*[0-7]+" } } ] } } }, "_hexinteger": { "type": "TOKEN", "content": { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "0" }, { "type": "PATTERN", "value": "[xX]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[,_]*[\\da-fA-F]+" } } ] } } }, "import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "import" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "module_import" }, { "type": "SYMBOL", "name": "named_import" } ] } }, { "type": "STRING", "value": ")" } ] }, "require": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "require" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "module_import" }, { "type": "SYMBOL", "name": "named_import" }, { "type": "SYMBOL", "name": "namespace_require" } ] } }, { "type": "STRING", "value": ")" } ] }, "function": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "defn" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "async" } } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "decorators", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "variable_list" }, { "type": "BLANK" } ] } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameters" }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_annotation" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "symbol" } }, { "type": "SYMBOL", "name": "parameter_list" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "lambda": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "fn" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "async" } } ] }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "parameter_list" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "class": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "defclass" }, { "type": "FIELD", "name": "decorators", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "variable_list" }, { "type": "BLANK" } ] } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "type_parameters" }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "symbol" } }, { "type": "FIELD", "name": "superclasses", "content": { "type": "SYMBOL", "name": "variable_list" } }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "macro": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "defmacro" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "symbol" } }, { "type": "SYMBOL", "name": "parameter_list" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "reader": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "STRING", "value": "defreader" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "symbol" } }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_element" } }, { "type": "STRING", "value": ")" } ] }, "module_import": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_variable" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "*" }, { "type": "BLANK" } ] } ] }, { "type": "SYMBOL", "name": "aliased_import" } ] } ] }, "named_import": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_variable" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "symbol" }, { "type": "SYMBOL", "name": "aliased_import" } ] } }, { "type": "STRING", "value": "]" } ] } ] }, "namespace_require": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_variable" }, { "type": "CHOICE", "members": [ { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "CHOICE", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "macros" } }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "readers" } } ] }, { "type": "STRING", "value": "[" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "symbol" }, { "type": "SYMBOL", "name": "aliased_import" } ] } }, { "type": "STRING", "value": "]" } ] } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "keyword" }, { "type": "STRING", "value": "*" } ] } ] } ] }, "variable_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_variable" } }, { "type": "STRING", "value": "]" } ] }, "type_parameters": { "type": "SEQ", "members": [ { "type": "STRING", "value": ":" }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "tp" } }, { "type": "STRING", "value": "[" }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_variable" } }, { "type": "STRING", "value": "]" } ] }, "type_annotation": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#^" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_variable" } } ] }, "parameter_list": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "symbol" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "SYMBOL", "name": "symbol" }, { "type": "SYMBOL", "name": "_form" }, { "type": "STRING", "value": "]" } ] }, { "type": "STRING", "value": "/" }, { "type": "STRING", "value": "*" }, { "type": "STRING", "value": "#*" }, { "type": "STRING", "value": "#**" } ] } }, { "type": "STRING", "value": "]" } ] }, "_variable": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "symbol" }, { "type": "SYMBOL", "name": "dotted_identifier" } ] }, "aliased_import": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_variable" }, { "type": "STRING", "value": ":" }, { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "as" } }, { "type": "SYMBOL", "name": "symbol" } ] } }, "extras": [ { "type": "PATTERN", "value": "[\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020]" }, { "type": "SYMBOL", "name": "comment" } ], "conflicts": [], "precedences": [], "externals": [], "inline": [], "supertypes": [], "reserved": {} }