Grammalecte  Check-in [ea9dc8e535]

Overview
Comment:[fr] nommage des règles du processeur
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: ea9dc8e5350e184120f59c23fac811c1be87b2c9153121ffd421c920de2eedd5
User & Date: olr on 2017-05-16 12:40:21
Other Links: manifest | tags
Context
2017-05-16
13:38
[fr] nommage des règles du processeur check-in: 6dfd934583 user: olr tags: fr, trunk
12:40
[fr] nommage des règles du processeur check-in: ea9dc8e535 user: olr tags: fr, trunk
2017-05-15
09:11
[fr] pt: hôtel de ville check-in: ab26110c2e user: olr tags: fr, trunk
Changes

Modified gc_lang/fr/rules.grx from [0030de03a4] to [221ff498f7].

  1648   1648   
  1649   1649   
  1650   1650   #
  1651   1651   # //////////////////////////////////////// DÉSAMBIGUÏSATEUR ////////////////////////////////////////
  1652   1652   #
  1653   1653   
  1654   1654   # mots grammaticaux
  1655         -__[i]__  dans
  1656         -    <<- not morph(word(-1), ":D.*:p|>[a-z]+ièmes ", False, False) =>> select(\0, ":P")
         1655  +__[i](d_dans)__
         1656  +    dans
         1657  +    <<- not morph(word(-1), ":D.*:p|>[a-z]+ièmes ", False, False) =>> select(\0, ":R")
  1657   1658   
  1658   1659   # verbe
  1659         -__[i]__  ne +(?:l(?:es? |eurs? |ui |a |’)|[nv]ous |)({w_1}) @@$
         1660  +__[i](d_ne_verbe)__
         1661  +    ne +(?:l(?:es? |eurs? |ui |a |’)|[nv]ous |)({w_1}) @@$
  1660   1662       <<- not morph(\1, ":(?:O[sp]|X)", False) =>> select(\1, ":V")
  1661         -__[i]__  [nmts]’(?:en +|y +|)({w_1}) @@$
         1663  +__[i](d_n_m_t_s_verbe)__
         1664  +    [nmts]’(?:en +|y +|)({w_1}) @@$
  1662   1665       <<- not morph(\1, ":X", False) =>> select(\1, ":V")
  1663         -__[i]__  [mts]e +(?:l(?:es? +|a +|’)|)({w_2})  @@$
         1666  +__[i](d_me_te_se_verbe)__
         1667  +    [mts]e +(?:l(?:es? +|a +|’)|)({w_2})  @@$
  1664   1668       <<- =>> select(\1, ":V")
  1665         -__[i]__  j’(?:en +|y +|)({w_1}) @@$
         1669  +__[i](d_je_verbe)__
         1670  +    j’(?:en +|y +|)({w_1}) @@$
  1666   1671       <<- =>> select(\1, ":[123][sp]")
  1667         -__[i]__  (?:je|ils?|on) +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
         1672  +__[i](d_je_il_ils_on_verbe)__
         1673  +    (?:je|ils?|on) +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
  1668   1674       <<- not morph(\1, ":(?:Oo|X)", False) =>> select(\1, ":[123][sp]")
  1669         -__[i]__  tu +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
         1675  +__[i](d_tu_verbe)__
         1676  +    tu +(?:l(?:es? +|la +|’)|[nv]ous +|)({w_1}) @@$
  1670   1677       <<- morph(word(-1), ":Cs", False, True) and not morph(\1, ":(?:Oo|X)", False) =>> select(\1, ":[123][sp]")
  1671         -__[s]__  ([A-ZÉÈ]{w_1}) +({w_1})  @@0,$
         1678  +__[s](d_nom_propre_verbe)__
         1679  +    ([A-ZÉÈ]{w_1}) +({w_1})  @@0,$
  1672   1680       <<- morph(\1, ":M") and \2.islower() and morphex(\2, ":[123][sg]", ":Q") and morph(\2, ":N", False) and morph(word(-1), ":Cs", False, True)
  1673   1681       =>> select(\2, ":[123][sp]")
  1674         -__[i]__  (?:que?|combien|pourquoi) +(?:en +|y +)({w_3}) @@$
         1682  +__[i](d_que_combien_pourquoi_en_y_verbe)__
         1683  +    (?:que?|combien|pourquoi) +(?:en +|y +|)({w_3}) @@$
  1675   1684       <<- =>> exclude(\1, ":E")
  1676         -
  1677   1685   
  1678   1686   # groupe nominal
  1679         -__[i]__  aucun +({w_4}) @@$
         1687  +__[i](d_aucun_non_verbe)__
         1688  +    aucun +({w_4}) @@$
  1680   1689       <<- morph(\1, ":[NA].*:[me]", False) =>> exclude(\1, ":V")
  1681         -__[i]__  d(?:e +|’)({w_1}) @@$
         1690  +__[i](d_de_non_verbe)__
         1691  +    d(?:e +|’)({w_1}) @@$
  1682   1692       <<- not morph(\1, ":[YD]", False) =>> exclude(\1, ":V")
  1683         -__[i]__  d’une? ({w_1}) @@$
         1693  +__[i](d_d_un_une_non_verbe)__
         1694  +    d’une? ({w_1}) @@$
  1684   1695       <<- =>> exclude(\1, ":V")
  1685         -__[i]__  (?:des|chaque|quelques?|cet(?:te|)|m(?:on|a)|[ts]a|aux?) +({w_1}) @@$
         1696  +__[i](d_déterminant_non_verbe)__
         1697  +    (?:des|chaque|quelques?|cet(?:te|)|m(?:on|a)|[ts]a|aux?) +({w_1}) @@$
  1686   1698       <<- =>> exclude(\1, ":V")
  1687         -__[i]__  de l(?:a |’)({w_2}) @@6
         1699  +__[i](d_de_la_non_verbe)__
         1700  +    de l(?:a |’)({w_2}) @@6
  1688   1701       <<- not morph(\1, ":Y", False) =>> exclude(\1, ":V")
  1689         -__[i]__  de (?:tel(?:le|)s?|ce(?:tte|t|s)|[ts](?:a|es)|m(?:on|a|es)|[nv]o(?:tre|s)|plein) +({w_2})  @@$
         1702  +__[i](d_de_pronom_non_verbe)__
         1703  +    de (?:tel(?:le|)s?|ce(?:tte|t|s)|[ts](?:a|es)|m(?:on|a|es)|[nv]o(?:tre|s)|plein) +({w_2})  @@$
  1690   1704       <<- =>> exclude(\1, ":V")
  1691         -__[i]__  par +({w_3}) @@$
         1705  +__[i](d_par_non_verbe)__
         1706  +    par +({w_3}) @@$
  1692   1707       <<- =>> exclude(\1, ":V[123]")
  1693         -__[i]__  très +({w_2}) @@$
         1708  +__[i](d_très_non_verbe)__
         1709  +    très +({w_2}) @@$
  1694   1710       <<- =>> exclude(\1, ":[123][sp]")
  1695   1711   
  1696   1712   
  1697   1713   TEST: il s’agit d’{{un}} {{anagramme}}
  1698   1714   TEST: nul ne sait qui arriva à ce pauvre Paul surpris par la pluie.
  1699   1715   TEST: elle finit par être très fière de son fils.
  1700   1716   
