Overview
Comment: | [fr] conversion: regex rules -> graph rules |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | rg |
Files: | files | file ages | folders |
SHA3-256: |
d00a2d1b8751a668f215d3f5bf86810d |
User & Date: | olr on 2018-08-10 16:55:13 |
Other Links: | branch diff | manifest | tags |
Context
2018-08-10
| ||
17:19 | [fr] conversion: regex rules -> graph rules check-in: 3c89e932b8 user: olr tags: fr, rg | |
16:55 | [fr] conversion: regex rules -> graph rules check-in: d00a2d1b87 user: olr tags: fr, rg | |
11:25 | [core][build][fr] merge token tags and sentence tags, immunity rework check-in: b08008a010 user: olr tags: fr, core, build, rg | |
Changes
Modified gc_lang/fr/rules.grx from [7ba5ff9a6a] to [33fd070682].
︙ | ︙ | |||
12935 12936 12937 12938 12939 12940 12941 | !! !! #### devoir / faire / falloir / pouvoir / savoir / vouloir __infi_faire_verbe__ >faire ~(?:ée?s?|ez)$ | | < > > > > < < < < | < < < < | | | < < | < < < < < < < < | | | | | | | | > > > | | | | < | > < | < > > > > | > > | | | | < | | | | < | | < | | < | | | < | | | < | | | | | | | | < | < > | | > | < > | | | | | | | | | | | | | | | | | | > | | > | > > | > > > > > > > > > > > > | 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 | !! !! #### devoir / faire / falloir / pouvoir / savoir / vouloir __infi_faire_verbe__ >faire ~(?:ée?s?|ez)$ <<- /infi/ not value(<1, "|en|de|") and morph(\1, ":V") and morph(\2, ":V", ":[MG]") -2>> =suggVerbInfi(\2) # Après le verbe “faire”, ce verbe devrait être à l’infinitif. TEST: elle fit peu {{mangé}} les enfants TEST: Tu fais {{décoloré}} tes cheveux ? TEST: quelqu’un fait {{passé}} ces gens en secret. TEST: il le fait {{pensé}} à son avenir. TEST: ce sont des faits constestés. TEST: c’est un fait reconnu. TEST: fait pourtant avéré et corroboré par le même sondage. TEST: ce fait rapporté par des témoins au-delà de tout soupçon n’est pas contestable. #__[i]/infi(infi_faire)__ # (f(?:ai|[iî]|er|on)\w+) +({w_2}(?:ée?s?|ez)) @@0,$ # <<- morph(\1, ">faire/", False) and not before(r"(?i)\b(?:en|[mtsldc]es?|[nv]ous|un) +$") and morphex(\2, ":V", ":M") # and not (re.search("(?i)^fait$", \1) and \2.endswith("é")) # and not (re.search("(?i)^faits$", \1) and \2.endswith("és")) # -2>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. __infi_me_te_se_faire__ [me|te|se] >faire ~(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":V", ":M") -3>> =suggVerbInfi(\3) # Après le verbe “faire”, le verbe devrait être à l’infinitif. TEST: me faire constamment {{laminé}} au jeu, ça finit par me fâcher. __infi_vouloir_verbe__ >vouloir ~(?:ée?s?|ez)$ <<- /infi/ not value(<1, "|un|de|des|ces|mes|tes|ses|nos|vos|leurs|me|te|se|nous|vous|les|") and morph(\2, ":V", ":M") -2>> =suggVerbInfi(\2) # Après le verbe “vouloir”, ce verbe devrait être à l’infinitif. TEST: je veux {{changé}} TEST: je ne veux pas {{mangé}} TEST: je sais {{mangé}} TEST: je ne voulais pas {{marché}} TEST: Elles ont voulu {{mangé}} de la viande. TEST: en voulant {{changé}} __infi_de_vouloir_faire_verbe__ de [vouloir|faire] ~(?:ée?s?|ez)$ <<- /infi/ morph(\3, ":V", ":M") -3>> =suggVerbInfi(\3) # Après le verbe “\2”, ce verbe devrait être à l’infinitif. TEST: Je suis fatigué de vouloir {{essayé}} d’y remédier. __infi_savoir_verbe__ >savoir ~(?:ée?s?|ez)$ <<- /infi/ morph(\1, ">savoir/:V") and morph(\2, ":V") and not value(<1, "|me|te|se|nous|vous|le|la|les|un|") -2>> =suggVerbInfi(\2) # Après le verbe “savoir”, ce verbe devrait être à l’infinitif. TEST: Il faut savoir {{arrêté}} les frais. TEST: un certain nombre de savoirs spécialisés TEST: je le savais désiré par de nombreuses personnes. TEST: il les savait commandités par ses ennemis. __infi_il_faut_verbe__ il ?ne¿ [faut|faudra|faudrait|fallut] (~(?:ée?s?|ez)$) <<- /infi/ morph(\1, ":(?:Q|2p)", ":M") -1>> =suggVerbInfi(\1) # Après le verbe “falloir”, le verbe devrait être à l’infinitif. il ?ne¿ [faut|faudra|faudrait|fallut] [le|la|leur|les|l’] (~(?:ée?s?|ez)$) <<- /infi/ morph(\1, ":V", ":N") -1>> =suggVerbInfi(\1) # Après le verbe “falloir”, le verbe devrait être à l’infinitif. il ?ne¿ [faut|faudra|faudrait|fallut] [ne|n’|en|me|m’|te|t’|se|s’|nous|vous|lui|y] (~(?:ée?s?|ez)$) il ?ne¿ [faut|faudra|faudrait|fallut] ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] (~(?:ée?s?|ez)$) il ?ne¿ [faut|faudra|faudrait|fallut] ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] (~(?:ée?s?|ez)$) il ?ne¿ [faut|faudra|faudrait|fallut] ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] (~(?:ée?s?|ez)$) il ?ne¿ [faut|faudra|faudrait|fallut] ?[ne|n’]¿ [lui|leur] en (~(?:ée?s?|ez)$) <<- /infi/ morph(\1, ":V") -1>> =suggVerbInfi(\1) # Après le verbe “falloir”, le verbe devrait être à l’infinitif. TEST: il faut sans cesse {{persévéré}} TEST: Il faudrait l’{{essayé}}. TEST: Il faudra ne {{touché}} qu’aux extrémités. __infi_lui_verbe__ lui ~ée?s?$ <<- /infi/ morph(\2, ":Q") -2>> =suggVerbInfi(\2) # Le verbe ne devrait probablement pas être un participe passé. TEST: lui {{mangée}} beaucoup. !! !! !!!! Usage pronominal avec “avoir” au lieu d’“être” !! !! !! __conj_se_conf_être_avoir__ s’ ?[en|y]¿ (>avoir) <<- /conj/ morph(\1, ":3p") -1>> sont|étaient|seront|seraient # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. <<- /conj/ __else__ -1>> est|était|sera|serait # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. TEST: s’en {{ait}} trop je m’ ?[en|y]¿ (>avoir) <<- /conj/ -1>> suis|étais|serai|serais # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. tu t’ ?[en|y]¿ (>avoir) <<- /conj/ not morph(<1, ":V0") -1>> es|étais|seras|serais # Confusion. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. [<start>|,] nous nous ?[en|y]¿ >avoir <<- /conj/ --1>> sommes|étions|serons|serions # Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. <<- /conj/ -2>> nous, # S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer les personnes que vous désignez du sujet. [<start>|,] vous vous ?[en|y]¿ >avoir <<- /conj/ --1>> êtes|étiez|serez|seriez # Confusion possible. Sous sa forme pronominale, un verbe s’emploie avec l’auxilaire “être”, non “avoir”. <<- /conj/ -2>> vous, # S’il ne s’agit pas d’une locution pronominale, mettez une virgule pour séparer les personnes que vous désignez du sujet. TEST: je m’y {{avais}} habitué. TEST: tu t’{{avais}} donné du temps pour finir ton mémoire. TEST: Ce qu’il a tu t’a donné la nausée. TEST: {{nous}} nous {{avons}} donné le temps TEST: {{vous}} vous {{avez}} perdu toute notion de décence. !! !! !!!! Participes passés: se +être +verbe !! !! !! __ppas_je_me_être_verbe__ je ?ne¿ [me|m’] ?y¿ [suis|sois|soit|suit|étais|était|fusse|fusses|fus|fut|fût|serai|serais|serait] (@:Q.*:p¬:(?:G|Q.*:[si])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|qu|")) -1>> =suggVerbPpas(\1, ":m:s") # Si ce participe passé se rapporte bien à “je”, il devrait être au singulier. TEST: je ne me suis jamais {{perdus}} TEST: c’est de ce château que je me suis {{enfuis}}. TEST: je me suis donné du temps. __ppas_tu_te_être_verbe__ tu ?ne¿ [te|t’] ?y¿ [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait] (@:Q.*:p¬:(?:G|Q.*:[si])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|qu|")) -1>> =suggVerbPpas(\1, ":m:s") # Si ce participe passé se rapporte bien à “tu”, il devrait être au singulier. TEST: tu t’es finalement {{retrouvés}} en mauvaise posture. TEST: tu ne t’étais pas laissé le temps d’y réfléchir. __ppas_il_se_être_verbe__ il ?ne¿ [se|s’] ?y¿ [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait] (@:Q.*:(?:f|m:p)¬:(?:G|Q.*:m:[si])) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|qu|")) -1>> =suggVerbPpas(\1, ":m:s") # Si ce participe passé se rapporte bien à “il”, il devrait être au masculin singulier. TEST: le dédale dans lequel il se serait {{perdue}} TEST: il s’était perdu dans la forêt. TEST: il s’était dit qu’il avait eu tort de s’irriter si vivement pour une telle peccadille. __ppas_elle_se_être_verbe__ elle ?ne¿ [se|s’] ?y¿ [es|est|sois|soit|étais|était|fusse|fusses|fus|fut|fût|sera|seras|serai|serais|serait] (@:Q.*:(?:m|f:p)¬:(?:G|Q.*:f:[si])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que?/")) -1>> =suggVerbPpas(\1, ":f:s") # Si ce participe passé se rapporte bien à “elle”, il devrait être au féminin singulier. TEST: elle s’y était {{préparé}}. TEST: elle s’était trouvé un mari. __ppas_nous_nous_être_verbe__ nous ?ne¿ nous ?y¿ [sommes|étions|fûmes|fussions|serons|serions] (@:Q.*:s¬:(?:G|Q.*:[pi])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que/")) -1>> =suggVerbPpas(\1, ":p") # Si ce participe passé se rapporte bien à “nous”, il devrait être au pluriel. TEST: Nous nous étions {{cru}} au paradis. __ppas_ils_se_être_verbe__ ils ?ne¿ [se|s’] ?y¿ [sont|soient|étaient|furent|fussent|seront|serons|seraient] (@:Q.*:(?:f|m:s)¬:(?:G|Q.*:m:[pi])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not value(<1, "|que|qu’|qu|")) -1>> =suggVerbPpas(\1, ":m:p") # Si ce participe passé se rapporte bien à “ils”, il devrait être au masculin pluriel. TEST: ils s’y étaient {{abandonné}} avec ferveur __ppas_elles_se_être_verbe__ elles ?ne¿ [se|s’] ?y¿ [sont|soient|étaient|furent|fussent|seront|seraient] (@:Q.*:(?:m|f:s)¬:(?:G|Q.*:f:[pi])|>dire/) <<- /ppas/ morph(\1, ":V[123]_.__p_e_", "*") or (value(>1, "|<end>|") and not morph(<1, ":R|>que/")) -1>> =suggVerbPpas(\1, ":f:p") # Si ce participe passé se rapporte bien à “elles”, il devrait être au féminin pluriel. TEST: elles ne s’y étaient pas {{donnée}}. TEST: sans fin elles se sont succédé __ppas_se_être__ [me|m’|te|se|s’] ?[y|en]¿ (>être) (*WORD) t’ [y|en] (>être) (*WORD) <<- /ppas/ morph(\2, ":(?:Y|[123][sp])", ":Q") -2>> =suggVerbPpas(\2) # Incohérence. Après « s’être », le verbe doit être un participe passé. <<- /ppas/ __else__ and morph(\1, ":[123]s") and morph(\2, ":Q.*:p") and not before(r"(?i)\bque?[, ]|\bon (?:ne |)$") -2>> =suggSing(\2) # Le participe passé devrait être au singulier. t’ (>être) (*WORD) <<- /ppas/ not value(\1, "|es|étais|") >>> <<- /ppas/ morph(\2, ":(?:Y|[123][sp])", ":Q") -2>> =suggVerbPpas(\2) # Incohérence. Après « s’être », le verbe doit être un participe passé. <<- /ppas/ __else__ and morph(\1, ":[123]s") and morph(\2, ":Q.*:p") and not before(r"(?i)\bque?[, ]|\bon (?:ne |)$") -2>> =suggSing(\2) # Le participe passé devrait être au singulier. TEST: s’être {{donner}} le mot. TEST: je me suis {{donnés}} à fond TEST: c’est de ce qui s’est {{passe}}. TEST: Ça s’était toujours {{passe}} comme ça avec elle TEST: elle s’est {{approche}} de la penderie TEST: terrorisant l’animal qui s’était {{cabre}}. TEST: ce qui s’est {{passe}}. TEST: s’y était {{consacrer}} avec enthousiasme. TEST: elles se sont dit : « Allons-y ». TEST: On s’est rencontrées lorsqu’on travaillait là-bas. TEST: des soins que je m’étais donnés. TEST: Si t’es pas contente, t’achètes pas. TEST: t’étais vraiment cinglé à cette époque. @@@@ @@@@ @@@@ @@@@ @@@@END_GRAPH _ @@@@ @@@@ @@@@ @@@@ !! !! !!!! Participes passés: se +laisser +adjectif !! !! !! |
︙ | ︙ | |||
13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 | TEST: Il semble être {{partis}} pour toujours. ->> parti TEST: Il est {{demander}} à chacun de participer. TEST: Il est {{contents}}. ->> content TEST: Il est {{laisser}} à lui-même TEST: celui qui ne semble pas {{étonnés}} TEST: c’est ça qui paraît {{stupides}} TEST: celui-là semble {{perdus}} dans ses pensées. __[i]/ppas(ppas_c_être)__ c’(?:est|était|e[uû]t +été) +({w_2}) @@$ <<- not (morph(\1, ">seule/", False) and after("^ +que? ")) and ( morphex(\1, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\1, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) ) ) -1>> =suggMasSing(@) # Accord avec le sujet « c’ » : « \1 » devrait être au masculin singulier. | > | 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 | TEST: Il semble être {{partis}} pour toujours. ->> parti TEST: Il est {{demander}} à chacun de participer. TEST: Il est {{contents}}. ->> content TEST: Il est {{laisser}} à lui-même TEST: celui qui ne semble pas {{étonnés}} TEST: c’est ça qui paraît {{stupides}} TEST: celui-là semble {{perdus}} dans ses pensées. __[i]/ppas(ppas_c_être)__ c’(?:est|était|e[uû]t +été) +({w_2}) @@$ <<- not (morph(\1, ">seule/", False) and after("^ +que? ")) and ( morphex(\1, ":[NAQ].*:p", ":[GWYsi]") or ( morphex(\1, ":[AQ].*:f", ":[GWYme]") and not morph(word(1), ":N.*:f", False, False) ) ) -1>> =suggMasSing(@) # Accord avec le sujet « c’ » : « \1 » devrait être au masculin singulier. |
︙ | ︙ |