Skip to content

Commit 62eedfe

Browse files
committed
docs: parser and execution engines
1 parent dcc3d86 commit 62eedfe

2 files changed

Lines changed: 55 additions & 27 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Known implementations:
2+
- Each browser has an engine that parses and executes JavaScript.
3+
- Engines:
4+
- SpiderMonkey: https://github.com/mozilla-firefox/firefox/tree/main/js/src
5+
- source layout: https://firefox-source-docs.mozilla.org/js/index.html#spidermonkey
6+
7+
- V8: https://github.com/v8/v8
8+
- source layout: https://v8.dev/docs/contribute
9+
10+
- ChakraCore: https://github.com/chakra-core/ChakraCore
11+
- source layout: https://github.com/chakra-core/ChakraCore/wiki/Architecture-Overview
12+
13+
- JavaScriptCore: https://github.com/WebKit/WebKit/tree/main/Source/JavaScriptCore
14+
- source layout: https://webkit.org/contributing-code/
15+
16+
- Browser Uses:
17+
- Mozilla Firefox:
18+
- engine: SpiderMonkey
19+
20+
- Chromium:
21+
- engine: V8
22+
23+
- Microsoft Edge:
24+
- engine: V8
25+
26+
- Google Chrome:
27+
- engine: V8
28+
29+
- Apple Safari:
30+
- engine: JavaScriptCore
31+
32+
- Opera:
33+
- engine: V8
34+
35+
- Brave:
36+
- engine: V8

README.md

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,48 @@
55
- Notes: The JavaScript Programming Language
66

77
## Language Details
8-
- [language specification](https://ecma-international.org/publications-and-standards/standards/ecma-262/)
8+
- [Language Specification](https://ecma-international.org/publications-and-standards/standards/ecma-262/)
99
- [EMCA-262](https://github.com/tc39/ecma262)
10-
- interpreter:
11-
- runtimes:
12-
- Firefox: SpiderMonkey
13-
- Chrome: V8
14-
- Microsoft: Chakra
15-
- Apple: JavaScriptCore: https://trac.webkit.org/wiki/JavaScriptCore
16-
- AKA:
17-
- ​SquirrelFish and ​SquirrelFish Extreme
18-
- Safari Context: Nitro and Nitro Extreme
19-
- [node.js](src/runtimes/node)
20-
- [language reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
21-
- [base modules index]()
22-
- [standard library reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
23-
- package management:
24-
- [packaging]()
25-
- tools:
10+
- [Interpreter](languages/javascript/1_implementations/1_implementations.txt)
11+
- [Type System]()
12+
- [Memory Model]()
13+
- [Language Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
14+
- [Standard Library](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
15+
- Packaging and Distribution
16+
- [Core Module Index]()
17+
- [Package Index](https://www.npmjs.com)
18+
- Tools:
2619
- npm: first version: 2010
2720
- pnpm: industry standard
2821
- https://pnpm.io
2922
- LiveServer plugin for VSCode hot code reload
30-
- structuring projects:
31-
- [package index](https://www.npmjs.com)
32-
- [extending and embedding]()
33-
- [developer contribution guide]()
34-
- memory model:
35-
- history:
23+
- Structuring Projects:
24+
- ...
25+
- [Extending and Embedding]()
26+
- [Developer Contribution Guide]
27+
- [History]
3628
- ECMAScript v1: 1997
3729
- 2015+: annual release
3830
- [The Weird History of JavaScript](https://www.youtube.com/watch?v=Sh6lK57Cuk4)
3931

40-
## Testing
41-
42-
4332
## Use Cases
4433
- [Applications for JavaScript]()
4534

35+
## Community
36+
4637
## Learning Resources
4738
- [JavaScript](https://roadmap.sh/javascript)
4839
- [TypeScript](https://roadmap.sh/typescript)
4940
- https://developer.mozilla.org/en-US/docs/Web/JavaScript
5041
- practice problems
5142

52-
5343
## Spell Check
5444
```shell
5545
pnpm run lint
5646
```
5747

48+
## References
49+
5850
## Legend
5951
**Q**: Question for later research
6052

0 commit comments

Comments
 (0)