SWI-Prolog

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 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
Режим отладки.

TgsPLQuery

TgsPLTermv

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты