Go to file
Enrico Lumetti cadcd25dbd Fix comment 2022-08-10 23:44:20 +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
cvar-to-bril.rkt Add CVar to bril translation 2022-05-01 22:56:35 +02:00
cvar.rkt Introduce different remove-complex-opera* pass 2022-05-01 22:46:36 +02:00
explicate-control.rkt Rewrite explicate-control 2022-05-01 16:09:35 +02:00
remove-complex-oper.rkt Fix comment 2022-08-10 23:44:20 +02:00
rint.rkt Fix subtraction, convert tests to rackunit 2022-08-10 23:28:09 +02:00
runtime.s Experiments with aarch64 stack 2021-05-06 16:53:18 +02:00
rvar.rkt Fix rvar subtraction, convert tests to rackunit 2022-08-10 23:33:20 +02:00
test-aarch64-run.rkt Rename scm to rkt 2021-05-05 00:46:51 +02:00
test-cvar-to-bril.rkt Convert test-rint to rackunit 2022-08-05 16:25:57 +02:00
test-cvar.rkt Convert test-cvar.rkt tests to rackunit, test for subtraction 2022-08-10 23:33:51 +02:00
test-explicate-control.rkt Introduce different remove-complex-opera* pass 2022-05-01 22:46:36 +02:00
test-remove-complex-opera.rkt Introduce different remove-complex-opera* pass 2022-05-01 22:46:36 +02:00
test-rint.rkt Fix subtraction, convert tests to rackunit 2022-08-10 23:28:09 +02:00
test-rvar.rkt Fix rvar subtraction, convert tests to rackunit 2022-08-10 23:33:20 +02:00
test-uniquify.rkt Convert remove-complex-opera* to new data structures 2022-04-30 18:01:54 +02:00
test-util.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
uniquify.rkt Port uniquify to new structures 2021-11-14 12:20:08 +01: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.