From: Minero Aoki Date: 2002-08-03T14:43:07+09:00 Subject: [ruby-dev:17898] Re: next parser (Re: parenthesize argument(s) for future version) あおきです。 In mail "[ruby-dev:17895] Re: next parser (Re: parenthesize argument(s) for future version)" matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > まつもと ゆきひろです > Riteのパーザの実装については決心しかねています。 > > * 再帰下降パーザを自分で書く > > きめこまかな指定ができるが、Rubyの文法は複雑過ぎないか > > * yaccを使い続ける > > せっかくここまで作ったんだから使い続けるほうが賢い? うーむ、そうですか……。 まあ、これほどモノが大きくなればそうですよねえ。 手書きパーサの「きめこまかな指定」とは、例えばエラー処理 とかでしょうか。 > |# スレッド対応を考えると yacc はないだろうなあ。 > > yacc以外にもCのコードからグローバルアクセスをなくすことは無 > 理なので、あちこちにロックを入れることになると思います。です > から、yaccを使うのでもパーザの動作をロックすることで問題はな > いと思います。 でも、パーサをモジュール化してユーザが使えるようにするという 話がありませんでしたっけ。とすると、yyparse を再帰呼び出し しただけでデッドロックしませんか? たとえば rdoc みたいなものを書いていて、eval の引数がリテラル だったらパースしちゃうとか、そういうことができなくなると思うの です。 ------------------------------------------------------------------- 青木峰郎