tef-innu

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

commit 853b5aa7de01ce90474b7adc876a177d403ed74f
parent fd3f6e877a5b71aeb72316fc9052a78b37b814c9
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date:   Fri,  5 Dec 2025 14:39:33 -0500

[chm] Rendre productifs les traits accidentels

Diffstat:
Mtef/traits.var | 44+++++++++++++++++++++++++-------------------
Mtef/verbes/lexique.xfst | 8+++++---
2 fichiers modifiés, 30 insertions(+), 22 suppressions(-)

diff --git a/tef/traits.var b/tef/traits.var @@ -7,28 +7,34 @@ # --------------- # TRAITS LEXICAUX # --------------- -define TAbs ["+Absent"]; # Trait d’absence -define TBase ["+Bâ"|"+Bi"|"+Bî"|"+Bu"|"+Bû"| # Traits de la base - "+Bsh"]; -define TAcc ["+u"|"+ua"|"+ush"|"+e"|"+o"| # Traits accidentels - "+impers"|"+vf"|"+apui"]; -define TA ["+A"|"+I"]; # Animéité -define TVrbe ["+VII"|"+VAI"|"+VTI"|"+VTA"]; # Classes de verbes -define TDial ["+Est"|"+Ouest"]; # Dialecte -define TLex [TAbs|TBase|TAcc|TA|TVrbe|TDial]; + +define TAbs ["+Absent"]; # Trait d’absence +define TBaseV ["+Bâ"|"+Bi"|"+Bî"|"+Bu"|"+Bû"| # Traits de la base verbale + "+Bsh"]; +define TFlexV ["+u"|"+ua"]; # Traits de flexion verbale +define TFlexN ["+vf"|"+apui"|"+ush"]; # Traits de flexion nominale +define TADial ["+e"|"+o"]; # Traits accidentels dialectaux +define TImpers ["+impers"]; +define TAccV [TBaseV|TFlexV|TADial|TImpers]; # Traits accidentels verbaux +define TAccN [TFlexN|TADial]; # Traits accidentels nominaux +define TAcc [TAccV|TAccN]; # Traits accidentels +define TA ["+A"|"+I"]; # Animéité +define TVrbe ["+VII"|"+VAI"|"+VTI"|"+VTA"]; # Classes de verbes +define TDial ["+Est"|"+Ouest"]; # Dialecte +define TLex [TAbs|TBase|TAcc|TA|TVrbe|TDial]; # ------------------- # TRAITS GRAMMATICAUX # ------------------- -define TFrm ["+Base"|"+Fc"]; # Traits de formes diverses -define TOrdre ["+Indép"]; # Ordre -define TMode ["+Ind"|"+Indir"|"+Dub"]; # Mode -define TTemps ["+Prés"|"+Pas"]; # Temps -define TPers ["+2"|"+1"|"+3"]; # Personne -define TNb ["+Sg"|"+Pl"]; # Nombre -define TIn ["+Ex"|"+In"]; # Inclusion -define TObv ["+Ntr"|"+Obv"|"+Obv2"|"+Obv3"]; # Obviation -define TGrm [TFrm|TOrdre|TMode|TTemps|TPers|TNb|TIn|TObv|">"]; +define TFrm ["+Base"|"+Fc"]; # Traits de formes diverses +define TOrdre ["+Indép"]; # Ordre +define TMode ["+Ind"|"+Indir"|"+Dub"]; # Mode +define TTemps ["+Prés"|"+Pas"]; # Temps +define TPers ["+2"|"+1"|"+3"]; # Personne +define TNb ["+Sg"|"+Pl"]; # Nombre +define TIn ["+Ex"|"+In"]; # Inclusion +define TObv ["+Ntr"|"+Obv"|"+Obv2"|"+Obv3"]; # Obviation +define TGrm [TFrm|TOrdre|TMode|TTemps|TPers|TNb|TIn|TObv|">"]; -define Traits [TLex|TGrm]; +define Traits [TLex|TGrm]; diff --git a/tef/verbes/lexique.xfst b/tef/verbes/lexique.xfst @@ -9,10 +9,12 @@ load defined tef/traits.def define Lexique @stxt"tef/verbes/lexique.lexs"; -define Lexical Lexique | - [Lettre-{ᵘ}]* Lettre "+Absent" ["+VII"|"+VAI"|"+VTI"|"+VTA"]; +define Absents [ + [Lettre-{ᵘ}]* Lettre "+Absent" + (TBaseV) (TFlexV) (TADial) (TImpers) + ["+VII"|"+VAI"|"+VTI"|"+VTA"]]; -read regex Lexique TDial +read regex [Lexique|Absents] TDial # Certaines racines sont spécifiques à l’Est. & ~[$["+e"] & ~$["+Est"]] # Certaines racines sont spécifiques à l’Ouest.