├── .gitignore ├── Lang ├── AST.lean ├── AlphaRename.lean ├── Checker.lean ├── Codegen.lean ├── Driver.lean ├── Eval.lean ├── LCNF.lean ├── Lower.lean ├── Monad.lean ├── Optimize.lean ├── Parser.lean ├── Prim.lean ├── Syntax.lean ├── Test.lean └── Util.lean ├── Main.lean ├── README.md ├── examples ├── ExpectedLLVM │ ├── ex_program_func_add.ll │ ├── test_const_fold.ll │ └── test_dce_after_fold.ll └── Sources │ ├── ex_program_func_add.lang │ ├── test_const_fold.lang │ └── test_dce_after_fold.lang ├── lakefile.lean └── lean-toolchain /.gitignore: -------------------------------------------------------------------------------- 1 | /.lake -------------------------------------------------------------------------------- /Lang/AST.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/AST.lean -------------------------------------------------------------------------------- /Lang/AlphaRename.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/AlphaRename.lean -------------------------------------------------------------------------------- /Lang/Checker.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Checker.lean -------------------------------------------------------------------------------- /Lang/Codegen.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Codegen.lean -------------------------------------------------------------------------------- /Lang/Driver.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Driver.lean -------------------------------------------------------------------------------- /Lang/Eval.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Eval.lean -------------------------------------------------------------------------------- /Lang/LCNF.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/LCNF.lean -------------------------------------------------------------------------------- /Lang/Lower.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Lower.lean -------------------------------------------------------------------------------- /Lang/Monad.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Monad.lean -------------------------------------------------------------------------------- /Lang/Optimize.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Optimize.lean -------------------------------------------------------------------------------- /Lang/Parser.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Parser.lean -------------------------------------------------------------------------------- /Lang/Prim.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Prim.lean -------------------------------------------------------------------------------- /Lang/Syntax.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Syntax.lean -------------------------------------------------------------------------------- /Lang/Test.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Test.lean -------------------------------------------------------------------------------- /Lang/Util.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Lang/Util.lean -------------------------------------------------------------------------------- /Main.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/Main.lean -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/README.md -------------------------------------------------------------------------------- /examples/ExpectedLLVM/ex_program_func_add.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/examples/ExpectedLLVM/ex_program_func_add.ll -------------------------------------------------------------------------------- /examples/ExpectedLLVM/test_const_fold.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/examples/ExpectedLLVM/test_const_fold.ll -------------------------------------------------------------------------------- /examples/ExpectedLLVM/test_dce_after_fold.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/examples/ExpectedLLVM/test_dce_after_fold.ll -------------------------------------------------------------------------------- /examples/Sources/ex_program_func_add.lang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/examples/Sources/ex_program_func_add.lang -------------------------------------------------------------------------------- /examples/Sources/test_const_fold.lang: -------------------------------------------------------------------------------- 1 | def const_fold_add : Int64 := 10 + 20 -------------------------------------------------------------------------------- /examples/Sources/test_dce_after_fold.lang: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/examples/Sources/test_dce_after_fold.lang -------------------------------------------------------------------------------- /lakefile.lean: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doomslide/baby-compiler/HEAD/lakefile.lean -------------------------------------------------------------------------------- /lean-toolchain: -------------------------------------------------------------------------------- 1 | leanprover/lean4:v4.19.0-rc3 2 | --------------------------------------------------------------------------------