Brainfuck: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
ArthurBot (mesaj | katkılar)
k r2.6.3) (Bot değişikliği Ekleniyor: ro:Brainfuck
Değişiklik özeti yok
2. satır: 2. satır:


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).
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).

Bu programlama dilinin amacı, genel bir dil olmaktan çok, programcıları zorlamak ve eğlendirmektir.


== Komutlar ==
== Komutlar ==

Sayfanın 12.21, 14 Mayıs 2011 tarihindeki hâli

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).

Bu programlama dilinin amacı, genel bir dil olmaktan çok, programcıları zorlamak ve eğlendirmektir.

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) {
] }