Grammalecte  Check-in [e751b105e6]

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: e751b105e698e54008ee8110636d5f00b64ee2fb5fce842aca9f0e4b49a9502c
User & Date: olr on 2018-06-27 10:03:18
Other Links: branch diff | manifest | tags
Context
2018-06-27
15:10
[fr] conversion: regex rules -> graph rules check-in: ff4d49c27a user: olr tags: fr, rg
10:03
[fr] conversion: regex rules -> graph rules check-in: e751b105e6 user: olr tags: fr, rg
10:02
[core] gc engine: use expand for text processor too check-in: 816624027a user: olr tags: core, rg
Changes

Modified gc_lang/fr/rules.grx from [3025b450e4] to [6d27ed5554].

5699
5700
5701
5702
5703
5704
5705


5706
5707
5708
5709
5710
5711
5712
    à toute heure de la nuit et du jour
    à tous crins
    à tous points de vue
    à toutes fins utiles
    à toutes jambes
    à tu et à toi
    à un moment donné


    à usage interne
    à visage découvert
    à visage humain
    à vive allure
    à voix [haute|basse]
    à vol d’ oiseau
    à vrai dire







>
>







5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
    à toute heure de la nuit et du jour
    à tous crins
    à tous points de vue
    à toutes fins utiles
    à toutes jambes
    à tu et à toi
    à un moment donné
    à une   heure  [décente|tardive]
    à cette heure matinale
    à usage interne
    à visage découvert
    à visage humain
    à vive allure
    à voix [haute|basse]
    à vol d’ oiseau
    à vrai dire
6825
6826
6827
6828
6829
6830
6831
6832
6833

6834
6835

6836


6837

6838
6839

6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851

6852
6853
6854
6855
6856

6857
6858
6859
6860


6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
__mot_composé_avec_là__
    ~-[lL][àÀ]$
        <<- morph(\1, ":[NAQ]", ":G", 0, -3) ~>> =\1[:-3]

TEST: cette femme-là {{étaient}} partout.



@@@@

@@@@END_GRAPH                                                                                      _
@@@@






# mot-là
#__[i](p_qqch_tiret_là)__        ({w1})(-là) @@0,$ <<- morphex(\1, ":[NAQ]", ":G") ~2>> *



# simplification des nombres
__<i](p_10_qqch)__
    dix-(?:sept|huit|neuf) <<- ~>> dix
__[i](p_20_30_40_50_qqch)__
    (?:vingt|trente|quarante|cinquante)(-(?:deux|trois|quatre|cinq|six|sept|huit|neuf|et-un)| et un) @@$ <<- ~1>> *
__[i](p_60_qqch)__
    soixante-(?:d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|quinze|seize| et (?:un|onze)|-et-(?:un|onze))
    <<- ~>> soixante
__[i](p_80_qqch)__
    quatre-vingt-(?:un|d(?:eux|ix|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|six|sept|huit|neuf|onze|quinze|seize)

    <<- ~>> quatre-vingts
__[i](p_qqch_100)__
    ((?:d(?:eux|ouze)|tr(?:ois|eize)|quat(?:re|orze)|cinq|s(?:ix|seize)|sept|huit|neuf|onze|quinze) cents) +({w_2})  @@0,$
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> cent
__[i](p_qqch_1000)__

    (?:deux|trois|quatre|cinq|six|sept|huit|neuf|cent) (?:cent |)mille
    <<- ~>> mille

__[i](p_det_plur_nombre_nom)__


    (?:le(?:ur|)s|des|ses|ces|mes|tes|nos|vos) +((?:quelque +|)(?:d(?:eux|ix|ouze)|tr(?:ois|eize|ente)|qua(?:t(?:re(?:-vingts|)|orze)|rante)|cinq(?:uante|)|s(?:ix|eize|oixante)|sept|huit|neuf|onze|quinze|vingt|cent|mille|\d+)) +({w_2})  @@w,$
    <<- morphex(\2, ":[NAQ].*:[pi]", ":(?:G|3p)") ~1>> *

__[i](p_une_heure)__
    (?:à |d(?:e +|’))une +heure(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt|décente|(?:très |)tardive)|) <<- ~>> *
__[i](p_nombre_heure)__
    (?:à|de) (?:d(?:eu|i)x|tr(?:ois|eize)|qu(?:at(?:re|orze)|inze)|cinq|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt) +heures(?: (?:d(?:eu|i)x|tr(?:ois|eize|ente)|qu(?:a(?:t(?:re|orze)|rante)|inze)|cinq(?:uante|)|s(?:ix|ept|eize)|huit|neuf|onze|douze|vingt)|) <<- ~>> *

