completing Idiom implementations

This commit is contained in:
aarne
2006-02-21 11:09:30 +00:00
parent 29aa2b8499
commit 0365c6f346
13 changed files with 101 additions and 10 deletions

View File

@@ -3,5 +3,40 @@ concrete IdiomFin of Idiom = CatFin **
flags optimize=all_subs ;
lin
ExistNP np =
let
cas : Polarity -> NPForm = \p -> case p of {
Pos => NPCase Nom ; -- on olemassa luku
Neg => NPCase Part -- ei ole olemassa lukua
}
in
mkClause [] (agrP3 Sg) (insertObj
(\\_,b,_ => "olemassa" ++ np.s ! cas b) (predV olla)) ;
ImpersCl vp = mkClause [] (agrP3 Sg) vp ;
GenericCl vp = mkClause [] (agrP3 Sg) {
s = \\_ => vp.s ! VIPass ;
s2 = vp.s2 ;
ext = vp.ext ;
sc = vp.sc
} ;
ProgrVP vp =
let
inf = (vp.s ! VIInf Inf3Iness ! Simul ! Pos ! agrP3 Sg).fin ;
on = predV olla
in {
s = on.s ;
s2 = \\b,p,a => inf ++ vp.s2 ! b ! p ! a ;
ext = vp.ext ;
sc = vp.sc
} ;
oper
olla = verbOlla ** {sc = NPCase Nom} ;
}