summaryrefslogtreecommitdiff
path: root/tnslc/simpler.tnsl
diff options
context:
space:
mode:
Diffstat (limited to 'tnslc/simpler.tnsl')
-rw-r--r--tnslc/simpler.tnsl39
1 files changed, 39 insertions, 0 deletions
diff --git a/tnslc/simpler.tnsl b/tnslc/simpler.tnsl
new file mode 100644
index 0000000..847e316
--- /dev/null
+++ b/tnslc/simpler.tnsl
@@ -0,0 +1,39 @@
+
+{}uint8 str1 = "abcd"
+{}uint8 str2 = "abcd"
+
+/; method Test
+ /; mamba [int]
+ return 1
+ ;/
+
+ /; wamba [int]
+ return self.i + self.j + self.mamba()
+ ;/
+;/
+
+struct Test {
+ int i, j, k
+}
+
+/; main (int argc, ~~uint argv) [int]
+ # On windows, the first two arguments are passed in RCX and RDX, so we need to
+ # update their positions here or else tnsl will have garbage values in r8 and r9
+ asm "mov r8, rcx"
+ asm "mov r9, rdx"
+
+ # If on linux, you would use rdi and rsi instead of rcx and rdx, respectively
+ # simply comment out the bove asm, and uncomment the below lines
+ # asm "mov r8, rdi"
+ # asm "mov r9, rsi"
+
+
+ /; if (argc > 8)
+ argc = 90
+ ;/
+
+
+ # return 3
+ return str1{1}
+;/
+