commit ea936861ef263180277be6e3bd3b3eb08c649759
parent d09c604e5e503b7841500e234b2237f131d93c8b
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Thu, 14 Aug 2025 15:43:04 -0400
[chm] Améliorer le mécanisme d’allomorphie
Les allomorphes sélectionnés phonologiquement sont produits au moyen de
règles qui modifient l’allomorphe de base. Cette manière de faire permet
au transducteur de représenter fidèlement la segmentation morphologique.
Diffstat:
1 fichier modifié, 26 insertions(+), 13 suppressions(-)
diff --git a/verbes/verbes.xfst b/verbes/verbes.xfst
@@ -132,26 +132,39 @@ define CombMorphemes [
# Préfixes de personne
define RPPers [
- "1+" -> {n} , "2+" -> {tsh} || _ [u|û] ,,
- "1+" -> {ni} , "2+" -> {tshi} || _ \Voy]
- .o. ["1+" -> {nit} , "2+" -> {tshit}];
+ ["1+" -> {nit} "1+" , "2+" -> {tshit} "2+"]
+ .o. [{it} -> [] || _ ["1+"|"2+"] [u|û]]
+ .o. [ {t} -> [] || _ ["1+"|"2+"] \Voy]
+ .o. [MPPers -> []]];
# Thèmes
define RTh [
- ["+ThLoc" -> {e} || \Voy _ ,,
- "+ThNLoc" -> {amᵘ} || \Voy _ ,,
- "+ThNLoc" -> {mᵘ} || Voy _]
+ ["+ThLoc" -> {e} "+ThLoc" , "+ThNLoc" -> {amᵘ} "+ThNLoc"]
+ .o. [{e} -> [] || Voy _ "+ThLoc"]
+ .o. [{a} -> [] || Voy _ {mᵘ} "+ThNLoc"]
.o. [MTh -> []]];
# Suffixes de personne
define RSPers [
- "+Lc" -> {n} || \[n|ń] _ .#. , _ ? ,,
- "+3Obv" -> {ńu} || \ᵘ _ ,,
- ᵘ "+3Obv" -> {ińu}]
- .o. [["+Lc"|"+3Ntr"] -> []];
-define RSPersVAI [[(VoyCourte|û) "+3Ntr"] @-> {u} ] .o. RSPers;
-define RSPersVII [[(VoyCourte|û) "+3Ntr"] @-> {u} || \n _] .o. RSPers;
-define RSPersVTI [ "+3Ntr" -> {u} || \ᵘ _] .o. RSPers;
+ ["+Lc" -> {n} "+Lc" ,
+ "+3Ntr" -> {u} "+3Ntr" ,
+ "+3Obv" -> {ińu} "+3Obv"]
+ .o. [{n} -> [] || [n|ń] _ "+Lc" .#.]
+ .o. [{i} -> [] || \ᵘ _ {ńu} "+3Obv"]
+ .o. [{ᵘ} -> [] || _ {ińu} "+3Obv"]];
+define RSPersVAI RSPers
+ .o. [[VoyCourte|û] -> [] || _ {u} "+3Ntr"]
+ .o. ["+3Ntr" -> []]
+ .o. [MSPers -> []];
+define RSPersVII RSPers
+ .o. [{u} -> [] || n _ "+3Ntr"]
+ .o. [[VoyCourte|û] -> [] || _ {u} "+3Ntr"]
+ .o. ["+3Ntr" -> []]
+ .o. [MSPers -> []];
+define RSPersVTI RSPers
+ .o. [{u} -> [] || ᵘ _]
+ .o. ["+3Ntr" -> []]
+ .o. [MSPers -> []];
# Nombre
define RNb [