📄️ 概览
TypeScript 编译器源文件位于 src/compiler 目录下
📄️ 抽象语法树
Node 节点
📄️ 扫描器
TypeScript 扫描器的源码均位于 scanner.ts。在内部,由解析器控制扫描器将源码转化为抽象语法树(AST)。期望结果如下:
📄️ 解析器
TypeScript 解析器代码均位于 parser.ts 中。在内部,由解析器控制扫描器将源码转化为 AST。其期望结果如下:
📄️ 绑定器
大多数的 JavaScript 转译器(transpiler)都比 TypeScript 简单,因为它们几乎没提供代码分析的方法。典型的 JavaScript 转换器只有以下流程:
📄️ 检查器
如前所述,检查器使得 TypeScript 更独特,比其它 JavaScript 转译器更强大。检查器位于 checker.ts 中,当前有 23k 行以上的代码(编译器中最大的部分)
📄️ 发射器
TypeScript 编译器提供了两个发射器: