タグ

brainf*ckに関するsnaka72のブックマーク (3)

  • http://ja.doukaku.org/80/nested/

  • ANTLRでBrainf*ckインタプリタ - ※あくまでも個人の感想です。

    最終的にはコンパイラを作ってみたいと考えて、ANTLRとLLVMを勉強中。 ANTLRはJavaで実装されたパーサジェネレータ。 ANTLRの使い方がなんとなく分かったので、Brainf*ckのインタプリタを実装してみた。 ANTLRによるインタプリタの作り方については別記事で投稿する(かも)。 とりあえず、コードを晒しておく インタプリタのコンパイル方法上記のコードをBF.gという名前で保存して(名前は重要!)、以下のよう ANTLR にパーサのソースコードを生成させる。 $ antlr BF.g すると、カレントディレクトリに BFParser.java, BFLexer.javaが出来ているので、 $ javac BFParser.java BFLexer.java でコンパイル インタプリタの実行無事インタプリタがコンパイルできたら、"Hello world"を実行してみる。 $

    ANTLRでBrainf*ckインタプリタ - ※あくまでも個人の感想です。
    snaka72
    snaka72 2012/02/04
    作ってみた
  • Brainf*ck

    アラン・チューリングという計算機科学者の考えた、 「チューリング・マシン」という仮想の計算機があります。 これは [0を書く]、[1を書く]、[右に進む]、[左に進む] と言った 非常に簡単な命令のみを実行できる想像上の計算機ですが、 我々の使っているパソコンでできるような計算は全て、 チューリングマシン用のプログラムとして書ける、ということが知られています。 …という前置きを付けてなんだか重々しい言語に見えてきたところで(^^;、 たぶんご存じの方も多いと思われる、わずか8文字の組み合わせで ありとあらゆるプログラムを表現する Brainfuck を弄ってみるとしましょう。 * Hello, World 導入 サンプル:表示1 サンプル:表示2 サンプル:echo * サンプル:足し算 サンプル:掛け算 C++によるインタプリタ実装 * サンプル:条件分岐1 サンプル:条件分岐2 まとめ

  • 1