Grammalecte  Check-in [d7488dfd42]

Overview
Comment:[fr] des +mot +mot: condition stricte pour le token précédent
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | fr | rg
Files: files | file ages | folders
SHA3-256: d7488dfd42cf322de4b2cdebaf8b422e7a03ca93f955ddffee9a99e3a3319b4b
User & Date: olr on 2018-07-28 14:00:30
Original Comment: [fr] apposition: mot d’une lettre OK (correction)
Other Links: branch diff | manifest | tags
Context
2018-07-28
16:46
[fr] conversion: regex rules -> graph rules check-in: fe719cf206 user: olr tags: fr, rg
14:00
[fr] des +mot +mot: condition stricte pour le token précédent check-in: d7488dfd42 user: olr tags: fr, rg
13:59
[fr] apposition: mot d’une lettre OK (correction) check-in: 9de2cb2d9f user: olr tags: fr, rg
Changes

Modified gc_lang/fr/rules.grx from [5f01e1aac7] to [b68566db3d].

9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
TEST: {{Quel}} que soit cette femme                           ->> Quelle
TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle
TEST: {{Quels}} que soient ces idiotes                        ->> Quelles

## des
__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":[VRBX]|:Cs|>comme/|<start>") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                # Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- checkAgreement(\2, \3) =>> =exclude(\3, ":V")








|







9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
TEST: {{Quel}} que soit cette femme                           ->> Quelle
TEST: {{Quel}} que soit la force appliquée.                   ->> Quelle
TEST: {{Quels}} que soient ces idiotes                        ->> Quelles

## des
__gn_des_2m__
    des  *WORD  *WORD
        <<- /gn/ (morph(<1, ":[VRBX]|:Cs|>comme/|<start>", "*") or morph(\3, ":N", ":[AQ]")) and not \3.startswith("seul") >>>
        <<- /gn/ ( (morph(\2, ":[NA].*:m", ":[fe]") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":[me]") and morph(\3, ":[NA].*:m", "*")) ) and not apposition(\2, \3)
        -3>> =switchGender(\3, True)                                                                # Accord de genre erroné avec « \2 ».
        <<- /gn/ __also__ and hasFemForm(\2) -2>> =switchGender(\2)                                 # Accord de genre erroné avec « \3 ».
        <<- /gn/ morph(\2, ":[NA].*:[pi]") and morph(\3, ":[NA].*:s", "*") and not apposition(\2, \3) and not (value(>1, "|et|,|") and morph(>2, ":A"))
        -3>> =suggPlur(\3)                                                                          # Accord de nombre erroné avec « \1 \2 » : « \3 » devrait être au pluriel.
        <<- checkAgreement(\2, \3) =>> =exclude(\3, ":V")