Лисп-программа - Большая Энциклопедия Нефти и Газа, статья, страница 1
В истоке каждой ошибки, за которую вы ругаете компьютер, вы найдете, по меньшей мере, две человеческие ошибки, включая саму ругань. Законы Мерфи (еще...)

Лисп-программа

Cтраница 1


Лисп-программа принимает обычную форму последовательности инструкций. Основным оператором присваивания является SETQ. Имя переменной ( X в приведенном выше примере) должно быть явно задано в вызове SETQ. Примитив SET идентичен SETQ с тем исключением, что переменная ( атом), которой присваивается новое значение, может быть вычислена. Например, ( SET ( CARL) VAL) эквивалентно ( SETQ X VAL), если атом X - первый элемент списка L. SETQ и SET используются для изменения значений переменных в текущей среде ссылок. Глобальным переменным значения присваиваются с помощью при-митивов CSETQ и CSET ( см. следующий разд. Два других примитива, RPLACA и RPLACD, позволяют выполнять присваивания соответственно полям CAR и CDR любого элемента списка. Например, ( RPLACA L VAL) присваивает значение VAL списку Lb качестве его нового первого элемента, заменяя текущий первый элемент.  [1]

Лисп-программы; это определение имеет форму Лисп-программ для двух примитивов: EVAL и APPLY. Структура интерпретатора настолько прозрачна, что все определение занимает менее двух страниц. Тот факт, что определения имеют форму Лисп-программ, представляет интерес, но не является центральным - в любой реализации EVAL и APPLY в конечном итоге представляются примитивами машинного языка.  [2]

Рассмотрим использование диалоговых окон в Лисп-программах. Примером такого использования может служить программа построения поверхности, описанной координатами точек вершин, записанных в файле, имя которого вводится в процессе работы программы.  [3]

Лисп-программы; это определение имеет форму Лисп-программ для двух примитивов: EVAL и APPLY. Структура интерпретатора настолько прозрачна, что все определение занимает менее двух страниц. Тот факт, что определения имеют форму Лисп-программ, представляет интерес, но не является центральным - в любой реализации EVAL и APPLY в конечном итоге представляются примитивами машинного языка.  [4]

В последующих версиях Автокада число диалоговых окон в самом графическом редакторе резко расширилось и появилась целая система программного формирования диалоговых окон - язык управления диалогом DCL вместе с комплексом команд Автолиспа, дающих возможность вызова и упрашгения диалогом из Лисп-программ. Все это значительно расширяет возможности адаптации Автокада к конкретным прикладным задачам.  [5]

6 Принцип работы сис. [6]

Пользователь REDUCE пишет задания на специализир. Пользователю, однако, знание Лиспа не требуется, поскольку выполнение программы на REDUCE состоит в преобразовании ( трансляции) программы на язык Лисп, выполнении Лисп-программы компьютером и затем в обратном преобразовании результатов работы Лисп-программы на язык REDUCE.  [7]

8 Принцип работы сис. [8]

Пользователь REDUCE пишет задания на специализир. Пользователю, однако, знание Лиспа не требуется, поскольку выполнение программы на REDUCE состоит в преобразовании ( трансляции) программы на язык Лисп, выполнении Лисп-программы компьютером и затем в обратном преобразовании результатов работы Лисп-программы на язык REDUCE.  [9]

Лисп-программы; это определение имеет форму Лисп-программ для двух примитивов: EVAL и APPLY. Структура интерпретатора настолько прозрачна, что все определение занимает менее двух страниц. Тот факт, что определения имеют форму Лисп-программ, представляет интерес, но не является центральным - в любой реализации EVAL и APPLY в конечном итоге представляются примитивами машинного языка.  [10]

Для повышения эффективности машин, ориентированных на использование Лиспа, таких, как CLM фирмы Texas Instruments, необходимо упрощение работы с указателями и битами флагов. Чтобы обеспечить возможность построения больших списков, требуется виртуальная память большого объема. Если память достаточно велика ( как, например, в случае 70-битового виртуального адресного пространства Thomson-CSF SCQM), необходимость в перераспределении памяти может отпасть, что приводит к повышению скорости выполнения Лисп-программ. Считается, что специализированные Лисп-микропроцессоры, такие, как CLM фирмы Texas Instruments и AT & T, разработанные для управления движением манипуляторов робота, выполняют Лисп-программы в десять раз быстрее, чем в традиционных экспертных системах.  [11]

Переменная MODEMACRO определяется пользователем. Ее можно установить в любое строковое значение: по длине она ограничена возможностями Автолиспа, а по размеру - буфером связи Автолисп - Автокад. Команда УСТП ЕРЕМ ( setvar) дает возможность ее установки в диалоговом режиме с консоли, хотя при этом ее длина ограничивается 255 символами. Лисп-программы с помощью функции servar) Автокад отображает стандартную статусную строку.  [12]

В большинстве реализаций Лиспа имеется также компилятор, который можно использовать как примитивную операцию. Получив при вызове список имен функций, компилятор транслирует определение каждой функции в машинный код. Большинство систем позволяет совмещать использование скомпилированных и исходных функций; функция одного типа может вызывать функцию другого типа - потери в гибкости не происходит. Получающиеся в результате Лисп-программы по существу идентичны описываемым здесь, но выполняются они гораздо быстрее.  [13]

Средства Лиспа, как и Форта, могут расширяться пользователем. Функции могут быть определены пользователем и впоследствии применены для определения других функций. Таким образом, пользователи могут создавать свою собственную операционную Лисп-среду, поэтому существует множество диалектов Лиспа. Стандартный Лисп был определен на конференции, финансированной Управлением по перспективным разработкам и исследованиям министерства обороны, как средство обеспечения мобильности Лисп-программ.  [14]

Для повышения эффективности машин, ориентированных на использование Лиспа, таких, как CLM фирмы Texas Instruments, необходимо упрощение работы с указателями и битами флагов. Чтобы обеспечить возможность построения больших списков, требуется виртуальная память большого объема. Если память достаточно велика ( как, например, в случае 70-битового виртуального адресного пространства Thomson-CSF SCQM), необходимость в перераспределении памяти может отпасть, что приводит к повышению скорости выполнения Лисп-программ. Считается, что специализированные Лисп-микропроцессоры, такие, как CLM фирмы Texas Instruments и AT & T, разработанные для управления движением манипуляторов робота, выполняют Лисп-программы в десять раз быстрее, чем в традиционных экспертных системах.  [15]



Страницы:      1    2