brainf*ck

Last-modified: 2010-04-22 (木) 17:29:55

サブルーチン

足し算

0+1を0に格納
1は「0」になる

>[<+>-]<

引き算

0-1を0に格納
1は「0」になる

>[<->-]<

掛け算

0*1を2に格納
0は「0」になる
3は作業領域「0」で終わる

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

0*1を3に格納
0は「0」になる
2は作業領域「0」で終わる

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

条件判断

0が「0」でないときに処理をする
0は「0」になる

[[-]処理]

0が「0」であるときに処理をする
0は「0」になる
1は作業領域「0」で終わる

>+<[[-]>-<]>[-処理]<

0>=1のとき2を「1」にする
3は作業領域「0」で終わる
0は「0」になり、
1は1-0(0>1のときは0)の値になる
1は非「0」である必要がある

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

0<1のとき1を非「0」にする
2,3は作業領域「0」で終わる
0は「0」になる

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

0==1のとき処理をする
0,1ともに「0」になる

>[<->-]<>+<[[-]>-<]>[-処理]<