ParseTree 3.0.4 Released

ParseTree version 3.0.4 has been released!

ParseTree is a C extension (using RubyInline) that extracts the parse
tree for an entire class or a specific method and returns it as a
s-expression (aka sexp) using ruby’s arrays, strings, symbols, and
integers.

As an example:

def conditional1(arg1)
if arg1 == 0 then
return 1
end
return 0
end

becomes:

[:defn,
:conditional1,
[:scope,
[:block,
[:args, :arg1],
[:if,
[:call, [:lvar, :arg1], :==, [:array, [:lit, 0]]],
[:return, [:lit, 1]],
nil],
[:return, [:lit, 0]]]]]

Changes:

3.0.4 / 2009-06-23

  • 4 minor enhancements:

    • Pulled unique.rb from ParseTree to sexp_processor.
    • Switched to minitest
    • UnifiedRuby strips flip2 back down to expected values
    • Updated Rakefile for new hoe
  • 2 bug fixes:

    • 1.8.6p287 & 1.8.7 changed flip2 with fixnum start. fixed
    • 1.8.6p287 & 1.8.7 removed the begin node. fixed.