Overview
Comment: | [fr] conversion: regex rules -> graph rules |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | rg |
Files: | files | file ages | folders |
SHA3-256: |
722c557610645428ab0d49eac22ee5bc |
User & Date: | olr on 2018-08-18 20:27:35 |
Other Links: | branch diff | manifest | tags |
Context
2018-08-18
| ||
21:31 | [fr] conversion: regex rules -> graph rules check-in: 3d86b1d267 user: olr tags: fr, rg | |
20:27 | [fr] conversion: regex rules -> graph rules check-in: 722c557610 user: olr tags: fr, rg | |
13:29 | [core] gc engine: don’t check regexes on some META tokens check-in: 209474b757 user: olr tags: core, rg | |
Changes
Modified gc_lang/fr/rules.grx from [9664aedc44] to [fb2cb409ee].
︙ | ︙ | |||
2194 2195 2196 2197 2198 2199 2200 | vous [>avoir|>être] <<- not morph(\2, ":2p") =>> exclude(\1, ":Os") __da_préverbes_verbes__ ne ?[le|la|l’|les|nous|vous|lui|leur]¿ (@:¬:[OX]) | | | > > > | > > | > | > > > | > > > > > > > > > > > | 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 | vous [>avoir|>être] <<- not morph(\2, ":2p") =>> exclude(\1, ":Os") __da_préverbes_verbes__ ne ?[le|la|l’|les|nous|vous|lui|leur]¿ (@:¬:[OX]) ne [nous|vous] [le|la|l’|les|en] (@:¬:[OX]) ne [le|la|l’|les] [lui|leur|en] (@:¬:[OX]) ne [lui|leur] en (@:¬:[OX]) <<- =>> select(\1, ":V") [me|m’|te|se|s’] ?[le|la|l’|les]¿ (@:¬:[OX]) <<- =>> select(\1, ":V") [n’|m’|s’] ?[en|y]¿ (@:¬:[OX]) <<- =>> select(\1, ":V") t’ [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- =>> select(\3, ":(?:[123][sp]|P|Y)") t’ @:¬:X|>(?:rien|ils?|elles?|on)/ <<- =>> select(\2, ":(?:[123][sp]|P|Y)") y @:¬:[OX] <<- =>> select(\2, ":(?:[123][sp]|P|Y)") [je|j’|il|ils|on] ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿ (@:¬:[OX]) [je|j’|il|ils|on] [nous|vous] [le|la|l’|les|en|y] (@:¬:[OX]) [je|j’|il|ils|on] [le|la|l’|les] [lui|leur|en|y] (@:¬:[OX]) [je|j’|il|ils|on] [lui|leur] en (@:¬:[OX]) <<- =>> select(\1, ":[123][sp]") tu ?[le|la|l’|les|en|nous|vous|lui|leur|y]¿ (@:¬:[OX]) tu [nous|vous] [le|la|l’|les|en|y] (@:¬:[OX]) tu [le|la|l’|les] [lui|leur|en|y] (@:¬:[OX]) tu [lui|leur] en (@:¬:[OX]) <<- not morph(<1, ":V0") =>> select(\1, ":[123][sp]") lui [la|le|l’|les] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":R") =>> select(\3, ":(?:[123][sp]|P|Y)") [nous|vous] [le|la|l’|les|en] @:¬:[OX] lui en @:¬:[OX] <<- not morph(<1, ":R") =>> select(\3, ":(?:[123][sp]|P|Y)") [le|la|l’|les] [lui|leur|en] @:¬:[OX] leur en @:¬:[OX] <<- =>> select(\2, ":(?:[123][sp]|P|Y)") @:M @:[123]s¬:Q <<- \2.islower() and morph(<1, ":Cs|<start>") =>> select(\2, ":[123][sp]") <start> @:M @:(?:[123]s|Oo)|>ne/¬:A <<- =>> =select(\2, ":M") |
︙ | ︙ | |||
8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 | de fil en aiguille de fond en comble de fort [loin|près] de [fraîche|fraiche] date de [gaieté|gaîté|gaité] de cœur de gauche à droite de gauche comme de droite de grande [taille|envergure] de gré ou de force de guerre lasse de haut en bas de haut [rang|vol] de haute [lutte|stature|volée] de jour comme de nuit | > | 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 | de fil en aiguille de fond en comble de fort [loin|près] de [fraîche|fraiche] date de [gaieté|gaîté|gaité] de cœur de gauche à droite de gauche comme de droite de génération en génération de grande [taille|envergure] de gré ou de force de guerre lasse de haut en bas de haut [rang|vol] de haute [lutte|stature|volée] de jour comme de nuit |
︙ | ︙ | |||
14550 14551 14552 14553 14554 14555 14556 | TEST: {{avançait moi}} de l’argent ->> avancez-moi TEST: {{filé moi}} du fric, bon sang ! ->> filez-moi TEST: {{Données lui}} ça. ->> Donnez-lui TEST: {{Enseignait nous}}. ->> Enseignez-nous # être | | | | 14571 14572 14573 14574 14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588 14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 | TEST: {{avançait moi}} de l’argent ->> avancez-moi TEST: {{filé moi}} du fric, bon sang ! ->> filez-moi TEST: {{Données lui}} ça. ->> Donnez-lui TEST: {{Enseignait nous}}. ->> Enseignez-nous # être __imp_être__ <start> [ne|n’] ?[le|l’|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ soit <start> [ne|n’] [me|m’|te|t’|nous|vous] [le|l’|en|y] soit <start> [ne|n’] [le|l’] [lui|leur|en|y] soit <start> [ne|n’] [lui|leur] en soit <<- /imp/ --1>> sois # S’il s’agit d’un impératif, écrivez “sois”. <start> soit @:A¬:G <<- /imp/ not after(r"\bsoit\b") -2>> sois # S’il s’agit d’un impératif, écrivez “sois”. TEST: ne lui {{soit}} pas odieux. TEST: {{Soit}} cohérent avec toi-même. TEST: Ne {{soit}} pas con. TEST: ne leur en {{soit}} pas reconnaissant, ce n’était qu’un calcul de leur part. TEST: Ne {{soit}} pas en retard ! # avoir __imp_avoir__ <start> [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ [ai|ait|aies] <start> [ne|n’] [me|m’|te|t’|nous|vous] [le|la|l’|les|en|y] [ai|ait|aies] <start> [ne|n’] [le|la|l’|les] [lui|leur|en|y] [ai|ait|aies] <start> [ne|n’] [lui|leur] en [ai|ait|aies] <start> [ai|ait|aies] <<- /imp/ --1>> aie # S’il s’agit d’un impératif, écrivez “aie”. |
︙ | ︙ | |||
14609 14610 14611 14612 14613 14614 14615 | <start> vas <<- /imp/ not value(>1, "|tu|") --1>> va # S’il s’agit d’un impératif, pas de “s”. TEST: {{Vas}} lui mettre une branlée. TEST: {{Vas}} au diable ! TEST: N’y {{vas}} pas | < < < < < | | 14630 14631 14632 14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 | <start> vas <<- /imp/ not value(>1, "|tu|") --1>> va # S’il s’agit d’un impératif, pas de “s”. TEST: {{Vas}} lui mettre une branlée. TEST: {{Vas}} au diable ! TEST: N’y {{vas}} pas # verbes du 1ᵉʳ et du 3ᵉ groupe en -e __imp_verbe_groupe1__ <start> [ne|n’] ?[le|la|l’|les|en|me|m’|te|t’|nous|vous|lui|leur|y]¿ ~\w\w+es$ <start> [ne|n’] [me|m’|te|t’|nous|vous] [le|la|l’|les|en|y] ~\w\w+es$ <start> [ne|n’] [le|la|l’|les] [lui|leur|en|y] ~\w\w+es$ <start> [ne|n’] [lui|leur] en ~\w\w+es$ <<- /imp/ morph(\-1, ":V[13].*:Ip.*:2s", ":G") and not value(>1, "|tu|") --1>> =\-1[:-1] # S’il s’agit d’un impératif, pas de “s”. |
︙ | ︙ | |||
14766 14767 14768 14769 14770 14771 14772 | TEST: deux fois par an, souligne le Dr Assouline TEST: Pesons le pour et le contre. TEST: Va la demander au concierge. TEST: Allons le questionner encore une fois. TEST: Sois le pire des salopards. | < | 14782 14783 14784 14785 14786 14787 14788 14789 14790 14791 14792 14793 14794 14795 | TEST: deux fois par an, souligne le Dr Assouline TEST: Pesons le pour et le contre. TEST: Va la demander au concierge. TEST: Allons le questionner encore une fois. TEST: Sois le pire des salopards. __imp_laisser_le_la_les_infi__ >laisser [le|la|les] *WORD <<- /imp/ space_after(\1, 1, 1) and morph(\1, ":E") and morph(\3, ":(?:Y|X|Oo)", ":[NAB]") -1:2>> \1-\2 # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206 TEST: {{Laisse les}} entrer… TEST: {{Laissez la}} venir… |
︙ | ︙ | |||
14848 14849 14850 14851 14852 14853 14854 | __imp_union_aller_y!5__ [viens|venez|venons|allons|allez] y <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> \1-\2 # Il manque un trait d’union. [va|vas] [y|z-y|z’y] <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> vas-y # Il manque un trait d’union. | < < < < < < < < < < < < < < | | < < < < < > < > < < < < < < < < < < < < < < < < < < < < < < < < < < < < > | < < | | | < | | | > > > | | | < < | > | | < | | | < > > | | > | | > | | > | > > | | | | > > | > | | < | > | | | | | > | | < | | | > | > > | > > | | > | | > | | > | | > | | > | < < | > | < | | | | > | | < | | | | | | > > | > | | > | | < > | | | | > > | | > | > > | > > | | | | < | | | < | | | | | | | | > > > > > | | | < | | | < | | < < < | | | > > > | | | | < < < | > > > > > > > > | < < > | 14863 14864 14865 14866 14867 14868 14869 14870 14871 14872 14873 14874 14875 14876 14877 14878 14879 14880 14881 14882 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 14893 14894 14895 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 14911 14912 14913 14914 14915 14916 14917 14918 14919 14920 14921 14922 14923 14924 14925 14926 14927 14928 14929 14930 14931 14932 14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 15032 15033 15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 | __imp_union_aller_y!5__ [viens|venez|venons|allons|allez] y <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> \1-\2 # Il manque un trait d’union. [va|vas] [y|z-y|z’y] <<- /imp/ space_after(\1, 1, 1) and not morph(>1, ":Y") ->> vas-y # Il manque un trait d’union. TEST: {{allons y}} TEST: {{vas y}} TEST: {{Viens y}}. TEST: Viens y faire un test. __imp_union_convenir_en__ [conviens|convenez|convenons] en <<- /imp/ space_after(\1, 1, 1) and not value(>1, "|partie|") ->> \1-\2 # Il manque un trait d’union. TEST: c’est une belle affaire malgré son prix élevé, {{convenez en}}… # Autres tests TEST: Ne rien céder. TEST: Ne pas manger. TEST: Ne manquer de rien. TEST: Ne jamais miser sur ces tocards. TEST: Ne m’en rien laisser. !!! !!! !!! Processeur: destruction des pronoms qui précèdent un verbe et de l’adverbe de négation “ne”. !! !!! !!! __purge_préverbes1__ [ne|n’|me|m’|te|se|s’|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- ~1>> * t’ @:(?:[123][sp]|P|Y)¬:(?:X|2s)|>(?:rien|ils?|elles?|on)/ <<- ~1>> * le @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[me]:[si]|G|M) la @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[fe]:[si]|G|M) l’ @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[si]|G|M) les @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[pi]|G|M) en @:(?:[123][sp]|P|Y)¬:[NA] nous @:(?:[123][sp]|P|Y)¬:1p vous @:(?:[123][sp]|P|Y)¬:2p leur @:(?:[123][sp]|P|Y)¬:(?:[NA].*:[si]|G|M) <<- \2.islower() ~1>> * lui @:(?:[123][sp]|P|Y)¬:3s <<- not morph(<1, ":R") ~2>> * [je|j’|tu|il|on] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[me]:[si]") ~2>> * [je|j’|tu|il|on] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * [je|j’|tu|il|on] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[si]") ~2>> * [je|j’|tu|il|on] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":N.*:[pi]") ~2>> * [je|j’|tu|il|on] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":[123]s") or not morph(\3, ":[NA]") ~2>> * ils le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[me]:[si]") ~2>> * ils la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * ils [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[si]") ~2>> * ils les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":N.*:[pi]") ~2>> * ils en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":3p") or not morph(\3, ":[NA]") ~2>> * [lui|celui-là|celui-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * [lui|celui-là|celui-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * [lui|celui-là|celui-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[si]") ~2>> * [lui|celui-là|celui-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[pi]") ~2>> * [lui|celui-là|celui-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":[NA]") ~2>> * [elle|celle-là|celle-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * [elle|celle-là|celle-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * [elle|celle-là|celle-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[si]") ~2>> * [elle|celle-là|celle-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":N.*:[pi]") ~2>> * [elle|celle-là|celle-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3s|R)") or not morph(\3, ":[NA]") ~2>> * nous le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * nous la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * nous [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[si]") ~2>> * nous les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * nous en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:1p|R)") or not morph(\3, ":[NA]") ~2>> * vous le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * vous la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * vous [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[si]") ~2>> * vous les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * vous en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:2p|R)") or not morph(\3, ":[NA]") ~2>> * [elles|celles-là|celles-ci] le @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[me]:[si]") ~2>> * [elles|celles-là|celles-ci] la @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[fe]:[si]") ~2>> * [elles|celles-là|celles-ci] [l’|leur] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[si]") ~2>> * [elles|celles-là|celles-ci] les @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":N.*:[pi]") ~2>> * [elles|celles-là|celles-ci] en @:(?:[123][sp]|P|Y) <<- not morph(<1, ":(?:3p|R)") or not morph(\3, ":[NA]") ~2>> * [je|j’|tu|il|on|ils] [nous|vous|lui] @:(?:[123][sp]|P|Y) <<- ~2>> * [lui|celui-là|celui-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) [elle|celle-là|celle-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) [nous|vous] [nous|vous|lui] @:(?:[123][sp]|P|Y) [eux|ceux-là|ceux-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) [elles|celles-là|celles-ci] [nous|vous|lui] @:(?:[123][sp]|P|Y) <<- not morph(<1, ":R") ~2>> * __purge_préverbes2__ [me|m’|te|se|s’] [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ nous [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:(?:X|1p)|>rien/ vous [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:(?:X|2p)|>rien/ [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ leur en @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- ~1:2>> * lui en @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- not morph(<1, ":(?:R|3s)") ~1:2>> * t’ [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- not morph(\3, ":2s") or value(<1, "|je|j’|tu|il|elle|on|nous|vous|ils|elles|") ~1:2>> * <<- ~2>> * __purge_préverbes_négation__ [ne|n’] [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ [ne|n’] [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ [ne|n’] [le|la|l’|les] [lui|leur|en|y] @:(?:[123][sp]|P|Y)¬:X|>rien/ [ne|n’] [lui|leur] en @:(?:[123][sp]|P|Y)¬:X|>rien/ <<- ~1:-2>> * @@@@ @@@@ @@@@ @@@@ @@@@END_GRAPH _ @@@@ @@@@ @@@@ @@@@ __<i>(p_n_importe_qui_quoi)__ n(’)importe quo?i @@1 <<- ~1>> ` !! !! !!!! Confusions !! !! !! |
︙ | ︙ |