memo.xight.org

日々のメモ

Brainf*ck

Summary

  プログラミング言語の一つ.
  Urban Mullerがコンパイラがなるべく小さくなる言語として考案した.
  実行可能な命令は8つのみ.

言語仕様

> ポインタをインクリメントする.
< ポインタをデクリメントする.
+ ポインタが指す値をインクリメントする.

ポインタが指す値をデクリメントする.

. ポインタが指す値を出力する.
, 1バイトを入力してポインタが指す値に代入する.
[ ポインタが指す値が0なら、対応する ] までジャンプする.
] ポインタが指す値が0でないなら、対応する [ にジャンプする.

- Brainf*ckでHello world

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

Brainf*ckでHello world その2

>+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.[-]>++++++++[<++++>-]<.>+++++++++++[<+++++>-]<.>++++++++[<+++>-]<.+++.------.--------.[-]>++++++++[<++++>-]<+.[-]++++++++++.

Reference

Wikipedia - Brainfuck
Wikipedia - Hello World - Brainfuckでの例
  http://ja.wikipedia.org/wiki/Hello_world#Brainfuck.E3.81.A7.E3.81.AE.E4.BE.8B
  kMonos.NET - いろんなげんご @ 人工言語世界 - Brainf*ck
  http://www.kmonos.net/alang/etc/brainfuck.php

via

  TokuLog! - 2004-10-15
  http://tokuhirom.dnsalias.org/~tokuhirom/cl/2004-10-15.html#2004-10-15-4