1
0
forked from GitHub/gf-rgl

(Hun) Fix bug in plural nouns possessed by P3 Sg possessor

This commit is contained in:
Inari Listenmaa
2020-04-24 11:30:52 +02:00
parent 14bed283f4
commit 8ea95d8624

View File

@@ -44,28 +44,31 @@ oper
} ;
caseFromPossStem : CNLite -> Determiner -> Case -> Str = \cn,det,cas ->
let casetable : Case->HarmForms = case <det.n,det.dt> of {
let st : PossStem = case det.dt of {
DetPoss x => x ;
_ => Predef.error "caseFromPossStem: Not possessive Det" } ;
casetable : Case->HarmForms = case <det.n,det.dt> of {
-- P3 Sg possessive suffix ends in vowel, others in consonant.
<Sg,DetPoss (dSg_rP3 Sg)> => endCasePossVow ;
_ => endCase
} ;
_ => endCase } ;
stem : CNPossStem = case det.n of {
Sg => PossSg
(case det.dt of {
DetPoss x => x ;
_ => Predef.error "caseFromPossStem: Not possessive Det"}) ;
Pl => PossPl
} ;
Sg => PossSg st ;
Pl => PossPl } ;
-- possessive suffix e.g. "their cats-3pl" is just k. not uk/ük
suf = case <det.n,det.dt> of {
<Pl,DetPoss (dSg_rP3 Pl)> => "k" ;
suf = case <det.n,st> of {
<Pl,dSg_rP3 Pl> => "k" ;
_ => det.poss ! cn.h
} ;
in case cas of {
Nom => glue (cn.pstems ! stem) suf ; -- don't use applyCaseSuf, it adds BIND
in case <cas,det.n,st> of {
-- don't use applyCaseSuf, it adds BIND
<Nom,Pl,dSg_rP3 Sg> => cn.pstems ! PossPl ;
<Nom> => glue (cn.pstems ! stem) suf ;
-- Other forms have non-empty poss. suffix and case ending
_ => applyCaseSuf suf cas cn stem casetable
} ;
BaseNP : Type = {
agr : Person*Number ;
objdef : ObjDef ;