InfoQ

新闻

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

作者 Werner Schuster译者 李明(nasi) 发布于 2008年10月28日 上午3时3分

社区
Ruby
主题
发布,
RubyGems
标签
ParseTree,
Rubinius,
静态分析

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

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!