Grammalecte  Check-in [aea2e8d9ee]

Overview
Comment:merge trunk
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | comdic
Files: files | file ages | folders
SHA3-256: aea2e8d9ee6c3ba682170c13cb277e3ccdd78f68a929a5d02828c65b448a2107
User & Date: olr on 2019-02-09 20:27:50
Other Links: branch diff | manifest | tags
Context
2019-02-10
00:31
[fr] fix JS positioning code and regex check-in: d3187b7cd8 user: olr tags: fr, comdic
2019-02-09
20:27
merge trunk check-in: aea2e8d9ee user: olr tags: comdic
20:09
[graphspell][js] acronyms recognized by default check-in: 39acddf4cc user: olr tags: trunk, graphspell
14:07
[fx] dictionaries manager: update check-in: a646054ced user: olr tags: fx, comdic
Changes

Modified gc_lang/fr/rules.grx from [0c758d7aca] to [17d13b9474].

12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469

TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui.


__gn_det_groupe_de_1m__
    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques]  [>centaine|>millier|>million|>milliard|>dizaine|>douzaine|>multitude|>horde]  [de|d’]  *WORD
        <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>fraude/") or \4 in aREGULARPLURAL
        -4>> =suggPlur(\4)                                                                  # Avec des « \2 \3 \4 », mettre au pluriel.

TEST: des centaines de {{bête}} à cornes passèrent devant nous.     ->> bêtes
TEST: une multitude d’{{homme}}                                     ->> hommes
TEST: les 80 milliards de fraude fiscale


## quelque adverbe







|







12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469

TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui.


__gn_det_groupe_de_1m__
    [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques]  [>centaine|>millier|>million|>milliard|>dizaine|>douzaine|>multitude|>horde]  [de|d’]  *WORD
        <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>fraude/") or \4 in aREGULARPLURAL
        -4>> =suggPlur(\4)                                                                  # Avec \1 « \2 \3 \4 », mettre au pluriel “\4” s’il y en a bien plusieurs.

TEST: des centaines de {{bête}} à cornes passèrent devant nous.     ->> bêtes
TEST: une multitude d’{{homme}}                                     ->> hommes
TEST: les 80 milliards de fraude fiscale


## quelque adverbe
18193
18194
18195
18196
18197
18198
18199






















18200
18201
18202
18203
18204
18205
18206
        <<- /conf/ \4.islower() -4>> =suggVerbPpas(\4, ":p")                        # Confusion probable : “\4” est un verbe à l’infinitif, alors qu’il faudrait probablement un adjectif se rapportant à “\2 \3”.

TEST: mon pantalon {{repriser}} me grattait.
TEST: la petite {{penser}} ne cessait de tourner dans son cerveau enfiévré.
TEST: les hommes nouvellement {{arriver}} ne nous dirent rien de ce qu’ils avaient vu.

























!!!
!!!
!!! Processeur: purge des préverbes                                                               !!
!!!
!!!








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







18193
18194
18195
18196
18197
18198
18199
18200
18201
18202
18203
18204
18205
18206
18207
18208
18209
18210
18211
18212
18213
18214
18215
18216
18217
18218
18219
18220
18221
18222
18223
18224
18225
18226
18227
18228
        <<- /conf/ \4.islower() -4>> =suggVerbPpas(\4, ":p")                        # Confusion probable : “\4” est un verbe à l’infinitif, alors qu’il faudrait probablement un adjectif se rapportant à “\2 \3”.

TEST: mon pantalon {{repriser}} me grattait.
TEST: la petite {{penser}} ne cessait de tourner dans son cerveau enfiévré.
TEST: les hommes nouvellement {{arriver}} ne nous dirent rien de ce qu’ils avaient vu.


