Grammalecte  Check-in [6aae160f81]

Overview
Comment:[graphspell][fr][fx] rename tokens
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr | fx | graphspell
Files: files | file ages | folders
SHA3-256: 6aae160f810bd1a2f5295f306482d5acb8dba60e86d77ee3be36ef897bf6fc4d
User & Date: olr on 2020-11-25 20:50:35
Other Links: manifest | tags
Context
2020-11-25
21:26
[core][build][fr] rename functions check-in: e4fab36fc5 user: olr tags: trunk, fr, core, build
20:50
[graphspell][fr][fx] rename tokens check-in: 6aae160f81 user: olr tags: trunk, fr, fx, graphspell
19:54
[core][js] function g_meta() check-in: a786c60bab user: olr tags: trunk, core
Changes

Modified gc_lang/fr/rules.grx from [9bf21196ef] to [6feac788e5].

1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
!!!
!!!
!!! Purge de la phrase                                                                            !!
!!!
!!!

__tag_mots_entre_guillemets__
    «  [*WORD|*WORD_ELIDED]  »
        <<- space_after(\1, 0, 1) and space_after(\2, 0, 1) /2>> eg1mot

    «  [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]
        <<- space_after(\1, 0, 1) /2:0>> egxmot

    [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  »
        <<- space_after(\2, 0, 1) /1:2>> egxmot

    [“|”|"]     [*WORD|*WORD_ELIDED]   [“|”|"]
    [‘|'|’|`]   [*WORD|*WORD_ELIDED]   [‘|'|’|`]
        <<- space_after(\1, 0, 0) and space_after(\2, 0, 0) /2>> eg1mot

    ["|“|”]  [*WORD|*WORD_ELIDED]  *[*WORD|*WORD_ELIDED]
        <<- space_after(\1, 0, 0) /2:0>> egxmot

    [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  ["|“|”]
        <<- space_after(\2, 0, 0) /1:2>> egxmot


__purge_guillemets__
    [«|»|“|”|"|„|`]
        <<- ~>> *








|


|


|


|
|


|


|







1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
!!!
!!!
!!! Purge de la phrase                                                                            !!
!!!
!!!

__tag_mots_entre_guillemets__
    «  [*WORD|*WORDELD]  »
        <<- space_after(\1, 0, 1) and space_after(\2, 0, 1) /2>> eg1mot

    «  [*WORD|*WORDELD]  [*WORD|*WORDELD]
        <<- space_after(\1, 0, 1) /2:0>> egxmot

    [*WORD|*WORDELD]  [*WORD|*WORDELD]  »
        <<- space_after(\2, 0, 1) /1:2>> egxmot

    [“|”|"]     [*WORD|*WORDELD]   [“|”|"]
    [‘|'|’|`]   [*WORD|*WORDELD]   [‘|'|’|`]
        <<- space_after(\1, 0, 0) and space_after(\2, 0, 0) /2>> eg1mot

    ["|“|”]  [*WORD|*WORDELD]  *[*WORD|*WORDELD]
        <<- space_after(\1, 0, 0) /2:0>> egxmot

    [*WORD|*WORDELD]  [*WORD|*WORDELD]  ["|“|”]
        <<- space_after(\2, 0, 0) /1:2>> egxmot


__purge_guillemets__
    [«|»|“|”|"|„|`]
        <<- ~>> *

3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
    [les|des|aux] signes [de|d’] ponctuation    tel que     ‹          *PUNC  ›         et  ‹          *PUNC  ›
        <<- ~5:0>> *

    [le|du|au] groupe    ?nominal¿  [“|”|"]    $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  [“|”|"]
    [le|du|au] groupe    ?nominal¿  «          $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  »
    [le|du|au] groupe    ?nominal¿  [‘|'|’|`]  $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  [‘|'|’|`]
    [le|du|au] groupe    ?nominal¿  ‹          $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  ›
    [le|du|au] syntagme  ?nominal¿  [“|”|"]    [*WORD|*WORD_ELIDED]  *WORD  ?*WORD¿  ?*WORD¿  [“|”|"]
    [le|du|au] syntagme  ?nominal¿  «          [*WORD|*WORD_ELIDED]  *WORD  ?*WORD¿  ?*WORD¿  »
    [le|du|au] syntagme  ?nominal¿  [‘|'|’|`]  [*WORD|*WORD_ELIDED]  *WORD  ?*WORD¿  ?*WORD¿  [‘|'|’|`]
    [le|du|au] syntagme  ?nominal¿  ‹          [*WORD|*WORD_ELIDED]  *WORD  ?*WORD¿  ?*WORD¿  ›
    la proposition                  [“|”|"]    [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  [“|”|"]
    la proposition                  «          [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  »
    la proposition                  [‘|'|’|`]  [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  [‘|'|’|`]
    la proposition                  ‹          [*WORD|*WORD_ELIDED]  [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ›
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [“|”|"]    [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  [“|”|"]
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  «          [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  »
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [‘|'|’|`]  [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  [‘|'|’|`]
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  ‹          [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  ›
        <<- ~3:0>> *

    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [“|”|"]    [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  [“|”|"]
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  «          [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  »
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [‘|'|’|`]  [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  [‘|'|’|`]
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  ‹          [*WORD|*WORD_ELIDED] ?,¿ [*WORD|*WORD_ELIDED]  ?[*WORD|*WORD_ELIDED]¿  ?[*WORD|*WORD_ELIDED]¿  ?*WORD¿  ›
        <<- ~4:0>> *


    [<start>|,]  [“|”|"]    *WORD       [“|”|"]    n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  «          *WORD       »          n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  [‘|'|’|`]  *WORD       [‘|'|’|`]  n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  ‹          *WORD       ›          n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]







|
|
|
|
|
|
|
|
|
|
|
|


|
|
|
|







3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
    [les|des|aux] signes [de|d’] ponctuation    tel que     ‹          *PUNC  ›         et  ‹          *PUNC  ›
        <<- ~5:0>> *

    [le|du|au] groupe    ?nominal¿  [“|”|"]    $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  [“|”|"]
    [le|du|au] groupe    ?nominal¿  «          $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  »
    [le|du|au] groupe    ?nominal¿  [‘|'|’|`]  $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  [‘|'|’|`]
    [le|du|au] groupe    ?nominal¿  ‹          $:D  @:[NA]  ?@:[NA]¿  ?@:[NA]¿  ›
    [le|du|au] syntagme  ?nominal¿  [“|”|"]    [*WORD|*WORDELD]  *WORD  ?*WORD¿  ?*WORD¿  [“|”|"]
    [le|du|au] syntagme  ?nominal¿  «          [*WORD|*WORDELD]  *WORD  ?*WORD¿  ?*WORD¿  »
    [le|du|au] syntagme  ?nominal¿  [‘|'|’|`]  [*WORD|*WORDELD]  *WORD  ?*WORD¿  ?*WORD¿  [‘|'|’|`]
    [le|du|au] syntagme  ?nominal¿  ‹          [*WORD|*WORDELD]  *WORD  ?*WORD¿  ?*WORD¿  ›
    la proposition                  [“|”|"]    [*WORD|*WORDELD]  [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  [“|”|"]
    la proposition                  «          [*WORD|*WORDELD]  [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  »
    la proposition                  [‘|'|’|`]  [*WORD|*WORDELD]  [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  [‘|'|’|`]
    la proposition                  ‹          [*WORD|*WORDELD]  [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ›
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [“|”|"]    [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  [“|”|"]
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  «          [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  »
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [‘|'|’|`]  [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  [‘|'|’|`]
    [<start>|la] locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  ‹          [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  ›
        <<- ~3:0>> *

    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [“|”|"]    [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  [“|”|"]
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  «          [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  »
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  [‘|'|’|`]  [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  [‘|'|’|`]
    [<start>|l’] ancienne locution  ?[nominale|adjectivale|adverbiale|verbale|pronominale]¿  ‹          [*WORD|*WORDELD] ?,¿ [*WORD|*WORDELD]  ?[*WORD|*WORDELD]¿  ?[*WORD|*WORDELD]¿  ?*WORD¿  ›
        <<- ~4:0>> *


    [<start>|,]  [“|”|"]    *WORD       [“|”|"]    n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  «          *WORD       »          n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  [‘|'|’|`]  *WORD       [‘|'|’|`]  n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
    [<start>|,]  ‹          *WORD       ›          n’ est pas    un  [terme|mot|nom|adjectif|déterminant|substantif|verbe|adverbe|participe|nombre]
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
    [<start>|,]  [“|”|"]    *SIGN       [“|”|"]    est [un|le]     signe
    [<start>|,]  «          *SIGN       »          est [un|le]     signe
    [<start>|,]  [‘|'|’|`]  *SIGN       [‘|'|’|`]  est [un|le]     signe
    [<start>|,]  ‹          *SIGN       ›          est [un|le]     signe
        <<- !3>>
        <<- !5>>

    [<start>|,]  >écrire  [“|”|"]   ?*WORD_ELIDED¿ *WORD  [“|”|"]
    [<start>|,]  >écrire  «         ?*WORD_ELIDED¿ *WORD  »
    [<start>|,]  >écrire  [‘|'|’|`] ?*WORD_ELIDED¿ *WORD  [‘|'|’|`]
    [<start>|,]  >écrire  ‹         ?*WORD_ELIDED¿ *WORD  ›
        <<- !-2>>

TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.
TEST: de Bordeaux ou de n’importe où
TEST: il n’y a pas faute.
TEST: une séparation hommes/femmes
TEST: le mot “amie” ne veut plus rien dire







|
|
|
|







3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
    [<start>|,]  [“|”|"]    *SIGN       [“|”|"]    est [un|le]     signe
    [<start>|,]  «          *SIGN       »          est [un|le]     signe
    [<start>|,]  [‘|'|’|`]  *SIGN       [‘|'|’|`]  est [un|le]     signe
    [<start>|,]  ‹          *SIGN       ›          est [un|le]     signe
        <<- !3>>
        <<- !5>>

    [<start>|,]  >écrire  [“|”|"]   ?*WORDELD¿ *WORD  [“|”|"]
    [<start>|,]  >écrire  «         ?*WORDELD¿ *WORD  »
    [<start>|,]  >écrire  [‘|'|’|`] ?*WORDELD¿ *WORD  [‘|'|’|`]
    [<start>|,]  >écrire  ‹         ?*WORDELD¿ *WORD  ›
        <<- !-2>>

TEST: New York {{étaient}} {{devenue}} la plaque tournante de tous les trafics.
TEST: de Bordeaux ou de n’importe où
TEST: il n’y a pas faute.
TEST: une séparation hommes/femmes
TEST: le mot “amie” ne veut plus rien dire
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
    révolution d’ Octobre
        <<- !3>>

    *WORD [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not morph(\1, ":M1") and not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [*NUM|*WORD_ELIDED] [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
    ,    [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [1|2|3|4|5|6|7|8|9|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] Mars
    en Mars
        <<- /maj/ not \2.isupper() -2:>> mars







|







13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
    révolution d’ Octobre
        <<- !3>>

    *WORD [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not morph(\1, ":M1") and not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [*NUM|*WORDELD] [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
    ,    [Janvier|Février|Avril|Mai|Juin|Juillet|Août|Aout|Septembre|Octobre|Novembre|Décembre|Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor]
        <<- /maj/ not \2.isupper() -2:>> =\2.lower()
        && Pas de majuscule sur les mois.|http://www.academie-francaise.fr/la-langue-francaise/questions-de-langue#42_strong-em-jours-de-la-semaine-pluriel-et-majuscules-em-strong

    [1|2|3|4|5|6|7|8|9|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31] Mars
    en Mars
        <<- /maj/ not \2.isupper() -2:>> mars

Modified gc_lang/fr/webext/content_scripts/panel_lxg.css from [c02591ce6d] to [c6d8057ee1].

129
130
131
132
133
134
135
136

137
138
139
140
141
142
143
    color: hsl(0, 0%, 50%);
}

div.grammalecte_lxg_token_LOC {
    background-color: hsla(150, 50%, 30%, 1);
}
div.grammalecte_lxg_token_WORD,
div.grammalecte_lxg_token_WORD_ELIDED {

    background-color: hsla(150, 50%, 50%, 1);
}
div.grammalecte_lxg_token_UNKNOWN_WORD {
    background-color: hsla(0, 50%, 50%, 1);
}
div.grammalecte_lxg_token_NUM {
    background-color: hsla(180, 50%, 50%, 1);







|
>







129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
    color: hsl(0, 0%, 50%);
}

div.grammalecte_lxg_token_LOC {
    background-color: hsla(150, 50%, 30%, 1);
}
div.grammalecte_lxg_token_WORD,
div.grammalecte_lxg_token_WORDORD,
div.grammalecte_lxg_token_WORDELD {
    background-color: hsla(150, 50%, 50%, 1);
}
div.grammalecte_lxg_token_UNKNOWN_WORD {
    background-color: hsla(0, 50%, 50%, 1);
}
div.grammalecte_lxg_token_NUM {
    background-color: hsla(180, 50%, 50%, 1);

Modified graphspell-js/lexgraph_fr.js from [ef2dd6f7df] to [d7bf1d579f].

479
480
481
482
483
484
485
486

487
488
489
490
491
492
493
                    break;
                case 'FOLDERWIN':
                    oToken["aLabels"] = ["dossier Windows"];
                    break;
                case 'WORD_ACRONYM':
                    oToken["aLabels"] = ["sigle ou acronyme"];
                    break;
                case 'WORD_ELIDED':

                case 'WORD':
                    if (oToken.hasOwnProperty("lMorph")  &&  oToken["lMorph"].length > 0) {
                        // with morphology
                        oToken["aLabels"] = [];
                        for (let sMorph of oToken["lMorph"]) {
                            oToken["aLabels"].push(this.readableMorph(sMorph));
                        }







|
>







479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
                    break;
                case 'FOLDERWIN':
                    oToken["aLabels"] = ["dossier Windows"];
                    break;
                case 'WORD_ACRONYM':
                    oToken["aLabels"] = ["sigle ou acronyme"];
                    break;
                case 'WORDELD':
                case 'WORDORD':
                case 'WORD':
                    if (oToken.hasOwnProperty("lMorph")  &&  oToken["lMorph"].length > 0) {
                        // with morphology
                        oToken["aLabels"] = [];
                        for (let sMorph of oToken["lMorph"]) {
                            oToken["aLabels"].push(this.readableMorph(sMorph));
                        }

Modified graphspell-js/tokenizer.js from [7838839417] to [9c02b80583].

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
            [/^[,.;:!?…«»“”‘’"(){}\[\]·–—¿¡]/, 'PUNC'],
            [/^[A-Z][.][A-Z][.](?:[A-Z][.])*/, 'WORD_ACRONYM'],
            [/^(?:https?:\/\/|www[.]|[a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]+[@.][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]{2,}[@.])[a-zA-Z0-9][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_.\/?&!%=+*"'@$#-]+/, 'LINK'],
            [/^[#@][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]+/, 'TAG'],
            [/^<[a-zA-Z]+.*?>|^<\/[a-zA-Z]+ *>/, 'HTML'],
            [/^\[\/?[a-zA-Z]+\]/, 'PSEUDOHTML'],
            [/^&\w+;(?:\w+;|)/, 'HTMLENTITY'],
            [/^(?:l|d|n|m|t|s|j|c|ç|lorsqu|puisqu|jusqu|quoiqu|qu|presqu|quelqu)['’ʼ‘‛´`′‵՚ꞌꞋ]/i, 'WORD_ELIDED'],
            [/^\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b/, 'HOUR'],
            [/^\d+(?:ers?\b|res?\b|è[rm]es?\b|i[èe][mr]es?\b|de?s?\b|nde?s?\b|ès?\b|es?\b|ᵉʳˢ?|ʳᵉˢ?|ᵈᵉ?ˢ?|ⁿᵈᵉ?ˢ?|ᵉˢ?)/, 'WORD_ORDINAL'],
            [/^\d+(?:[.,]\d+|)/, 'NUM'],
            [/^[&%‰€$+±=*/<>⩾⩽#|×¥£§¢¬÷@-]/, 'SIGN'],
            [/^[a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-stᴀ-ᶿ\u0300-\u036fᵉʳˢⁿᵈ]+(?:[’'`-][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-stᴀ-ᶿ\u0300-\u036fᵉʳˢⁿᵈ]+)*/, 'WORD'],
            [/^_+/, 'UNDERSCORE'],
            [/^\S/, 'OTHER'],
        ]
};







|

|







37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
            [/^[,.;:!?…«»“”‘’"(){}\[\]·–—¿¡]/, 'PUNC'],
            [/^[A-Z][.][A-Z][.](?:[A-Z][.])*/, 'WORD_ACRONYM'],
            [/^(?:https?:\/\/|www[.]|[a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]+[@.][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]{2,}[@.])[a-zA-Z0-9][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_.\/?&!%=+*"'@$#-]+/, 'LINK'],
            [/^[#@][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-st_-]+/, 'TAG'],
            [/^<[a-zA-Z]+.*?>|^<\/[a-zA-Z]+ *>/, 'HTML'],
            [/^\[\/?[a-zA-Z]+\]/, 'PSEUDOHTML'],
            [/^&\w+;(?:\w+;|)/, 'HTMLENTITY'],
            [/^(?:l|d|n|m|t|s|j|c|ç|lorsqu|puisqu|jusqu|quoiqu|qu|presqu|quelqu)['’ʼ‘‛´`′‵՚ꞌꞋ]/i, 'WORDELD'],
            [/^\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b/, 'HOUR'],
            [/^\d+(?:ers?\b|res?\b|è[rm]es?\b|i[èe][mr]es?\b|de?s?\b|nde?s?\b|ès?\b|es?\b|ᵉʳˢ?|ʳᵉˢ?|ᵈᵉ?ˢ?|ⁿᵈᵉ?ˢ?|ᵉˢ?)/, 'WORDORD'],
            [/^\d+(?:[.,]\d+|)/, 'NUM'],
            [/^[&%‰€$+±=*/<>⩾⩽#|×¥£§¢¬÷@-]/, 'SIGN'],
            [/^[a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-stᴀ-ᶿ\u0300-\u036fᵉʳˢⁿᵈ]+(?:[’'`-][a-zA-Zà-öÀ-Ö0-9ø-ÿØ-ßĀ-ʯff-stᴀ-ᶿ\u0300-\u036fᵉʳˢⁿᵈ]+)*/, 'WORD'],
            [/^_+/, 'UNDERSCORE'],
            [/^\S/, 'OTHER'],
        ]
};

Modified graphspell/lexgraph_fr.py from [1302f14e27] to [b25f46ca05].

452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
            dToken["aLabels"] = ["balise HTML"]
        elif dToken["sType"] == 'PSEUDOHTML':
            dToken["aLabels"] = ["balise pseudo-HTML"]
        elif dToken["sType"] == 'HTMLENTITY':
            dToken["aLabels"] = ["entité caractère XML/HTML"]
        elif dToken["sType"] == 'HOUR':
            dToken["aLabels"] = ["heure"]
        elif dToken["sType"] == 'WORD_ORDINAL':
            dToken["aLabels"] = ["nombre ordinal"]
        elif dToken["sType"] == 'FOLDERUNIX':
            dToken["aLabels"] = ["dossier UNIX (et dérivés)"]
        elif dToken["sType"] == 'FOLDERWIN':
            dToken["aLabels"] = ["dossier Windows"]
        elif dToken["sType"] == 'WORD_ACRONYM':
            dToken["aLabels"] = ["sigle ou acronyme"]
        elif dToken["sType"] == 'WORD' or dToken["sType"] == 'WORD_ELIDED':
            if "lMorph" in dToken and dToken["lMorph"]:
                # with morphology
                dToken["aLabels"] = []
                for sMorph in dToken["lMorph"]:
                    dToken["aLabels"].append(readableMorph(sMorph))
            else:
                # no morphology, guessing







|







|







452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
            dToken["aLabels"] = ["balise HTML"]
        elif dToken["sType"] == 'PSEUDOHTML':
            dToken["aLabels"] = ["balise pseudo-HTML"]
        elif dToken["sType"] == 'HTMLENTITY':
            dToken["aLabels"] = ["entité caractère XML/HTML"]
        elif dToken["sType"] == 'HOUR':
            dToken["aLabels"] = ["heure"]
        elif dToken["sType"] == 'WORDORD':
            dToken["aLabels"] = ["nombre ordinal"]
        elif dToken["sType"] == 'FOLDERUNIX':
            dToken["aLabels"] = ["dossier UNIX (et dérivés)"]
        elif dToken["sType"] == 'FOLDERWIN':
            dToken["aLabels"] = ["dossier Windows"]
        elif dToken["sType"] == 'WORD_ACRONYM':
            dToken["aLabels"] = ["sigle ou acronyme"]
        elif dToken["sType"] == 'WORD' or dToken["sType"] == 'WORDELD':
            if "lMorph" in dToken and dToken["lMorph"]:
                # with morphology
                dToken["aLabels"] = []
                for sMorph in dToken["lMorph"]:
                    dToken["aLabels"].append(readableMorph(sMorph))
            else:
                # no morphology, guessing

Modified graphspell/tokenizer.py from [88086e8ef7] to [84d5574a19].

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
            r'(?P<FOLDERWIN>[a-zA-Z]:\\(?:Program Files(?: [(]x86[)]|)|[\w.()]+)(?:\\[\w.()-]+)*)',
            r'(?P<PUNC>[][,.;:!?…«»“”‘’"(){}·–—¿¡])',
            r'(?P<WORD_ACRONYM>[A-Z][.][A-Z][.](?:[A-Z][.])*)',
            r'(?P<LINK>(?:https?://|www[.]|\w+[@.]\w\w+[@.])\w[\w./?&!%=+*"\'@$#-]+)',
            r'(?P<HASHTAG>[#@][\w-]+)',
            r'(?P<HTML><\w+.*?>|</\w+ *>)',
            r'(?P<PSEUDOHTML>\[/?\w+\])',
            r"(?P<WORD_ELIDED>(?:l|d|n|m|t|s|j|c|ç|lorsqu|puisqu|jusqu|quoiqu|qu|presqu|quelqu)['’ʼ‘‛´`′‵՚ꞌꞋ])",
            r'(?P<WORD_ORDINAL>\d+(?:ers?|res?|è[rm]es?|i[èe][mr]es?|de?s?|nde?s?|ès?|es?|ᵉʳˢ?|ʳᵉˢ?|ᵈᵉ?ˢ?|ⁿᵈᵉ?ˢ?|ᵉˢ?)\b)',
            r'(?P<HOUR>\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b)',
            r'(?P<NUM>\d+(?:[.,]\d+|))',
            r'(?P<SIGN>[&%‰€$+±=*/<>⩾⩽#|×¥£¢§¬÷@-])',
            r"(?P<WORD>(?:(?!_)[\w\u0300-\u036f])+(?:[’'`-](?:(?!_)[\w\u0300-\u036f])+)*)",        # with combining diacritics
            r"(?P<UNDERSCORE>_+)",
            r"(?P<OTHER>\S)"
        )







|
|







31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
            r'(?P<FOLDERWIN>[a-zA-Z]:\\(?:Program Files(?: [(]x86[)]|)|[\w.()]+)(?:\\[\w.()-]+)*)',
            r'(?P<PUNC>[][,.;:!?…«»“”‘’"(){}·–—¿¡])',
            r'(?P<WORD_ACRONYM>[A-Z][.][A-Z][.](?:[A-Z][.])*)',
            r'(?P<LINK>(?:https?://|www[.]|\w+[@.]\w\w+[@.])\w[\w./?&!%=+*"\'@$#-]+)',
            r'(?P<HASHTAG>[#@][\w-]+)',
            r'(?P<HTML><\w+.*?>|</\w+ *>)',
            r'(?P<PSEUDOHTML>\[/?\w+\])',
            r"(?P<WORDELD>(?:l|d|n|m|t|s|j|c|ç|lorsqu|puisqu|jusqu|quoiqu|qu|presqu|quelqu)['’ʼ‘‛´`′‵՚ꞌꞋ])",
            r'(?P<WORDORD>\d+(?:ers?|res?|è[rm]es?|i[èe][mr]es?|de?s?|nde?s?|ès?|es?|ᵉʳˢ?|ʳᵉˢ?|ᵈᵉ?ˢ?|ⁿᵈᵉ?ˢ?|ᵉˢ?)\b)',
            r'(?P<HOUR>\d\d?[h:]\d\d(?:[m:]\d\ds?|)\b)',
            r'(?P<NUM>\d+(?:[.,]\d+|))',
            r'(?P<SIGN>[&%‰€$+±=*/<>⩾⩽#|×¥£¢§¬÷@-])',
            r"(?P<WORD>(?:(?!_)[\w\u0300-\u036f])+(?:[’'`-](?:(?!_)[\w\u0300-\u036f])+)*)",        # with combining diacritics
            r"(?P<UNDERSCORE>_+)",
            r"(?P<OTHER>\S)"
        )