diff options
Diffstat (limited to 'users/glittershark/achilles/ach')
-rw-r--r-- | users/glittershark/achilles/ach/.gitignore | 5 | ||||
-rw-r--r-- | users/glittershark/achilles/ach/Makefile | 15 | ||||
-rw-r--r-- | users/glittershark/achilles/ach/functions.ach | 3 | ||||
-rw-r--r-- | users/glittershark/achilles/ach/simple.ach | 1 |
4 files changed, 24 insertions, 0 deletions
diff --git a/users/glittershark/achilles/ach/.gitignore b/users/glittershark/achilles/ach/.gitignore new file mode 100644 index 000000000000..683a53a01f6c --- /dev/null +++ b/users/glittershark/achilles/ach/.gitignore @@ -0,0 +1,5 @@ +*.ll +*.o + +functions +simple diff --git a/users/glittershark/achilles/ach/Makefile b/users/glittershark/achilles/ach/Makefile new file mode 100644 index 000000000000..3a8cd2865e87 --- /dev/null +++ b/users/glittershark/achilles/ach/Makefile @@ -0,0 +1,15 @@ +default: simple + +%.ll: %.ach + cargo run -- compile $< -o $@ -f llvm + +%.o: %.ll + llc $< -o $@ -filetype=obj + +%: %.o + clang $< -o $@ + +.PHONY: clean + +clean: + @rm -f *.ll *.o simple functions diff --git a/users/glittershark/achilles/ach/functions.ach b/users/glittershark/achilles/ach/functions.ach new file mode 100644 index 000000000000..0d2f07eff574 --- /dev/null +++ b/users/glittershark/achilles/ach/functions.ach @@ -0,0 +1,3 @@ +fn id x = x +fn plus (x: int) (y: int) = x + y +fn main = plus (id 2) 7 diff --git a/users/glittershark/achilles/ach/simple.ach b/users/glittershark/achilles/ach/simple.ach new file mode 100644 index 000000000000..20f1677235c0 --- /dev/null +++ b/users/glittershark/achilles/ach/simple.ach @@ -0,0 +1 @@ +fn main = let x = 2; y = 3 in x + y |