1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#
# igkbl s/s fnvkpzs, stb. alakok legenerlsa, lsd igesgen
#
# magnhangzk szma
function M(s) {
m=0
n=split(s, a, "")
for (i=1; i<=n; i++) {
if (a[i]~/[aeiou]/) m++
}
return m
}
BEGIN {
while ((getline var < "ige_mely.1") > 0) { mely[var]=1; }
while ((getline var < "ige_tat_kiv.1") > 0) { tat_kiv[var]=1; }
while ((getline var < "ige_ikes_kiv.1") > 0) { ikes_kiv[var]=1; }
}
# mly hangrend igk + i
(MELYRAG=="") && (tat_kiv[$0]==1 || ikes_kiv[$0]) { next }
(MELYRAG=="") && (ikes_kiv[$0]) { next }
(MELYRAG=="") && ((tat_kiv[$0]) && ($0!~/szt$/) && ($0!~/nt$/)) { next }
(MELYRAG=="" && M($0)==1) { next }
(MELYRAG=="" && ($0~/ik$/) && M($0)==2) { next }
! (MELYRAG=="") && ikes_kiv[$0] { next }
/[uoa][bcdfghjklmnpqrstvwxyz]*ik$/ { print "[vrb]" $1 "/" MELYRAG }
/[uoa][bcdfghjklmnpqrstvwxyz]*t$/ { print "[vrb]" $1 "/" MELYRAG }
/[uoa][bcdfghjklmnpqrstvwxyz]+$/ && ! /(ik|t)$/ { print "[vrb]" $1 "/" MELYRAG }
# magas
mely[$0]==1 { RAG=MELYRAG }
mely[$0]!=1 { RAG=MAGASRAG }
/[ie][bcdfghjklmnpqrstvwxyz]*ik$/ { print "[vrb]" $1 "/" RAG; next }
/[ie][bcdfghjklmnpqrstvwxyz]*t$/ || /^szt$/ { print "[vrb]" $1 "/" RAG; next }
/[ie][bcdfghjklmnpqrstvwxyz]+$/ && ! /(ik|t)$/ { print "[vrb]" $1 "/" RAG }
|