summaryrefslogtreecommitdiff
path: root/vaporize/tests/LinkedList.vaporm
diff options
context:
space:
mode:
Diffstat (limited to 'vaporize/tests/LinkedList.vaporm')
-rw-r--r--vaporize/tests/LinkedList.vaporm698
1 files changed, 0 insertions, 698 deletions
diff --git a/vaporize/tests/LinkedList.vaporm b/vaporize/tests/LinkedList.vaporm
deleted file mode 100644
index 80c3a99..0000000
--- a/vaporize/tests/LinkedList.vaporm
+++ /dev/null
@@ -1,698 +0,0 @@
-const vmt_Element
- :Element.Init
- :Element.GetAge
- :Element.GetSalary
- :Element.GetMarried
- :Element.Equal
- :Element.Compare
-
-const vmt_List
- :List.Init
- :List.InitNew
- :List.Insert
- :List.SetNext
- :List.Delete
- :List.Search
- :List.GetEnd
- :List.GetElem
- :List.GetNext
- :List.Print
-
-const vmt_LL
- :LL.Start
-
-func Main [in 0, out 0, local 0]
- $t0 = HeapAllocZ(4)
- [$t0] = :vmt_LL
- if $t0 goto :null1
- Error("null pointer")
-null1:
- $t1 = [$t0]
- $t1 = [$t1]
- $a0 = $t0
- call $t1
- $t1 = $v0
- PrintIntS($t1)
- ret
-
-func Element.Init [in 0, out 0, local 0]
- $t0 = $a0
- $t1 = $a1
- $t2 = $a2
- $t3 = $a3
- [$t0+4] = $t1
- [$t0+8] = $t2
- [$t0+12] = $t3
- $v0 = 1
- ret
-
-func Element.GetAge [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+4]
- $v0 = $t0
- ret
-
-func Element.GetSalary [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+8]
- $v0 = $t0
- ret
-
-func Element.GetMarried [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+12]
- $v0 = $t0
- ret
-
-func Element.Equal [in 0, out 0, local 3]
- local[0] = $s0
- local[1] = $s1
- local[2] = $s2
- $s0 = $a0
- $s1 = $a1
- $s2 = 1
- if $s1 goto :null2
- Error("null pointer")
-null2:
- $t0 = [$s1]
- $t0 = [$t0+4]
- $a0 = $s1
- call $t0
- $t0 = $v0
- $t1 = [$s0]
- $t1 = [$t1+20]
- $t2 = [$s0+4]
- $a0 = $s0
- $a1 = $t0
- $a2 = $t2
- call $t1
- $t2 = $v0
- $t2 = Sub(1 $t2)
- if0 $t2 goto :if1_else
- $s2 = 0
- goto :if1_end
-if1_else:
- if $s1 goto :null3
- Error("null pointer")
-null3:
- $t2 = [$s1]
- $t2 = [$t2+8]
- $a0 = $s1
- call $t2
- $t2 = $v0
- $t1 = [$s0]
- $t1 = [$t1+20]
- $t0 = [$s0+8]
- $a0 = $s0
- $a1 = $t2
- $a2 = $t0
- call $t1
- $t0 = $v0
- $t0 = Sub(1 $t0)
- if0 $t0 goto :if2_else
- $s2 = 0
- goto :if2_end
-if2_else:
- $t0 = [$s0+12]
- if0 $t0 goto :if3_else
- if $s1 goto :null4
- Error("null pointer")
-null4:
- $t0 = [$s1]
- $t0 = [$t0+12]
- $a0 = $s1
- call $t0
- $t0 = $v0
- $t0 = Sub(1 $t0)
- if0 $t0 goto :if4_else
- $s2 = 0
- goto :if4_end
-if4_else:
-if4_end:
- goto :if3_end
-if3_else:
- if $s1 goto :null5
- Error("null pointer")
-null5:
- $t0 = [$s1]
- $t0 = [$t0+12]
- $a0 = $s1
- call $t0
- $t0 = $v0
- if0 $t0 goto :if5_else
- $s2 = 0
- goto :if5_end
-if5_else:
-if5_end:
-if3_end:
-if2_end:
-if1_end:
- $v0 = $s2
- $s0 = local[0]
- $s1 = local[1]
- $s2 = local[2]
- ret
-
-func Element.Compare [in 0, out 0, local 0]
- $t0 = $a1
- $t1 = $a2
- $t2 = Add($t1 1)
- $t1 = LtS($t0 $t1)
- if0 $t1 goto :if6_else
- $t1 = 0
- goto :if6_end
-if6_else:
- $t2 = LtS($t0 $t2)
- $t2 = Sub(1 $t2)
- if0 $t2 goto :if7_else
- $t1 = 0
- goto :if7_end
-if7_else:
- $t1 = 1
-if7_end:
-if6_end:
- $v0 = $t1
- ret
-
-func List.Init [in 0, out 0, local 0]
- $t0 = $a0
- [$t0+12] = 1
- $v0 = 1
- ret
-
-func List.InitNew [in 0, out 0, local 0]
- $t0 = $a0
- $t1 = $a1
- $t2 = $a2
- $t3 = $a3
- [$t0+12] = $t3
- [$t0+4] = $t1
- [$t0+8] = $t2
- $v0 = 1
- ret
-
-func List.Insert [in 0, out 0, local 1]
- local[0] = $s0
- $t0 = $a0
- $t1 = $a1
- $t0 = $t0
- $t2 = HeapAllocZ(16)
- [$t2] = :vmt_List
- $s0 = $t2
- if $s0 goto :null6
- Error("null pointer")
-null6:
- $t2 = [$s0]
- $t2 = [$t2+4]
- $a0 = $s0
- $a1 = $t1
- $a2 = $t0
- $a3 = 0
- call $t2
- $v0 = $s0
- $s0 = local[0]
- ret
-
-func List.SetNext [in 0, out 0, local 0]
- $t0 = $a0
- $t1 = $a1
- [$t0+8] = $t1
- $v0 = 1
- ret
-
-func List.Delete [in 0, out 0, local 9]
- local[1] = $s0
- local[2] = $s1
- local[3] = $s2
- local[4] = $s3
- local[5] = $s4
- local[6] = $s5
- local[7] = $s6
- local[8] = $s7
- $t0 = $a0
- $s0 = $a1
- $s1 = $t0
- $s2 = 0
- $s3 = Sub(0 1)
- $s4 = $t0
- $s5 = $t0
- $s6 = [$t0+12]
- $s7 = [$t0+4]
-while1_top:
- $t0 = Sub(1 $s6)
- if0 $t0 goto :ss1_else
- $t0 = Sub(1 $s2)
- goto :ss1_end
-ss1_else:
- $t0 = 0
-ss1_end:
- if0 $t0 goto :while1_end
- if $s0 goto :null7
- Error("null pointer")
-null7:
- $t0 = [$s0]
- $t0 = [$t0+16]
- $a0 = $s0
- $a1 = $s7
- call $t0
- $t0 = $v0
- if0 $t0 goto :if8_else
- $s2 = 1
- $t0 = LtS($s3 0)
- if0 $t0 goto :if9_else
- if $s4 goto :null8
- Error("null pointer")
-null8:
- $t0 = [$s4]
- $t0 = [$t0+32]
- $a0 = $s4
- call $t0
- $s1 = $v0
- goto :if9_end
-if9_else:
- $t0 = Sub(0 555)
- PrintIntS($t0)
- if $s5 goto :null9
- Error("null pointer")
-null9:
- $v0 = [$s5]
- local[0] = $v0
- $v0 = local[0]
- $v0 = [$v0+12]
- local[0] = $v0
- if $s4 goto :null10
- Error("null pointer")
-null10:
- $t0 = [$s4]
- $t0 = [$t0+32]
- $a0 = $s4
- call $t0
- $t0 = $v0
- $a0 = $s5
- $a1 = $t0
- $v0 = local[0]
- call $v0
- $t0 = Sub(0 555)
- PrintIntS($t0)
-if9_end:
- goto :if8_end
-if8_else:
-if8_end:
- $t0 = Sub(1 $s2)
- if0 $t0 goto :if10_else
- $s5 = $s4
- if $s4 goto :null11
- Error("null pointer")
-null11:
- $t0 = [$s4]
- $t0 = [$t0+32]
- $a0 = $s4
- call $t0
- $s4 = $v0
- if $s4 goto :null12
- Error("null pointer")
-null12:
- $t0 = [$s4]
- $t0 = [$t0+24]
- $a0 = $s4
- call $t0
- $s6 = $v0
- if $s4 goto :null13
- Error("null pointer")
-null13:
- $t0 = [$s4]
- $t0 = [$t0+28]
- $a0 = $s4
- call $t0
- $s7 = $v0
- $s3 = 1
- goto :if10_end
-if10_else:
-if10_end:
- goto :while1_top
-while1_end:
- $v0 = $s1
- $s0 = local[1]
- $s1 = local[2]
- $s2 = local[3]
- $s3 = local[4]
- $s4 = local[5]
- $s5 = local[6]
- $s6 = local[7]
- $s7 = local[8]
- ret
-
-func List.Search [in 0, out 0, local 4]
- local[0] = $s0
- local[1] = $s1
- local[2] = $s2
- local[3] = $s3
- $t0 = $a0
- $s0 = $a1
- $s1 = 0
- $s2 = $t0
- $s3 = [$t0+12]
- $t0 = [$t0+4]
-while2_top:
- $t1 = Sub(1 $s3)
- if0 $t1 goto :while2_end
- if $s0 goto :null14
- Error("null pointer")
-null14:
- $t1 = [$s0]
- $t1 = [$t1+16]
- $a0 = $s0
- $a1 = $t0
- call $t1
- $t1 = $v0
- if0 $t1 goto :if11_else
- $s1 = 1
- goto :if11_end
-if11_else:
-if11_end:
- if $s2 goto :null15
- Error("null pointer")
-null15:
- $t1 = [$s2]
- $t1 = [$t1+32]
- $a0 = $s2
- call $t1
- $s2 = $v0
- if $s2 goto :null16
- Error("null pointer")
-null16:
- $t1 = [$s2]
- $t1 = [$t1+24]
- $a0 = $s2
- call $t1
- $s3 = $v0
- if $s2 goto :null17
- Error("null pointer")
-null17:
- $t1 = [$s2]
- $t1 = [$t1+28]
- $a0 = $s2
- call $t1
- $t0 = $v0
- goto :while2_top
-while2_end:
- $v0 = $s1
- $s0 = local[0]
- $s1 = local[1]
- $s2 = local[2]
- $s3 = local[3]
- ret
-
-func List.GetEnd [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+12]
- $v0 = $t0
- ret
-
-func List.GetElem [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+4]
- $v0 = $t0
- ret
-
-func List.GetNext [in 0, out 0, local 0]
- $t0 = $a0
- $t0 = [$t0+8]
- $v0 = $t0
- ret
-
-func List.Print [in 0, out 0, local 2]
- local[0] = $s0
- local[1] = $s1
- $t0 = $a0
- $s0 = $t0
- $s1 = [$t0+12]
- $t0 = [$t0+4]
-while3_top:
- $t1 = Sub(1 $s1)
- if0 $t1 goto :while3_end
- if $t0 goto :null18
- Error("null pointer")
-null18:
- $t1 = [$t0]
- $t1 = [$t1+4]
- $a0 = $t0
- call $t1
- $t1 = $v0
- PrintIntS($t1)
- if $s0 goto :null19
- Error("null pointer")
-null19:
- $t1 = [$s0]
- $t1 = [$t1+32]
- $a0 = $s0
- call $t1
- $s0 = $v0
- if $s0 goto :null20
- Error("null pointer")
-null20:
- $t1 = [$s0]
- $t1 = [$t1+24]
- $a0 = $s0
- call $t1
- $s1 = $v0
- if $s0 goto :null21
- Error("null pointer")
-null21:
- $t1 = [$s0]
- $t1 = [$t1+28]
- $a0 = $s0
- call $t1
- $t0 = $v0
- goto :while3_top
-while3_end:
- $v0 = 1
- $s0 = local[0]
- $s1 = local[1]
- ret
-
-func LL.Start [in 0, out 0, local 4]
- local[0] = $s0
- local[1] = $s1
- local[2] = $s2
- local[3] = $s3
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_List
- $s0 = $t0
- if $s0 goto :null22
- Error("null pointer")
-null22:
- $t0 = [$s0]
- $t0 = [$t0]
- $a0 = $s0
- call $t0
- $s0 = $s0
- if $s0 goto :null23
- Error("null pointer")
-null23:
- $t0 = [$s0]
- $t0 = [$t0]
- $a0 = $s0
- call $t0
- if $s0 goto :null24
- Error("null pointer")
-null24:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_Element
- $s1 = $t0
- if $s1 goto :null25
- Error("null pointer")
-null25:
- $t0 = [$s1]
- $t0 = [$t0]
- $a0 = $s1
- $a1 = 25
- $a2 = 37000
- $a3 = 0
- call $t0
- if $s0 goto :null26
- Error("null pointer")
-null26:
- $t0 = [$s0]
- $t0 = [$t0+8]
- $a0 = $s0
- $a1 = $s1
- call $t0
- $s0 = $v0
- if $s0 goto :null27
- Error("null pointer")
-null27:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- PrintIntS(10000000)
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_Element
- $s1 = $t0
- if $s1 goto :null28
- Error("null pointer")
-null28:
- $t0 = [$s1]
- $t0 = [$t0]
- $a0 = $s1
- $a1 = 39
- $a2 = 42000
- $a3 = 1
- call $t0
- $s2 = $s1
- if $s0 goto :null29
- Error("null pointer")
-null29:
- $t0 = [$s0]
- $t0 = [$t0+8]
- $a0 = $s0
- $a1 = $s1
- call $t0
- $s0 = $v0
- if $s0 goto :null30
- Error("null pointer")
-null30:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- PrintIntS(10000000)
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_Element
- $s1 = $t0
- if $s1 goto :null31
- Error("null pointer")
-null31:
- $t0 = [$s1]
- $t0 = [$t0]
- $a0 = $s1
- $a1 = 22
- $a2 = 34000
- $a3 = 0
- call $t0
- if $s0 goto :null32
- Error("null pointer")
-null32:
- $t0 = [$s0]
- $t0 = [$t0+8]
- $a0 = $s0
- $a1 = $s1
- call $t0
- $s0 = $v0
- if $s0 goto :null33
- Error("null pointer")
-null33:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_Element
- $s3 = $t0
- if $s3 goto :null34
- Error("null pointer")
-null34:
- $t0 = [$s3]
- $t0 = [$t0]
- $a0 = $s3
- $a1 = 27
- $a2 = 34000
- $a3 = 0
- call $t0
- if $s0 goto :null35
- Error("null pointer")
-null35:
- $t0 = [$s0]
- $t0 = [$t0+20]
- $a0 = $s0
- $a1 = $s2
- call $t0
- $t0 = $v0
- PrintIntS($t0)
- if $s0 goto :null36
- Error("null pointer")
-null36:
- $t0 = [$s0]
- $t0 = [$t0+20]
- $a0 = $s0
- $a1 = $s3
- call $t0
- $t0 = $v0
- PrintIntS($t0)
- PrintIntS(10000000)
- $t0 = HeapAllocZ(16)
- [$t0] = :vmt_Element
- $s1 = $t0
- if $s1 goto :null37
- Error("null pointer")
-null37:
- $t0 = [$s1]
- $t0 = [$t0]
- $a0 = $s1
- $a1 = 28
- $a2 = 35000
- $a3 = 0
- call $t0
- if $s0 goto :null38
- Error("null pointer")
-null38:
- $t0 = [$s0]
- $t0 = [$t0+8]
- $a0 = $s0
- $a1 = $s1
- call $t0
- $s0 = $v0
- if $s0 goto :null39
- Error("null pointer")
-null39:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- PrintIntS(2220000)
- if $s0 goto :null40
- Error("null pointer")
-null40:
- $t0 = [$s0]
- $t0 = [$t0+16]
- $a0 = $s0
- $a1 = $s2
- call $t0
- $s0 = $v0
- if $s0 goto :null41
- Error("null pointer")
-null41:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- PrintIntS(33300000)
- if $s0 goto :null42
- Error("null pointer")
-null42:
- $t0 = [$s0]
- $t0 = [$t0+16]
- $a0 = $s0
- $a1 = $s1
- call $t0
- $s0 = $v0
- if $s0 goto :null43
- Error("null pointer")
-null43:
- $t0 = [$s0]
- $t0 = [$t0+36]
- $a0 = $s0
- call $t0
- PrintIntS(44440000)
- $v0 = 0
- $s0 = local[0]
- $s1 = local[1]
- $s2 = local[2]
- $s3 = local[3]
- ret
-