added few missing functions in the Bulgarian RGL

This commit is contained in:
kr.angelov
2012-06-21 09:00:21 +00:00
parent 78bd39ace7
commit 87401fcc4d
3 changed files with 43 additions and 0 deletions

View File

@@ -67,4 +67,29 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
ASgMascDefNom => ASg Masc Indef ;
APl _ => APl Indef
} ;
lincat
VPS = {s : Agr => Str} ;
[VPS] = {s : Bool => Bool => Agr => Str} ;
lin
BaseVPS x y = {s = \\d,t,a=>x.s!a++linCoord!t++y.s!a} ;
ConsVPS x xs = {s = \\d,t,a=>x.s!a++(linCoordSep comma)!d!t++xs.s!d!t!a} ;
PredVPS np vps = {s = np.s ! RSubj ++ vps.s ! np.a} ;
MkVPS t p vp = {
s = \\a =>
let verb = vpTenses vp ! t.t ! t.a ! p.p ! a ! False ! Perf ;
compl = vp.compl ! a
in t.s ++ p.s ++ verb ++ compl
} ;
ConjVPS conj vps = {
s = \\a => (linCoordSep [])!conj.distr!conj.conj++vps.s!conj.distr!conj.conj!a;
} ;
PassVPSlash vp = insertObj (\\a => vp.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc)) ++
vp.compl1 ! a ++ vp.compl2 ! a) (predV verbBe) ;
}