YAP 7.1.0
yapi.hh
Go to the documentation of this file.
1
9#define YAP_CPP_INTERFACE 1
10
11#include <iostream>
12#include <string>
13#include <vector>
14#include <initializer_list>
15
16extern "C" {
17
18#include "YapConfig.h"
19
20}
21
22#include <gmpxx.h>
23
24
25
26
44extern "C" {
45
46#include <stdlib.h>
47
48// Bad export from Python
49
50#include <YapConfig.h>
51
52#include <stddef.h>
53
54#if YAP_PYTHON
55
56#include <Python.h>
57
58extern bool python_in_python;
59#endif
60
61#include "Yap.h"
62
63#include "Yatom.h"
64
65#include "YapHeap.h"
66
67#include "clause.h"
68
69#include "yapio.h"
70
71#include "Foreign.h"
72
73#include "attvar.h"
74
75#include "YapText.h"
76
77#if HAVE_STDARG_H
78#include <stdarg.h>
79#endif
80
81#if HAVE_STDINT_H
82#include <stdint.h>
83#endif
84
85#if HAVE_STRING_H
86#include <string.h>
87#endif
88
89#if _MSC_VER || defined(__MINGW32__)
90//#include <windows.h>
91#endif
92// taken from yap_structs.h
93#include "iopreds.h"
94
95X_API extern void YAP_UserCPredicate(const char *, YAP_UserCPred,
96 YAP_Arity arity);
97
98/* extern void UserCPredicateWithArgs(const char *name, int *fn(), unsigned int
99 * arity)
100 */
101X_API extern void YAP_UserCPredicateWithArgs(const char *, YAP_UserCPred,
102 YAP_Arity, YAP_Term);
103
104X_API extern void YAP_UserBackCPredicate(const char *name,
105 YAP_UserCPred init,
106 YAP_UserCPred cont, YAP_Arity arity,
107 YAP_Arity extra);
108
109X_API extern void YAP_UserBackCutCPredicate(const char *name,
110 YAP_UserCPred init,
111 YAP_UserCPred cont,
112 YAP_UserCPred cut, YAP_Arity arity,
113 YAP_Arity extra);
114
115X_API extern YAP_Term YAP_ReadBuffer(const char *s, YAP_Term *tp);
116
117extern YAP_Term YAP_MkcharPTerm(char *s);
118}
119
120class YAPEngine;
121class YAPAtom;
122class YAPFunctor;
123class YAPApplTerm;
124class YAPPairTerm;
125class YAPQuery;
126class YAPModule;
127class YAPError;
128class YAPPredicate;
129
130#include "yapa.hh"
131
132#include "yapie.hh"
133
134#include "yapt.hh"
135
136#include "yapdb.hh"
137
138#include "yapq.hh"
139
load_foreign_files/3 has works for the following configurations:
Main definitions.
YAPModule A YAPModule describes a bare module, which in YAP is just a name.
Definition: yapdb.hh:46
Predicates.
Definition: yapdb.hh:83
take information on a Prolog error:
Definition: yapie.hh:31
Atom A YAP data-base is a collection of atoms, where each atom has a name and a set of Properties.
Definition: yapa.hh:71
YAPFunctor represents Prolog functors Name/Arity.
Definition: yapa.hh:125
YAP Engine: takes care of the execution environment where we can go executing goals.
Definition: yapq.hh:317
Queries and engines.
Definition: yapq.hh:38
Compound Term.
Definition: yapt.hh:279
List Constructor Term.
Definition: yapt.hh:448
C++ Interface to atoms and their properties.
C++ Interface to generated code.