Задача: Написать программу с нетривиального подмножества произвольного диалекта Лиспа (Lisp) в промежуточный код RISC-архитектуры Компилятор — это программа, предназначенная для трансляции высокоуровневого языка в абсолютный (машинный) код или, иногда, в язык ассемблера. Входной информацией для компилятора (исходный код) является описание алгоритма или программа на...
Задача: Написать программу, эмулирующую поведение детерминированного МП-автомата, составленного по заданной LL(1)-грамматике. Проверку принадлежности строки языку выполнить в виде поиска допускающего состояния в истории вычислений автомата. Историю вычислений реализовать в виде отложенного списка, то есть не допускается одновременное хранение в памяти всех промежуточных...
A. Функция Позиция(x список) возвращает положение атома x в одноуровневом списке (первый элемент имеет номер 1). Если элемента в списке нет, то функция возвращает 0. (Используется функция MEMBER) b. Функция Сумма-дерева (дерево) возвращает сумму чисел в дереве. Нечисловые символы игнорируются (Сумма-дерева ’((3 Три) (3 Богатыря) (1 Волк))) = 7 (Используется предикат MEMBERP и...
Комментарии