File: Mec:Ixref.Hlp Author: R.A.O'Keefe Updated: 10 May 1983 #purpose. ixref is an interactive cross-reference utility. You can use it to tell you whether you are redefining any system predicates, to find out which predicates are used but not defined, to discover which predicates call what other predicates, and so on. #sources. The Prolog interactive Cross-reference program no longer exists as a separate entity. Instead, there are three programs mec:helper.pl -- general help utility mec:pp.pl -- pretty-printer (needs helper) mec:ixref.pl -- needs pp and helper #commands. ixref is part of ToolKit. It extends the TermPatterns of pp.pl (see Mec:PP.Hlp, or give_help(pp) for details) with patterns from(File) -- predicates defined in File from(-) -- predicates from nowhere (undefined) >(Patt) -- calling Patt <(Patt) -- called by Patt @>(Patt) -- calling Patt, even indirectly @<(Patt) -- called by Patt, even indirectly. E.g. if p :- q. q :- r. then p > q > r and p @> r, but not p > r. Ixref also provides two new commands: sf -- show file names ixreffed sf "StrPatt" -- show selected file names sf TermPatt -- show files defining any Patt sp From-To -- show call paths between From@>To. and of course ixref(Files) -- parse files & collect call/define info #database. The data extracted by ixref(Files) consists of $seen(File) -- File has been ixreffed $seen(Fn,Ar) -- Fn/Ar has been defined OR used $defn(Fn,Ar,File) -- Fn/Ar is defined in File $call(Goal,Arg,Inc) -- same as XREF's applies/2. $call(F,A, G,B) -- F/A calls G/B #misc. The storage required is about 2/3 of the storage used by the original clauses, e.g. PRESS needs about 35k. Mec:ToolKit.Exe is a version of UTIL with Helper, Pp, Ixref, and Vcheck compiled. It can be used as an interactive cross-referencer. #end_of_file.