# ParseTree 3.0.5 Released

**URL:** <https://www.ruby-forum.com/t/parsetree-3-0-5-released/185879>\
**Category:** Ruby\
**Created:** [March 28, 2010, 7:24am UTC](https://www.ruby-forum.com/t/parsetree-3-0-5-released/185879 "2010-03-28T07:24:36Z")\
**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:** [March 28, 2010, 7:24am UTC](https://www.ruby-forum.com/t/parsetree-3-0-5-released/185879/1 "2010-03-28T07:24:36Z")

</div>

ParseTree version 3.0.5 has been released!

- [http://rubyforge.org/projects/parsetree/](http://rubyforge.org/projects/parsetree/)
- [http://www.zenspider.com/ZSS/Products/ParseTree/](http://www.zenspider.com/ZSS/Products/ParseTree/)
- [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

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.5 / 2010-03-27

- 1 bug fix:
