就职于 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
评论