Ook!

Tento článek je o programovacím jazyku. O řeči knihovníka ze Zeměplochy pojednává článek 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)
Programovací jazyky
abecední seznam programovacích jazyků
multiparadigmatické
Ada • C++ • Common Lisp • D • F# • Go • Oberon • PerlPHPPythonRuby • Rust • Scala • Swift • Tcl (Tk) • Vala
strukturované (procedurální)
AWK • C • COBOLDCL • Forth • FortranLuaModula-2 / Modula-3 • Pascal • PawnPL/SQL
objektové
BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScriptObject PascalObjective-CSmalltalkVB.NET
funkcionální
Clean • Ceylon • Erlang • Haskell • J • LispWolfram Language / Mathematica • Miranda • OCamlScheme
dotazovací
LINQSPARQLSQLXQueryXSL (XSLTXSL-FOXPath)
logické
Gödel • Prolog
výukové
Baltazar • Baltík • Karel • Kodu Game Lab • Logo • Microsoft Small Basic • Petr • Scratch
ezoterické
BefungeBrainfuckHQ9+Malbolge • Ook! • PietWhitespace
historické
ALGOL • APL • B • BASICCPL (BCPL) • J • MUMPSPL/ISimula 67SNOBOL
další
ABAPAppleScriptColdFusionJSA • Julia • MATLAB • R • Visual Basic (VBScript) • VimscriptVisual FoxPro
skriptovací/strojový kódkompilované/interpretované • interaktivní/dávkovéWYSIWYG