Введение в программирование на Лиспе

         

Вызов Лисп-интерпретатора и/или компилятора.


Без аргументов (опций) выполняется цикл "чтение-вычисление-печать", при котором выражения читаются поочередно из стандартного потока ввода, вычисляются Лисп-интепретатором, и полученные результаты выводятся в стандартный поток вывода. Опция –c специфицирует Лисп-файлы, предназначенные для компиляции в байт-код, который выполняется более эффективно.

Формат вызова Лисп-системы:

clisp [ -h ] [ -m memsize ] [ -M memfile ] [ -L language ] [ -N directory ] [ -q ] [ -I ] [ -i initfile ... ] [ -c [ -l ] lispfile [ -o outputfile ] ... ] [ -p packagename ] [ -x expression ]2)

OPTIONS

-h Показывает формат вызова Лисп-системы

-m memsize Установливает объем памяти. Для современных версий игнорируется.

-M memfile Определяет внутреннее наполнение памяти Лисп-системы. Оно должно быть создано функцией "saveinitmem".

-L language Задает язык сообщений для взаимодействия с пользователем. (английский, немецкий, французский и др.) Влияет на тексты диагностики.

-N directoryУказывает, где искать файлы с текстами сообщений.

-q Ни заставки, ни прощального текста не выдается.

-I вариант диалога в стиле ILISP (популярный интерфейс, принятый в редакторе Emacs)

-i initfile ... Специфицирует инициализирующие файлы, которые будут загружены при запуске системы. Это должны быть исходные или компилированные Лисп-файлы,

-c lispfile ... Компилирует специфицированные Лисп-файлы в байт-код. Компилированные файлы затем загружаются вместо исходных, чтобы повысить эффективность.

-o outputfile Задает файл вывода или директорию для компиляции предшествующего лисп-файла.

-l будет выполняться листинг байткода для компилируемых файлов. Полезно только для целей отладки.

-p packagename При загрузке устанавливает начальное значение переменной *package*

-x expressions Выполняет серию произвольных выражений вместо цикла "read-eval-print". Значения выражений выводятся в стандартный поток вывода. Согласно системным соглашениям выражения должны быть заключены в скобки, а двойным кавычкам и обратным чертам следует предпослать обратную черту.

@optionfile Подставляет содержимое файла как аргумент для запуска Лисп-системы. Каждая строка воспринимается как отдельный аргумент.

При работе с Лисп-системой полезны следующие возможности:

(apropos name) перечисляет символы, включающеие "name"

(exit) or (quit) or (bye) - выход из Лисп-системы

EOF (Ctrl-Z) Покидает текуций "read-eval-print" цикл

Стрелки управления курсором позволяют построчно редактировать и просматривать историю ввода текста программы.

Соглашение об именах файлов:

lisp.exe основной исполнитель

lispinit.mem исходный/начальный образ/состояние памяти

config.lsp конфигурация и настройки

*.lsp исходные тексты на Лиспе

*.fas результат компиляции – байт-код

*.lib библиотечная информация, создаваемая и испоьзуемая компилятором

*.c Си-код, компилированный по исходному Лисп-тексту



Содержание раздела