bit more
This commit is contained in:
parent
ce2fa640c0
commit
91d3a10abb
|
@ -38,6 +38,8 @@ import { verbEndingConcat } from "./rs-helpers";
|
||||||
// TODO: are azmóyulum and wáayulo really not just azmoyúlum and waayúlo ?
|
// TODO: are azmóyulum and wáayulo really not just azmoyúlum and waayúlo ?
|
||||||
// TODO: automatic 3rd person idiosyncronizing of raTul raaTu, shaRul, shaaRu, rasedul rased etc
|
// TODO: automatic 3rd person idiosyncronizing of raTul raaTu, shaRul, shaaRu, rasedul rased etc
|
||||||
|
|
||||||
|
// IMMEDIATE TODO: shwoo -> shoo
|
||||||
|
|
||||||
export function renderVerb({ verb, tense, person, voice }: {
|
export function renderVerb({ verb, tense, person, voice }: {
|
||||||
verb: T.VerbEntry,
|
verb: T.VerbEntry,
|
||||||
tense: T.VerbTense | T.PerfectTense | T.AbilityTense, // TODO: make T.Tense
|
tense: T.VerbTense | T.PerfectTense | T.AbilityTense, // TODO: make T.Tense
|
||||||
|
@ -56,7 +58,7 @@ export function renderVerb({ verb, tense, person, voice }: {
|
||||||
|
|
||||||
const isPast = isPastTense(tense);
|
const isPast = isPastTense(tense);
|
||||||
const aspect = getAspect(tense);
|
const aspect = getAspect(tense);
|
||||||
const isAbility = isAbilityTense(tense);
|
const type = isAbilityTense(tense) ? "ability" : "basic";
|
||||||
const genderNumber = {
|
const genderNumber = {
|
||||||
gender: personGender(person),
|
gender: personGender(person),
|
||||||
number: personNumber(person),
|
number: personNumber(person),
|
||||||
|
@ -68,11 +70,8 @@ export function renderVerb({ verb, tense, person, voice }: {
|
||||||
rs: isPast ? "root" : "stem",
|
rs: isPast ? "root" : "stem",
|
||||||
aspect,
|
aspect,
|
||||||
},
|
},
|
||||||
type: voice === "passive"
|
voice,
|
||||||
? "passive"
|
type,
|
||||||
: isAbility
|
|
||||||
? "ability"
|
|
||||||
: "basic",
|
|
||||||
genderNumber,
|
genderNumber,
|
||||||
});
|
});
|
||||||
// #2 add the verb ending to it
|
// #2 add the verb ending to it
|
||||||
|
|
|
@ -29,16 +29,16 @@ const shVB: T.VBBasic = {
|
||||||
ps: [{ p: "ش", f: "sh" }],
|
ps: [{ p: "ش", f: "sh" }],
|
||||||
}
|
}
|
||||||
|
|
||||||
// start basic inflection functions for pattern 1 and pattern ey things
|
// put the past participle in a different function
|
||||||
// to be used by inflecting لاړ and participles
|
|
||||||
|
|
||||||
export function getRootStem({ verb, part, type, genderNumber }: {
|
export function getRootStem({ verb, part, type, genderNumber, voice }: {
|
||||||
verb: T.VerbEntry,
|
verb: T.VerbEntry,
|
||||||
part: {
|
part: {
|
||||||
rs: "root" | "stem",
|
rs: "root" | "stem",
|
||||||
aspect: T.Aspect,
|
aspect: T.Aspect,
|
||||||
} | "pastPart",
|
} | "pastPart",
|
||||||
type: "basic" | "ability" | "passive",
|
voice: "active" | "passive",
|
||||||
|
type: "basic" | "ability",
|
||||||
genderNumber: {
|
genderNumber: {
|
||||||
gender: T.Gender,
|
gender: T.Gender,
|
||||||
number: T.NounNumber,
|
number: T.NounNumber,
|
||||||
|
@ -51,7 +51,7 @@ export function getRootStem({ verb, part, type, genderNumber }: {
|
||||||
if (type === "ability") {
|
if (type === "ability") {
|
||||||
return getAbilityRs(v, part);
|
return getAbilityRs(v, part);
|
||||||
}
|
}
|
||||||
if (type === "passive") {
|
if (voice === "passive") {
|
||||||
return getPassiveRs(v, part);
|
return getPassiveRs(v, part);
|
||||||
}
|
}
|
||||||
return part.rs === "stem"
|
return part.rs === "stem"
|
||||||
|
@ -83,7 +83,7 @@ function getPassiveRs(verb: T.VerbEntryNoFVars, part: { aspect: T.Aspect, rs: "r
|
||||||
: getPerfectiveRoot
|
: getPerfectiveRoot
|
||||||
)(verb);
|
)(verb);
|
||||||
const longRoot = getLongVB(basicRoot);
|
const longRoot = getLongVB(basicRoot);
|
||||||
const kedulVba = getRootStem({ verb: kedulStat, part, type: "basic", genderNumber: { gender: "masc", number: "singular" }})[1][0] as T.VBBasic;
|
const kedulVba = getRootStem({ verb: kedulStat, part, type: "basic", voice: "active", genderNumber: { gender: "masc", number: "singular" }})[1][0] as T.VBBasic;
|
||||||
return [
|
return [
|
||||||
vHead,
|
vHead,
|
||||||
[weld(longRoot, kedulVba)],
|
[weld(longRoot, kedulVba)],
|
||||||
|
|
|
@ -26,12 +26,12 @@ export function getAllRs(verb: T.VerbEntry): {
|
||||||
} {
|
} {
|
||||||
return {
|
return {
|
||||||
stem: {
|
stem: {
|
||||||
perfective: getRootStem({ verb, type: "basic", part: { rs: "stem", aspect: "perfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
perfective: getRootStem({ verb, type: "basic", voice: "active", part: { rs: "stem", aspect: "perfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
||||||
imperfective: getRootStem({ verb, type: "basic", part: { rs: "stem", aspect: "imperfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
imperfective: getRootStem({ verb, type: "basic", voice: "active", part: { rs: "stem", aspect: "imperfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
||||||
},
|
},
|
||||||
root: {
|
root: {
|
||||||
perfective: getRootStem({ verb, type: "basic", part: { rs: "root", aspect: "perfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
perfective: getRootStem({ verb, type: "basic", voice: "active", part: { rs: "root", aspect: "perfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
||||||
imperfective: getRootStem({ verb, type: "basic", part: { rs: "root", aspect: "imperfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
imperfective: getRootStem({ verb, type: "basic", voice: "active", part: { rs: "root", aspect: "imperfective" }, genderNumber: { gender: "masc", number: "singular" } }),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue