25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
25712
25713
25714
25715
25716
|
25627
25628
25629
25630
25631
25632
25633
25634
25635
25636
25637
25638
25639
25640
25641
25642
25643
25644
25645
25646
25647
25648
25649
25650
25651
25652
25653
25654
25655
25656
25657
25658
25659
25660
25661
25662
25663
25664
25665
25666
25667
25668
25669
25670
25671
25672
25673
25674
25675
25676
25677
25678
25679
25680
25681
25682
25683
25684
25685
25686
25687
25688
25689
25690
25691
25692
25693
25694
25695
25696
25697
25698
25699
25700
25701
25702
25703
25704
25705
25706
25707
25708
25709
25710
25711
|
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
|
[avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] @:[NA]¬:[GY] @:[VR]¬:[NAP]
[avec|chez|contre|dans|envers|par|pour|selon|sous|sur|au|aux] @:[NAM]¬:[GY] , @¬:[NA]
[avec|chez|contre|dans|envers|par|pour|selon|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", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
mon *WORD *WORD
<<- morph(\2, ":[NA].*:[si]", ":(?:P|X|G|Y|V0)") and morph(\3, ":[NA].*:[si]", ":(?:G|[123][sp]|P|M)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
[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", ":N") ~2>> *
<<- 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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- 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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- 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", ":N") ~2>> *
<<- 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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
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)") >>>
<<- 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)") >>>
<<- 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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
[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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
lesdits *WORD *WORD
<<- 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", ":N") ~2>> *
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
lesdites *WORD *WORD
<<- morph(\2, ":[NA].*:[fe]:[pi]", ":G") and morph(\3, ":[NA].*:[fe]:[pi]", ":(?:G|[123][sp]|P|M)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A", ":N") ~2>> *
<<- 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)") >>>
<<- morph(\3, ":N", ":A") and morph(\2, ":A") ~2>> *
<<- __else__ ~3>> *
|
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
30357
30358
30359
30360
30361
|
30342
30343
30344
30345
30346
30347
30348
30349
30350
30351
30352
30353
30354
30355
30356
|
-
+
|
TEST: la plupart avançaient en rangs serrés
TEST: un grand nombre avaient été humiliés par ces pratiques délétères
__conj_det_sing_nom__
[un|ce|cet|mon|ton|son|notre|votre] *WORD @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
<<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[me]:[si]", ":G")
and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|nombre|")
or tag_before(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not checkAgreement(\2, \3) >>>
<<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A"))
-3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
<<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.
[une|cette|mon|ton|son|ma|ta|sa|notre|votre] *WORD @:[123][sp]¬:(?:3s|P|Y|3p!|G|M)
<<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[fe]:[si]", ":G")
|