Grammalecte  Check-in [296e21eba6]

Overview
Comment:[fr] nommage des règles du processeur
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 296e21eba65813bb764c06c46f6489f39edad209d3884a674bcadc66830db423
User & Date: olr on 2017-05-17 00:59:05
Other Links: manifest | tags
Context
2017-05-17
07:21
[fr] pt: pseudo check-in: 0bf8b23669 user: olr tags: trunk, fr
00:59
[fr] nommage des règles du processeur check-in: 296e21eba6 user: olr tags: trunk, fr
2017-05-16
23:52
[build] count unnamed rules check-in: e6a7cd50a7 user: olr tags: trunk, build
Changes

Modified gc_lang/fr/rules.grx from [cf39bba45d] to [8af51c75ff].

1119
1120
1121
1122
1123
1124
1125
1126

1127
1128
1129

1130
1131
1132

1133
1134
1135

1136
1137
1138

1139
1140
1141
1142


1143
1144
1145

1146
1147
1148
1149


1150
1151
1152
1153


1154
1155
1156
1157
1158



1159
1160
1161
1162
1163



1164
1165
1166

1167
1168
1169

1170
1171
1172

1173
1174
1175

1176
1177
1178

1179
1180

1181

1182
1183
1184
1185
1186
1187
1188
1119
1120
1121
1122
1123
1124
1125

1126
1127
1128

1129
1130
1131

1132
1133
1134

1135
1136
1137

1138
1139
1140


1141
1142
1143
1144

1145
1146
1147


1148
1149
1150
1151


1152
1153
1154
1155



1156
1157
1158
1159
1160



1161
1162
1163
1164
1165

1166
1167
1168

1169
1170
1171

1172
1173
1174

1175
1176
1177

1178
1179
1180
1181

1182
1183
1184
1185
1186
1187
1188
1189







-
+


-
+


-
+


-
+


-
+


-
-
+
+


-
+


-
-
+
+


-
-
+
+


-
-
-
+
+
+


-
-
-
+
+
+


-
+


-
+


-
+


-
+


-
+


+
-
+








#
# //////////////////////////////////////// PRÉPROCESSEUR ////////////////////////////////////////
# épuration des signes inutiles et quelques simplifications
#

