Create your own programming language with Rust
This repository contains the codes and the contents for createlang.rs
Why am I writing this book?
The book arises from my frustration of not finding modern, clear and concise teaching materials that are readily accessible to beginners like me who wants to learn a bit on how to create their own programming language.
The following are my guidelines
"If you don't know how compilers work, then you don't know how computers work" 1
"If you canβt explain something in simple terms, you donβt understand it" 2
Requirements
Make sure you have
- Rust toolchain installed
- Cloned this repository (follow the instructions in each chapter)
- LLVM installed to run and test locally
cargo test --tests
- Easiest option is LLVM v14.0 (Debian/Ubuntu or macOS)
- Otherwise, in
Cargo.toml
you'd need to change theinkwell = { ..., branch = "master", features = ["your-llvm-version"] }
with LLVM version on your system (output ofllvm-config --version
)
To build the book locally, navigate to the book
subdirectory and follow the instructions in mdbook.
Roadmap
Checkout the roadmap to the 1st edition.
Donation
If you have found this project useful, please consider donating to any of the organizations below