mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
samples: add Terra samples
source: https://github.com/zdevito/terra/tree/master/tests
This commit is contained in:
45
samples/Terra/objtest.t
Normal file
45
samples/Terra/objtest.t
Normal file
@@ -0,0 +1,45 @@
|
||||
C = terralib.includec("stdio.h")
|
||||
--the zero line
|
||||
struct A { a : int }
|
||||
|
||||
terra A:foo1()
|
||||
self.a = self.a + 1
|
||||
return self.a
|
||||
end
|
||||
|
||||
terra A.methods.foo2(self : &A)
|
||||
self.a = self.a + 1
|
||||
return self.a
|
||||
end
|
||||
|
||||
terra A.methods.foo3(self : A)
|
||||
self.a = self.a + 1
|
||||
return self.a
|
||||
end
|
||||
|
||||
terra bar()
|
||||
var a = A { 0 }
|
||||
var ptra = &a
|
||||
|
||||
var v0 = a.a
|
||||
var v1 = a:foo1()
|
||||
var v2 = a.a
|
||||
var v3 = a:foo2()
|
||||
var v4 = a.a
|
||||
var v5 = a:foo3()
|
||||
var v6 = a.a
|
||||
|
||||
ptra.a = 0
|
||||
var p0 = ptra.a
|
||||
var p1 = ptra:foo1()
|
||||
var p2 = ptra.a
|
||||
var p3 = ptra:foo2()
|
||||
var p4 = ptra.a
|
||||
var p5 = ptra:foo3()
|
||||
var p6 = ptra.a
|
||||
|
||||
return v0,v1,v2,v3,v4,v5,v6,p0,p1,p2,p3,p4,p5,p6
|
||||
end
|
||||
|
||||
test = require("test")
|
||||
test.meq({0,1,1,2,2,3,2,0,1,1,2,2,3,2},bar())
|
||||
Reference in New Issue
Block a user