Grammalecte  Check-in [4b11fd31b1]

Overview
Comment:[fr] ajustements
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 4b11fd31b10f69e4f737a57dd4a2f86418214b03a9de6071d7f143b284478cc8
User & Date: olr on 2021-03-01 12:13:59
Other Links: manifest | tags
Context
2021-03-01
17:39
[fr] ajustements check-in: 38ca646cc3 user: olr tags: trunk, fr
12:13
[fr] ajustements check-in: 4b11fd31b1 user: olr tags: trunk, fr
08:45
[fr] faux positifs check-in: f8fab6a2e1 user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/rules.grx from [e4fdb61b15] to [f7e5abc07a].

10293
10294
10295
10296
10297
10298
10299

10300
10301
10302
10303
10304
10305
10306
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307







+







TEST: il ne {{ç’}}avançait jamais sans avoir pesé toutes les conséquences               ->> s’
TEST: qui {{ce}} donne en spectacle.                                                    ->> se
TEST: ça finira par {{ce}} savoir                                                       ->> se
TEST: cela finit toujours tôt ou tard par {{ce}} savoir                                 ->> se
TEST: […] qui ne peut être si ardente qu’elle ne se doive, ce semble, éteindre par la moindre goutte de sang qui sorte de leurs plaies.
TEST: à qui ce texte doit tant, à qui ce texte est dédié
TEST: il y aurait, ce faisant, des complications interminables.
TEST: Ce en quoi personne ne trouvera à redire.


# ce à quoi
__conf_ce_à_quoi_qui__
    se [à|a] [quoi|koi]
    ce a [quoi|koi]
    ce à [koi]
13214
13215
13216
13217
13218
13219
13220































13221
13222
13223
13224
13225
13226
13227
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







    quelques part
        <<- /loc/ ->> quelque part                                          && Confusion probable.|https://fr.wiktionary.org/wiki/quelque_part

TEST: Il faut bien aller {{quelle que part}}.                           ->> quelque part
TEST: Je les ai oubliés {{quelque pars}}.                               ->> quelque part
TEST: Elles sont forcément {{quelque parts}} ici.                       ->> quelque part


# possible
__gn_autant_que_possible__
    autant  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant que ce qui est possible.

    autant  [de|d’]  *WORD  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant \2 \3 que ce qui est possible.

    autant  [de|d’]  *WORD  *WORD  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant \2 \3 \4 que ce qui est possible.

TEST: nous ferons des tests autant que {{possibles}}.                           ->> possible
TEST: nous ferons autant de tests que {{possibles}}, c’est une nécessité.       ->> possible
TEST: rabaissons autant de connards prétentieux que {{possibles}}…              ->> possible


# quelque
__loc_quelque_temps__
    quelques temps
        <<- /loc/ ->> quelque temps  && Il n’y a pas plusieurs temps. “Quelque temps” signifie un temps indéterminé. Ici, “quelque” est un adverbe (donc invariable).|https://fr.wiktionary.org/wiki/quelque_temps

TEST: Il y a {{quelques temps}} que nous nous connaissons.          ->> quelque temps


__loc_en_quelque_sorte__
    en quelques sortes
        <<- /loc/ ->> en quelque sorte                              && En quelque sorte : locution invariable.|https://fr.wiktionary.org/wiki/en_quelque_sorte

TEST: Je suis en vacances, {{en quelques sortes}}.                  ->> en quelque sorte


# quelques fois / quelquefois
__conf_quelquefois_quelques_fois__
    qu’ [elle|elles] que [>foi|>foie]
    [quel|quels|quelle|quelles] que [>foi|>foie]
    quelque fois
        <<- /conf/ ->> quelquefois|quelques fois
27292
27293
27294
27295
27296
27297
27298
27299
27300
27301
27302
27303
27304
27305
27306
27307
27308
27309
27310
27311
27312
27313
27314
27315
27316
27317
27318
27319
27320
27321
27322
27323
27324
27325
27326
27327
27328
27329
27330
27331
27332
27333
27334
27335
27336
27324
27325
27326
27327
27328
27329
27330































27331
27332
27333
27334
27335
27336
27337







-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-







    [à|aux] >pied >levé
        <<- /loc/ ->> au pied levé                                  && Locution adverbiale invariable.

TEST: ils ont tout simplement perdu {{pieds}}                                   ->> pied
TEST: ils y sont allés à {{pieds}}.                                             ->> pied
TEST: Elles ont accompli l’impossible, et de surcroît {{aux pieds levés}}       ->> au pied levé


