Overview
Comment: | [core][js] gc engine: multi-token match |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core | mtok |
Files: | files | file ages | folders |
SHA3-256: |
8553b43f180260599efc5713399c9b37 |
User & Date: | olr on 2021-03-16 18:29:21 |
Other Links: | branch diff | manifest | tags |
Context
2021-03-16
| ||
20:35 | [core][build][fr] new feature: multi-tokens check-in: f7f4aac204 user: olr tags: trunk, fr, core, build, new_feature | |
18:29 | [core][js] gc engine: multi-token match Leaf check-in: 8553b43f18 user: olr tags: core, mtok | |
18:13 | [fr] ajustements: locutions adverbiales check-in: 66c9bda313 user: olr tags: fr, mtok | |
Changes
Modified gc_core/js/lang_core/gc_engine.js from [28d62d5f91] to [a2adf10c84].
︙ | |||
546 547 548 549 550 551 552 553 554 555 556 557 558 559 | 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | bTokenFound = true; } } } } } } // regex multi morph arcs if (oNode.hasOwnProperty("<re_mmorph>")) { if (oToken.hasOwnProperty("nMultiStartTo")) { let lMorph = oToken["oMultiToken"]["lMorph"]; for (let sRegex in oNode["<re_mmorph>"]) { if (!sRegex.includes("¬")) { // no anti-pattern if (lMorph.some(sMorph => (sMorph.search(sRegex) !== -1))) { yield ["&", sRegex, oNode["<re_mmorph>"][sRegex]]; bTokenFound = true; } } else { // there is an anti-pattern let [sPattern, sNegPattern] = sRegex.split("¬", 2); if (sNegPattern == "*") { // all morphologies must match with <sPattern> if (sPattern) { if (lMorph.every(sMorph => (sMorph.search(sPattern) !== -1))) { yield ["&", sRegex, oNode["<re_mmorph>"][sRegex]]; bTokenFound = true; } } } else { if (sNegPattern && lMorph.some(sMorph => (sMorph.search(sNegPattern) !== -1))) { continue; } if (!sPattern || lMorph.some(sMorph => (sMorph.search(sPattern) !== -1))) { yield ["&", sRegex, oNode["<re_mmorph>"][sRegex]]; bTokenFound = true; } } } } } } } // token tags if (oToken.hasOwnProperty("aTags") && oNode.hasOwnProperty("<tags>")) { for (let sTag of oToken["aTags"]) { if (oNode["<tags>"].hasOwnProperty(sTag)) { yield ["/", sTag, oNode["<tags>"][sTag]]; bTokenFound = true; |
︙ | |||
614 615 616 617 618 619 620 | 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 | - + - + | if (cNodeType === null) { lNextPointers.push(oPointer); continue; } if (bDebug) { console.log(" MATCH: " + cNodeType + sMatch); } |
︙ |