./devel/ruby-parser, Ruby parser written in pure ruby

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.14.2, Package name: ruby26-parser-3.14.2, Maintainer: pkgsrc-users

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.


Required to run:
[devel/ruby-sexp-processor] [lang/ruby26-base]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: fd7225ad480c6c6c279b49cf3451437621deee26
RMD160: c9d017c1ae66fad44cd304ac72e2fd2410a82765
Filesize: 455.5 KB

Version history: (Expand)


CVS history: (Expand)


   2020-03-08 15:42:38 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
devel/ruby-parser: update to 3.14.2

Update ruby-parser to 3.14.2.

=== 3.14.2 / 2020-02-06

* 1 minor enhancement:

  * Cleaned up call_args and removed arg_blk_pass from ruby_parser_extras.rb! Yay!
   2019-10-30 16:19:43 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
devel/ruby-parser: update to 3.14.1

Update ruby-parser to 3.14.1.

=== 3.14.1 / 2019-10-29

* 1 minor enhancement:

  * Declared that ruby_parser supports ruby 2.2 and up.

* 3 bug fixes:

  * Fixed a problem with %W with a null-byte terminator. (wtf?) (spohlenz)
  * Fixed line numbering for command (eg methods without parentheses) arguments. \ 
(mvz)
  * Fixed lineno on new dxstrs. (presidentbeef)

=== 3.14.0 / 2019-09-24

* 8 minor enhancements:

  * Added Sexp#line_min & new line number debugging feature.
  * Allow bin/ruby_parse to use RP_TIMEOUT to tweak default timeout for large \ 
files & slow debugging modes.
  * Did you know that custom inspect can't be > 65 chars? 65! Me neither. Fixed.
  * For now, value_expr == remove_begin.
  * Improved error messages for unterminated regexps.
  * Moved all STR_* consts into State::Values and made them State instances.
  * Overhauled RubyLexer::State + Values to allow for completely separate groups \ 
of States.
  * RubyParserExtras#remove_begin removes nested begins and patches line numbers.

* 22 bug fixes:

  * Changed EOF signaling to return [false, false] per doco.
  * Changed RubyParserStuff#remove_begin to keep inner line number, if any. (mvz)
  * Differentiated between lambda call and stabby proc. Added :lambda sexp. \ 
(whitequark)
  * Extended State#== to check equal? first as an optimization.
  * Fixed a bug in tab indent width.
  * Fixed a line numbering bug for assignables.
  * Fixed a line numbering bug for defns w/ nil bodies.
  * Fixed another missing line number, driven out by ruby_to_ruby bootstrap.
  * Fixed dedenting squiggle heredocs if interpolation is in the mix. (mvz)
  * Fixed differentiation of `{ |a| ... }` vs `{ |a,| ... }`. Fixes #236 \ 
(whitequark).
  * Fixed lex_state for symbols.
  * Fixed lex_state for tSTRING_END and tREGEXP_END.
  * Fixed line numbers for BEGIN block. (mvz)
  * Fixed op_asgn1 w/ command_call having array instead of arglist. (mvz)
  * Fixed parsing of () in a command-call (eg p).
  * Fixed remaining missing line numbers by forcing extra checks during test and \ 
blowing up. They may still be wrong (esp after heredocs, ugh), but they're \ 
there! Special thank you to mvz for pushing on this and providing tests and PRs.
  * Fixed some lex_state versioning issues with closing braces/bracket on ruby<25.
  * Keep carriage return escapes in heredocs. (mvz)
  * Massive overhaul of line number code.
  * More line number fixes and extra tests from mvz. Thank you!
  * Parsing BEGIN block when not at top level should raise an error. (mvz)
  * Removed irb task from Rakefile as it has been pushed up to Hoe and doubles \ 
up here.
   2019-05-06 07:29:20 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-parser: update to 3.13.1

=== 3.13.1 / 2019-03-25

* 1 major enhancement:

  * Overhauled RubyLexer#lex_state to allow for multi-state value.

* 5 minor enhancements:

  * Added RubyParser#current so scripts can poke around inside.
  * Cleaned up and modernized bin/ruby_parse_extract_error.
  * Removed RubyLexer#in_lex_state? in favor of State#=~ and #==.
  * Renamed RubyLexer#in_arg_state? to is_after_operator?.
  * Replaced all use of :expr_<*> symbols w/ bitfields.

* 15 bug fixes:

  * Added tests to show #233 already fixed.
  * Fixed a lexer state bug dealing with complex edge case in hash  key w/ \ 
interpolated symbol and an array value. Not a great fix. (presidentbeef)
  * Fixed a number of lex_state check problems.
  * Fixed alias and undef keyword data.
  * Fixed bug normalizing to utf-8 on tail of dstr (post-interpolation). (mvz)
  * Fixed handling of hex chars for bare unicode escape. (mvz)
  * Fixed handling of invalid string octals more gracefully. Needs generalization.
  * Fixed lexing of regexps w/ backslashed unicode. I hope.
  * Fixed parse_percent for EXPR_FITEM edge cases. Fixed bug #125.
  * Fixed parsing of op_asgn on constants (eg ::X ||= 1).
  * Fixed precedence of rescue modifier on assignments. (mvz/whitequark)
  * Fixed some EXPR_FNAME edge cases.
  * Fixed using unicode in gvars. Fixed bug 202. (331299)
  * Handle invalid string literals more gracefully.
  * Minor fix lexing %s[]

=== 3.13.0 / 2019-03-12

* 3 major enhancements:

  * Removed 1.8 and 1.9 support. Moved to ruby_parser-legacy gem.
  * Added tentative 2.6 support.
  * Updated ruby_parser.yy to ruby 2.4 architecture.

