tef-innu

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

positionnel.xfst (1977B)


      1 # ==================
      2 # MODULE POSITIONNEL
      3 # ==================
      4 #
      5 # Passer du niveau profond au niveau positionnel.
      6 
      7 load defined tf/orthographe.def
      8 load defined tf/traits.def
      9 load defined tf//morphemes.def
     10 
     11 define Profond @"tf/verbes/profond.fst";
     12 
     13 # -------
     14 # RACINES
     15 # -------
     16 
     17 # Préserver la forme de citation.
     18 define Fc Profond & $["+Fc"];
     19 
     20 # Retrouver les racines.
     21 define Racines Profond
     22 	.o. [{au}  ->  â   || _   \Lettre* "+Râ"]
     23 	.o. [{au}  -> {au} || _   \Lettre* "+Rau"]
     24 	.o. [{eu}  ->  e   || _   \Lettre* "+Re"]
     25 	.o. [ u    ->  i   || _   \Lettre* "+Ri" $["+VII"|"+VAI"]]
     26 	.o. [{eu}  -> []   || _   \Lettre* "+Ri" $["+VTA"]]
     27 	.o. [{iu}  ->  î   || _   \Lettre* "+Rî"]
     28 	.o. [{eu}  -> []   || _   \Lettre* "+Rm"]
     29 	.o. [ u    -> []   || _   \Lettre* "+Rn" $["+VII"|"+VAI"]]
     30 	.o. [{eu}  -> []   || _   \Lettre* "+Rn" $["+VTA"]]
     31 	.o. [ u    -> []   || _   \Lettre* "+Rń"]
     32 	.o. [{eu}  -> []   || _   \Lettre* "+Rshu"]
     33 	.o. [{teu} -> {sh} || _   \Lettre* "+Rsh"]
     34 	.o. [ u    ->  u   || _   \Lettre* "+Ru" $["+VII"|"+VAI"]]
     35 	.o. [{eu}  -> []   || _   \Lettre* "+Ru" $["+VTA"]]
     36 	.o. [ u    ->  û   || _   \Lettre* "+Rû"]
     37 	.o. [{eu}  -> []   || _   \Lettre* "+Rua"]
     38 	.o. [ u    ->  û   || _ n \Lettre* "+Rûn"]
     39 	.o. [{amᵘ} -> []   || _   \Lettre* "+RC"]
     40 	.o. [{mᵘ}  -> []   || _   \Lettre* "+RD" $["+VTI"]]
     41 	.o. [{eu}  -> []   || _   \Lettre* "+RD" $["+VTA"]];
     42 
     43 # Rétablir les formes de citation.
     44 define Racines [Fc .P. Racines];
     45 
     46 # ---------
     47 # POSITIONS
     48 # ---------
     49 #
     50 # Les positions seront substituées par le nom de morphème approprié. Elles sont
     51 # placées de chaque côté de la racine.
     52 #
     53 # La méthode employée actuellement n’est pas très efficace. Elle mène à un
     54 # transducteur très disaligné.
     55 
     56 read regex Racines
     57 	.o. [[..] -> "[PPers]" || .#. _]
     58 	.o. [[..] -> "[ThDéc]" "[ThDir]" "[Obv]" "[SPers]" "[NbLc]" "[Tir]"
     59 		"[NbNLc]" "[Percep]" || Lettre _ TLex]
     60 	# Les formes diverses n’ont pas de positions.
     61 	.o. [Positions -> [] || _ $[TFrm]];