流程 | 结果 | 编译器文件 | 备注 |
---|---|---|---|
词法分析 | token流 | Scanner 扫描器(scanner.ts) | |
语法分析 | Ast(抽象语法树) | Parser 解析器(parser.ts) | |
绑定 | Symbol | Binder 绑定器(binder.ts) | Symbol链接相同结构的声明,帮助类型系统推导出这些具名声明 |
检查 | 类型验证 | Checker 检查器(checker.ts) | 解析每种类型的构造,负责处理、检查针对每个类型的语义操作,并生成合适的诊断信息 |
生成代码 | .js/.d.ts/.js.map | Emitter 发射器(emitter.ts) | JavaScript源码(.js)、类型定义文件(.d.ts)或source map文件(.js.map),其中类型定义文件可以帮助开发者在各种IDE中获取TypeScript的类型信息,source map文件则是一个存储源代码与编译代码对应位置映射的信息文件,在debug时我们需要利用source map文件来找到实际运行的代码(最终生成的.js文件)和其原始代码(开发者实际编写的.ts文件)的位置对应关系。 |
typescript 编译原理
最新推荐文章于 2024-07-15 16:21:12 发布