tef-innu

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

commit 0dbb235406b160273f1f8258f9e0a1d1c3488c0d
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date:   Mon, 11 Aug 2025 08:32:22 -0400

[chm] Commencer

Les VAI et les VII à l’indépendant indicatif présent ont été mis en
œuvre.

Diffstat:
Averbes/verbes.xfst | 136+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 fichier modifié, 136 insertions(+), 0 suppressions(-)

diff --git a/verbes/verbes.xfst b/verbes/verbes.xfst @@ -0,0 +1,136 @@ +clear stack + +# ====== +# VERBES +# ====== + +# ---------- +# PHONOLOGIE +# ---------- + +# VOYELLES + +define VoyCourte [a|i|u]; +define VoyLongue [â|î|e]; +define Voy [VoyCourte|VoyLongue]; + +# ------- +# LEXIQUE +# ------- + +define LexVAI [[{atusse}|{nipâ}|{papatâ}|{ueńutshî}] u:0]; + +define LexVII [[{pashte}|{tshishite}|{uapâ}] u:0 | + [{apishash}|{pikupań}|{tshitshipań}] u:i | + [{shitamu}] | + [{nipiu}|{pimiu}|{shipeku}] | + [{apatan}|{takuan}|{tshimuan}|{uepashtan}|{uikan}|{ńutin}]]; + +# ------ +# TRAITS +# ------ + +define TVrbe ["+VAI"|"+VII"]; # Classes de verbes +define TPers ["+1"|"+2"|"+3"]; # Traits de personne +define TNb ["+Sg"|"+Pl"]; # Traits de nombre +define TInc ["+Ex"|"+Inc"]; # Traits d’inclusion (+1+Pl seulement) +define TObv ["+Ntr"|"+Obv"]; # Traits d’obviation (+3 seulement) + +define Traits [TVrbe|TPers|TNb|TInc|TObv]; + +define CombTraits TVrbe TPers TNb (TInc) (TObv) + # Les VII n’existent qu’à la troisième personne. + .o. ~[~$["+3"] & $["+VII"]] + # Le contraste d’inclusion n’est compatible qu’avec la première + # personne du pluriel. + .o. ~[~[$["+1"] & $["+Pl"]] & $[TInc]] + # Le contraste d’inclusion est obligatoire à la première personne du + # pluriel. + .o. ~[[$["+1"] & $["+Pl"]] - $[TInc]] + # Le contraste d’obviation n’est compatible qu’avec la troisième + # personne. + .o. ~[~$["+3"] & $[TObv]] + # Le contraste d’obviation est obligatoire à la troisième personne. + .o. ~[$["+3"] - $[TObv]]; + +# --------- +# MORPHÈMES +# --------- + +define MPPers ["1+"|"2+"]; # Préfixes de personne +define MTh ["+ThLc"|"+ThNLc"]; # Thèmes +define MSPers ["+Lc"|"+3Ntr"|"+3Obv"]; # Suffixes de personne +define MNb ["+1Pl"|"+2Pl"|"+3Pl"|"+ObvPl"|"+ObvSg"]; # Nombre + +define Morphemes [MPPers|MTh|MSPers|MNb]; + +define CombMorphemes [ + # Thème + [[..] -> "+ThLc" || "+VTI" ?* ["+1"|"+2"] _ ,, + [..] -> "+ThNLc" || "+VTI" ?* "+3" _] + # Suffixes de personne + .o. [[..] -> ["+Lc"] || ["+1"|"+2"] ?* MTh _ ,, + [..] -> ["+3Ntr"] || TVrbe _ ?* "+Ntr" ,, + [..] -> ["+3Obv"] || TVrbe _ ?* "+Obv"] + # Marque de pluriel + .o. ["+Pl" -> "+1Pl" || "+1" ?* _ ,, + "+Pl" -> "+2Pl" || "+2" ?* _ ,, + "+Pl" -> "+3Pl" || "+3" ?* _ ?* "+Ntr" ,, + "+Pl" -> "+ObvPl" || ?* _ ?* "+Obv" ,, + "+Sg" -> "+ObvSg" || ?* _ ?* "+Obv"] + .o. [["+Sg"|"+Obv"|"+Ntr"] -> []] + # Inclusion + .o. ["+1" -> "+2" || _ ?* "+Inc" ,, + ["+Ex"|"+Inc"] -> []] + # Retirer TVrbe + .o. [TVrbe -> []] + # Préfixes de personne + .o. [[..] -> "1+" || .#. _ ?* "+1" ,, + [..] -> "2+" || .#. _ ?* "+2" ,, + TPers -> []]]; + +# ------------ +# RÉALISATIONS +# ------------ + +# Préfixes de personne +define RPPers [ + "1+" -> {n} , "2+" -> {tsh} || _ [u|û] ,, + "1+" -> {ni} , "2+" -> {tshi} || _ \Voy] + .o. ["1+" -> {nit} , "2+" -> {tshit}]; + +# Suffixes de personne +define RSPers [ + "+Lc" -> {n} ,, + [(VoyCourte|û) "+3Ntr"] @-> {u} || \n _ ,, + "+3Obv" -> {ńu}] + .o. ["+3Ntr" -> []]; + +# Nombre +define RNb [ + "+1Pl" -> {an} ,, + "+2Pl" -> {au} ,, + "+3Pl" -> {at} ,, + "+ObvSg" -> {a} ,, + "+ObvPl" -> {a}]; +define RNbVII [ + "+3Pl" -> a ,, + "+ObvPl" -> a ,, + "+ObvSg" -> []]; + +# ------ +# VERBES +# ------ + +define VerbesVAI LexVAI [CombTraits .o. $["+VAI"]] + .o. CombMorphemes + .o. RPPers + .o. RSPers + .o. RNb; + +define VerbesVII LexVII [CombTraits .o. $["+VII"]] + .o. CombMorphemes + .o. RSPers + .o. RNbVII; + +define Verbes VerbesVAI | VerbesVII;