EngineYardでRubiniusを取り扱っているRyan Davis氏は、ParseTreeおよび関連ライブラリに対し多くのアップデートをリリースした。
ParseTree 3.0(リンク)(注:ParseTree 3.0.1は最新バージョン)は、いくつか重要な変更が伴う。以下のとおりである。
* sexp_processorプロジェクトの分割。
* ParseTree#processがUnifiedRuby構文解析ツリーを出力。
* すべてのParseTreeテストをRawParseTreeテストに遷移。
* ParseTreeテストの追加。
* UnifiedRuby#processの追加。
ParseTreeのロウアウトプットは、Rubyの内部の構文解析ツリーの近くでおこなわれ、Unified RubyはParseTreeの通常のアウトプットの整理された簡易バージョンである。
Sexp_Processor 3.0.0(リンク)は、別のGemとして利用可能(かつて正式にParseTreeの一部であった)。Sexp_processorは、ParseTree s-exprsの分析で、訪問者を記述し実行することを可能にする。
ParseTree s-exprsを受け取り、Rubyソースコードに変換するライブラリであるRuby2Ruby 1.2.0(リンク)が利用可能である。ParseTree(ライブラリ)のすべての依存関係は廃止され、UnifiedRubyを入力として使用するよう、コードは再記述された。コードの品質を分析するための、Flog 1.2.0(リンク)というツールが利用可能である。
Ruby_parser 2.0(リンク)もRyan Davis氏によるプロジェクトである。それはRubyで記述されたRubyパーサー(参考記事・英語)である。新バージョンには、変更とバグ修正の膨大なリスト(リンク)が含まれる。以下は、変更のほんの一部である。
* すばらしい機能を提供する。これまでの4倍のスピード。不明なレクサー/構文解析バグはなし。
* #store_comment および#commentsの追加
* bin/ruby_parseの追加
* すべてのsexpノードへのファイルおよび行数の追加。列/範囲の実現。
原文はこちらです:http://www.infoq.com/news/2008/10/parsetree-30-r2r-ruby_parser