#!/bin/sh
# fonevek 0.1
# nouns
#
# $1: a Magyar Ispell gykrknyvtra / Magyar Ispell root directory
# $2: spellchecker
export LC_ALL=C

if [ "$1" = "" ]; then
	echo "usage: $0 magyar_ispell_root_directory [spellchecker]"
	exit 1
fi

ROOT=${1:-'.'}
SPELL=${2:-"ISPELL"}

. $ROOT/config

cd $WRKDIR || exit 1

# mezk kigyjtse: cowboy[ph:kovboj] -> cowboy	[ph:kovboj]
field () {
  awk '/^[^	]*[[]/{print $1 >>"mezok.txt";}{print$0}' |
  sed 's/^\([^ 	]*\)[[].*]/\1/'
}

field_kot () {
  awk '/^[^	]*[[]/{
	print $1 >>"mezok.txt"
	i = index($1, "[")
	fi = substr($1, i, length($1) - i)
	print substr($1, 1, i - 1) "-" fi "-]" >>"mezok.txt"
	x=$2; gsub("^.*-","",x)
	print $2 fi x "]" >>"mezok.txt"
	x=$3; gsub("^.*-","",x)
	print $3 fi x "]" >>"mezok.txt"
	if ($4) {
		x=$4; gsub("^.*-","",x)
		print $4 fi x "]" >>"mezok.txt"
	}
	if ($5) {
		x=$5; gsub("^.*-","",x)
		print $5 fi x "]" >>"mezok.txt"
	}
	if ($6 && ! $6~/\//) {
		x=$6; gsub("^.*-","",x)
		print $6 fi x "]" >>"mezok.txt"
	}
}{print$0}' |
  sed 's/\([^ 	]\)[[].*]/\1/'
}


# fnevek ragozsi osztlyokba sorolsa

cat fonev.1 | field | $AWK -f $AWKDIR/fonev_gen.awk >>$DICT

# -e vg mly hangrendek:

grep '^[a-z].*/.*u' $ROOT/szotar/kivetelek/ragozatlan/pseudoroot.2 | sed 's#/.*##' |
$AWK -f $AWKDIR/fonev_gen.awk >>$DICT

echo_n .

# mellknevek -sg/-sg kpzs alakjainak ellltsa,
# s ragozsi osztlyokba val sorolsa

$AWK -f $AWKDIR/mellek_sag2.awk <melleknev.1  >>$DICT

echo_n .



# tulajdonnv llomny feldolgozsa

# -e vg mly hangrendek:

grep '^[A-Z].*/.*u' $ROOT/szotar/kivetelek/ragozatlan/pseudoroot.2 | sed 's#/.*##' >>tulajdonnev.2

# tvek kinyerse
##cat tulajdonnev*.2 | $AWK -f $AWKDIR/tovek4.awk >>$DICT

cat tulajdonnev*.2 | grep "^	" | cut -f 2 | field >>$DICT
cat tulajdonnev*.2 | grep "^	" | sed 's/^	//' | field >>$DICT
#cat tulajdonnev*.2 | grep "^	" | sed 's/^	//' | field |
#sed 's/^	//;s/$/\/,/' >>$DICT
# sed '/[[]/s/$/\/,/;/\t/s/\t/\/,\t/' >>$DICT
echo_n .

cat tulajdonnev_geo*.2 | grep -v "^	" | cut -f 1 | field >magyar.fonev.1
$AWK -f $AWKDIR/fonev_gen.awk -v tulaj_e=1 -v tulaj_geo_e=1 <magyar.fonev.1 >>$DICT
echo_n .

cat tulajdonnev.2 | grep -v "^	" | cut -f 1 | field >magyar.fonev.1

$AWK -f $AWKDIR/fonev_gen.awk -v tulaj_e=1 <magyar.fonev.1 >>$DICT
echo_n .

# kpzs alakok tiltsa, ahol kln meg volt adva

cat tulajdonnev*.2 | grep -v "^	" | field | awk 'NF==2{print $1 "/------------"}' >>$DICT

# tulajdonnevekbl kpzett mellknvkpzs alakok feldolgozsa
# szably: a sz vgi -i kpzs alakok hangrendjt az azt megelz
# sztag hangrendje dnti el.

cat tulajdonnev*.2 | field | grep '[aou][bcdfghjklmnprstvxyz]*[	].*i$' |
cut -sf 2 >>melleknev_mely.1
cat tulajdonnev*.2 | grep -v "^	" | cut -s -f 2 | field >>melleknev.1
echo_n .

# fonev_oe zrt tosztly -en/-hez kpzs alakjainak letiltsa
# pl. knyvt, knyven, knyvhez rossz; helyette knyvet, knyvn, knyvhz
# kivtel a knnyen alak, mivel ez ms tbl szrmaz helyes alak

