blob: 55f5a1ab06670c599e3f0c896e8f6f43913d17a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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)))))))
|