From: nobu.nakada@... Date: 2002-09-06T05:05:21+09:00 Subject: [ruby-dev:18195] Re: autoload patch for ruby-1.7 なかだです。 At Tue, 3 Sep 2002 21:37:41 +0900, Minero Aoki wrote: > > > いやそれより、yacc スタックに String が入るのってまずくない > > > ですか。このあたりとか。 > > > > 常に NODE にくるんで返すようにすればいいんでしょうか…… > > > > 逆にNODEもVALUEなので、NODEを正しくマークできるならStringでもOK > > のはずです。 > > あ、すみません。話を混ぜてしまったのですが、これは malloc で > yacc のスタックをとる場合です。 > > そのときは VALUE がヒープに置かれるので、それをカバーするために > スイープフェイズに入ってから NODE は無条件にマークしていますよね。 > でも String は NODE ではないのでそのままスイープされてしまうと > 思うのです。 うーん、そうかも知れません。 > つまり malloc な yacc のことを考えるなら、セマンティックスタック > には (NODE 以外の (ポインタである VALUE)) を入れてはいけないのでは > ないでしょうか。具体的に問題になるのはこの三つです。 > > %token tINTEGER tFLOAT tSTRING_CONTENT NODE_LITやNODE_STRに入れて返すようにするってことですね。むしろ、 rb_gc_mark_parser()を導入するなら、セマンティックスタックもマー クするようにしたいところですが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