Overview
Comment: | [core][fr] lexicographer: fix crash when empty list of tokens |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | core | comdic |
Files: | files | file ages | folders |
SHA3-256: |
df41b47f9c2c79a59aaaf0a2a1509093 |
User & Date: | olr on 2019-02-02 16:40:12 |
Other Links: | branch diff | manifest | tags |
Context
2019-02-02
| ||
17:17 | [fx] shortcuts documentation check-in: d57413d421 user: olr tags: fx, comdic | |
16:40 | [core][fr] lexicographer: fix crash when empty list of tokens check-in: df41b47f9c user: olr tags: fr, core, comdic | |
16:20 | [fx] commands via shorcuts check-in: 019cf17655 user: olr tags: fx, comdic | |
Changes
Modified gc_lang/fr/modules-js/lexicographe.js from [50f4dc02f6] to [7979205e02].
︙ | ︙ | |||
457 458 459 460 461 462 463 | if (aRes) { yield aRes; } } } getListOfTokensReduc (sText, bInfo=true) { | | | > > > | | | | | > | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 | if (aRes) { yield aRes; } } } getListOfTokensReduc (sText, bInfo=true) { let lToken = this.getListOfTokens(sText.replace("'", "’").trim(), false); let iToken = 0; let aElem = []; if (lToken.length == 0) { return aElem; } do { let oToken = lToken[iToken]; let sMorphLoc = ''; let aTokenTempList = [oToken]; if (oToken.sType == "WORD" || oToken.sType == "WORD_ELIDED"){ let iLocEnd = iToken + 1; let oLocNode = this.oLocGraph[oToken.sValue.toLowerCase()]; while (oLocNode) { let oTokenNext = lToken[iLocEnd]; iLocEnd++; if (oTokenNext) { oLocNode = oLocNode[oTokenNext.sValue.toLowerCase()]; } if (oLocNode && iLocEnd <= lToken.length) { sMorphLoc = oLocNode["_:_"]; aTokenTempList.push(oTokenNext); } else { break; } } } if (sMorphLoc) { // we have a locution let sValue = ''; for (let oTokenWord of aTokenTempList) { sValue += oTokenWord.sValue+' '; } let oTokenLocution = { 'nStart': aTokenTempList[0].nStart, 'nEnd': aTokenTempList[aTokenTempList.length-1].nEnd, |
︙ | ︙ | |||
520 521 522 523 524 525 526 | sValue: oTokenLocution.sValue, aLabel: aFormatedTag, aSubElem: aSubElem }); } else { aElem.push(oTokenLocution); } | | > | | | 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | sValue: oTokenLocution.sValue, aLabel: aFormatedTag, aSubElem: aSubElem }); } else { aElem.push(oTokenLocution); } iToken = iToken + aTokenTempList.length; } else { // No locution, we just add information if (bInfo) { let aRes = this.getInfoForToken(oToken); if (aRes) { aElem.push(aRes); } } else { aElem.push(oToken); } iToken++; } } while (iToken < lToken.length); return aElem; } } if (typeof(exports) !== 'undefined') { exports.Lexicographe = Lexicographe; } |