From: Minero Aoki Date: 2002-09-03T21:37:41+09:00 Subject: [ruby-dev:18166] Re: autoload patch for ruby-1.7 あおきです。 In mail "[ruby-dev:18164] Re: autoload patch for ruby-1.7" nobu.nakada@nifty.ne.jp wrote: > なかだです。 > > いやそれより、yacc スタックに String が入るのってまずくない > > ですか。このあたりとか。 > > 常に NODE にくるんで返すようにすればいいんでしょうか…… > > 逆にNODEもVALUEなので、NODEを正しくマークできるならStringでもOK > のはずです。 あ、すみません。話を混ぜてしまったのですが、これは malloc で yacc のスタックをとる場合です。 そのときは VALUE がヒープに置かれるので、それをカバーするために スイープフェイズに入ってから NODE は無条件にマークしていますよね。 でも String は NODE ではないのでそのままスイープされてしまうと 思うのです。 つまり malloc な yacc のことを考えるなら、セマンティックスタック には (NODE 以外の (ポインタである VALUE)) を入れてはいけないのでは ないでしょうか。具体的に問題になるのはこの三つです。 %token tINTEGER tFLOAT tSTRING_CONTENT ------------------------------------------------------------------- 青木峰郎