diff options
Diffstat (limited to 'output/ex41.vapor')
-rw-r--r-- | output/ex41.vapor | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/output/ex41.vapor b/output/ex41.vapor new file mode 100644 index 0000000..e1ce5bd --- /dev/null +++ b/output/ex41.vapor @@ -0,0 +1,54 @@ +func Main() + t.4 = HeapAllocZ(4) + [t.4+0] = :functable_A + t.3 = t.4 + t.3 = t.3 + t.6 = [t.3+0] + t.7 = [t.6+0] + t.5 = call t.7(t.3 ) + t.8 = t.5 + PrintIntS(t.8) + ret + +const functable_A + :A_foo + +func A_foo(this ) + t.0 = 0 + t.1 = 0 +while5_test: + t.3 = t.0 + t.4 = 10 + t.2 = LtS(t.3 t.4) + t.5 = t.2 + if0 t.5 goto :while5_end +while5_body: +while10_test: + t.7 = t.1 + t.8 = 100 + t.6 = LtS(t.7 t.8) + t.9 = t.6 + if0 t.9 goto :while10_end +while10_body: + t.11 = t.1 + t.12 = 1 + t.10 = Add(t.11 t.12) + t.1 = t.10 + goto :while10_test +while10_end: + t.14 = t.0 + t.15 = 1 + t.13 = Add(t.14 t.15) + t.0 = t.13 + goto :while5_test +while5_end: + t.16 = t.1 + ret t.16 + +func AllocArray(size) + bytes = MulS(size 4) + bytes = Add(bytes 4) + v = HeapAllocZ(bytes) + [v] = size + ret v + |