#cat fonev_oe.1 | sed 's/$/en\/w/' | egrep -v '(knnyen|csppen|szrnyen)' >>$DICT
#cat fonev_oe.1 melleknev_oe.1 melleknev_e.1 | sed 's/$/hez\/w/' >>$DICT
echo_n .


# idegen kiejts, s mozaikszavak feldolgozsa

cat kotojeles_mely.7 |  field_kot | 
$AWK -f $AWKDIR/kotojeles.awk -v V1="AUQi" -v V2="KUmQSsi" -v V3="mAFUKQF" -v V4="AFUKSsF" >>$DICT
cat kotojeles_magas.7 | field_kot |
$AWK -f $AWKDIR/kotojeles.awk -v V1="BVRj" -v V2="LVnRTtj" -v V3="nBGVLRG" -v V4="BGVLTtG" >>$DICT
cat kotojeles_magas2.7 | field_kot | $AWK -f $AWKDIR/kotojeles.awk -v V1="CWRj" -v V2="MWRTtj" -v V3="nCHWMRH" -v V4="CHWMTtH" >>$DICT

# morfonetikus alternns igkbl folyamatos mellknvi igenevek s fnevek
# ellltsa

cat ige_morfo.1 | \
sed 's/\(.*\)[ao]\(.\)$/\1\2\
\1\2s/
s/\(.*\)[ie]\(.\)$/\1\2\
\1\2s/' >magyar.fonev.1
echo_n .

cat ige_morfo.1 | \
sed 's/\(.*\)[ao]\(.\)$/\1\2\/X\
\1\2s\/X/
s/\(.*\)[ie]\(.\)$/\1\2\/X\
\1\2s\/X/' >>$DICT
echo_n .

cat ige_morfo.1 | \
sed 's/\(.*\)\([ao]\)\(.\)$/\1\3	\1\2\3[vrb]+[_PRESPART_adj]{+[NOM]}\
\1\3s	\1\2\3[vrb]+[s_PROCESS\/RESULT_noun]{+[NOM]}/
s/\(.*\)\([ie]\)\(.\)$/\1\3	\1\2\3[vrb]+[_PRESPART_adj]{+[NOM]}\
\1\3s	\1\2\3[vrb]+[s_PROCESS\/RESULT_noun]{+[NOM]}/' >>$DICT
echo_n .

cat ige_morfo.1 | \
sed 's/\(.*\)[ao]\(.\)$/\1\2/
s/\(.*\)[ie]\(.\)$/\1\2/' >>melleknev.1
echo_n .

cat ige_morfo.1 | \
sed 's/\(.*\)[ao]\(.\)$/[adj]\1\2\/X/
s/\(.*\)[ie]\(.\)$/[adj]\1\2\/X/' >>$DICT
echo_n .

cat ige_morfo.1 | grep -v '^\(haboz\|kpez\|osztlyoz\|szablyoz\|szeglyez\)' | \
sed 's/\(.*\)$/[vrb]\1\/-\/-/' >>$DICT
echo_n .

cat fonev_igemorfo.1 | \
sed 's/$/\/X/' >>$DICT
echo_n .

cat melleknev_igemorfo.1 | \
sed 's/\(.*\)$/[adj]\1\/X/' >>$DICT
echo_n .

cat ige_eas.1 >>magyar.fonev.1
cat ige_hatosag.1 >>magyar.fonev.1
cat ige_hatosag.1 >>fonev.1
echo_n .

$AWK -f $AWKDIR/fonev_gen.awk <magyar.fonev.1 >>$DICT
echo_n .

# npnevek

cat melleknev_nyelv.1 >>fonev.1
cat melleknev_mely.1 >>fonev_mely.1
cat melleknev_nyelv.1 >>fonev_kulon.1
$AWK -f $AWKDIR/fonev_gen.awk <melleknev_nyelv.1 >>$DICT
cat melleknev_nyelv.1 | sed 's/\(^.*$\)/\1bart\
\1ellenes\
\1gyll/' >>melleknev.1
cat melleknev_nyelv.1 | sed 's/\(^.*$\)/\1ldzs/' | \
tee -a fonev_osszetett.1 >>fonev.1

# mellknevek

cat melleknev_nyelv.1 melleknev.1 ige_ando.1 ige_hato.1 ige_hatatlan.1 | \
$AWK -f $AWKDIR/melleknev_gen.awk >> $DICT
echo_n .

# kiejts javtsa
cat mezok.txt | sort | uniq | sed 's/sszsz/ssz/;s/szsz/ssz/;s/sss/ss/;s/,ph:/	ph:/;s/[[]/\t/;s/\]//g' >mezok2.txt
cat mezok2.txt | iconv -f latin2 -t utf-8 | sed -f $BINDIR/l1_u8.sed >mezok_utf.txt
echo_n .

echo " Rendben."
