インタプリタの実装

brainf*ckとよばれる言語があります。 言語としては非常にシンプルでおもしろい言語です。 ということで、Interpreterパターンの練習がてらにJavaで実装してみました。 言語使用など詳しいことは 検索してみてください。

ソースコード

Common Public License - v 1.0のもと公開します。 ただし、改変したものを配布するときは、パッケージ名も変更してください。

bf.tgz

言い訳

この処理系は最適化を一切考えていません。 むしろデザインパターンを使ったことで(たぶん)重くなっています。 間違っても高速な動作など期待しないでください。

言語仕様の割にギャグみたいに複雑な実装をしてますが、 あくまで練習のためです。(^_^;)

使い方

動作環境

J2SE 5.0で開発したのでそれ以降の環境であれば、 動くはずです。ただし、J2SE 1.4までの機能しか使用していないので、 もしかしたら1.4でも動くかもしれません。

追記(05/9/23)
J2SE 5.0用に書き換えました。

起動方法

jp.gr.java_conf.nori_j.bf.Mainを呼び出してください。

遊び方

起動するといきなり入力待ちになるという荒い設計です。(^_^;)
標準入力よりBrainf*ckのプログラムを入力してください。 手で入力する場合、すべて入力したらEnterした後、

RUN

と打ってEnterすることによっても、処理系が動作を始めます。

Input:

と出たときは適当な文字列を入力してください。

その他

プログラミングに当たっては、 増補改訂版Java言語で学ぶデザインパターン入門を参考にしました。著者の方に感謝です。

更新履歴

戻る