You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Trivoz 0df3357d66
docs: fix donation link (#23)
8 months ago
.github Upgrade to llvm 14 2 years ago
book Upgrade to llvm 14 2 years ago
calculator Fix clippy errors 1 year ago
.gitignore Clippy fixes 3 years ago
Cargo.toml Initial commit 4 years ago
LICENSE Initial commit 4 years ago
README.md docs: fix donation link (#23) 8 months ago
rustfmt.toml Initial commit 4 years ago

README.md

Create your own programming language with Rust

Github Pages CI

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

  1. Rust toolchain installed
  2. Cloned this repository (follow the instructions in each chapter)
  3. 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 the inkwell = { ..., branch = "master", features = ["your-llvm-version"] } with LLVM version on your system (output of llvm-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