This commit is contained in:
Vitor Santos Costa 2018-05-30 13:07:45 +01:00
parent 8cfeb53e77
commit 9afb5b07b2
8 changed files with 67 additions and 60 deletions

View File

@ -1249,7 +1249,7 @@ Term Yap_SaveTerm(Term t0) {
CACHE_REGS CACHE_REGS
Term to; Term to;
to = CopyTermToArena( to = CopyTermToArena(
t0, LOCAL_GlobalArena, FALSE, TRUE, 2, &LOCAL_GlobalArena, Deref(t0), LOCAL_GlobalArena, FALSE, TRUE, 2, &LOCAL_GlobalArena,
garena_overflow_size(ArenaPt(LOCAL_GlobalArena) PASS_REGS) PASS_REGS); garena_overflow_size(ArenaPt(LOCAL_GlobalArena) PASS_REGS) PASS_REGS);
if (to == 0L) if (to == 0L)
return to; return to;

View File

@ -118,8 +118,12 @@ protected:
} }
YAPTerm tt = YAPTerm(tout); YAPTerm tt = YAPTerm(tout);
ap = getPred(tt, modp); ap = getPred(tt, modp);
tout = Yap_SaveTerm(tout);
tnames = Yap_SaveTerm(tnames);
} }
YAPPredicate(Term &t, Term &tmod, CELL * &ts, const char *pname);
YAPPredicate(Term &to, Term &tmod, CELL * &ts, const char *pname);
/// Term constructor for predicates /// Term constructor for predicates
/// ///

View File

