PHP 8.2.31
Preview: ripper.rb Size: 2.44 KB
/proc/thread-self/root/opt/alt/ruby30/share/ruby/ripper.rb

# frozen_string_literal: true
require 'ripper/core'
require 'ripper/lexer'
require 'ripper/filter'
require 'ripper/sexp'

# Ripper is a Ruby script parser.
#
# You can get information from the parser with event-based style.
# Information such as abstract syntax trees or simple lexical analysis of the
# Ruby program.
#
# == Usage
#
# Ripper provides an easy interface for parsing your program into a symbolic
# expression tree (or S-expression).
#
# Understanding the output of the parser may come as a challenge, it's
# recommended you use PP to format the output for legibility.
#
#   require 'ripper'
#   require 'pp'
#
#   pp Ripper.sexp('def hello(world) "Hello, #{world}!"; end')
#     #=> [:program,
#          [[:def,
#            [:@ident, "hello", [1, 4]],
#            [:paren,
#             [:params, [[:@ident, "world", [1, 10]]], nil, nil, nil, nil, nil, nil]],
#            [:bodystmt,
#             [[:string_literal,
#               [:string_content,
#                [:@tstring_content, "Hello, ", [1, 18]],
#                [:string_embexpr, [[:var_ref, [:@ident, "world", [1, 27]]]]],
#                [:@tstring_content, "!", [1, 33]]]]],
#             nil,
#             nil,
#             nil]]]]
#
# You can see in the example above, the expression starts with +:program+.
#
# From here, a method definition at +:def+, followed by the method's identifier
# <code>:@ident</code>. After the method's identifier comes the parentheses
# +:paren+ and the method parameters under +:params+.
#
# Next is the method body, starting at +:bodystmt+ (+stmt+ meaning statement),
# which contains the full definition of the method.
#
# In our case, we're simply returning a String, so next we have the
# +:string_literal+ expression.
#
# Within our +:string_literal+ you'll notice two <code>@tstring_content</code>,
# this is the literal part for <code>Hello, </code> and <code>!</code>. Between
# the two <code>@tstring_content</code> statements is a +:string_embexpr+,
# where _embexpr_ is an embedded expression. Our expression consists of a local
# variable, or +var_ref+, with the identifier (<code>@ident</code>) of +world+.
#
# == Resources
#
# * {Ruby Inside}[http://www.rubyinside.com/using-ripper-to-see-how-ruby-is-parsing-your-code-5270.html]
#
# == Requirements
#
# * ruby 1.9 (support CVS HEAD only)
# * bison 1.28 or later (Other yaccs do not work)
#
# == License
#
# Ruby License.
#
# - Minero Aoki
# - aamine@loveruby.net
# - http://i.loveruby.net
class Ripper; end

Directory Contents

Dirs: 27 × Files: 64

Name Size Perms Modified Actions
benchmark DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
- drwxr-xr-x 2024-07-23 07:09:57
Edit Download
cgi DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
csv DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
digest DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
drb DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
fiddle DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
io DIR
- drwxr-xr-x 2024-06-26 13:55:13
Edit Download
json DIR
- drwxr-xr-x 2024-07-23 07:10:01
Edit Download
logger DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
matrix DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
net DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
openssl DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
optparse DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
psych DIR
- drwxr-xr-x 2024-07-23 07:10:01
Edit Download
racc DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
reline DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
rinda DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
ripper DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
set DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
syslog DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
uri DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
- drwxr-xr-x 2024-06-26 13:55:13
Edit Download
yaml DIR
- drwxr-xr-x 2024-07-23 07:09:55
Edit Download
3.45 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
3.30 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
18.02 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
24 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
9.82 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
368 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
86.71 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
1.02 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
30.30 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
11.68 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
3.85 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
2.83 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
50 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
6.11 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
28.81 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
2.17 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
2.11 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
48.26 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
2.47 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
8.98 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
15.45 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
19.52 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
19.30 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
5.72 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
16.48 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
61.83 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
86.59 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
6.76 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
2.23 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
2.66 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
6.38 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
24.74 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
21.93 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
1.06 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
59 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
60.34 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
12.38 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
16.46 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
15.85 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
15.90 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
15.13 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
14.73 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
22.40 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
137 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
113 B lrw-r--r-- 2024-06-26 13:55:18
Edit Download
13.90 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
1.76 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
74.18 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
2.44 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
8.86 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
19.42 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
7.09 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
4.08 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
43.65 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
12.43 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
24.27 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
4.00 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
4.40 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
6.50 KB lrw-r--r-- 2024-06-26 13:55:17
Edit Download
14.30 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
10.11 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
3.04 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
1.46 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download
1.80 KB lrw-r--r-- 2024-06-26 13:55:18
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).