Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Racc is an LALR(1) parser generator. It is written in Ruby itself, and generates ruby programs.

branch: master
README.rdoc

Racc

DESCRIPTION:

Racc is a LALR(1) parser generator.
It is written in Ruby itself, and generates Ruby program.

NOTE: Ruby 1.8.x comes with Racc runtime module.  You
can run your parsers generated by racc 1.4.x out of the
box.

Requirement

 *  Ruby 1.8.x or later.
(*) make and C compiler.

Installation

gem install:

  $ gem install racc

setup.rb install:

Type this in the top directory of the extracted archive:

  $ ruby setup.rb config
  $ ruby setup.rb setup
 ($ su)
  # ruby setup.rb install

You can install Racc into your favorite directory by giving
options to setup.rb. e.g.

  $ ruby setup.rb config --prefix=/usr

For details, try "ruby setup.rb --help".

If you don't have C Compiler
----------------------------

You can install Racc without C compilers. Type following
command in config phase.

  $ ruby setup.rb config --without-ext

Testing Racc

Racc comes with simple calculator. To compile this, on shell:

    $ racc -o calc calc.y

This process costs few seconds (or less). Then type:

    $ ruby calc

... Does it works?
For details of Racc, see HTML documents placed under 'doc.en/'
and sample grammar files under 'sample/'.

License

Racc 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 (racc outputs). You can provide those
files under any licenses you want.

Bug Reports

Any kind of bug reports are welcome.
If you find a bug of Racc, please email me. Your grammar file,
debug output genereted by "racc -g", are helpful.

                                                    Minero Aoki
                                            aamine@loveruby.net
                                          http://i.loveruby.net
Something went wrong with that request. Please try again.