A simple compiler that translates Lisp-like expressions into ARM64 assembly code.
Takes basic Lisp syntax and spits out ARM64 assembly. Currently handles:
- Basic arithmetic (
(+ 10 5)
) - Variable definitions (
(define x 42)
) - Lambda functions (
(lambda (x) (* x x))
) - Conditionals (
(if (> 8 3) 42 0)
) - Recursive functions (fibonacci example included)
make
./compiler
This generates several .s
assembly files demonstrating different language features.
make clean
That's it. Pretty straightforward for a compiler project.