__conf_quel_être_nom_verbe__
    [quel|quels|quelle|quelles]  >être  [le|mon|ton|son|ce|cet]  @:V¬:[NA]
    [quel|quels|quelle|quelles]  >pouvoir être  [le|mon|ton|son|ce|cet]  @:V¬:[NA]
        <<- /conf/ morph(\2, ":[123][sp]") --1>> =suggSimil(\-1, ":[NA].*:[me]:[si]", True)     # Confusion probable : “\-1”  est un forme verbale conjuguée, alors qu’il faudrait probablement un substantif.

    [quel|quels|quelle|quelles]  >être  [la|ma|ta|sa|cette]  @:V¬:[NA]
    [quel|quels|quelle|quelles]  >pouvoir être  [la|ma|ta|sa|cette]  @:V¬:[NA]
        <<- /conf/ morph(\2, ":[123][sp]") --1>> =suggSimil(\-1, ":[NA].*:[fe]:[si]", True)     # Confusion probable : “\-1”  est un forme verbale conjuguée, alors qu’il faudrait probablement un substantif.

    [quel|quels|quelle|quelles]  >être  [l’|notre|votre|leur]  @:V¬:[NA]
    [quel|quels|quelle|quelles]  >pouvoir être  [l’|notre|votre|leur]  @:V¬:[NA]
        <<- /conf/ morph(\2, ":[123][sp]") --1>> =suggSimil(\-1, ":[NA].*:[si]", True)          # Confusion probable : “\-1”  est un forme verbale conjuguée, alors qu’il faudrait probablement un substantif.

    [quel|quels|quelle|quelles]  >être  [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs]  @:V¬:[NA]
    [quel|quels|quelle|quelles]  >pouvoir être  [les|ces|mes|tes|ses|nos|vos|leurs|plusieurs]  @:V¬:[NA]
        <<- /conf/ morph(\2, ":[123][sp]") --1>> =suggSimil(\-1, ":[NA].*:[pi]", True)          # Confusion probable : “\-1”  est un forme verbale conjuguée, alors qu’il faudrait probablement un substantif.

TEST: Quel serait leur {{impacte}} sur la population.                               ->> impact
TEST: Quels étaient les {{ennuient}} avec ces gens                                  ->> ennuis
TEST: un homme humble et doux, quel être le deviendrait en de telles circonstances ?



!!!
!!!
!!! Processeur: purge des préverbes                                                               !!
!!!
!!!

19924
19925
19926
19927
19928
19929
19930


19931
19932
19933
19934
19935
19936
19937
TEST: Comme d’habitude, ils ont tout fait à l’arrache.
TEST: tout un système pour justifier que “nous” avons toujours raison et que nous ne pouvons jamais avoir tort.
TEST: Daignez le lui permettre.
TEST: Renvoyer quelqu’un sans l’avoir examiné peut être un grand danger.
TEST: En 1944, au sortir des deux guerres ayant ravagé l’Europe, le CNR (conseil national de la résistance) avait bien mesuré les tenants et les aboutissants, c’est-à-dire les causes et les conséquences du ravage des inégalités et du jusqu’au boutisme de l’auto-défense d’une caste pour préserver ses acquis.
TEST: Ceux de l’Université sont plus perfectionnés
TEST: Celles de l’Institut sont plus perfectionnées





!!! Tests historiques                                                                             !!

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.







>
>







19946
19947
19948
19949
19950
19951
19952
19953
19954
19955
19956
19957
19958
19959
19960
19961
TEST: Comme d’habitude, ils ont tout fait à l’arrache.
TEST: tout un système pour justifier que “nous” avons toujours raison et que nous ne pouvons jamais avoir tort.
TEST: Daignez le lui permettre.
TEST: Renvoyer quelqu’un sans l’avoir examiné peut être un grand danger.
TEST: En 1944, au sortir des deux guerres ayant ravagé l’Europe, le CNR (conseil national de la résistance) avait bien mesuré les tenants et les aboutissants, c’est-à-dire les causes et les conséquences du ravage des inégalités et du jusqu’au boutisme de l’auto-défense d’une caste pour préserver ses acquis.
TEST: Ceux de l’Université sont plus perfectionnés
TEST: Celles de l’Institut sont plus perfectionnées
TEST: Judith A. Allan a aussi constaté que les études sur les crises de la masculinité ne proposent pas ou que très rarement d’indicateurs pour déterminer si une société est (trop) féminisée et si les hommes sont (réellement) en crise.
TEST: une procédure abusive pour fermer la porte qu’elles ont essayé d’ouvrir



!!! Tests historiques                                                                             !!

## Version 0.5.14
TEST: par le léger tissu de rayonne qui les protégeait en ce moment.

Modified graphspell-js/ibdawg.js from [6cc335b8c9] to [eb5a5d5e73].

