Ook!
Vzhled
Ook! je ezoterický programovací jazyk stvořený Davidem Morganem. Vychází z jazyka Brainfuck (je zamýšlen jako jeho parodie) a stejně jako Brainfuck je turingovsky úplný. Ook! je určen pro orangutany, jazyk se snadno vyslovuje a jeho skladba je jednoduchá k zapamatování.
Autor jazyka Ook! se inspiroval knihovníkem Neviditelné university ze Zeměplochy Terryho Pratchetta. Knihovník je orangutan a dorozumívá se se světem za pomocí různě intonovaných zvuků ook.
Syntaxe
[editovat | editovat zdroj]Základním kamenem jazyka Ook! je kromě toho, že banány jsou dobré, 64kB pole, a tři základní elementy, které spojené v páry tvoří příkazy:
- Ook.
- Ook?
- Ook!
Instrukce
[editovat | editovat zdroj]Příkaz v Ook! | Popis | Odpovídající příkaz v Brainfucku | Odpovídající příkaz v C |
---|---|---|---|
Ook. Ook?
|
posun ukazatele na následující buňku pole | > |
p++
|
Ook? Ook.
|
posun ukazatele na předchozí buňku pole | < |
p--
|
Ook. Ook.
|
zvýšení hodnoty aktivní buňky o 1 (buňky, nad kterou je ukazatel) | + |
*p++
|
Ook! Ook! |
snížení hodnoty aktivní buňky o 1 | - |
*p--
|
Ook. Ook!
|
uložení hodnoty ze standardního vstupu do aktivní buňky (v kódování ASCII) |
, |
*p=getchar()
|
Ook! Ook.
|
výpis hodnoty aktivní buňky na standardní výstup (ASCII) | . |
putchar(*p)
|
Ook! Ook?
|
pokud je hodnota aktivní buňky rovna nule, provede přesun ukazatele dopředu za odpovídající Ook? Ook!
|
[ |
while(*p){
|
Ook? Ook!
|
pokud je hodnota aktivní buňky různá od nuly, provede přesun ukazatele dozadu před odpovídající Ook! Ook?
|
] |
}
|
Ukázka programu
[editovat | editovat zdroj]Typický program Hello world v řeči orangutanů vypadá takto:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Ook na polské Wikipedii.
Externí odkazy
[editovat | editovat zdroj]- (anglicky) Domácí stránka jazyka Ook!
- (anglicky) A Ruby interpreter for the esoteric Ook! programming language - Ruby interpret pro Ook! a Brainfuck
- (anglicky) Ook# .NET Compiler - Ook! překladač napsaný v .NET Archivováno 12. 5. 2008 na Wayback Machine.
- (anglicky) Ook! interpreter in Python - Ook! interpret napsaný v Pythonu
- Java Ook!-to-BrainF*** and BrainF***-to-Ook! converter - Automatický převaděč z Ook! na Brainfuck a zpět (.java)