diff options
Diffstat (limited to 'ext/ripper/lib')
-rw-r--r-- | ext/ripper/lib/ripper/sexp.rb | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/ext/ripper/lib/ripper/sexp.rb b/ext/ripper/lib/ripper/sexp.rb index f2260fe8dd..37040e4c11 100644 --- a/ext/ripper/lib/ripper/sexp.rb +++ b/ext/ripper/lib/ripper/sexp.rb @@ -14,13 +14,32 @@ class Ripper # [EXPERIMENTAL] # Parses +src+ and create S-exp tree. + # Returns more readable tree rather than Ripper.sexp_raw. # This method is for mainly developper use. # # require 'ripper' - # require 'pp + # require 'pp' # # pp Ripper.sexp("def m(a) nil end") # #=> [:program, + # [[:def, + # [:@ident, "m", [1, 4]], + # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil]], + # [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]] + # + def Ripper.sexp(src, filename = '-', lineno = 1) + SexpBuilderPP.new(src, filename, lineno).parse + end + + # [EXPERIMENTAL] + # Parses +src+ and create S-exp tree. + # This method is for mainly developper use. + # + # require 'ripper' + # require 'pp' + # + # pp Ripper.sexp_raw("def m(a) nil end") + # #=> [:program, # [:stmts_add, # [:stmts_new], # [:def, @@ -32,10 +51,6 @@ class Ripper # nil, # nil]]]] # - def Ripper.sexp(src, filename = '-', lineno = 1) - SexpBuilderPP.new(src, filename, lineno).parse - end - def Ripper.sexp_raw(src, filename = '-', lineno = 1) SexpBuilder.new(src, filename, lineno).parse end |