This is a toy example of a verified compiler. It starts from a "high-level" language of natural numbers, Booleans, conditional statements, and conjunction. The compilation target is a stack machine over natural numbers with instructions for pushing constants, performing conjunction, as well as conditional and unconditional jumps forward. The compiler performs a restricted form of constant folding on the high-level language before lowering terms to stack machine programs. We show that the compiler is semantics preserving by proving that evaluation of high-level terms produces an equivalent result to executing the corresponding stack machine.
-
Notifications
You must be signed in to change notification settings - Fork 0
marcusrossel/verified-compiler
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
A toy example of a verified compiler.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published