parse_tree

ruby-1.9.2では動かなかったので、1.8.7で。

やっぱりコメント取れなかった。

require 'parse_tree'
#=> true
 sexp_array = ParseTree.translate("1+1")
#=> [:call, [:lit, 1], :+, [:array, [:lit, 1]]]

lines = <<EOS
  # AAAAAA
  def foo(*args)
    puts args.inspect
  end
EOS
#=> "  # AAAAAA\n  def foo(*args)\n    puts args.inspect\n  end\n"

ParseTree.translate(lines)
#=> [:defn, :foo, [:scope, [:block, [:args, :"*args"], [:fcall, :puts, [:array, [:call, [:lvar, :args], :inspect]]]]]]