Grammalecte  Check-in [02901ad6ae]

Overview
Comment:[core][fr] morphVC() update
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr | core
Files: files | file ages | folders
SHA3-256: 02901ad6aeec7975655be24057fb5e056072219c49d86384558027b1dff9d819
User & Date: olr on 2019-07-22 20:00:20
Other Links: manifest | tags
Context
2019-07-22
20:29
[core][fr][js][bug] no count method in JS (pfff) check-in: 88574d8f98 user: olr tags: trunk, fr, core
20:00
[core][fr] morphVC() update check-in: 02901ad6ae user: olr tags: trunk, fr, core
11:47
[fr] fix tests.py check-in: e39cca00d3 user: olr tags: trunk, fr
Changes

Modified gc_lang/fr/modules-js/gce_analyseur.js from [3d0c792715] to [41f307703b].

1
2
3
4
5
6
7
8
9
10
11











12
13
14
15
16
17
18
1
2
3
4
5






6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23





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







// GRAMMAR CHECKING ENGINE PLUGIN: Parsing functions for French language

/* jshint esversion:6 */
/* jslint esversion:6 */

function g_morphVC (dToken, sPattern, sNegPattern="") {
    let nEnd = dToken["sValue"].lastIndexOf("-");
    if (dToken["sValue"].includes("-t-")) {
        nEnd = nEnd - 2;
    }
    return g_morph(dToken, sPattern, sNegPattern, 0, nEnd, false);
function g_morphVC (oToken, sPattern, sNegPattern="") {
    let nEnd = oToken["sValue"].lastIndexOf("-");
    if (oToken["sValue"].count("-") > 1) {
        if (oToken["sValue"].includes("-t-")) {
            nEnd = nEnd - 2;
        }
        else if (oToken["sValue"].search(/-l(?:es?|a)-(?:[mt]oi|nous|leur)$|(?:[nv]ous|lui|leur)-en$/) != -1) {
            nEnd = oToken["sValue"].slice(0,nEnd).lastIndexOf("-");
        }
    }
    return g_morph(oToken, sPattern, sNegPattern, 0, nEnd, false);
}

function rewriteSubject (s1, s2) {
    // s1 is supposed to be prn/patr/npr (M[12P])
    if (s2 == "lui") {
        return "ils";
    }

Modified gc_lang/fr/modules/gce_analyseur.py from [36994d46b4] to [09993a8236].

1
2
3
4
5
6
7
8

9
10




11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9


10
11
12
13
14
15
16
17
18
19
20








+
-
-
+
+
+
+







#### GRAMMAR CHECKING ENGINE PLUGIN: Parsing functions for French language

from . import cregex as cr


def g_morphVC (dToken, sPattern, sNegPattern=""):
    "lance la fonction g_morph() sur la première partie d’un verbe composé (ex: vient-il)"
    nEnd = dToken["sValue"].rfind("-")
    if dToken["sValue"].count("-") > 1:
    if "-t-" in dToken["sValue"]:
        nEnd = nEnd - 2
        if "-t-" in dToken["sValue"]:
            nEnd = nEnd - 2
        elif re.search("-l(?:es?|a)-(?:[mt]oi|nous|leur)$|(?:[nv]ous|lui|leur)-en$", dToken["sValue"]):
            nEnd = dToken["sValue"][0:nEnd].rfind("-")
    return g_morph(dToken, sPattern, sNegPattern, 0, nEnd, False)


def rewriteSubject (s1, s2):
    "rewrite complex subject: <s1> a prn/patr/npr (M[12P]) followed by “et” and <s2>"
    if s2 == "lui":
        return "ils"