Реферат: АвтоЛИСП - реализация языка программирования
АвтоЛИСП - реализация языка программирования ЛИСП, вложенного в пределах системы АвтоКАД. АвтоЛИСП позволяет пользователям и разработчикам АвтоКАДА писать макропрограммы и функции на очень высоком, находящем графическое применение, уровне языка. ЛИСП очень гибок, легок в изучении и применении.
Замечание
Для более эффективного применения АвтоКАДА нет необходимости изучать АвтоЛИСП; если у вас нет опыта компьютерного программирования, прочтите тольно установочные требования в главе 2 - это позволит вам увидеть применяемые АвтоЛИСПом преимущества многочисленных меню АвтоКАДА. Однако, если вам нравится программировать, прочтите это руководство до конца, чтобы узнать как применять АвтоЛИСП для преобразования основного назначения пакета изготовления чертежей АвтоКАДА в более мощный инструмент программиста.
Данная книга - справочник, а не учебник по программированию. Хотя в главе 3 мы и приводим пример практического применения АвтоЛИСПа, мы все же рекомендуем достать различные тексты на ЛИСПе для изучения этого языка программирования: Винстон и Хорн "LISP" (второе издание), "Looking at LISP" Тони Хасемера (обе книги опубликованы Эддисоном Веслей). ЛИСП - язык, содержащий много диалектов: МакЛИСП, ИнтерЛИСП, ЗетаЛИСП и КоммонЛИСП. АвтоЛИСП по синтаксису и условным обозначениям наиболее близок к КоммонЛИСПу, но он с меньшим подмножеством и имеет больше специфических для АвтоКАДа дополнительных функций. Этот справочник содержит все функции автоЛИСПа и способы их применения.
1.1 Типы данных в АвтоЛИСПе
АвтоЛИСП содержит несколько различных типов данных:
- lists - списки
- symbols - символы
- strings - строчки
- real numbers - действительные числа
- integers - целые числа
- file descriptors -дескрипторы файла
- AutoCAD entity "names" - "имена" объектов АвтоКАДа
- AutoCAD selection-sets - секции установок АвтоКАДа
- subrs (build-in functions) - (встроенные функции)
Целые числа - 16-битные числа со знаком с диапазоном от -32768 до +32767. Действительные числа представлены как плавающая точка с двойной точностью. Строчки могут быть любой длины, их память динамически распределяется.
АвтоЛИСП содержит несколько встроенных функций по обеспечению базиса для программирования чертежей в двух и трех измерениях. При работе с графическими координатами, рассматриваются следующие условные обозначения:
2D points - выражены как перечни двух действительных чисел
(X Y):
(3.400000 7.520000 )
Первое значение - координата X, второе - Y.
3D points - выражены как перечни трех действительных чисел
(X Y Z ):
(3.400000 7.520000 1.000000)
Первое значение - координата X,второе -Y, третье -Z.
Всякий раз при требовании АвтоКАДа ввести определенный тип (например, точку или масштабный коэффициент) может применяться выражение этого типа или функция АвтоЛИСПа, вводящая в результате этот тип.
1.2 Вычислитель языка АвтоЛИСП
Вычислитель является основой интерпретатора каждого варианта ЛИСПа. Он берет строчку входных данных пользователя, вычисляет ее и выдает результат. В процессе вычисления АвтоЛИСПа участвуют:
- целые, действительные числа; строчки; дескрипторы файла; встроенные функции - вычисляются по отношению сами к себе;
- символы - вычисляются к значению их текущей компоновки;
- списки - вычисляются согласно их первого элемента, если они вычисляются в:
* список (или пустой список); список предполагает быть определением функции, а функция вычисляется с применением значений остальных элементов списка в качестве параметров.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--