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) ;
}

View File

@@ -42,6 +42,12 @@ lin
isPre = True
} ;
PositAdVAdj a = {s = a.adv} ;
that_RP = {
s = whichRP
} ;
UseQuantPN q pn = { s = table {
RObj Dat => "на" ++ pn.s;
_ => pn.s
@@ -49,4 +55,14 @@ lin
a = {gn = GSg pn.g; p = P3}
} ;
PPartNP np vps = {
s = \\c => np.s ! c ++
vps.s ! Perf ! VPassive (aform np.a.gn Indef c) ++
vps.compl1 ! np.a ++ vps.compl2 ! np.a;
a = np.a
} ;
SlashV2V vv p vp =
insertSlashObj2 (daComplex vp ! Perf) (slashV vv vv.c2) ;
}

View File

@@ -69,5 +69,7 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
ExtAdvS a s = {s = a.s ++ "," ++ s.s} ;
AdvS a s = {s = a.s ++ s.s} ;
SSubjS a s b = {s = a.s ++ "," ++ s.s ++ b.s} ;
RelS s r = {s = s.s ++ "," ++ r.s ! {gn=gennum ANeut Sg; p=P3}} ;
}