# possible
__gn_autant_que_possible__
    autant  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant que ce qui est possible.

    autant  [de|d’]  *WORD  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant \2 \3 que ce qui est possible.

    autant  [de|d’]  *WORD  *WORD  que  possibles
        <<- /gn/ --1>> possible                                     && Invariable. Implicitement, autant \2 \3 \4 que ce qui est possible.

TEST: nous ferons des tests autant que {{possibles}}.                           ->> possible
TEST: nous ferons autant de tests que {{possibles}}, c’est une nécessité.       ->> possible
TEST: rabaissons autant de connards prétentieux que {{possibles}}…              ->> possible


# quelque
__loc_quelque_temps__
    quelques temps
        <<- /loc/ ->> quelque temps  && Il n’y a pas plusieurs temps. “Quelque temps” signifie un temps indéterminé. Ici, “quelque” est un adverbe (donc invariable).|https://fr.wiktionary.org/wiki/quelque_temps

TEST: Il y a {{quelques temps}} que nous nous connaissons.          ->> quelque temps


__loc_en_quelque_sorte__
    en quelques sortes
        <<- /loc/ ->> en quelque sorte                              && En quelque sorte : locution invariable.|https://fr.wiktionary.org/wiki/en_quelque_sorte

TEST: Je suis en vacances, {{en quelques sortes}}.                  ->> en quelque sorte


# rafales
__loc_par_en_rafales__
    [par|en]  rafale
        <<- /loc/ ->> \1 rafales                                   && Il y a plusieurs rafales. Mettez au pluriel.

TEST: Je lance des tests {{en rafale}}.                             ->> en rafales
29256
29257
29258
29259
29260
29261
29262
29263
29264
29265
29266
29267

29268
29269

29270
29271
29272

29273
29274
29275
29276
29277
29278
29279





29280
29281
29282
29283
29284



29285
29286
29287
29288
29289
29290
29291
29292
29293
29294







29295
29296
29297

29298
29299

29300
29301
29302
29303
29304


29305
29306
29307
29308
29309



29310
29311
29312

29313
29314

29315
29316
29317

29318
29319

29320
29321


29322
29323
29324

29325
29326
29327

29328

29329
29330
29331
29332



29333
29334


29335
29336
29337
29338
29339




29340
29341

29342
29343
29344

29345
29346

29347
29348
29349
29350
29351
29352
29353
29354
29355
29356
29357
29358
29359
29360
29361
29362
29363
29364





29365
29366
29367
29368
29369
29370
29371
29257
29258
29259
29260
29261
29262
29263





29264


29265



29266







29267
29268
29269
29270
29271
29272
29273
29274


29275
29276
29277
29278
29279
29280







29281
29282
29283
29284
29285
29286
29287



29288


29289
29290
29291
29292


29293
29294
29295
29296
29297


29298
29299
29300



29301


29302



29303


29304


29305
29306
29307


29308



29309

29310



29311
29312
29313
29314


29315
29316





29317
29318
29319
29320


29321
29322


29323


29324
29325




29326
29327
29328
29329
29330
29331
29332
29333





29334
29335
29336
29337
29338
29339
29340
29341
29342
29343
29344
29345







-
-
-
-
-
+
-
-
+
-
-
-
+
-
-
-
-
-
-
-
+
+
+
+
+



-
-
+
+
+



-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
-
-
+



-
-
+
+



-
-
+
+
+
-
-
-
+
-
-
+
-
-
-
+
-
-
+
-
-
+
+

-
-
+
-
-
-
+
-
+
-
-
-

+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
-
-
+

-
-
+
-
-
+

-
-
-
-








