You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. Cloned this repository (follow the instructions in each chapter)
25
-
3. LLVM v10.0 installed ([Debina/Ubuntu](https://apt.llvm.org/) or [macOS](https://formulae.brew.sh/formula/llvm)) to run and test locally `cargo test --tests`
25
+
3. LLVM installed to run and test locally `cargo test --tests`
26
+
* Easiest option is LLVM v10.0 ([Debina/Ubuntu](https://apt.llvm.org/) or [macOS](https://formulae.brew.sh/formula/llvm))
27
+
* Otherwise, in `Cargo.toml` you'd need to change the `inkwell = { ..., branch = "your-llvm-version" }` with LLVM version on your system (output of `llvm-config --version`)
26
28
27
29
28
30
To build the book locally, navigate to the `book` subdirectory and follow the instructions in [mdbook](https://github.com/rust-lang/mdBook).
29
31
30
-
## Content outline
31
-
32
-
-[x] Introduction
33
-
-[x] Crash course on Computing
34
-
-[x] Calculator language
35
-
-[x] Grammar, lexer and parser
36
-
-[x] AST and interpreter
37
-
-[x] JIT with LLVM
38
-
-[x] Basic `add` function example
39
-
-[x] AST traversal patterns
40
-
-[x] Exercises
41
-
-[x] VM, bytecode and interpreter
42
-
-[x] REPL
43
-
-[ ] Jeslang
44
-
-[ ] Static typing
45
-
-[ ] Type inference
46
-
-[ ] ...
47
-
-[ ] Object system and OOP
48
-
-[ ] Functional lang
49
-
-[ ] (TENTATIVE) Module system and packaging
50
-
-[ ] (TENTATIVE) Mini-standard library
51
-
-[ ] Content resources
32
+
## Roadmap
33
+
34
+
Checkout the [roadmap to the 1st edition](https://github.com/ehsanmok/create-your-own-lang-with-rust/projects).
52
35
53
36
## Donation
54
37
55
38
If you have found this project useful, please consider donating to any of the organizations below
0 commit comments