fixed kRaay shee thing
This commit is contained in:
parent
b58c5635da
commit
81086aafc8
|
@ -150,7 +150,6 @@ export function renderVerb({
|
||||||
const transitive = object !== undefined;
|
const transitive = object !== undefined;
|
||||||
const king = transitive && isPast ? object : subject;
|
const king = transitive && isPast ? object : subject;
|
||||||
const base = isPast ? "root" : "stem";
|
const base = isPast ? "root" : "stem";
|
||||||
|
|
||||||
// #1 get the appropriate root / stem
|
// #1 get the appropriate root / stem
|
||||||
const [vHead, rest] = getRootStem({
|
const [vHead, rest] = getRootStem({
|
||||||
verb,
|
verb,
|
||||||
|
|
|
@ -2251,8 +2251,27 @@ describe("passive roots and stems", () => {
|
||||||
type: "welded",
|
type: "welded",
|
||||||
left: {
|
left: {
|
||||||
type: "VB",
|
type: "VB",
|
||||||
ps: [{ p: "کړل", f: "kRul" }],
|
ps: [
|
||||||
|
{ p: "کړل", f: "kRul" },
|
||||||
|
{
|
||||||
|
f: "kRulay",
|
||||||
|
p: "کړلی",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
f: "kRulaay",
|
||||||
|
p: "کړلای",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f: "kRay",
|
||||||
|
p: "کړی",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
f: "kRaay",
|
||||||
|
p: "کړای",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
right: {
|
right: {
|
||||||
type: "VB",
|
type: "VB",
|
||||||
ps: {
|
ps: {
|
||||||
|
|
|
@ -30,6 +30,7 @@ import {
|
||||||
makeComplement,
|
makeComplement,
|
||||||
vTransitivity,
|
vTransitivity,
|
||||||
isKedul,
|
isKedul,
|
||||||
|
addOptionalTailsToPassive,
|
||||||
} from "./rs-helpers";
|
} from "./rs-helpers";
|
||||||
import { inflectPattern3 } from "./new-inflectors";
|
import { inflectPattern3 } from "./new-inflectors";
|
||||||
import { fmapSingleOrLengthOpts } from "../fp-ps";
|
import { fmapSingleOrLengthOpts } from "../fp-ps";
|
||||||
|
@ -458,7 +459,7 @@ function getPassiveRs(
|
||||||
genderNumber: T.GenderNumber
|
genderNumber: T.GenderNumber
|
||||||
): [[] | [T.VHead], [T.VB]] {
|
): [[] | [T.VHead], [T.VB]] {
|
||||||
const [vHead, [basicRoot]] = getRoot(verb, genderNumber, aspect);
|
const [vHead, [basicRoot]] = getRoot(verb, genderNumber, aspect);
|
||||||
const longRoot = getLongVB(basicRoot);
|
const longRoot = addOptionalTailsToPassive(getLongVB(basicRoot), aspect);
|
||||||
const kedulVba = getRootStem({
|
const kedulVba = getRootStem({
|
||||||
verb: statVerb.intransitive,
|
verb: statVerb.intransitive,
|
||||||
aspect,
|
aspect,
|
||||||
|
|
|
@ -209,15 +209,16 @@ export function tlulPerfectiveStem(person: {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const abilityEnding: T.PsString[] = [
|
||||||
|
{ p: "ی", f: "ay" },
|
||||||
|
{ p: "ای", f: "aay" },
|
||||||
|
];
|
||||||
|
|
||||||
export function addAbilityEnding(
|
export function addAbilityEnding(
|
||||||
vb: T.VB,
|
vb: T.VB,
|
||||||
verb: T.VerbEntry,
|
verb: T.VerbEntry,
|
||||||
aspect: T.Aspect
|
aspect: T.Aspect
|
||||||
): T.VBP {
|
): T.VBP {
|
||||||
const abilityEnding: T.PsString[] = [
|
|
||||||
{ p: "ی", f: "ay" },
|
|
||||||
{ p: "ای", f: "aay" },
|
|
||||||
];
|
|
||||||
if (vb.type === "welded") {
|
if (vb.type === "welded") {
|
||||||
return {
|
return {
|
||||||
...vb,
|
...vb,
|
||||||
|
@ -301,6 +302,23 @@ export function possiblePPartLengths(vba: T.VBNoLenghts<T.VB>): T.VB {
|
||||||
return vba;
|
return vba;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function addOptionalTailsToPassive(
|
||||||
|
vb: T.VBNoLenghts<T.VB>,
|
||||||
|
aspect: T.Aspect
|
||||||
|
): T.VBNoLenghts<T.VB> {
|
||||||
|
if (aspect !== "perfective" || vb.type !== "VB" || vb.ps[0].p !== "کړل") {
|
||||||
|
return vb;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...vb,
|
||||||
|
ps: [
|
||||||
|
...vb.ps,
|
||||||
|
...verbEndingConcat(vb.ps, abilityEnding),
|
||||||
|
...verbEndingConcat([{ p: "کړ", f: "kR" }], abilityEnding),
|
||||||
|
],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function getLongVB(vb: T.VB): T.VBNoLenghts<T.VB> {
|
export function getLongVB(vb: T.VB): T.VBNoLenghts<T.VB> {
|
||||||
if (vb.type === "welded") {
|
if (vb.type === "welded") {
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in New Issue