/* ese10.mar  */

nowarnings         
domains
nome,articolo,verbo   = symbol
nominale              = nominale(articolo,nome)
verbale               = verbale(verbo,nominale)

predicates
frase(nominale,verbale)
azione
goal azione.

clauses
azione:-makewindow(1,7,1,"",1,1,20,78),
frase(X,Y),
write(X),nl,
write(Y),nl,
write("-----------------------"),nl,fail;
N=nominale(un,cane),
frase(N,Y),
write(N),nl,write(Y),nl,fail.
frase(nominale(un,cane),
verbale(mangia,nominale(un,osso))).
frase(nominale(il,gatto),
verbale(mangia,nominale(un,topo))).
frase(nominale(una,rondine),
verbale(vola,nominale(in,cielo))).
frase(nominale(un,cane),
verbale(morde,nominale(un,gatto))).

+-----------------------------------------------------
¦+----------------------------------------------------
+¦nominale("un","cane")
+¦verbale("mangia",nominale("un","osso"))
¦¦-----------------------
¦¦nominale("il","gatto")
¦¦verbale("mangia",nominale("un","topo"))
¦¦-----------------------
¦¦nominale("una","rondine")
¦¦verbale("vola",nominale("in","cielo"))
¦¦-----------------------
¦¦nominale("un","cane")
¦¦verbale("morde",nominale("un","gatto"))
¦¦-----------------------
¦¦nominale("un","cane")
¦¦verbale("mangia",nominale("un","osso"))
¦¦nominale("un","cane")
+¦verbale("morde",nominale("un","gatto"))
+¦
¦¦Press the SPACE bar
¦+----------------------------------------------------
¦azione                                          ¦¦
¦frase                                           ¦¦
+------------------------------------------------++---

ritorna