home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Borland Plateform / Turbo Prolog 2 / EXAMPL21.PRO < prev    next >
Encoding:
Prolog Source  |  1986-04-25  |  612 b   |  21 lines

  1.                 /* Program 21 */
  2.       
  3. domains
  4.      expr = number(integer) ; x ; log(expr) ;
  5.             plus(expr,expr) ; mult(expr,expr)
  6. predicates
  7.      writeExp(expr)
  8. goal
  9.    clearwindow,
  10.    writeExp(plus(mult(x,number(99)),mult(number(3),x))).
  11.        
  12. clauses
  13.      writeExp(x)          :- write('x').
  14.      writeExp(number(No)) :- write(No).
  15.      writeExp(log(Expr))  :-
  16.             write("log("),writeExp(Expr),write(')').
  17.      writeExp(plus(U1,U2)):-
  18.              writeExp(U1), write('+'), writeExp(U2).
  19.      writeExp(mult(U1,U2)):-
  20.              writeExp(U1), write('*'), writeExp(U2).
  21.