タグ

brainfuckに関するgrafiのブックマーク (3)

  • quine.bf - λx. x K S K @はてな

    前の記事のコメント欄で shinh さんから私の投稿した Brainfuck の Quine が実は世界記録ではないかという指摘があったので一応メモ. 負数のメモリ番地は反則らしいので,投稿した 392B (改行除く,以下同様)ではなく shinh さんの書き直した 404B が最短となる. 以下に簡単な解説を示すが,以前までの記録であった(と思われる)410B のものも全く同じ構造をしている. Brainfuck での Quine は,大まかに 3 つのパート A, B, C に分けられる. 具体的には,(A)「B+C」を表現するデータ列を生成, (B) A のデータ列から「A」自身を表現するデータ列への変換(同時に元のデータ列も複製), (C) 作られたデータ列の出力処理(つまり「A+B+C」が出力される),という構成になっている. 最初に投稿した 587B のものでは,B の部分で,

    quine.bf - λx. x K S K @はてな
  • brainfxxk処理系を最適化した話 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    ニコニコ超会議における、Hogelog氏による最速brainfuck処理系の発表 残念なパンをべながら残念な言語でハッカソンをする会の開催 といった現象が私の中で化学反応を起こした結果、BF処理系の最適化にゴールデンウイークを費やすという残念な結果となった。 処理系概要 hogelog氏のfast-bfにいくつか最適化を加えました。プロジェクトは以下。 https://github.com/hogelog/fast-bf 処理系はC++で書かれており、BFのソースを読んでその都度最適化しながら中間コードに変換、それをx86の機械語に変換してから実行します。 BF概要 レジスタ: p: 操作対象のメモリ位置を示す 命令: >: pの値を+1する <: pの値を-1する + pが指すメモリの内容を+1する -: pが指すメモリの内容を-1する [: pが指すメモリの内容が0なら、対応する]に

    brainfxxk処理系を最適化した話 - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
  • 第一回 カーネル/VM探検隊@関西で発表してきた! - 桜花な日々

    第一回 カーネル/VM探検隊@関西(http://atnd.org/events/9074)で発表してきました。 カーネルもVMも話せるような技術は持ってないので自分ができそうなネタで話してきました。 ここでは発表では話さなかった(話せなかった)詳細を書きます。 ※更新しました(2011/02/23) 詳細はひとつ下の見出しから 詳細は続きを読むから。 概要 内容: 円周率でプログラミング 結論: 諸事情により(完全には)無理でした☆ ← 作りました(2011/02/23) 発表資料ほか 発表資料は以下のリンクからダウンロードできます。 元ファイル(ODP): http://goo.gl/ltLEA PDFファイル: http://goo.gl/v6EkB 発表資料以外のファイル 必要なファイル一式をまとめた物: http://goo.gl/YgtKH 内容 全体の流れは発表資料を見てくだ

    第一回 カーネル/VM探検隊@関西で発表してきた! - 桜花な日々
    grafi
    grafi 2011/02/23
    しまぱんだ!
  • 1