Скачиваний:
20
Добавлен:
01.05.2014
Размер:
287.74 Кб
Скачать

Отладчик

Отладчик Пролога-2 аналогичен отладчику СиПролога, но количество команд у него значительно больше. После включения отладчика инфор­мация, выдаваемая им, отображается в отдельном окне, поэтому нет опас­ности перепутать входные и выходные данные отладчика с входными и выходными данными выполняющейся программы.

Компилятор

Компилятор Пролога-2 запускается при помощи встроенного предика­та, но обрабатывает внешний исходный файл и генерирует внешний объект­ный модуль. Отладчик не может работать со скомпилированным кодом. Компилятор осуществляет индексацию (хеширование) первого аргумента любого предиката, состоящего более чем из четырех фраз. Пользователь может запретить эти действия при помощи директивы "hash/2".

Запомненные состояния

Команда « save_exe (File, Query)» переписывает Пролог-систему и текущую базу данных в исполняемый файл и завершает текущий сеанс работы с Прологом. При вызове исполняемого файла из среды операцион­ной системы осуществляется восстановление запомненного состояния и выполнение запроса Query. Обратите внимание на то, что модуль верхнего уровня интерпретатора Пролога не включается в запомненное состояние.

Интерфейс с иными языками программирования

В Прологе-2 имеются средства для подключения к Пролог-процессу процедур, написанных на других языках программирования. Процедура должна быть оттранслирована в объектный код и к объектному коду должна быть добавлена специальная программа, вызывающая машинный код. Такие вызывающие программы существуют для нескольких языков высокого уровня. Автоматическое отображение структур данных Пролога на структуры данных других языков не выполняется. Вместо этого задает­ся формат внутренних структур данных Пролога-2. Для того чтобы вос­пользоваться структурами данных Пролога-2, программист должен написать соответствующие программы на других языках программи­рования.

Расширения

В Пролог-2 включено DCG-расширение, описанное в разделе по СиПрологу.

Разное

В Прологе-2 имеется средство лексического анализа, сравнимое по гиб­кости и мощности со вспомогательной программой "lex" операционной системы UNIX. При помощи средства лексического анализа можно сос­тавлять программы обработки текстов, причем не нужно писать на Про­логе саму программу лексического анализа (такую как программа "чи­тать предпож" из разд. 6.1).

Окна

В Прологе-2 имеется своя оконная система. Окно ~ это разновидность потока. С окном можно производить такие же действия, как и с другими типами потоков (т.е. с файлами и устройствами). Окно связано с буфе­ром, расположенным в оперативной памяти. Оно обладает такими характе­ристиками, как цвет, тип границы и т.д. Для того чтобы окно отображалось на экране дисплея, следует открыть для него видеопорт при помощи встроенного предиката "screen/2" (см. выше). Если на экране дисплея отображаются одновременно несколько перекрывающихся окон, то можно управлять глубиной расположения каждого окна (т.е. тем, как далеко оно находится от самого верхнего окна).

При помощи директивы "hash/3" можно задать индексацию первого аргумента любого предиката интерпретируемого модуля.

В Прологе-2 обеспечивается оптимизация остаточной рекурсии (см. подраздел "Разное" в приведенном выше описании Квинтус Пролога). Оптимизацию можно включать или отключать с помощью обращения к встроенному предикату "state/3".

В Прологе-2 имеется так называемый механизм сбора мусора, кото­рый при выполнении запроса автоматически пускает повторно в оборот области оперативной памяти, которые один раз уже были использованы и больше не нужны программе. Существуют также встроенные предикаты, предписывающие системе провести сбор мусора. Механизм сбора мусора включается и выключается при помощи обращения к встроенному преди­кату "state/3".

Встроенный предикат "lint" осуществляет проверку синтаксиса и стиля Пролог-программы, находящейся в исходном файле.

Соседние файлы в папке Гл.6,7,Прилож.,Допол