Whitespace![]() Whitespace je humorný ezoterický programovací jazyk vytvořený Edwinem Bradym a Chrisem Morrisem, představený 1. dubna 2003. Veškerá syntaxe jazyka sestává z bílých znaků (mezer, tabulátorů a konců řádek; anglicky se označují jako whitespace, odtud název), veškeré jiné znaky (písmena, čísla, symboly atd.) jsou ignorovány. Whitespace je imperativní jazyk běžící na virtuálním stroji v podobě zásobníkového počítače vybaveného haldou. SyntaxeProgram je tvořen posloupností příkazů, z nichž každý sestává z řetězce významných symbolů (mezerník SP, tabulátor TAB, znak konce řádky LF), jiné symboly jsou zcela ignorovány. Před každým příkazem je označení typu příkazu:
Čísla (která se vyskytují jako parametry některých příkazů) mohou být libovolně velká, zadávají se v binárním zápisu jako posloupnost znaků SP a TAB (reprezentující 0, resp. 1) a ukončená znakem LF. První znak určuje znaménko – číslo začínající SP je kladné, číslo začínající TAB je záporné. Návěští jsou tvořena libovolnou posloupností znaků SP a TAB ukončenou LF. Tyto posloupnosti musí být jednoznačné (nesmí se v programu opakovat). Instrukce pro práci se zásobníkemNa zásobník lze ukládat celá čísla libovolné velikosti.
Aritmetické instrukceVe Whitespace se pracuje pouze s celými čísly, v aktuální verzi nejsou čísla s plovoucí řádovou čárkou podporována. Aritmetické instrukce provedou zadanou operaci se dvěma vrchními čísly, která ze zásobníku vyjmou, a výsledek uloží na zásobník. První (hlouběji) uložené číslo je považováno za levý operand.
Instrukce přístupu k halděHalda je adresována celými čísly uloženými na vrcholu zásobníku. Při čtení je adresa na zásobníku nahrazena hodnotou z haldy, při zápisu je adresa a hodnota ze zásobníku přečtena a vyjmuta.
Řídící instrukce
Instrukce vstupu a výstupuWhitespace obsahuje instrukce umožňující komunikaci s uživatelem. Instrukce pro vstup ukládají přečtené hodnoty do haldy, na adresu obsaženou na zásobníku.
Externí odkazy
|