Grammalecte  Diff

Differences From Artifact [5170da2586]:

To Artifact [d5f86107a9]:


35
36
37
38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

69
70
71
72

73
74
75
76
77
78
79
80
        if (sVerb.endsWith("re")) {
            return "3";
        }
        return "4";
    },

    getConjRules: function (sVerb, bVarPpas=true, nGroup=2) {

        let lConj = null;
        let sVarPpas = (bVarPpas) ? "true" : "false";
        if (sVerb.endsWith("er")) {
            // premier groupe, conjugaison en fonction de la terminaison du lemme
            // 5 lettres
            if (sVerb.slice(-5) in this.oConj["V1"]) {
                lConj = this.oConj["V1"][sVerb.slice(-5)];
            }
            // 4 lettres
            else if (sVerb.slice(-4) in this.oConj["V1"]) {
                if (sVerb.endsWith("eler") || sVerb.endsWith("eter")) {
                    lConj = this.oConj["V1"][sVerb.slice(-4)]["1"];
                } else {
                    lConj = this.oConj["V1"][sVerb.slice(-4)];
                }
            }
            // 3 lettres
            else if (sVerb.slice(-3) in this.oConj["V1"]) {
                lConj = this.oConj["V1"][sVerb.slice(-3)];
            }
            // 2 lettres
            else {
                lConj = this.oConj["V1"]["er"];
            }
            //console.log(lConj);
            //console.log(this.oConj["V1_ppas"][sVarPpas]);
            lConj.push(...this.oConj["V1_ppas"][sVarPpas]);

        } else if (sVerb.endsWith("ir") && nGroup <= 2) {
            // deuxième groupe
            lConj = this.oConj["V2"];
            lConj.push(...this.oConj["V2_ppas"][sVarPpas]);

        } else {
            // TODO: troisième groupe
            lConj = [ [0, "", ":Y/*", false] ];
        }
        return lConj;
    },

    oConj: {







>






|




|

|




|



|

<
<

>
|

|

>
|







35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66


67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
        if (sVerb.endsWith("re")) {
            return "3";
        }
        return "4";
    },

    getConjRules: function (sVerb, bVarPpas=true, nGroup=2) {
        // .slice(0): clone an Array
        let lConj = null;
        let sVarPpas = (bVarPpas) ? "true" : "false";
        if (sVerb.endsWith("er")) {
            // premier groupe, conjugaison en fonction de la terminaison du lemme
            // 5 lettres
            if (sVerb.slice(-5) in this.oConj["V1"]) {
                lConj = this.oConj["V1"][sVerb.slice(-5)].slice(0);
            }
            // 4 lettres
            else if (sVerb.slice(-4) in this.oConj["V1"]) {
                if (sVerb.endsWith("eler") || sVerb.endsWith("eter")) {
                    lConj = this.oConj["V1"][sVerb.slice(-4)]["1"].slice(0);
                } else {
                    lConj = this.oConj["V1"][sVerb.slice(-4)].slice(0);
                }
            }
            // 3 lettres
            else if (sVerb.slice(-3) in this.oConj["V1"]) {
                lConj = this.oConj["V1"][sVerb.slice(-3)].slice(0);
            }
            // 2 lettres
            else {
                lConj = this.oConj["V1"]["er"].slice(0);
            }


            lConj.push(...this.oConj["V1_ppas"][sVarPpas]);
        }
        else if (sVerb.endsWith("ir") && nGroup <= 2) {
            // deuxième groupe
            lConj = this.oConj["V2"].slice(0);
            lConj.push(...this.oConj["V2_ppas"][sVarPpas]);
        }
        else {
            // TODO: troisième groupe
            lConj = [ [0, "", ":Y/*", false] ];
        }
        return lConj;
    },

    oConj: {