Наука
Advertisement

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!

Ссылки

Advertisement