
При выполнении команды IN файл, содержащий программные модули,
загружается в систему. Сами модули набираются во внешнем редакторе. Если в файле
нет ошибок, то система выводит очередной номер приглашения к диалогу. Чтобы при
загрузке модуля не возникала ошибка "Encountered EOF unexpectedly" ("Неожиданно
встретился конец файла"), в конце загружаемого модуля следует добавить команду
"End;",
которая воспринимается системой как завершение файла.
Выход из системы Reduce-З выполняется командой QUIT.
4.6 ВНУТРЕННИЙ ЯЗЫК СИСТЕМЫ
REDUCE-3
4.6.1 Общая структура системы
Reduce-3
Ядром
системы Reduce-З является интерпретатор стандартного Лиспа. Все
команды внешнего языка системы транслируются в функции Лиспа, а затем
выполняются указанным интерпретатором Сам транслятор с внешнего языка Reduce-З
в стандартный Лисп также написан на стандартном Лиспе.
В системе имеется специальный флаг
DEFN,
включив который, можно отменить
выполнение команд внешнего языка, зато просматривать результаты трансляции этих
команд в Лисп.
Пример'
1:
х:=а+Ь;
(SETK
'X
(AEVAL(LIST
'PLUS
'А
'В)))
Результатом оценки аргумента функции
AEVAL
будет список (PLUS А В),
которым представлено математическое выражение а+b, функция
AEVAL
выполняет
все преобразования над математическим выражением, а специальная функция
SETK
обеспечивает присваивание
Внутренний язык Reduce-З, который называется
г-Лисп,
используется в тех
случаях, когда решение задачи на внешнем языке получить трудно или оно
неэффективно r-Лисп отличается от стандартного Лиспа лишь формой написания
команд, которая напоминает соответствующие команды Паскаля и проще для записи.
Перед выполнением команды
г-Лиспа
эта команда, как и команда внешнего языка,
транслируется в соответствующую команду стандартного Лиспа и выполняется
интерпретатором стандартного Лиспа. Транслятор с
г-Лиспа
в стандартный Лисп также
написан на стандартном Лиспе
Внешний язык Reduce-З называется алгебраическим режимом
системы,
а
внутренний язык - символьным режимом. При запуске система Reduce-З находится в
60