Grammalecte  Check-in [2595f0d522]

Overview
Comment:[fr] faux positif: nôtre/vôtre
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 2595f0d522a07bf5495eacea4a9149b99e3f562b74467fda1ccd678cbc10d688
User & Date: olr on 2017-06-17 06:25:49
Other Links: manifest | tags
Context
2017-06-17
06:28
[fr] tests pour la règle x_fois_par_période check-in: fd86898b60 user: olr tags: trunk, fr
06:25
[fr] faux positif: nôtre/vôtre check-in: 2595f0d522 user: olr tags: trunk, fr
2017-06-15
21:44
[fr] phonet_simil: des centaines de nouvelles entrées (tirées des données de Wiktionnaire par Benoit S.) check-in: 1deba2f4d2 user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/modules/conj.py from [55e5497434] to [06f8c4bce7].

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def getVtyp (sVerb):
    "returns raw informations about sVerb"
    if sVerb not in _dVerb:
        return None
    return _lVtyp[_dVerb[sVerb][0]]


def getSimil (sWord, sMorph):
    if ":V" not in sMorph:
        return set()
    sInfi = sMorph[1:sMorph.find(" ")]
    tTags = _getTags(sInfi)
    aSugg = set()
    if ":Q" in sMorph:
        # we suggest conjugated forms







|







51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
def getVtyp (sVerb):
    "returns raw informations about sVerb"
    if sVerb not in _dVerb:
        return None
    return _lVtyp[_dVerb[sVerb][0]]


def getSimil (sWord, sMorph, sFilter=None):
    if ":V" not in sMorph:
        return set()
    sInfi = sMorph[1:sMorph.find(" ")]
    tTags = _getTags(sInfi)
    aSugg = set()
    if ":Q" in sMorph:
        # we suggest conjugated forms

Modified gc_lang/fr/rules.grx from [76c7c69c17] to [0b787368d4].

7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247

7248
7249
7250
7251
7252
7253
7254
# notre / nôtre -- votre / vôtre
# Hunspell corrige déjà les formes au pluriel (les nôtres).
__[i]/conf(conf_les_nôtres)__
    (?:les?|la|du|des|aux?) ([nv]otres?)  @@$
    <<- not (\1 == "Notre" and after("Père")) -1>> =\1.replace("otre", "ôtre")                      # Confusion : « notre possession », « la nôtre ».
__[i]/conf(conf_notre_votre_qqch)__
    ([nv]ôtres?) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(les?|la|du|des|aux?) +") and morph(\2, ":[NAQ]", False)
    -1>> =\1.replace("ôtre", "otre").rstrip("s")                                                    # Confusion : « notre possession », « la nôtre ».

TEST: C’est la {{votre}} ?
TEST: {{nôtre}} père est si âgé.



# nulle part
__[i]/conf(conf_nulle_part)__
    nul part <<- not morph(word(-1), ":D", False, False) ->> nulle part                             # Confusion : pour dire « en aucun lieu », écrivez :

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration







|




>







7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
# notre / nôtre -- votre / vôtre
# Hunspell corrige déjà les formes au pluriel (les nôtres).
__[i]/conf(conf_les_nôtres)__
    (?:les?|la|du|des|aux?) ([nv]otres?)  @@$
    <<- not (\1 == "Notre" and after("Père")) -1>> =\1.replace("otre", "ôtre")                      # Confusion : « notre possession », « la nôtre ».
__[i]/conf(conf_notre_votre_qqch)__
    ([nv]ôtres?) ({w_2})  @@0,$
    <<- not before(r"(?i)\b(les?|la|du|des|aux?) +") and morphex(\2, ":[NAQ]", ":D")
    -1>> =\1.replace("ôtre", "otre").rstrip("s")                                                    # Confusion : « notre possession », « la nôtre ».

TEST: C’est la {{votre}} ?
TEST: {{nôtre}} père est si âgé.
TEST: nous vous proposons de faire vôtre une autre volonté


# nulle part
__[i]/conf(conf_nulle_part)__
    nul part <<- not morph(word(-1), ":D", False, False) ->> nulle part                             # Confusion : pour dire « en aucun lieu », écrivez :

TEST: car {{nul part}} ailleurs, on n’en trouve une telle concentration
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
TEST: c’est vous qui m’avez {{convertit}}.
TEST: parce que t’as envie que je le fasse



!!
!!
!!!! COD précédent que                                                                                  
!!
!!

__[i]/ppas(ppas_det_plur_COD_que_avoir)__
    ([ldmtsc]es) +({w_2}) +que? +(?:j’|tu |ils? |[nv]ous |elles? |on ) *(?:ne +|n’|)({avoir}) +({w_2}[éiust]e?)(?! [mts]’)  @@0,w,w,$
    <<- morph(\3, ":V0a", False)
    and not ((re.search("^(?:décidé|essayé|tenté)$", \4) and after(" +d(?:e |’)")) or (re.search("^réussi$", \4) and after(" +à")))







|







9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
TEST: c’est vous qui m’avez {{convertit}}.
TEST: parce que t’as envie que je le fasse



!!
!!
!!!! COD précédant que                                                                                  
!!
!!

__[i]/ppas(ppas_det_plur_COD_que_avoir)__
    ([ldmtsc]es) +({w_2}) +que? +(?:j’|tu |ils? |[nv]ous |elles? |on ) *(?:ne +|n’|)({avoir}) +({w_2}[éiust]e?)(?! [mts]’)  @@0,w,w,$
    <<- morph(\3, ":V0a", False)
    and not ((re.search("^(?:décidé|essayé|tenté)$", \4) and after(" +d(?:e |’)")) or (re.search("^réussi$", \4) and after(" +à")))