-
-
-
-
-
+
+
+
+
+







    [avec|chez|contre|dans|envers|par|pour|selon|sans|sous|sur|au|aux]  @:[NAM]¬:[GY]  <end>
    [avec|chez|contre|dans|envers|par|pour|selon|sans|sous|sur|au|aux]  @:[NA]¬:[GY]   ?,¿  [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles]
    [avec|chez|contre|dans|envers|par|pour|selon|sans|sous|sur|au|aux]  @:[NA]¬:[GY]   @:[VR]¬:[NAP]
    [avec|chez|contre|dans|envers|par|pour|selon|sans|sous|sur|au|aux]  @:[NAM]¬:[GY]  , @¬:[NA]
    [avec|chez|contre|dans|envers|par|pour|selon|sans|sous|sur|au|aux]  @:[NAM]¬:[GY]  ?,¿  [/_VCint_|/_VCimp_]
        <<- ~1:2>> *

    [un|ce|cet|au|ledit] *WORD *WORD
        <<- morph(\2, ":[NA].*[me]:[si]", ":(?:P|X|G|Y|V0)") and morph(\3, ":[NA].*[me]:[si]", ":(?:G|[123][sp]|P|M)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    le                          @:[NA].*:[me]:[si]¬:(?:[123][sp]|P|X|G|Y|V0)    @:[NA].*:[me]:[si]¬:(?:G|[123][sp]|P|M)
    mon *WORD *WORD
        <<- morph(\2, ":[NA].*:[si]", ":(?:P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
    la                          @:[NA].*:[fe]:[si]¬:(?:[123][sp]|P|X|G|Y|V0)    @:[NA].*:[fe]:[si]¬:(?:G|[123][sp]|P|M)
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    l’                          @:[NA].*:[si]¬:(?:[123][sp]|P|X|G|Y|V0)|>air/   @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
    [ton|son] *WORD *WORD
        <<- morph(\2, ":[NA].*:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [cette|ma|ta|sa|ladite] *WORD *WORD
        <<- morph(\2, ":[NA].*:[fe]:[si]", ":G") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:G|[123][sp]|P|M)") >>>
    [un|ce|cet|au|ledit]        @:[NA].*:[me]:[si]¬:(?:P|X|G|Y|V0)              @:[NA].*:[me]:[si]¬:(?:G|[123][sp]|P|M)
    [cette|ma|ta|sa|ladite]     @:[NA].*:[fe]:[si]¬:G                           @:[NA].*:[fe]:[si]¬:(?:G|[123][sp]|P|M)
    mon                         @:[NA].*:[si]¬:(?:P|X|G|Y|V0)                   @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
    [ton|son]                   @:[NA].*:[si]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
    chaque                      @:[NA].*:[si]¬:G                                @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [notre|votre] *WORD *WORD
        <<- not value(<1, "|la|le|du|") and morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
    [notre|votre]               @:[NA].*:[si]¬:G                                @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
    leur                        @:[NA].*:[si]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)
        <<- not value(<1, "|la|le|du|au|") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    chaque *WORD *WORD
        <<- morph(\2, ":[NA].*:[si]", ":G") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    le *WORD *WORD
        <<- morph(\2, ":[NA].*[me]:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*[me]:[si]", ":(?:G|[123][sp]|P|M)") >>>
    les                         @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
    [des|ces]                   @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
    [mes|tes|ses|nos|vos]       @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
    [aux|quelques]              @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
    lesdits                     @:[NA].*:[me]:[pi]¬:G                           @:[NA].*:[me]:[pi]¬:(?:G|[123][sp]|P|M)
    lesdites                    @:[NA].*:[fe]:[pi]¬:G                           @:[NA].*:[fe]:[pi]¬:(?:G|[123][sp]|P|M)
    [certains|maints]           @:[NA].*:[me]:[pi]¬:(?:[123]p|P|X|G|Y|V0)       @:[NA].*:[me]:[pi]¬:(?:G|[123][sp]|P|M)
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [certaines|maintes]         @:[NA].*:[fe]:[pi]¬:(?:[123]p|P|X|G|Y|V0)       @:[NA].*:[fe]:[pi]¬:(?:G|[123][sp]|P|M)
    la *WORD *WORD
        <<- morph(\2, ":[NA].*[fe]:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*[fe]:[si]", ":(?:G|[123][sp]|P|M)") >>>
    plusieurs                   @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    les *WORD *WORD
        <<- morph(\2, ":[NA].*[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    leurs                       @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)
        <<- not value(<1, "|les|des|aux|") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    l *WORD *WORD
        <<- morph(\2, ":[NA].*:[si]", ":(?:[123][sp]|P|X|G|Y|V0)|>air/") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
    le                          @:[NA].*:[me]:[si]¬:(?:[123][sp]|P|X|G|Y|V0)    @:[NA].*:[me]:[si]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[me]:[si]¬*
    la                          @:[NA].*:[fe]:[si]¬:(?:[123][sp]|P|X|G|Y|V0)    @:[NA].*:[fe]:[si]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[fe]:[si]¬*
    l’                          @:[NA].*:[si]¬:(?:[123][sp]|P|X|G|Y|V0)|>air/   @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [un|ce|cet|au|ledit]        @:[NA].*:[me]:[si]¬:(?:P|X|G|Y|V0)              @:[NA].*:[me]:[si]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[me]:[si]¬*
    leur *WORD *WORD
        <<- not value(<1, "|le|la|du|au|") and morph(\2, ":[NA].*:[si]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
    [cette|ma|ta|sa|ladite]     @:[NA].*:[fe]:[si]¬:G                           @:[NA].*:[fe]:[si]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[fe]:[si]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    mon                         @:[NA].*:[si]¬:(?:P|X|G|Y|V0)                   @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
    leurs *WORD *WORD
        <<- not value(<1, "|des|les|aux|") and morph(\2, ":[NA].*:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    [ton|son]                   @:[NA].*:[si]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *
    chaque                      @:[NA].*:[si]¬:G                                @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
        <<- ~-1>> *

    [des|ces|mes|tes|ses|nos|vos|aux|quelques] *WORD *WORD
        <<- morph(\2, ":[NA].*:[pi]", ":G") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    [notre|votre]               @:[NA].*:[si]¬:G                                @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    leur                        @:[NA].*:[si]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[si]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[si]¬*
    lesdits *WORD *WORD
        <<- not value(<1, "|le|la|du|au|") ~-1>> *
        <<- morph(\2, ":[NA].*:[me]:[pi]", ":G") and morph(\3, ":[NA].*:[me]:[pi]", ":(?:G|[123][sp]|P|M)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    les                         @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
    [des|ces]                   @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
    [mes|tes|ses|nos|vos]       @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
    lesdites *WORD *WORD
        <<- morph(\2, ":[NA].*:[fe]:[pi]", ":G") and morph(\3, ":[NA].*:[fe]:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    [aux|quelques]              @:[NA].*:[pi]¬:G                                @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
    lesdits                     @:[NA].*:[me]:[pi]¬:G                           @:[NA].*:[me]:[pi]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[me]:[pi]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [certains|maints] *WORD *WORD
        <<- morph(\2, ":[NA].*:[me]:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[me]:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    lesdites                    @:[NA].*:[fe]:[pi]¬:G                           @:[NA].*:[fe]:[pi]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[fe]:[pi]¬*
    [certains|maints]           @:[NA].*:[me]:[pi]¬:(?:[123]p|P|X|G|Y|V0)       @:[NA].*:[me]:[pi]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[me]:[pi]¬*
    [certaines|maintes]         @:[NA].*:[fe]:[pi]¬:(?:[123]p|P|X|G|Y|V0)       @:[NA].*:[fe]:[pi]¬:(?:G|[123][sp]|P|M)     @:[NA].*:[fe]:[pi]¬*
    plusieurs                   @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *
        <<- ~-1>> *

    [certaines|maintes] *WORD *WORD
        <<- morph(\2, ":[NA].*:[fe]:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[fe]:[pi]", ":(?:G|[123][sp]|P|M)") >>>
    leurs                       @:[NA].*:[pi]¬:(?:[123]p|P|X|G|Y|V0)            @:[NA].*:[pi]¬:(?:G|[123][sp]|P|M)          @:[NA].*:[pi]¬*
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *
        <<- not value(<1, "|les|des|aux|") ~-1>> *

    plusieurs *WORD *WORD
        <<- morph(\2, ":[NA].*:[pi]", ":(?:[123]p|P|X|G|Y|V0)") and morph(\3, ":[NA].*:[pi]", ":(?:G|[123][sp]|P|M)") >>>
        <<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
        <<- __else__ ~3>> *

    [de|d’]  @:[NA].*:s¬:[YG]  <end>
    [de|d’]  @:[NA].*:s¬:[YG]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[VR]¬:[NAP]
    [de|d’]  @:[NA].*:s¬:[YG]  , @¬:[NA]
    [de|d’]  @:[NA].*:s¬:[YG]  ?,¿  [/_VCint_|/_VCimp_]
        <<- not value(\2, "|autres|") ~1:2>> *

    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp]|O)   <end>
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp]|O)   ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp]|O)   @:[VR]¬:[NAP]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp]|O)   , @¬:[NA]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp]|O)   ?,¿  [/_VCint_|/_VCimp_]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp])   <end>
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp])   ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp])   @:[VR]¬:[NAP]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp])   , @¬:[NA]
    [de|d’]  @:[NA].*:s¬:[YG]  @:[NA].*:s¬:(?:G|[123][sp])   ?,¿  [/_VCint_|/_VCimp_]
        <<- ~1:3>> *

    [de|d’]  [un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  <end>
    [de|d’]  [un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  ?,¿ [ne|n’|me|m’|te|t’|se|s’|nous|vous|y|c’|ça|ç’|je|j’|tu|il|elle|on|ils|elles|iel|iels|le|la|l’|les|mon|ma|ta|sa|notre|votre|leur|mes|tes|ses|nos|vos|leurs|ce|cet|cette|ces|quel|quels|quelle|quelles|est]
    [de|d’]  [un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  @:[VR]¬:[NAP]
    [de|d’]  [un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  , @¬:[NA]
    [de|d’]  [un|une|ce|cet|cette|ces|mon|ton|son|ma|ta|sa|mes|tes|ses|notre|votre|nos|vos|leurs]  @:[NA]  ?,¿  [/_VCint_|/_VCimp_]