home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 1.ddi / EXAMPLES.ARC / CH12EX03.PRO < prev    next >
Encoding:
Prolog Source  |  1988-06-21  |  552 b   |  21 lines

  1. /*
  2.    Turbo Prolog 2.0 Chapter 12, Example Program 3
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  5.    
  6. */
  7.    
  8. domains
  9.    expr = number(integer); x; log(expr);
  10.           plus(expr, expr); mult(expr, expr)
  11.  
  12. predicates
  13.    writeExp(expr)
  14.  
  15. clauses
  16.    writeExp(x) :- write('x').
  17.    writeExp(number(No)) :- write(No).
  18.    writeExp(log(Expr)) :- write("log("), writeExp(Expr), write(')').
  19.    writeExp(plus(U1, U2)) :- writeExp(U1), write('+'), writeExp(U2).
  20.    writeExp(mult(U1, U2)) :- writeExp(U1), write('*'), writeExp(U2).
  21.