commit 30aed932d081767495bd95534d88f36e06ef732f
parent a696576815d3ce7d5ead68a850f8a6f9aecc1555
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Mon, 13 Oct 2025 10:50:25 -0400
[sty] Optimiser
Il est sourvent plus rapide de composer une cascade de petits
transducteurs que deux grands transducteurs. Le résultat est
malheureusement un peu moins lisible. Le transducteur est maintenant
compilé en 2,68 secondes, contre 9,59 secondes avant.
Diffstat:
1 fichier modifié, 12 insertions(+), 5 suppressions(-)
diff --git a/verbes/verbes.xfst b/verbes/verbes.xfst
@@ -187,18 +187,25 @@ define CombMorphemes CombTraits
.o. ["[ThDir]" -> "+ThAmu" || _ $["+VTI"] $["+3"]]
# Insérer le suffixe d’obviatif, là où le faut
.o. ["[Obv]" -> "+3Obv" ||
- _ $["+VTA"] [[$["+3"] $["+3"]] - $["+Ntr"]] .#. ,
- _ $["+VTA"] $["+Est"] $["+Obv"] $["+2"|"+1"] $["+Sg"] ,
+ _ $["+VTA"] [[$["+3"] $["+3"]] - $["+Ntr"]] .#.]
+ .o. ["[Obv]" -> "+3Obv" ||
+ _ $["+VTA"] $["+Est"] $["+Obv"] $["+2"|"+1"] $["+Sg"]]
+ .o. ["[Obv]" -> "+3Obv" ||
_ $[TVrbe - "+VTA"] $["+Obv"]]
# Choisir le suffixe de personne
.o. ["[SPers]" -> "+Lc" ||
_ $["+VTA"] $[[$["+1"] & $["+2"]] | "+1" "+Pl"] ,
_ $[TVrbe - "+VTA"] $["+2"|"+1"]]
.o. ["[SPers]" -> "+NLc" ||
- _ [$["+VTA"] - [$["+3"] $["+2"|"+1"]]] .#. ,
- _ $["+VTA"] $["+Est"] $["+Obv"] $["+2"|"+1"] $["+Sg"] ,
- _ $[TVrbe - "+VTA" - "+VTI"] $["+3"] ,
+ _ [$["+VTA"] - [$["+3"] $["+2"|"+1"]]] .#.]
+ .o. ["[SPers]" -> "+NLc" ||
+ _ $["+VTA"] $["+Est"] $["+Obv"] $["+2"|"+1"] $["+Sg"]]
+ .o. ["[SPers]" -> "+NLc" ||
+ _ $[TVrbe - "+VTA" - "+VTI"] $["+3"]]
+ .o. ["[SPers]" -> "+NLc" ||
_ $["+VTI"] $["+Obv"]]
+ .o. ["+Lc" -> "+LcPass" || _ $["+Pass"]]
+ .o. ["+NLc" -> "+NLcPass" || _ $["+Pass"]]
# Choisir le suffixe de nombre local
.o. ["[NbLc]" -> "+2Pl" || _ [$["+2" "+Pl"] - $["+Ex"]] .#.]
.o. ["[NbLc]" -> "+1Pl" || _ [$["+1" "+Pl"] | $["+Ex"]] .#.]