Skip to content


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

This branch is 3 commits behind tenderlove:master

Merge pull request #48 from ocha-/doc2

Mainly s/unary and minus/unary minus
latest commit d4fe9f204d
@zenspider zenspider authored
Failed to load latest commit information.
bin applying zenspider's patch
ext/racc fixed build name.
lib More manual edits to fix bad merge on master. This gets all tests
misc remove useless file
rdoc Mainly s/unary and minus/unary minus
sample change all grammer => grammar
tasks Added coding magic comment to tasks/email.rb
test Merge branch 'master' into fix-bad-merge
web wrote about CVS repository
.gitignore Merge branch 'master' into fix-bad-merge
.travis.yml Add .travis.yml for pull request checking
COPYING * COPYING: new file.
ChangeLog * lib/racc/grammar.rb (separated_by): last commit was wrong. use opti…
Manifest.txt fixing patch
README.ja.rdoc updating documentation
Rakefile Merge branch 'master' into fix-bad-merge
TODO updated.
setup.rb * setup.rb: updated.




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


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


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/'.


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
Something went wrong with that request. Please try again.