![]() |
![]() |
![]() |
![]() |
strcat
abil.
analyysi(Lause) :-
Aluserühm koosneb kas ainult nimisõnast või on selle ees mingi omadussõnaline täiend:
aluseryhm([Sona]) :-
aluseryhm(Sonad) :-
Predikaat (öeldis) on kas verb või verb koos sellele järgneva määrsõnaga:
predikaat([Sona]) :-
predikaat(Sonad) :-
Ja lopuks tuleb kirjeldada sonastik, s.t. (moned) verbid, nimisonad, omadussonad ja määrsonad.
nimisona($poiss $).
nimisona($auto $).
omadussona($suur $).
verb($jookseb $).
verb($kõnnib $).
verb($loeb $).
verb($naerab $).
verb($sõidab $).
verb($jookseb $).
verb($laulab $).
maarsana($kiiresti $).
maarsona($aeglaselt $).
Nüüd võib lasta Prologil genereerida kõik (tema jaoks) struktuurilt korrektsed laused, s.t. esitada päringu:
?- lause(X).
Ülesanne
Koosta predikaat, mis algul analüüsib lihtlaused (leiab aluse, õeldise jne) ja siis moodustab aluse, öeldise jne kohta käiva küsilause:
poiss jookseb
-> kes jookseb? mida poiss teeb ? jne