This work involves the design and coding of an interpreter for pure Pr
olog and building a visual debugger for it. Most of the available Prol
og interpreters contain some tracing facilities. They do not incorpora
te, however, a comprehensive visual debugger. The interpreter performs
the operations of parsing, unification, resolution, and search in a s
tate-space representation of the Prolog program. The visual debugger i
ncorporates the graphical visualization and the manipulation of the SL
D resolution tree. The user visualizes the execution of a pure Prolog
program and interacts with the program inside a windowing environment.
The program execution may be viewed without interruption or the execu
tion can be stopped at any moment in time. At this point the ''snapsho
t'' can be scrutinized with the help of break-points and data displays
. This software aims itself to those who wish to observe the actual pr
ocess of predicate unification, substitution, resolution, and goal mat
ching in a Prolog program and to visually interact with the interprete
r using a highly friendly and pleasing user interface. An advanced fea
ture, referred to as debugging on the tree, provides the user with the
ability to insert break-points directly on the SLD tree, to choose th
e path of execution, and change the search mode. The resultant search
algorithm can be a mixture of depth-first and breadth-first search, av
oiding infinite search paths.