Class | Ripper |
In: |
lib/ripper/core.rb
lib/ripper/lexer.rb lib/ripper/sexp.rb lib/ripper/filter.rb ext/ripper.y ext/ripper.c ext/parse.y |
Parent: | Object |
:nodoc:
PARSER_EVENTS | = | PARSER_EVENT_TABLE.keys | This array contains name of parser events. | |
SCANNER_EVENTS | = | SCANNER_EVENT_TABLE.keys | This array contains name of scanner events. | |
EVENTS | = | PARSER_EVENTS + SCANNER_EVENTS | This array contains name of all ripper events. | |
Version | = | rb_usascii_str_new2(RIPPER_VERSION) | ||
Version | = | rb_usascii_str_new2(RIPPER_VERSION) | ||
Version | = | rb_usascii_str_new2(RIPPER_VERSION) |
Tokenizes Ruby program and returns an Array of Array, which is formatted like [[lineno, column], type, token].
require 'ripper' require 'pp' p Ripper.lex("def m(a) nil end") #=> [[[1, 0], :on_kw, "def"], [[1, 3], :on_sp, " " ], [[1, 4], :on_ident, "m" ], [[1, 5], :on_lparen, "(" ], [[1, 6], :on_ident, "a" ], [[1, 7], :on_rparen, ")" ], [[1, 8], :on_sp, " " ], [[1, 9], :on_kw, "nil"], [[1, 12], :on_sp, " " ], [[1, 13], :on_kw, "end"]]
Create a new Ripper object. src must be a String, an IO, or an Object which has gets method.
This method does not starts parsing. See also Ripper#parse and Ripper.parse.
Create a new Ripper object. src must be a String, an IO, or an Object which has gets method.
This method does not starts parsing. See also Ripper#parse and Ripper.parse.
Create a new Ripper object. src must be a String, an IO, or an Object which has gets method.
This method does not starts parsing. See also Ripper#parse and Ripper.parse.
[EXPERIMENTAL] Parses src and create S-exp tree. This method is for mainly developper use.
require 'ripper' require 'pp pp Ripper.sexp("def m(a) nil end") #=> [:program, [:stmts_add, [:stmts_new], [:def, [:@ident, "m", [1, 4]], [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]], [:bodystmt, [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]]
[EXPERIMENTAL] Parses src and return a string which was matched to pattern. pattern should be described as Regexp.
require 'ripper' p Ripper.slice('def m(a) nil end', 'ident') #=> "m" p Ripper.slice('def m(a) nil end', '[ident lparen rparen]+') #=> "m(a)" p Ripper.slice("<<EOS\nstring\nEOS", 'heredoc_beg nl $(tstring_content*) heredoc_end', 1) #=> "string\n"