Skip to content
This repository was archived by the owner on Aug 7, 2024. It is now read-only.

Commit 9663f11

Browse files
committed
review and clean up some details
1 parent d15af32 commit 9663f11

File tree

6 files changed

+14
-6
lines changed

6 files changed

+14
-6
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# JavaScript Compiler in Rust
22

3+
(This is currently work in progress)
4+
35
JavaScript, Rust and compilers are all hard to learn,
46
let's combine these three and challenge ourselves to write a JavaScript compiler in Rust.
57

68
This will be the book for you if you are interested in learning Rust, compiler technologies,
79
or would like to contribute to swc or Rome in the near future.
810

911
The book will be a full tutorial on writing a JavaScript compiler in Rust.
10-
And the tutorials will go down in rabbit hole on specific topics.
12+
And the tutorials will go down in rabbit holes on specific topics.
1113

1214
[Read the book](https://boshen.github.io/javascript-compiler-in-rust/docs/intro)
1315
[Read the tutorials](https://boshen.github.io/javascript-compiler-in-rust/blog)

blog/ecma-spec.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@ title: The ECMAScript Specification
55
[The ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/) details everything about the JavaScript language, so anyone can implement their own JavaScript engine.
66

77
For a compiler, we will study the following chapters:
8-
* 5. Notational Conventions
9-
* 11. ECMAScript Language: Source Text
10-
* 12. ECMAScript Language: Lexical Grammar
8+
9+
* 5 Notational Conventions
10+
* 11 ECMAScript Language: Source Text
11+
* 12 ECMAScript Language: Lexical Grammar
1112
* 13 - 16 Expressions, Statments, Functions, Classes, Scripts and Modules
1213
* B Additional ECMAScript Features for Web Browsers
1314
* C The Strict Mode of ECMAScript
15+
16+
## Cover Grammar
17+
https://v8.dev/blog/understanding-ecmascript-part-3

docs/ast.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ It is much nicer to work on the AST compared to the source text.
2121
## Rust Optimizations
2222

2323
### Memory Arena
24+
2425
Pain of dealing with lifetimes

docs/lexer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ And [Chapter 12.6 Names and Keywords](https://tc39.es/ecma262/#sec-names-and-key
121121
states the identifiers are interpreted according to the Default Identifier Syntax given in Unicode Standard Annex #31.
122122
Specifcally,
123123

124-
```
124+
```markup
125125
UnicodeIDStart ::
126126
any Unicode code point with the Unicode property “ID_Start”
127127
UnicodeIDContinue ::

docs/parser.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ title: Parser
44
---
55

66
## Dealing with errors
7+
78
Panic vs recoverable parser
89

910
## JavaScript

src/pages/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ function HomepageHeader() {
1919
or would like to contribute to swc or Rome in the near future.
2020
<br/><br/>
2121
The book will be a full tutorial on writing a JavaScript compiler in Rust.
22-
And the tutorials will go down in rabbit hole on specific topics.
22+
And the tutorials will go down in rabbit holes on specific topics.
2323
</p>
2424
<div className={styles.buttons}>
2525
<Link

0 commit comments

Comments
 (0)