Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание языка ПРОЛОГ.DOC
Скачиваний:
18
Добавлен:
12.03.2015
Размер:
159.23 Кб
Скачать

Константы логического сервера

Они - простые константы, используемые логическим сервером. Они используются, для отображения значений типов данных в API.

' For unicode systems, set unicode to True

#Const unicode = False

' Last Error Message and Code

Global ErrorLS As String

Global ErrLS As Integer

' The current engine id

Dim EngineID As Long

' The type of error handling to perform,

' 0=message boxes, 1=generate errors

Dim ErrorMethod As Variant

' The maximum size of strings returned from Prolog

Dim MaxStrLen As Variant

' Prolog Types

Global Const pATOM = 0

Global Const pINT = 1

Global Const pSTR = 2

Global Const pFLOAT = 3

Global Const pSTRUCT = 4

Global Const pLIST = 5

Global Const pTERM = 6

Global Const pADDR = 7

Global Const pVAR = 8

Global Const pWSTR = 9

Global Const pWATOM = 10

' Basic Types

Global Const bATOM = 0

Global Const bSTR = 1

Global Const bINT = 2

Global Const bLONG = 3

Global Const bSHORT = 4

Global Const bFLOAT = 5

Global Const bDOUBLE = 6

Global Const bADDR = 7

Global Const bTERM = 8

Global Const bWSTR = 9

Global Const bWATOM = 10

Логическая установка серверов

Эти функции обеспечивают основные API услуги. Они используются, чтобы инициализировать и закрыть среду Пролога. Функция, main, предикатом загрузки файл Пролога.

Sub InitLS (ByVal INIFile As String)

Sub InitLSX ()

Sub AddLSX (ByVal LSXFile As String)

Sub AddPredLS(ByVal Predname As String, ByVal Arity As Integer, ByVal pfunc As Long)

Sub LoadLS (ByVal XPLFile As String)

Function MainLS () as Integer

Sub ResetLS ()

Sub CloseLS ()

Они основаны на функциях API lsInit, lsInitLSX, lsAddLSX, lsLoad, lsMain, lsReset, и lsClose.

Следующие функции управляют параметрами в пределах модуля VB. SetMaxStrLenLS устанавливает максимальную длину для всех строк, возвращенных от Пролога.

SetErrorHandlerLS выбирает, отображены ли сообщения об ошибках в окнах сообщения ("MessageBox") или сообщены через ошибку #31300 ("ErrorCode"). Когда ошибка сообщения, ErrorLS установлен в сообщение об ошибках, и ErrLS установлены ошибки в Amzi! логический сервера. Установившаяся правилам, функция которая исполняет эти операции называется ErrorHandle.

Sub SetMaxStrLenLS (ByVal num As Integer)

Sub SetErrorHandlerLS (ByVal ErrMethod As String)

Расширение предикатов

Когда вы пишете расширенные предикаты, вы можете непосредственно управлять параметрами Пролога для этой функции. Эти предикаты обеспечивают обслуживание. Полученная группа отыскивает n-ый параметр, который использовался в запросе, и группа объединяет некоторый вычисленный результат с n-ым параметром.

Модуль VB содержит множество тип - определенных дополнений к основному API. Функции типа GetLongParmLS и UnifyStrParmLS.

Sub GetParmLS(ByVal Param As Integer, ByVal BType As Integer, Ptr As Variant)

Function GetStrParmLS(ByVal Param As Integer) As String

Function GetIntParmLS(ByVal Param As Integer) As Integer

Function GetLongParmLS(ByVal Param As Integer) As Long

Function GetFloatParmLS(ByVal Param As Integer) As Single

Function GetParmTypeLS(ByVal Term As Long, ByVal ParmNum As Integer) As Integer

Function StrParmLenLS(ByVal ParmNum As Integer) As Integer

Function UnifyParmLS(ByVal Param As Integer, ByVal BType As Integer, ByVal Ptr As Variant) As Boolean

Function UnifyStrParmLS(ByVal Param As Integer, ByVal Str As String) As Boolean

Function UnifyAtomParmLS(ByVal Param As Integer, ByVal Str As String) As Boolean

Function UnifyIntParmLS(ByVal Param As Integer, ByVal IntVal As Integer) As Boolean

Function UnifyLongParmLS(ByVal Param As Integer, ByVal LongVal As Long) As Boolean

Function UnifyFloatParmLS(ByVal Param As Integer, ByVal FloatVal As Single) As Boolean

Эти функции основаны на функциях API lsGetParm, lsGetParmType, lsUnifyParm, и lsStrParmLen.