Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -4697,35 +4697,43 @@ depuis [de|d’] ?[assez|si|très|trop]¿ longues {unit_mesure_plur_fem} pendant de [nombreux|longs] {unit_mesure_plur_mas} pendant de [nombreuses|longues] {unit_mesure_plur_fem} <<- &>> :LW;T + __locutions_temps_après_avant__ peu de [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] [après|avant] plusieurs [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] [après|avant] quelques [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] [après|avant] de nombreux [jours|ans|siècles|millénaires] [après|avant] de nombreuses [nanosecondes|millisecondes|secondes|minutes|heures|semaines|années|décennies] [après|avant] <<- not value(<1, "|de|d’|") - and ( morph(>1, ">[,)]||:(?:Ov|3[sp])", ":D") or ( value(>1, "|le|la|l’|leur|les|") and morph(>2, ":V", ":[NAQ]") ) ) + and ( morph(>1, ">[,)]||:(?:O|3[sp]|R)", ":D") or ( value(>1, "|le|la|l’|leur|les|") and morph(>2, ":V", ":[NAQ]") ) ) &>> :LW;T peu de [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] auparavant plusieurs [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] auparavant quelques [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] auparavant de nombreux [jours|ans|siècles|millénaires] auparavant de nombreuses [nanosecondes|millisecondes|secondes|minutes|heures|semaines|années|décennies] auparavant - <<- &>> :LW;T - peu de [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] plus [tôt|tard] plusieurs [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] plus [tôt|tard] quelques [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] plus [tôt|tard] de nombreux [jours|ans|siècles|millénaires] plus [tôt|tard] de nombreuses [nanosecondes|millisecondes|secondes|minutes|heures|semaines|années|décennies] plus [tôt|tard] <<- &>> :LW;T + $:B [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] [après|avant] + <<- not value(<1, "|de|d’|") + and ( morph(>1, ">[,)]||:(?:Ov|3[sp])", ":D") or ( value(>1, "|le|la|l’|leur|les|") and morph(>2, ":V", ":[NAQ]") ) ) + and not morph(<1, ":B") + &>> :LW;T + + $:B [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] auparavant + $:B [nanosecondes|millisecondes|secondes|minutes|heures|jours|semaines|mois|années|ans|décennies|siècles|millénaires] plus [tôt|tard] + <<- not morph(<1, ":B") &>> :LW;T __locutions_énumération_temporelle__ [de|d’] nanoseconde en nanoseconde [de|d’] milliseconde en milliseconde [de|d’] seconde en seconde @@ -11010,23 +11018,23 @@ [à|après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] une @:V¬:[GNAWMB] <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") --1>> =suggSimil(\-1, ":[NA].*:[fe]:[si]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. [après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] le @:V¬:[GNAWMB] - <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") + <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") and not morphx(\1, ":LW") --1>> =suggSimil(\-1, ":[NA].*:[me]:[si]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. [après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] la @:V¬:[GNAWMB] - <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") + <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") and not morphx(\1, ":LW") --1>> =suggSimil(\-1, ":[NA].*:[fe]:[si]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. [après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] [l’|leur] @:V¬:[GNAWMB] - <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") + <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") and not morphx(\1, ":LW") --1>> =suggSimil(\-1, ":[NA].*:[si]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. [après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] les @:V¬:[GNAWMB] - <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") + <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") and not morphx(\1, ":LW") --1>> =suggSimil(\-1, ":[NA].*:[pi]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. [à|après|avant|avec|par|pour|contre|sans|envers|chez|dès|malgré|selon|parmi] leurs @:V¬:[GNAWMB] <<- /conf/ not tag(\-1, "_Maj_") and not morph(<1, ":D") --1>> =suggSimil(\-1, ":[NA].*:[pi]", True) && Incohérence : après « \1 \2 », on devrait trouver un groupe nominal. @@ -11062,10 +11070,11 @@ TEST: donne ça à ton {{employer}} ->> employé|employée TEST: en un {{emploie}} stable ->> emploi TEST: tu croyais en la {{cingler}} ->> cinglée TEST: en leur {{tarer}} de père ->> taré|tarée|tare TEST: il faut croire en leurs {{ponds}} ->> ponts +TEST: il les ignora puis plusieurs jours après leur demanda leur avis TEST: pour les insulter au sortir du seul troquet dispensateur d’oubli liquide du coin TEST: ce peut être un matériau à part entière pour alimenter discussions et délibérations. TEST: malgré les deux précédentes erreurs TEST: en les prenant de haut TEST: chez ACTIONS, rien ne va plus @@ -19207,10 +19216,11 @@ >effort [de|d’] guerre >élément à charge >emballage sous vide >emploi du temps >employé [de|d’] maison + >enfant [de|d’] [*NUM|$:B] ans >ennemi d’ État ennemi public numéro [un|$:B|*NUM] ennemie publique numéro [un|une|$:B|*NUM] >ennui [de|d’] santé >enregistreur [de|d’] vol @@ -19249,10 +19259,11 @@ >fard à [joues|paupières] >faute d’ orthographe >fée du logis >femme [de|d’] [affaires|chambre|confiance|exception|État|Église|honneur|lettres|loi|ménage|paix|parole|pouvoir|valeur] >femme d’ âge mûr + >femme [de|d’] [*NUM|$:B] ans ?passés¿ >femme à poigne >femme à tout faire >fer à cheval >fer à [repasser|souder] >fer [de|d’] lance @@ -19269,10 +19280,12 @@ >fiche S >fil à retordre >file d’ attente >fille à [papa|maman|>soldat] >fille au pair + >fille [de|d’] [*NUM|$:B] ans + >fillette [de|d’] [*NUM|$:B] ans >film X fils à [papa|maman] fils [de|d’] pute >figure [de|d’] proue >fin [de|d’] non-recevoir @@ -19305,10 +19318,11 @@ >fusée [de|d’] détresse >fusil à [chasse|lunette|plomb|pompe] >gala [de|d’] charité >galerie d’ art ?[contemporain|moderne]¿ >galette des rois + >garçon [de|d’] [*NUM|$:B] ans >garde à vue >garde du corps >gardien [de|d’] nuit gaz à >effet [de|d’] serre gaz [de|d’] schiste @@ -19339,10 +19353,11 @@ >histoire à dormir debout >histoire avec un [grand|petit] h >hochement [de|d’] tête >homme [de|d’] [affaires|armes|confiance|exception|État|Église|honneur|lettres|loi|main|paille|paix|parole|pouvoir|valeur] >homme d’ âge mûr + >homme [de|d’] [*NUM|$:B] ans ?passés¿ >homme à poigne >homme à tout faire >horaire à rallonge >hôtel [de|d’] [luxe|ville] >hôtesse d’ accueil @@ -21391,10 +21406,11 @@ TEST: La liberté passait sur le monde, l’internationale était sa voix criant par-dessus les frontières les revendications des déshérités. TEST: La danse est d’ailleurs en ce sens salvatrice. TEST: La gauche a fait main basse sur la plupart des villes vaudoises, les Verts bondissent aux législatifs. TEST: un rien peut nous déconcentrer TEST: cette organisation est à partir de 1945 composée de membres venus de… +TEST: On vit dans une société qui trouve qu’une femme de 57 ans grande et mince est une ruine. @@@@ @@@@ @@ -29894,10 +29910,30 @@ iels tout·e·s qui <<- ~2>> * TODO: comme + +__purge_entre__ + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 [ne|n’|me|m’|te|t’|se|s’] + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 [le|la|l’|les|en|nous|vous|lui|leur|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 [nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 [lui|leur|y] en @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs|quelques|certains|certaines] @:[NA].*:[pi]¬:V0 @:(?:[123][sp]|P)¬:A + <<- ~4:6>> * + + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 [ne|n’|me|m’|te|t’|se|s’] + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 [le|la|l’|les|en|nous|vous|lui|leur|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 [nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 [lui|leur|y] en @:(?:[123][sp]|P) + [|(] $:D @:[NA] entre $:D @:[NA]¬:V0 et $:D @:[NA]¬:V0 @:(?:[123][sp]|P)¬:A + <<- ~4:9>> * + +TEST: Le conflit entre la Malaisie et l’Indonésie s’est récemment aggravé. + __purge_pronoms_après_sujet_verbe__ [j’|je] ?[ne|n’]¿ >avoir moi-même tu ?[ne|n’]¿ >avoir toi-même il ?[ne|n’]¿ >avoir lui-même