Grammalecte  Check-in [d4deec6280]

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: d4deec6280f6bbd546b468875da5ac14e2911dc00c2f8e39e1c536dc081e20b2
User & Date: olr on 2018-07-14 12:44:25
Other Links: branch diff | manifest | tags
Context
2018-07-14
12:45
[build][core] desambiguisation: define tokens according to a slice of it check-in: c41af43fe1 user: olr tags: build, core, rg
12:44
[fr] conversion: regex rules -> graph rules check-in: d4deec6280 user: olr tags: fr, rg
12:04
[build] use default option priority for graph rules check-in: 58285f596f user: olr tags: build, rg
Changes

Modified gc_lang/fr/rules.grx from [f842ed1125] to [da3efe0557].

   905    905   
   906    906   !!
   907    907   !!
   908    908   !!!! Apostrophes                                                                                  !!
   909    909   !!
   910    910   !!
   911    911   ## Apostrophe typographique
   912         -__[i>/apos(apostrophe_typographique)__
          912  +__[i>/apos(apostrophe_typographique)!8__
   913    913       ([ldsncjmç]|jusqu|lorsqu|aujourd|presqu|quelqu|puisqu|qu|prud|entr)['´‘′`ʼ](?=[\w"«]) @@0 <<- ->> \1’    # Apostrophe typographique.
   914         -__[i>/apos(apostrophe_typographique_après_t)__
          914  +__[i>/apos(apostrophe_typographique_après_t)!8__
   915    915       t['´‘′`ʼ](?!ils?|elles?|on)(?=[\w"«]) <<- ->> t’                                                         # Apostrophe typographique.
   916    916   
   917    917   TEST: {{C'}}est l’apostrophe typographique qui manque.                    ->> C’
   918    918   TEST: C’est {{l'}}apostrophe typographique qui manque.                    ->> l’
   919    919   TEST: {{Aujourd'}}hui, je suis fatigué
   920    920   TEST: Je pense {{qu`}}elle se trompe
   921    921   TEST: Que {{t'}}arrive-t-il ?
   922    922   
   923    923   
   924         -__[i>/typo(typo_apostrophe_incorrecte)__
          924  +__[i>/typo(typo_apostrophe_incorrecte)!8__
   925    925       (([ldsncjmtç]|lorsqu|puisqu|presqu|quoiqu|quelqu|jusqu|qu|aujourd|entr)(?:[’'´‘′`ʼ][’'´‘′`ʼ ]|”|“|"| [’'´‘′`ʼ] ?))[aeéiouhœæyîèêôû]  @@0,0
   926    926       <<- not (\2.__len__() == 1  and  \1.endswith("′ ")) -1>> \2’                                    # Apostrophe incorrecte.
   927    927   
   928    928   TEST: {{C’ }}est rageant.                                                 ->> C’
   929    929   TEST: {{Lorsqu’ }}il vient, on s’ennuie.
   930    930   TEST: {{l’'}}électricien est parti
   931    931   TEST: Je pense {{qu ` }}elle ne viendra pas.
   932    932   
   933    933   
   934    934   ## Apostrophes manquantes
   935         -__[i>/typo(typo_apostrophe_manquante)__
          935  +__[i>/typo(typo_apostrophe_manquante)!8__
   936    936       "(lorsqu|puisqu|presqu|quoiqu|jusqu|qu|aujourd|entr) "  @@0  <<- ->> \1’                        # Il manque vraisemblablement une apostrophe.
   937    937   # Solution prudente :
   938         -__[i>/typo(typo_apostrophe_manquante_prudence1)__
          938  +__[i>/typo(typo_apostrophe_manquante_prudence1)!8__
   939    939       ne ([mtsl] )([aeéiouhyîèêôû][\w-]*)  @@3,$  <<- -1>> =\1[:-1]+"’"                               # Il manque une apostrophe.
   940         -__[i>/typo(typo_apostrophe_manquante_prudence2)__
          940  +__[i>/typo(typo_apostrophe_manquante_prudence2)!8__
   941    941       (?:je|tu|ils?|nous|vous|on|ça|elles?) ([nmtsl] )([aeéiouhyîèêôû][\w-]*)  @@*,$
   942    942       <<- not option("mapos") and morph(\2, ":V", False) -1>> =\1[:-1]+"’"                            # Il manque probablement une apostrophe.
   943    943   # Solution audacieuse :
   944         -__[s>/typo(typo_apostrophe_manquante_audace1)__
          944  +__[s>/typo(typo_apostrophe_manquante_audace1)!8__
   945    945       ([ldsncjmtç] )[aeéiouhAEÉIOUHyîèêôûYÎÈÊÔÛ]  @@0
   946    946       <<- option("mapos") and not before("(?i)(?:lettre|caractère|glyphe|dimension|variable|fonction|point) *$")
   947    947       -1>> =\1[:-1]+"’"                                                                               # Il manque peut-être une apostrophe.
   948    948   # Note : pour les majuscules, la règle se situe lors de la passe suivante.
   949    949   
   950    950   TEST: __mapos__ {{n }}arrive pas à sa cheville
   951    951   TEST: le coup {{qu }}avait donné                                                ->> qu’
................................................................................
  2277   2277       ->> \1-\2                                                                                       # S’il s’agit d’un seul mot, il manque un trait d’union.
  2278   2278   
  2279   2279   TEST: des {{franco américains}}
  2280   2280   TEST: {{franco américaine}}                             ->> franco-américaine
  2281   2281   TEST: {{ferro électrique}}                              ->> ferro-électrique
  2282   2282   TEST: {{rétro ingénierie}}.                             ->> rétro-ingénierie
  2283   2283   
  2284         -
  2285         -__[i]/tu(tu_préfixe_pseudo)__
  2286         -    pseudo ({w_2}) @@$
  2287         -    <<- morph(\1, ":N") ->> pseudo-\1                                                               # Si vous voulez évoquer le simulacre de “\1”, mettez un trait d’union.
  2288         -    <<- __also__ ~>> \1
  2289         -__[i](p_pseudo_xxx)__
  2290         -    (pseudo-){w_2} @@0 <<- ~1>> *
  2291         -
  2292         -TEST: il n’avait contracté qu’un {{pseudo mariage}}.
  2293         -
  2294         -
  2295   2284   
  2296   2285   
  2297   2286   @@@@
  2298   2287   @@@@
  2299   2288   @@@@
  2300   2289   @@@@
  2301   2290   @@@@GRAPH: graphe1                                                                                 _
................................................................................
  2302   2291   @@@@
  2303   2292   @@@@
  2304   2293   @@@@
  2305   2294   @@@@
  2306   2295   
  2307   2296   __tu_préfixe_divers__
  2308   2297       [anti|auto|arrière|avant|demi|extra|intra|multi|post]  *WORD
  2309         -        <<- /tu/ analyse_with_next(\1, "-", ":") and morph(<1, ":D|<start>")
         2298  +        <<- /tu/ analyse_with_next(\1, "-", ":") and (morph(<1, ":D|<start>") or value(<1, "|l’|d’|"))
  2310   2299           ->> \1-\2                                                                                   # Il manque probablement un trait d’union.
  2311   2300   
  2312   2301       [non|sans|sous]  *WORD
  2313   2302           <<- /tu/ analyse_with_next(\1, "-", ":") and morph(<1, ":D")
  2314   2303           ->> \1-\2                                                                                   # Il manque probablement un trait d’union.
  2315   2304   
  2316   2305   TEST: il a pris une balle dans l’{{arrière train}}.
  2317   2306   TEST: Ce {{sans gêne}} mérite une bonne leçon
  2318   2307   TEST: Sans gêne, il avança parmi nous.
  2319   2308   
         2309  +
         2310  +    pseudo  @:N¬*
         2311  +        <<- ->> pseudo-\2                                                                           # Si vous voulez évoquer le simulacre de “\2”, mettez un trait d’union.
         2312  +        <<- ~1>> *
         2313  +
         2314  +    ~^[pP]seudo-\w+
         2315  +        <<- =>> define_from(\1, 7)
         2316  +
         2317  +TEST: il n’avait contracté qu’un {{pseudo mariage}}.
         2318  +TEST: elle connaissait de cet {{pseudo-prêtresse}} uniquement de nom.
         2319  +
  2320   2320   
  2321   2321   __tu_mots_composés_verbe_nom__
  2322   2322       [attrape|garde|porte|brise|cache|casse|chauffe|contre|coupe|cure|croque|entre|essuie|lance|lave|lève|marque|pare|passe|perce|pèse|porte|poste|pousse|presse|protège|ramasse|serre|taille|tire|tourne|traîne|traine|vide]  *WORD
  2323   2323           <<- /tu/ not (morph(\1, ":G") and morph(\2, ":[GYB]")) and morph(<1, ":(?:D|V0e)|<start>") and analyse_with_next(\1, "-", ":N")
  2324   2324           ->> \1-\2                                                                                   # Il manque probablement un trait d’union.
  2325   2325   
  2326   2326   TEST: ce sont des {{lève tard}}.