iastPython库用于定义和操作AST
雅思(支持Python 3.3和3.4)是一个提供用于自定义语言的抽象语法树(AST)定义和转换的Python库。它可帮助构建编译器或其他程序转换系统。iAST通过从ASDL语法读取语言的抽象语法并自动生成节点类来工作。该库提供了一个标准的访问者风格框架,用于遍历、转换和模式匹配树。节点具备可散列性、结构相等性,并支持可选的类型检查(不支持解析,解析任务需通过外部解析器生成器处理)。iAST的AST节点定义已经开箱即用,适用于Python 3.3和3.4,并且为编写代码模板或Python代码的宏提供了有用工具。尽管该库的核心框架适用于任何语言的AST,但它主要针对Python进行优化。具体的使用示例和访问者/转换器的用法,可以参阅文档中的相关示例。此外,还提供了与Python自身的ast模块进行比较以及类型检查的使用案例,这些示例基于相应的ASDL文件的抽象语法。
安装方法:可以通过pip/PyPI安装。
下载地址
用户评论