Working through the LLVM Kaleidoscope tutorial using Rust.
This project uses Inkwell to interface with LLVM. Originally, it used llvm-sys to directly interact with LLVM's C FFI, but it became painful to reconcile C style lifetime management with the Rust ownership system.
Tentative roadmap / progress list:
- Lexer
- Parsing and AST
- Code Generation
- Optimization and JIT Compilation
- Control Flow
- User Defined Operations
- Mutable Variables -- SSA Form
- Object File Generation
- Generating Debug Info
- Global Variables
- Additional Numeric Types
- Structs
- Arrays
- Heap Allocation