From: matz@... (Yukihiro Matsumoto) Date: 2002-08-07T12:16:56+09:00 Subject: [ruby-dev:17953] Re: next parser (Re: parenthesize argument(s) for future version) まつもと ゆきひろです In message "[ruby-dev:17952] Re: next parser (Re: parenthesize argument(s) for future version)" on 02/08/07, Minero Aoki writes: |それでは別の視点で……。その構文木からは |「インデックス n から始まる長さ 3 のトークンが予約語 def である」 |というような情報は取れますか? それと同等のなにかでもいいですが。 |たとえば Ruby でエディタを書いたとして、いちいちパーサを書き直さずに |Ruby プログラムをリアルタイムで色付けできるくらいの速度と情報が |得られるのなら文句はありません。 ううむ、正直なところそこまでは考えてませんでした。 想定されるパーザの使い方やそれに必要とされている情報の質や量 についてもうちょっと考えるべきですね。 |まずこれまで通り yacc ベースで作るのを前提とします。 |ただしユーザの用意した yacc は使わず、byacc なり bison なりを |改造して同梱します。その改造の内容は…… うーん、Rubyのコンパイルのためにわざわざbisonを改造して同梱 するというのは、私の許容できる限度を越えそうな気がします。 Pythonのような簡単なパーザジェネレータを持つ程度ならともかく。