🕷 software releases

by ryan davis



sitemap

ParseTree version 3.0.2 has been released!

Published 2008-11-04 @ 15:37

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.2 / 2008-11-04

  • 1 minor enhancement:

    • parse_tree_show now defaults to unified, added -U to UNunify output.
  • 4 bug fixes:

    • UnifiedRuby#rewrite_defn kinda sorta deals with cfunc now. Stupid rails.
    • Fixed ambiguities in splatted nodes in a bunch of contexts.
    • Fixed 1 arg form of parse_tree_for_proc
    • KNOWN ISSUE: 0 arg form (   ) of parse_tree_for_proc segfaults.
  • http://rubyforge.org/projects/parsetree/
  • http://www.zenspider.com/ZSS/Products/ParseTree/
  • mailto:ryand-ruby@zenspider.com