elements of syntax for nouns phrases

This commit is contained in:
Krasimir Angelov
2026-04-13 16:05:39 +02:00
parent 5f6a8b2905
commit e3b27613fd
4 changed files with 33 additions and 13 deletions
+24 -3
View File
@@ -1,4 +1,25 @@
concrete NounHye of Noun = CatHye ** {
lin
UseN n = n ;
concrete NounHye of Noun = CatHye ** open ResHye in {
lin AdvCN cn adv = {
s = \\sp,c,num => cn.s ! sp ! c ! num ++ adv.s ;
poss1 = \\c,num => cn.poss1 ! c ! num ++ adv.s ;
poss2 = \\c,num => cn.poss2 ! c ! num ++ adv.s
} ;
lin DefArt = {s = []; sp = Def} ;
lin DetCN det cn = {s = \\c => det.s ++ cn.s ! det.sp ! c ! det.n;
a = {n=det.n; p=P3}} ;
lin DetQuant quant num = {s = quant.s ++ num.s; n = num.n; sp=quant.sp} ;
lin IndefArt = {s = []; sp = Indef} ;
lin NumPl = {s = []; n = Pl} ;
lin NumSg = {s = []; n = Sg} ;
lin PossPron pron = {s = pron.s; sp = Poss pron.a.p} ;
lin UseN n = n ** {
s = \\sp,c,num =>
case <sp,c> of {
<Def,Nom> => n.def_nom ! num ;
<Def,Dat> => n.def_dat ! num ;
<Poss P1,_> => n.poss1 ! c ! num ;
<Poss P2,_> => n.poss2 ! c ! num ;
_ => n.s ! c ! num
}
} ;
}