From: aamine@... Date: 1999-01-09T04:07:43+09:00 Subject: [ruby-list:11517] Re: parser generator あおきです。 In Mail "[ruby-list:11514] Re: parser generator" keiju@rational.com wrote: > >raccでraccを書いてみたらどうですか? > > ソースを見た感じではそのように書かれているように感じます. libracc.rb > の後半は明らかにraccで生成したもののような... はい、そうです。実際には、ちょっとずつコードをかえながら3段階 ビルドしてます。 > 見たいな記述はできるのでしょうか? yaccでいうところの > > XXXX: pat1 {...} pat2 {...} > > みたいなかんじ 埋めこみアクションのことですよね。現在は使えません。 ですが、ないよりはあるほうがもちろんいいですから、要望があれば つくります。文法は… XXXX: pat1 @act pat2 ; @act do # 埋めこみアクション end do # 通常のアクション end なんてのでどうでしょう? (Rubyコードの解析ルーチンができてからの話ですけど) それから、いきなり致命的なバグを発見してしまいました。 ひとつは本体のバグ、もうひとつは重要な事項(↓)をマニュアルに書いて いなかったことです。 「パーサにおくるトークンシンボルがなくなったあとはfalseが2つ以上 こなければならない」 これを忘れるとあらゆる入力に対してパースエラーになります。 こっそり夜中におきかえておくのでとりかえてください。 ------------------------------------------------------------------- あおきみねろう@一橋大学 mail to: aamine@dp.u-netsurf.ne.jp website: http://www.u-netsurf.ne.jp/~brew/mine