File: melleknev_gen.awk

package info (click to toggle)
magyarispell 0.71-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,476 kB
  • ctags: 7
  • sloc: sh: 198; awk: 137; makefile: 116
file content (38 lines) | stat: -rw-r--r-- 1,438 bytes parent folder | download
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
34
35
36
37
38
#
# fnevek ragozsi csoportba sorolsa
# 
BEGIN { 
    while ((getline var < "melleknev_mely") > 0) { mely[var]=1; }
    while ((getline var < "melleknev_ing") > 0) { ingadozo[var]=1; }
    while ((getline var < "melleknev_jaje") > 0) { jaje[var]=1; }
    while ((getline var < "melleknev_ae") > 0) { ae[var]=1; }
    while ((getline var < "melleknev_jajeae") > 0) { jajeae[var]=1; }
    while ((getline var < "melleknev_oe") > 0) { oe[var]=1; }
}
function jaje_e(st,j,nemj) {
if (jaje[st]==1) {return j;} else {
if (ae[st]==1) {return nemj;} else {
if (jajeae[st]==1) {return j nemj; } else {
if (match(st,"[chjmsxyvz]$")!=0) { return nemj;}
  else {return j;}  
}}}}

/[aou]$/ { print $1 "/A/D/F/K/U/Q" }
/[]$/ { print $1 "/C/D/H/M/W/R" }
/[ei]$/ { if (mely[$1]==1) {print $1 "/A/D/F/K/U/Q"; next } else {print $1 "/B/D/G/L/V/R"; next } }

/[aou][bcdfghjklmnpqrstvwxyz]+$/ || 
/^[bcdfghjklmnpqrstvwxyz]*[bcdfghjklmnpqrstvwxyz]*$/ ||
/^.*[uoa][bcdfghjklmnpqrstvwxyz]*i[bcdfghjklmnpqrstvwxyz]+$/ { print $1 "/A/D/F/K/U" jaje_e($1,"/Q","/S"); next }

/[ie][bcdfghjklmnpqrstvwxyz]+$/ { 
  if (mely[$1]==1) {print $1 "/A/D/F/K/U" jaje_e($1,"/Q","/S")} 
  else { 
     if (ingadozo[$1]==1) { print $1 "/A/D/F/K/U" jaje_e($1,"/Q","/S") "/B/D/G/L/V" jaje_e($1,"/R","/T") }
     else { print $1 "/B/D/G/L/V" jaje_e($1,"/R","/T") }
  }
}

/[][bcdfghjklmnprstvxyz]+$/ { 
  print $1 "/B/D/G/L/V/N/M" jaje_e($1,"/R","/T"); 
}