Создан дла АвтоКАД. Диалект ЛИСПа получен в результате изменения нескольких версий: MacLISP, ZetaLISP, CommonLisp. AUTOLISP основан на версии языка XLISP. Был разработан в 62г. Джозефом Маккарти.
Category Archives for ЛИСП
Основные направля-я прогр-я с исп-ем АВТОЛИСП в САПР
1 – программир-е чертежей с параметризацией, т.е. создание проги, позволяющей формировать чертеж при каждом очередном запуске проги. При этом новый чертеж может отличаться от других, построенных этой же прогой, своими параметрами (размерами, доп. видами,обновленным текстом ).Цель – экономия времени.
ОСОБЕННОСТИ ЯЗЫКА ЛИСП
Удобен и легок в обращении и освоении. Высокая интерактивность. Можно модернизировать интерфейс. В АВТОЛИСПе определен большой набор операций: 1 – ф-ции для работы с числовыми данными, реализующие 6 арифм.операций, а также наиболее часто встречаемые мат.ф-ции. Это позволяет вычислить координаты, просчитать длины, площади.
Основные понятия языка, типы данных.
Объекты и типы данных языка АВТОЛИСП, соглашение по лексике и нотации Объекты АВТОЛИСПа: 1 Атом (простейший неделимый объект, из кот форм-ся ост объекты языка).
Понятие атома и списка. Назначение.
Атомы В АВТОЛИСПе использ символьная запись. Символ – имя, состоящее из букв, цифр и специальных знаков за исключением (), . , ‘ , “ , ; . Эти исключения (кроме точки) и _ или конца строки выступают в качестве границ символа.
Виды функций. Создание и описание новых функций. Способы запуска программ на языке AutoLisp. Средства отладки: функция COMMAND.
Все виды функций делятся на три группы: 1. встроенные. 2. функции, созданные разработчиком и описанные в текущем примере. 3. функции, созданные разработчиком и описанные в других программах.
Программирование вычислений. Математические функции.
Программирование вычислений. Математические функции. Использование переменных. Функции семейства GET, SET. Построение изображений.
Использование переменных
Использование переменных Если используются переменная, то ее значение м.б. число, NIL, строка текста, список и т.п. Для этой цели при множестве псевдофункций, которые помимо того, что имеют значения, обладают эффектом образования связи между символом и его значением. К псевдофункциям относятся SET, SETQ, (SETQ <символ_1> <S выражение> [<символ_2> <S выражение>]) символы – это переменные, S_выражения — Читать далее
Функции, используемые для построения изображений
Построение изображений Для использования AutoLisp при построении геометрических изображений (даже без участия пользователя) используются специальные функции.
Подпрограммы. Организация ветвлений
Подпрограммы, ветвления, циклы, логические функции. 1. Функции сравнения: 2. Равенство (=<атом_1><атом_2>), результат – NIL или Т 3. Неравенство (/=<атом_1><атом_2>) 4. <= (<=<атом_1><атом_2>…) 5. > (><атом_1 ><атом_2>…) если атом_1>атом_2>…>атом_n, то результат Т
Работа со строками и функциями преобразования. Работа с файлами. Вывод на печать.
1.Функция определения количества символов (STRLEN <”строка”>) 2.Функция соединения (сцепления строк) (STRCAT <строка1> <строка2>…) (STRCAT “Вася ” “лопух”)
1.Функция определения количества символов (STRLEN <”строка”>) 2.Функция соединения (сцепления строк) (STRCAT <строка1> <строка2>…) (STRCAT “Вася ” “лопух”)
функция проверки соответствия символов заданному шаблону
(WCMATCH <литерал> <шаблон>) <литерал> — строка символов <шаблон> — шаблон глобальных символов Функция проверяет соответствие шаблона глобальных параметров заданному литералу. Если он =, то выдает Т, иначе NIL.
функция преобразования угла в литерал
(ANGTOS <угол> [<представление>[<точность>]]) <угол> — действительное число в радианах <точность> — количество знаков, после запятой <представление> — формат представления
Функция преобразования числа в строку символов
(RTOS<число> [<режим>] [<точность>]) <число> — число <режим> — числовой параметр, определенный вид преобразований <точность> — количество дробных символов в числе
Функции для работы с файлами
Для приема и передачи в файл информации используют функции: 1) функция для создания файла 2) функция для чтения файла 3) функция для дополнения файла
Функции для работы с текстом
Ф-я записи строки на экран или в файл (Write-Line<литера>[<дескриптор>]) (write-line “text”) -> “text”
Создание и обработка списков. И другие операции
1. (SetQ p1(Getpoint ` (10 20 30))) 2. Указание примитива на экране и формирование набора данных в виде списка с помощью ф-ии EntGet
Выделение элементов списка. Семейство функций Car, CDR.
Анализ списка (Listp <элемент>) – проверка явл. ли элемент списком. Результат T или Nil.
Работа с системными переменными
Следует учесть, что некоторые системные переменные определены только для чтения, такие системные переменные переустанавливать нельзя.
Формирование и анализ примитива. Операции над примитивом
Графический примитив – это функционально определенный простейший объект графической БД чертежа. Объекты, с которыми работают программы на языке AutoLisp делятся на: 1) отдельные примитивы, созданные программой или графическим редактором;
Формирование и анализ работы с примитивами.
Формирование списка данных примитива: (ENTGET <имя примитива> [<список>]) функция формирует и возвращает список, содержащий данные о примитиве, который задан <именем примитива>. Аргумент <список> позволяет задать имена зарегистрированных приложений. При этом будут возвращены расширенные данные, связанные с именем примитива.
Формирование и анализ наборов графических примитивов
Набор примитивов – это совокупность графических примитивов, объединенных по логическому или физическому принципу. Операции с наборами:
Функции анализирующие набор примитива.
1. функция определяющая количество примитивов в наборе (SSLENGTH <набор>) возвращает число примитивов, содержащихся в наборе (SETQ OLPLINE (SSGET “L”)) (SSLENGTH OLDLINE)
Средства управления временем и памятью при работе в среде AutoLisp
Рекомендации по работе с памятью: 1) Общее: — Можно сокращать количество различных переменных за счет повторного использования старых переменных для других целей.
Средства отладки программы
Для того, чтобы узнать значение, которое содержится в переменной или на которое ссылается символ в программе, используется следующая конструкция:
Использование компилятора языка AutoLisp
Порядок компиляции: 1.Подготовить и ввести исходный текст программы используя окна текстового редактора.
Запуск программ и помощь системы консоли
(VLISP COMPILE <режим> < “имя компелируемого файла”> [“имя выходного файла”]) <режим> определяет способ трансляции и может быть ST — стандартный режим LSM – оптимизирует, но не компелрует LSA – оптимизирует и компилирует.
Операции побитовых операций сравнения
Побитовое логическое и (LOGAND <число1> <число2> …) Побитовое или (LOGIOR <число1> <число2> …) аргумент целого типа. Побитовый сдвиг (LSH <число1> <число2> …) число2 – количественный сдвиг, если с минусом, то сдвиг влево. (BOLE <число1> <число2> <число3> …) число1 – от 0 до 15 – код операции, остальные числа – аргументы.
Защита программ на языке AutoLisp.
1.Шифровка с помощью программ PROTECT. 2.Псефдошифровка с помощью программы KELVINATOR. Программа PROTECT производит шифровку исходного текста по некоторому алгоритму. Зашифрованный текст программы имеет заголовок: