# ParseTree 1.4.1 Released

**URL:** <https://www.ruby-forum.com/t/parsetree-1-4-1-released/93814>\
**Category:** Ruby\
**Created:** [April 11, 2006, 8:33am UTC](https://www.ruby-forum.com/t/parsetree-1-4-1-released/93814 "2006-04-11T08:33:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [April 11, 2006, 8:33am UTC](https://www.ruby-forum.com/t/parsetree-1-4-1-released/93814/1 "2006-04-11T08:33:53Z")

</div>

ParseTree version 1.4.1 has been released!

[http://rubyforge.org/projects/parsetree/](http://rubyforge.org/projects/parsetree/)  
[zenspider projects | software projects | by ryan davis](http://www.zenspider.com/ZSS/Products/ParseTree/)

\*\* DESCRIPTION:

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

\*\* FEATURES/PROBLEMS:

- Uses RubyInline, so it just drops in.

- Includes SexpProcessor and CompositeSexpProcessor.

- Includes parse\_tree\_show, which lets you quickly snoop code.

- Includes parse\_tree\_abc, which lets you get abc metrics on code.

- Includes parse\_tree\_deps, which shows you basic class level  
dependencies.

- Only works on methods in classes/modules, not arbitrary code.

- Does not work on the core classes, as they are not ruby (yet).

Changes:

- 4 minor enhancements:

- 3 bug fixes:
