source: src/Tests/SynTree/Expected/Forall.tst @ 5f2f2d7

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 5f2f2d7 was 5f2f2d7, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

fix constant types, remove unnecessary string copying, work on regression testing, fix several memory leaks

  • Property mode set to 100644
File size: 8.7 KB
Line 
1f: typedef for pointer to forall
2      T: type
3        with assertions
4          ?=?: function
5              with parameters
6                pointer to instance of type T (not function type)
7                instance of type T (not function type)
8              returning
9                instance of type T (not function type)
10
11
12    function
13    with parameters
14      signed int
15    returning
16      signed int
17
18swap: forall
19      T: type
20        with assertions
21          ?=?: function
22              with parameters
23                pointer to instance of type T (not function type)
24                instance of type T (not function type)
25              returning
26                instance of type T (not function type)
27
28
29    function
30    with parameters
31      left: instance of type T (not function type)
32      right: instance of type T (not function type)
33    returning
34      void
35    with body
36      CompoundStmt
37        Declaration of temp: instance of type T (not function type) with initializer
38          Simple Initializer:             Name: left
39
40                  Expression Statement:
41            Applying untyped:
42                Name: ?=?
43            ...to:
44                Address of:
45                  Name: left
46                Name: right
47
48                  Expression Statement:
49            Applying untyped:
50                Name: ?=?
51            ...to:
52                Address of:
53                  Name: right
54                Name: temp
55
56
57context sumable
58    with parameters
59      T: type
60
61    with members
62      0: const instance of type T (not function type)
63      ?+?: function
64          with parameters
65            instance of type T (not function type)
66            instance of type T (not function type)
67          returning
68            instance of type T (not function type)
69
70      ?++: function
71          with parameters
72            instance of type T (not function type)
73          returning
74            instance of type T (not function type)
75
76      ?+=?: function
77          with parameters
78            instance of type T (not function type)
79            instance of type T (not function type)
80          returning
81            instance of type T (not function type)
82
83
84T1: type
85  with assertions
86    0: const instance of type T1 (not function type)
87    ?+?: function
88        with parameters
89          instance of type T1 (not function type)
90          instance of type T1 (not function type)
91        returning
92          instance of type T1 (not function type)
93
94    ?++: function
95        with parameters
96          instance of type T1 (not function type)
97        returning
98          instance of type T1 (not function type)
99
100    ?+=?: function
101        with parameters
102          instance of type T1 (not function type)
103          instance of type T1 (not function type)
104        returning
105          instance of type T1 (not function type)
106
107
108T2: type
109  with parameters
110    P1: type
111    P2: type
112
113T3: type
114  with assertions
115    instance of context sumable
116      with parameters
117        instance of type T3 (not function type)
118
119
120struct __anonymous0
121    with members
122      i: instance of type P1 (not function type)
123      j: instance of type P2 (not function type)
124
125T2: type for instance of struct __anonymous0
126  with parameters
127    P1: type
128    P2: type
129
130  with assertions
131    instance of context sumable
132      with parameters
133        instance of type T2 (not function type)
134          with parameters
135            instance of type P1 (not function type)
136            instance of type P2 (not function type)
137
138
139
140w1: instance of type T2 (not function type)
141  with parameters
142    signed int
143    signed int
144
145w2: typedef for instance of type T2 (not function type)
146  with parameters
147    signed int
148    signed int
149
150g2: instance of type w2 (not function type)
151w3: type for instance of type T2 (not function type)
152  with parameters
153    signed int
154    signed int
155
156g3: instance of type w3 (not function type)
157sum: forall
158      T: type
159        with assertions
160          ?=?: function
161              with parameters
162                pointer to instance of type T (not function type)
163                instance of type T (not function type)
164              returning
165                instance of type T (not function type)
166
167          instance of context sumable
168            with parameters
169              instance of type T (not function type)
170
171
172    function
173    with parameters
174      n: signed int
175      a: open array of instance of type T (not function type)
176    returning
177      instance of type T (not function type)
178    with body
179      CompoundStmt
180        Declaration of total: instance of type T (not function type) with initializer
181          Simple Initializer:             Name: 0
182
183        Declaration of i: signed int
184                  Labels: {}
185          For Statement
186            initialization:
187              Expression Statement:
188                Applying untyped:
189                    Name: ?=?
190                ...to:
191                    Address of:
192                      Name: i
193                    Name: 0
194
195            condition:
196              Cast of:
197                Applying untyped:
198                    Name: ?!=?
199                ...to:
200                    Applying untyped:
201                        Name: ?<?
202                    ...to:
203                        Name: i
204                        Name: n
205                    Name: 0
206
207              to:
208                signed int
209
210            increment:
211              Applying untyped:
212                  Name: ?+=?
213              ...to:
214                  Address of:
215                    Name: i
216                  Name: 1
217
218            statement block:
219              Expression Statement:
220                Applying untyped:
221                    Name: ?=?
222                ...to:
223                    Address of:
224                      Name: total
225                    Applying untyped:
226                        Name: ?+?
227                    ...to:
228                        Name: total
229                        Applying untyped:
230                            Name: ?[?]
231                        ...to:
232                            Name: a
233                            Name: i
234
235
236                  Return Statement, returning: Name: total
237
238
239
240twice: forall
241      T: type
242        with assertions
243          ?=?: function
244              with parameters
245                pointer to instance of type T (not function type)
246                instance of type T (not function type)
247              returning
248                instance of type T (not function type)
249
250          0: const instance of type T (not function type)
251          ?+?: function
252              with parameters
253                instance of type T (not function type)
254                instance of type T (not function type)
255              returning
256                instance of type T (not function type)
257
258          ?++: function
259              with parameters
260                instance of type T (not function type)
261              returning
262                instance of type T (not function type)
263
264          ?+=?: function
265              with parameters
266                instance of type T (not function type)
267                instance of type T (not function type)
268              returning
269                instance of type T (not function type)
270
271
272    function
273    with parameters
274      t: instance of type T (not function type)
275    returning
276      instance of type T (not function type)
277    with body
278      CompoundStmt
279                  Return Statement, returning: Applying untyped:
280    Name: ?+?
281...to:
282    Name: t
283    Name: t
284
285
286
287main: C function
288      accepting unspecified arguments
289    returning
290      signed int
291    with body
292      CompoundStmt
293        Declaration of x: signed int with initializer
294          Simple Initializer:             Name: 1
295
296        Declaration of y: signed int with initializer
297          Simple Initializer: constant expression 2 signed int
298        Declaration of a: array of signed int with dimension of constant expression 10 signed int
299        Declaration of f: float
300                  Expression Statement:
301            Applying untyped:
302                Name: swap
303            ...to:
304                Name: x
305                Name: y
306
307                  Expression Statement:
308            Applying untyped:
309                Name: twice
310            ...to:
311                Name: x
312                Name: y
313
314                  Expression Statement:
315            Applying untyped:
316                Name: ?=?
317            ...to:
318                Address of:
319                  Name: f
320                Applying untyped:
321                    Name: min
322                ...to:
323constant expression 4.0 double constant expression 3.0 double
324                  Expression Statement:
325            Applying untyped:
326                Name: sum
327            ...to:
328constant expression 10 signed int                 Name: a
329
330
Note: See TracBrowser for help on using the repository browser.