Welcome to The Super Tiny Compiler!
这是一个超级简单的编译器的例子,包含了现代编译器的几个主要部分,用简单易读的 JavaScript 编写。
把这个读完将会有助于你了解大多数编译器从前端到后端是如何工作的。
或者... 看看演讲
确实,大多数人在日常工作中没有必要了解编译器都是如何工作的。但是,编译器无处不在,你使用的很多 工具的底层原理都是从编译器那儿来的。
额,确实。但这是我们(写编译器的人)的过错,我们把一些本应该很通俗易懂的事情弄得太可怕了, 让很多人都认为编译器这种东西是可望而不可即的,甚至只有最书呆子的书呆子才能理解。
太棒了!直接去看 super-tiny-compiler-chinese.js 这个文件吧!
直接运行 node test.js
- 该项目更改自 https://github.com/starkwang/the-super-tiny-compiler-cn
- 该项目里面有多个版本的 super-tiny-compiler,包含原始版本,第三方中文翻译版本,第三方优化版本以及本人修改版。
- 原始版本:super-tiny-compiler.js (地址:https://github.com/ayqy/the-super-tiny-compiler)
- 第三方翻译版:super-tiny-compiler-chinese.js (地址:https://github.com/starkwang/the-super-tiny-compiler-cn)
- 第三方优化版:optimize-version.js(该版本已经找不到来源了,如果原作者看到,请告知。)
- 本人修改版:my-super-tiny-compiler.js