186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
                this._getArcs = this._getArcs3;
                this._writeNodes = this._writeNodes3;
                break;
            default:
                throw ValueError("# Error: unknown code: " + this.nCompressionMethod);
        }
        //console.log(this.getInfo());
        this.bAcronymValid = false;
        this.bNumAtLastValid = false;
    }

    getInfo () {
        return  `  Language: ${this.sLangName}   Lang code: ${this.sLangCode}   Dictionary name: ${this.sDicName}\n` +
                `  Compression method: ${this.nCompressionMethod}   Date: ${this.sDate}   Stemming: ${this.cStemming}FX\n` +
                `  Arcs values:  ${this.nArcVal} = ${this.nChar} characters,  ${this.nAff} affixes,  ${this.nTag} tags\n` +







|







186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
                this._getArcs = this._getArcs3;
                this._writeNodes = this._writeNodes3;
                break;
            default:
                throw ValueError("# Error: unknown code: " + this.nCompressionMethod);
        }
        //console.log(this.getInfo());
        this.bAcronymValid = true;
        this.bNumAtLastValid = false;
    }

    getInfo () {
        return  `  Language: ${this.sLangName}   Lang code: ${this.sLangCode}   Dictionary name: ${this.sDicName}\n` +
                `  Compression method: ${this.nCompressionMethod}   Date: ${this.sDate}   Stemming: ${this.cStemming}FX\n` +
                `  Arcs values:  ${this.nArcVal} = ${this.nChar} characters,  ${this.nAff} affixes,  ${this.nTag} tags\n` +
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
            if (sRemain == "") {
                oSuggResult.addSugg(sNewWord);
                for (let sTail of this._getTails(iAddr)) {
                    oSuggResult.addSugg(sNewWord+sTail);
                }
                return;
            }
            else if (this.isValid(sRemain) && oSuggResult.sWord.startsWith(sNewWord)) {
                oSuggResult.addSugg(sNewWord+" "+sRemain);
            }
        }
        if (nDist > oSuggResult.nDistLimit) {
            return;
        }








|







362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
            if (sRemain == "") {
                oSuggResult.addSugg(sNewWord);
                for (let sTail of this._getTails(iAddr)) {
                    oSuggResult.addSugg(sNewWord+sTail);
                }
                return;
            }
            else if (this.isValid(sRemain) && oSuggResult.sWord.toLowerCase().startsWith(sNewWord.toLowerCase())) {
                oSuggResult.addSugg(sNewWord+" "+sRemain);
            }
        }
        if (nDist > oSuggResult.nDistLimit) {
            return;
        }

Modified graphspell/ibdawg.py from [b71a5faec3] to [bd7f8fa082].

325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
        #logging.info((nDeep * "  ") + sNewWord + ":" + sRemain)
        if int.from_bytes(self.byDic[iAddr:iAddr+self.nBytesArc], byteorder='big') & self._finalNodeMask:
            if not sRemain:
                oSuggResult.addSugg(sNewWord, nDeep)
                for sTail in self._getTails(iAddr):
                    oSuggResult.addSugg(sNewWord+sTail, nDeep)
                return
            elif self.isValid(sRemain) and oSuggResult.sWord.startswith(sNewWord):
                oSuggResult.addSugg(sNewWord+" "+sRemain)
        if nDist > oSuggResult.nDistLimit:
            return
        cCurrent = sRemain[0:1]
        for cChar, jAddr in self._getCharArcs(iAddr):
            if cChar in cp.d1to1.get(cCurrent, cCurrent):
                self._suggest(oSuggResult, sRemain[1:], nMaxSwitch, nMaxDel, nMaxHardRepl, nMaxJump, nDist, nDeep+1, jAddr, sNewWord+cChar)







|







325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
        #logging.info((nDeep * "  ") + sNewWord + ":" + sRemain)
        if int.from_bytes(self.byDic[iAddr:iAddr+self.nBytesArc], byteorder='big') & self._finalNodeMask:
            if not sRemain:
                oSuggResult.addSugg(sNewWord, nDeep)
                for sTail in self._getTails(iAddr):
                    oSuggResult.addSugg(sNewWord+sTail, nDeep)
                return
            elif self.isValid(sRemain) and oSuggResult.sWord.lower().startswith(sNewWord.lower()):
                oSuggResult.addSugg(sNewWord+" "+sRemain)
        if nDist > oSuggResult.nDistLimit:
            return
        cCurrent = sRemain[0:1]
        for cChar, jAddr in self._getCharArcs(iAddr):
            if cChar in cp.d1to1.get(cCurrent, cCurrent):
                self._suggest(oSuggResult, sRemain[1:], nMaxSwitch, nMaxDel, nMaxHardRepl, nMaxJump, nDist, nDeep+1, jAddr, sNewWord+cChar)