タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

brainf*ckに関するnbqx69のブックマーク (4)

  • 難解プログラミング言語「Brainfuck」(Brainf*ck)で遊んでみた - 元RX-7乗りの適当な日々

    会社の主席エンジニアな人にランチの雑談で「Brainfuck」を教えてもらったので遊んでみた。 Brainfuck(ブレインファック)は難解プログラミング言語のひとつ。なお名称に卑語が含まれるため、Brainf*ckなどと表記されることがある。 Brainfuck - Wikipedia 開発者Urban Mullerがコンパイラがなるべく小さくなる言語として考案した。 実際、Mullerが開発したコンパイラのサイズはわずか123バイト(キロバイトではない!)、インタプリタは98バイトとなっている。 Brainfuck プログラムは非常に可読性・記述性が低いため実用性は期待できないが、それでもチューリング完全な(チューリングマシンで実行可能なあらゆるプログラムが記述できる)言語であり、理論上はC言語などの普通のプログラミング言語と同等の表現力を持つ。その簡潔から多くの派生言語を生み出すこと

    難解プログラミング言語「Brainfuck」(Brainf*ck)で遊んでみた - 元RX-7乗りの適当な日々
  • 記号プログラミングの第一歩は BrainF*ck - Articles Advent Calendar 2010 Sym

    記号プログラミングトラックへようこそ! はせがわです。 初回の今日は、記号プログラミングを行えるもっとも有名な言語である BrainF*ck を題材に、記号プログラミングの世界にダイブする準備をしましょう! まずは BrainF*ck の Hello, world です。 +++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-. ------------.<++++++++.--------.+++.------.--------.>+. 簡単ですね。 さて、当にこれが Hello, world として動くのか確かめたいので、次に BrainF*ck インタプリタを用意することにしましょう。 インタプリタは手軽に書ける言語ということで、JavaScriptで用意します。インタプリタのソースは以下の通り。 $=~[];

    記号プログラミングの第一歩は BrainF*ck - Articles Advent Calendar 2010 Sym
  • BFC: Brainf\*\*k Compilers

    Blogged by Ujihisa. Standard methods of programming and thoughts including Clojure, Vim, LLVM, Haskell, Ruby and Mathematics written by a Japanese programmer. github/ujihisa Today I released BFC 1.0! BFC: Brainf**k Compilers http://github.com/ujihisa/bfc bfc.rb is a compiler written in Ruby, which can compile BF code to Ruby, C, Haskell, Scheme and LLVM. USAGE OF BFC $ ./bfc.rb --help $ ./bfc.rb [

    BFC: Brainf\*\*k Compilers
  • brainf*cksp

    bfsp brainf*ckをp5に移し替えて、tex/tspと混ぜ合わせてちょっと改変。現在オシレータのみ実装。ロジックの部分はbrainf*ckそのまま。while文にあたる[]を()に変えた。+-でポインタ内の数値を上げ下げして、オシレータにはその数値を渡す。ここが迷ってるなぁって感じ。[]でループを作る場合は強制的に矩形波を鳴らしてしまう、という設計にしてもいい気がする。 書き方は > ポインタを1進める < ポインタを1戻す + ポインタの指す要素の値を1増やす(インクリメント) - ポインタの指す要素の値を1減らす(デクリメント) . ポインタの指す要素の値を外に出力、音を鳴らす ( ポインタの指す要素の値が0であれば対応する次の)までジャンプ ) ポインタの指す要素の値が0でなければ対応する前の(までジャンプ ~ サイン波を生成 / ノコギリ波を生成 ^ 三角波を生成 [ ま

  • 1