Prolog library: ixref.hlp
pereira at sri-unix.UUCP
pereira at sri-unix.UUCP
Mon Aug 15 15:53:10 AEST 1983
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.
More information about the Comp.sources.unix
mailing list