Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /