Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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: instructions 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_inlineScript.sml: Function inlining pass in crepLang

crep_to_loopScript.sml: Compilation from crepLang to loopLang.

loopLangScript.sml: loopLang intermediate language

loop_callScript.sml: Call optimisation for loopLang

loop_liveScript.sml: Liveness analysis for loopLang.

loop_removeScript.sml: Loop removal pass for loopLang.

loop_to_wordScript.sml: Compilation from loopLang 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.

panStaticScript.sml: Static checking for Pancake.

pan_commonScript.sml: Common definitions for Pancake compiler

pan_globalsScript.sml: Allocate globals at the end of heap.

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: Proof files for compiling Pancake.

semantics: Semantics for Pancake and its intermediate languages.

static_checker: Support files for Pancake static checker.

temp: Temporary files