用于定义和操作AST的库

iAST的Python项目详细描述


#上次

(支持python 3.3和3.4)

这个库提供了一种定义和转换抽象语法的方法 自定义语言的树(AST)。它可以用来帮助构建编译器 或其他程序转换系统。

iast从asdl语法中读取语言的抽象语法,并且 自动生成节点类。标准的访问者风格框架 用于在树上遍历、转换和模式匹配。 节点是散列的,具有结构相等性,并且支持可选类型 检查。(不支持解析,应该由外部 分析器生成器。)

提供了python 3.3和python3.4的ast的节点定义 开箱即用,以及编写代码模板和宏的工具 以python代码为目标。但是,主框架在ASTS上工作 专横的语言。

##示例

有关基本用法和访问者/变形金刚,请参见[arith.py](examples/arith.py)。 有关与python自己的ast模块的比较,请参见[toy.py](examples/toy.py) 以及类型检查的使用。两个例子都使用了 相应的asdl文件。

##安装

从pip/pypi安装:

` python -m pip install iast `

使用开发版本:

` python -m pip install https://github.com/brandjon/iast/tree/tarball/develop `

支持Python3.3和3.4。唯一的依赖是 [simplestruct](https://github.com/brandjon/simplestruct),用于 定义节点类。

##开发商

测试可以使用python setup.py test运行,也可以通过安装 [tox](http://testrun.org/tox/latest/)并运行python-m tox 在项目根目录中。tox测试python 3.3和3.4配置。 构建源发行版(python setup.py sdist)需要 setuptools扩展包 [设置工具git](https://github.com/wichert/setuptools-git)。

##参考资料

[1]:https://github.com/eliben/asdl_parser [[1]]:eli bendersky重写了python asdl解析器,它为 iast从asdl生成节点。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件