SFST magyar igék I

A Programozás Wiki wikiből
%%%%%%%%%%%%%%% ige1.fst %%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%   Hungarian verbs %%%%%%%%%%%%%%
#cons# = bcdfghjklmnprstvwxyz
#vowel# = aeiouáéíóúöüőű
#letter# = #cons##vowel#
#magas# = eéiíöőüű
#ei# = eéií
#mely# = aáouóú
#ou# = ouóú
#oeue# = öüőű
#aa# = aá
#magasito# = #ei#<oeoez1><OEOE1>
%%%%%%%%%%%%%%% phonetic rules %%%%%%%%%%%%%%%%%%%%
ALPHABET = [#cons#] [#vowel#] \
          <AE>:[ae] \
          <leg> <legesleg> <Adj> \
          <ground> <comp> <superl> <exagg><bw>

% vocal harmony okos-abb ügyes-ebb
$AE$ =  ([#mely#] [#cons#]* <Adj> .*) <AE> <=>  a 
$Del_pV$ = .*
$ma$ = ($AE$ )  || $Del_pV$

% prefixes leg and legesleg
ALPHABET = [#cons#] [#vowel#] <Adj><comp><superl> \
            <exagg> <ground> <leg><legesleg><bw>

% delete pos tags
ALPHABET = [#cons#] [#vowel#] <Adj> <>:[<leg> <legesleg> <ground> <comp> <superl> <exagg><bw>]
$afilter$ = .*

ALPHABET = [#cons#] [#vowel#] [<leg> <legesleg> <Adj><ground> <comp> <superl> <exagg><bw>]:<>
$delete-POS$ =  .*

%%%% inflection of verbs %%%%%%%%%%%% present, indicative, def+indef
$i11$ = <i11>:{<te><plv><IOE>k} % számolok, növök, nézek
$i12$ = <i12>:{<IOE1><ILSZ>} % számolsz, nősz, nézel
$i13$ = <i13>:{} % számol nő néz
$i21$ = <i21>:{<te11><plv><IUUE>nk} % számolunk, növünk, nézünk
$i22$ = <i22>:{<ITT><ITT1><IOE2>k} % számoltok, nőttök, néztek
$i23$ = <i23>:{<IN><IOE3>k} % számolnak, nőnek, néznek
$d11$ = <d11>:{<te1><plv><IOE4>m} % számolom, növöm, nézem
$d12$ = <d12>:{<te2><plv><IOE5>d} % számolod, növöd, nézed
$d13$ = <d13>:{<IJI><IA>} % számolja, növi, nézi
$d21$ = <d21>:{<dup><IJI2><IOE6>k} % számoljuk, nőjük, nézzük
$d22$ = <d22>:{<te2><plv><IJ3><II><ITT2><IOE7>k} % számoljátok, növitek, nézitek
$d23$ = <d23>:{<te2><plv><IJ4><IAI>k} % számolják, növik, nézik

$ipp$ = $i11$ | $i12$ | $i13$ | $i21$ | $i22$ | $i23$ |\
        $d11$ | $d12$ | $d13$ | $d21$ | $d22$ | $d23$ 

%%%% inflection of verbs %%%%%%%%%%%% past, indicative, def+indef
$ip11$ = <ip11>:{<te><plv><IOE>k} % számoltak, nőttek, néztek
$ip12$ = <ip12>:{<IOE1><ILSZ>} % számoltál, nőttél, néztél
$ip13$ = <ip13>:{} % számolt nőtt nézett
$ip21$ = <ip21>:{<te11><plv><IUUE>nk} % számoltunk, nőttünk, néztünk
$ip22$ = <ip22>:{<ITT><ITT1><IOE2>k} % számoltatok, nőttetek, néztetek
$ip23$ = <ip23>:{<IN><IOE3>k} % számoltak, nőttek, néztek
$dp11$ = <dp11>:{<te1><plv><IOE4>m} % számoltam, nőttem, néztem
$dp12$ = <dp12>:{<te2><plv><IOE5>d} % számoltad, nőtted, nézted
$dp13$ = <dp13>:{<IJI><IA>} % számolta, nőtte, nézte
$dp21$ = <dp21>:{<dup><IJI2><IOE6>k} % számoltuk, nőttűk, néztük
$dp22$ = <dp22>:{<te2><plv><IJ3><II><ITT2><IOE7>k} % számoltátok, nőttétek, néztétek
$dp23$ = <dp23>:{<te2><plv><IJ4><IAI>k} % számolták, nőtték, nézték

$ippp$ = $ip11$ | $ip12$ | $ip13$ | $ip21$ | $ip22$ | $ip23$ |\
         $dp11$ | $dp12$ | $dp13$ | $dp21$ | $dp22$ | $dp23$ 

%%%% inflection of verbs %%%%%%%%%%%% present, imperative, def+indef
$im11$ = <im11>:{<te><plv><IOE>k} % számoljak, nőjek, nézzek
$im12$ = <im12>:{<IOE1><ILSZ>} % számolj, nőj, nézz
$im13$ = <im13>:{} % számoljon nőjön nézzen
$im21$ = <im21>:{<te11><plv><IUUE>nk} % számoljunk, nőjünk, nézzünk
$im22$ = <im22>:{<ITT><ITT1><IOE2>k} % számoljatok, nőjetek, nézzetek
$im23$ = <im23>:{<IN><IOE3>k} % számoljanak, nőjenek, nézzenek
$dm11$ = <dm11>:{<te1><plv><IOE4>m} % számoljam, nőjem, nézzem
$dm12$ = <dm12>:{<te2><plv><IOE5>d} % számold, nőjed, nézd
$dm13$ = <dm13>:{<IJI><IA>} % számolja, nője, nézze
$dm21$ = <dm21>:{<dup><IJI2><IOE6>k} % számoljuk, nőjük, nézzük
$dm22$ = <dm22>:{<te2><plv><IJ3><II><ITT2><IOE7>k} % számoljátok, nőjétek, nézzétek
$dm23$ = <dm23>:{<te2><plv><IJ4><IAI>k} % számolják, nőjék, nézzék

$impp$ = $im11$ | $im12$ | $im13$ | $im21$ | $im22$ | $im23$ |\
        $dm11$ | $dm12$ | $dm13$ | $dm21$ | $dm22$ | $dm23$ 

$gat$ = <gat>:{<IOE2>g<IAE>t} % számolgat növöget nézeget
$hat$ = <hat>:{h<IAE>t}  % számolhat nőhet nézhet
$tat$ = <tat>:{t<IAE>t}  % számoltat nőtet néztet

% számol-gat-hat-tat-ok számol-gat-hat-tat-tam
$iinfl$ = ( ($gat$? $hat$? $tat$?) ($ipp$? | $ippp$)) | $impp$


$morph$ = "ige-reg.lex" <Verb>  % clean & read in
$morph$ >> "morph1.a"
$morph$ = $morph$ $iinfl$
$morph$ >> "morph2.a"
$morph$ = $morph$ || $ma$                       % inflect
$morph$ >> "morph3.a"
$morph$ = $morph$ || $delete-POS$ % add prefixes, clean up
$morph$

%%%%%%%%%%% ige-reg.lex %%%%%%%%%%%
% számol
% néz
% nő
%%%%%%%%%%%% sample result %%%%%%%%

Lásd még[szerkesztés]