Grammalecte  Check-in [11d187ec76]

Overview
Comment:[graphspell] suggestion: split word if both parts are valid
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | graphspell
Files: files | file ages | folders
SHA3-256: 11d187ec76c3a46b08b3e2200058937160f569b3536d0014d73420c49867c063
User & Date: olr on 2019-01-02 20:01:04
Other Links: manifest | tags
Context
2019-01-03
10:05
[fr] ajustements loc. adv. check-in: 89c01b3494 user: olr tags: trunk, fr
2019-01-02
20:01
[graphspell] suggestion: split word if both parts are valid check-in: 11d187ec76 user: olr tags: trunk, graphspell
13:58
[fr] html: purge des espaces insécables fins check-in: 0e847b75ad user: olr tags: trunk, fr
Changes

Modified graphspell-js/ibdawg.js from [a476daaa59] to [3780bdf37b].

353
354
355
356
357
358
359
360
361


362
363
364
365
366
367








368
369
370
371
372
373
374
353
354
355
356
357
358
359


360
361
362





363
364
365
366
367
368
369
370
371
372
373
374
375
376
377







-
-
+
+

-
-
-
-
-
+
+
+
+
+
+
+
+







            }
        }
    }

    _suggest (oSuggResult, sRemain, nMaxSwitch=0, nMaxDel=0, nMaxHardRepl=0, nMaxJump=0, nDist=0, nDeep=0, iAddr=0, sNewWord="", bAvoidLoop=false) {
        // returns a set of suggestions
        // recursive function
        if (sRemain == "") {
            if (this._convBytesToInteger(this.byDic.slice(iAddr, iAddr+this.nBytesArc)) & this._finalNodeMask) {
        if (this._convBytesToInteger(this.byDic.slice(iAddr, iAddr+this.nBytesArc)) & this._finalNodeMask) {
            if (sRemain == "") {
                oSuggResult.addSugg(sNewWord);
            }
            for (let sTail of this._getTails(iAddr)) {
                oSuggResult.addSugg(sNewWord+sTail);
            }
            return;
                for (let sTail of this._getTails(iAddr)) {
                    oSuggResult.addSugg(sNewWord+sTail);
                }
                return;
            }
            else if (this.isValid(sRemain)) {
                oSuggResult.addSugg(sNewWord+" "+sRemain);
            }
        }
        if (nDist > oSuggResult.nDistLimit) {
            return;
        }

        let cCurrent = sRemain.slice(0, 1);
        for (let [cChar, jAddr] of this._getCharArcs(iAddr)) {

Modified graphspell/ibdawg.py from [57d8f101a6] to [59b47a3a4b].

317
318
319
320
321
322
323
324
325


326
327
328
329





330
331
332
333
334
335
336
317
318
319
320
321
322
323


324
325
326



327
328
329
330
331
332
333
334
335
336
337
338







-
-
+
+

-
-
-
+
+
+
+
+







                sWord1, sWord2 = sWord.split(cSplitter, 1)
                if self.isValid(sWord1) and self.isValid(sWord2):
                    oSuggResult.addSugg(sWord1+" "+sWord2)

    def _suggest (self, oSuggResult, sRemain, nMaxSwitch=0, nMaxDel=0, nMaxHardRepl=0, nMaxJump=0, nDist=0, nDeep=0, iAddr=0, sNewWord="", bAvoidLoop=False):
        # recursive function
        #logging.info((nDeep * "  ") + sNewWord + ":" + sRemain)
        if not sRemain:
            if int.from_bytes(self.byDic[iAddr:iAddr+self.nBytesArc], byteorder='big') & self._finalNodeMask:
        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
                for sTail in self._getTails(iAddr):
                    oSuggResult.addSugg(sNewWord+sTail, nDeep)
                return
            elif self.isValid(sRemain):
                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)
            elif not bAvoidLoop: