home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l217 / 2.ddi / EXAMPLES / CH07EX09.PRO < prev    next >
Encoding:
Prolog Source  |  1990-03-26  |  813 b   |  31 lines

  1. /*
  2.    Copyright (c) 1986, 90 by Prolog Development Center
  3. */
  4.    
  5. /* Traversing a tree by depth-first search
  6.    and printing each element as it is encountered */
  7.  
  8. domains
  9.   treetype = tree(string, treetype, treetype) ; empty()
  10.  
  11. predicates
  12.    print_all_elements(treetype)
  13.  
  14. clauses
  15.    print_all_elements(empty).
  16.  
  17.    print_all_elements(tree(X, Y, Z)) :-
  18.       write(X), nl, 
  19.       print_all_elements(Y),
  20.       print_all_elements(Z).
  21.  
  22. goal
  23.    print_all_elements(tree("Cathy",
  24.                            tree("Michael",
  25.                            tree("Charles", empty, empty),
  26.                       tree("Hazel", empty, empty)),
  27.                            tree("Melody",
  28.                            tree("Jim", empty, empty),
  29.                            tree("Eleanor", empty, empty)))).
  30.  
  31.