新井です。

>>> From: Minero Aoki <aamine / dp.u-netsurf.ne.jp>
>>> Date: 03 Jan 2000 11:34:50 +0900
>>> Subject: [ruby-list:20019] Re: RD with method index (again)

> あおきです。

> > 定数はクラスやモジュールで定義されるモノだからmainってことは
> > ないと思います。
> 
> ::Const でしょう。

ruby ではそれもありですね。RDでそれを許してもまぁ判定に困る
ことはないかな。そういえば、クラスメソッドで"::"を許してもい
いですね。(でも個人的な趣味で、"."で提案してる)

ところで、raccなんですがインストール時にエラーになります。
raccのバージョンは0.10.7です。

・$objsを初期化しておかないと、setup.rb setupのとき、
    $ ruby -v -I . setup.rb setup
    ruby 1.4.4 (1999-12-14) [i586-linux]
    ...
    setup failed
    undefined method `join' for "cparse.o":String
  と言われます。(mkmf.rbの問題とも言える)
・rubyに--program-suffixを付けてるとraccのインストール先が
  /usr/local/lib/ruby-1.4.4/1.4/...
  とかになります。
・ruby-1.4では
    Installer::RUBY_PATH
  をアクセスできません。

  module RubyParams
    RUBY_PATH="/usr/local/bin/ruby"
  end
  class Installer
    include RubyParams
  end
  p Installer::RUBY_PATH

  -> ruby 1.4.4 (1999-12-14) [i586-linux]
     -:7: uninitialized constant Installer::RUBY_PATH (NameError)

  1.5 ではOKなんですが共有変数になってからの仕様変更でしょうね。
  -> ruby 1.5.0 (1999-12-14) [i586-linux]
     "/usr/local/bin/ruby"

一応場当たり的な修正は以下です。

diff -ru racc-0.10.7/amstd/inst.rb racc-0.10.7.fix/amstd/inst.rb --- racc-0.10.7/amstd/inst.rb Wed Dec 29 19:43:21 1999 +++ racc-0.10.7.fix/amstd/inst.rb Sat Jan 1 13:11:47 2000 @@ -93,6 +93,8 @@ def extconf + p $objs + $objs = nil load './extconf.rb' unless is_newer? 'Makefile', 'extconf.rb' end diff -ru racc-0.10.7/amstd/rbparams.rb racc-0.10.7.fix/amstd/rbparams.rb --- racc-0.10.7/amstd/rbparams.rb Wed Dec 29 19:43:21 1999 +++ racc-0.10.7.fix/amstd/rbparams.rb Sat Jan 1 13:15:18 2000 @@ -20,7 +20,7 @@ BINDIR = sepjoin( CONFIG['bindir'] ) LIBDIR = sepjoin( CONFIG['libdir'], - RUBY, + "ruby", CONFIG['MAJOR'] + '.' + CONFIG['MINOR'] ) SITELIBDIR = sepjoin( LIBDIR, 'site_ruby' ) diff -ru racc-0.10.7/compile.rb racc-0.10.7.fix/compile.rb --- racc-0.10.7/compile.rb Wed Dec 29 19:43:21 1999 +++ racc-0.10.7.fix/compile.rb Sat Jan 1 13:11:47 2000 @@ -2,9 +2,9 @@ require 'amstd/inst' -rubypath = Installer::RUBY_PATH +rubypath = RubyParams::RUBY_PATH #raccpath = './bin/racc' -raccpath = './racc' +raccpath = '/usr/local/bin/racc' $cmd = "ruby #{raccpath} -ocalc.rb -e#{rubypath} %s" -- 新井康司 (Koji Arai)