(FILECREATED " 5-Feb-86 20:33:03" {ERIS}<PROLOGCORE>DEMOS>PROLOGTRACE.;2 2730
changes to: (FNS PROLOG-TRACE PROLOG-TRACE-INIT)
(VARS PROLOGTRACECOMS PATH CALL-GRAPH-WINDOW)
previous date: " 5-Feb-86 17:50:49" {ERIS}<PROLOGCORE>DEMOS>PROLOGTRACE.;1)
(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT PROLOGTRACECOMS)
(RPAQQ PROLOGTRACECOMS ((FILES GRAPHER)
(VARS (PATH))
(FNS PROLOG-TRACE PROLOG-TRACE-INIT)
(FNS ADD-CHILD ADD-CHILD-AND-PUSH-CURR-NODE DELETE-AND-POP-CURR-NODE
DELETE-CHILDREN)
(P (PROLOG-TRACE-INIT))))
(FILESLOAD GRAPHER)
(RPAQQ PATH NIL)
(DEFINEQ
(PROLOG-TRACE
[LAMBDA (LEVEL PROCNAME CALLTYPE) (* edited: " 5-Feb-86 20:23")
(DECLARE (GLOBALVARS CALL-GRAPH-WINDOW PATH))
(LET ((LABEL (CONS PROCNAME LEVEL)))
(SELECTQ CALLTYPE
[call (if PATH
then (ADD-CHILD-AND-PUSH-CURR-NODE LABEL)
else (SETQ PATH (LIST (LIST LABEL]
(fail (DELETE-AND-POP-CURR-NODE LABEL PATH))
(solution (DELETE-CHILDREN (pop PATH)))
[backtrack (if PATH
then (ADD-CHILD-AND-PUSH-CURR-NODE LABEL)
else (SETQ PATH (LIST (LIST LABEL]
NIL)
(AND PATH (SHOWGRAPH (LAYOUTSEXPR (CAR (LAST PATH))
(QUOTE VERTICAL))
CALL-GRAPH-WINDOW])
(PROLOG-TRACE-INIT
[LAMBDA NIL
(DECLARE (GLOBALVARS CALL-GRAPH-WINDOW)) (* edited: " 5-Feb-86 20:31")
(SETQ CALL-GRAPH-WINDOW (CREATEW NIL "Prolog execution tree"])
)
(DEFINEQ
(ADD-CHILD
[LAMBDA (LABEL) (* hdj "17-Jul-85 12:37")
(DECLARE (GLOBALVARS PATH))
(LET ((NODE (LIST LABEL)))
(RPLACD (CAR PATH)
(CONS NODE (CDAR PATH)))
(push PATH NODE])
(ADD-CHILD-AND-PUSH-CURR-NODE
[LAMBDA (LABEL) (* hdj "17-Jul-85 12:02")
(DECLARE (GLOBALVARS PATH))
(LET ((NODE (LIST LABEL)))
(RPLACD (CAR PATH)
(CONS NODE (CDAR PATH)))
(push PATH NODE])
(DELETE-AND-POP-CURR-NODE
[LAMBDA (LABEL) (* hdj "17-Jul-85 12:38")
(DECLARE (GLOBALVARS PATH))
(DREMOVE (pop PATH)
(CAR PATH])
(DELETE-CHILDREN
[LAMBDA (NODE) (* hdj "17-Jul-85 12:01")
(RPLACD NODE NIL])
)
(PROLOG-TRACE-INIT)
(PUTPROPS PROLOGTRACE COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
(FILEMAP (NIL (661 1672 (PROLOG-TRACE 671 . 1458) (PROLOG-TRACE-INIT 1460 . 1670)) (1673 2628 (
ADD-CHILD 1683 . 1966) (ADD-CHILD-AND-PUSH-CURR-NODE 1968 . 2270) (DELETE-AND-POP-CURR-NODE 2272 .
2486) (DELETE-CHILDREN 2488 . 2626)))))
STOP