木村です。

 [ruby-list:3686] 

> おかげさまで ruby-1.0-970701-nt.diff を使ってWindows95 で動く
> Ruby Jed ができました。ありがとうございます。
>  一部変更が必要だったのは(Linux 上で bisonした parse.c を使っ
> たせいか知りませんが)parse.c の中にでてくる FLOAT と windef.h
> のFLOAT と名前がぶつかったことと、parse.c の中で#define IN 276
> しているはずの IN が未定義変数エラーになった(MSVC のバグ?)
> ことでした。

IN の方は心当たりがあるのですが、FLOATの方はありません。
お使いになった VCのバージョンはいくつでしょうか?

で、INの方ですが、こいつも windef.hあたりに

#define IN

なんてのがあります。関数の引数が入力であることを示すためのマクロ
のようですが。で、何もしないと parse.c で #defineしたIN とぶつか
る(VC 4.xだとwarningになります)ので、missing/nt.hで #undef IN し
て windef.hの定義を消してます。

makefile にある通り byaccで parse.cを作ると、ruby.h のインクルー
ド (この中で最終的に missing/nt.hがインクルードされます)をした後
で%tokenに対応する #define IN 257 (だったかな?)が来るので「未定義」
にはならないのですが…

  bison -d parse.y

で parse.cを作って、最初の方で #include "parse.h" なんてのは…
ないですよね^^;
#うーむなんだろう?

-- 

  木村 浩一  キヤノン 映像事務機第三開発センター 
          kkimura / pure.cpdc.canon.co.jp