Ook!
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
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
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
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
Reference
V tomto článku byl použit překlad textu z článku Ook na polské Wikipedii.
Externí odkazy
- (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)