# fin de phrase
__<s>__  [.?!:;…][ .?!… »”")]*$  <<- ~>> *
__<s>(p_fin_de_phrase)__        [.?!:;…][ .?!… »”")]*$  <<- ~>> *

# début de phrase
__<s>__  ^ *[-–—] <<- ~>> *
__<s>(p_début_de_phrase)__      ^ *[-–—] <<- ~>> *

# Guillemets et exposants
__<s>__  [«»“”"„`¹²³⁴⁵⁶⁷⁸⁹⁰]+ <<- ~>> *
__<s>(p_guillemets_exposants)__ [«»“”"„`¹²³⁴⁵⁶⁷⁸⁹⁰]+ <<- ~>> *

# Chapitres et références
__<s>__  [[({][\dIVXLCDM]+, \d+[])}]   <js>[\[\(\{][\dIVXLCDM]+, \d+[\]\)\}]</js>   <<- ~>> *
__<s>(p_chapitre_référence)__   [[({][\dIVXLCDM]+, \d+[])}]   <js>[\[\(\{][\dIVXLCDM]+, \d+[\]\)\}]</js>   <<- ~>> *

# simplification des mots grammaticaux élidés
__[i>__  (lorsqu|puisqu|quoiqu|jusqu|qu)’ @@0 <<- ~>> \1
__[i>(p_qu_apostrophe)__        (lorsqu|puisqu|quoiqu|jusqu|qu)’ @@0 <<- ~>> \1

# le, la ou les chose(s)
__[i>__  l[ea] ou les {w_2}([(]s[)]) @@$ <<- ~1>> s
__[i]__  l(e ou la|a ou le) {w_2} @@1 <<- ~1>> ’
__[i>(p_le_ou_les)__            l[ea] ou les {w_2}([(]s[)]) @@$ <<- ~1>> s
__[i](p_le_ou_la)__             l(e ou la|a ou le) {w_2} @@1 <<- ~1>> ’

# les références aux notes
__[i]__  [a-zéèâàôîù][a-zéèâàôîù-]+(\d+) @@$ <<- not morph(\0, ":", False) ~1>> *
__[i](p_références_aux_notes)__ [a-zéèâàôîù][a-zéèâàôîù-]+(\d+) @@$ <<- not morph(\0, ":", False) ~1>> *

# faux positifs avec adverbes de négation
__[i]__  pas mal <<- not morph(word(-1), ":D", False) ~>> *
__[i]__  pas assez ({w_2}) @@$ <<- morph(\1, ":A", False) and not morph(word(-1), ":D", False) ~>> *
__[i](p_pas_mal)__              pas mal <<- not morph(word(-1), ":D", False) ~>> *
__[i](p_pas_assez)__            pas assez ({w_2}) @@$ <<- morph(\1, ":A", False) and not morph(word(-1), ":D", False) ~>> *

# faux positifs avec «à chez»
__[i]__  de chez \w+ (?:à|jusqu à) chez (?:moi|toi|lui|elles?|eux|nous|vous) <<- ~>> * 
__[i]__  (jusqu à|de) chez @@0 <<- ~1>> *
__[i](p_de_chez_à_chez_pronom)__    de chez \w+ (?:à|jusqu à) chez (?:moi|toi|lui|elles?|eux|nous|vous) <<- ~>> * 
__[i](p_de_chez)__                  (jusqu à|de) chez @@0 <<- ~1>> *

# faux positifs
__[i]__  en tout et pour tout <<- ~>> *
__[i]__  au (sortir) de?s?  @@3 <<- ~1>> *
__[i]__  au revoir <<- ~>> au_revoir
__[i](p_en_tout_et_pour_tout)__ en tout et pour tout <<- ~>> *
__[i](p_au_sortir_de)__         au (sortir) de?s?  @@3 <<- ~1>> *
__[i](p_au_revoir)__            au revoir <<- ~>> au_revoir

# singletons entre parenthèses / crochets / accolades
__<s>__  [(]\w+[)] <js>\([a-zA-Z]+\)</js> <<- ~>> *
__<s>__  [{]\w+[}] <js>\{[a-zA-Z]+\}</js> <<- ~>> *
__<s>__  [[]\w+[]] <js>\[[a-zA-Z]+\]</js> <<- ~>> *
__<s>(p_singleton_parenthèses)__    [(]\w+[)] <js>\([a-zA-Z]+\)</js> <<- ~>> *
__<s>(p_singleton_accolades)__      [{]\w+[}] <js>\{[a-zA-Z]+\}</js> <<- ~>> *
__<s>(p_singleton_crochets)__       [[]\w+[]] <js>\[[a-zA-Z]+\]</js> <<- ~>> *

# Avocats
__[s]__  (Me) [A-ZÉÂÔÈ][\w-]+ @@0 <<- ~1>> *
__[s](p_Me_nom_propre)__        (Me) [A-ZÉÂÔÈ][\w-]+ @@0 <<- ~1>> *

# Évènements
__[s]__  Mai 68 <<- ~>> Mai-68
__[s](p_Mai_68)__               Mai 68 <<- ~>> Mai-68

# Rois, reines, papes et vaniteux du même acabit
__[s]__  [A-ZÉÂÔÈ]\w+ ([XVI]+|I(?:er|ᵉʳ)) @@$ <<- \1 != "I" ~1>> *
__[s](p_titres_et_ordinaux)__   [A-ZÉÂÔÈ]\w+ ([XVI]+|I(?:er|ᵉʳ)) @@$ <<- \1 != "I" ~1>> *

# Marques
__[i]__  Peugeot (\d0\d\d?) @@$ <<- ~1>> *
__[i](p_Peugeot)__              Peugeot (\d0\d\d?) @@$ <<- ~1>> *

# alors que / dès lors que (éviter d’accorder un participe passé avec un pseudo-COD antérieur)
__[i]__  (alors|dès lors) que?  @@0 <<- ~1>> _
__[i](p_alors_dès_lors_que)__   (alors|dès lors) que?  @@0 <<- ~1>> _

# Fusion des mots “multiples” (expérimental)
__[s](p_fusion_mots_multiples)__
__[s]__  [A-Z][a-z]+ [A-Z][a-z]+
    [A-Z][a-z]+ [A-Z][a-z]+
    <<- spell(\0.replace(" ", "_")) ~>> =\0.replace(" ", "_")


TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.



4559
4560
4561
4562
4563
4564
4565
4566

4567
4568
4569
4570
4571
4572
4573
4560
4561
4562
4563
4564
4565
4566

4567
4568
4569
4570
4571
4572
4573
4574







-
+







__[i](p_debout_derechef)__              de(?:bout|rechef)                           <<- ~>> *
__[i](p_depuis)__                       (depuis), @@0                              <<- ~1>> *
__[i](p_déjà_désormais)__               dé(?:jà|sormais)                            <<- ~>> *
__[i](p_donc_dorénavant)__              do(?:nc|rénavant)                           <<- ~>> *
__[i](p_enfin_ensuite_encore)__         en(?:fin|suite|core)                        <<- ~>> *
__[i](p_guère)__                        guère                                       <<- ~>> *
__[i](p_jadis)__                        jadis                                       <<- ~>> *
__[i](p_jamais)__                       jamais           <<- not before(r"(?i)\bne +$") ~>> *
__[i](p_jamais1)__                      jamais           <<- not before(r"(?i)\bne +$") ~>> *
__[i](p_loin_longtemps)__               lo(?:in|ngtemps)                            <<- ~>> *
__[i](p_mouais)__                       mouais                                      <<- ~>> *
__[i](p_naguère)__                      n(?:aguère|éanmoins)                        <<- ~>> *
__[i](p_parfois_partout)__              par(?:fois|tout)                            <<- ~>> *
__[i](p_presque_primo)__                pr(?:esque|imo)                             <<- ~>> *
__[i](p_peut_être_plutôt_pourtant)__    p(?:eut-être|lutôt|ourtant)                 <<- ~>> *
__[i](p_quelquefois)__                  quelquefois                                 <<- ~>> *
7795
7796
7797
7798
7799
7800
7801
7802

7803
7804
7805

7806
7807
7808
7809
7810
7811






7812
7813

7814

7815
7816
7817
7818
7819
7820



7821
7822
7823
7824
7825
7826


7827
7828
7829

7830
7831
7832


7833
7834

7835

7836

7837

7838

7839

7840

7841

7842
7843

7844

7845
7846
7847
7848
7849
7850
7851
7852





7853
7854
7855
7856
7857
7858
7859
7796
7797
7798
7799
7800
7801
7802

7803
7804
7805

7806
7807
7808




7809
7810
7811
7812
7813
7814
7815
7816
7817

7818
7819
7820
7821



7822
7823
7824
7825
7826
7827
7828


7829
7830
7831
7832

7833



7834
7835
7836
7837
7838

7839
7840
7841

7842
7843
7844

7845
7846
7847

7848
7849
7850
7851

7852
7853
7854
7855





7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867







-
+


-
+


-
-
-
-
+
+
+
+
+
+


+
-
+



-
-
-
+
+
+




-
-
+
+


-
+
-
-
-
+
+


+
-
+

+
-
+

+
-
+

+
-
+


+
-
+



-
-
-
-
-
+
+
+
+
+









#
# //////////////////////////////////////// PRÉPROCESSEUR ////////////////////////////////////////
#

### @ : we remove @ we introduced after le/la/les in some cases
__<s>__  @ <<- ~>> *
__<s>(p_arobase)__      @ <<- ~>> *

### Avant les verbes (ôter seulement les COI!)
__[i]__  ne (leur|lui)(?! en) @@3 <<- ~1>> *
__[i](p_ne_leur_lui)__  ne (leur|lui)(?! en) @@3 <<- ~1>> *

### Après les verbes
__[i]__  jamais <<- ~>> *
__[i]__  guère <<- ~>> *
__[i]__  ({w1}) (pas|point|rien|bien|ensemble) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i]__  \w+-(?:je|tu|ils?|elles?|on|[nv]ous) (pas|point|rien|bien|ensemble) @@$ <<- ~1>> *
__[i](p_jamais2)__      jamais <<- ~>> *
#__[i](p_guère)__        guère <<- ~>> *
__[i](p_pas_point_rien_bien_ensemble1)__
    ({w1}) (pas|point|rien|bien|ensemble) @@0,$ <<- morph(\1, ":V", False) ~2>> *
__[i](p_pas_point_rien_bien_ensemble2)__
    \w+-(?:je|tu|ils?|elles?|on|[nv]ous) (pas|point|rien|bien|ensemble) @@$ <<- ~1>> *

# sembler le croire/penser/présumer/supposer/envisager/imaginer
__[i](p_que_semble_le_penser)__
__[i]__  que +(sembl\w+) +(l(?:e (?:penser|croire|présumer|supposer)|’(?:envisager|imaginer))) @@w,$
    que +(sembl\w+) +(l(?:e (?:penser|croire|présumer|supposer)|’(?:envisager|imaginer))) @@w,$
    <<- morph(\1, ">sembler ", False) ~2>> *

### tous / tout / toute / toutes
__[i]__  (tout) (?:le|ce|[mts]on|leur) @@0 <<- ~1>> *
__[i]__  (toute) (?:la|cette|[mts](?:a|on)|leur) @@0 <<- ~1>> *
__[i]__  (tou(?:te|)s) (?:[csmlt]es|[vn]os|leurs) @@0 <<- ~1>> *
__[i](p_tout_det_mas)__     (tout) (?:le|ce|[mts]on|leur) @@0 <<- ~1>> *
__[i](p_toute_det_fem)__    (toute) (?:la|cette|[mts](?:a|on)|leur) @@0 <<- ~1>> *
__[i](p_tous_det_plur)__    (tou(?:te|)s) (?:[csmlt]es|[vn]os|leurs) @@0 <<- ~1>> *

### Simplification des groupes nominaux

# désambiguïsation - pour contrer le faux positif qui veut accorder fois avec le participe passé de la proposition suivante
__[s]__  (fois )que? @@0 <<- ~1>> fois=
__[i]__  que (l’)on  @@4 <<- ~1>> *
__[s](p_fois_que)__         (fois )que? @@0 <<- ~1>> fois=
__[i](p_que_l_on)__         que (l’)on  @@4 <<- ~1>> *


__[i]__  beaucoup (de (?:monde|temps)) @@9 <<- ~1>> _
__[i](p_beaucoup_de_monde_temps)__  beaucoup (de (?:monde|temps)) @@9 <<- ~1>> _
__[i]__  en pleine? ({w_2}) @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i]__  en tant que tel(?:s|lles?|) <<- ~>> *
__[i](p_en_plein_xxx)__             en pleine? ({w_2}) @@$ <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *
__[i](p_en_tant_que_tel)__          en tant que tel(?:s|lles?|) <<- ~>> *

# de +
__[i](p_de_vinfi)__
__[i]__  d(?:e |’)({infi}) @@$
    d(?:e |’)({infi}) @@$
    <<- morph(\1, ":V[123]_i", False) and isNextNotCOD() ~>> *
__[i](p_de_manière_façon_xxx_et_xxx)__
__[i]__  de (?:manière|façon) +(?:non +|)({w_2}) +et +(?:non +|)({w_2})  @@w,$
    de (?:manière|façon) +(?:non +|)({w_2}) +et +(?:non +|)({w_2})  @@w,$
    <<- morph(\1, ":A", False) and morphex(\2, ":A", ":[GM]") ~>> *
__[i](p_de_manière_façon)__
__[i]__  de (?:manière|façon) +(?:non +|)({w_2})  @@$
    de (?:manière|façon) +(?:non +|)({w_2})  @@$
    <<- morph(\1, ":A", False) ~>> *
__[i](p_de_nom_adj)__
__[i]__  d(?:e +|’)({w_2}) +({w_2})  @@w,$
    d(?:e +|’)({w_2}) +({w_2})  @@w,$
    <<- morph(\1, ":[NAQ].*:s", False) and morphex(\2, ":[NAQ].*:s", ":[GV]") and isEndOfNG() ~>> *

__[i](p_det_nom_adj_nom_adj)__
__[i]__  (?:les? |la |l’|des |ce(?:s|tte|t|) |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques |aux? ) *({w2}) +({w2})  @@w,$
    (?:les? |la |l’|des |ce(?:s|tte|t|) |[mts](?:es|on|a) |[nv]o(?:s|tre) |leurs? |certaine?s? |quelques |aux? ) *({w2}) +({w2})  @@w,$
    <<- morphex(\1, ":[NAQ]", ":V0") and morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|P)")
    ~2>> *

__[i]__  aucune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i]__  aucune? +(des +{w_2}) +ne? @@w <<- ~1>> *
__[i]__  chacune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i]__  l’une? (de [nv]ous|des [nv]ôtres|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i]__  la plupart (des {w_2}) @@11 <<- ~1>> *
__[i](p_aucun_de_pronom)__      aucune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_aucun_des_xxx_ne)__     aucune? +(des +{w_2}) +ne? @@w <<- ~1>> *
__[i](p_chacun_de_pronom)__     chacune? (de [nv]ous|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_l_un_de_pronom)__       l’une? (de [nv]ous|des [nv]ôtres|d’e(?:ux|lles|ntre (?:[nv]ous|e(?:ux|lles)))) @@$ <<- ~1>> *
__[i](p_la_plupart_des_xxx)__   la plupart (des {w_2}) @@11 <<- ~1>> *

# groupe déjà partiellement simplifié (selon les règles de la passe 3)
__[i](p_groupes_déjà_simplifiés)__
    (?:a(?:ux?|vec)|à|en)   +d(?:e +(?:la |l’|leurs? |ce(?:s|tte|t|) |[nv]o(?:s|tre) |[mts](?:a|on) |quelques? |certaine?s? )|es? |u ) *({w2})  @@$
    <<- morph(\1, ":[NAQ]", False) and isEndOfNG() ~>> *

## y compris (pas terrible, mais cas difficile)