UNPKG

@amaanq/tree-sitter-func

Version:
2,563 lines (2,562 loc) 60.7 kB
[ { "type": "asm_function_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "asm_instruction", "named": true }, { "type": "asm_specifier", "named": true } ] } }, { "type": "asm_instruction", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "asm_instruction", "named": true }, { "type": "multiline_asm_instruction", "named": true } ] } }, { "type": "asm_specifier", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "number", "named": true }, { "type": "parameter", "named": true } ] } }, { "type": "block_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "block_statement", "named": true }, { "type": "do_statement", "named": true }, { "type": "empty_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "while_statement", "named": true } ] } }, { "type": "const_var_declarations", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": true, "required": false, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] }, "value": { "multiple": true, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&=", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": "/", "named": false }, { "type": "/%", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "^", "named": false }, { "type": "^%", "named": false }, { "type": "^%=", "named": false }, { "type": "^/", "named": false }, { "type": "^/=", "named": false }, { "type": "^=", "named": false }, { "type": "^>>", "named": false }, { "type": "^>>=", "named": false }, { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "~", "named": false }, { "type": "~%", "named": false }, { "type": "~%=", "named": false }, { "type": "~/", "named": false }, { "type": "~/=", "named": false }, { "type": "~>>", "named": false }, { "type": "~>>=", "named": false } ] } } }, { "type": "do_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "block_statement", "named": true } ] }, "postcondition": { "multiple": true, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&=", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": "/", "named": false }, { "type": "/%", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "^", "named": false }, { "type": "^%", "named": false }, { "type": "^%=", "named": false }, { "type": "^/", "named": false }, { "type": "^/=", "named": false }, { "type": "^=", "named": false }, { "type": "^>>", "named": false }, { "type": "^>>=", "named": false }, { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "~", "named": false }, { "type": "~%", "named": false }, { "type": "~%=", "named": false }, { "type": "~/", "named": false }, { "type": "~/=", "named": false }, { "type": "~>>", "named": false }, { "type": "~>>=", "named": false } ] } } }, { "type": "empty_statement", "named": true, "fields": {} }, { "type": "expression_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true } ] } }, { "type": "function_application", "named": true, "fields": { "arguments": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "unit_literal", "named": true } ] }, "function": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true } ] } } }, { "type": "function_definition", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "parameter_list", "named": true } ] }, "asm_body": { "multiple": false, "required": false, "types": [ { "type": "asm_function_body", "named": true } ] }, "body": { "multiple": false, "required": false, "types": [ { "type": "block_statement", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "function_name", "named": true } ] }, "return_type": { "multiple": true, "required": true, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] }, "specifiers": { "multiple": true, "required": false, "types": [ { "type": "impure", "named": false }, { "type": "inline", "named": true }, { "type": "method_id", "named": true } ] }, "type_variables": { "multiple": false, "required": false, "types": [ { "type": "type_variables_list", "named": true } ] } } }, { "type": "function_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] } }, { "type": "global_var_declarations", "named": true, "fields": { "name": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": true, "required": false, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] } } }, { "type": "hole_type", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "hole_type", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "alternative": { "multiple": true, "required": false, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&=", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": "/", "named": false }, { "type": "/%", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "^", "named": false }, { "type": "^%", "named": false }, { "type": "^%=", "named": false }, { "type": "^/", "named": false }, { "type": "^/=", "named": false }, { "type": "^=", "named": false }, { "type": "^>>", "named": false }, { "type": "^>>=", "named": false }, { "type": "block_statement", "named": true }, { "type": "else", "named": false }, { "type": "elseif", "named": false }, { "type": "elseifnot", "named": false }, { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "~", "named": false }, { "type": "~%", "named": false }, { "type": "~%=", "named": false }, { "type": "~/", "named": false }, { "type": "~/=", "named": false }, { "type": "~>>", "named": false }, { "type": "~>>=", "named": false } ] }, "condition": { "multiple": true, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&=", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": "/", "named": false }, { "type": "/%", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "^", "named": false }, { "type": "^%", "named": false }, { "type": "^%=", "named": false }, { "type": "^/", "named": false }, { "type": "^/=", "named": false }, { "type": "^=", "named": false }, { "type": "^>>", "named": false }, { "type": "^>>=", "named": false }, { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "~", "named": false }, { "type": "~%", "named": false }, { "type": "~%=", "named": false }, { "type": "~/", "named": false }, { "type": "~/=", "named": false }, { "type": "~>>", "named": false }, { "type": "~>>=", "named": false } ] }, "consequent": { "multiple": true, "required": true, "types": [ { "type": "block_statement", "named": true } ] } } }, { "type": "include_directive", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "include_path", "named": true } ] } }, { "type": "include_path", "named": true, "fields": {} }, { "type": "inline", "named": true, "fields": {} }, { "type": "method_call", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true } ] }, "method_name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "method_id", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "number", "named": true }, { "type": "string", "named": true } ] } }, { "type": "multiline_asm_instruction", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "multiline_string_fragment", "named": true } ] } }, { "type": "multiline_string_fragment", "named": true, "fields": {} }, { "type": "parameter_declaration", "named": true, "fields": { "name": { "multiple": false, "required": false, "types": [ { "type": "parameter", "named": true } ] }, "type": { "multiple": true, "required": false, "types": [ { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "parameter", "named": true } ] } }, { "type": "parameter_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "parameter_declaration", "named": true } ] } }, { "type": "parenthesized_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true } ] } }, { "type": "parenthesized_type_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type_expression", "named": true } ] } }, { "type": "pragma_directive", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "major_version", "named": true }, { "type": "minor_version", "named": true }, { "type": "patch_version", "named": true }, { "type": "version_operator", "named": true } ] } }, { "type": "primitive_type", "named": true, "fields": {} }, { "type": "repeat_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "block_statement", "named": true } ] }, "count": { "multiple": true, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&=", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": "/", "named": false }, { "type": "/%", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "^", "named": false }, { "type": "^%", "named": false }, { "type": "^%=", "named": false }, { "type": "^/", "named": false }, { "type": "^/=", "named": false }, { "type": "^=", "named": false }, { "type": "^>>", "named": false }, { "type": "^>>=", "named": false }, { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "~", "named": false }, { "type": "~%", "named": false }, { "type": "~%=", "named": false }, { "type": "~/", "named": false }, { "type": "~/=", "named": false }, { "type": "~>>", "named": false }, { "type": "~>>=", "named": false } ] } } }, { "type": "return_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true } ] } }, { "type": "string", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "string_type", "named": true } ] } }, { "type": "tensor_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true } ] } }, { "type": "tensor_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] } }, { "type": "tensor_type_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "type_expression", "named": true } ] } }, { "type": "translation_unit", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "const_var_declarations", "named": true }, { "type": "function_definition", "named": true }, { "type": "global_var_declarations", "named": true }, { "type": "include_directive", "named": true }, { "type": "pragma_directive", "named": true } ] } }, { "type": "try_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "block_statement", "named": true }, { "type": "do_statement", "named": true }, { "type": "empty_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "if_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "try_statement", "named": true }, { "type": "while_statement", "named": true } ] } }, { "type": "tuple_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_application", "named": true }, { "type": "identifier", "named": true }, { "type": "method_call", "named": true }, { "type": "number", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "string", "named": true }, { "type": "tensor_expression", "named": true }, { "type": "tuple_expression", "named": true }, { "type": "type_expression", "named": true }, { "type": "underscore", "named": true }, { "type": "unit_literal", "named": true }, { "type": "variable_declaration", "named": true } ] } }, { "type": "tuple_type", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "function_type", "named": true }, { "type": "hole_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "type_identifier", "named": true }, { "type": "unit_type", "named": true }, { "type": "var", "named": true } ] } }, { "type": "tuple_type_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "type_expression", "named": true } ] } }, { "type": "type_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "parenthesized_type_expression", "named": true }, { "type": "primitive_type", "named": true }, { "type": "tensor_type_expression", "named": true }, { "type": "tuple_type_expression", "named": true }, { "type": "var", "named": true } ] } }, { "type": "type_identifier", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "type_identifier", "named": true } ] } }, { "type": "type_variables_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "type_identifier", "named": true }