From: aamine@... Date: 1999-01-10T15:37:59+09:00 Subject: [ruby-list:11522] Re: parser generator あおきです。 In Mail "[ruby-list:11520] Re: parser generator" shugo@aianet.ne.jp wrote: > do/endを使うなら、 > > XXXX : pat1 > do > # 埋めこみアクション > end > pat2 > do > # 通常のアクション > end > > みたいに書けるとうれしいです。 > # ってyaccと同じですけど;-) > {}も使えるとさらにうれしいです。イテレータブロックと対称的で。 do ... end ; ... end { ... } を使えるようにしようかと考えてます。 個人的にはふたつめのが好みです…Rubyのクラス定義↓を思わせるところが。 class NewClass < Object ; end ^^^^^^^^ この部分 想像図! target: first sec_tok third forth ; result = val[1] end Rubyは書いていてきもちいいのでRaccでもそのテンポをそこなわない文法を つくりたいです。実は最初のころに if target = first sec third forth then result = val[1] elsif elsfst elsec then resutl = val[2] end なんてのも考えてはいたのですが、あまりにyaccと違いすぎる( && みにくい) ので断念しました… > ついでに、バグ報告。 ありがとうございます。 ( このバグ修正 + スキャナをちょっとマシにした + クラス名指定 + driver/prepare文法 + racc.rbの機能を強化 ) したバージョンをおきました。 > PythonじゃなくてRubyを選んで正解でしたね:-) Linux Japan vol.6 の前田さんの記事がきっかけだったりします。(^_^) なには ともあれ はやくRuby文を解析できるようにしたいです。 ------------------------------------------------------------------- あおきみねろう@一橋大学 mail to: aamine@dp.u-netsurf.ne.jp website: http://www1.u-netsurf.ne.jp/~brew/mine