pkgsrc/devel/ruby-parser
taca 7d568ddc5e Update ruby-parser to 3.4.1.
=== 3.4.1 / 2014-02-14

* 1 minor enhancement:

  * Added StackState#store and #restore.

* 1 bug fix:

  * 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f'd up amounts of nesting + braces + do/end. yeah. I'm as confused as you are.

=== 3.4.0 / 2014-02-04

* 1 major enhancement:

  * Replaced hand-written/optimized f'd-up lexer with an oedipus_lex
    generated lexer. This makes it roughly 40-50% faster.

* 30 minor enhancements:

  * 2.0: Added support for a.b c() do d end.e do |f| g end
  * 2.0: Added support for a.b c() do d end.e f do |g| h end
  * Added -s flag to ruby_parse_extract_error to output timings.
  * Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences.
  * Added String#lineno and #lineno= because I'm a bad bad person.
  * Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc.
  * Added a bunch of process_* methods extracted from old yylex. process_amper, etc.
  * Added lib/.document to save my laptop's battery from pain and suffering
  * Adjust lineno when we lex a bunch of blank lines.
  * Attach lineno to tIDENTIFIER values (strings, ugh)
  * Cleaned up and re-ordered node_assign to be faster (ordered by actual occurrance).
  * Extend RubyParserStuff#gettable to set the lineno if it comes in with the id.
  * Extended RubyParserStuff#new_case to take line number.
  * Finally dropped RPStringScanner's BS #current_line.
  * Finally dropped RPStringScanner's BS line number calculation (lineno).
  * Implemented Sexp#add_all since we now have a test case for it.
  * Removed :call case of node_assign. I don't think it is possible.
  * Removed RubyLexer #extra_lines_added. No longer used. Complex heredoc lineno's possible screwed up.
  * Removed RubyLexer#parse_number. Handled by oedipus_lex.
  * Removed RubyLexer#yacc_value now that next_token returns pairs.
  * Removed RubyLexer's @src. Now taken care of by oedipus_lex.
  * Removed RubyParser#advance. RubyParser#next_token takes care of everything now.
  * Removed RubyParserExtras#arg_add. (presidentbeef! YAY!)
  * Removed lib/gauntlet_rubyparser.rb. I just don't use it anymore. Too slow.
  * RubyLexer#is_label_possible? doesn't need an arg
  * RubyLexer#process_token is now a normal oedipal lexer method.
  * RubyParser#next_token now expects RubyLexer#next_token to return a pair (type, val).
  * TRYING a new scheme to figure out encodings... but I'm about to throw in the towel. I hate this stuff so much.
  * Turned off oedipus_lex's automatic line counting. (pushing to oedipus_lex soon).
  * Updated to oedipus_lex 2.1+.

* 7 bug fixes:

  * 1.8: Properly parse `a (:b, :c, :d => :e)`. (presidentbeef)
  * Fixed lexing symbol!= vs symbol!. Please use your spacebar. Think of the children.
  * Fixed line for dstr spanning multiple lines via backslash. (presidentbeef)
  * Fixed line numbers for odd cases with trailing whitespace. (presidentbeef)
  * Fixed line numbers on ambiguous calls w/ gvar/ivar args. (presidentbeef)
  * Max out unicode hex values to 2-4 or 2-6 chars or pack will overflow and puke.
  * Removed ESC_RE from RubyLexer. Must have slipped through.

=== 3.3.0 / 2014-01-14

* Notes:

39 files failed to parse out of ~834k files makes this 99.9953% or 4.07σ.

* 15 minor enhancements:

  * 2.0: Parse kwarg as lvars. (chastell)
  * Added RubyLexer#beginning_of_line?, check(re), end_of_stream?
  * Added RubyLexer#process_token_keyword.
  * Added RubyLexer#scan, #matched, #beginning_of_line? and others to decouple from internals.
  * Added lexing of \u### and \u{###}."
  * Added optimizations for simple quoted symbols.
  * Aliased Lexer#src to ss (since that is what it is).
  * Allow for 20 in parser class name.
  * Modified parsers line number calculations for defn nodes.
  * Removed Env#dynamic, #dynamic?, #use, #used?
  * Removed RubyLexer#tern. Introduced and disused during 3.0 alpha. (whitequark)
  * Removed unused RubyLexer#warnings.
  * Renamed *_RE consts to just * (IDENT_CHAR, ESC, etc).
  * new_defn now sets arg node line number directly.
  * zero byte is allowed in symbols for 1.9 / 2.0.

* 11 bug fixes:

  * 2.0: Fixed paren-less kwargs in defn.
  * Don't bother with regexp encoding options on 1.9+ to avoid warnings.
  * Fix constant re-build on ruby 2.0 + rake 10.
  * Fix lexing of %i with extra whitespace. (flori)
  * Fixed RubyParserStuff#new_body to deal with nonsensical code better (begin-empty+else). (snatchev)
  * Fixed bug lexing h[k]=begin ... end. Use your space bars people!
  * Fixed env scoping in new lambdas.
  * Fixed handling of single array arg in attrasgn.
  * Fixed test to call RubyLexer#reset between assertions.
  * No longer assigning ivar/cvars to env. Only locals should be in env.
  * Refactored initialize and reset to more properly re-initialize as needed.
2014-03-14 16:16:52 +00:00
..
DESCR
distinfo
Makefile
PLIST