1/* Part of LogicMOO Base Logicmoo Debug Tools 2% =================================================================== 3% File '$FILENAME.pl' 4% Purpose: An Implementation in SWI-Prolog of certain debugging tools 5% Maintainer: Douglas Miles 6% Contact: $Author: dmiles $@users.sourceforge.net ; 7% Version: '$FILENAME.pl' 1.0.0 8% Revision: $Revision: 1.1 $ 9% Revised At: $Date: 2002/07/11 21:57:28 $ 10% Licience: LGPL 11% =================================================================== 12*/ 13 14:- use_module('./pfc_lib'). 15 16:- dynamic(baseKB:used_ain_syntax/8). 17:- prolog_load_context(source,File),stream_property(Source,file_name(File)), 18 once(line_count(Source,Start);(stream_property(Source,position(Pos)),stream_position_data(line_count,Pos,Start))), 19 set_how_virtualize_file(heads,File,Start), 20 set_how_virtualize_file(bodies,File,Start), 21 %set_how_virtualize_file(bodies,File,Start), 22 asserta(baseKB:used_ain_syntax(pfc,File,Start,Ln,VZ,M,In, (:- (M:mpred_ain(In,(mfl4(VZ,M,File,Ln),ax)))))). 23 24/* 25 26:- multifile(term_expansion/4). 27:- dynamic(term_expansion/4). 28:- module_transparent(term_expansion/4). 29term_expansion(MIn,Pos,Out,PosOut):- nonvar(Pos), nonvar(MIn), 30 must((once(prolog_load_context(file,File);prolog_load_context(stream,File)), 31 once(nb_current('$variable_names',VZ);VZ=[]), 32 once(stream_position_data(line_count,Pos,Ln);(prolog_load_context(stream,Str),line_count(Str,Ln))), 33 strip_module(MIn,M,In))), 34 notrace(In \= (:- _)), 35 is_ain_clause(M,In), 36 show_failure(baseKB:used_ain_syntax(File,Start,Ln,VZ,M,In,Out)), % 37 show_failure(Ln>=Start),!, 38 must(get_current_clause(MIn)), 39 dmsg_pretty(Out), PosOut=Pos,!. 40 41*/