* 22 minor enhancements:

  * Added debug3 and cmp3 rake tasks that use the above tools.
  * Added tLONELY to compare/normalize.rb
  * Added tools/munge.rb, tools/ripper.rb, and debugging.md
  * 2.6: Added trailing .. and ... support.
  * Extended StackState to log more state changes, making debugging easier.
  * Extended StackState#store to take an initial value.
  * Improved logging / debugging in StackState.
  * Improved normalization and parser compare tasks.
  * Improved tools/munge.rb output.
  * In f_arglist, track in_kwarg if no parens.
  * In process_newline_or_comment, handle NL if in_kwarg there vs normal.
  * Refactored normalized values to WORDLIST.
  * Refactored parser: push up to relop and rel_expr.
  * Removed Keyword.keyword18.
  * Removed RubyLexer version attr_accessors.
  * Removed long dead deprecations internal to RubyParserStuff.
  * Removed version arg to RubyLexer#initialize (default nil + no-op).
  * Renamed Keyword.keyword19 to Keyword.keyword.
  * Renamed process_bracing to process_brace_close
  * Renamed process_curly_brace to process_brace_open
  * Report first parse error message if all parser versions fail, not last.
  * Updated parser to track against 2.6.

* 11 bug fixes:

  * Fix some shift/reduce errors.
  * Fixed BEGIN blocks having different arg value that END blocks. (mvz)
  * Fixed all reported unused non-terminals/rules.
  * Fixed bug 272.
  * Fixed bug in interpolated symbol lists. (strviola)
  * Fixed bug where block shadow arguments were not registered as lvars. (akimd)
  * Fixed bug where kwsplat args weren't treated as lvars. (mvz)
  * Fixed lex_state and other internals in many cases.
  * Fixed shebang in compare/normalize.rb to use env. Avoids rubygems freaking.
  * Fixed some more internal state bugs.
  * Fixed tRCURLY -> tSTRING_DEND for interpolation brace closes.
   2018-12-17 15:50:34 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
devel/ruby-parser: update to 3.12.0

=== 3.12.0 / 2018-12-04

* 3 minor enhancements:

  * 2.5: Allow rescue/ensure/else in normal do blocks. (presidentbeef)
  * Added stabby proc with do/end as block call argument. (presidentbeef)
  * Holy cow levels of optimization from presidentbeef. I write slow bad code.

* 1 bug fix:

  * Improve handling of single-quoted symbols and labels. (mvz)
   2018-03-14 15:08:52 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
devel/ruby-parser: update to 3.11.0

=== 3.11.0 / 2018-02-14

* 1 major enhancement:

  * Expand to support ruby 2.5 parsing.

* 3 bug fixes:

  * Fixed %r lexing when delimiter is also used in (?X) group.
  * Restore newline after label to detect required kwarg. (presidentbeef)
  * Return `s(:self)` target for `self[]` calls. (presidentbeef)
   2017-07-31 16:15:02 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
Update ruby-parser to 3.10.1.

=== 3.10.1 / 2017-07-21

* 2 bug fixes:

  * Fixed identification of parser version whether Ruby##Parser or Parser::V##.
  * Fixed squiggly heredoc lexing when using 24 parser.

=== 3.10.0 / 2017-07-17

* 4 minor enhancements:

  * Added support for 'squiggly heredocs' (indented content). (jjoos)
  * Bumped oedipus_lex to ~> 2.5.
  * Bumped sexp_processor to ~> 4.9.
  * Made STRICT_SEXP=1 safe: converted indexed sexps to semantic calls where needed.

* 5 bug fixes:

  * Clear and restore cmdarg stack around defs args and body. (presidentbeef)
  * Conditionalize use of sexp_body= to make it compatible w/ sexp_processor 4.9.0
  * Fix up line numbers in strings with newlines and `#`. (presidentbeef)
  * Fixed line numbers of resbodies.
  * Fixed some tracking of lexical state. Fixes bug #249.
   2017-04-22 18:25:55 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
Update ruby-parser to 3.9.0.

=== 3.9.0 / 2017-04-13

* 1 major enhancement:

  * Added tentative ruby 2.4 support. Probably missing things.

* 13 minor enhancements:

  * Added RubyParser.latest.
  * Added RubyParser::Parser.version to make version range comparisons easier
  * Changed superclasses of all parsers to RubyParser::Parser
  * Cleaned up a lot of the version specific code to be more generic/flexible.
  * Documented how to add new versions in README.
  * Moved RubyParser from ruby_parser_extras.rb into ruby_parser.rb to fix \ 
bootstrap issues.
  * Renamed RubyParserStuff#get_match_node to new_match. Aliased and deprecated.
  * Renamed RubyParserStuff#logop to logical_op. Aliased and deprecated.
  * Renamed RubyParserStuff#node_assign to new_assign. Aliased and deprecated.
  * Renamed all parsers to RubyParser::V##.
  * Revamped grammar preprocessing to make adding new versions easier.
  * RubyParser.for_current_ruby falls back to latest if current not available.
  * Subclasses of RubyParser::Parser register themselves into RubyParser::VERSIONS.

* 4 bug fixes:

  * Fixed `&.` after newline. (presidentbeef)
  * Fixed bug setting line number for hash literals to line of opening brace.
  * Fixed grammar preprocessing bug.
  * Properly handle kDO with no-parens stabby lambda. (presidentbeef)
   2017-03-19 18:00:05 by Takahiro Kambe | Files touched by this commit (3) | Package updated
Log message:
Update ruby-parser to 3.8.4.

=== 3.8.4 / 2017-01-13

* 3 bug fixes:

  * Fix parsing if in LHS label position. (presidentbeef)
  * Fixed parsing of anonymous keyword splat arg (eg f(**)).
  * Fixed ruby 2.4+ deprecation warnings about using Fixnum.