Панели инструментов Visual LISP.


Лабораторная работа №3. Тема: Панели инструментов Visual LISP. Типы. Роль. Возможности. Настройки. Текстовый редактор Visual LISP. Работа в окне консоли. Компиляция программ. Цель: Познакомиься с существующими панелями команд, используемыми при решении прикладных задач в в среде Visual LISP; знать их настройки, возможности; разобраться с функциями текстового редактора, используемого при написании и корректуре программ, действием окна консоли; знать работу и типы компиляторов кода в Visual LISP. Ход работы. 1. Запустить AutoCAD одним из возможных способов. 2. Панели инструментов Visual LISP Для облегчения работы со средой Visual LISP можно вывести на экран инструментальные панели (Рис. 1). Вывести или отключить требуемые панели инструментов можно с помощью пункта Toolbars… (Панели инструментов) падающего меню View (Просмотр), который вызывает диалоговое окно выбора панелей инструментов Toolbars (Рис. 2). Диалоговое окнj обеспечивает управление отображением на экране следующих панелей инструментов: Standard (Стандартная), Search (Поиск), Tools (Инструменты), Debug (Отладка), View (Просмотр). Рис. 1 Панели инструментов Visual LISP Для того чтобы вывести ту или иную панель на экран, необходимо щелчком мышки включить/выключить соответствующие флажки, после чего нажать кнопку Apply (Применить). Если щелкнуть по кнопке Show all (Показать все), в главном окне Visual LISP появятся все инструментальные панели. Для удаления инструментальных панелей из главного окна Visual LISP необходимо нажать кнопку Hide all (Скрыть все), а затем кнопку Close (Закрыть). Рис.2 Диалоговое окно выбора панелей инструментов Примечание! При перемещении указателя мышки по значкам (пиктограммам) инструментальных панелей высвечивается назначение каждой кнопки панели, а в строке состояния в самом низу главного окна Visual LISP появляется более подробное объяснение. С каждой кнопкой связан определенный пункт меню, а рисунок на этой кнопке передает суть этого пункта меню. Вызывать пункт меню с помощью кнопки гораздо быстрее, чем выбирать в меню. 2.1. Панель Инструментов просмотра (View) Представлено на Рис. 3 и включает восемь основных кнопок: Рис 3. Панель инструментов просмотра View Назначение кнопок (слева направо) следующее: Activate AutoCAD (Активизировать систему AutoCAD). Описание в строке состояний — Activate AutoCAD (Активизируется AutoCAD); Select window (Выбрать окно). Описание в строке состояний – Select; Visual LISP window from list (Выбор окна Visual LISP из списка); LISP console (Выбрать консоль AutoLISP). Описание в строке состояний — Activate Visual LISP console / bring console to top (Активизирование Visual LISP консоли / перенесение консоли наверх); Inspect (Проверить). Описание в строке состояний — Open an inspector window and enter expression (Открытие окна просмотра для ввода выражения); Тracе (Трассировка ошибки). Описание в строке состояний — Open thе inspector window for last error trace stack (Открытие окна просмотра последней ошибки трассы стека); Symbol service (Обслужить символы). Описание в строке состояний — Activate the symbol service window (Активизация окна обслуживания символов); Apropos (Найти слово по фрагменту). Описание в строке состояний — Open the apropos window for assistance on LISP expressions (Открытие окна поиска слова по фрагменту для помощи LISP-выражениям); Watch window (Открыть окно наблюдений). Описание в строке состояний — Open the watch window (Открытие окна наблюдений). 2.2. Панель инструментов (Tools). Панель инструментов включает девять кнопок (Рис. 28). Рис. 4 панель инструментов Tools Размещение кнопок (слева направо) следующее: Load activate edit window (Загрузить программу из активного окна редактирования). Описание в строке состояний — Load and evaluate the code in the active editor window (Загрузка и выполнение программы в активном окне редактора); Load selection (Загрузить выделенное выражение). Описание в строке состояний — Load and evaluate the selected text (Загрузка и выполнение выделенного текста); Check edit window (Проверить синтаксис программы в активном окне редактирования). Описание в строке состояний — Perform syntax checking of AutoLISP code in the active editor window (Выполнение синтаксической проверки программы AutoLISP в активном окне редактора); Check selection (Проверить синтаксис выделенного). Описание в строке состояний — Perform syntax checking of selected AutoLISP code in edit window (Выполнение проверки синтаксиса выделенной программы AutoLISP в окне редактирования); Format edit window (Отформатировать программу в активном окне редактирования). Описание в строке состояний — Format AutoLISP code in the active editor window (Форматирование программы AutoLJSP в активном окне редактора); Format selection (Отформатировать выделенный фрагмент). Описание в строке состояний — Format AutoLISP code in the current selection (Форматирование программы AutoLISP в текущем выборе); Comment block (Закомментировать блок). Описание в строке состояний — Comment out the selection block of text (Комментирование выбранного блока текста); Uncomment block (Разкомментировать блок). Описание в строке состояний — Uncomment the selection block of text (Отмена комментариев у выбранного блока текста); Help (Помощь). Описание в строке состояний — Visual LISP Help (Помощь Visual LISP). 2.3. Панель инструментов отладки (Debug) Панель инструментов отладки включает девять кнопок и один индикатор в виде кнопки (последний на панели инструментов) (Рис. 5). Рис. 5 Панель инструментов отладки Примечание! На индикаторе изображены круглые скобки и положение курсора. Курсор может стоять перед круглыми скобками; это означает, что процесс отладки остановлен перед выражением Stopped before (Остановлен перед) или после — Stopped after (Остановлен после). Назначение кнопок (слева направо) следующее: Step into (Шагнуть внутрь выражения). Описание в строке состояний — Step into the nested expression (Шагнуть внутрь вложенного выражения); Step over (Шагнуть с обходом). Описание в строке состояний — Step over the next expression (Шагнуть до следующего выражения); Step out (Шагнуть вне выражения). Описание в строке состояний — Step out to the end of the current function (Шагнуть вне выражения к концу текущей функции); Continue (Продолжить отладку). Описание в строке состояний — Continue to the next breakpoint or to the end (Продолжить до следующей точки прерывания или до конца); Quit (Выйти из текущего уровня отладки). Описание в строке состояний (внизу окна) — Quit the current debug level (Выход из текущего уровня отладки); Reset (Вернуться на верхний уровень). Описание в строке состояний — Reset to the top level (Вернуться на верхний уровень); Toggle breakpoint (Установить/удалить точку прерывания). Описание в строке состояний — Add or remove a breakpoint at the current location (Добавление или удаление точек прерываний в текущем положении); Add watch (Добавить выражение для просмотра). Описание в строке состояний — Add an expression to watch (Добавить выражение для просмотра); Last break (Последнее прерывание). Описание в строке состояний -Show last break source (Показать источник последнего прерывания). 2.4. Панель инструментов поиска (Search) Панель инструментов поиска включает семь кнопок и раскрывающийся список с текстовым полем (Рис. 6). В текстовом поле раскрывающегося списка вводятся символы для поиска их в активном окне текстового редактора или окне консоли. Щелчком по стрелке, направленной вниз, можно раскрыть список и выбрать в нем ранее введенные символы. Рис. 6 Панель инструментов поиска На панели инструментов Search (Поиск) слева направо размещаются следующие кнопки: Find (Найти). Описание в строке состояний — Search for text (Поиск текста). Точнее, поиск введенного текста в текстовом поле диалогового окна Find, которое появляется после щелчка по кнопке Find (Найти); Replace (Заменить). Описание в строке состояний — Search for text replace it with new text (Поиск введенного текста и замена его на новый текст); Find toolbars string (Найти строку текстового поля). Описание в строке состояний — Find the current string in the toolbars (Найти текущую строку текстового поля); Toggle bookmark (Установить/удалить закладку). Описание в строке состояний — Add/remove a bookmark at the current position (Добавление/удаление закладки на текущей позиции); Next bookmark (Перейти к следующей закладке). Описание в строке состояний — Move to the next bookmark (Перейти к следующей закладке); Previous bookmark (Перейти к предыдущей закладке). Описание в строке состояний — Move to the previous bookmark (Перейти к предыдущей закладке); Clear all bookmark (Удалить все закладки). Описание в строке состояний — Clear all bookmark (Удалить все закладки). Информация, отображаемая в строке состояния (в самом низу главного окна Visual LISP), изменяется в зависимости от того, какое действие в настоящий момент вы выполняете в Visual LISP. Примечание! Следует обратить внимание на минимизированное окно поиска нескольких символов. При запуске это окно информирует о текущем состоянии Visual LISP. Кроме того, оно может содержать дополнительную информацию, например, об ошибках VLISP во время запуска. 3. Текстовый редактор Visual LISP. 3.1. Базовые сведения. Текстовый редактор Visual LISP предназначен для эффективной разработки, проверки и отладки программ на AutoLISP. Окно текстового редактора вызывается автоматически при открытии файла с программой на AutoLISP в диалоговом окне Open file to edit/view (Открыть файл для редактирования/просмотра) (см. Лабораторная работа № 1 , Рис. 7). Вызвать диалоговое окно открытия файла можно двумя способами: • выбрать пункт Open File… (Открыть файл) падающего меню File (Файл) (см. Лабораторная работа №1, Рис.5); • нажать комбинацию клавиш Ctrl+O. В диалоговом окне открытия файла необходимо найти соответствующую папку (каталог) и дважды щелкнуть по ней мышкой. В раскрытой папке (каталоге) аналогичным способом следует открыть нужный файл, который будет помещен в текстовое окно системы Visual LISP. В качестве примера рассмотрим файл DOM.LSP, который содержит программу, имеющую всего одну функцию языка AutoLISP — (COMMAND…) (Рис. 7). Рис. 7 Пример исходного кода программы DOM.LSP 3.2. Свойства редактора Когда вносятся изменения текста программы в редакторе или добавляется новый текст, рядом с именем файла в строке состояния появляется звездочка (*). Она сохраняется рядом с названием файла до тех пор, пока вы не сохраните внесенные изменения либо не закроете файл. Примечание! Следует помнить, что одновременно можно работать только с одним файлом в одном окне текстового редактора. Каждый раз при открытии файла Visual LISP отображает файл в новом окне текстового редактора. Текстовый редактор Visual LISP обеспечивает цветное отображение программ. Кроме того, он выполняет синтаксический анализ программ на языке AutoLISP и назначает соответствующие цвета различным константам, именам функций. Это позволяет выявлять синтаксические ошибки до выполнения компиляции. Текстовый редактор предоставляет возможность форматировать программы AutoLISP, делая их тем самым более удобными для чтения. При этом можно выбирать различные стили форматирования. Программы на языке AutoLISP содержат большое количество круглых скобок. Текстовый редактор помогает найти ближайшую закрывающую круглую скобку, которая соответствует указанной открывающей скобке. Выделяя цветом различные фрагменты кода текстовый редактор Visual LISP позволяет выбирать отдельные части программы и выполнять их. При этом необязательно выходить из текстового редактора и выполнять всю программу в целом. У пользователя есть возможность осуществлять поиск слова или выражения, проверять синтаксис отдельных выделенных фрагментов программы. Текстовый редактор позволяет загрузить программу для последующего ее выполнения. В таком случае важно, чтобы окно текстового редактора было активным. Это можно сделать, если щелкнуть мышкой в любом месте окна. 3.3 Работа с окном консоли. Для загрузки программы следует использовать кнопку Load activate edit window (Загрузить программу из активного окна редактирования) или выберите пункт Load Text in Editor (Загрузить текст программы из активного окна редактирования) падающего меню Tools (Инструменты) главного меню Visual LISP. На экране появится сообщение о загрузке программы в окне консоли Visual LISP. Для программы DOM.LSP, например, оно будет выглядеть так, как показано на Рис. 8. Рис. 8 Окно консоли, после загрузки программы DOM.LSP Из сообщения, приведенного на рисунке, следует, что загрузка выполнена из текстового редактора файла DOM.LSP, который состоит из одной формы с указанием имени файла и каталогов (пути), в которых он находится. После загрузки программы ее можно запустить на выполнение из командной строки консоли. Для этого достаточно ввести имя программы в круглых скобках и нажать клавишу Enter. Во время ввода команд с консоли Visual LISP или выполнения программы, загруженной из текстового редактора, можно переключаться между окнами AutoCAD и Visual LISP. Помимо стандартных методов переключения между приложениями Windows, существует еще несколько методов переключения между окнами AutoCAD и Visual LISP. Так, если вы находитесь в Visual LISP, используйте пункт Activate AutoCAD (Активизировать AutoCAD) падающего меню Window (Окно) в главном меню Visual LISP (см. Лабораторная работа №2, Рис. 12). Или допустим, что вы находитесь в AutoCAD и хотите вернуться в среду Visual LISP. В таком случае введите команду VLIDE (Вызов среды Visual LISP) в командной строке AutoCAD. Результат очевиден. Окно консоли Visual LISP служит для отображения диагностических сообщений об ошибках в программах AutoLISP и результатах работы многих функций AutoLISP. Например, в окне консоли отображается результат работы функции (PRINC…). Для отображения текущего значения переменной AutoLISP в Visual LISP достаточно набрать имя переменной в окне консоли и нажать клавишу Enter (Ввод). Чтобы выполнить, оценить и просмотреть результаты, выражение AutoLISP можно вводить в окне консоли Visual LISP. Если требуется ввести больше одной строки, то для ввода следующей строки — нажмите и удерживаете комбинацию клавиш Ctrl+Enter. Несколько выражений можно вводить до нажатия клавиши Enter (Ввод). Примечание! Важно знать, что есть возможность копировать и передавать текст между консолью и окном текстового редактора. Большинство команд текстового редактора также доступны в окне консоли. Нажатием клавиши Tab можно восстановить предыдущую команду, которая была введена в окне консоли. Неоднократное нажатие клавиши Tab восстанавливает более ранние команды. Если нажать комбинацию клавиш Shift+Tab, то команды будут восстановлены в обратном направлении. С помощью клавиши Tab можно осуществить ассоциативный поиск. Если, например, ввести выражение, которое начинается с символов (+, а затем нажать клавишу Tab, Visual LISP отыщет последнюю введенную команду, которая начинается с символов (+. Чтобы изменить направление поиска, следует нажать комбинацию клавиш Shift+Tab. Клавиша Esc (Escape — отменить) удаляет любой текст после подсказки с консоли. Если нажать комбинацию клавиш Shift+Esc, можно будет отказаться от интерпретации текста, введенного с консоли в ответ на подсказку и перейти к следующей подсказке. После нажатия правой кнопки мышки или комбинации клавиш Shift+F10 в любом месте окна консоли на экране появляются меню команд Visual LISP и опции. Они могут быть использованы для того, например, чтобы скопировать и вставить текст в командную строку консоли, найти текст или инициализировать Visual LISP. 4. Компиляция программ и выход из Visual LISP 4.1. Типы компиляторов, используемых в Visual LISP. При запуске программы AutoLISP с консоли Visual LISP или при загрузке программ из окна текстового редактора Visual LISP происходит компиляция программ и ее выполнение. Visual LISP имеет два компилятора: — компилятор с непосредственным выполнением для быстрого тестирования и отладки новой программы (он подобен интерпретатору AutoLISP); — компилятор, который размещает откомпилированные программы с тем же именем, что и исходные, но с расширением .FAS. Такие программы могут быть запущены из Visual LISP и выполняются быстрее, чем сгенерированные компилятором с непосредственным выполнением. Это позволяет создавать приложения, с которыми могут работать другие пользователи. Приложения могут быть автономные или сопровождаемые Visual LISP Run -Time Support System (RTS) (Система поддержки выполнения программ Visual LISP). Скомпилированные исполняемые файлы содержат только машинно-ориентированный код. Исходный текст зашифрован компилятором файла Visual LISP. Исполняемые файлы, сгенерированные компилятором, часто называются «компилированными программами» или fas-файлами. 4.2. Способы компиляции программ. Visual LISP обеспечивает различные способы запуска и использования компилятора файла. Для того чтобы скомпилировать одиночный файл LISP, используется LSP-компилирующая функция. Когда приложение состоит из набора файлов AutoLISP, загруженных одновременно, следует использовать интегрированные средства управления проектом Visual LISP для компилирования ваших файлов. Организатор проекта автоматически перетранслирует файлы, которые изменились, обеспечит поиск фрагментов программ даже в том случае, если вы не знаете, какой файл содержит их, и сможет оптимизировать использование функций, а также локальных переменных в компилируемых файлах. Чтобы скомпилировать одиночный файл AutoLISP, вызовите функцию (VLISP-COMPILE…) в ответ на подсказку с консоли Visual LISP. Шаблон следующий: (VLISP-COMPILE <‘режим> <«имя компилируемого файла»> <[«имя скомпилиро-ванного выходного файла» ]>) , где <’режим> определяет режим трансляции и может быть одним из следующих: ST — стандартный режим; LSM — режим, который оптимизирует, но не компонует; LSA — режим, который оптимизирует и связывает. Стандартный режим создает самый простой выходной файл и обычно применяется для программ, состоящих из единственного файла. Режим с оптимизацией повышает эффективность компилируемых файлов и применяется в сложных и больших программах. К базисным функциям оптимизации относятся: • link Function (Функция связи), которая вызывается, чтобы создать прямые ссылки к компилируемой функции в оттранслированной программе и защитить код против функционального переопределения во времени выполнения; • Drop Function (Функция уменьшения), которая делает оттранслированную программу более безопасной, уменьшает размер программы и сокращает время загрузки. Например, при компиляции программного файла DOM.LSP в Visual LISP на диске С в папке VLISP вы можете вызвать компилятор с консоли: _$ (VLISP-COMPILE ‘ST «C:/DOM.LSP») Примечание! Если не указывается расширение файла с исходной программой, Visual LISP добавляет расширение LSP. При определении пути в имени файла используйте символ наклонной черты вправо (/) или удваивайте наклонную черту влево (\\). Выходной (скомпилированный) файл по умолчанию имеет то же имя, что и исходный, но расширение FAS. После завершения компиляции появится сообщение компилятора в окне Build Output (Создание выходного файла) (Рис. 9). Рис. 9 Окно сообщений компилятора Build Output Имя выходного файла можно изменять, например: (VLISP-COMPILE ‘ST «C:\\DOM.LSP» «C:\\DOM.FAS «) В ходе трансляции по окончании каждой ее стадии компилятор печатает название функции и различные сообщения. Первая стадия трансляции — синтаксическая и лексическая проверка исходного текста. Если компилятор находит на этой стадии ошибки, он выдает сообщение и останавливает процесс трансляции. Когда компилятор встречает выражения, которые расцениваются как опасные, он выдает предупреждение. К опасным выражениям относятся, например, такие, которые переопределяют существующие функции AutoLISP или задают новые значения защищенным символам. Если трансляция завершается успешно, как в примере на Рис. 33, в окне Build Output (Создание выходного файла) появляется название скомпилированного выходного файла. Может случиться, что трансляция завершилась с ошибками. В такой ситуации исходный текст можно просмотреть и отредактировать. Для этого необходимо дважды нажать на сообщение об ошибке в окне Build Output. 4.3. Загрузка и выполнение скомпилированных программ. Для загрузки программы необходимо ввести функцию (LOAD…) после подсказки с консоли Visual LISP. _$ (LOAD «C:/DOM.FAS «) Примечание! Если вы не укажете расширение файла FAS, Visual LISP не забудет сделать это сам. Загрузить программу можно также, если выбрать пункт Load File (Загрузить файл) падающего меню File (Файл) главного меню Visual LISP. На экране появится диалоговое окно Load lisp file (Загрузить lisp файлы). В поле Files of type (Tип файлов) обязательно выберите пункт Compiled AutoLISP Files (Скомпилированные файлы AutoLISP), иначе Visual LISP перечислит только .LSP файлы. Запустить программу на выполнение можно так же, как и программу, загруженную из окна текстового редактора. Для этого необходимо ввести с консоли после подсказки: _$ (DOM) При разработке приложений, содержащих несколько файлов, необходимо использовать встроенную систему управления проектом Visual LISP для автоматической оптимизации кода. 9. Выход из Visual LISP. Выход из среды Visual LISP можно осуществить двумя способами: • С помощью меню. Для этого мышкой выберите пункт Exit (Выход) падающего меню File (Файл) главного меню; • с помощью комбинации клавиш Alt+Q. И в том и в другом случае на экране появится диалоговое окно Exiting Visual LISP… (Выход из Visual LISP). На вопрос Really want to quit session? (Действительно ли вы хотите выйти из Visual LISP?) вы должны ответить Yes (Да) или No (Нет). Если в тексте в любом окне редактора сделаны какие-либо изменения, и они не были сохранены, то во время закрытия файла появится диалоговое окно с предложением сохранить изменения. В ответ на запрос Save changes to DOM (Сохранить изменения в файле под названием DOM) необходимо щелкнуть по кнопке Yes (Да), No (Нет) или Cancel (Отменить). Примечание! Если при выходе из Visual LISP остаются программы, которые открыты в окнах текстового редактора, Visual LISP автоматически открывает их в начале нового сеанса работы. Практическое задание. 1. На базе любого произвольного примера проверить действие изученных команд и опций. 2. Рассмотреть и усвоить работу компиляторов системы Visual LISP.

Загрузка...