InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ParseTree 3.0发布,众多相关程序库升级

作者 Werner Schuster 译者 李明(nasi) 发布于 2008年10月28日

领域
运维 & 基础架构,
过程 & 实践,
语言 & 开发
主题
Ruby ,
发布 ,
动态语言 ,
版本控制 ,
语言 ,
配置管理 ,
编程 ,
RubyGems ,
静态分析 ,
Rubinius ,
ParseTree

就职于EngineYard从事Rubinius开发的Ryan Davis,发布了ParseTree和相关程序库的众多升级。

ParseTree 3.0(注意:ParseTree 3.0.1是目前最新的版本)带来了一些重要的修改:

* 拆分sexp_processor项目。
* ParseTree#process输出UnifiedRuby解析树。
* 将所有ParseTree测试转换为RawParseTree测试。
* 新增ParseTree测试。
* 新增UnifiedRuby#process。

ParseTree的原始输出类似于Ruby的内部解析树;UnifiedRuby则是ParseTree默认输出的经过清理的简化版本。

Sexp_Processor 3.0.0目前已经成为一个独立的Gem(曾经是ParseTree的一部分)。Sexp_processor允许编写和运行访问者,并以此来分析ParseTree的s-表达式。

Ruby2Ruby 1.2.0是一个将ParseTree的s-表达式转换为Ruby源代码的程序库,目前已经发布。所有对ParseTree(程序库)的依赖已经移除,其代码已经重写,以UnifiedRuby作为输入。Flog 1.2.0是分析代码质量的工具,目前也已发布。

Ruby_parser 2.0也是由Ryan Davis开发的项目,是一个用Ruby写成的Ruby解析器。新版本包括大量的修改和Bug修正。几个修改如下:

* 棒极了!在速度上有4倍的提升!在词法分析和解析方面已经没有任何已知bug了![..]
* 新增#store_comment和#comments [..] 
* 新增bin/ruby_parse [..]
* 为每个sexp节点新增的文件和行号。添加了列(column)和范围(range)。[..]

 查看英文原文:ParseTree 3.0 Released, Many Related Libraries Updated

译者 李明(nasi) 毕业于东北大学,曾供职于百度网页搜索部,从事分布式网络爬虫及其国际化的研发工作。