From: David S. W. <dw...@us...> - 2010-12-31 20:45:48
|
Update of /cvsroot/xsb/XSB/cmplib In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv21631 Modified Files: cp_opt.H cp_opt.P cp_opt.xwam parse.P parse.xwam Log Message: Fixed (I hope) a continuing bug in importing predicates needed when the answer subsumption translation is done. Also added a cut in mode processing to explicitly treat variables as - mode in the call-abstraction transformation. Index: cp_opt.H =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/cp_opt.H,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- cp_opt.H 6 Dec 2010 16:24:40 -0000 1.11 +++ cp_opt.H 31 Dec 2010 20:45:35 -0000 1.12 @@ -32,7 +32,7 @@ :- import index_split/2 from tp_index. :- import member/2, append/3, length/2, copy_term/2 from basics. :- import functor/3, arg/3, atom_codes/2, '=..'/2 from standard. -:- import sym_type/2, sym_name/3, sym_index/2, sym_insert/5, sym_propin/2 from symtab. +:- import sym_type/2, sym_name/3, sym_index/2, sym_insert/5, sym_propin/2, sym_prop/2 from symtab. :- import warning/1 from auxlry. :- import syntax_error/1 from error_handler. :- import excess_vars/4 from setof. Index: cp_opt.P =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/cp_opt.P,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- cp_opt.P 6 Dec 2010 16:24:40 -0000 1.16 +++ cp_opt.P 31 Dec 2010 20:45:36 -0000 1.17 @@ -218,7 +218,7 @@ parse_preddef(PredTerm,Body,ClList2,SymTab), ensure_imported(breg_retskel/4,machine,SymTab), ensure_imported(excess_vars/4,setof,SymTab), -%% ensure_imported(copy_term/2,basics,SymTab), % but problems with sysmod? + ensure_imported(copy_term/2,basics,SymTab), % but problems with sysmod? ensure_imported('_$$get_returns'/3,tables,SymTab), ensure_imported('delete_return'/2,tables,SymTab), ensure_imported('member'/2,basics,SymTab). @@ -259,7 +259,7 @@ parse_preddef(PredTerm,Body,ClList2,SymTab), ensure_imported(breg_retskel/4,machine,SymTab), ensure_imported(excess_vars/4,setof,SymTab), -%% ensure_imported(copy_term/2,basics,SymTab), %problem with sysmod? + ensure_imported(copy_term/2,basics,SymTab), %problem with sysmod? ensure_imported('_$$get_returns'/3,tables,SymTab), ensure_imported(delete_return/2,tables,SymTab). generate_agg_clauses(intenset,Sym,PredTerm,Var1,[],Pred1Term,Var,ClList2,SymTab) :- !, @@ -330,7 +330,12 @@ ensure_imported(Pred/Arity,Mod,SymTab) :- sym_insert(Mod,0,[module],SymTab,_), - sym_insert(Pred,Arity,im(Mod),SymTab,_). +%% sym_insert(Pred,Arity,im(Mod),SymTab,_). + sym_insert(Pred,Arity,[],SymTab,Sym), + (sym_prop(global,Sym) + -> true + ; sym_propin(im(Mod),Sym) + ). /* transform predicate for abstracting subsumptive calls. */ subsumption_modes_trans_pred(Sym,Pscs,Oth,Modes,[pred(Sym1,Pscs,Oth)|NewClList],SymTab) :- Index: cp_opt.xwam =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/cp_opt.xwam,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 Binary files /tmp/cvsdhb9KT and /tmp/cvsdjcz8L differ Index: parse.P =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/parse.P,v retrieving revision 1.117 retrieving revision 1.118 diff -u -r1.117 -r1.118 --- parse.P 6 Dec 2010 16:24:40 -0000 1.117 +++ parse.P 31 Dec 2010 20:45:36 -0000 1.118 @@ -1033,7 +1033,7 @@ ). is_mode_list([]). -is_mode_list([M|Ms]) :- is_a_mode(M), is_mode_list(Ms). +is_mode_list([M|Ms]) :- is_a_mode(M), !, is_mode_list(Ms). is_a_mode('-'). is_a_mode('+'). Index: parse.xwam =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/parse.xwam,v retrieving revision 1.107 retrieving revision 1.108 diff -u -r1.107 -r1.108 Binary files /tmp/cvs3bM4GS and /tmp/cvs1CkS6K differ |