Skip to content

Commit 3dbc9ae

Browse files
committed
Various content and plan updates
1 parent f8772a5 commit 3dbc9ae

File tree

4 files changed

+5
-9
lines changed

4 files changed

+5
-9
lines changed

book/src/01_calculator/jit_intro.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ JIT compilation is a combination of Ahead-Of-Time (AOT) compilation and interpre
44

55
### LLVM
66

7-
[LLVM](https://en.wikipedia.org/wiki/LLVM) which stands for **Low-Level-Virtual-Machine**, is a mature compiler backend (code generator) infrastructure powering many languages such as [Clang](https://clang.llvm.org/), [Rust](https://www.rust-lang.org/), [Swift](https://swift.org/), etc. It has its own IR and Virtual Machine Bytecode abstracting away the underlying platform-specific differences.
7+
[LLVM](https://en.wikipedia.org/wiki/LLVM) (which is *not* an acronym) is a mature compiler backend (code generator) infrastructure powering many languages such as [Clang](https://clang.llvm.org/), [Rust](https://www.rust-lang.org/), [Swift](https://swift.org/), etc. It has its own IR and Virtual Machine Bytecode abstracting away the underlying platform-specific differences.
88

99
We will use [inkwell](https://github.com/TheDan64/inkwell) which provides a safe Rust wrapper around LLVM. Remember to use the branch according to your installed `llvm-config --version`.
1010

book/src/01_calculator/repl.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,4 @@ This concludes our [Calculator](./calc_intro.md) chapter. We took advantage of t
9494

9595
Thanks for following along and reading up this far!
9696

97-
Stay tuned for the next chapter where we gradually work our way up to create a statically typed language named *Jeslang*.
97+
Stay tuned for the next chapter where we gradually work our way up to create a statically typed language named creatively as **Firstlang** :D

book/src/SUMMARY.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,12 @@
1616

1717
## TODO
1818

19-
- [Jeslang]()
19+
- [Firstlang]()
2020
- [Static Typing and Type Inference]()
2121
- [Object System and Object Oriented Language]()
22-
- [Functional Language]()
2322

2423
## Tentative
2524

26-
- [TENTATIVE: Module System and Packaging]()
2725
- [TENTATIVE: Mini Standard Library]()
2826

2927
## Resources

book/src/intro.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,8 @@ Here is the outline of the contents
3636
3737
* [Crash Course on Computing](./crash_course.md) which we briefly set up the definitions and foundations
3838
* We create our first programming language `Calc` that supports simple integer addition and subtraction. The simplicity allows us to touch a lot of important topics. We will use [PEG](https://en.wikipedia.org/wiki/Parsing_expression_grammar) to define our grammar, [pest](https://bitbegin.github.io/pest-rs/) to generate our `CalcParser` and explain what AST is and interpreting the AST means. Next, we will introduce JIT compilation and use [inkwell](https://github.com/TheDan64/inkwell) to JIT compile our `Calc` language from its AST. To show an alternative compilation approach, we will create a Virtual Machine and a Runtime environment and discuss its features. Finally, we will write a simple REPL for our `Calc` language and test out different execution paths.
39-
* TODO: We will introduce `Jeslang` (a statically typed language) and gradually work our way up from `Calc` language to create `Jeslang` together
40-
* TODO: Object system and object oriented programming
41-
* TODO: Functional language
42-
* TENTATIVE: Module system and packaging
39+
* TODO: We will create `Firstlang`, a statically typed language, by gradually working our way up from our `Calc`
40+
* TODO: Object system and minimal object oriented programming support
4341
* TENTATIVE: Create a mini standard library
4442
* TODO: Resources
4543

0 commit comments

Comments
 (0)