samples: add Terra samples

source: https://github.com/zdevito/terra/tree/master/tests
This commit is contained in:
Bayu Aldi Yansyah
2016-01-28 11:22:27 +07:00
parent e32a837fb2
commit 9b8b39f444
370 changed files with 11921 additions and 0 deletions

36
samples/Terra/class3.t Normal file
View File

@@ -0,0 +1,36 @@
C = terralib.includec("stdio.h")
local Class = require("lib/javalike")
local Prints = Class.interface { print = {} -> {} }
struct Leaf {
data : int
}
Class.implements(Leaf,Prints)
terra Leaf:print() : {}
C.printf("%d\n",self.data)
end
struct Node {
next : &Leaf
}
Class.extends(Node,Leaf)
terra Node:print() : {}
C.printf("%d\n",self.data)
self.next:print()
end
terra test()
var a,b = Leaf.alloc(), Node.alloc()
a.data,b.data,b.next = 1,2,a
var p : &Prints = b
p:print()
end
test()