зык RL.
Часть 3. Разные задачи. Интерпретатор.
1. Путь робота в лабиринте записан в виде выражения из букв E W N S (восток, запад, север, юг). Удалить из этого пути лишние шаги (т.е. участки E W, W E, N S, S N)
2. Путь робота на плоскости без стенок записан в виде выражения. Определить, возвращается ли робот в конце пути в исходное положение.
3. Описать функцию, преобразующую выражение (A B) (C D) (E F) в (A C E) (B D F) и действующую аналогично для всех выражений, являющихся последовательностями термов, каждый из которых есть заключенная в скобки последовательность атомов, причем количества атомов во всех термах равны («переход от записи по столбцам к записи по строкам»).
4. Удалить в последовательности символов повторения (результат содержит те же символы, но по одному разу).
5. Переставить символы в последовательности так, чтобы одинаковые символы стояли рядом.
6. а) По двум последовательностям символов построить их пересечение, то есть
Интерпретатором языка RL называется программа, которая получает в качестве исходных данных текст некоторой RL-программы и значения всех параметров её главной функции, а выдаёт значение главной функции для этих значений параметров. Интерпретатор языка RL сам может быть написан на языке RL. Здесь предлагается реализовать его некоторые элементы.
7. Вычислите значение значимого RL-терма, в который могут входить стандартные имена:
a) ABORT, QUOTE
b) те же и FIRST, BF, LAST, BL
c) те же и expr
d) те же, IF и EQUAL.
e) все кроме CALL.