Ryan Davis, who works on Rubinius for EngineYard, released a host of updates for ParseTree and related libraries.
ParseTree 3.0 (note: ParseTree 3.0.1 is now the latest version), comes with a few important changes:
* Split out sexp_processor project.
* ParseTree#process outputs a UnifiedRuby parse tree.
* Switched all ParseTree tests to RawParseTree tests.
* Added ParseTree tests.
* Added UnifiedRuby#process.
ParseTree's raw output is close to Ruby's internal parse tree; Unified Ruby is a cleaned up and simplified version of the normal output of ParseTree.
Sexp_Processor 3.0.0 is now available as a seperate Gem (it was formerly part of ParseTree). Sexp_processor allows to write and run visitors for analyzing ParseTree s-exprs.
Ruby2Ruby 1.2.0, a library that takes ParseTree s-exprs and turns them into Ruby source code, is available. All dependencies on ParseTree (the library) were removed, and the code was rewritten to use UnifiedRuby as input. Flog 1.2.0, a tool for analyzing code quality is now available.
Ruby_parser 2.0, also a project by Ryan Davis, is a Ruby parser written in Ruby. The new version includes a massive list of changes and bug fixes. Here just a few of the changes:
* Brought on the AWESOME! 4x faster! no known lexing/parsing bugs! [..]
* Added #store_comment and #comments [..]
* Added bin/ruby_parse [..]
* Added file and line numbers to all sexp nodes. Column/ranges to come. [..]