Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- change_heads(C1,C2,C1new,C2new,Simseq) :-
- int_format(C1,[Head1,Contx1,Spec1]),
- int_format(C2,[Head2,Contx2,Spec2]),
- extract_information_from_clause(C1,C2,Seq1,Cont1,Etq1,Seq2,Cont2,Etq2,T1,T2,R1_Out,R2_Out,H1,H2),
- write('EXTRACT FATTO'),
- match_sequences(Seq1,Seq2,Cont1,Cont2,matchLabelOn,Etq1,Etq2,1/3,1/3,1/3,Simseq,GenSeq),
- write('MATCH FATTO'),
- nl,write('GENSEQ: '),write(GenSeq),
- extract_sequences(GenSeq,SeqOut1,SeqOut2),
- %nl,write('SEQOUT1: '),write(SeqOut1),nl,write('SEQOUT2: '),write(SeqOut2),nl,
- (genSeqEmpty(GenSeq) ->
- C1new = [Head1,Contx1,Spec1],
- C2new = [Head2,Contx2,Spec2]
- ;
- dummy_predicate(SeqOut1,SeqOut2,Dummy1,Dummy2),
- Dummy1 =.. [Functor|Args1],
- Dummy2 =.. [Functor|Args2],
- pushHead(H1, Args1, Args1Out),
- pushHead(H2, Args2, Args2Out),
- nl, write('CONTX1'), write(Args1Out),
- nl, write('CONTX2'), write(Args2Out),
- create_predicate(Args1Out,DummyOut1),
- create_predicate(Args2Out,DummyOut2),
- C1new = [DummyOut1,Contx1,Spec1],
- C2new = [DummyOut2,Contx2,Spec2],
- !).
- /* pushHead/3
- Inserisce l'Item in una lista, spostandolo nella testa della stessa lista
- */
- pushHead(Item, List, [Item|List]) :- !.
- /*genSeqEmpty/1
- Controlla che tutti gli elementi della lista genSeq nel formato [X-[[]],...] siano vuoti
- */
- genSeqEmpty([X-[[]]]).
- genSeqEmpty([A-[[]]|B]):-
- genSeqEmpty(B).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement