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

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


Branch: CURRENT, Version: 3.13.1, Package name: ruby24-parser-3.13.1, 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/ruby24-base]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: e00d984fe9d13d5359981aca7baa579cd68ad27e
RMD160: 6c93b1f720ab789176c02891cf312ff83c1a3783
Filesize: 435.5 KB

Version history: (Expand)


CVS history: (Expand)


   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.
   2016-10-20 16:43:25 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
Update ruby-parser to 3.8.3.

=== 3.8.3 / 2016-10-09

* 1 minor enhancement:

  * Support Ruby 2.1 number literals. (soutaro)

* 3 bug fixes:

  * Fixed line numbers for strs with backslash-newlines. (maxjacobson)
  * Improved compatibility on tokenizing number. (soutaro)
  * Refactored and fixed multiline array line numbers. (ptoomey3, with changes)
   2016-10-09 16:26:56 by Takahiro Kambe | Files touched by this commit (2) | Package updated
Log message:
Update ruby-parser to 3.8.2.

=== 3.8.2 / 2016-05-05

* 2 bug fixes:

  * Fixed lex_state in interpolated strings. (whitequark)
  * Fixed safe operator for newline/semicolon contexts. (presidentbeef)