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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
parse/0: instruction: 33
parse/0: ingredient: {name: "location", value: 0, type: 0, properties: ["location": "type"]}
parse/0: ingredient: {name: "30", value: 0, type: 0, properties: ["30": "literal"]}
parse/0: product: {name: "default-space", value: 0, type: 2-0, properties: ["default-space": "address":"space"]}
parse/0: instruction: 100
parse/0: ingredient: {name: "3", value: 0, type: 0, properties: ["3": "literal"]}
parse/0: product: {name: "x", value: 0, type: 2-9, properties: ["x": "address":"buffer"]}
parse/0: instruction: 19
parse/0: ingredient: {name: "x", value: 0, type: 2-9, properties: ["x": "address":"buffer", "deref": ]}
parse/0: ingredient: {name: "data", value: 0, type: 0, properties: ["data": "offset"]}
parse/0: product: {name: "s1", value: 0, type: 2-5-4, properties: ["s1": "address":"array":"character"]}
parse/0: instruction: 23
parse/0: ingredient: {name: "s1", value: 0, type: 2-5-4, properties: ["s1": "address":"array":"character", "deref": ]}
parse/0: product: {name: "len1", value: 0, type: 1, properties: ["len1": "integer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "len1", value: 0, type: 1, properties: ["len1": "integer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: " ", value: 0, type: 0, properties: [" ": "literal-string"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "x", value: 0, type: 2-9, properties: ["x": "address":"buffer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "
", value: 0, type: 0, properties: ["
": "literal-string"]}
parse/0: instruction: 100
parse/0: ingredient: {name: "4", value: 0, type: 0, properties: ["4": "literal"]}
parse/0: product: {name: "y", value: 0, type: 2-9, properties: ["y": "address":"buffer"]}
parse/0: instruction: 19
parse/0: ingredient: {name: "y", value: 0, type: 2-9, properties: ["y": "address":"buffer", "deref": ]}
parse/0: ingredient: {name: "data", value: 0, type: 0, properties: ["data": "offset"]}
parse/0: product: {name: "s2", value: 0, type: 2-5-4, properties: ["s2": "address":"array":"character"]}
parse/0: instruction: 23
parse/0: ingredient: {name: "s2", value: 0, type: 2-5-4, properties: ["s2": "address":"array":"character", "deref": ]}
parse/0: product: {name: "len2", value: 0, type: 1, properties: ["len2": "integer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "len2", value: 0, type: 1, properties: ["len2": "integer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: " ", value: 0, type: 0, properties: [" ": "literal-string"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "y", value: 0, type: 2-9, properties: ["y": "address":"buffer"]}
parse/0: instruction: 99
parse/0: ingredient: {name: "
", value: 0, type: 0, properties: ["
": "literal-string"]}
parse/0: instruction: 3
parse/0: ingredient: {name: "y", value: 0, type: 2-9, properties: ["y": "address":"buffer"]}
parse/0: ingredient: {name: "x", value: 0, type: 2-9, properties: ["x": "address":"buffer"]}
parse/0: product: {name: "1", value: 0, type: 1, properties: ["1": "integer", "raw": ]}
new/0: location -> 1
name/0: assign x 1
name/0: element data of type buffer is at offset 1
name/0: assign s1 2
name/0: assign len1 3
name/0: assign y 4
name/0: element data of type buffer is at offset 1
name/0: assign s2 5
name/0: assign len2 6
after-brace/0: recipe test-init-buffer-allocates
after-brace/0: new ...
after-brace/0: init-buffer ...
after-brace/0: get ...
after-brace/0: length ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: init-buffer ...
after-brace/0: get ...
after-brace/0: length ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: $print ...
after-brace/0: subtract ...
run/0: instruction test-init-buffer-allocates/0
mem/0: new alloc: 1000
mem/0: array size is 30
run/0: instruction test-init-buffer-allocates/1
run/0: instruction init-buffer/0
mem/0: new alloc: 1030
mem/0: array size is 30
run/0: instruction init-buffer/1
mem/0: new alloc: 1060
mem/0: storing 1060 in location 1032
run/0: instruction init-buffer/2
run/0: ingredient 0 is result
mem/0: location 1032 is 1060
run/0: ingredient 1 is length
run/0: address to copy is 1060
run/0: product 0 is 1060
mem/0: storing 1060 in location 1033
run/0: instruction init-buffer/3
run/0: ingredient 0 is 0
mem/0: location 1033 is 1060
mem/0: storing 0 in location 1060
run/0: instruction init-buffer/4
run/0: ingredient 0 is result
mem/0: location 1032 is 1060
run/0: ingredient 1 is data
run/0: address to copy is 1061
run/0: product 0 is 1061
mem/0: storing 1061 in location 1034
run/0: instruction init-buffer/5
run/0: product 0 is 3
mem/0: storing 3 in location 1035
run/0: instruction init-buffer/6
mem/0: new alloc: 1062
mem/0: location 1034 is 1061
mem/0: storing 1062 in location 1061
mem/0: location 1035 is 3
mem/0: array size is 3
run/0: instruction init-buffer/7
mem/0: location 1032 is 1060
run/0: result 0 is 1060
mem/0: storing 1060 in location 1002
run/0: instruction test-init-buffer-allocates/2
run/0: ingredient 0 is x
mem/0: location 1002 is 1060
run/0: ingredient 1 is data
run/0: address to copy is 1061
run/0: its type is 2
mem/0: location 2062 is 0
run/0: product 0 is 0
mem/0: storing 0 in location 1003
run/0: instruction test-init-buffer-allocates/3
mem/0: location 1003 is 0
mem/0: storing 0 in location 1004
run/0: instruction test-init-buffer-allocates/4
mem/0: location 1004 is 0
run/0: $print: 0
run/0: instruction test-init-buffer-allocates/5
run/0: $print:
run/0: instruction test-init-buffer-allocates/6
mem/0: location 1002 is 1060
run/0: $print: 1060
run/0: instruction test-init-buffer-allocates/7
run/0: $print:
run/0: instruction test-init-buffer-allocates/8
run/0: instruction init-buffer/0
mem/0: new alloc: 1065
mem/0: array size is 30
run/0: instruction init-buffer/1
mem/0: new alloc: 1095
mem/0: storing 1095 in location 1067
run/0: instruction init-buffer/2
run/0: ingredient 0 is result
mem/0: location 1067 is 1095
run/0: ingredient 1 is length
run/0: address to copy is 1095
run/0: product 0 is 1095
mem/0: storing 1095 in location 1068
run/0: instruction init-buffer/3
run/0: ingredient 0 is 0
mem/0: location 1068 is 1095
mem/0: storing 0 in location 1095
run/0: instruction init-buffer/4
run/0: ingredient 0 is result
mem/0: location 1067 is 1095
run/0: ingredient 1 is data
run/0: address to copy is 1096
run/0: product 0 is 1096
mem/0: storing 1096 in location 1069
run/0: instruction init-buffer/5
run/0: product 0 is 4
mem/0: storing 4 in location 1070
run/0: instruction init-buffer/6
mem/0: new alloc: 1097
mem/0: location 1069 is 1096
mem/0: storing 1097 in location 1096
mem/0: location 1070 is 4
mem/0: array size is 4
run/0: instruction init-buffer/7
mem/0: location 1067 is 1095
run/0: result 0 is 1095
mem/0: storing 1095 in location 1005
run/0: instruction test-init-buffer-allocates/9
run/0: ingredient 0 is y
mem/0: location 1005 is 1095
run/0: ingredient 1 is data
run/0: address to copy is 1096
run/0: its type is 2
mem/0: location 2097 is 0
run/0: product 0 is 0
mem/0: storing 0 in location 1006
run/0: instruction test-init-buffer-allocates/10
mem/0: location 1006 is 0
mem/0: storing 0 in location 1007
run/0: instruction test-init-buffer-allocates/11
mem/0: location 1007 is 0
run/0: $print: 0
run/0: instruction test-init-buffer-allocates/12
run/0: $print:
run/0: instruction test-init-buffer-allocates/13
mem/0: location 1005 is 1095
run/0: $print: 1095
run/0: instruction test-init-buffer-allocates/14
run/0: $print:
run/0: instruction test-init-buffer-allocates/15
run/0: ingredient 0 is y
mem/0: location 1005 is 1095
run/0: ingredient 1 is x
mem/0: location 1002 is 1060
run/0: product 0 is 35
mem/0: storing 35 in location 1
|