@ -477,8 +477,6 @@ const char *YAPAtom::getName(void) { return Yap_AtomToUTF8Text(a); }
void YAPQuery::openQuery() { void YAPQuery::openQuery() {
CACHE_REGS CACHE_REGS
int lvl = AllocLevel();
if (ap == NULL || ap->OpcodeOfPred == UNDEF_OPCODE) { if (ap == NULL || ap->OpcodeOfPred == UNDEF_OPCODE) {
ap = rewriteUndefQuery(); ap = rewriteUndefQuery();
} }
@ -649,7 +647,7 @@ YAPQuery::YAPQuery(YAPFunctor f, YAPTerm mod, YAPTerm ts[])
goal = MkVarTerm(); goal = MkVarTerm();
} }
openQuery(); openQuery();
names = YAPPairTerm(TermNil); names = TermNil;
RECOVER_MACHINE_REGS(); RECOVER_MACHINE_REGS();
} }
@ -678,7 +676,6 @@ YAPQuery::YAPQuery(YAPTerm t) : YAPPredicate(t) {
nts = RepPair(tt); nts = RepPair(tt);
tt = Yap_MkApplTerm(FunctorCsult, 1, nts); tt = Yap_MkApplTerm(FunctorCsult, 1, nts);
} }
goal = *new YAPTerm(tt);
if (IsApplTerm(tt)) { if (IsApplTerm(tt)) {
Functor f = FunctorOfTerm(tt); Functor f = FunctorOfTerm(tt);
if (!IsExtensionFunctor(f)) { if (!IsExtensionFunctor(f)) {
@ -691,8 +688,9 @@ YAPQuery::YAPQuery(YAPTerm t) : YAPPredicate(t) {
} }
} }
} }
goal =Yap_SaveTerm( tt);
openQuery(); openQuery();
names = YAPPairTerm(TermNil); names = TermNil ;
} }
YAPQuery::YAPQuery(YAPPredicate p, YAPTerm ts[]) : YAPPredicate(p.ap) { YAPQuery::YAPQuery(YAPPredicate p, YAPTerm ts[]) : YAPPredicate(p.ap) {
@ -705,7 +703,7 @@ YAPQuery::YAPQuery(YAPPredicate p, YAPTerm ts[]) : YAPPredicate(p.ap) {
XREGS[i + 1] = ts[i].term(); XREGS[i + 1] = ts[i].term();
openQuery(); openQuery();
} else { } else {
goal = YAPAtomTerm((Atom)(p.ap->FunctorOfPred)); goal = MkAtomTerm((Atom)(p.ap->FunctorOfPred));
openQuery(); openQuery();
} }
names = TermNil; names = TermNil;
@ -718,7 +716,7 @@ RECOVER_MACHINE_REGS();
bool YAPQuery::next() { bool YAPQuery::next() {
CACHE_REGS CACHE_REGS
bool result = false; bool result = false;
std::cerr << "next " << goal.text() << "\n"; std::cerr << "next " << YAPTerm(goal).text() << "\n";
sigjmp_buf buf, *oldp = LOCAL_RestartEnv; sigjmp_buf buf, *oldp = LOCAL_RestartEnv;
e = nullptr; e = nullptr;
@ -739,7 +737,6 @@ bool YAPQuery::next() {
__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "out %d", result); __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "out %d", result);
if (!result) { if (!result) {
YAP_LeaveGoal(result, &q_h); YAP_LeaveGoal(result, &q_h);
Yap_CloseHandles(q_handles);
q_open = false; q_open = false;
} }
YAPCatchError(); YAPCatchError();
@ -749,8 +746,8 @@ if (!result) {
} }
PredEntry *YAPQuery::rewriteUndefQuery() { PredEntry *YAPQuery::rewriteUndefQuery() {
ARG1 = goal.term(); ARG1 = goal;
goal = YAPApplTerm(FunctorMetaCall, &ARG1); goal = Yap_SaveTerm(Yap_MkApplTerm(FunctorMetaCall, 4, &ARG1));
return ap = PredCall; return ap = PredCall;
} }
@ -759,7 +756,7 @@ PredEntry *YAPEngine::rewriteUndefEngineQuery(PredEntry *a, Term &tgoal,
Term ts[2]; Term ts[2];
ts[0] = mod; ts[0] = mod;
ts[1] = tgoal; ts[1] = tgoal;
ARG1 = tgoal = Yap_MkApplTerm(FunctorModule, 2, ts); ARG1 = tgoal = Yap_SaveTerm(Yap_MkApplTerm(FunctorModule, 2, ts));
// goal = YAPTerm(Yap_MkApplTerm(FunctorMetaCall, 1, &ARG1)); // goal = YAPTerm(Yap_MkApplTerm(FunctorMetaCall, 1, &ARG1));
return PredCall; return PredCall;

View File

@ -42,8 +42,8 @@ class X_API YAPQuery : public YAPPredicate {
struct yami *q_p, *q_cp; struct yami *q_p, *q_cp;
int q_flags; int q_flags;
YAP_dogoalinfo q_h; YAP_dogoalinfo q_h;
YAPPairTerm names; Term names;
YAPTerm goal; Term goal;
// temporaries // temporaries
int lvl; int lvl;
YAPError *e; YAPError *e;
@ -92,30 +92,32 @@ public:
/// It is given a string, calls the parser and obtains a Prolog term that /// It is given a string, calls the parser and obtains a Prolog term that
/// should be a callable /// should be a callable
/// goal. /// goal.
inline YAPQuery(const char *s) : YAPPredicate(s, goal.term(), names.term()) { inline YAPQuery(const char *s) : YAPPredicate(s, goal, names) {
CELL *qt = nullptr; CELL *qt = nullptr;
__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "got game %d", __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "got game %d",
LOCAL_CurSlot); LOCAL_CurSlot);
if (!ap) if (!ap)
return; return;
__android_log_print(ANDROID_LOG_INFO, "YAPDroid", "%s", names.text()); __android_log_print(ANDROID_LOG_INFO, "YAPDroid", "%s", names.text());
if (IsPairTerm(goal.term())) { if (IsPairTerm(goal)) {
qt = RepPair(goal.term()); qt = RepPair(goal);
goal.put(Yap_MkApplTerm(FunctorCsult, 1, qt)); goal = Yap_SaveTerm(Yap_MkApplTerm(FunctorCsult, 1, qt));
ap = RepPredProp(PredPropByFunc(FunctorCsult, TermProlog)); ap = RepPredProp(PredPropByFunc(FunctorCsult, TermProlog));
} else {
goal = Yap_SaveTerm(goal);
} }
if (IsApplTerm(goal.term())) { if (IsApplTerm(goal)) {
Functor f = FunctorOfTerm(goal.term()); Functor f = FunctorOfTerm(goal);
if (!IsExtensionFunctor(f)) { if (!IsExtensionFunctor(f)) {
arity_t arity = ap->ArityOfPE; arity_t arity = ap->ArityOfPE;
if (arity) { if (arity) {
qt = RepAppl(goal.term()) + 1; qt = RepAppl(goal) + 1;
for (arity_t i = 0; i < arity; i++) for (arity_t i = 0; i < arity; i++)
XREGS[i + 1] = qt[i]; XREGS[i + 1] = qt[i];
} }
} }
} }
names = YAPPairTerm(names.term()); names = Yap_SaveTerm(names);
openQuery(); openQuery();
}; };
// inline YAPQuery() : YAPPredicate(s, tgoal, tnames) // inline YAPQuery() : YAPPredicate(s, tgoal, tnames)
@ -155,10 +157,10 @@ public:
void close(); void close();
/// query variables. /// query variables.
void cut(); void cut();
Term namedVars() { return names.term(); }; Term namedVars() { return names; };
YAPPairTerm namedVarTerms() { return names; }; YAPPairTerm namedVarTerms() { return names; };
/// query variables, but copied out /// query variables, but copied out
std::vector<Term> namedVarsVector() { return names.listToArray(); }; std::vector<Term> namedVarsVector() { return YAPPairTerm(names).listToArray(); };
/// convert a ref to a binding. /// convert a ref to a binding.
YAPTerm getTerm(yhandle_t t); YAPTerm getTerm(yhandle_t t);
/// simple YAP Query; /// simple YAP Query;
@ -339,7 +341,8 @@ public:
/// current directory for the engine /// current directory for the engine
bool call(YAPPredicate ap, YAPTerm ts[]); bool call(YAPPredicate ap, YAPTerm ts[]);
/// current directory for the engine /// current directory for the engine
bool goal(YAPTerm Yt, YAPModule module, bool release=false) { return mgoal(Yt.term(),module.term(), release); }; bool goal(YAPTerm Yt, YAPModule module, bool release=false)
{ return mgoal(Yt.term(),module.term(), release); };
/// ru1n a goal in a module. /// ru1n a goal in a module.
/// ///
/// By default, memory will only be fully /// By default, memory will only be fully

View File

@ -77,15 +77,15 @@ atomic_to_term( String, Goal, VarNames ),
write_query_answer( Bindings ), write_query_answer( Bindings ),
nl(user_error), nl(user_error),
Caller.q.answer := {}, Caller.q.answer := {},
maplist(in_dict(Caller.answer), Bindings). maplist(in_dict(Caller.q.answer), Bindings).
% := print( "b", gc.get_referrers(Caller.answer)). % := print( "b", gc.get_referrers(Caller.answer)).
in_dict(Dict, var([V0,V|Vs])) :- !, in_dict(Dict, var([V0,V|Vs])) :- !,
Dict[V] := V0, Dict[V] := V0,
in_dict( Dict, var([V0|Vs])). in_dict( Dict, var([V0|Vs])).
in_dict(Dict, var([],_G)) :- !. in_dict(_Dict, var([_],_G)) :- !.
in_dict(Dict, nonvar([V0|Vs],G)) :- !, in_dict(Dict, nonvar([V0|Vs],G)) :- !,
Dict[V0] := G, Dict[V0] := G,
in_dict( Dict, var([V0|Vs])). in_dict( Dict, nonvar(Vs, Gs)).
in_dict(Dict, nonvar([],_G)) :- !. in_dict(_Dict, nonvar([],_G)) :- !.
in_dict(_, _). in_dict(_, _).

View File

@ -65,11 +65,11 @@ if platform.system() == 'Windows':
win_libs = ['wsock32','ws2_32'] win_libs = ['wsock32','ws2_32']
my_extra_link_args = ['-Wl,-export-all-symbols'] my_extra_link_args = ['-Wl,-export-all-symbols']
elif platform.system() == 'Darwin': elif platform.system() == 'Darwin':
my_extra_link_args = ['-L','..','-Wl,-rpath,'+abspath(join(sysconfig.get_path('platlib'),'yap4py')),'-Wl,-rpath,/usr/local/lib','-Wl,-rpath,../yap4py'] my_extra_link_args = ['-L','..','-Wl,-rpath,'+abspath(join(sysconfig.get_path('platlib'),'yap4py')),'-Wl,-rpath,/lib','-Wl,-rpath,../yap4py']
win_libs = [] win_libs = []
local_libs = ['Py4YAP'] local_libs = ['Py4YAP']
elif platform.system() == 'Linux': elif platform.system() == 'Linux':
my_extra_link_args = ['-L','..','-Wl,-rpath,'+abspath(join(sysconfig.get_path('platlib'),'yap4py')),'-Wl,-rpath,/usr/local/lib','-Wl,-rpath,'+join('/usr/local/lib','..'),'-Wl,-rpath,../yap4py'] my_extra_link_args = ['-L','..','-Wl,-rpath,'+abspath(join(sysconfig.get_path('platlib'),'yap4py')),'-Wl,-rpath,/lib','-Wl,-rpath,'+join('/lib','..'),'-Wl,-rpath,../yap4py']
win_libs = [] win_libs = []
local_libs = ['Py4YAP'] local_libs = ['Py4YAP']
@ -90,10 +90,10 @@ extensions = [Extension('_yap', native_sources,
('YAP_PYTHON', '1'), ('YAP_PYTHON', '1'),
('_GNU_SOURCE', '1')], ('_GNU_SOURCE', '1')],
runtime_library_dirs=[ runtime_library_dirs=[
abspath(join(sysconfig.get_path('platlib'),'yap4py')), abspath(sysconfig.get_path('platlib')),'/usr/local/lib'], abspath(join(sysconfig.get_path('platlib'),'yap4py')), abspath(sysconfig.get_path('platlib')),'/lib'],
swig_opts=['-modern', '-c++', '-py3', swig_opts=['-modern', '-c++', '-py3',
'-DX_API', '-Iyap4py/include' ], '-DX_API', '-Iyap4py/include' ],
library_dirs=[".",'../../..','/usr/local/lib'], library_dirs=[".",'../../..','/lib'],
extra_link_args=my_extra_link_args, extra_link_args=my_extra_link_args,
libraries=['Yap','gmp']+win_libs+local_libs, libraries=['Yap','gmp']+win_libs+local_libs,
include_dirs=['/home/vsc/github/yap-6.3/H', include_dirs=['/home/vsc/github/yap-6.3/H',

View File

@ -71,14 +71,16 @@ class Query:
def __next__(self): def __next__(self):
if not self.q: if not self.q:
raise StopIteration() raise StopIteration()
if self.port == "exit":
self.close()
return
if self.q.next(): if self.q.next():
rc = self.q.answer rc = self.answer
# if self.q.port == "exit":
return rc return rc
else: else:
if self: if self.q:
self.close() self.close()
raise StopIteration() raise RuntimeError()
def close( self ): def close( self ):
if self.q: if self.q:
@ -189,7 +191,7 @@ class YAPShell:
self.q = None self.q = None
print("Exception",e) print("Exception",e)
e.errorNo = 0 e.errorNo = 0
return False, None raise
def live(self, engine, **kwargs): def live(self, engine, **kwargs):
loop = True loop = True
@ -204,6 +206,7 @@ class YAPShell:
self.query_prolog(s) self.query_prolog(s)
except SyntaxError as err: except SyntaxError as err:
print("Syntax Error error: {0}".format(err)) print("Syntax Error error: {0}".format(err))
continue
except EOFError: except EOFError:
return return
except RuntimeError as err: except RuntimeError as err:

View File

@ -884,7 +884,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is # Note that relative paths are relative to the directory from which doxygen is
# run. # run.
EXCLUDE = /home/vsc/github/yap-6.3/build /home/vsc/github/yap-6.3/Debug /home/vsc/github/yap-6.3/packages/jpl /home/vsc/github/yap-6.3/packages/swig /home/vsc/github/yap-6.3/packages/Problog/problog_examples/output /home/vsc/github/yap-6.3/packages/Problog/problog_examples/queries /home/vsc/github/yap-6.3/packages/myddas/sqlite3/src /home/vsc/github/yap-6.3/packages/gecode/4.4.0 /home/vsc/github/yap-6.3/packages/gecode/4.2.1 /home/vsc/github/yap-6.3/packages/gecode/4.2.0 /home/vsc/github/yap-6.3/packages/gecode/4.0.0 /home/vsc/github/yap-6.3/packages/gecode/3.7.3 /home/vsc/github/yap-6.3/packages/gecode/3.7.2 /home/vsc/github/yap-6.3/packages/gecode/3.7.1 /home/vsc/github/yap-6.3/packages/gecode/3.7.0 /home/vsc/github/yap-6.3/packages/gecode/3.6.0 /home/vsc/github/yap-6.3/packages/gecode/dev /home/vsc/github/yap-6.3/C/traced_absmi_insts.h /home/vsc/github/yap-6.3/H/globals.h /home/vsc/github/yap-6.3/packages/cplint /home/vsc/github/yap-6.3/packages/CLPBN/examples /home/vsc/github/yap-6.3/packages/CLPBN/horus /home/vsc/github/yap-6.3/packages/prosqlite /home/vsc/github/yap-6.3/packages/pyswip /home/vsc/github/yap-6.3/packages/yap-lbfgs/liblbfgs-1.10 /home/vsc/github/yap-6.3/library/dialect/swi/os /home/vsc/github/yap-6.3/packages/python /home/vsc/github/yap-6.3/*/bprolog/* /home/vsc/github/yap-6.3/*/prism/* /home/vsc/github/yap-6.3/*/gecodde/[345]* /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode3.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5.yap /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap_hand_written.yap */CMakeFiles/* *~ */ EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded # directories that are symbolic links (a Unix file system feature) are excluded
@ -900,7 +900,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to # Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/* # exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS = /home/vsc/github/yap-6.3/build /home/vsc/github/yap-6.3/Debug /home/vsc/github/yap-6.3/packages/jpl /home/vsc/github/yap-6.3/packages/swig /home/vsc/github/yap-6.3/packages/Problog/problog_examples/output /home/vsc/github/yap-6.3/packages/Problog/problog_examples/queries /home/vsc/github/yap-6.3/packages/myddas/sqlite3/src /home/vsc/github/yap-6.3/packages/gecode/4.4.0 /home/vsc/github/yap-6.3/packages/gecode/4.2.1 /home/vsc/github/yap-6.3/packages/gecode/4.2.0 /home/vsc/github/yap-6.3/packages/gecode/4.0.0 /home/vsc/github/yap-6.3/packages/gecode/3.7.3 /home/vsc/github/yap-6.3/packages/gecode/3.7.2 /home/vsc/github/yap-6.3/packages/gecode/3.7.1 /home/vsc/github/yap-6.3/packages/gecode/3.7.0 /home/vsc/github/yap-6.3/packages/gecode/3.6.0 /home/vsc/github/yap-6.3/packages/gecode/dev /home/vsc/github/yap-6.3/C/traced_absmi_insts.h /home/vsc/github/yap-6.3/H/globals.h /home/vsc/github/yap-6.3/packages/cplint /home/vsc/github/yap-6.3/packages/CLPBN/examples /home/vsc/github/yap-6.3/packages/CLPBN/horus /home/vsc/github/yap-6.3/packages/prosqlite /home/vsc/github/yap-6.3/packages/pyswip /home/vsc/github/yap-6.3/packages/yap-lbfgs/liblbfgs-1.10 /home/vsc/github/yap-6.3/library/dialect/swi/os /home/vsc/github/yap-6.3/packages/python /home/vsc/github/yap-6.3/*/bprolog/* /home/vsc/github/yap-6.3/*/prism/* /home/vsc/github/yap-6.3/*/gecodde/[345]* /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode3.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5.yap /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap_hand_written.yap */CMakeFiles/* *~ */ EXCLUDE_PATTERNS = /home/vsc/github/yap-6.3/build /home/vsc/github/yap-6.3/Debug /home/vsc/github/yap-6.3/packages/jpl /home/vsc/github/yap-6.3/packages/swig /home/vsc/github/yap-6.3/packages/Problog/problog_examples/output /home/vsc/github/yap-6.3/packages/Problog/problog_examples/queries /home/vsc/github/yap-6.3/packages/myddas/sqlite3/src /home/vsc/github/yap-6.3/packages/gecode/4.4.0 /home/vsc/github/yap-6.3/packages/gecode/4.2.1 /home/vsc/github/yap-6.3/packages/gecode/4.2.0 /home/vsc/github/yap-6.3/packages/gecode/4.0.0 /home/vsc/github/yap-6.3/packages/gecode/3.7.3 /home/vsc/github/yap-6.3/packages/gecode/3.7.2 /home/vsc/github/yap-6.3/packages/gecode/3.7.1 /home/vsc/github/yap-6.3/packages/gecode/3.7.0 /home/vsc/github/yap-6.3/packages/gecode/3.6.0 /home/vsc/github/yap-6.3/packages/gecode/dev /home/vsc/github/yap-6.3/C/traced_absmi_insts.h /home/vsc/github/yap-6.3/H/globals.h /home/vsc/github/yap-6.3/packages/cplint /home/vsc/github/yap-6.3/packages/CLPBN/examples /home/vsc/github/yap-6.3/packages/CLPBN/horus /home/vsc/github/yap-6.3/packages/prosqlite /home/vsc/github/yap-6.3/packages/pyswip /home/vsc/github/yap-6.3/packages/yap-lbfgs/liblbfgs-1.10 /home/vsc/github/yap-6.3/library/dialect/swi/os /home/vsc/github/yap-6.3/*/bprolog/* /home/vsc/github/yap-6.3/*/prism/* /home/vsc/github/yap-6.3/*/gecodde/[345]* /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap.cc /home/vsc/github/yap-6.3/packages/gecode/gecode3.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5.yap /home/vsc/github/yap-6.3/packages/gecode/gecode3_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode4_yap_hand_written.yap /home/vsc/github/yap-6.3/packages/gecode/gecode5_yap_hand_written.yap */CMakeFiles/* *~ */
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the # (namespaces, classes, functions, etc.) that should be excluded from the
@ -2072,14 +2072,14 @@ MACRO_EXPANSION = YES
# The default value is: NO. # The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_ONLY_PREDEF = YES EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES, the include files in the # If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found. # INCLUDE_PATH will be searched if a #include is found.
# The default value is: YES. # The default value is: YES.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
SEARCH_INCLUDES = NO SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that # The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by the # contain include files that are not input files but should be processed by the
@ -2109,20 +2109,20 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator. # recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = PREDEFINED = \
YAP_FLAG(ITEM,NAME,WRITABLE,DEF,INIT,HELPER)=ITEM \ YAP_FLAG(ITEM,NAME,WRITABLE,DEF,INIT,HELPER):=NAME \
START_LOCAL_FLAGS="enum THREAD_LOCAL_FLAGS {" \ START_LOCAL_FLAGS:="enum THREAD_LOCAL_FLAGS {" \
END_LOCAL_FLAGS=" };"\ END_LOCAL_FLAGS:=" };"\
START_GLOBAL_FLAGS="enum GLOBAL_FLAGS {" \ START_GLOBAL_FLAGS:="enum GLOBAL_FLAGS {" \
END_GLOBAL_FLAGS="};" \ END_GLOBAL_FLAGS:="};" \
LOCAL(A, B)="A B" \ LOCAL(A, B):="A B" \
LOCAL_INIT(A, B, C)="A B;B = C" \ LOCAL_INIT(A, B, C):="A B;B := C" \
LOCAL_ARRAY(A, B, C)="A B[C]" \ LOCAL_ARRAY(A, B, C):="A B[C]" \
LOCAL_ARRAY_ARRAY(A, B, C,D)="A B[C][D]"\ LOCAL_ARRAY_ARRAY(A, B, C,D):="A B[C][D]"\
LOCAL_INIT(A, B, C, D)="A B[C][D]"\ LOCAL_INIT(A, B, C, D):="A B[C][D]"\
LOCAL_INITF(A, B, C)=" A B; C"\ LOCAL_INITF(A, B, C):=" A B; C"\
LOCAL_INIT_RESTORE(A,B,C,D)="A B; C; D;"\ LOCAL_INIT_RESTORE(A,B,C,D):="A B; C; D;"\
PREG=Yap_REGS.P_ PREG:=Yap_REGS.P_
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The # tag can be used to specify a list of macro names that should be expanded. The