[ANN] ruby_parser 3.0.0.a4 Released

ruby_parser version 3.0.0.a4 has been released!

* bugs: <https://github.com/seattlerb/ruby_parser/issues>
* rdoc: <http://docs.seattlerb.org/ruby_parser>
* home: <https://github.com/seattlerb/ruby_parser>

ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
racc--which does by default use a C extension). RP's output is
the same as ParseTree's output: s-expressions using ruby's arrays and
base types.

As an example:

  def conditional1(arg1)
    if arg1 == 0 then
      return 1
    end
    return 0
  end

becomes:

  s(:defn, :conditional1,
   s(:args, :arg1),
   s(:scope,
    s(:block,
     s(:if,
      s(:call, s(:lvar, :arg1), :==, s(:arglist, s(:lit, 0))),
      s(:return, s(:lit, 1)),
      nil),
     s(:return, s(:lit, 0)))))

Changes:

### 3.0.0.a4 / 2012-07-26

* 10 minor enhancements:

  * 'rake debug' defaults to 1.9 parser since that's all I'm doing these days
  * 1.9: Fixed f { |(a, b, ...), ...| ... } handling.
  * Added 'rake extract F=path' task to quickly extract errors from large files
  * Added on_error handler to provide more readable error message.
  * Aliased #process to #parse.
  * Renamed #parse to #process (legacy name), added default path of '(string)'
  * cleaned ruby_parse_extract_error output and fixed to 1.9 parser
  * ruby_parse_extract_error expands shell globs from ARGV
  * ruby_parse_extract_error should also capture RuntimeError
  * yyerror(msg) now warns with the message instead of ignoring it.

* 3 bug fixes:

  * 1.9: Fixed bug lexing/parsing [ in rhs.
  * 1.9: Fixed f { |((a, b), c)| ... } handling
  * 1.9: fixed newline handling during expr_value