File: fonev_gen2.awk

package info (click to toggle)
magyarispell 0.99.4-1.1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 3,988 kB
  • ctags: 132
  • sloc: sh: 883; awk: 337; makefile: 240
file content (32 lines) | stat: -rw-r--r-- 960 bytes parent folder | download | duplicates (3)
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
#
# morfonetikus alternns fnevek ragozsi csoportba sorolsa
#
# kls vltoz: kulon_e (tulajdonnevek esetn kikapcs. szsszettel,
# ha kulon_e==1)
#
BEGIN { 
    while ((getline var < "fonev_mely.1") > 0) { mely[var]=1; }
    while ((getline var < "fonev_kulon.1") > 0) { kulonszo[var]=1; }
    while ((getline var < "fonev_osszetett.1") > 0) { osszetett[var]=1; }
}

function kulon(st,melleknevrag) {
    s=""
    if (osszetett[$1]==1) s="/y";
    if (kulon_e==1) return s;
    if (kulonszo[st]!=1) {
	return s "/Y/c" melleknevrag
    } else {
	return "/c" melleknevrag
    }
}

# mly hangrend nevszok, morfonetikus alternnsok 
/[uoa][bcdfghjklmnpqrstvwxyz]*$/  { print $1 "/A/U" kulon($1,"/i"); }
# magas, ajakrses
/[ie][bcdfghjklmnpqrstvwxyz]*$/  {
    if (mely[$1]==1) { print $1 "/A/U" kulon($1,"/i")}
    else { print $1 "/B/V" kulon($1,"/j")}
}
# magas, ajakkerektses
/[][bcdfghjklmnpqrstvwxyz]*$/ { print $0 "/C/W" kulon($1,"/j")}