UNPKG

tree-sitter-tony

Version:
1,438 lines (1,436 loc) 34 kB
{ "name": "dtn", "word": "_identifier_without_operators", "rules": { "program": { "type": "SEQ", "members": [ { "type": "REPEAT", "content": { "type": "FIELD", "name": "import", "content": { "type": "SYMBOL", "name": "import" } } }, { "type": "FIELD", "name": "declaration", "content": { "type": "SYMBOL", "name": "declaration" } } ] }, "comment": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#" }, { "type": "PATTERN", "value": ".*" } ] } }, "declaration": { "type": "SEQ", "members": [ { "type": "STRING", "value": "declare" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "raw_string" } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "REPEAT1", "content": { "type": "FIELD", "name": "member", "content": { "type": "SYMBOL", "name": "declaration_member" } } }, { "type": "SYMBOL", "name": "_dedent" } ] } ] }, "declaration_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" } } ] }, "import": { "type": "SEQ", "members": [ { "type": "STRING", "value": "import" }, { "type": "SYMBOL", "name": "_import_body" } ] }, "_import_body": { "type": "PREC_LEFT", "value": 17, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "import", "content": { "type": "SYMBOL", "name": "import_type" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "import", "content": { "type": "SYMBOL", "name": "import_type" } } ] } } ] }, { "type": "STRING", "value": "}" }, { "type": "STRING", "value": "from" }, { "type": "FIELD", "name": "source", "content": { "type": "SYMBOL", "name": "raw_string" } } ] } }, "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" } } ] }, "_identifier_without_operators": { "type": "PATTERN", "value": "_?[a-z][a-z0-9_]*(\\?|!)?" }, "_operator": { "type": "PATTERN", "value": "(==|[!@$%^&*|<>~*\\\\\\-+/.])[!@$%^&*|<>~*\\\\\\-+/.=?]*" }, "identifier": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_operator" }, { "type": "SYMBOL", "name": "_identifier_without_operators" } ] }, "type_variable_declaration": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_variable_declaration_name" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<:" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ";" }, { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } } ] } } ] }, { "type": "STRING", "value": ")" } ] } ] } ] }, { "type": "BLANK" } ] } ] } }, "_type": { "type": "PREC_LEFT", "value": 0, "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parametric_type" }, { "type": "SYMBOL", "name": "curried_type" }, { "type": "SYMBOL", "name": "intersection_type" }, { "type": "SYMBOL", "name": "union_type" }, { "type": "SYMBOL", "name": "subtraction_type" }, { "type": "SYMBOL", "name": "conditional_type" }, { "type": "SYMBOL", "name": "struct_type" }, { "type": "SYMBOL", "name": "map_type" }, { "type": "SYMBOL", "name": "tuple_type" }, { "type": "SYMBOL", "name": "list_type" }, { "type": "SYMBOL", "name": "tagged_type" }, { "type": "SYMBOL", "name": "keyof" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_variable" }, { "type": "SYMBOL", "name": "type_group" } ] } }, "parametric_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "type" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "argument", "content": { "type": "SYMBOL", "name": "_type" } } ] } } ] }, { "type": "STRING", "value": ">" } ] }, { "type": "BLANK" } ] } ] } }, "curried_type": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "from", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "->" }, { "type": "FIELD", "name": "to", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "intersection_type": { "type": "PREC_RIGHT", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "&" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "union_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "|" }, { "type": "FIELD", "name": "right", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "subtraction_type": { "type": "PREC_RIGHT", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "left", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parametric_type" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_variable" }, { "type": "SYMBOL", "name": "union_type" } ] } }, { "type": "STRING", "value": "\\" }, { "type": "FIELD", "name": "right", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "parametric_type" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_variable" }, { "type": "SYMBOL", "name": "union_type" } ] } } ] } }, "conditional_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "if" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "<:" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SEQ", "members": [ { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": ";" }, { "type": "FIELD", "name": "constraint", "content": { "type": "SYMBOL", "name": "_type" } } ] } } ] }, { "type": "STRING", "value": ")" } ] } ] } ] }, { "type": "STRING", "value": "then" }, { "type": "FIELD", "name": "consequence", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "else" }, { "type": "FIELD", "name": "alternative", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "struct_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "member", "content": { "type": "SYMBOL", "name": "member_type" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "member", "content": { "type": "SYMBOL", "name": "member_type" } } ] } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, "member_type": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "key", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "shorthand_member_identifier" } }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } } ] }, "map_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "STRING", "value": "[" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "FIELD", "name": "property", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "identifier" }, "named": true, "value": "type_variable_declaration_name" } }, { "type": "STRING", "value": "in" } ] }, { "type": "BLANK" } ] }, { "type": "FIELD", "name": "key", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "]" }, { "type": "STRING", "value": ":" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "}" } ] }, "tuple_type": { "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": "_type" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_type" } } ] } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] }, "list_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "FIELD", "name": "element", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": "]" } ] }, "tagged_type": { "type": "PREC_RIGHT", "value": 17, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": ">" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "BLANK" } ] } ] } }, "keyof": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "keyof" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } } ] } }, "type_group": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", "name": "_type" } }, { "type": "STRING", "value": ")" } ] }, "type": { "type": "PATTERN", "value": "[A-Z][a-zA-Z0-9]*" }, "boolean": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "false" }, { "type": "STRING", "value": "true" } ] }, "_decimal": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } }, { "type": "STRING", "value": "." }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "e-?" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } } ] }, { "type": "BLANK" } ] } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "e-?" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } } ] } ] } ] } }, "_integer": { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "0x" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[A-Fa-f0-9]+" } } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0o" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-7]+" } } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "0b" }, { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-1]+" } } ] }, { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "PATTERN", "value": "_?[0-9]+" } } ] } ] } }, "number": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_decimal" }, { "type": "SYMBOL", "name": "_integer" } ] }, "raw_string": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_string_start" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_string_content" } ] } }, { "type": "SYMBOL", "name": "_string_end" } ] }, "regex": { "type": "SEQ", "members": [ { "type": "STRING", "value": "r/" }, { "type": "FIELD", "name": "pattern", "content": { "type": "SYMBOL", "name": "regex_pattern" } }, { "type": "STRING", "value": "/" }, { "type": "CHOICE", "members": [ { "type": "FIELD", "name": "flags", "content": { "type": "SYMBOL", "name": "regex_flags" } }, { "type": "BLANK" } ] } ] }, "regex_pattern": { "type": "IMMEDIATE_TOKEN", "content": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "[" }, { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\" }, { "type": "PATTERN", "value": "." } ] }, { "type": "PATTERN", "value": "[^\\]\\n\\\\]" } ] } }, { "type": "STRING", "value": "]" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\" }, { "type": "PATTERN", "value": "." } ] }, { "type": "PATTERN", "value": "[^/\\\\\\[\\n]" } ] } } }, "regex_flags": { "type": "IMMEDIATE_TOKEN", "content": { "type": "PATTERN", "value": "[a-z]+" } } }, "extras": [ { "type": "SYMBOL", "name": "comment" }, { "type": "PATTERN", "value": "\\s+" } ], "conflicts": [], "externals": [ { "type": "SYMBOL", "name": "_newline" }, { "type": "SYMBOL", "name": "_indent" }, { "type": "SYMBOL", "name": "_dedent" }, { "type": "SYMBOL", "name": "_string_start" }, { "type": "SYMBOL", "name": "_string_content" }, { "type": "SYMBOL", "name": "_string_end" } ], "inline": [], "supertypes": [] }