![]() |
![]() |
![]() |
![]() |
atom_concat
.
Verbi analüüsides otsib Prolog sõna lõpust moodi (ainsus, mitmus) ja pööret tunnuse määrava tunnuse ja kontrollib primitiivi
analyysi(Verb,Aeg,Mood,Isik) :-
atom_concat
abil, kas see esineb analüüsitava sõna lõpus; sellega ühtlasi leita
kse sõna tüvi (see on sõna ülejäänud osa); seejärel kontrollitakse kas tüve lõpus esineb mineviku tunnus -si
või -s
. Primitiiv atom_concat
ühendab kaks sõna üheks, näiteks
atom_concat(loe, me,
loeme)
.
Kuna atom_concat
oskab
antud aatomit osadeks jagada vaid siis, kui nii esimene kui ka
teine argument on muutujad, tuleb antud tyve lõpust tunnuse ärajätmiseks
veidi "nipitada", s.t. näiteks
atom_concat(Tyvi,me,laulame)
asemel tuleb
öelda
atom_concat(Tyvi,Tunnus,laulame),Tunnus=me
- tagurdades jõuab Prolog õige osadeks lahutuseni.
Minevikus
ainsuse kolmandal pöördel sageli
ei ole tunnust, s.t. sõna lõpeb mineviku tunnusega -s
(liikus) ja minevikus võib mitmuse kolmanda pöörde tunnuseks olla -vad
asemel -d
(laulsid), millel sel juhul eelneb mineviku tunnus
-si
.
Kui siinkirjeldatud morfoloogiareegleeglite abil analüüs ei õnnestu, vabandab Prolog oma mitteoskamist.
analyysi(Verb,minevik,ainsus,3) :-
analyysi(Verb,_,_,_) :-
Kui verbi tüve lõpp on -si
või (kolmandas pöördes) -s
, on verb minevikus, muudel juhtudel olevikus.
aeg(Tyvi, minevik) :-
aeg(Tyvi, minevik) :-
aeg(Tyvi, olevik).
Morfoloogilise analüüsi käivitab ja esitab selle tulemused predikaat analyysi
.
analyysi(Verb) :-
Ülesanne
Koosta predikaat, mis analüüsib teatud tüüpi (näiteks jalg, rattas) nimisõna muutevorme, st. leiab käände ja ainsuse/mitmuse.