UNPKG

tree-sitter-tony

Version:
1,852 lines (1,851 loc) 153 kB
{ "name": "tony", "word": "_identifier_without_operators", "rules": { "program": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "hashBangLine", "content": { "type": "SYMBOL", "name": "hash_bang_line" } }, { "type": "BLANK" } ] }, { "type": "REPEAT", "content": { "type": "FIELD", "name": "import", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "import" }, { "type": "SYMBOL", "name": "exported_import" } ] } } }, { "type": "REPEAT", "content": { "type": "FIELD", "name": "term", "content": { "type": "SYMBOL", "name": "_term" } } } ] }, "hash_bang_line": { "type": "PATTERN", "value": "#!.*" }, "comment": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#" }, { "type": "PATTERN", "value": ".*" } ] } }, "import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "SYMBOL", "name": "_import_body" } ] }, "exported_import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "export" }, { "type": "SYMBOL", "name": "_import_body" } ] }, "_import_body": { "type": "PREC_LEFT", "value": 17, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "default", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "default", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } }, { "type": "STRING", "value": "," } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "{" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "import", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "import_identifier" }, { "type": "SYMBOL", "name": "import_type" } ] } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "import", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "import_identifier" }, { "type": "SYMBOL", "name": "import_type" } ] } } ] } } ] }, { "type": "STRING", "value": "}" } ] } ] }, { "type": "STRING", "value": "from" }, { "type": "FIELD", "name": "source", "content": { "type": "SYMBOL", "name": "raw_string" } } ] } }, "import_identifier": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } }, { "type": "STRING", "value": "as" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "as", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } } ] }, "import_type": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "type" } }, { "type": "STRING", "value": "as" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "as", "content": { "type": "SYMBOL", "name": "type" } } ] }, "_term": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_simple_term" }, { "type": "SYMBOL", "name": "_newline" } ] }, { "type": "SYMBOL", "name": "_compound_term" } ] }, "_simple_term": { "type": "PREC_LEFT", "value": 17, "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_abstraction" }, "named": true, "value": "abstraction" }, { "type": "SYMBOL", "name": "application" }, { "type": "SYMBOL", "name": "prefix_application" }, { "type": "SYMBOL", "name": "infix_application" }, { "type": "SYMBOL", "name": "_section" }, { "type": "SYMBOL", "name": "pipeline" }, { "type": "SYMBOL", "name": "access" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_assignment" }, "named": true, "value": "assignment" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_export" }, "named": true, "value": "export" }, { "type": "SYMBOL", "name": "return" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_if" }, "named": true, "value": "if" }, { "type": "SYMBOL", "name": "struct" }, { "type": "SYMBOL", "name": "tuple" }, { "type": "SYMBOL", "name": "list" }, { "type": "SYMBOL", "name": "list_comprehension" }, { "type": "SYMBOL", "name": "tagged_value" }, { "type": "SYMBOL", "name": "type_alias" }, { "type": "SYMBOL", "name": "type_hint" }, { "type": "SYMBOL", "name": "identifier" }, { "type": "SYMBOL", "name": "_literal" }, { "type": "SYMBOL", "name": "group" } ] } }, "_compound_term": { "type": "PREC_LEFT", "value": 17, "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_abstraction" }, "named": true, "value": "abstraction" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_assignment" }, "named": true, "value": "assignment" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_export" }, "named": true, "value": "export" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_if" }, "named": true, "value": "if" }, { "type": "SYMBOL", "name": "case" }, { "type": "SYMBOL", "name": "enum" }, { "type": "SYMBOL", "name": "class" }, { "type": "SYMBOL", "name": "instance" } ] } }, "_simple_block": { "type": "PREC_LEFT", "value": 0, "content": { "type": "FIELD", "name": "term", "content": { "type": "SYMBOL", "name": "_simple_term" } } }, "_compound_block": { "type": "PREC_LEFT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "term", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "SYMBOL", "name": "_newline" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT1", "content": { "type": "FIELD", "name": "term", "content": { "type": "SYMBOL", "name": "_term" } } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] } }, "simple_export": { "type": "SEQ", "members": [ { "type": "STRING", "value": "export" }, { "type": "FIELD", "name": "declaration", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_assignment" }, "named": true, "value": "assignment" } } ] }, "compound_export": { "type": "SEQ", "members": [ { "type": "STRING", "value": "export" }, { "type": "FIELD", "name": "declaration", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_assignment" }, "named": true, "value": "assignment" } } ] }, "simple_assignment": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "pattern", "content": { "type": "SYMBOL", "name": "_assignable_pattern" } }, { "type": "STRING", "value": ":=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, "compound_assignment": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "pattern", "content": { "type": "SYMBOL", "name": "_assignable_pattern" } }, { "type": "STRING", "value": ":=" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_compound_term" } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_indent" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_compound_term" } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] } ] } }, "enum": { "type": "SEQ", "members": [ { "type": "STRING", "value": "enum" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "type" } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT1", "content": { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "enum_value" } } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] }, "enum_value": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_literal" } } ] }, { "type": "BLANK" } ] } ] }, "class": { "type": "SEQ", "members": [ { "type": "STRING", "value": "class" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "type_declaration" } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT1", "content": { "type": "FIELD", "name": "member", "content": { "type": "SYMBOL", "name": "class_member" } } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] }, "class_member": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "identifier_pattern_name" } }, { "type": "STRING", "value": "::" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "instance": { "type": "SEQ", "members": [ { "type": "STRING", "value": "instance" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "parametric_type" } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "assignment", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_assignment" }, "named": true, "value": "assignment" } }, { "type": "SYMBOL", "name": "_newline" } ] }, { "type": "FIELD", "name": "assignment", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_assignment" }, "named": true, "value": "assignment" } } ] } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] }, "argument": { "type": "PREC_LEFT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "placeholder", "content": { "type": "STRING", "value": "?" } }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_element" } } ] } }, "simple_abstraction": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "branch", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_abstraction_branch" }, "named": true, "value": "abstraction_branch" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "branch", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "simple_abstraction_branch" }, "named": true, "value": "abstraction_branch" } } ] } } ] } }, "simple_abstraction_branch": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "typeParameter", "content": { "type": "SYMBOL", "name": "type_variable_declaration" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "typeParameter", "content": { "type": "SYMBOL", "name": "type_variable_declaration" } } ] } } ] }, { "type": "STRING", "value": ">" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "()" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "..." }, { "type": "FIELD", "name": "rest", "content": { "type": "SYMBOL", "name": "identifier_pattern" } } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_pattern" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_pattern" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "STRING", "value": "..." }, { "type": "FIELD", "name": "rest", "content": { "type": "SYMBOL", "name": "identifier_pattern" } } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] }, { "type": "STRING", "value": "=>" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_simple_block" }, "named": true, "value": "block" } } ] } }, "compound_abstraction": { "type": "PREC_LEFT", "value": 0, "content": { "type": "REPEAT1", "content": { "type": "FIELD", "name": "branch", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "compound_abstraction_branch" }, "named": true, "value": "abstraction_branch" } } } }, "compound_abstraction_branch": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "typeParameter", "content": { "type": "SYMBOL", "name": "type_variable_declaration" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "typeParameter", "content": { "type": "SYMBOL", "name": "type_variable_declaration" } } ] } } ] }, { "type": "STRING", "value": ">" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "()" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "..." }, { "type": "FIELD", "name": "rest", "content": { "type": "SYMBOL", "name": "identifier_pattern" } } ] }, { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_pattern" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_pattern" } } ] } } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "STRING", "value": "..." }, { "type": "FIELD", "name": "rest", "content": { "type": "SYMBOL", "name": "identifier_pattern" } } ] }, { "type": "BLANK" } ] } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] }, { "type": "STRING", "value": "=>" }, { "type": "FIELD", "name": "body", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_compound_block" }, "named": true, "value": "block" } } ] } }, "application": { "type": "PREC", "value": 16, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "typeArgument", "content": { "type": "SYMBOL", "name": "parametric_type" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "typeArgument", "content": { "type": "SYMBOL", "name": "parametric_type" } } ] } } ] }, { "type": "STRING", "value": ">" } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "()" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "argument" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "argument" } } ] } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] } ] } }, "prefix_application": { "type": "PREC_RIGHT", "value": 14, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_operator" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, "infix_application": { "type": "CHOICE", "members": [ { "type": "PREC_LEFT", "value": 13, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "!" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 12, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "^" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 11, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "*" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 11, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "/" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "+" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 10, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "STRING", "value": "-" }, "named": true, "value": "identifier" } }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_simple_term" } } ] } }, { "type": "PREC_LEFT", "value": 9, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_simple_term" } }, {