From: David S. W. <dw...@us...> - 2012-12-18 17:20:40
|
Update of /cvsroot/xsb/XSB/cmplib In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv1090 Modified Files: cp_opt.P cp_opt.xwam Log Message: Fixed bug in answer subsumption. Problem was that '/'/2 was used in generated code, and so in a module was treated as a local symbol. This then conflictd with later uses in the compiler. Made it global, and also for var/0 as well, to be safe. Index: cp_opt.P =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/cp_opt.P,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- cp_opt.P 3 Jun 2012 23:14:19 -0000 1.25 +++ cp_opt.P 18 Dec 2012 17:20:37 -0000 1.26 @@ -259,6 +259,8 @@ ) ), parse_preddef_closed(PredTerm,Body,ClList2,SymTab), + globalize('/',2,SymTab), + globalize(var,0,SymTab), ensure_imported(breg_retskel/4,machine,SymTab), ensure_imported(excess_vars/4,setof,SymTab), ensure_imported('_$member'/2,basics,SymTab), @@ -302,6 +304,8 @@ ) ), parse_preddef_closed(PredTerm,Body,ClList2,SymTab), + globalize('/',2,SymTab), + globalize(var,0,SymTab), ensure_imported(breg_retskel/4,machine,SymTab), ensure_imported(excess_vars/4,setof,SymTab), ensure_imported(copy_term/2,basics,SymTab), @@ -397,6 +401,10 @@ ; sym_propin(im(Mod),Sym) ). +globalize(Pred,Arity,SymTab) :- + sym_insert(Pred,Arity,[],SymTab,Sym), + sym_propin(global,Sym). + /* transform predicate for abstracting subsumptive calls. */ subsumption_modes_trans_pred(Sym,Pscs,Oth,Modes,[pred(Sym1,Pscs,Oth)|NewClList],SymTab) :- sym_name(Sym,Pred,Arity), Index: cp_opt.xwam =================================================================== RCS file: /cvsroot/xsb/XSB/cmplib/cp_opt.xwam,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 Binary files /tmp/cvsu0IWdH and /tmp/cvs0lBpor differ |