9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
|
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
|
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
!!!
!!!
!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.
!!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”.
!!!
!!!
# Brainfuck (ici, prudence !)
__[i](p_pro_per_obj01)__
__[i](p_pro_per_obj01)__ ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y) <<- ~>> >
__[i](p_pro_per_obj02)__ ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y))) <<- ~>> >
__[i](p_pro_per_obj03)__ [mts]e +l(?:a|es?) <<- ~>> >
__[i](p_pro_per_obj04)__ [nmsl]’(?:en|y) <<- ~>> >
__[i](p_pro_per_obj05)__ l(?:a|es?) +(?:lui|en) <<- ~>> >
__[i](p_pro_per_obj06)__ lui +(?:la|les?|en|y) <<- not morph(word(-1), ":R", False, True) ~>> >
__[i](p_pro_per_obj07)__ leur +(?:en|y) <<- not morph(word(-1), ":R", False, False) ~>> >
__[i](p_pro_per_obj08)__ (?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) @@$ <<- ~1>> >
__[i](p_pro_per_obj09)__ (?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
<<- \1 == "le" and not morph(\2, ":N.*:[me]:[si]") ~1>> >
<<- \1 == "la" and not morph(\2, ":N.*:[fe]:[si]") ~1>> >
<<- \1 == "les" and not morph(\2, ":N.*:.:[pi]") ~1>> >
__[i](p_pro_per_obj10)__ (?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- not morph(word(-1), ":R", False, False) ~1>> >
__[i](p_pro_per_obj11)__ ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) @@$ <<- ~1>> >
__[i](p_pro_per_obj12)__ (?<!’)(en) ({w_2}) @@0,$ <<- morph(\2, ":[123][sp]") ~1>> >
__[i](p_pro_per_obj13)__ (?:tu|il|on) (en) @@3 <<- not morph(word(-1), ":[123]s", False, False) ~1>> >
__[i](p_pro_per_obj14)__ (?<!’)elle (en) @@5 <<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> >
__[i](p_pro_per_obj15)__ (?<!’)elles (en) @@6 <<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> >
__[i](p_pro_per_obj16)__ ils (en) @@4 <<- not morph(word(-1), ":3p", False, False) ~1>> >
__[i](p_pro_per_obj17)__ (?<!’)(y) ({w_2}) @@0,2 <<- morph(\2, ":[123][sp]", False) ~1>> >
__[i](p_pro_per_obj18)__ (le) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> >
__[i](p_pro_per_obj19)__ (la) ({w_2}) @@0,3 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> >
__[i](p_pro_per_obj20)__ (l’)({w_2}) @@0,2 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
__[i](p_pro_per_obj21)__ (leur) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> >
__[s](p_pro_per_obj22)__ [lL]’a <<- ~>> > a
__[i](p_pro_per_obj23)__ (nous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|1p)") ~1>> >
__[i](p_pro_per_obj24)__ (vous) ({w_2}) @@0,5 <<- morphex(\2, ":(?:[123][sp]|Y)", ":(?:A|G|M|2p)") ~1>> >
__[i](p_pro_per_obj25)__ (?:à|de) ([nv]ous|lui|les?|en)(?! qui) @@$ <<- ~1>> >
__[i](p_pro_per_obj26)__ (s’)({w4}) @@0,2 <<- morph(\2, ":V", False) ~1>> >
__[i](p_pro_per_obj27)__ (?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +){w_2} @@* <<- isStart() ~1>> >
__[i](p_pro_per_obj28)__ (?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$ <<- morph(\2, ":V", False) ~1>> >
__[i](p_pro_per_obj29)__ (t’(?:en|y)) ({w_2}) @@0,$ <<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
__[i](p_pro_per_obj30)__ (t’)({w_2}) @@0,$ <<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> >
__[i>(p_pro_per_obj31)__ ne [mtsl]’ <<- ~>> >
__[i>(p_pro_per_obj32)__ [mts]e +l’ <<- ~>> >
__[i>(p_pro_per_obj33)__ [nm]’ <<- ~>> >
__[i](p_pro_per_obj34)__ [nmts]e <<- ~>> >
__<s>(p_pro_per_obj35)__ > +> <<- ~>> >
(ne +(?:l(?:ui|eur|a|es?)|[mts]e|[nv]ous) +(?:l(?:a|es?|ui|eur)|en|y)) +({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj02)__
(ne +(?:[mts](?:e|’(?:en|y))|[nv]ous|l(?:es?|a|ui|eur|’(?:en|y)))) +({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj03)__
([mts]e +l(?:a|es?)) +({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj04)__
([nmsl]’(?:en|y)) +({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj05)__
(l(?:a|es?) +(?:lui|en)) +({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj06)__
(lui +(?:la|les?|en|y)) +({w_1}) @@0,$
<<- not morph(word(-1), ":R", False, True) ~1>> *
<<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj07)__
(leur +(?:en|y)) +({w_1}) @@0,$
<<- not morph(word(-1), ":R", False, False) ~1>> *
<<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj08)__
(?:je|tu|ils?|on) ([nv]ous(?: la| les?|)|lui) +({w_1}) @@*,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj09)__
(?:je|tu|ils?|on) (l(?:es?|a)) ({w_1}) @@w,$
<<- (\1 == "le" and not morph(\2, ":N.*:[me]:[si]"))
or (\1 == "la" and not morph(\2, ":N.*:[fe]:[si]"))
or (\1 == "les" and not morph(\2, ":N.*:.:[pi]")) ~1>> *
<<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj10)__
(?:elles?|[nv]ous) ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1}) @@*,$
<<- not morph(word(-1), ":R", False, False) ~1>> *
<<- __also__ and morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj11)__
ce(?:ux|lles?|lui|la|) qui ([nv]ous(?: la| les?|)|l(?:es?|ui|a)) +({w_1}) @@*,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj12)__
(?<!’)(en) ({w_2}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj13)__
(?:tu|il|on) (en) +({w_1}) @@w,$
<<- not morph(word(-1), ":[123]s", False, False) ~1>> *
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj14)__
(?<!’)elle (en) +({w_1}) @@w,$
<<- not morph(word(-1), ":(?:[123]s|R)", False, False) ~1>> *
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj15)__
(?<!’)elles (en) +({w_1}) @@w,$
<<- not morph(word(-1), ":(?:[123]p|R)", False, False) ~1>> *
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj16)__
ils (en) +({w_1}) @@4,$
<<- not morph(word(-1), ":3p", False, False) ~1>> *
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj17)__
(?<!’)(y) ({w_2}) @@0,2
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) ~1>> *
<<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj18)__
(le) ({w_2}) @@0,3
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[me]:[si]|G|M)") ~1>> *
<<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj19)__
(la) ({w_2}) @@0,3
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[fe]:[si]|G|M)") ~1>> *
<<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj20)__
(l’)({w_2}) @@0,2
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
<<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[i](p_pro_per_obj21)__
(leur) ({w_2}) @@0,5
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:[NAQ].*:[si]|G|M)") ~1>> *
<<- __also__ =>> select(\2, ":(?:[123][sp]|P|Y)")
__[s](p_pro_per_obj22)__
[lL]’(a) @@$
<<- =>> select(\1, ":V")
<<- ~>> " a"
__[i](p_pro_per_obj23)__
(nous) ({w_2}) @@0,5
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|1p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj24)__
(vous) ({w_2}) @@0,5
<<- morphex(\2, ":(?:[123][sp]|P|Y)", ":(?:A|G|M|2p)") =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj25)__
(?:à|de) ([nv]ous|lui|les?|en) (?!qui)({w_2}) @@w,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i](p_pro_per_obj26)__
(s’)({w4}) @@0,2
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj27)__
(?:je|tu|ils?|elles?|on) (l’|l(?:es?|a|ui|eur) +|[nv]ous +)({w_2}) @@*,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- isStart() ~1>> *
__[i](p_pro_per_obj28)__
(?:je|tu|ils?|elles?|on|[nv]ous|ce(?:ux|elles?|lui|la|) qui) (l’)({w4}) @@*,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
__[i](p_pro_per_obj29)__
(t’(?:en|y)) ({w_2}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- not morph(\2, ":2s", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
__[i](p_pro_per_obj30)__
(t’)({w_2}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- not morph(\2, ":2s|>(ils?|elles?|on) ", False) or before(r"(?i)\b(?:je|tu|on|ils?|elles?|nous) +$") ~1>> *
__[i>(p_pro_per_obj31)__
(ne [mtsl]’)({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i>(p_pro_per_obj32)__
([mts]e +l’)({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- ~1>> *
__[i>(p_pro_per_obj33)__
[nm]’({w_1}) @@2
<<- morph(\1, ":(?:[123][sp]|P|Y)", False) =>> select(\1, ":(?:[123][sp]|P|Y)")
<<- ~>> " \1"
__[i](p_pro_per_obj34)__
([nmts]e +)({w_1}) @@0,$
<<- morph(\2, ":(?:[123][sp]|P|Y)", False) =>> select(\2, ":(?:[123][sp]|P|Y)")
<<- __also__ ~1>> *
#__<s>(p_pro_per_obj35)__
# > +>
# <<- ~>> >
# Fin du Brainfuck
!!
|
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
|
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
|
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
|
# conditionnel / futur
__[i]/vmode(vmode_j_aimerais_vinfi)__
j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai) +({w_1}) @@w,$
<<- morphex(\2, ":[YX]|>y ", "R") -1>> \1s # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
<<- morphex(\2, ":[YX]|>(?:y|ne|que?) ", ":R") -1>> \1s # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
__[i>/vmode(vmode_j_aimerais_pronom)__
j(?:e +|’)(aimerai|préf[éè]rerai|apprécierai|voudrai|souhaiterai) +(?:que? |>) @@w
<<- -1>> \1s # Si vous exprimez un souhait, utilisez le conditionnel et non le futur.
TEST: J’{{aimerai}} savoir ce dont il retourne.
TEST: dans tous les cas j’{{aimerai}} ne rien savoir
TEST: Je {{voudrai}} qu’il soit déjà là.
TEST: J’aimerai ces cours-là autant que les autres.
TEST: J’aimerai la danse et la musique, puisque vous l’exigez.
__[i>/vmode(vmode_j_aurais_aimé_que_avoir_être1)__
j’(aurai) +(?:aimé|souhaité|préféré|voulu) +(?:que? |ne |> ) @@2
<<- -1>> aurais|eusse # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »
__[i]/vmode(vmode_j_aurais_aimé_que_avoir_être2)__
j’(aurai) +(?:aimé|souhaité|préféré|voulu) +(?:[nmtsl]’|)({infi}) @@2,$
<<- morph(\2, ":Y", False)
__[i]/vmode(vmode_j_aurais_aimé_que_avoir_être)__
j’(aurai) +(?:aimé|souhaité|préféré|voulu) +(que?|ne|{infi}) @@2,$
<<- morph(\2, ":Y|>(?:ne|que?) ", False)
-1>> aurais|eusse # Pour un souhait passé, utilisez le conditionnel passé et non le futur antérieur. Exemple pour le futur antérieur : « quand j’aurai fini… »
TEST: J’{{aurai}} aimé nous offrir ce magnifique cadeau.
TEST: j’{{aurai}} voulu être un artiste.
TEST: j’{{aurai}} préféré ne pas avoir à l’entendre.
TEST: j’{{aurai}} préféré l’entendre un autre jour.
TEST: j’{{aurai}} aimé que vous m’en parliez.
TEST: Quand j’en aurai fini avec eux, vous aurez du mal à les reconnaître.
TEST: Quand j’aurai fini ce boulot, je ne sais pas ce que je ferai.
TEST: Quand j’aurai soif et faim, je m’arrêterai.
# Si suivi du conditionnel ou du subjonctif
__[i]/vmode(vmode_si_sujet1)__
si +({w1}) +>? *({w_2}) @@w,$
si +({w1}) +({w_2}) @@w,$
<<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":[SK]", ":(?:G|V0|I)") and isStart()
-2>> _ # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.
__[i]/vmode(vmode_si_sujet2)__
(?:si [jt]’|s’ils? )>? *({w_2}) @@$
(?:si [jt]’|s’ils? +)({w_2}) @@$
<<- morphex(\1, ":[SK]", ":(?:G|V0|I)") and isStart()
-1>> _ # Ce verbe ne devrait être ni au conditionnel, ni au subjonctif.
TEST: Si Pierre {{avancerait}} sa voiture de quelques mètres, ça nous permettrait de passer.
TEST: s’ils ne {{mangeraient}} pas tous les jours, ils seraient moins gros.
# Dès que + indicatif
__[i]/vmode(vmode_dès_que)__
dès +que? +({w1}) +>? *({w_2}) @@w,$
dès +que? +({w1}) +({w_2}) @@w,$
<<- morph(\1, ":(?:Os|M)", False) and morphex(\2, ":S", ":[IG]") -2>> =suggVerbMode(@, ":I", \1) # Ce verbe ne devrait pas être au subjonctif.
# <<- morph(\1, ":(?:Os|M)", False) and morph(\2, ":K", False) -2>> =suggVerbMode(@, ":If", \1) # Ce verbe ne devrait pas être au conditionnel.
#TEST: dès que je le {{verrais}}
TEST: dès qu’il le {{voie}}
TEST: donnant à entendre qu’il avait l’intention de violer Laura dès qu’il en aurait l’occasion
# verbe que + subjonctif
__[i]/vmode(vmode_qqch_que_subjonctif1)__
(afin|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w1}) +>? *({w_2}) @@0,w,$
(afin|pour|quoi|(?:perm|fa|v[oe]|ordonn|exig|désir|dout|suff|préf[éè]r)\w+) +que? +({w1}) +({w_2}) @@0,w,$
<<- morph(\1, ">(?:afin|pour|quoi|permettre|falloir|vouloir|ordonner|exiger|désirer|douter|préférer|suffire) ", False)
and morph(\2, ":(?:Os|M)", False) and morphex(\3, ":I", ":[GYS]")
and not (morph(\1, ">douter ", False) and morph(\3, ":(?:If|K)", False))
-3>> =suggVerbMode(@, ":S", \2) # Ce verbe devrait être au subjonctif.
|