## Conditionnel
__[i](p_à_xxx_pour_cent)__          à ({w_2}) pour cent @@2 <<- morph(\1, ":B", False) ~>> *
__[i](p_au_moins)__                 (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":[AQ].*:[me]:[si]", False) ~1>> *
__[i](p_au_hasard)__                au hasard <<- isEndOfNG() ~>> *
__[i](p_aussi_adv_que_possible)__   aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i](p_au_sens_adj_du_terme)__     au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A.*:m:s", False) ~>> *
#__[i](p_aussi_xxx_que_ce_soit)__   aussi ({w_2}) que ce soit
__[i](p_nombre_de)__                (nombre) des? @@0 <<- morph(word(-1), ":(?:R|C[sc])", False, True) ~1>> *
__[i](p_à_xxx_reprises)__           à ({w_2}) reprises @@2 <<- morph(\1, ":B", False) or re.search("(?i)^(?:plusieurs|maintes)", \1) ~>> *







|
<
>
|
<
>

>
>

>
|
<
>


|
<
<
<
|
|
<
|
|
<
>
|
|
|
<
<
>
|
|

|
>
>
|
<

<
<
<
<


|







6827
6828
6829
6830
6831
6832
6833
6834

6835
6836

6837
6838
6839
6840
6841
6842
6843

6844
6845
6846
6847



6848
6849

6850
6851

6852
6853
6854
6855


6856
6857
6858
6859
6860
6861
6862
6863

6864




6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
__mot_composé_avec_là__
    ~-[lL][àÀ]$
        <<- morph(\1, ":[NAQ]", ":G", 0, -3) ~>> =\1[:-3]

TEST: cette femme-là {{étaient}} partout.


__simplification_des_nombres__

    [vingt|trente|quarante|cinquante|soixante|soixante-dix|septante|quatre-vingt|octante|huitante|quatre-vingt-dix|nonante] et [un|une|onze]
        <<- ~>> \1-et-\3||

        <<- ~2:3>> *

    [deux|trois|quatre|cinq|six|sept|huit|neuf|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf]  cents  @:[NAQ].*:[pi]¬:(?:G|3p)
        <<- ~1:2>> ␣

    [deux|trois|quatre|cinq|six|sept|huit|neuf] ?cent¿ mille
    cent mille

        <<- ~>> ␣


__purge_des_nombres__



    [les|des|ces|mes|tes|ses|nos|vos|leurs]  quelque  @:B   @:[NA].*:[pi]¬:(?:G|3p)
    [les|des|ces|mes|tes|ses|nos|vos|leurs]  quelque  ~\d+  @:[NA].*:[pi]¬:(?:G|3p)

        <<- ~2:3>> *


    [à|de|d’]  @:B  pour  cent
        <<- ~>> *




    [à|de|d’]  une  heure  ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-et-une|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-et-une|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-et-une|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf]¿
    [à|de|d’]  [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre]  heures  ?[deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-et-une|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-et-une|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-et-une|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-et-une|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf]¿
        <<- ~>> *


@@@@
@@@@END_GRAPH                                                                                      _
@@@@







## Conditionnel

__[i](p_au_moins)__                 (au moins) +({w_1}) @@0,$ <<- not morph(\2, ":[AQ].*:[me]:[si]", False) ~1>> *
__[i](p_au_hasard)__                au hasard <<- isEndOfNG() ~>> *
__[i](p_aussi_adv_que_possible)__   aussi ({w_2}) que (?:nécessaire|possible) @@6 <<- morph(\1, ":W", False) ~>> *
__[i](p_au_sens_adj_du_terme)__     au sens (?:le (?:plus|moins) |)({w_2}) du terme @@w <<- morph(\1, ":A.*:m:s", False) ~>> *
#__[i](p_aussi_xxx_que_ce_soit)__   aussi ({w_2}) que ce soit
__[i](p_nombre_de)__                (nombre) des? @@0 <<- morph(word(-1), ":(?:R|C[sc])", False, True) ~1>> *
__[i](p_à_xxx_reprises)__           à ({w_2}) reprises @@2 <<- morph(\1, ":B", False) or re.search("(?i)^(?:plusieurs|maintes)", \1) ~>> *