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 rundotnet 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 releasedotnet publish --project kaleidoscope.fsproj -r ubuntu.18.04-x64 -c Release
for Ubuntu release