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: fr, trunk
06:25
[fr] faux positif: nôtre/vôtre check-in: 2595f0d522 user: olr tags: fr, trunk
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: fr, trunk
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
....
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
# 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
................................................................................
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(" +à")))







|




>







 







|







7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
....
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
# 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
................................................................................
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(" +à")))