Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 891 Bytes

README.md

File metadata and controls

20 lines (12 loc) · 891 Bytes

Kaleidoscope Tutorial code in F#

This is my take on the Kaleidoscope Tutorial in F#.

Current Status:

  • Chapter 1 - Lexing : FsLex 9.0.2 for the lexer (see <Lexer.fsl>)
  • Chapter 2 - Parrsing: FsYacc 9.0.2 for the parser (see <Parser.fsy>)
  • Chapter 3 - LLVM IR Generation: LLVMSharp 8.0.0 (see <Codegen.fs>)

How to build: this is a dotnet SDK project, so the standard incantations work:

  • dotnet run kaleidoscope.fsproj to run
  • dotnet test tests.fsproj to test

How to build .exes: The dependency libllvm does not have a generic linux-x64 package, so we need distro-specific runtime identifiers on Linux

  • dotnet publish --project kaleidoscope.fsproj -r win-x64 -c Release for Windows release
  • dotnet publish --project kaleidoscope.fsproj -r ubuntu.18.04-x64 -c Release for Ubuntu release