On 8/2/09 11:44 PM, Jason Roelofs wrote:
> What about the many other libraries that exist to dig into, or work directly with, the Ruby node structure? Like Nodewrap, RubyNode, ParseTree (http://blog.zenspider.com/2009/04/parsetree-eol.html), Rice, etc.

node.h is not installed because Ruby's AST is just an internal
implementation, not an API. The structure of AST sometimes changes for
performance improvement. Actually the structure changed between 1.8 and 1.9.

But, I love ParseTree and related projects like ruby2ruby or
sexp_processor.
AST itself is too internal to be widely used. But I think S-expression
like what seattle.rb products use is enough abstract. It is enough far
from internal implementation.

2 days ago, I talked with ko1 about Proc#to_source. If Proc#to_source is
supported by Ruby core, you can use ripper for generating S-expressoin.
Is this a good solution?

-- Yugui <yugui / yugui.jp>