Amzi! Logic Server User's Guide & Reference

Index

Contents & Purpose
 Contents
 Purpose

Overview
 Overview
  Prolog Logic-Bases
  Architecture
  Logic Server Engine and LSAPI
  Extending Prolog
  Supported Environments

Programmer's Guide
 Programmer's Guide
  Main Entry Points
   Engine ID Parameter
  Logic Server Return Codes
   RC-Error Checking Return Codes
   TF - Success / Failure Return Codes
  Prolog Terms
   Internals of Complex Terms
  String Passing Interface
   Calling Prolog with a String Query
   Converting Terms to Strings
   Backtracking through Multiple Answers
   Putting it All Togther
   Examples
  Scope of Logic Server Terms
   Safe Scoping Answer
   Nested Scoping Answer
  Implementing a Simple Prolog Listener
  Calling Terms
  Mapping Prolog Arguments to Host Variables
   Example
  Making Simple Terms
  Handling Varying Prolog Types
  Manipulating Structures
  Manipulating Lists
  Asserting and Retracting to and from the Prolog Database
  Consulting Prolog Source Code
  Multiple Engines
  Writing Extended Predicates
   Defining Extended Predicates
   Initializing the Extended Predicates
   Example
  Extended Predicate Libraries (LSXs)
   Using LSXs
   Example
  Capturing Prolog I / O
   I / O Functions
   Connecting Your Functions
   Making Stream 3 the Default
   Redirecting I / O Streams Example
  Error Handling
   Prolog Error Handling
   LSAPI Error Handling
   C++ Error Handling
   Host Language Error Handling
   Break Handling
   Return Codes
  Miscellaneous Functions

LSAPI Introduction
 LSAPI Introduction
  Libraries
  Getting Started
  Reference Sections

Hello Prolog
 Hello Prolog
  Prolog Side of Hello Prolog
   Compiling and Linking
  Host Language Side of Hello Prolog

LSAPI
 Functional List of LSAPI Functions
   Parameter manipulating functions for building extended predicates
   Calling Prolog from the host language
   Dynamic database asserting and retracting
   String / Term conversion functions
   Making Prolog types
   Getting C values from Prolog terms
   Structure manipulation functions
   List manipulation functions
   Stream I / O functions
   Miscellaneous functions
   Error handling
 LSAPI  Data Types
 LSAPI Function Descriptions
  lsAddLSX
  lsAddPred
  lsAsserta
  lsAssertaStr
  lsAssertz
  lsAssertzStr
  lsCall
  lsCallStr
  lsClearCall
  lsClose
  lsErrRaise
  lsExec
  lsExecStr
  lsGetArg
  lsGetArgType
  lsGetExceptCallStack
  lsGetExceptMsg
  lsGetExceptReadBuffer
  lsGetExceptReadFileName
  lsGetExceptReadLineno
  lsGetExceptType
  lsGetExceptRC
  lsGetFA
  lsGetHead
  lsGetParm
  lsGetParmType
  lsGetStream
  lsGetTail
  lsGetTerm
  lsGetTermType
  lsGetVersion
  lsInit
  lsInit2
  lsInitLSX
  lsInitPreds
  lsLoad
  lsMain
  lsMakeAddr
  lsMakeAtom
  lsMakeFA
  lsMakeFloat
  lsMakeInt
  lsMakeList
  lsMakeStr
  lsPopList
  lsPushList
  lsRedo
  lsReset
  lsRetract
  lsRetractStr
  lsSetCommandArgs
  lsSetInput
  lsSetIOArg
  lsSetOutput
  lsSetStream
  lsStrArgLen
  lsStrParmLen
  lsStrTermLen
  lsStrToTerm
  lsTermToStr
  lsTermToStrQ
  lsUnify
  lsUnifyArg
  lsUnifyParm

C Interface
 C Interface
  Hello Prolog
  Unicode Support

C++ Class
 C++ Class
   Hello Prolog
   Encapsulating Prolog Services
   Multiple CLogicServers
   Implementing Extended Predicates
   Unicode Support

Delphi Component
 Delphi Component
  Installation
  Hello Prolog
  Overview
  Using the Component
  Implementing Extended Predicates
  Reference
   Logic Server Types
   Logic Server Set-Up
   Extended Predicates
   Calling Prolog
   Dynamic Database
   Converting Strings / Terms
   Making / Getting Prolog Types
   Manipulating Structures
   Manipulating Lists
   Prolog Stream I / O
   Miscellaneous Functions

Java Class
 Java Class
  Where to Learn About Java
  Installation
  Hello Prolog
  Overview
   Object Oriented
   Pointerless Methods
   Issuing Prolog Queries
   String Conversion
   Exceptions
   Multi-Threaded
  Using the Java Class
  LogicServer and LSException Methods
   Logic Server Set-Up
   Calling Prolog
   Dynamic Database
   Converting Strings / Terms
   Making / Getting Prolog Types
   Manipulating Structures
   Manipulating Parameters for Extended Predicates
   Manipulating Lists
   Error Handling
   Miscellaneous Methods

Visual Basic Module
 Visual Basic Module
  Hello Prolog
  Overview
  Using the Module
  Implementing Extended Predicates
  Reference
   Logic Server Constants
   Logic Server Set-Up
   Extended Predicates
   Calling Prolog
   Dynamic Database
   Converting Strings / Terms
   Making / Getting Prolog Types
   Manipulating Structures
   Manipulating Lists
   Miscellaneous Functions
  Examples

MS-Office Interface
 MS-Office Interface

CGI Interface
 CGI Interface
  Introduction
  Building the C Program
  Writing the Prolog Script
  CGI Variables
  CGI Predicates

LSX Introduction
 LSX Introduction

ODBC Support
 ODBC Support
  Prolog Interface
  Prolog Interface Example
  Extended Predicates

Sockets LSX
 Sockets LSX
  Executables
  Source Code
  Examples
  Extended Predicates
   Startup / Shutdown Predicates
   Conversion Predicates
   Database Predicates
   Socket Predicates

Extended Predicates
 Extended Predicates

Delphi GUI Predicates
 Delphi GUI Predicates
  Using DelGUI
  Flow of Control Issue
  Extended Predicates
  Prolog Predicates
  Sample

Command-Line Runtime Shell
 Command-Line Runtime Shell

Copyright ©1987-1998 Amzi! inc