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: |
2c2013067a9dc50a294906756114cab9 |
User & Date: | olr on 2018-06-29 17:14:11 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-29
| ||
17:56 | [fr] conversion: regex rules -> graph rules check-in: 02986d2c03 user: olr tags: fr, rg | |
17:14 | [fr] conversion: regex rules -> graph rules check-in: 2c2013067a user: olr tags: fr, rg | |
15:32 | [core] fix intertwined bugs concerning switches between regex rules and graph rules (the transition is a mess) check-in: c6acf0a935 user: olr tags: core, rg | |
Changes
Modified gc_lang/fr/rules.grx from [0f2bfff00f] to [9e1e612bbf].
︙ | ︙ | |||
6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 | <<- ~>> _ en cours ~¬^(?:de|d’)$ <<- ~1:2>> * de [mes|tes|ses|nos|vos|leurs] yeux [vu|vue|vus|vues] <<- ~1:3>> * en lieu et place [de|des|du] <<- ~2:4>> * en l’ [absence|honneur] [de|des|du] en plein milieu [de|des|du] <<- ~2:3>> * | > > > > > > > > > > > > | 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 | <<- ~>> _ en cours ~¬^(?:de|d’)$ <<- ~1:2>> * de [mes|tes|ses|nos|vos|leurs] yeux [vu|vue|vus|vues] <<- ~1:3>> * elle aussi @:A:[fe]:s <<- ~1:2>> * elle aussi @:W¬:(?:3s|X) [<end>|@:A:[fe]:s] <<- ~1:2>> * elles aussi @:A:[fe]:p <<- ~1:2>> * elle aussi @:W¬:(?:3p|X) [<end>|@:A:[fe]:p] <<- ~1:2>> * en lieu et place [de|des|du] <<- ~2:4>> * en l’ [absence|honneur] [de|des|du] en plein milieu [de|des|du] <<- ~2:3>> * |
︙ | ︙ | |||
7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 | <<- morph(\2, ":M") and not before(r"\b(?:plus|moins|aussi) .* que +$") ~2:4>> =rewriteSubject(\2,\4) + "||" <start> ~^[A-ZÉÈÊ] et [moi|toi|lui|elle|nous|vous|eux|elles] <<- morph(\2, ":M") ~2:0>> =rewriteSubject(\2,\4) + "||" @@@@ @@@@END_GRAPH _ @@@@ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | < < < < < < < < < | | < < < < < < < < < | 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 | <<- morph(\2, ":M") and not before(r"\b(?:plus|moins|aussi) .* que +$") ~2:4>> =rewriteSubject(\2,\4) + "||" <start> ~^[A-ZÉÈÊ] et [moi|toi|lui|elle|nous|vous|eux|elles] <<- morph(\2, ":M") ~2:0>> =rewriteSubject(\2,\4) + "||" __purge_après_être__ >être [bon|meilleur] marché >être avant tout >être cousin et cousine >être de passage >être du moins >être en partie >être frère et sœur >être mari et femme >être mission impossible >être monnaie courante >être papa et maman >être partie [intégrante|prenante] >être pieds et poings liés >être pieds nus >être père et mère >être somme toute >être sous peu >être tous [deux|trois] >être un jour >être à jamais >être [pas|jamais|plus|point] <<- ~2:0>> * ~-ils$ [bon|meilleur] marché ~-ils$ avant tout ~-ils$ cousin et cousine ~-ils$ de passage ~-ils$ du moins ~-ils$ en partie ~-ils$ frère et sœur ~-ils$ mari et femme ~-ils$ mission impossible ~-ils$ monnaie courante ~-ils$ papa et maman ~-ils$ partie [intégrante|prenante] ~-ils$ pieds et poings liés ~-ils$ pieds nus ~-ils$ père et mère ~-ils$ somme toute ~-ils$ sous peu ~-ils$ tous [deux|trois] ~-ils$ un jour ~-ils$ à jamais ~-ils$ [pas|jamais|plus|point] <<- morph(\1, ">V0e", 0, -4) ~2:0>> * ~-[nv]ous$ [bon|meilleur] marché ~-[nv]ous$ avant tout ~-[nv]ous$ cousin et cousine ~-[nv]ous$ de passage ~-[nv]ous$ du moins ~-[nv]ous$ en partie ~-[nv]ous$ frère et sœur ~-[nv]ous$ mari et femme ~-[nv]ous$ mission impossible ~-[nv]ous$ monnaie courante ~-[nv]ous$ papa et maman ~-[nv]ous$ partie [intégrante|prenante] ~-[nv]ous$ pieds et poings liés ~-[nv]ous$ pieds nus ~-[nv]ous$ père et mère ~-[nv]ous$ somme toute ~-[nv]ous$ sous peu ~-[nv]ous$ tous [deux|trois] ~-[nv]ous$ un jour ~-[nv]ous$ à jamais ~-[nv]ous$ [pas|jamais|plus|point] <<- morph(\1, ">V0e", 0, -5) ~2:0>> * ~-elles$ [bon|meilleur] marché ~-elles$ avant tout ~-elles$ cousin et cousine ~-elles$ de passage ~-elles$ du moins ~-elles$ en partie ~-elles$ frère et sœur ~-elles$ mari et femme ~-elles$ mission impossible ~-elles$ monnaie courante ~-elles$ papa et maman ~-elles$ partie [intégrante|prenante] ~-elles$ pieds et poings liés ~-elles$ pieds nus ~-elles$ père et mère ~-elles$ somme toute ~-elles$ sous peu ~-elles$ tous [deux|trois] ~-elles$ un jour ~-elles$ à jamais ~-elles$ [pas|jamais|plus|point] <<- morph(\1, ">V0e", 0, -6) ~2:0>> * >être beaucoup >être bien entendu >être dans [l’|leur|son] ensemble >être [à|en] ce moment ?précis¿ >être [à|en] cet instant ?précis¿ >être sans peine >être un [moment|peu|minimum] >être un petit peu >être un tout petit peu <<- morph(>1, ":[QY]") ~2:0>> * ~-ils$ beaucoup ~-ils$ bien entendu ~-ils$ dans [l’|leur|son] ensemble ~-ils$ [à|en] ce moment ?précis¿ ~-ils$ [à|en] cet instant ?précis¿ ~-ils$ sans peine ~-ils$ un [moment|peu|minimum] ~-ils$ un petit peu ~-ils$ un tout petit peu <<- morph(\1, ">V0e", 0, -4) and morph(>1, ":[QY]") ~2:0>> * ~-[nv]ous$ beaucoup ~-[nv]ous$ bien entendu ~-[nv]ous$ dans [l’|leur|son] ensemble ~-[nv]ous$ [à|en] ce moment ?précis¿ ~-[nv]ous$ [à|en] cet instant ?précis¿ ~-[nv]ous$ sans peine ~-[nv]ous$ un [moment|peu|minimum] ~-[nv]ous$ un petit peu ~-[nv]ous$ un tout petit peu <<- morph(\1, ">V0e", 0, -5) and morph(>1, ":[QY]") ~2:0>> * ~-elles$ beaucoup ~-elles$ bien entendu ~-elles$ dans [l’|leur|son] ensemble ~-elles$ [à|en] ce moment ?précis¿ ~-elles$ [à|en] cet instant ?précis¿ ~-elles$ sans peine ~-elles$ un [moment|peu|minimum] ~-elles$ un petit peu ~-elles$ un tout petit peu <<- morph(\1, ">V0e", 0, -6) and morph(>1, ":[QY]") ~2:0>> * on ne peut [plus|moins] on ne peut pas [plus|moins] plus que <<- morph(<1, ":(?:V0e|N)") and morph(>1, ":[AQ]") ~>> * @@@@ @@@@END_GRAPH _ @@@@ # après avoir __[i](p_avoir_être_loc_adv1)__ ({avoir}) +(pas|jamais|plus|en partie|point|tous (?:deux|trois)|somme toute) @@0,$ <<- morph(\1, ":V0", False) ~2>> * __[i](p_avoir_être_loc_adv2)__ ({avoir}) +(beaucoup|bien entendu|dans (?:leur |son |l’)ensemble|à ce(?:t (?:instant|endroit)| moment)|sans peine|un (?:moment|peu|minimum|petit peu|tout petit peu)) +({w_2}) @@0,w,$ <<- morph(\1, ":V0", False) and morph(\3, ":[QY]", False) ~2>> * __[i](p_avoir_loc_adv)__ ({avoir}) +(besoin|bon (?:dos|pied,? bon œil)|carte blanche|confiance|conscience|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre) @@0,$ <<- morph(\1, ":V0a", False) and not (\2 == "crainte" and before(r"\w")) ~2>> * __[i](p_avoir_pronom_loc_adv)__ ({avoir})-(?:je|tu|ils?|elles?|nous|vous|on) +(besoin|bon (?:dos|pied,? bon œil)|carte blanche|confiance|conscience|crainte|faim|forme humaine|honte|partie (?:gagnée|liée)|peur|soif|voix au chapitre) @@0,$ <<- morph(\1, ":V0a", False) ~2>> * __[i](p_avoir_tous_toutes_les)__ ({avoir}) +(tou(?:te|)s les ({w_2})) +({w_2}) @@0,w,>3:$,$ <<- morph(\1, ":V0a", False) and morph(\3, ":B", False) and morph(\4, ">besoin/|:(?:Q|V1.*:Y)", False) ~2>> * # après verbe __[i](p_verbe_loc_adv1)__ ({w1}) (?:pas |)(jour et nuit|quand même(?: pas|)) @@0,$ <<- morph(\1, ":V", False) ~2>> * __[i](p_verbe_loc_adv2)__ ({w_2}) (bien entendu|juste|ensemble) @@0,$ <<- morph(\1, ":V[123]") ~2>> * __[i](p_verbe_loc_adv3)__ ({w_2}) ((?:fort|très|super) (?:bien|mal)|bien|mal) @@0,$ <<- morph(\1, ":V[123]", False) ~2>> * __[i](p_verbe_pronom_aussi)__ ({w_1}) ((?:[mt]oi|[nv]ous|elles?|lui|eux) aussi) @@0,$ <<- morph(\1, ":V", False) ~2>> * __[i](p_tout_aussi)__ (?:tout |)aussi <<- ~>> * |
︙ | ︙ | |||
13797 13798 13799 13800 13801 13802 13803 | TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça. TEST: Veuillez vous instruire avant de contester ces mesures. TEST: C’était elle qui avait pris le contrôle. __[i]/inte(inte_je)__ ({w1})-je @@0 | | | | | | | | | | | | | | | | | 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 | TEST: je ne comprenais pas pourquoi c’était elle qui était punie et que personne ne parlait de celui qui avait fait ça. TEST: Veuillez vous instruire avant de contester ces mesures. TEST: C’était elle qui avait pris le contrôle. __[i]/inte(inte_je)__ ({w1})-je @@0 <<- analysex(\1, ":V", ":1[sśŝ]") -1>> =suggVerb(@, ":1ś") # Forme interrogative : « \1 » n’est pas un verbe à la 1ʳᵉ personne du singulier. <<- not morph(\1, ":V", False) -1>> =suggSimil(\1, ":1[sśŝ]", False) # Forme interrogative : « \1 » n’est pas un verbe à la 1ʳᵉ personne du singulier. TEST: {{Vas}}-je ->> Vais TEST: {{Prit}}-je ->> Pris TEST: {{prix}}-je le temps d’y parvenir ? Oui. __[i]/inte(inte_tu)__ ({w1})-tu @@0 <<- analysex(\1, ":V", ":[ISK].*:2s") -1>> =suggVerb(@, ":2s") # Forme interrogative. « \1 » n’est pas un verbe à la 2ᵉ personne du singulier. <<- not analyse(\1, ":V", False) -1>> =suggSimil(\1, ":2s", False) # Forme interrogative : « \1 » n’est pas un verbe à la 2ᵉ personne du singulier. TEST: {{Peut}}-tu ->> Peux TEST: {{peu}}-tu revenir chez moi ? __[i]/inte(inte_il_elle_on)__ ({w1})-(?:t-|)(il|elle|on) @@0,$ <<- analysex(\1, ":V", ":3s") -1>> =suggVerb(@, ":3s") # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier. <<- \1 != "t" and (not \1.endswith("oilà") or \2 != "il") and analysex(\1, ":", ":V") -1>> =suggSimil(\1, ":3s", False) # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier. <<- not \2.endswith(("n", "N")) and analysex(\1, ":3p", ":3s") -2>> \2s # Forme interrogative : accordez “\2” avec le verbe à la 3ᵉ personne du pluriel. TEST: {{Peux}}-il ->> Peut TEST: {{Attaques}}-t-on ->> Attaque TEST: {{Prends}}-elle ->> Prend TEST: {{Menthe}}-t-elle souvent ? TEST: {{viennent}}-{{il}} demain ? TEST: Le moteur choisi convient-il ? __[s]/inte(inte_ce)__ ({w_2})-([cs]e) @@0,$ <<- analysex(\1, ":V", ":(?:3s|V0e.*:3p)") -1>> =suggVerb(@, ":3s") # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132 <<- analysex(\1, ":", ":V") -1>> =suggSimil(\1, ":3s", False) # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du singulier.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132 <<- \2 == "se" -2>> ce # Forme interrogative. Confusion.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4132 TEST: était-{{se}} cela, la vérité ineffable ? TEST: {{étai}}-ce notre destinée de souffrir ? TEST: étaient-{{se}} ces hommes-là qui allaient nous guider dans les montagnes ? TEST: Était-ce des femmes de ce pays ? TEST: Eh ! dit Athos, ne sont-ce pas des braconniers qu’on arrête là-bas ? __[i]/inte(inte_nous)__ ({w1})-nous @@0 <<- analysex(\1, ":V", ":(?:1p|E:2[sp])") -1>> =suggVerb(@, ":1p") # Forme interrogative ou impérative incorrecte. <<- analysex(\1, ":", ":V|>chez/") -1>> =suggSimil(\1, ":1p", False) # Forme interrogative ou impérative incorrecte. TEST: {{Prendront}}-nous ->> Prendrons TEST: {{Attendront}}-nous le train ->> Attendrons __[i]/inte(inte_vous)__ ({w1})-vous @@0 <<- analysex(\1, ":V", ":2p") -1>> =suggVerb(@, ":2p") # Forme interrogative ou impérative incorrecte. <<- not analyse(\1, ":V|>chez/", False) -1>> =suggSimil(\1, ":2p", False) # Forme interrogative ou impérative incorrecte. TEST: {{Attaquait}}-vous ->> Attaquiez TEST: Elle a de nombreux rendez-vous ce matin. TEST: êtes-vous là ? __[i]/inte(inte_ils_elles)__ ({w1})-(?:ils|elles) @@0 <<- analysex(\1, ":V", ":3p") and spell(\1) -1>> =suggVerb(@, ":3p") # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du pluriel. <<- \1 != "t" and not analyse(\1, ":V", False) and spell(\1) -1>> =suggSimil(\1, ":3p", False) # Forme interrogative : « \1 » n’est pas un verbe à la 3ᵉ personne du pluriel. TEST: {{attaquant}}-ils ->> attaquent TEST: {{prendrons}}-elles un verre avec moi ? !!!! Verbe auxiliaire !! __[i]/conf(conf_avoir_sujet_participe_passé)__ ({avoir})-(?:je|tu|ils?|elles?|on) +({ppas}) @@0,$ <<- analyse(\1, ">avoir/", False) and analyse(\2, ":V.......e_.*:Q", False) -1>> _ # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”. __[i]/conf(conf_sujet_avoir_participe_passé)__ (?:j’|je |tu |ils? |elles? |on ) *({avoir}) +({ppas}) @@*,$ <<- morph(\1, ">avoir/", False) and morph(\2, ":V.......e_.*:Q", False) -1>> _ # Incohérence. La forme verbale “\2” ne peut pas être utilisé avec l’auxiliaire “avoir”, seulement avec l’auxiliaire “être”. TEST: {{Ait}}-il arrivé à ses fins ? TEST: je n’{{avais}} pas parti avec eux. TEST: Avais-je partie liée avec lui ? |
︙ | ︙ |