Связано с: Создать интерпретатор; # и Создать; # код
;#
- Гид Вихря
Это простой язык с двумя командами. Его единственной структурой данных является аккумулятор, который инициализируется в 0.
;
Увеличить аккумулятор#
Вычислить значение аккумулятора по модулю 127 и вывести соответствующий символ ASCII. Затем сбросьте аккумулятор на 0.
Исходный код может содержать дополнительные символы (печатный ASCII + пробел), но они рассматриваются как комментарии и не влияют на выполнение программы.
Вызов
Поскольку большинство компьютеров не поставляются с ;#
предустановленными, было бы очень полезно иметь инструмент, который может конвертировать ;#
код на другой язык. В этом задании вы должны написать программу для достижения этой цели.
вход
Некоторый ;#
исходный код, взятый через аргумент или STDIN. Этот исходный код может содержать (комментарий) символы, отличные от ;
или #
.
Выход
Код на том же языке, что и ваше представление, которое при выполнении печатает / возвращает ту же строку, что и исходный ;#
код. Этот результирующий код может выводить завершающий символ новой строки после целевой строки, если это более удобно для вашего языка.
Заметки
Стоит обратить внимание на escape-последовательности, такие как код, который печатает обратную косую черту или печатает кавычки. Также обратите внимание на ;#
код, который может содержать вещи, которые выглядят как ключевые слова или команды на вашем языке.
Дополнительные ограничения
Все программы должны завершаться (я обычно считаю это значением по умолчанию, но кто-то спрашивал об этом, поэтому я заявляю это здесь).
Примеры
input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
output (python): print(";#")
input: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#
output (element): \'`
;
или #
?
;#
предустановленным ...