(Hun) Combine the parameters on definiteness and Quant/Det type

This commit is contained in:
Inari Listenmaa
2020-04-26 15:51:34 +02:00
parent b6b462ca35
commit 22cadd2ac6
3 changed files with 37 additions and 26 deletions
+9 -12
View File
@@ -16,17 +16,18 @@ concrete NounHun of Noun = CatHun ** open
True => det.s ! c ;
False => det.s ! Nom
} ++ case <p,det.dt> of {
<NotPossessed, NoPoss>
<_, DetPoss _>
=> possessed ;
<NotPossessed, _>
=> standalone ;
<_, DetPoss _>
=> possessed ;
<Poss per rnum, NoPoss>
<Poss per rnum, _>
=> let pron : Pronoun = pronTable ! <per,rnum> ; -- Possessor's number
dnum : CatHun.Num = case det.n of { -- Possessed's number
Sg => NumSg ; Pl => NumPl } ;
in caseFromPossStem cn (DetQuant (PossPron pron) dnum) c
} ++ cn.compl ! det.n ! c ;
agr = <P3,det.n> ;
objdef = dt2objdef det.dt ;
} ;
-- : PN -> NP ;
@@ -96,8 +97,7 @@ concrete NounHun of Noun = CatHun ** open
<True,True> => [] ;
_ => quant.sp ! num.n ! c }
++ num.s ! Indep ;
dt = case quant.qt of { QuantPoss stem => DetPoss stem ;
_ => NoPoss } ;
dt = qt2dt quant.qt ;
} ;
-- : Quant -> Num -> Ord -> Det ; -- these five best
@@ -160,23 +160,20 @@ concrete NounHun of Noun = CatHun ** open
DefArt = mkQuant "a" "a" ** {
s,
sp = \\_,_ => pre {"a" ; "az" / v } ;
qt = Article ;
objdef = Def ;
qt = DefQuant ;
} ;
-- : Quant
IndefArt = mkQuant "egy" [] ** {
s = \\n,_ => case n of {Sg => "egy" ; Pl => []} ;
sp = \\n,_ => case n of {Sg => "egy" ; Pl => "sok"} ;
qt = Article ;
objdef = Indef ;
qt = IndefArticle ;
} ;
-- : Pron -> Quant
PossPron pron = pron ** {
s,sp = \\_ => pron.s ;
qt = QuantPoss (agr2PossStem pron.agr) ;
objdef = Def ;
qt = QuantPoss (agr2pstem pron.agr) ;
caseagr = False ;
} ;