Overview
| Comment: | [fr][bug] conj generator: clone array/list before adding elements |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | fr | multid |
| Files: | files | file ages | folders |
| SHA3-256: |
2ce9bd0c2a7213875b717deb3099fbad |
| User & Date: | olr on 2018-03-11 23:28:14 |
| Original Comment: | [fr][bug] clone array/list before adding elements |
| Other Links: | branch diff | manifest | tags |
Context
|
2018-03-11
| ||
| 23:39 | [fr][js] conj generator: Array.from() is much more readable than .slice(0) to clone an Array check-in: 33dbc61ec2 user: olr tags: fr, multid | |
| 23:28 | [fr][bug] conj generator: clone array/list before adding elements check-in: 2ce9bd0c2a user: olr tags: fr, multid | |
| 22:22 | [fx] lexicon editor: ui update check-in: b36b4dcdfe user: olr tags: fx, multid | |
Changes
Modified gc_lang/fr/modules-js/conj_generator.js from [5170da2586] to [d5f86107a9].
| ︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 |
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"]) {
| > | | | | | < < > | | > | | 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: {
|
| ︙ | ︙ |
Modified gc_lang/fr/modules/conj_generator.py from [c321680ceb] to [4f543d9f23].
| ︙ | ︙ | |||
27 28 29 30 31 32 33 |
def getConjRules (sVerb, bVarPpas=True, nGroup=2):
if sVerb.endswith("er"):
# premier groupe, conjugaison en fonction de la terminaison du lemme
# 5 lettres
if sVerb[-5:] in oConj["V1"]:
| | | | | | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
def getConjRules (sVerb, bVarPpas=True, nGroup=2):
if sVerb.endswith("er"):
# premier groupe, conjugaison en fonction de la terminaison du lemme
# 5 lettres
if sVerb[-5:] in oConj["V1"]:
lConj = list(oConj["V1"][sVerb[-5:]])
# 4 lettres
elif sVerb[-4:] in oConj["V1"]:
if sVerb.endswith(("eler", "eter")):
lConj = list(oConj["V1"][sVerb[-4:]]["1"])
else:
lConj = list(oConj["V1"][sVerb[-4:]])
# 3 lettres
elif sVerb[-3:] in oConj["V1"]:
lConj = list(oConj["V1"][sVerb[-3:]])
# 2 lettres
else:
lConj = list(oConj["V1"]["er"])
lConj.extend(oConj["V1_ppas"][bVarPpas])
elif sVerb.endswith("ir") and nGroup <= 2:
# deuxième groupe
lConj = list(oConj["V2"])
lConj.extend(oConj["V2_ppas"][bVarPpas])
else:
# TODO: troisième groupe
lConj = [ [0, "", ":Y/*", False] ]
return lConj
|
| ︙ | ︙ |