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(library(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(false,File,Start), 20 %set_how_virtualize_file(bodies,File,Start), 21 asserta(baseKB:used_ain_syntax(prolog,File,Start,Ln,VZ,M,In, (:- (M:dyn_load(In,(mfl4(VZ,M,File,Ln),ax)))))). 22 23/* 24 25:- multifile(term_expansion/4). 26:- dynamic(term_expansion/4). 27:- module_transparent(term_expansion/4). 28term_expansion(MIn,Pos,Out,PosOut):- nonvar(Pos), nonvar(MIn), 29 must((once(prolog_load_context(file,File);prolog_load_context(stream,File)), 30 once(nb_current('$variable_names',VZ);VZ=[]), 31 once(stream_position_data(line_count,Pos,Ln);(prolog_load_context(stream,Str),line_count(Str,Ln))), 32 strip_module(MIn,M,In))), 33 notrace(In \= (:- _)), 34 is_ain_clause(M,In), 35 show_failure(baseKB:used_ain_syntax(File,Start,Ln,VZ,M,In,Out)), % 36 show_failure(Ln>=Start),!, 37 must(get_current_clause(MIn)), 38 dmsg_pretty(Out), PosOut=Pos,!. 39 40*/