Overview
Comment: | [core][fr] analyses: update functions |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | fr | core | rg |
Files: | files | file ages | folders |
SHA3-256: |
6c3d434a285235524240294faf8b2239 |
User & Date: | olr on 2018-09-11 13:17:59 |
Other Links: | branch diff | manifest | tags |
Context
2018-09-11
| ||
18:38 | [core][js] gc engine: fix several bugs check-in: e47d159953 user: olr tags: core, rg | |
13:17 | [core][fr] analyses: update functions check-in: 6c3d434a28 user: olr tags: fr, core, rg | |
12:59 | [core][fr][js] missing function, and useless code check-in: bc565ecc30 user: olr tags: fr, core, rg | |
Changes
Modified gc_lang/fr/modules-js/gce_suggestions.js from [6803550153] to [dfa4abac25].
1 2 3 4 5 6 7 8 9 10 11 12 13 | //// GRAMMAR CHECKING ENGINE PLUGIN: Suggestion mechanisms /*jslint esversion: 6*/ /*global require*/ if (typeof(require) !== 'undefined') { var conj = require("resource://grammalecte/fr/conj.js"); var mfsp = require("resource://grammalecte/fr/mfsp.js"); var phonet = require("resource://grammalecte/fr/phonet.js"); } //// verbs | > > > > > > > > > > > > > | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | //// GRAMMAR CHECKING ENGINE PLUGIN: Suggestion mechanisms /*jslint esversion: 6*/ /*global require*/ if (typeof(require) !== 'undefined') { var conj = require("resource://grammalecte/fr/conj.js"); var mfsp = require("resource://grammalecte/fr/mfsp.js"); var phonet = require("resource://grammalecte/fr/phonet.js"); } //// verbs function splitVerb (sVerb) { // renvoie le verbe et les pronoms séparément let iRight = sVerb.lastIndexOf("-"); let sSuffix = sVerb.slice(iRight); sVerb = sVerb.slice(0, iRight); if (sVerb.endsWith("-t") || sVerb.endsWith("-le") || sVerb.endsWith("-la") || sVerb.endsWith("-les")) { iRight = sVerb.lastIndexOf("-"); sSuffix = sVerb.slice(iRight) + sSuffix; sVerb = sVerb.slice(0, iRight); } return [sVerb, sSuffix]; } function suggVerb (sFlex, sWho, funcSugg2=null, bVC=false) { let sSfx; if (bVC) { [sFlex, sSfx] = splitVerb(sFlex); } let aSugg = new Set(); for (let sStem of _oSpellChecker.getLemma(sFlex)) { let tTags = conj._getTags(sStem); if (tTags) { // we get the tense let aTense = new Set(); for (let sMorph of _oSpellChecker.getMorph(sFlex)) { |
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | if (funcSugg2) { let aSugg2 = funcSugg2(sFlex); if (aSugg2.size > 0) { aSugg.add(aSugg2); } } if (aSugg.size > 0) { return Array.from(aSugg).join("|"); } return ""; } function suggVerbPpas (sFlex, sWhat=null) { let aSugg = new Set(); | > > > | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | if (funcSugg2) { let aSugg2 = funcSugg2(sFlex); if (aSugg2.size > 0) { aSugg.add(aSugg2); } } if (aSugg.size > 0) { if (bVC) { return Array.from(aSugg).map((sSugg) => { return sSugg + sSfx; }).join("|"); } return Array.from(aSugg).join("|"); } return ""; } function suggVerbPpas (sFlex, sWhat=null) { let aSugg = new Set(); |
︙ | ︙ | |||
117 118 119 120 121 122 123 | } if (aSugg.size > 0) { return Array.from(aSugg).join("|"); } return ""; } | | > > > > > > > | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | } if (aSugg.size > 0) { return Array.from(aSugg).join("|"); } return ""; } function suggVerbImpe (sFlex, bVC=false) { let sSfx; if (bVC) { [sFlex, sSfx] = splitVerb(sFlex); } let aSugg = new Set(); for (let sStem of _oSpellChecker.getLemma(sFlex)) { let tTags = conj._getTags(sStem); if (tTags) { if (conj._hasConjWithTags(tTags, ":E", ":2s")) { aSugg.add(conj._getConjWithTags(sStem, tTags, ":E", ":2s")); } if (conj._hasConjWithTags(tTags, ":E", ":1p")) { aSugg.add(conj._getConjWithTags(sStem, tTags, ":E", ":1p")); } if (conj._hasConjWithTags(tTags, ":E", ":2p")) { aSugg.add(conj._getConjWithTags(sStem, tTags, ":E", ":2p")); } } } if (aSugg.size > 0) { if (bVC) { return Array.from(aSugg).map((sSugg) => { return sSugg + sSfx; }).join("|"); } return Array.from(aSugg).join("|"); } return ""; } function suggVerbInfi (sFlex) { return _oSpellChecker.getLemma(sFlex).filter(sStem => conj.isVerb(sStem)).join("|"); |
︙ | ︙ | |||
464 465 466 467 468 469 470 | return Array.from(aSugg).join("|"); } return ""; } function switchPlural (sFlex) { let aSugg = new Set(); | | | > > > > > > > | 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | return Array.from(aSugg).join("|"); } return ""; } function switchPlural (sFlex) { let aSugg = new Set(); for (let sMorph of _oSpellChecker.getMorph(sFlex)) { if (sMorph.includes(":s")) { aSugg.add(suggPlur(sFlex)); } else if (sMorph.includes(":p")) { aSugg.add(suggSing(sFlex)); } } if (aSugg.size > 0) { return Array.from(aSugg).join("|"); } return ""; } function hasSimil (sWord, sPattern=null) { return phonet.hasSimil(sWord, sPattern); } function suggSimil (sWord, sPattern=null, bSubst=false, bVC=false) { // return list of words phonetically similar to sWord and whom POS is matching sPattern let sSfx; if (bVC) { [sWord, sSfx] = splitVerb(sWord); } let aSugg = phonet.selectSimil(sWord, sPattern); for (let sMorph of _oSpellChecker.getMorph(sWord)) { for (let e of conj.getSimil(sWord, sMorph, bSubst)) { aSugg.add(e); } } if (aSugg.size > 0) { if (bVC) { return Array.from(aSugg).map((sSugg) => { return sSugg + sSfx; }).join("|"); } return Array.from(aSugg).join("|"); } return ""; } function suggCeOrCet (sWord) { if (/^[aeéèêiouyâîï]/i.test(sWord)) { |
︙ | ︙ |