是否可能从Ruby本身获取块的AST?
我已经查看了ParseTree和ruby_parser,但它们似乎都对Ruby 1.9.2支持不完全(根据我所读的)。我需要与1.9.2良好配合的东西。
是否可能从Ruby本身获取块的AST?
我已经查看了ParseTree和ruby_parser,但它们似乎都对Ruby 1.9.2支持不完全(根据我所读的)。我需要与1.9.2良好配合的东西。
Ripper已经默认包含在MRI 1.9中。
ruby-1.9.2-p180 :004 > require 'ripper'
=> true
ruby-1.9.2-p180 :005 > Ripper.sexp("def a; end")
=> [:program, [[:def, [:@ident, "a", [1, 4]], [:params, nil, nil, nil, nil, nil], [:bodystmt, [[:void_stmt]], nil, nil, nil]]]]