面向性能的python transpiler
transpyle的Python项目详细描述
框架设计
框架主要由以下类型的模块组成:
- 分析器
- 抽象语法树(ast)泛化器
- 拆线器
- 编译器
- 活页夹
每个语言至少需要实现一些模块 由框架支持。
模块负责在以下状态之间转换数据:
- 语言特定代码
- 语言特定ast
- 扩展python ast
- 编译的二进制文件
- 用于编译二进制文件的python接口
因此:
- 解析器将特定于语言的代码转换为特定于语言的ast
- ast generalizer将特定于语言的ast转换为扩展的python ast
- unparser将扩展的python ast转换为特定于语言的代码
- 编译器将语言特定的代码转换为编译的二进制代码
- binder将编译后的二进制文件转换为python接口,用于编译后的二进制文件
有效地允许代码在 语言,是扩展的python ast。