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
Copy file name to clipboardExpand all lines: book/src/01_calculator/exercise.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,4 +4,4 @@ To get most out of this chapter, it is recommended to at least try the first exe
4
4
5
5
1. Add support for multiplication and division to the calculator and allow computations on floating numbers `f32`. Can you include standard operator precedence?
6
6
2. JIT with [cranelift-simplejit](https://docs.rs/cranelift-simplejit/0.64.0/cranelift_simplejit/)
7
-
3. JIT with [gcc-jit](http://swgillespie.me/gccjit.rs/gccjit/)
7
+
3. JIT with [gcc-jit](https://github.com/swgillespie/gccjit.rs)
Copy file name to clipboardExpand all lines: book/src/01_calculator/grammar_lexer_parser.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ This grammar basically defines the syntax and semantics where
27
27
* unary or binary expressions are made of `Term` and `Operator` (`"+"` and `"-"`)
28
28
* the only *atom* is integer `Int`
29
29
30
-
Given our grammar, we will use [pest](https://pest.rs/) which is a powerful *parser generator* of PEG grammars. (For more details on pest, checkout the [pest book](https://pest.rs/book/))
30
+
Given our grammar, we will use [pest](https://bitbegin.github.io/pest-rs/) which is a powerful *parser generator* of PEG grammars. (For more details on pest, checkout the [pest book](https://bitbegin.github.io/pest-rs/book/)
31
31
32
32
`pest`*derives* the parser `CalcParser::parse` from our grammar
Copy file name to clipboardExpand all lines: book/src/01_calculator/jit_intro.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,4 +10,4 @@ We will use [inkwell](https://github.com/TheDan64/inkwell) which provides a safe
10
10
11
11
### Alternatives
12
12
13
-
Other code generators that you can use (see the [exercises](./exercise.md)) in this book (not at mature as LLVM) are [cratelift-simpljit](https://docs.rs/cranelift-simplejit/0.64.0/cranelift_simplejit/index.html) and [gcc-jit](http://swgillespie.me/gccjit.rs/gccjit/).
13
+
Other code generators that you can use (see the [exercises](./exercise.md)) in this book (not at mature as LLVM) are [cratelift-simpljit](https://docs.rs/cranelift-simplejit/0.64.0/cranelift_simplejit/index.html) and [gcc-jit](https://github.com/swgillespie/gccjit.rs).
Copy file name to clipboardExpand all lines: book/src/intro.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ The following are my guidelines
35
35
Here is the outline of the contents
36
36
37
37
* [Crash Course on Computing](./crash_course.md) which we briefly set up the definitions and foundations
38
-
* 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://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.
38
+
* 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
39
* TODO: We will introduce `Jeslang` (a statically typed language) and gradually work our way up from `Calc` language to create `Jeslang` together
40
40
* TODO: Object system and object oriented programming
0 commit comments