Overview
Comment: | [fr] options manquantes et nettoyage |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | rg |
Files: | files | file ages | folders |
SHA3-256: |
c79208cbc27c5e4ab8b0b88379c26563 |
User & Date: | olr on 2018-07-28 09:08:39 |
Other Links: | branch diff | manifest | tags |
Context
2018-07-28
| ||
10:20 | [fr] conversion: regex rules -> graph rules check-in: e8b896692d user: olr tags: fr, rg | |
09:08 | [fr] options manquantes et nettoyage check-in: c79208cbc2 user: olr tags: fr, rg | |
00:14 | [build] DARG: shorten building result display check-in: ffd3e274fa user: olr tags: build, rg | |
Changes
Modified gc_lang/fr/rules.grx from [049bff94f6] to [a28941d490].
︙ | ︙ | |||
8863 8864 8865 8866 8867 8868 8869 | !!!! Groupe nominal (1) !! !! !! ## l’ __gn_l_1m__ | | | 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 | !!!! Groupe nominal (1) !! !! !! ## l’ __gn_l_1m__ l’ @:[NA].*:p¬:[123][sp]|:[si] <<- /gn/ -2>> =suggSing(\2) # Accord de nombre erroné : “\2” devrait être au singulier. TEST: toute l’importance de l’{{accords}} musical. __gn_l_2m__ l’ @:[NA]¬* @:[NA]¬* |
︙ | ︙ | |||
8895 8896 8897 8898 8899 8900 8901 | TEST: l’amour {{immortels}} TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou. TEST: du chien et de l’{{étonnante}} {{collier}} qu’il avait autour du cou. __gn_le_1m__ , le *WORD | | | | | | | | | | | | | | | | | | | | | | | | | | | 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 | TEST: l’amour {{immortels}} TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou. TEST: du chien et de l’{{étonnante}} {{collier}} qu’il avait autour du cou. __gn_le_1m__ , le *WORD <<- /gn/ morph(\3, "@:[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\2) # Accord de genre erroné : « \3 » est féminin. <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant masculin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p") -3>> =suggMasSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. <<- /gn/ __also__ -2>> les # Accord de nombre erroné : « \3 » est au pluriel. *WORD le *WORD <<- /gn/ morph(\2, ":D") >>> <<- morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") or ( morph(\3, ":[NA].*:f", ":[me]") and morph(\1, ":R", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) ) -2>> =suggLesLa(\2) # Accord de genre erroné : « \3 » est féminin. <<- __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant masculin. <<- __else__ and morph(\3, ":[NA].*:p", "*") or ( morph(\3, ":[NA].*:p", ":[si]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) ) -3>> =suggMasSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. <<- __also__ -2>> les # Accord de nombre erroné : « \3 » est au pluriel. <start> le *WORD <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|Y)") -2>> =suggLesLa(\2) # Accord de genre erroné : « \3 » est féminin. <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant masculin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. <<- /gn/ __also__ -2>> les # Accord de nombre erroné : « \3 » est au pluriel. TEST: c’est une catastrophe, {{le}} {{profits}} a baissé ces deux derniers trimestres TEST: {{Le}} démoralisation. ->> La TEST: {{Le}} Guyane française. ->> La TEST: avec {{le}} {{pile}} TEST: {{le}} {{publique}} TEST: {{Le}} {{pendue}} __gn_ledit_1m__ ledit *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_un_1m__ un *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":(?:e|m|G|W|V0|3s|Y)") -1>> une # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_un_des_1m__ un des *WORD <<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|G|W|V0|3s)") -1>> une # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasPlur(\3, True) # Accord de genre erroné : « \1 » est un déterminant masculin. __gn_du_1m__ du *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> de la # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_cet_1m__ cet *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> cette # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ">[bcçdfgjklmnpqrstvwxz].+:[NA].*:m", ":[efGW]") -1>> ce # Accord de genre correct, mais euphonie non respectée.|http://fr.wikipedia.org/wiki/Euphonie <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_ce_1m__ ce *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":(?:3s|[GWme])") -1>> cette # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") and morph(\2, ":3s") -1>> cette|se # Accord de genre erroné : « \2 » est féminin. Ou bien vous confondez le déterminant “ce” avec le pronom “se”. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_mon_ton_son_1m__ [mon|ton|son] *WORD <<- /gn/ morph(\1, ":D") >>> <<- /gn/ morph(\2, ">[bcdfgjklmnpqrstvwxz].*:[NA].*:f", ":[GWme]") -1>> =\1.replace("on", "a") # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_au_1m__ au *WORD <<- /gn/ morph(\2, ":[NA].*:f:s", ":[GWme]") -1>> à la # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. <<- /gn/ __also__ -1>> aux # Accord de nombre erroné : « \2 » est au pluriel. TEST: ledit {{accords}} ne vaut rien. TEST: {{au}} {{États-Unis}} TEST: {{Un}} {{amie}} TEST: {{Cet}} {{idiote}}. TEST: {{cet}} ballon. ->> ce |
︙ | ︙ | |||
8997 8998 8999 9000 9001 9002 9003 | TEST: Trente et un hommes sur le pont. ## Singulier féminin __gn_la_1m__ , la *WORD | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 | TEST: Trente et un hommes sur le pont. ## Singulier féminin __gn_la_1m__ , la *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)") -2>> le # Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant féminin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p") -3>> =suggFemSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. *WORD la *WORD <<- /gn/ morph(\2, ":D") >>> <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|[1-3][sp]|Y)") or ( morph(\3, ":[NA].*:m", ":[fe]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":(?:Rv|C)") and morph(\3, ":Y")) ) -2>> le # Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant féminin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p") or ( morph(\3, ":[NA].*:p", ":[si]") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) ) -3>> =suggFemSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. <start> la *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":[efPGWY]") -2>> le # Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) # Accord de genre erroné : « \2 » est un déterminant féminin. <<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggFemSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. TEST: c’est ennuyeux, la {{parties}} deux est ratée. TEST: {{La}} Cameroun ->> Le TEST: {{La}} mustang est un cheval sauvage. ->> Le TEST: {{La}} tableau. ->> Le TEST: dans la {{parties}} ->> partie TEST: de {{la}} vin ->> le TEST: {{la}} {{véhicule}} TEST: {{La}} {{pris}} TEST: la force de la {{formes}} parfaite __gn_ladite_1m__ ladite *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> ledit # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. TEST: ladite {{passions}} l’avait conduit à sa perte. __gn_une_1m__ une *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":(?:e|f|G|W|V0|3s|P)") and not ( \2 == "demi" and morph(>1, ":N.*:f", "*") ) -1>> un # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_une_des_1m__ une des *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|G|W|V0|3s)") -1>> un # Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True) # Accord de genre erroné : « \1 » est un déterminant féminin. TEST: un {{slashs}} ->> slash TEST: un {{fromages}}. ->> fromage TEST: Un {{ballons}} ->> ballon TEST: Une {{cinglées}} ->> cinglée TEST: {{une}} des {{joueurs}} TEST: mille et une merveilles __gn_cette_1m__ cette *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =suggCeOrCet(\2) # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. __gn_ma_ta_sa_1m__ [ma|ta|sa] *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGW]") -1>> =\1[:-1]+"on" # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and not re.search("(?i)^[aâeéèêiîoôuûyœæ]", \2) and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggFemSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. TEST: {{une}} des {{chats}} TEST: {{ma}} {{parti}} TEST: {{ma}} amour ->> mon TEST: {{une}} kyste ->> un TEST: {{Cette}} {{animal}} mort. ## Singuliers épicènes __gn_leur_1m__ , leur *WORD <<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs # Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. *WORD leur *WORD <<- /gn/ morph(\3, ":[NA].*:p", "*") or ( morph(\3, ":[NA].*:p", ":[si]") and morph(\1, ":[RC]|>de/", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y")) ) -2>> leurs # Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. <start> leur *WORD <<- /gn/ morph(\3, ":[NA].*:p", ":[siGW]") -2>> leurs # Accord de nombre erroné avec « \3 ». <<- /gn/ __also__ -3>> =suggSing(\3) # Accord de nombre erroné : « \3 » devrait être au singulier. TEST: Tu sais, {{leur}} {{impatiences}} est notoire. TEST: J’en ai assez de {{leur}} {{délires}} TEST: {{Leur}} {{perceptions}} des choses m’exaspère. TEST: dans {{leur}} {{usines}} __gn_notre_votre_chaque_1m__ [notre|votre|chaque] *WORD <<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggSing(\2) # Accord de nombre erroné : « \2 » devrait être au singulier. TEST: Chaque {{chiens}}. ->> chien __gn_quelque_1m__ quelque *WORD <<- /gn/ morph(\2, ":[NA].*:p", ":[siG]") and not value(>1, "|que|qu’|qu|") -1>> quelques # Il manque un “s” à « quelque » ou « \2 » doit être au singulier. TEST: {{Quelque}} amis ## Pluriels épicènes __gn_les_1m__ , les *WORD <<- /gn/ ( morph(\3, ":[NA].*:s", "*") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) or \3 in aREGULARPLURAL -3>> =suggPlur(\3) # Accord de nombre erroné : « \3 » devrait être au pluriel. *WORD les *WORD <<- /gn/ morph(\2, ":D") and ( morph(\3, ":[NA].*:s", "*") or (morph(\3, ":[NA].*:s", ":[pi]|>avoir") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y"))) ) and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -3>> =suggPlur(\3) # Accord de nombre erroné : « \3 » devrait être au pluriel. <start> les *WORD <<- /gn/ ( morph(\3, ":[NA].*:s", ":[ipYPGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) or \3 in aREGULARPLURAL -3>> =suggPlur(\3) # Accord de nombre erroné : « \3 » devrait être au pluriel. TEST: ils viennent, les {{petit}} TEST: Les {{tiret}} ->> tirets TEST: Les plus {{grand}} hommes. ->> grands TEST: les {{véhicule}} ->> véhicules TEST: Les {{démoralisation}}. ->> démoralisations TEST: dans les {{usine}} ->> usines __gn_leurs_1m__ leurs *WORD <<- /gn/ (morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. <<- /gn/ __also__ -1>> leur # Accord de nombre erroné avec « \2 ». TEST: {{leurs}} {{action}} TEST: {{leur}} {{données}} __gn_det_pluriel_1m__ [des|mes|tes|ses|nos|vos|quelques|lesdits|moult] *WORD <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: des {{pain}} ->> pains TEST: Quelques {{homme}}. ->> hommes TEST: plusieurs {{femme}} sont venues. TEST: une personne ou plusieurs ayant décidé de façon déterminée et coordonnée de faire cuire la grenouille __gn_ces_aux_pluriel_1m__ [ces|aux] *WORD <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. <<- /gn/ __also__ and morph(\2, ">[bcdfglklmnpqrstvwxz].*:m", ":f") >>> <<- /gn/ \1.endswith("x") or \1.endswith("X") -1>> au # Accord de nombre erroné : « \2 » est au pluriel. <<- /gn/ __else__ -1>> ce # Accord de nombre erroné : « \2 » est au pluriel. TEST: {{ces}} {{détournement}} de fonds et ces vols TEST: ces {{étudiant}} sont légion. TEST: je vais {{aux}} {{cinéma}} TEST: il l’a donné aux {{étudiant}} __gn_plusieurs_1m__ plusieurs *WORD <<- /gn/ (morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]"))) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: plusieurs {{foi}} par jour. ## Autres pluriels ## certains / certaines __gn_certains_1m__ certains *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ ( morph(\2, ":[NA].*:s", ":(?:[ipGWP]|V0)") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) or \1 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. __gn_certains_des_1m__ certains des *WORD <<- /gn/ morph(\3, ":[NA].*:f", ":[emGW]") -1>> certaines # Accord de genre erroné : « \3 » est féminin. <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasPlur(\3, True) # Accord de genre erroné : « \1 » est un déterminant masculin. __gn_certaines_1m__ certaines *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGWP]") -1>> certains # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) # Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ ( morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) ) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. __gn_certaines_des_1m__ certaines des *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":[efGW]") -1>> certains # Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True) # Accord de genre erroné : « \1 » est un déterminant féminin. TEST: Certaines {{danse}} TEST: Certains {{chien}} TEST: {{certains}} des {{nouvelles}} sont à côté de la plaque. TEST: {{certaines}} des hommes TEST: Un problème rapporté par certains est l’incapacité à trouver un partenaire ## quel / quels / quelle / quelles __gn_quel_1m__ quel *WORD <<- /gn/ morph(\2, ":[NA].*:f:p", ":(?:V0|Oo|[NA].*:[me]:[si])") -1>> quelles # Accord de genre et de nombre erroné : « \2 » est féminin et au pluriel. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre et de nombre erroné : « \1 » est masculin et au singulier. <<- /gn/ morph(\2, ":[NA].*:m:p", ":(?:V0|Oo|[NA].*:[me]:[si])") -1>> quels # Accord de nombre erroné : « \2 » est au pluriel. <<- /gn/ __also__ -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » est au singulier. <<- /gn/ morph(\2, ":[NA].*:f:[si]", ":(?:V0|Oo|[NA].*:[me]:[si])") -1>> quelle # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasSing(\2, True) # Accord de genre erroné : « \1 » est masculin. __gn_quels_1m__ quels *WORD <<- /gn/ morph(\2, ":[NA].*:f:s", ":(?:V0|Oo|[NA].*:[me]:[pi])") -1>> quelle # Accord de genre et de nombre erroné : « \2 » est féminin et au singulier. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre et de nombre erroné : « \1 » est masculin et au pluriel. <<- /gn/ morph(\2, ":[NA].*:m:s", ":(?:V0|Oo|[NA].*:[me]:[pi])") -1>> quel # Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __also__ -2>> =suggPlur(\2) # Accord de nombre erroné : « \1 » est au pluriel. <<- /gn/ morph(\2, ":[NA].*:f:[pi]", ":(?:V0|Oo|[NA].*:[me]:[pi])") -1>> quelles # Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggMasPlur(\2, True) # Accord de genre erroné : « \1 » est masculin. __gn_quelle_1m__ quelle *WORD <<- /gn/ morph(\2, ":[NA].*:m:p", ":(?:V0|Oo|[NA].*:[fe]:[si])") -1>> quels # Accord de genre et de nombre erroné : « \2 » est masculin et au pluriel. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre et de nombre erroné : « \1 » est féminin et au singulier. <<- /gn/ morph(\2, ":[NA].*:f:p", ":(?:V0|Oo|[NA].*:[fe]:[si])") -1>> quelles # Accord de nombre erroné : « \2 » est au pluriel. <<- /gn/ __also__ -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » est au singulier. <<- /gn/ morph(\2, ":[NA].*:m:[si]", ":(?:V0|Oo|[NA].*:[fe]:[si])") -1>> quel # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemSing(\2, True) # Accord de genre erroné : « \1 » est féminin. __gn_quelles_1m__ quelles *WORD <<- /gn/ morph(\2, ":[NA].*:m:s", ":(?:V0|Oo|[NA].*:[fe]:[pi])") -1>> quel # Accord de genre et de nombre erroné. « \2 » est masculin et au singulier. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) # Accord de genre et de nombre erroné : « \1 » est féminin et au pluriel. <<- /gn/ morph(\2, ":[NA].*:f:s", ":(?:V0|Oo|[NA].*:[fe]:[pi])") -1>> quelle # Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __also__ -2>> =suggPlur(\2) # Accord de nombre erroné : « \1 » est au pluriel. <<- /gn/ morph(\2, ":[NA].*:m:[pi]", ":(?:V0|Oo|[NA].*:[fe]:[pi])") -1>> quels # Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) # Accord de genre erroné : « \1 » est féminin. TEST: {{Quelle}} homme. ->> Quel TEST: {{Quel}} femme. ->> Quelle TEST: {{Quels}} chanson. ->> Quelle TEST: {{Quelles}} {{tarés}}. TEST: Quelle sale journée… |
︙ | ︙ | |||
9281 9282 9283 9284 9285 9286 9287 | __gn_quels_quelles_accord_être__ [quels|quelles] [est|étais|était|sera|serais|serait|fut|fût|fus] <<- /gn/ not value(<1, "|tels|telles|") -1>> =\1[:-1] # Accord de nombre erroné avec “\2”. __gn_quel_accord_être_sujet__ quel [est|était|seras|sera|serais|serait|fut|fût|fus] [la|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] *WORD | | | | | | 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 | __gn_quels_quelles_accord_être__ [quels|quelles] [est|étais|était|sera|serais|serait|fut|fût|fus] <<- /gn/ not value(<1, "|tels|telles|") -1>> =\1[:-1] # Accord de nombre erroné avec “\2”. __gn_quel_accord_être_sujet__ quel [est|était|seras|sera|serais|serait|fut|fût|fus] [la|cette|mon|ton|son|ma|ta|sa|notre|votre|leur] *WORD <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:f", ":[me]") -1>> quelle # Accord de genre erroné avec « \3 \4 ». __gn_quelle_accord_être_sujet__ quelle [est|était|seras|sera|serais|serait|fut|fût|fus] [le|ce|cet|mon|ton|son|notre|votre|leur] *WORD <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:m", ":[fe]") -1>> quel # Accord de genre erroné avec « \3 \4 ». __gn_quels_accord_être_sujet__ quels [sont|étaient|seront|serons|seraient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs] *WORD <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:f", ":[me]") -1>> quelles # Accord de genre erroné avec « \3 \4 ». __gn_quelles_accord_être_sujet__ quelles [sont|étaient|seront|serons|seraient|furent|fussent] [les|ces|mes|tes|ses|nos|vos|leurs] *WORD <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:m", ":[fe]") -1>> quels # Accord de genre erroné avec « \3 \4 ». TEST: {{Quel}} sont ces hommes. ->> Quels TEST: {{Quel}} est cette force ? ->> Quelle TEST: {{Quelle}} est mon animal favori ? ->> Quel TEST: {{Quels}} sont ces femmes ? ->> Quelles TEST: {{Quelles}} est cette imbécillité ? ->> Quelle |
︙ | ︙ | |||
9364 9365 9366 9367 9368 9369 9370 | TEST: des {{son}} que nous entendons jour et nuit. TEST: j’entends ces {{même}} âneries tous les jours ## Pluriel des groupes __gn_nombre_de_1m__ nombre [de|d’] *WORD | | | | 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 | TEST: des {{son}} que nous entendons jour et nuit. TEST: j’entends ces {{même}} âneries tous les jours ## Pluriel des groupes __gn_nombre_de_1m__ nombre [de|d’] *WORD <<- /gn/ (morph(\3, ":[NA].*:s", ":[ip]|>o(?:nde|xydation|r)/") and morph(<1, ":(?:G|[123][sp])|<start>", ":[AD]")) or \3 in aREGULARPLURAL -3>> =suggPlur(\3) # Ici, « nombre de » devrait probablement être suivi d’un pluriel. TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui. __gn_det_groupe_de_1m__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques] [>centaine|>millier|>million|>milliard|>dixaine|>douzaine|>multitude|>horde] [de|d’] *WORD <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]") or \4 in aREGULARPLURAL -4>> =suggPlur(\4) # Avec des « \2 \3 \4 », mettre au pluriel. TEST: des centaines de {{bête}} à cornes passèrent devant nous. ->> bêtes TEST: une multitude d’{{homme}} ->> hommes ## quelque adverbe |
︙ | ︙ | |||
9399 9400 9401 9402 9403 9404 9405 | TEST: les quelque 2,5 millions d’habitants TEST: les quelque 12 000 stations-service ## Nombres __gn_nombre_lettres_1m__ @:B:e:p *WORD | | | | | | | | 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 | TEST: les quelque 2,5 millions d’habitants TEST: les quelque 12 000 stations-service ## Nombres __gn_nombre_lettres_1m__ @:B:e:p *WORD <<- /gn/ not value(\1, "|neuf|mille|") and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") ) or \2 in aREGULARPLURAL) -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. neuf *WORD <<- /gn/ ( morph(\2, ":[NA].*:s", "*") and not morph(<1, ":N.*:m:[is]") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") ) or \2 in aREGULARPLURAL -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. mille *WORD <<- /gn/ (morph(\2, ":[NA].*:s", "*") or \1 in aREGULARPLURAL) and not value(<1, "|le|un|ce|du|") -2>> =suggPlur(\2) # Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. TEST: ce sont trois {{idiot}} pas foutus de trouver leur chemin avec un GPS. TEST: Il a abandonné neuf {{enfant}}. TEST: On peut trouver mille {{travailleur}} d’un claquement de doigts. TEST: un logement neuf bâti par des professionnels. TEST: un mille marin. __gn_nombre_chiffres_1m__ [0|1|01] @:[NAQ].*:p¬* <<- /gn/ not value(\2, "|Rois|Corinthiens|Thessaloniciens|") -2>> =suggSing(\2) # Accord de nombre erroné : « \1 » devrait être au singulier. ~^\d+$ *WORD <<- /gn/ not value(<1, "|/|") and not re.search("^0*[01]$", \1) and ( (morph(\2, ":[NA].*:s", "*") and not value(\2, "|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|")) or \1 in aREGULARPLURAL ) -2>> =suggPlur(\2) # Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: 00 heure, 01 heure TEST: il a adopté 1 {{chiens}}. TEST: 22 {{heure}} TEST: 3 {{heure}} ## trouver ça/ceci/cela + adj __gn_trouver_ça_adj__ >trouver [ça|cela|ceci] @:A.*:(?:f|m:p)¬:(?:G|3[sp]|M) <<- /gn/ -3>> =suggMasSing(\3) # Trouver \2 + [adjectif] : l’adjectif s’accorde avec “\2” (au masculin singulier). TEST: ils trouvent ça de plus en plus {{idiots}} ->> idiot !! !! |
︙ | ︙ | |||
9530 9531 9532 9533 9534 9535 9536 | TEST: avec {{grand}} {{industrie}} TEST: sur {{petite}} {{pied}} TEST: Après être demeurée assise pendant quelque temps, elle se leva TEST: ils choisissent de devenir indépendants __gn_de_manière_façon_1m__ | | | 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 | TEST: avec {{grand}} {{industrie}} TEST: sur {{petite}} {{pied}} TEST: Après être demeurée assise pendant quelque temps, elle se leva TEST: ils choisissent de devenir indépendants __gn_de_manière_façon_1m__ de [manière|façon] @:A.*:(?:m|f:p)¬:[GM] <<- /gn/ -3>> =suggFemSing(\3) # Accord erroné avec “\2” : l’adjectif devrait être au féminin singulier. TEST: il fit cela tans de fois et avec brio de manière {{élégant}}. TEST: elle s’y prit avec cet individu de façon {{charmant}}. @@@@ |
︙ | ︙ |