けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :11661 ] the message: "[ruby-list:11661] Re: [racc] help me [Re: parser generator] ", on Jan/21 20:14(JST) YANAGAWA Kazuhisa writes: >> おぉ!! そんな裏技があるとは, 全然気がつきませんでした(^^;;; >semantic action をとっぱらって %token でトークンの定義をズラズラ並べる >だけですから.syntax の表現はどちらも同じ....いまのところ.で, そうなんですよね. yaccのサブセットって感じですし... >racc にも -v オプションはあったりするんですね.多分同じような情報が得 >られると思います. うーん. そうでもないみたいです. >> ruby/parse.yですと >> >> | kCLASS tLSHFT expr term >> { >> : >これをこのままいかして semantic action のほうで self と定数を見分ける >ようにしたらよいような. > > | TkCLASS TkLSHIFT expr term > . > case v_[1] > when TkSELF > : > when TkCONSTANT > : > else > : > end > . > >っていうかんじ.#1 と #2 を省いて expr のアクションで適当に値を返して >やる. うーん. そういう感じ方が良いんですかね? 取り敢えず. | TkCLASS TkLSHFT TkSELF statements TkEND . . | TkCLASS TkLSHFT TkCONSTANT statements TkEND . . | TkCLASS TkLSHFT limited_dflt statements TkEND . . ってしたんですが... 後者ですと例外が増えると収集つかないかもって気もしますしね... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / rational.com <<---