#intermediate-representation #describe #abstract #syntax #compiler #structures

asdl

ASDL 格式的解析器。描述编译器的中间表示和其他树形数据结构的抽象语法

2 个稳定版本

1.0.1 2019年12月3日
1.0.0 2019年9月9日

#1656 in 数据结构

MIT/Apache

32KB
980

Build Status

ASDL 解析器和用于代码生成的 CLI。

ASDL 描述编译器的中间表示和其他树形数据结构的抽象语法。就像程序语言的词法和语法结构用正则表达式和上下文无关文法描述一样,ASDL 为描述程序语言的抽象语法提供了一种简洁的表示法。工具可以将 ASDL 描述转换为适当的数据结构定义和函数,以便将数据结构转换为或构建互操作的编译器组件。

您可以在这篇 论文 中了解 Asdl

功能由两个包提供

  • asdl - 解析器和 API,适用于代码生成。最适合使用 rust 代码进行代码生成。例如,使用 quota
  • asdl-tera 模型设计用于模板处理引擎,如 tera,以及使用 tera 模板引擎进行代码生成的 CLI。

依赖项

~1MB
~18K SLoC