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:
| A | verbes/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;