Brainfuck - Encyclopedia of programozási nyelvek

Brainfuck - az egyik legismertebb ezoterikus programozási nyelv egy külön minimalista. Ez áll nyolc parancsok, amelyek mindegyike rögzítésre egy szimbólum.

Brainfuck szült sok dialektusok különböző utasításkészletet, az eljárás a felvétel vagy végrehajtásának részleteit, mint a legnagyobb érték a tárolt számot a sejt, vagy a helyzet okozza a hibát értelmezést.

Elméletileg brainfuck valóban rendelkezik az ingatlan Turing-teljes, ezért bármilyen feladatot. A gyakorlatban azonban ez a nyelv teljesen alkalmatlan a problémák valós életben; teljesítő még a legegyszerűbb feladatok válnak kihívást jelent a fejlesztő. Ezért brainfuck kizárólag a matematikai modell, vagy a szórakozás.

Creator brainfuck inspirálta HAMIS nyelvet. és a 6 csapat (kivéve IO-parancsok) azonosak a P parancs nyelvet”, de továbbra is ismert, hogy az utóbbi befolyásolja a fejlődését brainfuck.

Brainfuck mintát használja a gépet, amely hasonlít a Turing-gép és az alábbi elemeket tartalmazza:

  • programot - egy sorozat egyetlen karakteres parancs nyelvet és esetleg más karakter (figyelmen kívül hagyva a feldolgozás során);
  • utasítás mutató - jelzi a végrehajtandó parancsot a következő lépés, a kivégzés után elmennek egy másik (általában a következő a jobb oldalon) csapat;
  • Memória - modellezhető egydimenziós tömb sejtek, mindegyik cella tárolja egy bájt; a kezdeti értéke a cella - semmi;
  • adatok pointer - jelzi az aktuális memória hely; kezdeti érték - a legtöbb bal cellaelrendezés; csapat mozog, vagy megváltoztatja a tárolt érték az aktuális cella;
  • bemenő és kimenő - bájtok sorozata ASCII.

Meg kell jegyezni, hogy mivel a sajátos feltételes elágazó utasítás nyelv [és] használt végrehajtásában szinte minden műveletet elemi más nyelveken (értékadást, matematikai és logikai műveletek, stb.)

szintaxis elemek:

Helló, világ!:

Számos módja van, hogy azt mondják: "Hello, World!" On brainfuck. Az alábbiakban a legegyszerűbb közülük: csak az egyik használható memória cella, majd módosítsa az értékét az ASCII-kódját minden betűt az üzenetet. Minden sorban egy példa egy karakter.

Helló, világ!:

Ez a példa három alapvető memória cella - az első a nagybetűs „H” és „W”, az egyik a kisbetűk, a harmadik pedig az írásjelek „”, „” és „” - és további három index a sejt, hogy csökkentse a rekord módosításának ASCII-kódját. Memória használt a következő:

(Index Box 1) (sejt nagybetűs) (index Box 2) (sejt kisbetűs) (index Box 3) (Box központozás)

Fibonacci számok:

Klasszikus brainfuck tolmács használ változó byte típusú értékek tárolására a memóriában sejtek és 14-16 Fibonacci túlcsordulás hibát. Írásban hosszú számtani on brainfuck - feladatot nagyon időigényes, így a példában azt feltételezzük, hogy a memória sejtek tárolhat típusú érték egész.

factorial:

Klasszikus tolmács brainfuck használja típusú változók bájt tárolja az adatokat a memória sejtek és 6! túlcsordulás hibát. Írásban hosszú számtani on brainfuck - feladatot nagyon időigényes, így a példában azt feltételezzük, hogy a memória sejtek tárolhat típusú érték egész.

Helló, világ!:

Helló, világ!:

Ez a példa transzfer Spoon ezt a példát. Vegye figyelembe, hogy Spoon lehetővé teszi, nem osztja meg az egyéni csapat terek, de a jelenlegi verzió ESCO megköveteli, hogy a csapatok szóközzel elválasztva.

Helló, világ!:

Ez a példa egy átviteli Brainloller ebben a példában. Mivel Brainloller - tisztán grafikai nyelv, vagy a forrása a képet.


"Hello, World!" a Brainloller

Brainfuck - Encyclopedia of programozási nyelvek

"Hello, World!" a Brainloller (nagyítás 10x)

Helló, világ!:

Ez a példa transzfer egyoperandusú ezt a példát. A kód maga túl nagy ahhoz, hogy teljesen, így az csak a hossza.

Fibonacci számok:

Ez a példa transzfer egyoperandusú ezt a példát. A kód maga túl nagy ahhoz, hogy teljesen, így az csak a hossza.

Helló, világ!:

Kapcsolódó cikkek