................................................................................
  3671   3687   TEST: il y en a peu, voire très peu.
  3672   3688   TEST: car elles pénètrent dans les poumons voire le système sanguin.
  3673   3689   TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants.
  3674   3690   
  3675   3691   
  3676   3692   
  3677   3693   #### Pronoms
  3678         -__[i]__  m’enfin <<- ~>> *
         3694  +__[i](p_m_enfin)__      m’enfin <<- ~>> *
  3679   3695   
  3680   3696   __[i]/conf(conf_j_y_en_qqch)__
  3681   3697       (j’(?:en +|y +|))({w_1})  @@0,$
  3682   3698       <<- morphex(\2, ":", ":(?:[123][sp]|O[onw])")
  3683   3699       -2>> =suggSimil(\2, ":1s")                                                               # Incohérence avec « \1 » : « \2 » devrait être un verbe.
  3684   3700   __[i]/conf(conf_ne_qqch)__
  3685   3701       (n(?:e +|’))({w_1})  @@0,$
................................................................................
  4137   4153   __[i]__  quant à (?:[mt]oi|lui|elles?|[nv]ous|eux)(?! qui) <<- ~>> *
  4138   4154   __[i]__  que ça (?:me|te|l(?:ui|eur)|[nv]ous) plaise ou non <<- ~>> *
  4139   4155   __[i]__  que (?:je le veuille|tu le veuilles|vous le vouliez|nous le voulions) ou non <<- ~>> *
  4140   4156   __[i]__  qu (?:à cela ne tienne|(?:(?:il|elle|on) le veuille|(?:ils|elles) le veuillent) ou non) <<- ~>> *
  4141   4157   __[i]__  quel qu en soit le (?:moyen|prix|risque(?: financier|)|danger) <<- ~>> *
  4142   4158   __[i]__  quelle qu en soit la (?:cause|raison) <<- ~>> *
  4143   4159   __[i]__  quelque(?: (?:part|temps)|s fois) <<- ~>> *
  4144         -__[i]__  quelques (?:instants|secondes|minutes|heures|jours|semaines|mois|années|siècles|millénaires|trimestres|semestres) (?:auparavant|plus (?:tard|tôt)) <<- ~>> *
         4160  +__[i]__  quelques (?:instants|secondes|minutes|heures|jours|semaines|mois|années|décennies|siècles|millénaires|trimestres|semestres) (?:auparavant|plus (?:tard|tôt)) <<- ~>> *
  4145   4161   __[i]__  qui plus est <<- ~>> *
  4146   4162   __[i]__  qui (ce (?:jour|matin|après-midi|soir)-là|cette (?:nuit|matinée|soirée)-là) @@4 <<- ~1>> *
  4147   4163   __[i]__  quoi qu il (?:(?:arriv|en co[ûu]t)(?:e|ât)|adv(?:ienne|înt)) <<- ~>> *
  4148   4164   __[i]__  sans (?:grande|grosse) difficulté(?: apparente| aucune| financière| majeure| particulière|) <<- ~>> *
  4149   4165   __[i]__  sans (?:ambages|arrêt|au(?:cun doute|tre forme de procès)|cesse|commune mesure|conteste|coup férir|crier gare|difficulté(?: apparente| aucune| financière| majeure| particulière|)|dire mot|doute|encombres?|états d’âme|fin|foi,? ni loi|l’ombre d’un doute|le (?:faire exprès|vouloir)|mot dire|nul doute|queue ni tête|raison apparente|relâche|(?:grand |)succès|trêve|(?:pour autant |)y (?:prendre g(?:arde|o[ûu]t)|faire attention|parvenir|réussir|réfléchir|songer|penser)|faire de vagues|s’en (?:rendre compte|apercevoir)|l’aide de personne) <<- ~>> *
  4150   4166   __[i]__  séance tenante <<- ~>> *
  4151   4167   __[i]__  selon (?:toute vraisemblance|(?:[mt]oi|lui|elles?|eux|nous|vous)(?! qui)) <<- ~>> *
