SFST magyar igéből melléknevet képzés

A Programozás Wiki wikiből
%%%%%%%%% Hungarian adjective from verb
%ír írt
%olvas olvasott 
%néz nézett
%...
%visszaír visszaírt
%...
#################### Makefile
tobbrag.a: tobbrag.fst imn1.fst phonim1.fst symbols1.fst verbe.lex verboe.lex verbo.lex
%.a: %.fst
	fst-compiler-utf8 $< $@

clean:
	rm -f *.a *~

%%%%%%%%%%%%%%% symbols1.fst %%%%%%%%%%%%%%%%%%%%
#cons# = bcdfghjklmnprstvwxyz
#vowel# = aeiouáéíówúöüőű
#letter# = #cons##vowel#
#magas# = eéiíöőüű
#magas1# = eéií
#mely# = aáouóú
#mely1# = ouóú
#oe# = öüőű
#aa# = aá
#bgkmstvz# = bgkmstvz
%%%%%%%%%%%%%%%%%%%%%%% imn1.fst %%%%%%%%%%%%%%%%
%#include "symbols1.fst" 

$nom$ =  <nom>:{}
$t$ =  <t>:{<ik><OT><T>t} 

$imn$ = $nom$ | $t$ 
%%%%%%%%%%%%%%%%%%%%%%% phon1.fst %%%%%%%%%%%%%%%%
%#include "symbols1.fst"
ALPHABET = [#cons#] [#vowel#] \
         <OT>:o <OT>:ö <OT>:e <OT>:<> \ % ó, ő
         <T>:t <T>:<>  \ % ó, ő
         <Verbe> <Verbo> <Verboe> \
         <ik><nom> <t> 

$Del_pV$ = .*
$OT1$ =  ([#bgkmstvz#] [<Verbe>] .*) <OT> <=>  e
$OT2$ =  ([#bgkmstvz#] <Verbo> .*) <OT> <=>  o
$OT3$ =  ([#bgkmstvz#] <Verboe> .*) <OT> <=>  ö
$ima1$ = $OT1$ & $OT2$ & $OT3$ 
$T1$ =  ( [#bgkmstvz#] [<Verbe><Verbo><Verboe>] .*) <T> <=>  t
$ima2$ = $T1$ 

$ima0$ = $ima1$ & $ima2$

ALPHABET = [#cons#] [#vowel#]<Verbe> <Verbo> <Verboe> \
         <ik><nom> <t>
$ik-to-nil$ = {ik}:{<>} ^-> (__ [<Verbe><Verboe><Verbo>] [<ik>].*)

$ima$ = $ima0$  || $Del_pV$    

% delete pos tags
ALPHABET = [#cons#] [#vowel#] [<Verbe> <Verbo> <Verboe><nom><t><ik>]:<>
$idelete-POS$ =  .*

$iphon$ = $ima$ || $ik-to-nil$ || $idelete-POS$
%%%%%%%%%%%%%% tobbrag.fst %%%%%%%%%%%%%%%%%%%
% http://wiki.prog.hu/wiki/SFST_magyar_főnévragozás
%%%%%%%%%%%%%% adjectives from verbs for Hungarian %%%%%%%%%%%
%ír írt
%olvas olvasott 
%néz nézett
%...
%visszaír visszaírt
%...
%%%%%%%%%%%%%%%%% simplified HU nouns from verbs derivation %%%%%%%%%%%%%%%%%%%%%%%%%%5
#include "symbols1.fst"
#include "phonim1.fst"
#include "imn1.fst"

$imorph$ = "verbo.lex" <Verbo> | \
"verbe.lex" <Verbe> | \
"verboe.lex" <Verboe> 
$imorph$ >> "morph8.a"
$pref$ =  "vpref.lex"
$imorph$ = $imorph$ | $pref$ $imorph$ 
$imorph$ >> "morph9.a"
$imorph$ = $imorph$ $imn$ 
$imorph$ >> "morph10.a"
$imorph$ = $imorph$ || $iphon$
$imorph$
%%%%%%%%%% verbe.lex
írel
írez
irigyel
%%%%%%%%%% verbo.lex
iszkol
iszogat
iszonyodik
italozik
%%%%%%%%%%%verboe.lex
ismétlődik
ívelődik
ízesül
%%%%%%%%% vpref.lex
be
ki
le
fel
meg
el
át
rá
ide
oda
szét
össze
vissza
%%%%%%%%%%%%%%%% fst-generate tobbrag.a
....
ráírel<Verbe>:<><nom>:<>
eliszkol<Verbo>:<><t>:<><>:t
eliszkol<Verbo>:<><nom>:<>
eliszogat<Verbo>:<><t>:<><>:o<>:t<>:t
eliszogat<Verbo>:<><nom>:<>
eliszonyodik<Verbo>:<><nom>:<>
eliszonyodi:<>k:<><Verbo>:<><t>:<><>:o<>:t<>:t
elismétlődik<Verboe>:<><nom>:<>
elismétlődi:<>k:<><Verboe>:<><t>:<><>:ö<>:t<>:t
elitalozik<Verbo>:<><nom>:<>
elitalozi:<>k:<><Verbo>:<><t>:<><>:o<>:t<>:t
elirigyel<Verbe>:<><t>:<><>:t
elirigyel<Verbe>:<><nom>:<>
elízesül<Verboe>:<><t>:<><>:t
elízesül<Verboe>:<><nom>:<>
elívelődik<Verboe>:<><nom>:<>
elívelődi:<>k:<><Verboe>:<><t>:<><>:ö<>:t<>:t
elírez<Verbe>:<><t>:<><>:e<>:t<>:t
elírez<Verbe>:<><nom>:<>
elírel<Verbe>:<><t>:<><>:t
elírel<Verbe>:<><nom>:<>

Lásd még[szerkesztés]