AAAAAAAAAAAAAA!!!! — эзотерический язык программирования, программы на котором состоят только из символа A
, пробела, восклицательного знака и запятой.
Синтаксис
Комментарии на языке AAAAAAAAAAAAAA!!!! записываются в отдельную строку, начинающуюся с символа @
. Тем не менее, все комментарии должны быть удалены перед интерпретацией. Символ перевода строки игнорируется, а многократное сочетание восклицательных знаков или пробелов рассматривается как единый символ без повторений.
Команды
- AA ААА n! Вывод символа соответсвующего текущему числу.
- ААА АААА AA n! Ввод числа по индексу n.
- ААА АА n! Перейти к метке n.
AAAAA n! Объявление метки n. AAA AAAA AAA n! Пропустить команды. AAAA AA n! Сдвиг индекса на n позиций назад. AAAA AAAA n! Сдвиг индекса на n позиций вперёд. AA AAAA AA! Завершение программы. AAA A AAA n! Начало подпрограммы n AAAA A AAA! Конец подпрограммы. AAA A AA AAAA n! Конец подпрограммы, возвращает значение n. AAAAAA n! Вызов подпрограммы n AAAA, AAAA n! Очистка стека подпрограммы. AAAA AAA n! Увеличение значения ячейки по индексу n. AAAA AAA, n! Уменьшение значения ячейки по индексу n (для ненулевых значений).
Кроме того язык AAAAAAAAAAAAAA!!!! позволяет модицицировать код в ходе выполнения программы с помощью команд:
- AAAA, A n!
- AAAA, AA A n!
- AAAA, AA AAA n!
- AAAAA, AA A n!
- AAAAA, AA AAA n!
- AAAAA, AAAAA!
- AAAAA, AAAA A n!
- AAAAA, AAAA AAA n!
Операторы
- AAAA = Цифра 0
- ААА = Цифра 1
- A = Цифра 2
- AA = Цифра 3
- AAAA = Индексы ячеек используемых в предыдущей команде.
- ААААА, n = Получение значения по индексу n.
- AA A, b = Сумма (a+b)
- AA AA, b = Модуль разности (abs(a-b)).
- ААА, b = Произведение (a*b).
- AA ААА, b = Побитовое И (a и b).
- AAAA, b = Побитовое исключающее ИЛИ b (XOR b).
- АААААА n, b = Вызов подпрограммы n с параметрами a и b. Возврат значения.
- ААААА n, = Вызов подпрограммы n с параметрами a и a. Возврат значения.
- ААААА АА = Первый параметр.
- ААААА ААА = Второй параметр.
Примеры программ
Выводит набираемые на клавиатуре клавиши (бесконечно):
AAAAA A! AAA AAAA AA A! AA AAA AAAAA, A! AAA AA A! AA AAAA AA!
Выводит текст «He»:
AA AAA AA AA, AAA, AAA, AA A AAA, AA A AA A AA A AAA, AA A AA A! AA AAA AA A, AAA AAAAA A AAAA, AAA! AA AAAA AA! AAA A AAA AAAA! AAA A AA AAAA AAA, AA A, AAA AAA, AA A AA A AA A, AAA AAA, AA A AA A! AAAA A AAA!