tef-innu

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

commit f5ccd02139284978b1d1824216357390a3f5096e
parent 7c78cd5fa94c51cf1754eac6032d6fc4b74af7fb
Auteur: Loïc Daignault-Pichette <loic@asteride.net>
Date:   Mon, 31 Aug 2026 11:02:36 -0400

Ajouter des traits identificateurs de vocable

Diffstat:
MMakefile | 10+++++-----
Mtf/morphemes.var | 4++--
Atf/orthographe.var | 31+++++++++++++++++++++++++++++++
Dtf/phonologie.var | 31-------------------------------
Mtf/surface.xfst | 2+-
Mtf/traits.var | 4+++-
Mtf/verbes/lexical.xfst | 4++--
Mtf/verbes/lexique.lex | 1+
Mtf/verbes/morphemique.xfst | 4++--
Mtf/verbes/morphique.xfst | 4++--
Mtf/verbes/morphologique.xfst | 14++++++--------
Mtf/verbes/positionnel.xfst | 2+-
12 fichiers modifiés, 56 insertions(+), 55 suppressions(-)

diff --git a/Makefile b/Makefile @@ -29,15 +29,15 @@ default: mots # VERBES # ------ -tf/verbes/lexical.fst: tf/phonologie.def tf/traits.def tf/verbes/lexique.lexs +tf/verbes/lexical.fst: tf/orthographe.def tf/traits.def tf/verbes/lexique.lexs tf/verbes/profond.fst: tf/traits.def tf/verbes/lexical.fst -tf/verbes/positionnel.fst: tf/phonologie.def tf/traits.def tf/morphemes.def \ +tf/verbes/positionnel.fst: tf/orthographe.def tf/traits.def tf/morphemes.def \ tf/verbes/profond.fst -tf/verbes/morphologique.fst: tf/phonologie.def tf/traits.def tf/morphemes.def \ +tf/verbes/morphologique.fst: tf/orthographe.def tf/traits.def tf/morphemes.def \ tf/verbes/positionnel.fst tf/verbes/morphemique.fst: tf/traits.def tf/morphemes.def \ tf/verbes/morphologique.fst -tf/verbes/morphique.fst: tf/phonologie.def tf/traits.def tf/morphemes.def \ +tf/verbes/morphique.fst: tf/orthographe.def tf/traits.def tf/morphemes.def \ tf/verbes/morphemique.fst # ---- @@ -46,7 +46,7 @@ tf/verbes/morphique.fst: tf/phonologie.def tf/traits.def tf/morphemes.def \ mots: tf/mots_mrphm_prod.fst tf/mots_prod.fst tf/mots_mrphm.fst tf/mots.fst -tf/surface.fst: tf/phonologie.def tf/verbes/morphique.fst +tf/surface.fst: tf/orthographe.def tf/verbes/morphique.fst tf/mots_mrphm_prod.fst: tf/traits.def tf/morphemes.def tf/surface.fst tf/mots_prod.fst: tf/morphemes.def tf/mots_mrphm_prod.fst tf/mots_mrphm.fst: tf/mots_mrphm_prod.fst diff --git a/tf/morphemes.var b/tf/morphemes.var @@ -38,8 +38,8 @@ define MSPers ["<Lc>"|"<NLc>"|"<LcPas>"| # Suffixe de personne "<1PlExConjIndir>"| "<1Sg2PlConjIndir>"| "<21Sg3ConjIndir>"| - "<ImpLcSg>"| - "<ImpLcPl>"]; + "<LcSgPasImp>"| + "<LcPlPasImp>"]; define MNbLc ["<2Pl>"|"<1Pl>"|"<1Pl2>"| # Nombre de personne locale "<1PlEx3Conj>"|"<1PlImp>"| "<2PlImp>"]; diff --git a/tf/orthographe.var b/tf/orthographe.var @@ -0,0 +1,31 @@ +# ========== +# PHONOLOGIE +# ========== +# +# Inventaire phonologique. + +# -------- +# VOYELLES +# -------- + +define VoyCourte [a|i|u]; # Voyelle courte +define VoyLongue [â|î|e|û]; # Voyelle longue +define VoyAcc [â|î|û]; # Voyelle accentuée +define Voy [VoyCourte|VoyLongue|ᵘ]; # Voyelle +define VoyOrtho [Voy-VoyAcc]; # Voyelle de l’orthographe + +define SemiVoy [i|î|u|û]; # Semi-voyelle + +# --------- +# CONSONNES +# --------- + +define Cons [h|k|m|n|ń|p|s|t]; # Consonnes +define ConsOrtho [Cons]; + +# ------- +# LETTRES +# ------- + +define Lettre [Voy|Cons]; +define LettreOrtho [VoyOrtho|ConsOrtho]; diff --git a/tf/phonologie.var b/tf/phonologie.var @@ -1,31 +0,0 @@ -# ========== -# PHONOLOGIE -# ========== -# -# Inventaire phonologique. - -# -------- -# VOYELLES -# -------- - -define VoyCourte [a|i|u]; # Voyelle courte -define VoyLongue [â|î|e|û]; # Voyelle longue -define VoyAcc [â|î|û]; # Voyelle accentuée -define Voy [VoyCourte|VoyLongue|ᵘ]; # Voyelle -define VoyOrtho [Voy-VoyAcc]; # Voyells de l’orthographe - -define SemiVoy [i|î|u|û]; # Semi-voyelle - -# --------- -# CONSONNES -# --------- - -define Cons [h|k|m|n|ń|p|s|t]; # Consonnes -define ConsOrtho [Cons]; - -# ------- -# LETTRES -# ------- - -define Lettre [Voy|Cons]; -define LettreOrtho [VoyOrtho|ConsOrtho]; diff --git a/tf/surface.xfst b/tf/surface.xfst @@ -4,7 +4,7 @@ # # Passer du niveau morphique au niveau de surface. -load defined tf/phonologie.def +load defined tf/orthographe.def define Morphique @"tf/verbes/morphique.fst"; diff --git a/tf/traits.var b/tf/traits.var @@ -20,10 +20,12 @@ define TImpers ["+impers"]; # Trait impersonnel define TAccV [TId|TRacineV|TADial|TVILngr| # Trait accidentel verbal TImpers]; define TAcc [TAccV]; # Trait accidentel +define TIdVoc ["+V2"|"+V3"|"+V4"]; # Trait id. de vocable define TVrbe ["+VII"|"+VAI"|"+VTI"|"+VTA"]; # Classe de verbes define TDial ["+Est"|"+Ouest"]; # Dialecte -define TLex [TProd|TAcc|TVrbe|TDial]; # Trait lexical +define TLex [TProd|TAcc|TIdVoc|TVrbe| # Trait lexical + TDial]; # ------------------- # TRAITS GRAMMATICAUX diff --git a/tf/verbes/lexical.xfst b/tf/verbes/lexical.xfst @@ -4,7 +4,7 @@ # # Former le lexique. -load defined tf/phonologie.def +load defined tf/orthographe.def load defined tf/traits.def # Charger et terminer de construire le lexique non-productif. @@ -73,4 +73,4 @@ define Lexique [NProductif|Productif] - [$["+RD" ?* "+VTA" ] & ~[?* [a|e] {ueu} \LettreOrtho*]]; # Ajouter le trait facultatif de longueur de la voyelle initiale. -read regex [Lexique .o. [[..] (->) TVILngr || _ TVrbe]].l; +read regex [Lexique .o. [[..] (->) TVILngr || \TIdVoc _ (TIdVoc) TVrbe]].l; diff --git a/tf/verbes/lexique.lex b/tf/verbes/lexique.lex @@ -23,6 +23,7 @@ natutamᵘ+RC+VTI natutueu+Rua+VTA nikamu+Ru+VAI nimu+Ri+VAI +nipau+Rau+V2+VAI nipau+Râ+VAI nipiun+Rûn+VII papatau+Râ+VAI diff --git a/tf/verbes/morphemique.xfst b/tf/verbes/morphemique.xfst @@ -65,8 +65,8 @@ read regex Morphologique .o. ["<1Sg2PlConjIndir>" -> {uaut} "<1Sg2PlConjIndir>"] .o. ["<21Sg3ConjIndir>" -> {ut} "<21Sg3ConjIndir>"] - .o. ["<ImpLcSg>" -> {kan} "<ImpLcSg>"] - .o. ["<ImpLcPl>" -> {tshe} "<ImpLcPl>"] + .o. ["<LcSgPasImp>" -> {kan} "<LcSgPasImp>"] + .o. ["<LcPlPasImp>" -> {tshe} "<LcPlPasImp>"] # Nombre de personne locale .o. ["<2Pl>" -> {au} "<2Pl>"] diff --git a/tf/verbes/morphique.xfst b/tf/verbes/morphique.xfst @@ -4,7 +4,7 @@ # # Passer du niveau morphémique au niveau morphique. -load defined tf/phonologie.def +load defined tf/orthographe.def load defined tf/traits.def load defined tf/morphemes.def @@ -128,7 +128,7 @@ read regex Morphemique # Nombre non local .o. [a -> i || [n|ń] Mrphm* _ \Mrphm* "<NtrPl2>" $["+VII"]] .o. [a -> i || [n|ń] Mrphm* _ \Mrphm* ["<ObvSg2>"|"<ObvPl2>"]] - .o. [a -> i || ["<ImpLcSg>"|"<2PlImp>"|"<ImpIndir>"] Mrphm* _ \Mrphm* ["<ObvSg>"|"<ObvPl>"]] + .o. [a -> i || ["<LcSgPasImp>"|"<2PlImp>"|"<ImpIndir>"] Mrphm* _ \Mrphm* ["<ObvSg>"|"<ObvPl>"]] .o. [n -> [] || _ ["<NtrPl>"|"<ObvSg>"|"<ObvPl>"| diff --git a/tf/verbes/morphologique.xfst b/tf/verbes/morphologique.xfst @@ -4,7 +4,7 @@ # # Passer du niveau positionnel au niveau morphologique. -load defined tf/phonologie.def +load defined tf/orthographe.def load defined tf/traits.def load defined tf/morphemes.def @@ -489,11 +489,11 @@ define MorphologiqueImp $["+Imp"] .o. Positionnel .o. ["[ThDir]" -> "<ThLcImpPas>" || _ $["+VTA"] $["+Pas"] $["+2"] $["+1"]] # Suffixe de personne - .o. ["[SPers]" -> "<ImpLcSg>" || _ $["+VAI"|"+VTI"] $["+Pas"] $["+Sg"]] - .o. ["[SPers]" -> "<ImpLcSg>" || _ $["+VTA"] $["+Pas"] $["+Sg"] $[">"]] + .o. ["[SPers]" -> "<LcSgPasImp>" || _ $["+VAI"|"+VTI"] $["+Pas"] $["+Sg"]] + .o. ["[SPers]" -> "<LcSgPasImp>" || _ $["+VTA"] $["+Pas"] $["+Sg"] $[">"]] - .o. ["[SPers]" -> "<ImpLcPl>" || _ $["+VAI"|"+VTI"] $["+Pas"] $["+Pl"]] - .o. ["[SPers]" -> "<ImpLcPl>" || _ $["+VTA"] $["+Pas"] $["+Pl"] $[">"]] + .o. ["[SPers]" -> "<LcPlPasImp>" || _ $["+VAI"|"+VTI"] $["+Pas"] $["+Pl"]] + .o. ["[SPers]" -> "<LcPlPasImp>" || _ $["+VTA"] $["+Pas"] $["+Pl"] $[">"]] # Nombre de personne locale .o. ["[NbLc]" -> "<1Pl>" || _ $["+VTA"] $["+2"] $["+Ex"]] @@ -504,9 +504,7 @@ define MorphologiqueImp $["+Imp"] .o. Positionnel # Nombre de personne non locale .o. ["[NbNLc]" -> "<NtrPlImp>" || _ $["+3" "+Pl" "+Ntr"]] .o. ["[NbNLc]" -> "<ObvSg>" || _ $["+3" "+Sg" "+Obv"]] - .o. ["[NbNLc]" -> "<ObvPl>" || _ $["+3" "+Pl" "+Obv"]] - - ; + .o. ["[NbNLc]" -> "<ObvPl>" || _ $["+3" "+Pl" "+Obv"]]; read regex [[MorphologiqueIndep | MorphologiqueConj | MorphologiqueImp] .P. Positionnel] diff --git a/tf/verbes/positionnel.xfst b/tf/verbes/positionnel.xfst @@ -4,7 +4,7 @@ # # Passer du niveau profond au niveau positionnel. -load defined tf/phonologie.def +load defined tf/orthographe.def load defined tf/traits.def load defined tf//morphemes.def