İçeriğe atla
%100 yerel

Brainfuck encoder

Metni onu yazdıran bir Brainfuck programına çevir veya bir Brainfuck programını çalıştır ve çıktısını gör.

Giriş
Çıkış

Brainfuck encoder

Herhangi bir metni yapıştırın ve bu araç onu tam olarak geri yazdıracak bir Brainfuck programı yazar, bir seferde bir karakter. Diğer yönde de çalışır: bir Brainfuck programını yapıştırın ve araç onu çalıştırarak çıktısını gösterir. İki arasında mod seçeneğiyle geçiş yapabilir veya üretilen programı doğrudan yorumlayıcıya göndermek için swap düğmesini kullanabilirsiniz.

Üretilen programı daha kısa yapmak için "Döngülerle uzunluğu optimize et" seçeneğini açın: bir karakter için 255 kez + tekrarlamak yerine, araç değeri küçük bir çarpma döngüsüyle oluşturur, bu daha uzun girişte önemlidir. Hücre boyutu, her karakterin nasıl depolandığını kontrol eder — 8 bitlik klasik byte-per-cell Brainfuck'dur, gerçek yorumlayıcıları ve UTF-8 metni taklit eder, oysa 16 bitlik ve 32 bitlik hücreler hücre başına tam bir kod noktası tutabilir, bu nedenle aksanlı harfler ve emojiler ek baytlar olmadan düzgün şekilde çift yönlü iletişim kurar. Bant hücreleri, yorumlayıcının kaç bellek hücresine sahip olduğunu ayarlar ve adım sınırı, kaçak bir döngünün sayfayı dondurup sayfayı dondurmesini engeller — program gerçekten daha fazla adıma ihtiyacsa adım sınırını artırın veya henüz güvenmediğiniz bir şeyi test ederken azaltın. "Çalışmadan sonra bant durumunu göster" seçeneği, program bittikten sonra bellek hücrelerinin bir anlık görüntüsünü ekler; bu, beklenen çıktıyı vermeyen döngüleri ayıklamak için faydalıdır. Üretilen kod, okunabilirlik için sabit bir satır genişliğine de sarılabilir; Brainfuck boşluk ve sekiz komutundan biri olmayan herhangi bir karakteri yok sayar, bu nedenle sarmalama programın yaptığını asla değiştirmez.

Çok uzun giriş daha uzun bir program üretir ve her iki yön da sınırlandırılmıştır, böylece tarayıcı sekmesi yanlışlıkla kaçak giriş veya sonsuz bir döngüden asla donmuş halde kalır — bunun yerine dondurulmuş bir sayfanız yerine yapmanız gerekenleri söyleyen net bir mesaj alırsınız.

Her şey tamamen tarayıcınızda yerel olarak çalışır; yapıştırdığınız metin veya kod hiçbir zaman sunucuya yüklenmez. Sonucu kopyalayın, .txt dosyası olarak indirin, paneli temizleyin veya çıktıyı doğrudan giriş alanına gönderin ve üzerinde çalışmaya devam edin.

FAQ

Brainfuck nedir?
Brainfuck, bir memória hücresi bandı ve tek bir işaretçi etrafında inşa edilen, yalnızca sekiz komuta sahip minimalist bir ezoterik programlama dilidir. Gerçek programlar için değil, merak konusu ve kod golf mücadelesi olarak popülerdir.
Hücre boyutunu her değiştirdiğimde, üretilen program neden farklı görünüyor?
Hücre boyutu, her karakterin ne değer olarak depolandığını belirler. 8 bitlik hücreler bir UTF-8 baytı tutarken, aksanlı bir harf veya emoji birkaç hücre gerektirir; 16 bitlik ve 32 bitlik hücreler bir kez tüm karakteri tutabilir, bu hem değerleri hem de bunlara ulaşmanın en kısa yolunu değiştirir.
Programımda sonsuz bir döngü varsa ne olur?
Tercüman adım sınırına ulaştığında hemen durur ve sayfayı dondurmak yerine programın tamamlanmadığını bildirir. Program gerçekten daha fazla adıma ihtiyacsa adım sınırını artırın veya döngüyü düzeltin.
Virgül (giriş) komutu çalışıyor mu?
Araçta çalışan bir program için ayrı bir giriş akışı yoktur, bu nedenle `,` her zaman dosya sonunu okur ve geçerli hücreyi 0 olarak ayarlar — girdi bitene kez çoğu tercümanın geri döndüğü aynı davranış.
Metnim veya kodum herhangi bir yere yükleniyor mu?
Hayır. Hem kodlama hem de bir programın çalıştırılması tamamen tarayıcınızda gerçekleşir — buraya yapıştırdığınız hiçbir şey hiçbir zaman sunucuya gönderilmez.