2009-03-08から1日間の記事一覧

Brainf*ck 括弧の対応

さて、Brainf*ck で括弧の対応関係は必須なんだろうか。要は、こんなのはエラーになるべきなのだろうか。 ] 構文木版では、パースエラーになる、括弧の対応をもって文法規則にしているんだから当たり前だ。 一方その場実行版ではエラーにならない、「]」実行…

Racc で Brainf*ck 、趣味的な実装

その場実行で Tape と Source クラスを作って抽象化してみる。 class BrainF_ckParser rule# class BrainF_ckParser expression : | expression TERMINAL { send(val[1][0]).send val[1][1], send(val[1][2]) } end # class BrainF_ckParser ---- inner attr…

Racc で Brainf*ck 、その場で実行の為に

対応する括弧を行き来する感覚を大事にする為にその場で実行する方向で考える。ソースを行き来できるようにするわけだ。その為に、ソースとソース上の位置を示すポインタを導入する。 class BrainF_ckParser rule# class BrainF_ckParser expression : | exp…