listing
This commit is contained in:
parent
015efac6df
commit
3b186a064a
@ -225,6 +225,7 @@ Write clause _C_ on stream _S_ as if written by listing/0.
|
|||||||
*/
|
*/
|
||||||
portray_clause(Stream, Clause) :-
|
portray_clause(Stream, Clause) :-
|
||||||
copy_term_nat(Clause, CopiedClause),
|
copy_term_nat(Clause, CopiedClause),
|
||||||
|
writeln(c:CopiedClause),
|
||||||
'$portray_clause'(Stream, CopiedClause),
|
'$portray_clause'(Stream, CopiedClause),
|
||||||
fail.
|
fail.
|
||||||
portray_clause(_, _).
|
portray_clause(_, _).
|
||||||
@ -256,7 +257,7 @@ portray_clause(Clause) :-
|
|||||||
'$write_body'((P,Q), I, T, Stream) :-
|
'$write_body'((P,Q), I, T, Stream) :-
|
||||||
!,
|
!,
|
||||||
'$write_body'(P,I,T, Stream),
|
'$write_body'(P,I,T, Stream),
|
||||||
put(Stream, 0',),
|
put(Stream, 0',), %'
|
||||||
'$write_body'(Q,I,',',Stream).
|
'$write_body'(Q,I,',',Stream).
|
||||||
'$write_body'((P->Q;S),I,_, Stream) :-
|
'$write_body'((P->Q;S),I,_, Stream) :-
|
||||||
!,
|
!,
|
||||||
@ -312,33 +313,43 @@ portray_clause(Clause) :-
|
|||||||
'$write_disj'(S,_,I,C,Stream) :-
|
'$write_disj'(S,_,I,C,Stream) :-
|
||||||
'$write_body'(S,I,C,Stream).
|
'$write_body'(S,I,C,Stream).
|
||||||
|
|
||||||
|
|
||||||
'$beforelit'('(',_,Stream) :-
|
'$beforelit'('(',_,Stream) :-
|
||||||
!,
|
!,
|
||||||
format(Stream,' ',[]).
|
format(Stream,' ',[]).
|
||||||
'$beforelit'(_,I,Stream) :- format(Stream,'~n~*c',[I,0' ]).
|
'$beforelit'(_,I,Stream) :- format(Stream,'~n~*c',[I,0' ]). %'
|
||||||
|
|
||||||
|
|
||||||
'$beautify_vars'(T) :-
|
'$beautify_vars'(T) :-
|
||||||
'$list_get_vars'(T,[],L),
|
var(T),
|
||||||
|
!,
|
||||||
|
'$list_transform'([T],0).
|
||||||
|
'$beautify_vars'(T) :-
|
||||||
|
primitive(T),
|
||||||
|
!.
|
||||||
|
'$beautify_vars'(T) :-
|
||||||
|
T =.. [_|Vs0],
|
||||||
|
'$list_get_vars'(Vs0,[],L),
|
||||||
msort(L,SL),
|
msort(L,SL),
|
||||||
'$list_transform'(SL,0).
|
'$list_transform'(SL,0).
|
||||||
|
|
||||||
|
'$list_get_vars'([], Vs, Vs).
|
||||||
|
'$list_get_vars'([A|Args], Vs0, Vs) :-
|
||||||
|
'$list_get_vars_'(A, Vs0, Vs1 ),
|
||||||
|
'$list_get_vars'(Args, Vs1, Vs).
|
||||||
|
|
||||||
'$list_get_vars'(V,L,[V|L] ) :- var(V), !.
|
'$list_get_vars_'(V,L,[V|L] ) :-
|
||||||
'$list_get_vars'(Atomic, M, M) :-
|
var(V), !.
|
||||||
|
'$list_get_vars_'(Atomic, Vs, Vs) :-
|
||||||
primitive(Atomic), !.
|
primitive(Atomic), !.
|
||||||
'$list_get_vars'([Arg|Args], M, N) :- !,
|
'$list_get_vars_'(Term, Vs0, Vs) :-
|
||||||
'$list_get_vars'(Arg, M, K),
|
|
||||||
'$list_get_vars'(Args, K, N).
|
|
||||||
'$list_get_vars'(Term, M, N) :-
|
|
||||||
Term =.. [_|Args],
|
Term =.. [_|Args],
|
||||||
'$list_get_vars'(Args, M, N).
|
'$list_get_vars'(Args, Vs0, Vs).
|
||||||
|
|
||||||
'$list_transform'([],_) :- !.
|
'$list_transform'([],_) :- !.
|
||||||
'$list_transform'([X,Y|L],M) :-
|
'$list_transform'([X,Y|L],M) :-
|
||||||
X == Y,
|
X == Y,
|
||||||
X = '$VAR'(M),
|
|
||||||
!,
|
!,
|
||||||
|
X = '$VAR'(M),
|
||||||
N is M+1,
|
N is M+1,
|
||||||
'$list_transform'(L,N).
|
'$list_transform'(L,N).
|
||||||
'$list_transform'(['$VAR'(-1)|L],M) :- !,
|
'$list_transform'(['$VAR'(-1)|L],M) :- !,
|
||||||
|
Reference in New Issue
Block a user