Go to file
Enrico Lumetti 7b8ea0b6f4 Port c2 to rvar 2021-10-21 13:15:37 +02:00
.editorconfig Implement and test explicate-control 2021-05-01 00:08:46 +02:00
LICENSE License 2020-05-28 11:35:01 +02:00
README.md Fix link in README 2021-05-05 01:01:02 +02:00
aarch64-hello.s Experiments with aarch64 stack 2021-05-06 16:53:18 +02:00
c1.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
explicate-control.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
remove-complex-oper.rkt Avoid having (read) as an atom in Cvar language 2021-05-05 20:55:00 +02:00
rint.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
runtime.s Experiments with aarch64 stack 2021-05-06 16:53:18 +02:00
rvar.rkt Port c2 to rvar 2021-10-21 13:15:37 +02:00
select-instructions.rkt Add select-instructions pass 2021-05-05 20:55:32 +02:00
test-aarch64-run.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
test-explicate-control.rkt Avoid having (read) as an atom in Cvar language 2021-05-05 20:55:00 +02:00
test-remove-complex-opera.rkt Avoid having (read) as an atom in Cvar language 2021-05-05 20:55:00 +02:00
test-rint.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
test-rvar.rkt Port c2 to rvar 2021-10-21 13:15:37 +02:00
test-select-instructions.rkt Add select-instructions pass 2021-05-05 20:55:32 +02:00
test-uncover-locals.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
test-uniquify.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
test-util.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
uncover-locals.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
uniquify.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00

README.md

Essentials of Compilation

Tracking the Essentials of Compilation course, with my own solutions and code here and there. Requires racket.

The compiler emits aarch64 assembly; I use the aarch64 linux cross-compiler and qemu to run them.