TypeScript 编译器是用 TypeScript 写的,比如:
microsoft/TypeScript:src/compiler/scanner.ts@7b942b4
那么这个TS写的编译器是怎么被解析的呢?
TypeScript 编译器是用 TypeScript 写的,比如:
microsoft/TypeScript:src/compiler/scanner.ts@7b942b4
那么这个TS写的编译器是怎么被解析的呢?
之前在知乎看到过这样的问题,应该是叫编译器的自举
。
链接: 编译器的自举原理是什么? - vczh的回答 - 知乎 https://www.zhihu.com/questio...
别查都不查都想当然啊
The TypeScript compiler is itself written in TypeScript and compiled to JavaScript.
看看它早期版本https://github.com/microsoft/TypeScript/tree/214df64e287804577afa1fea0184c18c40f7d1ca
再看一下相关的概念
self-hosting compilers
第一版编译器是js写的,用js先写了tsc,也就是v1版本,v1里有很多测试用例,ts实现了v2版本,然后测试,不断自举(ps:自举概念可以上网查,比较通俗的概念见(轮子哥的回答)),目前是4.0版本,刚看到tsc还是js版本的,估计等特别稳定了就会用ts实现tsc吧,这样就可以完全自举了
我猜是先有的鸡蛋,然后才能孵化出小鸡,不然没有鸡蛋怎么能孵化出小鸡呢?
哈哈
那你的鸡蛋哪来的?鸡下的.....
那我猜是先有的鸡,然后才能下蛋,不然没有鸡哪来的蛋呢?
哈哈
那你的鸡哪来的?蛋孵化的....
那我猜是现有的鸡蛋..................
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
先有 TypeScript。 TS 编译器的发展大致如下: