Среда FreeLisp

Для запуска FreeLisp дважды щелкните на соответствующей иконке, расположенной на рабочем столе (иконка создается при инсталляции системы FreeLisp) или выберите пункт FreeLispиз меню Пуск > Программы > FreeLisp.

Первым, что вы увидите после активизации системы, будет начальная заставка FreeLisp, содержащая информацию о разработчиках системы FreeLisp и номере ее версии. После нажатия на кнопке OK на экране появятся два окна. Первое – окно с именем FreeLisp Listener, которое является центральной частью среды. Это то окно, в котором Вы вводите выражения и формы и получаете результаты вычислений. Второе – окно Echo Area, которое используется в основном для вывода сообщений, вопросов, если, например, для выполнения какого-то действия требуется дополнительная информация, и для ввода ответов пользователей. На рисунке 4.2 показаны окна FreeLisp Listenerи Echo Area.

Центральной частью окна FreeLisp Listener является панель, содержащая командный промптер cl–user 1>. cl–user – это имя текущего пакета (Common Lisp User), а цифра – соответствует номеру введенного пользователем выражения. Набираемые пользователем формы и выражения сохраняются в history-списке FreeLisp Listener (сохраняется 20 последних введенных пользователем выражений). Таким образом, цифру, являющуюся частью промптера, можно использовать для повтора вычисления нужных форм или выражений без их повторного ввода.

 

Рис. 4.2. Среда FreeLisp

Кроме интерпретатора команд FreeLisp Listener среда FreeLisp также включает следующие инструменты: Editor – текстовый редактор, Class Browser – позволяет исследовать определения классов, Inspector – позволяет исследовать объекты и изменять значения экземплярных переменных, Generic Function Browser – позволяет просматривать generic-функции.

Для вызова этих инструментов можно воспользоваться командами меню окна FreeLisp Listener Works > Lisp. Все окна системы FreeLisp имеют меню Works. На рисунке 4.3 приведено содержимое меню Works интерпретатора команд FreeLisp Listener.

Рис. 4.3. Меню Works в среде FreeLisp

Кроме подменю Lisp меню Works также содержит подменю Customize, содержимое которого различается в зависимости от типа окна. Подменю Customize предназначено для включения/выключения режима отладки, для переключения режима повторного использования окна/создания нового окна, задания режима сортировки элементов в окнах инспектора или браузеров, включения/выключения режима показа имени пакета в командном промптере и задания используемого пакета. Иногда случается, что после ввода выражения интерпретатор не отвечает. В этом случае просто нужно использовать команду Update из меню Works. Команда Update позволяет отобразить все изменения, произошедшие с момента последнего вычисления содержимого, в выбранном окне. Команда Exit FreeLisp осуществляет выход из среды.

Кратко рассмотрим остальные компоненты главного меню окна FreeLisp Listener:

 

File позволяет производить различные операции с файлами;
Edit содержит команды редактирования, такие как: Undo, Cut, Copy, Paste, и т. д.;
Value позволяет производить различные операции над результатом последнего введенного выражения;
Debug позволяет выполнять операции отладки;
Expression позволяет выполнять различные операции над текущим выражением;
History позволяет перевычислять выражения, содержащиеся в history-списке без их повторного набора;
Help позволяет получить информацию о горячих клавишах, используемых в среде FreeLisp.

Встроенный редактор – FreeLisp Editor

Как уже говорилось, пользователь может вводить формы и выражения непосредственно в окне интерпретатора команд FreeLisp Listener. Но гораздо удобнее использовать для этого входящий в составе системы FreeLisp текстовый редактор FreeLisp Editor.

Вы можете открыть окно редактора, выбрав команду Lisp>Editorиз меню Worksлюбого окна системы FreeLisp. На рисунке 4.4 показано окно редактора FreeLisp Editor.

Основную часть текстового редактора FreeLisp Editor составляет окно редактирования. Текстовый редактор FreeLisp Editor имеет только одно окно, но позволяет открывать одновременно несколько файлов и работать с ними при помощи меню Buffers. Кроме того, можно запустить несколько копий редактора FreeLisp Editor, в каждом из которых можно открыть несколько файлов. Для этого нужно настроить текстовый редактор FreeLisp Editor с помощью меню Works>Customize. По умолчанию для файлов с лисп-кодом используется расширение .lsp. Если файл имеет такое расширение, то при его открытии текстовый редактор FreeLisp Editor будет работать в лисп-режиме, а в строке состояния текстового редактора будет указано слово (Lisp). В строке состояния также указывается имя текущего пакета, координаты курсора в окне текстового редактора и имя файла.

Рис. 4.4. Окно редактора файлов FreeLisp Editor

Рассмотрим основные компоненты главного меню окна FreeLisp Editor:

File позволяет производить различные операции с файлами, такие как: открытие, сохранение, закрытие файлов;
Edit содержит команды копирования текста в буфер clipboard, вставки текста из буфера clipboard, команды поиска и замены, а также команду отмены изменений (Undo). FreeLisp Editor использует специальный тип clipboard – циклический буфер, который в отличие от обыкновенного буфера clipboard позволяет сохранять несколько элементов;
Buffer содержит команды, выполняемые над текущим файлом, такие как: выполнение лисповского кода, переход к определенной строке, и т.д.;
Region содержит команды, выполняемые над выделенным фрагментом лисповского кода;
Definition содержит команды, выполняемые над определением, внутри которого находится курсор;
Expression содержит команды, выполняемые над выражением, внутри которого находится курсор;
Buffers переключение между открытыми файлами.

 

Для выполнения лисповского кода в окне текстового редактора FreeLisp Editor используются команды меню Buffer>Evaluate (производит вычисление всего кода в текущем файле), Region>Evaluate (производит вычисление лисповского кода в текущем выделенном фрагменте) и Definition>Evaluate (производит вычисление кода определения внутри которого находится курсор). Результат вычисления выражений появляется в окне FreeLisp Listener.

При выполнении некоторых команд пользователю предлагается ввести дополнительную информацию, такую как строку для поиска, имя файла и т.д. в окно Echo Area. Для многих команд при вводе дополнительной информации в окно Echo Area используется технология, называемая завершением ввода: после того как вы частично ввели строку в окно Echo Area, надо нажать клавишу tab и редактор попытается завершить ввод за вас. Если редактор сам не может закончить набранную строку вам будет представлен список альтернатив. Вы можете выбрать одну из предложенных альтернатив с помощью двойного щелчка мышью на ней.