Merge branch 'master' of ssh://ssh.dcc.fc.up.pt:31064/home/vsc/yap

This commit is contained in:
Vitor Santos Costa 2019-02-14 00:38:02 +00:00
commit 71940dec67
6 changed files with 49 additions and 41 deletions

View File

@ -1380,9 +1380,10 @@ static Int t_ref(cl_connector *d, cl_connector * q, int max) {
static Int create_entry(Term t, Int i, Int j, cl_connector * q, Int max) {
Term ref, h, *s, *ostart;
bool pair = false;
ssize_t n;
// first time, create a new term
if (i==0)
return 0;
if (IsVarTerm(t)) {
return -1;
}
@ -1393,7 +1394,6 @@ static Int create_entry(Term t, Int i, Int j, cl_connector * q, Int max) {
return t_ref((cl_connector*)AtomOfTerm(h),q,max);
}
n = 2;
pair = true;
ostart = HR;
ref = AbsPair(ostart);
HR += 2;
@ -1439,12 +1439,19 @@ Int cp_link(Term t, Int i, Int j, cl_connector * q, Int max, CELL * tailp) {
Term ref = Deref(q[me].reference);
if (IsVarTerm(ref)) {
q[i].copy[j] = ref;
} else {
q[i].copy[j] =
q[me].parent[0] =
UNFOLD_LOOP(ref, tailp);
} else if (i == 0){
Term p = TermNil;
Term v = UNFOLD_LOOP(ref,&p);
q[i].reference = HeadOfTerm(p);
q[i].copy[j] = v;
}
return max;
else if (tailp && q[me].parent) {
Term v = UNFOLD_LOOP(ref, tailp);
q[i].copy[j] = v;
q[me].parent[0] = v;
q[i].reference = v;
}
return max;
}
q[i].copy[j] = t;
return me;

View File

@ -28,8 +28,6 @@
*/
% be careful here not to generate an undefined exception..
print_message(informational,_) :-
yap_flag(verbose, silent),
!.
@ -40,15 +38,15 @@ print_message(informational,E) :-
% boot:print_message( Type, Error )
%
print_message(Type,error(error(_,_),exception(Desc))) :-
!,
'$print_exception'(Desc).
!,
'$print_exception'(Desc).
print_message(Type,error(warning(_,_),exception(Desc))) :-
!,
'$print_exception'(Desc),
!.
'$print_exception'(Desc).
print_message(Type,Error) :-
format( user_error, '~w while bootstraping: event is ~q~n',[Type,Error]).
/**
* @pred system_module( _Mod_, _ListOfPublicPredicates, ListOfPrivatePredicates *
* Define a system module _Mod_. _ListOfPublicPredicates_ . Currentlt, all
@ -83,25 +81,25 @@ private(_).
%
% boootstrap predicates.
%
:- system_module( '$_boot',
[
!/0,
':-'/1,
'?-'/1,
[]/0,
bootstrap/1,
call/1,
catch/3,
catch_ball/2,
expand_term/2,
print_message/2,
import_system_module/2,
system_module/2,
private/1,
incore/1,
(not)/1,
repeat/0,
throw/1,
:- system_module( '$_boot', [
!/0,
':-'/1,
'?-'/1,
[]/0,
bootstrap/1,
call/1,
catch/3,
catch_ball/2,
expand_term/2,
print_message/2,
import_system_module/2,
system_module/2,
private/1,
incore/1,
(not)/1,
repeat/0,
throw/1,
true/0,
extensions_to_present_answer/1,
fail/0,
false/0,
@ -109,16 +107,16 @@ private(_).
goal_expansion/3,
otherwise/0,
term_expansion/2,
version/2,
true/0],
[
version/2],
[
'$do_log_upd_clause'/6,
'$do_log_upd_clause0'/6,
'$do_log_upd_clause_erase'/6,
'$do_static_clause'/5,
'$system_module'/1]).
:- use_system_module( '$_boot', ['$cut_by'/1]).
% be careful here not to generate an undefined exception..
@ -136,6 +134,13 @@ print_boot_message(Type,Error,Desc) :-
'$query_exception'(errorLine, Desc, FilePos),
format(user_error,'~a:~d: ~a: ~q~n', [File,FilePos,Type,Error]).
'$undefp0'([M|G], _Action) :-
functor(G,N,A),
print_message( error, error(error(unknown, M:N/A),M:G)),
fail.
:- '$undefp_handler'('$undefp0'(_,_),prolog).
/**
* @pred $system_meta_predicates'( +L )
*

View File

@ -1450,9 +1450,7 @@ environment. Use initialization/2 for more flexible behavior.
'$initialization_queue'(G) :-
b_getval('$lf_status', TOpts),
'$lf_opt'( initialization, TOpts, Ref),
writeln(G),
nb:nb_queue_enqueue(Ref, G),
writeln(Ref),
fail.
'$initialization_queue'(_).

View File

@ -33,7 +33,6 @@
/*
% grounds all free variables
% as terms of the form '$VAR'(N)
*/
_numbervars(Term, M, N) :-
'$variables_in_term'(Term, [], L),
'$numbermarked_vars'(L, M, N).

View File

@ -97,7 +97,6 @@
set_prolog_flag(debug, false),
% simple trick to find out if this is we are booting from Prolog.
% boot from a saved state
writeln(ok),
'$init_from_saved_state_and_args', %start_low_level_trace,
'$db_clean_queues'(_),

View File

@ -878,7 +878,7 @@ gated_call(Setup, Goal, Catcher, Cleanup) :-
'$expand_clause'(InputCl, C1, CO) :-
'$yap_strip_clause'(InputCl, M, ICl),
'$expand_a_clause'( M:ICl, SM, C1, CO),
'$expand_a_clause'( M:ICl, M, C1, CO),
!.
'$expand_clause'(Cl, Cl, Cl).