# Parse tree for 1.9

**URL:** <https://www.ruby-forum.com/t/parse-tree-for-1-9/150584>\
**Category:** Ruby\
**Created:** [October 10, 2008, 7:32am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584 "2008-10-10T07:32:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rogerdpack](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/45deac/32.png) [@rogerdpack](https://www.ruby-forum.com/u/rogerdpack)\
**Post date:** [October 10, 2008, 7:32am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584/1 "2008-10-10T07:32:54Z")

</div>

Anybody know if there is anything like parse\_tree for 1.9?  
Thanks!  
-=R

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/45deac/32.png) [@rogerdpack](https://www.ruby-forum.com/u/rogerdpack)\
**Post date:** [October 10, 2008, 10:06am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584/2 "2008-10-10T10:06:19Z")

</div>

Roger P. wrote:

> Anybody know if there is anything like parse\_tree for 1.9?  
> Thanks!

Perhaps RubyVM::InstructionSequence.compile or  
RubyVM::InstructionSequence::compile\_file will do something similar to  
what you want. These methods are standard in 1.9

alex

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/45deac/32.png) [@rogerdpack](https://www.ruby-forum.com/u/rogerdpack)\
**Post date:** [October 10, 2008, 10:32am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584/3 "2008-10-10T10:32:10Z")

</div>

On Oct 9, 2008, at 22:30 PM, Roger P. wrote:

> Anybody know if there is anything like parse\_tree for 1.9?

require ‘ripper’  
Ripper.sexp ‘1 + 1’ #=\> [:program, [[:binary, [:@int, “1”, [1, 0]], :  
+, [:@int, “1”, [1, 4]]]]]

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/45deac/32.png) [@rogerdpack](https://www.ruby-forum.com/u/rogerdpack)\
**Post date:** [October 10, 2008, 10:33am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584/4 "2008-10-10T10:33:56Z")

</div>

On Oct 9, 2008, at 22:30 , Roger P. wrote:

> Anybody know if there is anything like parse\_tree for 1.9?

ruby\_parser (new and massively improved release coming soon)… don’t  
let the 1.0.0 release bias your opinion too much.

The only thing it doesn’t do is ASTs of runtime objects (procs,  
methods, classes/modules). It is 100% compatible with ParseTree’s  
output tho (that also has a big release coming and there is some  
incompatibilities, tho minor).

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/45deac/32.png) [@rogerdpack](https://www.ruby-forum.com/u/rogerdpack)\
**Post date:** [October 10, 2008, 10:35am UTC](https://www.ruby-forum.com/t/parse-tree-for-1-9/150584/5 "2008-10-10T10:35:41Z")

</div>

On Oct 10, 2008, at 01:02 , Alex F. wrote:

> Roger P. wrote:
> 
> > Anybody know if there is anything like parse\_tree for 1.9?  
> > Thanks!
> 
> Perhaps RubyVM::InstructionSequence.compile or  
> RubyVM::InstructionSequence::compile\_file will do something similar  
> to what you want. These methods are standard in 1.9

unfortunately, no… that’s not even close. ☹

I’ve asked multiple times if we could get bytecode for procs and short  
of writing more C extensions to hack it out myself, I doubt it’ll ever  
show. Even still, we’d have to write a bytecode decompiler to  
something that was remotely readable/usable. That’s a lot of work.
