Система логического программирования на встроенном SWI‑Prolog
Файлы и ресурсы
Расположение файлов см. Список файлов дистрибутива платформы Гедымин
Системные файлы DLL
| Имя |
Описание |
Примечание
|
| libswipl.dll |
библиотека ядра |
The Prolog kernel
|
| pthreadGC2.dll |
библиотека потоков выполнения |
POSIX thread runtime library (32-bits)
|
| libgmp-10.dll |
библиотека арифметики повышенной точности |
The GNU Multiple Precision Arithmetic Library
|
Файлы DLL для расширения системы (плагины)
Ресурсные архивы
Для разработчиков
| Ссылка на ресурс |
Описание
|
| gd_pl.pl |
генерация файла сохраненного состояния
|
| gd_pl_state |
папка с файлами для сохраненного состояния, не входящими в стандартную поставку SWI-Prolog
|
PL-классы
Под термином PL-класс понимается класс, предназначенный на для взаимодействия со встроенным SWI‑Prolog.
Соответственно, экземпляр PL-класса будет называться PL‑объект.
TgsPLClient
- Класс клиента SWI-Prolog.
- Иерархия
TObject
- Методы
Initialise(AParams: String): Boolean
- Инициализация SWI-Prolog.
IsInitialised: Boolean
- Проверка инициализации SWI-Prolog.
Call(APredicateName: String; AParams: TgsPLTermv): Boolean
- Краткая форма для OpenQuery, NextSolution, Cut объекта TgsPLQuery, порождающая одно решение.
Call2(AGoal: String): Boolean
- Выполнение терма (аналог предиката once/1).
Cleanup: Boolean
- Очистка SWI-Prolog (деинициализация).
Compound(AGoal: Unsigned short; AFunctor: String; ATermv: TgsPLTermv)
- Компоновка терма из функтора (имени терма) и аргументов (вектора термов).
LoadScript(AScriptID: Integer): Boolean
- Загрузка Пролог-скрипта по идентификатору.
LoadScriptByName(AScriptName: String): Boolean
- Загрузка Пролог-скрипта по имени.
- Извлечение данных Пролог-запроса в клиентский набор данных.
MakePredicatesOfSQLSelect(ASQL: String; ATr: TIBTransaction; APredicateName: String; AFileName: String; AnAppend: Boolean): Integer
- Формирование Пролог-фактов на основе SQL-запроса.
MakePredicatesOfDataSet(ADataSet: TDataSet; AFieldList: String; APredicateName: String; AFileName: String; AnAppend: Boolean): Integer
- Формирование Пролог-фактов на основе клиентского набора данных.
SavePredicatesToFile(APredicateName: String; ATermv: TgsPLTermv; AFileName: String)
- Выгрузка данных Пролог-запроса в файл.
- Свойства
Debug: Boolean
- Режим отладки.
TgsPLQuery
- Класс запроса SWI-Prolog.
- Иерархия
TObject
- Методы
Close
- Закрытие Пролог-запроса.
Cut
- Отсечение следующих решений Пролог-запроса (выполнения предиката).
NextSolution
- Поиск следующего решения Пролог-запроса (выполнения предиката).
OpenQuery
- Открытие Пролог-запроса и поиск первого решения (выполнение предиката).
- Свойства
Eof: Boolean
- Признак поиска решения Пролог-запроса (выполнения предиката).
PredicateName: String
- Имя предиката (функтор).
Termv: TgsPLTermv
- Аргументы предиката (вектор термов).
TgsPLTermv
- Класс вектора термов SWI‑Prolog.
- Иерархия
TObject
- Методы
PutAtom(Idx: Unsigned short; AValue: String)
- Передача по ссылке в терм данных типа Atom.
PutDate(Idx: Unsigned short; AValue: Date)
- Передача по ссылке в терм данных типа Date.
PutDateTime(Idx: Unsigned short; AValue: Date)
- Передача по ссылке в терм данных типа DateTime.
PutFloat(Idx: Unsigned short; AValue: Real)
- Передача по ссылке в терм данных типа Float.
PutInt64(Idx: Unsigned short; AValue: Int64)
- Передача по ссылке в терм данных типа Int64.
PutInteger(Idx: Unsigned short; AValue: Integer)
- Передача по ссылке в терм данных типа Integer.
PutString(Idx: Unsigned short; AValue: String)
- Передача по ссылке в терм данных типа String.
PutVariable(Idx: Unsigned short)
- Передача по ссылке в терм данных типа Variable (сброс ссылки в изначальное состояние).
ReadAtom(Idx: Unsigned short): String
- Считывание по ссылке из терма данных типа Atom.
ReadDate(Idx: Unsigned short): Date
- Считывание по ссылке из терма данных типа Date.
ReadDateTime(Idx: Unsigned short): Date
- Считывание по ссылке из терма данных типа DateTime.
ReadFloat(Idx: Unsigned short): Real
- Считывание по ссылке из терма данных типа Float.
ReadInt64(Idx: Unsigned short): Int64
- Считывание по ссылке из терма данных типа Int64.
ReadInteger(Idx: Unsigned short): Integer
- Считывание по ссылке из терма данных типа Integer.
ReadString(Idx: Unsigned short): String
- Считывание по ссылке из терма данных типа String.
Reset
- Сброс вектора термов (выполнение метода PutVariable для всего вектора термов).
ToString(Idx: Unsigned short): String
- Считывание по ссылке терма и преобразование к строке.
ToTrimQuotesString(Idx: Unsigned short): String
- Считывание по ссылке терма и преобразование к строке без обрамляющих кавычек.
- Свойства
DataType(Idx: Unsigned short): Integer
- Тип данных.
Size: Unsigned short
- Размер вектора термов.
Term(Idx: Unsigned short): Unsigned short
- Ссылка на терм.
Пролог-скрипты
Учебный пример. Игра крестики-нолики
Литература по языку Пролог