From a9f6cfb6a8b6d38057faca067c015da1f72cf62d Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Mon, 5 Oct 2026 00:26:05 +0200 Subject: Add a treesitter grammar --- tools/tree-sitter/test/corpus/generic_pointee.txt | 71 +++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tools/tree-sitter/test/corpus/generic_pointee.txt (limited to 'tools/tree-sitter/test/corpus/generic_pointee.txt') diff --git a/tools/tree-sitter/test/corpus/generic_pointee.txt b/tools/tree-sitter/test/corpus/generic_pointee.txt new file mode 100644 index 0000000..55f5a1a --- /dev/null +++ b/tools/tree-sitter/test/corpus/generic_pointee.txt @@ -0,0 +1,71 @@ +================== +generic_pointee +================== + +program() + +type + File = record + fd: Int + end + +proc allocate#[T](size: Word) -> ^T +extern + +var + f: ^File + +begin + f := allocate#[File](#size(File)); + assert(f = nil) +end. + +--- + +(source_file + (program_declaration + (type_section + (type_declaration + (identifier_definition + (identifier)) + (record_type + (field_declaration + (identifier_definition + (identifier)) + (identifier))))) + (procedure_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (parameter_list + (field_declaration + (identifier_definition + (identifier)) + (identifier))) + (pointer_type + (identifier))) + (var_section + (variable_declaration + (identifier_definition + (identifier)) + (pointer_type + (identifier)))) + (assignment_statement + (identifier) + (call_expression + (generic_type + (identifier) + (type_arguments + (identifier))) + (argument_list + (traits_expression + (trait) + (identifier))))) + (call_expression + (identifier) + (argument_list + (binary_expression + (identifier) + (literal + (nil))))))) -- cgit v1.2.3