Overview
Comment: | merge trunk |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | rg |
Files: | files | file ages | folders |
SHA3-256: |
10458c45e62ef3268af7059f15d368e3 |
User & Date: | olr on 2018-06-18 18:13:42 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-18
| ||
18:28 | [core] small debugging modification check-in: d5decbf54f user: olr tags: core, rg | |
18:13 | merge trunk check-in: 10458c45e6 user: olr tags: rg | |
18:07 | [fr] conversion: regex rules -> graph rules check-in: 4dd0153de3 user: olr tags: fr, rg | |
2018-06-15
| ||
20:44 | [fr] faux positif: accord de laisser avec les pronoms sans impératif check-in: 24d41be12e user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [5b143a2536] to [4750549bc1].
︙ | ︙ | |||
7464 7465 7466 7467 7468 7469 7470 | __[i]/gn(gn_devinette2)__ (?:le|un|cet?) +{w_2} +d(?:e cet?|u|’un) +(?!des )({w_2}) +({w_2}) @@w,$ <<- morphex(\2, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\1, \2) -2>> =suggMasSing(@, True) # Accord erroné : « \2 » devrait être au masculin singulier. __[i]/gn(gn_devinette3)__ | | | 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 | __[i]/gn(gn_devinette2)__ (?:le|un|cet?) +{w_2} +d(?:e cet?|u|’un) +(?!des )({w_2}) +({w_2}) @@w,$ <<- morphex(\2, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\1, \2) -2>> =suggMasSing(@, True) # Accord erroné : « \2 » devrait être au masculin singulier. __[i]/gn(gn_devinette3)__ (?:le|un|cet?) +{w_2} +de [mts]on +(?!ex-)({w_2}) +({w_2}) @@w,$ <<- not morph(\1, ":[NAQ].*:f|>[aéeiou].*:e", False) and morphex(\2, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|m:[is]|V0|3[sp])") and not apposition(\1, \2) -2>> =suggMasSing(@, True) # Accord erroné : « \2 » devrait être au masculin singulier. __[i]/gn(gn_devinette4)__ [mts]on +({w_2}) +d(?:e cet?|u|’un) +(?!des )({w_2}) +({w_2}) @@w,w,$ <<- morphex(\1, ":[NAQ].*:m", ":G|>[aéeiou].*:[ef]") and morphex(\3, ":[NAQ].*:(?:f|m:p)", ":(?:G|P|[me]:[is]|V0|3[sp])") and not apposition(\2, \3) |
︙ | ︙ | |||
7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 | TEST: Le chien du voisin {{mourante}} ->> mourant TEST: Un chien de ce voisin {{amicale}} ->> amical TEST: Les hommes des mines {{voisin}} ->> voisins TEST: mon amour du chocolat {{immodérée}} ->> immodéré TEST: ton amour de son verbe {{enthousiasmante}} ->> enthousiasmant TEST: Cet homme de mon groupe {{oubliés}} ->> oublié TEST: Lutter contre le chômage de masse avec les armes des travailleurs reste pour nous une priorité. ## divers __[i]/gn(gn_de_telle_sorte)__ de tel(?:s? sorte(?:s|nt|)|les sorte(?:s|nt|)|le sorte(?:s|nt)) <<- ->> de telle sorte # Accord erroné. | > | 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 | TEST: Le chien du voisin {{mourante}} ->> mourant TEST: Un chien de ce voisin {{amicale}} ->> amical TEST: Les hommes des mines {{voisin}} ->> voisins TEST: mon amour du chocolat {{immodérée}} ->> immodéré TEST: ton amour de son verbe {{enthousiasmante}} ->> enthousiasmant TEST: Cet homme de mon groupe {{oubliés}} ->> oublié TEST: Lutter contre le chômage de masse avec les armes des travailleurs reste pour nous une priorité. TEST: le meurtre de son ex-petite amie ## divers __[i]/gn(gn_de_telle_sorte)__ de tel(?:s? sorte(?:s|nt|)|les sorte(?:s|nt|)|le sorte(?:s|nt)) <<- ->> de telle sorte # Accord erroné. |
︙ | ︙ | |||
10007 10008 10009 10010 10011 10012 10013 | de [mtsn]e l(?:es?|a) +({w_2}(?:ée?s?|ai(?:en|)[st]?|ez)) @@$ <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. <<- ~>> * TEST: de me le {{facturez}} | | | | | | > > > > > > > > > > > | < | 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 | de [mtsn]e l(?:es?|a) +({w_2}(?:ée?s?|ai(?:en|)[st]?|ez)) @@$ <<- morph(\1, ":V", False) -1>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. <<- ~>> * TEST: de me le {{facturez}} __[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. TEST: elle fit peu {{mangé}} les enfants TEST: fait pourtant avéré et corroboré par le même sondage. TEST: Tu fais {{décoloré}} tes cheveux ? __[i]/infi(infi_vouloir)__ (v[oe]u\w+) +({w_2}(?:ée?s?|ez)) @@0,$ <<- morph(\1, ">vouloir/", False) and not before(r"(?i)\b(?:[mtsldc]es?|[nv]ous|un) +$") and morphex(\2, ":V", ":M") and not (re.search("(?i)^vouloir$", \1) and \2.endswith("é")) and not (re.search("(?i)^vouloirs$", \1) and \2.endswith("és")) -2>> =suggVerbInfi(@) # Le 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é}} __[i]/infi(infi_me_te_se_faire)__ [mts]e (f(?:ai|[iî]|er|on)\w+) +({w_2}(?:ée?s?|ez)) @@0,$ <<- morph(\1, ">faire/", False) and morphex(\2, ":V", ":M") -2>> =suggVerbInfi(@) # Le verbe devrait être à l’infinitif. |
︙ | ︙ | |||
11457 11458 11459 11460 11461 11462 11463 | TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs) TEST: Notez le peu de cas qui en est fait en général dans les médias TEST: deux fois par an, souligne le Dr Assouline __[i]/imp(imp_laisser_le_la_les_infi)__ ((laiss\w+) l(?:es|a)) +({w_2}) @@0,0,$ | | > | 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 | TEST: « C’est ainsi », résume la cyptologue (erreur orthographique délibérée sur “cyptologue” pour empêcher certains faux positifs) TEST: Notez le peu de cas qui en est fait en général dans les médias TEST: deux fois par an, souligne le Dr Assouline __[i]/imp(imp_laisser_le_la_les_infi)__ ((laiss\w+) l(?:es|a)) +({w_2}) @@0,0,$ <<- morph(\2, ">laisser/.*:E", False) and morphex(\3, ":(?:Y|X|Oo)", ":[NAB]") -1>> =\1.replace(" ", "-") # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Laisse les}} entrer… TEST: {{Laissez la}} venir… TEST: Laisse les chiens tranquilles TEST: Laissez la peste leur pourrir la vie encore quelque temps. TEST: le coût humain de la guerre qu’il a laissé les submerger. __<i]/imp(imp_apostrophe_m_t_en)__ ([ -][mt])-en @@0 <<- not (\0.endswith("t-en") and before(r"(?i)\bva$") and morph(word(1), ">guerre/", False, False)) ->> \1’en # « \1e » est ici abrégé, c’est une forme élidée. Il faut mettre une apostrophe et non un trait d’union. |
︙ | ︙ |