constructors PossNP, PartNP, CountNP to separete "of" constructions

This commit is contained in:
aarne
2013-03-13 13:42:41 +00:00
parent 05c9934af0
commit 31b4b13b65
2 changed files with 23 additions and 3 deletions

View File

@@ -42,20 +42,21 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
} ;
DetQuantOrd quant num ord = {
s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom ++ ord.s ! Nom;
s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom ++ ord.s ! Nom;
sp = \\c => quant.sp ! num.hasCard ! num.n ! npNom ++ num.s ! Nom ++ ord.s ! npcase2case c ;
n = num.n ;
hasNum = True
} ;
DetNP det = {
s = case det.hasNum of {True => \\_ => det.s ; _ => \\c => det.sp ! c} ;
-- s = case det.hasNum of {True => \\_ => det.s ; _ => \\c => det.sp ! c} ;
s = det.sp ;
a = agrP3 det.n
} ;
PossPron p = {
s = \\_,_ => p.s ! NCase Gen ;
sp = \\_,_,c => p.sp ! npcase2case c
sp = \\_,_,c => p.sp ! Gen
} ;
NumSg = {s = \\c => []; n = Sg ; hasCard = False} ;
@@ -137,4 +138,13 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! NCase c ; g = cn.g} ;
PossNP cn np = {s = \\n,c => cn.s ! n ! c ++ "of" ++ np.s ! NPNomPoss ; g = cn.g} ;
PartNP cn np = {s = \\n,c => cn.s ! n ! c ++ "of" ++ np.s ! NPAcc ; g = cn.g} ;
CountNP det np = {
s = \\c => det.sp ! c ++ "of" ++ np.s ! NPAcc ;
a = agrP3 det.n
} ;
}