public
Description: Racc is an LALR(1) parser generator. It is written in Ruby itself, and generates ruby programs.
Homepage:
Clone URL: git://github.com/tenderlove/racc.git
zenspider (author)
Tue Sep 15 15:11:16 -0700 2009
tenderlove (committer)
Wed Sep 16 17:39:45 -0700 2009
racc /
name age message
file .gitattributes Sun Dec 21 18:53:36 -0800 2008 adding .gitattributes [tenderlove]
file .gitignore Sat Nov 29 19:28:08 -0800 2008 updating gitignore [tenderlove]
file COPYING Sun Nov 20 05:46:38 -0800 2005 * COPYING: new file. git-svn-id: file:///User... [aamine]
file ChangeLog Tue Feb 20 01:46:25 -0800 2007 * lib/racc/grammar.rb (separated_by): last comm... [aamine]
file DEPENDS Sat Dec 01 19:51:28 -0800 2001 add DEPENDS git-svn-id: file:///Users/aaron/D... [aamine]
file README.en.rdoc Sun Dec 21 18:47:34 -0800 2008 updating documentation [tenderlove]
file README.ja.rdoc Sun Dec 21 18:47:34 -0800 2008 updating documentation [tenderlove]
file Rakefile Wed Sep 16 17:39:34 -0700 2009 ugh. rcov sucks Signed-off-by: Aaron Patterson... [zenspider]
file TODO Sat Oct 11 23:19:37 -0700 2003 updated. git-svn-id: file:///Users/aaron/Desk... [aamine]
directory bin/ Sat Nov 29 14:00:25 -0800 2008 applying zenspider's patch [tenderlove]
directory doc/ Thu Jan 22 11:33:19 -0800 2009 Consolidated all version strings to Racc::VERSI... [zenspider]
directory ext/ Wed Sep 16 17:39:45 -0700 2009 YAY for simpler Signed-off-by: Aaron Patterson... [zenspider]
directory fastcache/ Sat Jan 01 18:55:45 -0800 2005 * fastcache/fastcache.c: code refine. git-svn... [aamine]
directory lib/ Mon Sep 07 02:35:13 -0700 2009 Converted all args to ivars in parser.rb to mak... [zenspider]
directory misc/ Wed Feb 14 00:15:21 -0800 2007 remove useless file git-svn-id: file:///Users/... [aamine]
directory sample/ Sun Nov 20 05:30:49 -0800 2005 should be compilable git-svn-id: file:///User... [aamine]
file setup.rb Thu Aug 03 03:35:38 -0700 2006 * setup.rb: updated. git-svn-id: file:///User... [aamine]
directory tasks/ Wed Sep 16 17:39:33 -0700 2009 Added enhancements to build system to allow for... [zenspider]
directory test/ Sun Nov 30 20:37:21 -0800 2008 removing file writing [tenderlove]
directory web/ Sun Nov 20 09:25:51 -0800 2005 wrote about CVS repository git-svn-id: file:/... [aamine]
README.ja.rdoc

Racc

DESCRIPTION:

  Racc は LALR(1) パーサジェネレータです。
  yacc の Ruby 版に相当します。

  NOTE:
  Ruby 1.8.0 からは Racc のランタイムが標準添付されているので、
  Racc で生成したパーサを安心して配布できます。また Ruby 1.6 系に
  対応させたい場合は racc -E で生成してください。

必要環境

  *  Ruby 1.8 以降
 (*) C コンパイラと make

インストール

  gem インストール:

    $ gem install racc

  setup.rb インストル:

  パッケージのトップディレクトリで次のように入力してください。
  ($ は通常ユーザ、# はルートのプロンプトです)

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

  これで通常のパスに Racc がインストールされます。自分の好き
  なディレクトリにインストールしたいときは、setup.rb config に
  各種オプションをつけて実行してください。オプションのリストは

      $ ruby setup.rb --help

  で見られます。

  コンパイラがない場合
  --------------------

  config を以下のようにすれば、拡張モジュールなしで
  インストールできます。

      $ ruby setup.rb config --without-ext

テスト

  sample/ 以下にいくつか Racc の文法ファイルのサンプルが用意
  してあります。動くのも動かないのもありますが、少なくとも
  calc-ja.y は動くのでこれを処理してみましょう。Racc をインス
  トールしたあと

      $ racc -ocalc.rb calc-ja.y

  として下さい。処理は一瞬から数秒で終わるので、

      $ ruby calc.rb

  を実行してください。ちゃんと動いてますか?

  Racc の文法など詳しいことは doc.ja/ ディレクトリ以下の HTML を
  見てください。

ライセンス

  このパッケージに付属するファイルの著作権は青木峰郎が保持します。
  ライセンスは GNU Lesser General Public License (LGPL) version 2
  です。ただしユーザが書いた規則ファイルや、Racc がそこから生成し
  た Ruby スクリプトはその対象外です。好きなライセンスで配布して
  ください。

バグなど

  Racc を使っていてバグらしき現象に遭遇したら、下記のアドレスまで
  メールをください。作者にはバグを修正する義務はありませんがその
  意思はあります。また、そのときはできるだけバグを再現できる文法
  ファイルを付けてください。

                                         青木峰郎(あおきみねろう)
                                              aamine@loveruby.net
                                            http://i.loveruby.net