InfoQ

News

ParseTree 3.0 Released, Many Related Libraries Updated

Posted by Werner Schuster on Oct 23, 2008

Community
Ruby
Topics
RubyGems ,
Release
Tags
Static Analysis ,
Rubinius ,
ParseTree

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. [..]

 

No comments

Watch Thread Reply

Educational Content

How HTML5 Web Sockets Interact With Proxy Servers

Peter Lubbers explains in this article how HTML 5 Web Sockets interact with proxy servers, and what proxy configuration or updates are needed for the Web Sockets traffic to go through.

Rails in the Large: How Agility Allows Us to Build One Of the World's Biggest Rails Apps

Neal Ford shows what ThoughtWorks learned from scaling Rails development: infrastructure, testing, messaging, optimization, performance.

Stuart Halloway on Clojure and Functional Programming

Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell.

Oren Teich and Blake Mizerany on Heroku

Oren Teich and Blake Mizerany talk about the technology behind Heroku and the benefits of the new add-on system.

Security for the Services World

Chris Riley presents security issues threatening service based systems, examining security threats, presenting measures to reduce the risks, and mentioning available security frameworks.

Navigating The Rapids:Real-World Lessons in Adopting Agile

This talk investigates technical issues encountered when moving to an Agile process.

Codename "M": Language, Data, and Modeling, Oh My!

Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Don Box's demos show some of M’s features and latest changes of the language.

SOA Manifesto - 4 Months After

It is four months since the SOA manifesto was announced; InfoQ interviewed the original author’s to get insight into the motivations and the process behind the initiative.