summaryrefslogtreecommitdiff
path: root/test/goal.felan
diff options
context:
space:
mode:
Diffstat (limited to 'test/goal.felan')
-rw-r--r--test/goal.felan85
1 files changed, 0 insertions, 85 deletions
diff --git a/test/goal.felan b/test/goal.felan
deleted file mode 100644
index 868dac2..0000000
--- a/test/goal.felan
+++ /dev/null
@@ -1,85 +0,0 @@
-void :: struct {};
-
-u64 :: struct {
- _ : value64;
-};
-
-Syscall :: enum {
- READ,
- WRITE,
- OPEN,
- CLOSE,
- EXIT,
-};
-
-StdFile :: enum {
- IN,
- OUT,
- ERR,
-};
-
-syscall :: fasm (
- sysc : Syscall,
- arg0 : u64 = undefined,
- arg1 : u64 = undefined,
- arg2 : u64 = undefined,
- arg3 : u64 = undefined,
- arg4 : u64 = undefined,
- arg5 : u64 = undefined,
- arg6 : u64 = undefined,
-) -> void {
- syscall
-};
-
-operator ltr order2 infix + :: fasm (a : u64, b : u64) -> u64 {
- add_i64
-};
-
-operator ltr order2 infix - :: fasm (a : u64, b : u64) -> u64 {
- sub_i64
-};
-
-operator ltr order3 infix * :: fasm (a : u64, b : u64) -> u64 {
- mul_u64
-};
-
-operator ltr order3 infix / :: fasm (a : u64, b : u64) -> u64 {
- div_u64
-};
-
-operator ltr order3 infix % :: fasm (a : u64, b : u64) -> u64 {
- rem_u64
-};
-
-operator ltr order4 prefix + :: fasm (a : u64) -> u64 {
- // nothing
-};
-
-operator ltr order4 prefix - :: fasm (a : u64, b : u64) -> u64 {
- negu64
-};
-
-operator ltr order5 prefix ** :: (a : u64, b : u64) -> u64 {
- return pow(a,b);
-};
-
-assignToAddr64 :: fasm (addr : value64, b : value64) -> void {
- pop64
-};
-
-// self assign can't be overloaded because of pass to function itself
-operator rtl order1 infix = :: (a : u64, b : value64) -> u64 {
- assignToAddr64(@addressOf(a),b);
- return a;
-};
-
-exit :: (code : u64) -> void {
- syscall(Syscall.EXIT, code);
-};
-
-// a comment
-main :: () -> void {
- a : u64 = 2; // some comment
- exit(a + 4);
-};
-