tef-innu

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

morphique.xfst (5279B)


      1 # ================
      2 # MODULE MORPHIQUE
      3 # ================
      4 #
      5 # Passer du niveau morphémique au niveau morphique.
      6 
      7 load defined tf/orthographe.def
      8 load defined tf/traits.def
      9 load defined tf/morphemes.def
     10 
     11 define Morphemique @"tf/verbes/morphemique.fst";
     12 
     13 read regex Morphemique
     14 	# Racines
     15 	.o. [[..] -> a || _ "<RacineU>"]
     16 	.o. [i -> [] || _ {tâ} ("<FChangée>") "<Racine>" $["+IdItau"]]
     17 	.o. [u  -> a || _ ("<FChangée>") "<RacineUA>"]
     18 	.o. [{sh} -> t || _ ("<FChangée>") "<RacineT>"]
     19 	.o. [n -> [] || _ MRacine [$["<NLcConj>"] - $["<IndirNLcConj>"]] "+Rûn"]
     20 
     21 	.o. [[..] -> "<FChangée>" ||
     22 		.#. [Voy - SemiVoy] _ $["<FChangée>"] ,,
     23 		.#. SemiVoy _ Cons $["<FChangée>"] ,,
     24 		.#. \Voy+ Voy _ $["<FChangée>"] ,,
     25 		.#. SemiVoy Voy _ $["<FChangée>"] ,,
     26 		"<FChangée>" -> []]
     27 	.o. [a|â -> {ia} || _ "<FChangée>" ?* "+VILongue"]
     28 	.o. [i|î  -> a  || _ "<FChangée>" ?* "+VILongue"]
     29 	.o. [e  -> {ie} || _ "<FChangée>"]
     30 	.o. [[..] -> e  || .#. _ ?* u "<FChangée>" ?* "+VILongue"]
     31 	.o. [a  -> e  || _ "<FChangée>" ?* "+VICourte"]
     32 	.o. [i  -> e  || _ "<FChangée>" ?* "+VICourte"]
     33 	.o. [u  -> {ue} || _ "<FChangée>" ?* "+VICourte"]
     34 
     35 	# Préfixes de personne
     36 	.o. [{it} -> [] || _ ["<2>"|"<1>"] [u|û]]
     37 	.o. [t -> [] || _ ["<2>"|"<1>"] \Voy]
     38 
     39 	# Thème de décalage
     40 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<ThDéc>"]
     41 
     42 	# Thème de direction
     43 	.o. [e -> [] || [a|e] i Mrphm* _ \Mrphm* "<ThNLc>"]
     44 	.o. [a -> [] || a Mrphm* _ \Mrphm* "<ThMxt>"]
     45 	.o. [a -> [] || i Mrphm _ \Mrphm* "<ThMxt>" $["+VTI"]]
     46 	.o. [ᵘ -> [] || _ "<ThAmu>" Mrphm* i \Mrphm* "<Obv>"]
     47 	.o. [i|a -> [] || Voy Mrphm* _ \Mrphm*
     48 		["<ThLcI>"|"<ThI>"|"<ThAmu>"|"<ThAm>"|"<ThAmu2>"]]
     49 	.o. [t -> [] || _ "<ThLcI>" Mrphm* Cons]
     50 
     51 	.o. [n -> [] ||
     52 		_ ["<ThLcImp>"|"<ThLcImp2>"|
     53 			"<ThLcImpPas>"|"<ThLcImpPas2>"] Mrphm* \Voy]
     54 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<ThLcImp2>" Mrphm* \Mrphm+ Mrphm]
     55 	.o. [i -> [] || ń Mrphm* _ \Mrphm* "<ThLcImp2>" Mrphm* Voy]
     56 
     57 	.o. [i -> [] || \Voy [e|â|î|i|u] Mrphm* _ \Mrphm* "<ThLcImp>"]
     58 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<ThLcImp>" Mrphm* \Mrphm+ Mrphm]
     59 
     60 	.o. [i -> [] || [e|â|î|i] Mrphm* _ \Mrphm* "<ThLcImpPas>"]
     61 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<ThLcImpPas>" $["+VTA"]]
     62 
     63 	# Obviatif
     64 	.o. [i -> [] || [Voy|n|ń] Mrphm* _ \Mrphm* "<Obv>"]
     65 
     66 	# Suffixes de personne
     67 	.o. [i -> [] || [Voy|n|ń] Mrphm* _ \Mrphm* "<Lc>"]
     68 	.o. [n -> [] || [n|ń] Mrphm* _ \Mrphm* "<Lc>" Mrphm* \Mrphm Trait]
     69 
     70 	.o. [i|u|û -> [] || _ Mrphm* u \Mrphm* "<NLc>"]
     71 	.o. [u -> [] || n Mrphm* _ \Mrphm* "<NLc>" \"<Percep>"* "+VII"]
     72 
     73 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<LcPas>"]
     74 	.o. [i -> [] || [Voy-[u|û]] Mrphm* _ \Mrphm* "<NLcPas>"]
     75 
     76 	.o. [i -> [] ||
     77 		n Mrphm* _ \Mrphm* [["<NLcConj>" ?*] - $["<IndirNLcConj>"]] "+VII"]
     78 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<NLcConj>"]
     79 	.o. [n -> [] || _ Mrphm+ t $["+VII"] ,,
     80 		t -> k || n Mrphm+ _ $["+VII"]]
     81 
     82 	.o. [i -> [] || [i|î] Mrphm* _ \Mrphm*
     83 		["<1SgConj>"|"<2SgConj>"|
     84 			"<1PlExConj>"|"<1PlInConj>"|"<2PlConj>"] $["+VAI"]]
     85 	.o. [i -> [] || [u|i] Mrphm* _ \Mrphm* "<2SgConj2>" ~$["+Ru"|"+Rua"] .#.]
     86 
     87 	.o. [i -> [] || Voy Mrphm* _ \Mrphm*
     88 		["<1PlExConj>"|"<2PlConj>"] ~$["+Ru"|"+Rua"] "+VTA"]
     89 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<32SgConj>"]
     90 
     91 	.o. [a -> [] || Voy Mrphm* _ \Mrphm* ["<NLcConj2>"|"<NLcConj3>"]]
     92 
     93 	.o. [a -> [] || a Mrphm* _ \Mrphm* "<1PlInConj2>"]
     94 
     95 	.o. [u -> [] || [u|û] Mrphm* _ \Mrphm*
     96 		["<2SgConjIndir>"|"<1SgConjIndir>"|"<1PlInConjIndir>"|
     97 			"<2PlConjIndir>"|"<1PlExConjIndir>"]]
     98 	.o. [i -> [] || [u|û] Mrphm* _ \Mrphm*
     99 		["<2SgConjIndir>"|"<1SgConjIndir>"|"<1PlInConjIndir>"|
    100 			"<2PlConjIndir>"|"<1PlExConjIndir>"]]
    101 	.o. [i -> [] || _ Mrphm* \Mrphm+
    102 		["<2SgConjIndir>"|"<1SgConjIndir>"|"<1PlInConjIndir>"|
    103 			"<2PlConjIndir>"|"<1PlExConjIndir>"]
    104 				$["+VAI"|"+VTI"]]
    105 
    106 	.o. [t|k -> [] || _ ["<NLcConj>"|"<NLcConj2>"|"<32SgConj>"] Mrphm* Cons]
    107 
    108 	# Nombre local
    109 	.o. [i -> [] || _  Mrphm* \Mrphm* ["<2Pl>"|"<1Pl>"]]
    110 
    111 	# Tiroir
    112 	.o. [a -> [] || [Voy-[û|u]] Mrphm* _
    113 		\Mrphm* ["<IndirPrésLc>"|"<IndirPasLc>"|"<IndirPasLc2>"|
    114 			"<IndirPasLc3>"|"<DédPrésLc>"]]
    115 	.o. [i -> [] || [Voy-[û|u]] Mrphm* _
    116 		\Mrphm* ["<IndirPrésNLc>"|"<IndirPasNLc>"|"<DédPrésNLc>"|
    117 			"<DédPasNLc>"]]
    118 	.o. [i -> [] || Voy Mrphm * _ \Mrphm* ["<IndirNLcConj>"|"<ImpIndir>"]]
    119 	.o. [i -> [] || _ Mrphm+ Lettre* "<DédPasLc>"]
    120 	.o. [n -> [] ||
    121 		_ ["<DédPrésLc>"|"<DédPrésNLc>"|"<PercepPrés>"|
    122 			"<IndirLcConj>"|"<IndirNLcConj>"|
    123 			"<ConjIrr>"|"<ImpIndir>"|"<ImpIndir2>"]
    124 				\Lettre+ .#.]
    125 	.o. [n -> [] || _ ["<ImpIndir>"|"<ImpIndir2>"] Mrphm* Cons]
    126 	.o. [{sh} -> [] || [Lettre-t] Mrphm* _ \Mrphm* "<IndirLcConj>"]
    127 
    128 	# Nombre non local
    129 	.o. [a -> i || [n|ń] Mrphm* _ \Mrphm* "<NtrPl2>" $["+VII"]]
    130 	.o. [a -> i || [n|ń] Mrphm* _ \Mrphm* ["<ObvSg2>"|"<ObvPl2>"]]
    131 	.o. [a -> i || ["<LcSgPasImp>"|"<2PlImp>"|"<ImpIndir>"] Mrphm* _ \Mrphm* ["<ObvSg>"|"<ObvPl>"]]
    132 
    133 	.o. [n -> [] || _
    134 		["<NtrPl>"|"<ObvSg>"|"<ObvPl>"|
    135 			"<NtrPl2>"|"<ObvSg2>"|"<ObvPl2>"] [Mrphm|Trait]* .#.]
    136 
    137 	.o. [[..] -> h || _ [t|k] Mrphm+ {it} "<NtrPlConj>" ,,
    138 		{it} -> [] || [t|k] Mrphm* _ "<NtrPlConj>"]
    139 	.o. [i -> [] || [Voy-u] Mrphm* _ \Mrphm* ["<NtrPlConj>"|"<NtrPlConj3>"]]
    140 	.o. [i -> [] || Voy Mrphm* _ \Mrphm* "<NtrPlImp>"]
    141 
    142 	# Tiroir 2
    143 	.o. [i -> a || [u|ᵘ] Mrphm* _ "<Percep>"]
    144 	.o. [i -> [] || i Mrphm* _ "<ConjSubj>"]
    145 
    146 	.o. [Trait -> []];