Chapter 1 of the title page introduces 1.1 SWI-Prolog1.2 status 1.3 compliant with ISO 1.4 do you want to use SWI-Prolog? 1.5 xpce prolog1.6 Release Notes 1.7 donated SWI-Prolog project 1.8 thanks Chapter 2 Overview 2.1 Quick Start 2.2 user's initialization file 2.3 initialization file and target 2.4 command line option 2.5 GNU emacs interface 2.6 online help 2.7 command line history 2.8 top-level binding reuse 2.9 debugger overview 2.10 Assembly 2.11 Environment Control (Prolog flag) 2.12 overview hook predicates 2.13 automatically loaded libraries 2.14 garbage collection 2.15 syntax description 2.16 rational trees (cyclic conditions) 2.17 entries index 2.18 wide characters support 2.19 System Restrictions 2.20 SWI-PROLOG and 64-bit machine Chapter 3 initialize and manage Prolog Project 3.1 project source file 3.2 use module 3.3 test edit reinstallation cycle 3.4 use the built-in editor pceemacs3.5 graphical debugger 3.6 preface navigation 3.7 cross reference 3.8 from your Program Chapter 4 of the summary in the accessed ide3.9 ide contains the predicate 4.1 symbol, predicate description 4.2 character represents 4.3 Source File loaded into Prolog 4.4 listing and Editor interface 4.5 verification type A term 4.6 comparison and Unified Terms 4.7 control predicate 4.8 yuan call predicate 4.9 ISO compliant Exception Handling 4.10 Signal Processing 4.11 DCG syntax rules 4.12 database 4.13 declaration predicate attribute 4.14 check program 4.15 Input and Output 4.16 stream status 4.17 original character I/o4.18 regular reading and writing 4.19 analysis and build clause 4.20 analyze and construct atomic 4.21 character attribute 4.22 represents text string 4.23 operator 4.24 character conversion 4.25 arithmetic 4.26 miscellaneous arithmetic support predicate 4.27 built-in list operation 4.28 locate all solution targets 4.29 forall4.30 formatting write 4.31 Terminal control 4.32 operating system interaction 4.33 file system interaction 4.34 top-level user control 4.35 create a user interaction protocol 4.36 debug and tracking program 4.37 get operation Statistics 4.38 execute analysis 4.39 memory management 4.40 windows DDE Interface 4.41 Miscellaneous Chapter 5 module 5.1 why use module 5.2 definition module 5.3 import to a module predicate 5.4 definition element predicate 5.5 overturn the boundary of the module 5.6 interaction from the top module 5.7 composition module from other modules 5.8 operator and module 5.9 dynamic import use import module 5.10 retention module and use "user" module 5.11 another method of import/export interface 5.12 dynamic module 5.13 transparent predicates: definition and context module 5.14 query module system 5.15 module system compatibility Chapter 6 Special variables and collaborative program 6.1 attribute variables 6.2 collaboration 6.3 global variables Chapter 7 CHR: constraint processing rules 7.1 Introduction 7.2 syntax and semantics 7.3 Human Rights SWI-Prolog programs 7.4 debugging 7.5 examples 7.6 backward compatibility 7.7 programming skills and tricks 7.8 Compiler Errors and warnings Chapter 8 multithreading applications 8.1 create and destroy Prolog thread 8.2 monitoring thread 8.3 thread communication 8.4 thread synchronization 8.5 thread support library (threadutil) 8.6 unbounded, thread creation 8.7 multi-thread mixed C and Prolog application 8.8 multithreading and xpce Graphics System Chapter 9 Foreign Language Interface 9.1 interface overview 9.2 link Ministry of Foreign Affairs module 9.3 interface data type 9.4 external inclusion file 9.5 connection embedded application, use swipl-LD9.6 to prescribe to home directory 9.7 use external interface Example 9.8 use externalCode Note: Chapter 10 generate restrictions for running the application 10.1 qsave program 10.2 runtime environment and external code 10.3 use solution resources 10.4 find the application file Appendix a swi-Prolog library appendix B hacker's corner Appendix c compatibility with dialects of other Prolog appendix D Glossary Appendix e swi-Prolog certificate conditions and tools appendix D Abstract