SWI-Prolog
Материал из GedeminWiki
(Различия между версиями)
Latunov (обсуждение | вклад) |
Latunov (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
== Система логического программирования на встроенном [http://www.swi-prolog.org/ SWI‑Prolog] == | == Система логического программирования на встроенном [http://www.swi-prolog.org/ SWI‑Prolog] == | ||
=== Файлы и ресурсы === | === Файлы и ресурсы === | ||
| − | Расположение файлов см. [[Список файлов дистрибутива платформы Гедымин]] | + | Расположение файлов см. [[Список файлов дистрибутива платформы Гедымин]]<br/>Для новой версии выполняемого модуля платформы Гедымин, папка для размещения временных отладочных файлов SWI-Prolog находится по пути ''C:\Users\%username%\AppData\Local\Gedemin\swipl\temp'' |
==== Системные файлы DLL ==== | ==== Системные файлы DLL ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 39: | Строка 39: | ||
|} | |} | ||
=== PL-классы === | === PL-классы === | ||
| − | Под термином PL-класс понимается класс предназначенный на для взаимодействия со встроенным SWI‑Prolog. | + | Под термином '''''PL-класс''''' понимается класс, предназначенный на для взаимодействия со встроенным SWI‑Prolog. |
| − | <br/>Соответственно, экземпляр PL-класса будет называться PL‑объект. | + | <br/>Соответственно, экземпляр PL-класса будет называться '''''PL‑объект'''''. |
==== TgsPLClient ==== | ==== TgsPLClient ==== | ||
| + | '''Класс клиента SWI-Prolog.''' | ||
| + | :<u>Иерархия</u> | ||
| + | ::<code>'''TObject'''</code> | ||
| + | :<u>Методы</u> | ||
| + | ::<code>'''Initialise'''(AParams: String): Boolean</code><br/> | ||
| + | :::''Инициализация SWI-Prolog.'' | ||
| + | ::<code>'''IsInitialised''': Boolean</code><br/> | ||
| + | :::''Проверка инициализации SWI-Prolog.'' | ||
| + | ::<code>'''Call(APredicateName''': String; AParams: TgsPLTermv): Boolean</code><br/> | ||
| + | :::''Краткая форма для OpenQuery, NextSolution, Cut объекта TgsPLQuery, порождающая одно решение.'' | ||
| + | ::<code>'''Call2'''(AGoal: String): Boolean</code><br/> | ||
| + | :::''Выполнение терма (аналог предиката once/1).'' | ||
| + | ::<code>'''Compound(AGoal: Unsigned short; AFunctor: String; ATermv: TgsPLTermv)'''</code><br/> | ||
| + | :::''Компоновка терма из функтора (имени терма) и аргументов (вектора термов).'' | ||
| + | ::<code>'''LoadScript'''(AScriptID: Integer): Boolean</code><br/> | ||
| + | :::''Загрузка Пролог-скрипта по идентификатору.'' | ||
| + | ::<code>'''LoadScriptByName'''(AScriptName: String): Boolean</code><br/> | ||
| + | :::''Загрузка Пролог-скрипта по имени.'' | ||
| + | ::<code>'''ExtractData'''(ADataSet: TClientDataSet; APredicateName: String; ATermv: TgsPLTermv)</code><br/> | ||
| + | :::''Извлечение данных Пролог-запроса в клиентский набор данных.'' | ||
| + | ::<code>'''MakePredicatesOfSQLSelect'''(ASQL: String; ATr: TIBTransaction; APredicateName: String; AFileName: String; AnAppend: Boolean): Integer</code><br/> | ||
| + | :::''Формирование Пролог-фактов на основе SQL-запроса.'' | ||
| + | ::<code>'''MakePredicatesOfDataSet'''(ADataSet: TDataSet; AFieldList: String; APredicateName: String; AFileName: String; AnAppend: Boolean): Integer</code><br/> | ||
| + | :::''Формирование Пролог-фактов на основе клиентского набора данных.'' | ||
| + | ::<code>'''SavePredicatesToFile'''(APredicateName: String; ATermv: TgsPLTermv; AFileName: String)</code><br/> | ||
| + | :::''Выгрузка данных Пролог-запроса в файл.'' | ||
| + | :<u>Свойства</u> | ||
| + | ::<code>'''Debug''': Boolean</code><br/> | ||
| + | :::''Режим отладки.'' | ||
==== TgsPLQuery ==== | ==== TgsPLQuery ==== | ||
==== TgsPLTermv ==== | ==== TgsPLTermv ==== | ||
| + | |||
| + | |||
| + | [[Category:Школа системного администратора]] | ||
| + | [[Category:Руководство разработчика]] | ||
Версия 13:57, 1 июля 2015
Содержание |
Система логического программирования на встроенном SWI‑Prolog
Файлы и ресурсы
Расположение файлов см. Список файлов дистрибутива платформы Гедымин
Для новой версии выполняемого модуля платформы Гедымин, папка для размещения временных отладочных файлов SWI-Prolog находится по пути C:\Users\%username%\AppData\Local\Gedemin\swipl\temp
Системные файлы DLL
| Имя | Описание | Примечание |
|---|---|---|
| libswipl.dll | библиотека ядра | The Prolog kernel |
| pthreadGC2.dll | библиотека потоков выполнения | POSIX thread runtime library (32-bits) |
| libgmp-10.dll | библиотека арифметики повышенной точности | The GNU Multiple Precision Arithmetic Library |
Файлы DLL для расширения системы (плагины)
| Имя | Описание | Примечание |
|---|---|---|
| memfile.dll | библиотека временных файлов в памяти | Memory files |
| readutil.dll | библиотека утилиты быстрого чтения | Reading lines, streams and files |
Ресурсные архивы
| Имя | Описание | Примечание |
|---|---|---|
| gd_pl_state.dat | файл сохраненного состояния | Generating Runtime Applications |
Для разработчиков
| Ссылка на ресурс | Описание |
|---|---|
| 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).
Compound(AGoal: Unsigned short; AFunctor: String; ATermv: TgsPLTermv)
- Компоновка терма из функтора (имени терма) и аргументов (вектора термов).
LoadScript(AScriptID: Integer): Boolean
- Загрузка Пролог-скрипта по идентификатору.
LoadScriptByName(AScriptName: String): Boolean
- Загрузка Пролог-скрипта по имени.
ExtractData(ADataSet: TClientDataSet; APredicateName: String; ATermv: TgsPLTermv)
- Извлечение данных Пролог-запроса в клиентский набор данных.
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
- Режим отладки.