[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1025707: ITP: ruby-oedipus-lex -- Lexer generator in the same family as Rexical and Rex



Package: wnpp
Severity: wishlist

* Package name:         ruby-oedipus-lex
  Version:                     2.6.0
  Upstream Author:      Ryan Davis <ryand@zenspider.com>
* URL: https://github.com/seattlerb/oedipus_lex
* License:                    Expat
  Programming Lang:   Ruby
  Description:               Lexer generator in the same family as Rexical and Rex

 Oedipus Lex is a lexer generator in the same family as Rexical and
 Rex. Oedipus Lex is a independent lexer fork of Rexical. Rexical was
 in turn a fork of Rex. We've been unable to contact the author of rex
 in order to take it over, fix it up, extend it, and relicense it to
 MIT. So, Oedipus was written clean-room in order to bypass licensing
 constraints (and because bootstrapping is fun).
 .
 Oedipus brings a lot of extras to the table and at this point is only
 historically related to rexical. The syntax has changed enough that
 any rexical lexer will have to be tweaked to work inside of oedipus.
 At the very least, you need to add slashes to all your regexps.
 .
 Oedipus, like rexical, is based primarily on generating code much like
 you would a hand-written lexer. It is _not_ a table or hash driven
 lexer. It uses StrScanner within a multi-level case statement. As such,
 Oedipus matches on the _first_ match, not the longest (like lex and
 its ilk).

This package is needed by ruby-rubocop-ast which is a dependency of rubocop. It will be maintained under the Ruby team's umbrella.

--
Lucas Kanashiro


Reply to: