Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ruby / usr / share / ri / 2.2.0 / system / Ripper / cdesc-Ripper.ri
Size: Mime:
U:RDoc::NormalClass[iI"Ripper:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[#o:RDoc::Markup::Paragraph;[I"$Ripper is a Ruby script parser.;To:RDoc::Markup::BlankLineo;	;[I"EYou can get information from the parser with event-based style. ;TI"QInformation such as abstract syntax trees or simple lexical analysis of the ;TI"Ruby program.;T@S:RDoc::Markup::Heading:
leveli:	textI"
Usage;T@o;	;[I"PRipper provides an easy interface for parsing your program into a symbolic ;TI"'expression tree (or S-expression).;T@o;	;[I"JUnderstanding the output of the parser may come as a challenge, it's ;TI"@recommended you use PP to format the output for legibility.;T@o:RDoc::Markup::Verbatim;[I"require 'ripper'
;TI"require 'pp'
;TI"
;TI"@pp Ripper.sexp('def hello(world) "Hello, #{world}!"; end')
;TI"  #=> [:program,
;TI"       [[:def,
;TI"*         [:@ident, "hello", [1, 4]],
;TI"         [:paren,
;TI"X          [:params, [[:@ident, "world", [1, 10]]], nil, nil, nil, nil, nil, nil]],
;TI"         [:bodystmt,
;TI""          [[:string_literal,
;TI"#            [:string_content,
;TI";             [:@tstring_content, "Hello, ", [1, 18]],
;TI"P             [:string_embexpr, [[:var_ref, [:@ident, "world", [1, 27]]]]],
;TI"8             [:@tstring_content, "!", [1, 33]]]]],
;TI"          nil,
;TI"          nil,
;TI"          nil]]]]
;T:@format0o;	;[I"MYou can see in the example above, the expression starts with +:program+.;T@o;	;[I"SFrom here, a method definition at +:def+, followed by the method's identifier ;TI"O<code>:@ident</code>. After the method's identifier comes the parentheses ;TI"8+:paren+ and the method parameters under +:params+.;T@o;	;[I"RNext is the method body, starting at +:bodystmt+ (+stmt+ meaning statement), ;TI"6which contains the full definition of the method.;T@o;	;[I"GIn our case, we're simply returning a String, so next we have the ;TI""+:string_literal+ expression.;T@o;	;[
I"SWithin our +:string_literal+ you'll notice two <code>@tstring_content</code>, ;TI"Sthis is the literal part for <code>Hello, </code> and <code>!</code>. Between ;TI"Nthe two <code>@tstring_content</code> statements is a +:string_embexpr+, ;TI"Swhere _embexpr_ is an embedded expression. Our expression consists of a local ;TI"Rvariable, or +var_ref+, with the identifier (<code>@ident</code>) of +world+.;T@S;;i;
I"Resources;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"i{Ruby Inside}[http://www.rubyinside.com/using-ripper-to-see-how-ruby-is-parsing-your-code-5270.html];T@S;;i;
I"Requirements;T@o;;;;[o;;0;[o;	;[I"%ruby 1.9 (support CVS HEAD only);To;;0;[o;	;[I"2bison 1.28 or later (Other yaccs do not work);T@S;;i;
I"License;T@o;;[
I"Ruby License.
;TI"
;TI"?                                              Minero Aoki
;TI"?                                      aamine@loveruby.net
;TI">                                    http://i.loveruby.net;T;0:
@fileI"ext/ripper/lib/ripper.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I""ext/ripper/lib/ripper/core.rb;T;0o;;[;I"$ext/ripper/lib/ripper/filter.rb;T;0o;;[;I"#ext/ripper/lib/ripper/lexer.rb;T;0o;;[;I""ext/ripper/lib/ripper/sexp.rb;T;0o;;[;I"ext/ripper/ripper.c;T;0o;;[;I"parse.c;T;0;0;0[[	U:RDoc::Constant[iI"PARSER_EVENTS;FI"Ripper::PARSER_EVENTS;T00o;;[o;	;[I"/This array contains name of parser events.;T;@n;0@n@cRDoc::NormalClass0U;[iI"SCANNER_EVENTS;FI"Ripper::SCANNER_EVENTS;T00o;;[o;	;[I"0This array contains name of scanner events.;T;@n;0@n@@„0U;[iI"EVENTS;FI"Ripper::EVENTS;T00o;;[o;	;[I"3This array contains name of all ripper events.;T;@n;0@n@@„0U;[iI"Version;TI"Ripper::Version;T00o;;[o;	;[I"version of Ripper;T@;@z;0@z@@„0[[[I"
class;T[[:public[[I"lex;FI"#ext/ripper/lib/ripper/lexer.rb;T[I"new;TI"ext/ripper/ripper.c;T[I"
parse;FI""ext/ripper/lib/ripper/core.rb;T[I"	sexp;FI""ext/ripper/lib/ripper/sexp.rb;T[I"
sexp_raw;F@²[I"
slice;F@©[I"
tokenize;F@©[:protected[[:private[[I"
instance;T[[;[[I"column;T@¬[I"
encoding;T@¬[I"end_seen?;T@¬[I"error?;T@¬[I"
filename;T@¬[I"lineno;T@¬[I"
parse;T@¬[I"yydebug;T@¬[I"
yydebug=;T@¬[;[[;[[I"compile_error;F@¯[I"	warn;F@¯[I"warning;F@¯[[U:RDoc::Context::Section[i0o;;[;0;0[@k@n@q@t@w@z@}@}cRDoc::TopLevel