tenderlove / rexical

rexical is a lexical scanner generator for ruby

tenderlove (author)
Tue Jun 30 20:25:53 -0700 2009
commit  8108a41099b3d4034119137204dbda1b261af7ef
tree    404fe0112e6eedf52986bdefe39daba0ce831391
parent  7702811e2169a9ec7d8bd64225876454cf5d0a05
rexical / README.rdoc
100644 53 lines (35 sloc) 1.038 kb

Rexical

DESCRIPTION

Rexical is a lexical scanner generator. It is written in Ruby itself, and generates Ruby program. It is designed for use with Racc.

SYNOPSIS

Here is a sample lexical definition:

  class Sample
  macro
    BLANK         [\ \t]+
  rule
    BLANK         # no action
    \d+           { [:digit, text.to_i] }
    \w+           { [:word, text] }
    \n
    .             { [text, text] }
  end

Here is the command line usage:

  $ rex  sample1.rex  --stub
  $ ruby sample1.rex.rb  sample1.c

  $ rex  sample2.rex  --stub
  $ ruby sample2.rex.rb  sample2.bas

  $ racc calc3.racc
  $ rex  calc3.rex
  $ ruby calc3.tab.rb

REQUIREMENTS

  • ruby version 1.8.x or later.

INSTALL

  • sudo gem install rexical

LICENSE

Rexical is distributed under the terms of the GNU Lesser General Public License version 2. Note that you do NOT need to follow LGPL for your own parser (Rexical outputs). You can provide those files under any licenses you want.