Brainfuck
Vikipedi, özgür ansiklopedi
Brainfuck 1993 yılında programcı Urban Müller tarafından yaratılmış bir programlama dilidir. Yaratılma amacı mümkün olan en küçük boyutlu derleyiciyi üretmektir. Bilinen bazı derleyicileri 200 bayttan küçüktür .Sadece sekiz komutu bulunmakla birlikte Turing-bütün (Turing-complete) bir dil olduğundan teorik olarak herhangi bir algoritma bu dilde yazılıp işletilebilir.
Brainfuck dili çok basit bir makine modeli ile çalışır,bu modelde her birinin başlangıçtaki değeri 0 olan 30000 hücre ve bu hücreler arasında hareket edebilen bir işaretçi(pointer) bulunur(işaretçi,başlangıçta ilk hücrededir).
[değiştir] Komutlar
Her biri sadece tek karakterden oluşan komutları şunlardır;
| Komut | Anlamı |
|---|---|
> |
işaretçiyi bir sonraki hücreye kaydır. |
< |
işaretçiyi bir önceki hücreye kaydır. |
+ |
işaretçinin bulunduğu hücredeki baytı 1 arttır. |
- |
işaretçinin bulunduğu hücredeki baytı 1 azalt. |
. |
işaretçinin bulunduğu hücredeki baytı standart çıktı birimine yaz. |
, |
standart girdi biriminden bir baytlık girdi al ve bunu işaretçinin bulunduğu hücreye yaz. |
[ |
eğer işaretçinin bulunduğu hücrenin değeri sıfırsa, ] karakterinden sonraki komuta atla. |
] |
eğer işaretçinin bulunduğu hücrenin değeri sıfır değilse, önceki [ karakterinden bir sonraki komuta atla. |
ayrıca bu komutların C programlama dilindeki karşılıkları şöyle gösterilebilir;
| komut | C karşılığı |
|---|---|
> |
++ptr; |
< |
--ptr; |
+ |
++(*ptr); |
- |
--(*ptr); |
. |
putchar(*ptr); |
, |
*ptr=getchar(); |
[ |
while (*ptr) { |
] |
} |

