Whitespace
Whitespace (англ. Пробіл) — езотерична мова програмування, створена Едвіном Бреді та Крісом Моррісом з Даремського університету, які також відомі як розробники мов програмування Kaya та Idris. Випущена 1 квітня 2003 року. Особливість мови полягає в тому, що на відміну від інших мов, які переважно ігнорують пробіли та табуляції, інтерпретатор Whitespace сприймає лише ці символи, та ігнорує усі інші. Таким чином, інтерпретатор приймає лише три конструкції: пробіли, табуляції, та перехід на новий рядок. Цікаво, що за рахунок такої особливості, текст програми, написаної на Whitespace, можна приховати у вихідному коді іншої програми.
Синтаксис
Програма, написана мовою Whitespace, складається з послідовності пробілів (двійковий 0) і табуляцій (двійкова 1). Між собою команди розділяються символом переходу на новий рядок. Решту символами інтерпретатор нехтує.
Приклад коду
Нижче наведено приклад простої програми на Whitespace, яка виводить на екран "Hello, World!", де кожен Пробіл, Табуляція або символ переходу на новий рядок позначається через "S", "T", чи "L" відповідно (очевидно, що інтерпретатор ці символи знехтує):
S S S T S S T S S S L T L S S S S S T T S S T S T L T L S S S S S T T S T T S S L T L S S S S S T T S T T S S L T L S S S S S T T S T T T T L T L S S S S S T S T T S S L T L S S S S S T S S S S S L T L S S S S S T T T S T T T L T L S S S S S T T S T T T T L T L S S S S S T T T S S T S L T L S S S S S T T S T T S S L T L S S S S S T T S S T S S L T L S S S S S T S S S S T L T L S S L L L
Зверніть увагу, що вихідний код Whitespace може по-різному відображатися в деяких браузерах, де символ табуляції не є фіксованим, а залежить від його розташування в тексті. Також символ табуляції, в залежності від використовуваного ПЗ, може виражатись через відповідну кількість пробілів.
Посилання
- Домашня сторінка
- esco — універсальний інтерпретатор езотеричних мов програмування
- асемблер/дизасемблер/інтерпретатор написаний на Ruby