1
0
forked from GitHub/gf-rgl

(Hun) Fix allomorph of Pl P3 possessor with Pl noun

This commit is contained in:
Inari Listenmaa
2020-04-24 07:02:23 +02:00
parent 207787a76c
commit b1e25c2167
2 changed files with 8 additions and 4 deletions

View File

@@ -29,7 +29,7 @@ param
;
-- Singular stems. Plural is always same, no need to add here.
PossStem = dSg_rSg1P2 | dSg_rP3 | dSg_rPl1 ;
PossStem = dSg_rSg1P2 | dSg_rP3 Number | dSg_rPl1 ;
oper
-- standard trick to prevent "a one car"
@@ -42,7 +42,7 @@ oper
agr2PossStem : Person*Number -> PossStem = \pn ->
case <pn.p1,pn.p2> of {
<P1,Pl> => dSg_rPl1 ;
<P3,_> => dSg_rP3 ;
<P3,n> => dSg_rP3 n ;
_ => dSg_rSg1P2
} ;

View File

@@ -40,13 +40,17 @@ oper
let stem_casetable : NumCaseStem*(Case->HarmForms) = case <det.n,det.dt> of {
<Sg,DetPoss st> => case st of {
dSg_rSg1P2 => <SgAccStem,endCase> ;
dSg_rP3 => <PossdSg_PossrP3,endCasePossVow> ; -- TODO nneeds to be vowel only after Sg3
dSg_rP3 Sg => <PossdSg_PossrP3,endCasePossVow> ;
dSg_rP3 Pl => <PossdSg_PossrP3,endCase> ;
dSg_rPl1 => <PossdSg_PossrPl1,endCase> } ;
<Pl,DetPoss _> => <PossdPl,endCase> ;
_ => Predef.error "caseFromPossStem: Trying to apply to non-possessive Det" } ;
stem = stem_casetable.p1 ;
casetable = stem_casetable.p2 ;
in applyCaseSuf (det.poss ! cn.h) cas cn stem casetable ;
suf = case <det.n,det.dt> of {
<Pl,DetPoss (dSg_rP3 Pl)> => "k" ;
_ => det.poss ! cn.h } ;
in applyCaseSuf suf cas cn stem casetable ;
BaseNP : Type = {
agr : Person*Number ;