Go to file
Enrico Lumetti 3c41cf9876 Add simpler full test 2022-08-15 01:59:11 +02:00
complete-tests Add simpler full test 2022-08-15 01:59:11 +02:00
tests Instruction selection: basic bril->AArch64Var conversion 2022-08-15 01:56:24 +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
aarch64var.rkt Instruction selection: basic bril->AArch64Var conversion 2022-08-15 01:56:24 +02:00
c1.rkt Convert c1 to new EoC data structures 2021-10-05 15:12:14 +02:00
complete-tests.rkt Instruction selection: basic bril->AArch64Var conversion 2022-08-15 01:56:24 +02:00
cvar-to-bril.rkt Fix two-operands subtraction 2022-08-12 23:03:55 +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
print-rvar-to-bril.rkt Add utility to print bril from a CVar program 2022-08-10 23:45:43 +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
run-all-tests.rkt Revamp tests 2022-08-13 23:47:05 +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
select-instr.rkt Instruction selection: basic bril->AArch64Var conversion 2022-08-15 01:56:24 +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.