tef-innu

Transducteur à états finis de l’innu
git clone git://git.asteride.xyz/tef-innu.git
Journaux | Fichiers | Références

commit bd5d515aca37b7e21c9f5dffa4883085057ea9a2
parent b2931c5f46461eafd24a4a01e1d958fe5cef4a16
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date:   Wed,  3 Dec 2025 19:40:21 -0500

[sty] Réorganiser les fichiers de compilation

Diffstat:
MMakefile | 39++++++++++++++++++---------------------
Rech/verbes.ech -> ech.tsv | 0
Dech/noms.ech | 0
Atef/fc.xfst | 10++++++++++
Atef/mots.xfst | 9+++++++++
Dtef/noms/citation.xfst | 16----------------
Mtef/noms/noms.xfst | 16++++++++++++----
Mtef/orthographe.xfst | 5++++-
Dtef/verbes/citation.xfst | 25-------------------------
Mtef/verbes/morphemes.xfst | 2+-
Mtef/verbes/verbes.xfst | 14+++++++++++++-
11 fichiers modifiés, 67 insertions(+), 69 suppressions(-)

diff --git a/Makefile b/Makefile @@ -18,21 +18,23 @@ .att.ext: bin/extension.py "$<" | sort > "$@" -tous: tef/verbes/verbes.fst tef/noms/noms.fst web +# ------ +# DÉFAUT +# ------ + +tous: tef/mots.fst web # ------ # VERBES # ------ -tef/verbes/lexique.fst: tef/verbes/lexique.lex tef/phonologie.def +tef/verbes/lexique.fst: tef/phonologie.def tef/verbes/lexique.lex tef/verbes/tractuel.fst: tef/traits.def tef/verbes/lexique.fst tef/verbes/morphemes.fst: tef/traits.def tef/morphemes.def \ tef/verbes/tractuel.fst tef/verbes/realisation.fst: tef/phonologie.def tef/traits.def tef/morphemes.def \ tef/verbes/morphemes.fst -tef/verbes/citation.fst: tef/traits.def tef/verbes/realisation.fst \ - tef/orthographe.fst -tef/verbes/verbes.fst: tef/verbes/citation.fst +tef/verbes/verbes.fst: tef/traits.def tef/verbes/realisation.fst # ---- # NOMS @@ -43,35 +45,30 @@ tef/noms/tractuel.fst: tef/traits.def tef/noms/lexique.fst tef/noms/morphemes.fst: tef/traits.def tef/morphemes.def tef/noms/tractuel.fst tef/noms/realisation.fst: tef/phonologie.def tef/traits.def tef/morphemes.def \ tef/noms/morphemes.fst -tef/noms/citation.fst: tef/traits.def tef tef/noms/realisation.fst \ - tef/orthographe.fst -tef/noms/noms.fst: tef/noms/citation.fst +tef/noms/noms.fst: tef/traits.def tef/noms/realisation.fst -# ------ -# COMMUN -# ------ +# ---- +# MOTS +# ---- -tef/orthographe.fst: tef/phonologie.def +tef/orthographe.fst: tef/phonologie.def tef/verbes/verbes.fst tef/noms/noms.fst +tef/fc.fst: tef/orthographe.fst +tef/mots.fst: tef/traits.def tef/fc.fst # ----- # TESTS # ----- -tv: tef/verbes/verbes.ext ech/verbes.ech - bin/rapport.py tef/verbes/verbes.ext \ - ech/verbes.ech | less - -tn: tef/noms/noms.ext ech/noms.ech - bin/rapport.py tef/noms/noms.ext \ - ech/noms.ech | less +tester: tef/mots.ext ech.tsv + bin/rapport.py tef/mots.ext ech.tsv | less # ------------- # INTERFACE WEB # ------------- -web: tef/verbes/verbes.ext +web: tef/mots.ext mkdir -p web - bin/statef.py tef/verbes/verbes.ext web + bin/statef.py tef/mots.ext web # --------- # NETTOYAGE diff --git a/ech/verbes.ech b/ech.tsv diff --git a/ech/noms.ech b/ech/noms.ech diff --git a/tef/fc.xfst b/tef/fc.xfst @@ -0,0 +1,10 @@ +# ================== +# FORMES DE CITATION +# ================== + +define Orthographe @"tef/orthographe.fst"; + +# Extraire les formes de citation. +define Fc [[[[] <- "+Fc"] .o. $["+Fc"] .o. Orthographe] ?*].i; + +regex Fc .o. Orthographe; diff --git a/tef/mots.xfst b/tef/mots.xfst @@ -0,0 +1,9 @@ +# ==== +# MOTS +# ==== + +load defined tef/traits.def + +define Fc @"tef/fc.fst"; + +regex [[] <- TAcc] .o. ~$["+Absent"] .o. Fc .o. [Traits -> []]; diff --git a/tef/noms/citation.xfst b/tef/noms/citation.xfst @@ -1,16 +0,0 @@ -# ================== -# FORMES DE CITATION -# ================== - -load defined tef/traits.def - -define Realisation @"tef/noms/realisation.fst"; -define Orthographe @"tef/orthographe.fst"; - -define TraitsCitation $["+Sg" "+Ntr"]; - -define Citations [[[] <- TGrm] .o. TraitsCitation .o. Realisation] "+Fc":0; - -define Tef Citations .P. Realisation; - -regex Tef .o. Orthographe; diff --git a/tef/noms/noms.xfst b/tef/noms/noms.xfst @@ -1,5 +1,13 @@ -# ==== -# NOMS -# ==== +# ================== +# FORMES DE CITATION +# ================== -regex @"tef/noms/citation.fst"; +load defined tef/traits.def + +define Realisation @"tef/noms/realisation.fst"; + +define TraitsCitation $["+Sg" "+Ntr"]; + +define Citations [[[] <- TGrm] .o. TraitsCitation .o. Realisation] "+Fc":0; + +regex Citations .P. Realisation; diff --git a/tef/orthographe.xfst b/tef/orthographe.xfst @@ -6,6 +6,9 @@ load defined tef/phonologie.def +define Verbes @"tef/verbes/verbes.fst"; +define Noms @"tef/noms/noms.fst"; + define Ortho [ # Un « ᵘ » tombe devant un « u ». [ᵘ -> [] || _ \Lettre* u] @@ -14,4 +17,4 @@ define Ortho [ # Un « ᵘ » devient « u » lorsqu’il n’est pas en fin de mot. .o. [ᵘ -> u || _ \Lettre* Lettre]]; -push Ortho +regex [Verbes|Noms] .o. Ortho; diff --git a/tef/verbes/citation.xfst b/tef/verbes/citation.xfst @@ -1,25 +0,0 @@ -# ================== -# FORMES DE CITATION -# ================== - -load defined tef/traits.def - -define Realisation @"tef/verbes/realisation.fst"; -define Orthographe @"tef/orthographe.fst"; - -define TraitsCitation [ - [$["+VTA"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"] $["+Sg" "+Obv"]]| - [$["+VAI"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]| - [$["+VTI"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]| - [$["+VII"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]]; - -define Citations [[[] <- [TGrm|">"]] .o. TraitsCitation .o. Realisation] "+Fc":0; - -define Tef Citations .P. Realisation; - -define Tef Tef .o. Orthographe; - -# Extraire les formes de citation et retirer les traits grammaticaux. -define FC [[[[] <- [TGrm|">"]] .o. TraitsCitation .o. Tef] ?*].i; - -regex [[] <- TAcc] .o. FC .o. Tef .o. [Traits -> []]; diff --git a/tef/verbes/morphemes.xfst b/tef/verbes/morphemes.xfst @@ -105,6 +105,6 @@ define CombMorphemes CombTraits # Peut-être influence de « ń ». .o. ["+DubPassLc" -> "+DubPassNLc" || _ $["+Est"] $["+Obv"] $["+2"|"+1"] $["+Sg"]] - .o. [[Cases|TGrm|">"] -> []]; + .o. [[Cases|TGrm] -> []]; push CombMorphemes diff --git a/tef/verbes/verbes.xfst b/tef/verbes/verbes.xfst @@ -2,4 +2,16 @@ # VERBES # ====== -regex ~$["+Absent"] .o. @"tef/verbes/citation.fst"; +load defined tef/traits.def + +define Realisation @"tef/verbes/realisation.fst"; + +define TraitsCitation [ + [$["+VTA"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"] $["+Sg" "+Obv"]]| + [$["+VAI"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]| + [$["+VTI"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]| + [$["+VII"] $["+Indép" "+Ind" "+Prés"] $["+Sg" "+Ntr"]]]; + +define Citations [[[] <- TGrm] .o. TraitsCitation .o. Realisation] "+Fc":0; + +regex Citations .P. Realisation;