Skip to content

Files

Latest commit

6b30005 · Mar 8, 2025

History

History

pancake

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 7, 2024
Dec 19, 2024
Oct 22, 2024
Mar 3, 2025
Sep 14, 2021
Feb 25, 2022
Feb 24, 2025
Mar 8, 2025
Dec 10, 2024
Nov 27, 2023
Aug 6, 2024
Aug 6, 2024
Nov 27, 2023
Jul 24, 2024
Nov 27, 2023
Sep 30, 2020
Nov 27, 2023
Aug 29, 2024
Mar 3, 2025
Aug 5, 2020
Mar 6, 2025
Aug 29, 2024
Aug 29, 2024
Mar 4, 2025
May 25, 2023
May 11, 2021
Nov 11, 2020
Sep 14, 2021
Jun 22, 2021
May 14, 2024
Jun 26, 2024

The Pancake compiler, i.e. a C-like compiler built from the lower parts of the CakeML compiler.

NEWS.md: User-facing changes to the Pancake language and compiler are documented here when they are merged into master.

crepLangScript.sml: Abstract syntax of Crepe language Crepe: instrctuons are similar to that of Pancake, but we flatten locals from struct-layout to word-layout

crep_arithScript.sml: Simplification of arithmetic in crepLang.

crep_to_loopScript.sml: Compilation from crepLang to panLang.

ffi: FFI for Pancake

loopLangScript.sml: loopLang intermediate language

loop_callScript.sml: Call optimisation for loopLang

loop_liveScript.sml: Correctness proof for loop to loop_remove

loop_removeScript.sml: Correctness proof for loop_remove

loop_to_wordScript.sml: Compilation from looLang to wordLang.

panLangScript.sml: Abstract syntax for Pancake language. Pancake is an imperative language with instructions for conditionals, While loop, memory load and store, functions, and foreign function calls.

panScopeScript.sml: Scope checking for Pancake.

pan_commonScript.sml: Common definitions for Pancake compiler

pan_passesScript.sml: Reformulates compile definition to expose the result of each internal compiler pass

pan_simpScript.sml: Simplification of panLang.

pan_to_crepScript.sml: Compilation from panLang to crepLang.

pan_to_targetScript.sml: Compiler from Pancake to machine code

pan_to_wordScript.sml: Compiler from pan to word

parser: The Pancake parser.

proofs: Proofs files for compiling Pancake.

semantics: Semantics for Pancake and its intermediate languages.

taParserScript.sml: Parser for compactDSL programs

ta_progs: Some sample timed automata (TA) programs.

temp: Temporary files

timeLangScript.sml: Abstract syntax for timeLang

time_to_panScript.sml: Compilation from timeLang to panLang

time_to_targetScript.sml: Compiler from timeLang to machine code