................................................................................
  4434   4450   # adverbes en -ment
  4435   4451   __[i]__  ({w_2}) (l[ea] (?:plus|moins) (\w+ment)) ({w_2})  @@0,w,>2:$,$
  4436   4452       <<- morph(\1, ":[NAQ]", False) and morph(\3, ":W", False) and morph(\4, ":[AQ]", False) ~2>> *
  4437   4453   __[i]__  complètement <<- not morph(word(-1), ":D", False, True) ~>> *
  4438   4454   __[i]__  (\w+ment)(?: parlant|) @@0 <<- morph(\1, ":W\\b") ~>> *
  4439   4455   
  4440   4456   # couleurs invariables
  4441         -__[i]__  ({w_2}) +((?:beige|blanc|bleu|brun|châtain|cyan|gris|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet) (?:clair|fluo|foncé|irisé|pâle|pastel|sombre|vif|tendre)) @@0,$
         4457  +__[i](p_couleurs_invariables)__
         4458  +    ({w_2}) +((?:beige|blanc|bleu|brun|châtain|cyan|gris|jaune|magenta|marron|orange|pourpre|rose|rouge|vert|violet) (?:clair|fluo|foncé|irisé|pâle|pastel|sombre|vif|tendre)) @@0,$
  4442   4459       <<- morph(\1, ":[NAQ]", False) ~2>> *
  4443   4460   
  4444         -# locutions adjectivales & couleurs
  4445         -__[i]__  ({w_2}) +(bas(?: de gamme|se consommation)|bon (?:enfant|marché|teint|chic,? bon genre)|cl(?:é|ef) en mains?|dernier cri|fleur bleue|grand (?:public|luxe)|grandeur nature|haut(?: de gamme|e résolution)|longue (?:distance|portée|durée)|meilleur marché|numéro (?:un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf)|onze|douze|treize|quatorze|quinze|seize|vingt)|plein cadre|top secret|vieux jeu|open source|Créative Commons|pur jus|terre à terre|bleu (?:ciel|marine|saphir|turquoise)|vert (?:émeraude|olive|pomme)|rouge (?:brique|rubis|sang)|jaune sable|blond platine|gris (?:acier|anthracite|perle)|noir (?:d(?:’encre|e jais)|et blanc))
         4461  +# locutions adjectivales, nominales & couleurs
         4462  +__[i](p_locutions_adj_nom_et_couleurs)__
         4463  +    ({w_2}) +(bas(?: de gamme|se consommation)|bon (?:enfant|marché|teint|chic,? bon genre)|cl(?:é|ef) en mains?|dernier cri|fleur bleue|grand (?:public|luxe)|grandeur nature|haut(?: de gamme|e résolution)|longue (?:distance|portée|durée)|meilleur marché|numéro (?:un|deux|trois|quatre|cinq|six|sept|huit|neuf|dix(?:-sept|-huit|-neuf)|onze|douze|treize|quatorze|quinze|seize|vingt)|plein cadre|top secret|vieux jeu|open source|Créative Commons|pur jus|terre à terre|bleu (?:ciel|marine|saphir|turquoise)|vert (?:émeraude|olive|pomme)|rouge (?:brique|rubis|sang)|jaune sable|blond platine|gris (?:acier|anthracite|perle)|noir (?:d(?:’encre|e jais)|et blanc))
  4446   4464       @@0,$
  4447   4465       <<- morph(\1, ":(?:N|A|Q|V0e)", False) ~2>> *
  4448   4466   
  4449   4467   # tous / tout / toute / toutes
  4450         -__[i]__  (tout) (?:le|cet?|[mts]on) @@0             <<- ~1>> *
  4451         -__[i]__  (toute) (?:la|cette|[mts]a) @@0            <<- ~1>> *
  4452         -__[i]__  (tou(?:te|)s) (?:[ldscsmt]es) @@0          <<- ~1>> *
         4468  +__[i](p_tout_déterminant_masculin)__        (tout) (?:le|cet?|[mts]on) @@0              <<- ~1>> *
         4469  +__[i](p_toute_déterminant_féminin)__        (toute) (?:la|cette|[mts]a) @@0             <<- ~1>> *
         4470  +__[i](p_tous_toutes_déterminant_pluriel)__  (tou(?:te|)s) (?:[ldscsmt]es|[nv]os) @@0    <<- ~1>> *
  4453   4471   
  4454   4472   
  4455   4473   ## 1 mot
  4456         -__[i]__  ai(?:lleurs|nsi)                           <<- ~>> *
  4457         -__[i]__  al(?:entour|ors)                           <<- ~>> *
  4458         -__[i]__  au(?:jourd’hui|paravant)                   <<- ~>> *
  4459         -__[i]__  bientôt                                    <<- ~>> *
  4460         -__[i]__  ce(?:pendant|rtes)                         <<- ~>> *
  4461         -__[i]__  ci-desso?us                                <<- ~>> *
  4462         -__[i]__  de(?:bout|rechef)                          <<- ~>> *
  4463         -__[i]__  (depuis), @@0                             <<- ~1>> *
  4464         -__[i]__  dé(?:jà|sormais)                           <<- ~>> *
  4465         -__[i]__  do(?:nc|rénavant)                          <<- ~>> *
  4466         -__[i]__  en(?:fin|suite|core)                       <<- ~>> *
  4467         -__[i]__  guère                                      <<- ~>> *
  4468         -__[i]__  jadis                                      <<- ~>> *
  4469         -__[i]__  jamais          <<- not before(r"(?i)\bne +$") ~>> *
  4470         -__[i]__  lo(?:in|ngtemps)                           <<- ~>> *
  4471         -__[i]__  mouais                                     <<- ~>> *
  4472         -__[i]__  n(?:aguère|éanmoins)                       <<- ~>> *
  4473         -__[i]__  par(?:fois|tout)                           <<- ~>> *
  4474         -__[i]__  p(?:eut-être|lutôt|ourtant|resque|rimo)    <<- ~>> *
  4475         -__[i]__  quelquefois                                <<- ~>> *
  4476         -__[i]__  sou(?:dain|vent)                           <<- ~>> *
  4477         -__[i]__  tou(?:jours|tefois)                        <<- ~>> *
  4478         -__[i]__  secondo                                    <<- ~>> *
  4479         -__[i]__  sur(?:-le-champ|tout)                      <<- ~>> *
  4480         -__[i]__  t(?:ôt|ard|antôt|ertio)                    <<- ~>> *
  4481         -__[i]__  très                                       <<- ~>> *
  4482         -__[i]__  vite                                       <<- ~>> *
  4483         -__[i]__  volontiers                                 <<- ~>> *
         4474  +__[i](p_ailleurs_ainsi)__               ai(?:lleurs|nsi)                            <<- ~>> *
         4475  +__[i](p_alentour_alors)__               al(?:entour|ors)                            <<- ~>> *
         4476  +__[i](p_aujourdhui_auparavant)__        au(?:jourd’hui|paravant)                    <<- ~>> *
         4477  +__[i](p_bientôt)__                      bientôt                                     <<- ~>> *
         4478  +__[i](p_cependant_certes)__             ce(?:pendant|rtes)                          <<- ~>> *
         4479  +__[i](p_ci_dessus_dessous)__            ci-desso?us                                 <<- ~>> *
         4480  +__[i](p_debout_derechef)__              de(?:bout|rechef)                           <<- ~>> *
         4481  +__[i](p_depuis)__                       (depuis), @@0                              <<- ~1>> *
         4482  +__[i](p_déjà_désormais)__               dé(?:jà|sormais)                            <<- ~>> *
         4483  +__[i](p_donc_dorénavant)__              do(?:nc|rénavant)                           <<- ~>> *
         4484  +__[i](p_enfin_ensuite_encore)__         en(?:fin|suite|core)                        <<- ~>> *
         4485  +__[i](p_guère)__                        guère                                       <<- ~>> *
         4486  +__[i](p_jadis)__                        jadis                                       <<- ~>> *
         4487  +__[i](p_jamais)__                       jamais           <<- not before(r"(?i)\bne +$") ~>> *
         4488  +__[i](p_loin_longtemps)__               lo(?:in|ngtemps)                            <<- ~>> *
         4489  +__[i](p_mouais)__                       mouais                                      <<- ~>> *
         4490  +__[i](p_naguère)__                      n(?:aguère|éanmoins)                        <<- ~>> *
         4491  +__[i](p_parfois_partout)__              par(?:fois|tout)                            <<- ~>> *
         4492  +__[i](p_presque_primo)__                pr(?:esque|imo)                             <<- ~>> *
         4493  +__[i](p_peut_être_plutôt_pourtant)__    p(?:eut-être|lutôt|ourtant)                 <<- ~>> *
         4494  +__[i](p_quelquefois)__                  quelquefois                                 <<- ~>> *
         4495  +__[i](p_soudain_souvent)__              sou(?:dain|vent)                            <<- ~>> *
         4496  +__[i](p_toujours_toutefois)__           tou(?:jours|tefois)                         <<- ~>> *
         4497  +__[i](p_secondo)__                      secondo                                     <<- ~>> *
         4498  +__[i](p_sur_le_champ_surtout)__         sur(?:-le-champ|tout)                       <<- ~>> *
         4499  +__[i](p_tôt_tard_tantôt_tertio_très)__  t(?:ôt|ard|antôt|ertio|rès)                 <<- ~>> *
         4500  +__[i](p_vite)__                         vite                                        <<- ~>> *
         4501  +__[i](p_volontiers)__                   volontiers                                  <<- ~>> *
  4484   4502   
  4485   4503   # après
  4486         -__[i]__  au fur et à mesure                         <<- ~>> *
  4487         -__<i>__  , +(?:oui|non|entre autres),               <<- ~>> *
  4488         -__<s>__  , +,                                       <<- ~>> *
  4489         -__<s>__  ^ *,                                       <<- ~>> *
  4490         -__<s>__  , *$                                       <<- ~>> *
  4491         -__<s>__  [—–-] +[—–-]                               <<- ~>> *
  4492         -__<s>__  [<] +[>]                                   <<- ~>> *
  4493         -__<s>__  [(] +[)]                                   <<- ~>> *
         4504  +__[i](p_au_fur_et_à_mesure)__           au fur et à mesure                          <<- ~>> *
         4505  +__<i>(p_oui_non_entre_autres)__         , +(?:oui|non|entre autres),                <<- ~>> *
         4506  +__<s>(p_virgule_virgule)__              , +,                                        <<- ~>> *
         4507  +__<s>(p_première_virgule)__             ^ *,                                        <<- ~>> *
         4508  +__<s>(p_dernière_virgule)__             , *$                                        <<- ~>> *
         4509  +__<s>(p_tiret_tiret)__                  [—–-] +[—–-]                                <<- ~>> *
         4510  +__<s>(p_parenthèses_vides)__            [(] +[)]                                    <<- ~>> *
         4511  +__<s>(p_balise_vide)__                  [<] +[>]                                    <<- ~>> *
         4512  +
  4494   4513   
  4495   4514   # Seconde passe (il faut réorganiser tout le cycle de simplification)
  4496         -__[i]__  (à (?:[mts]es|[nv]os|leurs) yeux) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
  4497         -__[i]__  (chaque (?:année|semaine|journée|décennie)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[fe]:[si]|Oo|[123][sp])", False) ~1>> *
  4498         -__[i]__  (chaque (?:an|jour|mois)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[me]:[si]|Oo|[123][sp])", False) ~1>> *
  4499         -__[i]__  (dans l’ensemble) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
  4500         -__[i]__  (de ce (?:seul |)fait) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
  4501         -__[i]__  (dès les premiers (?:jours|mois|ans|siècles|trimestres|semestres)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
  4502         -__[i]__  (dès les premières (?:années|semaines|minutes|secondes|heures|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
  4503         -__[i]__  (en (?:certaines|quelques|plusieurs|de multiples) occasions) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
  4504         -__[i]__  (entre autres choses) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
  4505         -__[i]__  ((?:quelques|plusieurs|de +nombreuses) (?:secondes|minutes|heures|journées|semaines|années|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
  4506         -__[i]__  ((?:quelques|plusieurs|de +nombreux) (?:instants|moments|jours|mois|ans|siècles)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
  4507         -__[i]__  (un (?:instant|moment)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
         4515  +__[i](p_à_nos_yeux)__
         4516  +    (à (?:[mts]es|[nv]os|leurs) yeux) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
         4517  +__[i](p_chaque_année_semaine_journée_décennie)__
         4518  +    (chaque (?:année|semaine|journée|décennie)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[fe]:[si]|Oo|[123][sp])", False) ~1>> *
         4519  +__[i](p_chaque_an_jour_mois)__
         4520  +    (chaque (?:an|jour|mois)) +({w_1}) @@0,$ <<- not morph(\2, ":(?:A.*:[me]:[si]|Oo|[123][sp])", False) ~1>> *
         4521  +__[i](p_dans_l_ensemble)__
         4522  +    (dans l’ensemble) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
         4523  +__[i](p_de_ce_seul_fait)__
         4524  +    (de ce (?:seul |)fait) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
         4525  +__[i](p_dès_les_premiers_jours_mois_ans)__
         4526  +    (dès les premiers (?:jours|mois|ans|siècles|trimestres|semestres)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
         4527  +__[i](p_dès_les_premières_années_heures_minutes)__
         4528  +    (dès les premières (?:années|semaines|minutes|secondes|heures|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
         4529  +__[i](p_en_certaines_plusieurs_occasions)__
         4530  +    (en (?:certaines|quelques|plusieurs|de multiples) occasions) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
         4531  +__[i](p_entre_autres_choses)__
         4532  +    (entre autres choses) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
         4533  +__[i](p_quelques_minutes_heures_années_plus_tard)__
         4534  +    ((?:quelques|plusieurs|de +nombreuses) (?:secondes|minutes|heures|journées|semaines|années|décennies)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[fe]:[pi]", False) ~1>> *
         4535  +__[i](p_quelques_instants_jours_siècles)__
         4536  +    ((?:quelques|plusieurs|de +nombreux) (?:instants|moments|jours|mois|ans|siècles)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[pi]", False) ~1>> *
         4537  +__[i](p_un_moment_instant)__
         4538  +    (un (?:instant|moment)) +({w_1}) @@0,$ <<- not morph(\2, ":A.*:[me]:[si]", False) ~1>> *
  4508   4539   
  4509   4540   
  4510   4541   TEST: pourquoi faire compliqué quand on peut faire simple
  4511   4542   TEST: Pour ceux et celles qui étaient présents à la cérémonie
  4512   4543   TEST: les pires vilénies suite au mauvais vote du peuple
  4513   4544   TEST: La numéro 1 mondiale
  4514   4545   TEST: cette information n’est rien comparé à cette énorme pression
................................................................................
  4554   4585   
  4555   4586   #__[i]__  ({avoir}) +({w_1}[eiuts])  @@0,$
  4556   4587   #    <<- morph(\1, ":V0a", False) and morphex(\1, ":Q", ":G")
  4557   4588   #    =>> exclude(\2, ":A")
  4558   4589   
  4559   4590   
  4560   4591   ### Désambiguïsation par séparation de le/la/les avec la suite s’il s’agit de COD dans les syntagmes verbaux
         4592  +__[i>(p_astuce_je_le_la_les)__
         4593  +    je l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":1s", False, False) ~1>> @
         4594  +__[i>(p_astuce_tu_le_la_les)__
         4595  +    tu l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":2s", False, False) ~1>> @
         4596  +__[i>(p_astuce_il_elle_on_le_la_les)__
         4597  +    (?:il|elle|on) l(?:es?|a)( ) @@$   <<- not morph(word(-1), ":3s", False, False) ~1>> @
         4598  +__[i>(p_astuce_nous_le_la_les)__
         4599  +    nous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":1p", False, False) ~1>> @
         4600  +__[i>(p_astuce_vous_le_la_les)__
         4601  +    vous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":2p", False, False) ~1>> @
         4602  +__[i>(p_astuce_ils_elles_le_la_les)__
         4603  +    (?:ils|elles) l(?:es?|a)( ) @@$    <<- not morph(word(-1), ":3p", False, False) ~1>> @
  4561   4604   #__[i>__  [nmts]e l(?:es?|a)( ) @@$          <<- ~1>> @
  4562         -__[i>__  je l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":1s", False, False) ~1>> @
  4563         -__[i>__  tu l(?:es?|a)( ) @@$               <<- not morph(word(-1), ":2s", False, False) ~1>> @
  4564         -__[i>__  (?:il|elle|on) l(?:es?|a)( ) @@$   <<- not morph(word(-1), ":3s", False, False) ~1>> @
  4565         -__[i>__  nous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":1p", False, False) ~1>> @
  4566         -__[i>__  vous l(?:es?|a)( ) @@$             <<- not morph(word(-1), ":2p", False, False) ~1>> @
  4567         -__[i>__  (?:ils|elles) l(?:es?|a)( ) @@$    <<- not morph(word(-1), ":3p", False, False) ~1>> @
  4568   4605   #__[i]__  l(?:es?|a)( )({w_2}) @@*,$         <<- morph(\2, ":[123][sp]") ~1>> @
  4569   4606   
  4570   4607   
  4571   4608   ### DPP: Désambiguïsation par distinction des mots qui sont à la fois (verbes conjugués ET (noms ET/OU adjectifs))
  4572   4609   # Cette distinction est nécessaire seulement pour les mots suivant un groupe nominal.
  4573   4610   # Exemples : finis, donne(s), avance(s), bavarde(s)
  4574         -__[i]__  (?<![lL]’)une? ({w_2})( ) *({w_2})  @@w,**,$
         4611  +__[i](p_astuce_désambiguïsation1)__
         4612  +    (?<![lL]’)une? ({w_2})( ) *({w_2})  @@w,**,$
  4575   4613       <<- isAmbiguousNAV(\3) and morphex(\1, ":[NAQ]", ">telle ")
  4576   4614       ~2>> ~
  4577         -__[i]__  (?:d(?:es? |’)|[mts](?:es|on|a) |ce(?:s|t(?:te|)|rtaine?s|) |[nv](?:otre|os) |leurs |quelques ) *({w_2})( ) *({w_2}) @@w,**,$
         4615  +__[i](p_astuce_désambiguïsation2)__
         4616  +    (?:d(?:es? |’)|[mts](?:es|on|a) |ce(?:s|t(?:te|)|rtaine?s|) |[nv](?:otre|os) |leurs |quelques ) *({w_2})( ) *({w_2}) @@w,**,$
  4578   4617       <<- isAmbiguousNAV(\3) and morphex(\1, ":[NAQ]", ">telle ") and not re.search("^[dD](?:’une?|e l(?:a|eur)) ", \0)
  4579   4618       ~2>> ~
  4580         -__[i]__  l(?:es? |a |’|eur ) *({w_2})( ) *({w_2})  @@w,**,$
         4619  +__[i](p_astuce_désambiguïsation3)__
         4620  +    l(?:es? |a |’|eur ) *({w_2})( ) *({w_2})  @@w,**,$
  4581   4621       <<- isAmbiguousNAV(\3) and ( morphex(\1, ":[NAQ]", ":V0a") or (morphex(\1, ":[NAQ]", ":(?:3[sp]|V0a)") and not word(-1)) )
  4582   4622       ~2>> ~
  4583   4623   
  4584   4624   TEST: comme le signe évident d’une politique volontaire
  4585   4625   TEST: c’était le signe évident d’une politique volontaire
  4586   4626   TEST: ce que c’est : le signe évident d’une politique volontaire
  4587   4627   
................................................................................
  7729   7769   __[i]__  aucune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
  7730   7770   __[i]__  aucune? +(des +{w_2}) +ne? @@w <<- ~1>> *
  7731   7771   __[i]__  chacune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
  7732   7772   __[i]__  l’une? (de [nv]ous|des [nv]ôtres|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
  7733   7773   __[i]__  la plupart (des {w_2}) @@11 <<- ~1>> *
  7734   7774   
  7735   7775   # groupe déjà partiellement simplifié (selon les règles de la passe 3)
  7736         -__[i]__  (?:a(?:ux?|vec)|à|en)   +d(?:e +(?:la |l’|leurs? |ce(?:s|tte|t|) |[nv]o(?:s|tre) |[mts](?:a|on) |quelques? |certaine?s? )|es? |u ) *({w2})  @@$
         7776  +__[i](p_groupes_déjà_simplifiés)__
         7777  +    (?:a(?:ux?|vec)|à|en)   +d(?:e +(?:la |l’|leurs? |ce(?:s|tte|t|) |[nv]o(?:s|tre) |[mts](?:a|on) |quelques? |certaine?s? )|es? |u ) *({w2})  @@$
  7737   7778       <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
  7738   7779   
  7739   7780   ## y compris (pas terrible, mais cas difficile)
  7740         -__[i]__  y compris <<- not before(r"(?i)\b(?:[jn]’|tu )$") ~>> *
         7781  +__[i](p_y_compris)__
         7782  +    y compris <<- not before(r"(?i)\b(?:[jn]’|tu )$") ~>> *
  7741   7783   
  7742   7784   ## eux/nous/vous tous -- elles toutes
  7743         -__[i]__  [nv]ous (tou(?:te|)s) qui @@5 <<- ~1>> *
  7744         -__[i]__  eux (tous) qui @@4 <<- ~1>> *
  7745         -__[i]__  elles (toutes) qui @@6 <<- ~1>> *
         7785  +__[i](p_nous_vous_tous_toutes_qui)__    [nv]ous (tou(?:te|)s) qui @@5 <<- ~1>> *
         7786  +__[i](p_eux_tous_qui)__                 eux (tous) qui @@4 <<- ~1>> *
         7787  +__[i](p_elles_toutes_qui)__             elles (toutes) qui @@6 <<- ~1>> *
  7746   7788   
  7747   7789   ## groupe avec préposition
  7748         -__[i]__  (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)|aux?) +({w_2})  @@$
         7790  +__[i](p_préposition_nom)__
         7791  +    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)|aux?) +({w_2})  @@$
  7749   7792       <<- morphex(\1, ":[NAQ]", ":[GY]") and isEndOfNG()
  7750   7793       ~>> *
  7751         -__[i]__  (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)) +(?:les? |la |l’|de(?:s| la|) |ce[st]? |cette |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques ) *({w_2})  @@$
         7794  +__[i](p_préposition_déterminant_nom)__
         7795  +    (?:avec|à|s(?:ur|ous|elon)|c(?:ontre|hez)|dans|envers|p(?:ar|our)) +(?:les? |la |l’|de(?:s| la|) |ce[st]? |cette |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques ) *({w_2})  @@$
  7752   7796       <<- morph(\1, ":[NAQ]", False) and isEndOfNG()
  7753   7797       ~>> *
  7754         -__[i]__  lors d(?:’|e(?:s| la|) |u ) *({w_2})  @@$
         7798  +__[i](p_lors_de_du_nom)__
         7799  +    lors d(?:’|e(?:s| la|) |u ) *({w_2})  @@$
  7755   7800       <<- morph(\1, ":[NAQ]", False) and isEndOfNG()
  7756   7801       ~>> *
  7757   7802   
  7758         -__[i]__  nul doute qu  <<- not word(-1) ~>> *
  7759         -__[i]__  (dout\w+)( ) *que?  @@0,*  <<- morph(\1, ">douter ", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> ,
         7803  +## doute que
         7804  +__[i](p_nul_doute_que)__
         7805  +    nul doute qu  <<- not word(-1) ~>> *
         7806  +__[i](p_douter_que)__
         7807  +    (dout\w+)( ) *que?  @@0,*  <<- morph(\1, ">douter ", False) and before(r"(?i)\b(?:[mts]e|[nv]ous) +$") ~2>> ,
  7760   7808   
  7761   7809   ## de +
  7762         -__[i]__  d(?:e +|’)(?!autres)({w_2}) @@$
         7810  +__[i](p_de_nom)__
         7811  +    d(?:e +|’)(?!autres)({w_2}) @@$
  7763   7812       <<- morphex(\1, ":N", ":[GY]") and isEndOfNG() ~>> *
  7764         -__[i]__  de (?:ce(?:t|tte|s|)|[mts](?:on|a|es)|[nv](?:otre|os)|leurs) +({w_2})  @@$
         7813  +__[i](p_de_pronom_nom)__
         7814  +    de (?:ce(?:t|tte|s|)|[mts](?:on|a|es)|[nv](?:otre|os)|leurs) +({w_2})  @@$
  7765   7815       <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
  7766         -__[i]__  de l(?:a|eur) +({w_2})  @@$
         7816  +__[i](p_de_la_leur_nom)__
         7817  +    de l(?:a|eur) +({w_2})  @@$
  7767   7818       <<- morphex(\1, ":[NAQ]", ":Y") and isEndOfNG() ~>> *
  7768   7819   
  7769         -__[s]__  , +, <<- ~>> *
  7770         -__[s]__  ^ *, <<- ~>> *
  7771         -__[s]__  , *$ <<- ~>> *
  7772         -__[s]__  [—–-] +[—–-] <<- ~>> *
  7773         -__[s]__  [<] +[>] <<- ~>> *
  7774         -__[s]__  [(] +[)] <<- ~>> *
         7820  +__[s](p_virgule_virgule2)__     , +, <<- ~>> *
         7821  +__[s](p_première_virgule2)__    ^ *, <<- ~>> *
         7822  +__[s](p_dernière_virgule2)__    , *$ <<- ~>> *
         7823  +__[s](p_tiret_tiret2)__         [—–-] +[—–-] <<- ~>> *
         7824  +__[s](p_parenthèses_vides2)__   [(] +[)] <<- ~>> *
         7825  +__[s](p_balise_vide2)__         [<] +[>] <<- ~>> *
         7826  +
  7775   7827   
  7776   7828   
  7777   7829   TEST: tandis que d’autres perçoivent le bon goût de la soupe.
  7778   7830   TEST: Je me doute bien que vous avez trouvé la réponse.
  7779   7831   TEST: Nous nous doutons bien qu’il y a une entourloupe derrière cette affaire.
  7780   7832   
  7781   7833   
................................................................................
  8985   9037   
  8986   9038   
  8987   9039   
  8988   9040   #
  8989   9041   # //////////////////////////////////////// PRÉPROCESSEUR ////////////////////////////////////////
  8990   9042   #
  8991   9043   
  8992         -__<i>__  n(’)importe quo?i @@1 <<- ~1>> `
  8993         -__<i]__  ^ *ne l(?:es?|a) l(?:ui|eur) <<- ~>> >
  8994         -__<i]__  ^ *ne (?:[mt]’|l(?:ui|eur) )en <<- ~>> >
  8995         -__<i]__  ^ *ne (?:[mt]e|[nv]ous) (?:les?|la|en) <<- ~>> >
  8996         -__<i]__  ^ *ne +(?:en|l(?:es?|a|’(?:en|y))|[mt](?:e|’(?:en|y))|[nv]ous) <<- ~>> >
  8997         -__<i>__  ^ *n’(?:en |y |) <<- ~>> >
  8998         -__<i>__  ^ *ne (?:l’|) <<- ~>> >
         9044  +__<i>(p_n_importe_qui_quoi)__       n(’)importe quo?i @@1 <<- ~1>> `
         9045  +__<i](p_premier_ne_pro_per_obj1)__  ^ *ne l(?:es?|a) l(?:ui|eur) <<- ~>> >
         9046  +__<i](p_premier_ne_pro_per_obj2)__  ^ *ne (?:[mt]’|l(?:ui|eur) )en <<- ~>> >
         9047  +__<i](p_premier_ne_pro_per_obj3)__  ^ *ne (?:[mt]e|[nv]ous) (?:les?|la|en) <<- ~>> >
         9048  +__<i](p_premier_ne_pro_per_obj4)__  ^ *ne +(?:en|l(?:es?|a|’(?:en|y))|[mt](?:e|’(?:en|y))|[nv]ous) <<- ~>> >
         9049  +__<i>(p_premier_ne_pro_per_obj5)__  ^ *n’(?:en |y |) <<- ~>> >
         9050  +__<i>(p_premier_ne_pro_per_obj6)__  ^ *ne (?:l’|) <<- ~>> >
  8999   9051   
  9000   9052   
  9001   9053   #
  9002   9054   # //////////////////////////////////////// RÈGLES DE CONTRÔLE ////////////////////////////////////////
  9003   9055   #
  9004   9056   
  9005   9057   
................................................................................
  9243   9295   
  9244   9296   #
  9245   9297   # //////////////////////////////////////// PRÉPROCESSEUR ////////////////////////////////////////
  9246   9298   # Destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.
  9247   9299   #
  9248   9300   
  9249   9301   # Brainfuck (ici, prudence !)
  9250         -__[i]__  ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y) <<- ~>> >
  9251         -__[i]__  ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y))) <<- ~>> >
  9252         -__[i]__  [mts]e +l(?:a|es?) <<- ~>> >
  9253         -__[i]__  [nmsl]’(?:en|y) <<- ~>> >
  9254         -__[i]__  l(?:a|es?) +(?:lui|en) <<- ~>> >
  9255         -__[i]__  lui +(?:la|les?|en|y) <<- not morph(word(-1), ":R", False, True) ~>> >
  9256         -__[i]__  leur +(?:en|y) <<- not morph(word(-1), ":R", False, False) ~>> >
  9257         -__[i]__  (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) @@$ <<- ~1>> >
  9258         -__[i]__  (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
         9302  +__[i](p_pro_per_obj01)__    ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y) <<- ~>> >
         9303  +__[i](p_pro_per_obj02)__    ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y))) <<- ~>> >
         9304  +__[i](p_pro_per_obj03)__    [mts]e +l(?:a|es?) <<- ~>> >
         9305  +__[i](p_pro_per_obj04)__    [nmsl]’(?:en|y) <<- ~>> >
         9306  +__[i](p_pro_per_obj05)__    l(?:a|es?) +(?:lui|en) <<- ~>> >
         9307  +__[i](p_pro_per_obj06)__    lui +(?:la|les?|en|y) <<- not morph(word(-1), ":R", False, True) ~>> >
         9308  +__[i](p_pro_per_obj07)__    leur +(?:en|y) <<- not morph(word(-1), ":R", False, False) ~>> >
         9309  +__[i](p_pro_per_obj08)__    (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) @@$ <<- ~1>> >
         9310  +__[i](p_pro_per_obj09)__    (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
  9259   9311       <<- \1 == "le" and not morph(\2, ":N.*:[me]:[si]") ~1>> >
  9260   9312       <<- \1 == "la" and not morph(\2, ":N.*:[fe]:[si]") ~1>> >
  9261   9313       <<- \1 == "les" and not morph(\2, ":N.*:.:[pi]") ~1>> >
  9262         -__[i]__  (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- not morph(word(-1), ":R", False, False) ~1>> >
  9263         -__[i]__  ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- ~1>> >
  9264         -__[i]__  (?<!’)(en) ({w_2}) @@0,$ <<- morph(\2, ":[123][sp]") ~1>> >
  9265         -__[i]__  (?:tu|il|on) (en) @@3 <<- not morph(word(-1), ":[123]s", False, False) ~1>> >
  9266         -__[i]__  (?<!’)elle (en) @@5 <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> >
  9267         -__[i]__  (?<!’)elles (en) @@6 <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> >
  9268         -__[i]__  ils (en) @@4 <<- not morph(word(-1), ":3p", False, False) ~1>> >
  9269         -__[i]__  (?<!’)(y) ({w_2}) @@0,2 <<- morph(\2, ":[123][sp]", False) ~1>> >
  9270         -__[i]__  (le) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> >
  9271         -__[i]__  (la) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> >
  9272         -__[i]__  (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
  9273         -__[i]__  (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
  9274         -__[s]__  [lL]’a <<- ~>> > a
  9275         -__[i]__  (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> >
  9276         -__[i]__  (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> >
  9277         -__[i]__  (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> >
  9278         -__[i]__  (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> >
  9279         -__[i]__  (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +){w_2} @@* <<- not word(-1) ~1>> >
  9280         -__[i]__  (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":V", False) ~1>> >
  9281         -__[i]__  (t’(?:en|y)) ({w_2}) @@0,$ <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
  9282         -__[i]__  (t’)({w_2}) @@0,$ <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
  9283         -__[i>__  ne [mtsl]’ <<- ~>> >
  9284         -__[i>__  [mts]e +l’ <<- ~>> >
  9285         -__[i>__  [nm]’ <<- ~>> >
  9286         -__[i]__  [nmts]e <<- ~>> >
  9287         -__<s>__  > +> <<- ~>> >
         9314  +__[i](p_pro_per_obj10)__    (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- not morph(word(-1), ":R", False, False) ~1>> >
         9315  +__[i](p_pro_per_obj11)__    ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- ~1>> >
         9316  +__[i](p_pro_per_obj12)__    (?<!’)(en) ({w_2}) @@0,$ <<- morph(\2, ":[123][sp]") ~1>> >
         9317  +__[i](p_pro_per_obj13)__    (?:tu|il|on) (en) @@3 <<- not morph(word(-1), ":[123]s", False, False) ~1>> >
         9318  +__[i](p_pro_per_obj14)__    (?<!’)elle (en) @@5 <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> >
         9319  +__[i](p_pro_per_obj15)__    (?<!’)elles (en) @@6 <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> >
         9320  +__[i](p_pro_per_obj16)__    ils (en) @@4 <<- not morph(word(-1), ":3p", False, False) ~1>> >
         9321  +__[i](p_pro_per_obj17)__    (?<!’)(y) ({w_2}) @@0,2 <<- morph(\2, ":[123][sp]", False) ~1>> >
         9322  +__[i](p_pro_per_obj18)__    (le) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> >
         9323  +__[i](p_pro_per_obj19)__    (la) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> >
         9324  +__[i](p_pro_per_obj20)__    (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
         9325  +__[i](p_pro_per_obj21)__    (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
         9326  +__[s](p_pro_per_obj22)__    [lL]’a <<- ~>> > a
         9327  +__[i](p_pro_per_obj23)__    (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> >
         9328  +__[i](p_pro_per_obj24)__    (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> >
         9329  +__[i](p_pro_per_obj25)__    (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> >
         9330  +__[i](p_pro_per_obj26)__    (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> >
         9331  +__[i](p_pro_per_obj27)__    (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +){w_2} @@* <<- not word(-1) ~1>> >
         9332  +__[i](p_pro_per_obj28)__    (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":V", False) ~1>> >
         9333  +__[i](p_pro_per_obj29)__    (t’(?:en|y)) ({w_2}) @@0,$ <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
         9334  +__[i](p_pro_per_obj30)__    (t’)({w_2}) @@0,$ <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
         9335  +__[i>(p_pro_per_obj31)__    ne [mtsl]’ <<- ~>> >
         9336  +__[i>(p_pro_per_obj32)__    [mts]e +l’ <<- ~>> >
         9337  +__[i>(p_pro_per_obj33)__    [nm]’ <<- ~>> >
         9338  +__[i](p_pro_per_obj34)__    [nmts]e <<- ~>> >
         9339  +__<s>(p_pro_per_obj35)__    > +> <<- ~>> >
  9288   9340   # Fin du Brainfuck
  9289   9341   
  9290   9342   
  9291   9343   #
  9292   9344   # //////////////////////////////////////// RÈGLES DE CONTRÔLE ////////////////////////////////////////
  9293   9345   #
  9294   9346