1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/ripper
mame 9b7fe0a250 ext/ripper: Introduce a simple DSL for ripper.y code generation
Currently, parse.y actions are hard to read and write because the code
has double meaning (for core parser and for ripper).  I think that, if
it is easy to write ripper's code shortly and simply, the double meaning
trick is not needed.

For the sake, this change adds a simple DSL for ripper's code.  For
example, in parse.y, we can write:

    /*% ripper: stmts_add(stmts_new, void_stmt) %*/

instead of:

    $$ = dispatch2(stmts_add, dispatch0(stmts_new),
                   dispatch0(void_stmt));

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-19 10:48:08 +00:00
..
lib Ripper::Lexer bit predicates 2017-12-13 10:26:09 +00:00
tools ext/ripper: Introduce a simple DSL for ripper.y code generation 2018-01-19 10:48:08 +00:00
depend ext/ripper: Introduce a simple DSL for ripper.y code generation 2018-01-19 10:48:08 +00:00
eventids2.c
extconf.rb
README

Ripper README
=============

  Ripper is a Ruby script parser.  You can get information
  by event-based style from the parser.

  !! WARNING !!

  Ripper is still early-alpha version.
  I never assure any kind of backward compatibility.

Requirements
------------

  * ruby 1.9 (support CVS HEAD only)
  * bison 1.28 or later (Other yaccs do not work)

Usage
-----

  See test/ripper/* and sample/ripper/*.

License
-------

  Ruby License.

                                                Minero Aoki
                                        aamine@loveruby.net
                                      http://i.loveruby.net