added VV category

This commit is contained in:
krasimir
2008-02-28 14:59:02 +00:00
parent 750ecf1ee3
commit 52b2d9e728
5 changed files with 40 additions and 31 deletions

View File

@@ -100,6 +100,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
V, VS, VQ, VA = Verb ; V, VS, VQ, VA = Verb ;
V2, V2A = Verb ** {c2 : Preposition} ; V2, V2A = Verb ** {c2 : Preposition} ;
V3 = Verb ** {c2, c3 : Preposition} ; V3 = Verb ** {c2, c3 : Preposition} ;
VV = Verb ;
A = {s : AForm => Str} ; A = {s : AForm => Str} ;
A2 = {s : AForm => Str ; c2 : Str} ; A2 = {s : AForm => Str ; c2 : Str} ;

View File

@@ -89,6 +89,8 @@ oper
mkVS : V -> VS ; mkVS : V -> VS ;
mkVV : V -> VV ;
mkPN : Str -> Gender -> PN ; mkPN : Str -> Gender -> PN ;
mkIAdv : Str -> IAdv ; mkIAdv : Str -> IAdv ;
@@ -106,6 +108,8 @@ oper
mkVS v = v ** {lock_VS = <>} ; mkVS v = v ** {lock_VS = <>} ;
mkVV v = v ** {lock_VV = <>} ;
mkPN s g = {s = s; g = g ; lock_PN = <>} ; mkPN s g = {s = s; g = g ; lock_PN = <>} ;
mkIAdv s = {s1 = s; s2 = s + "òî"; lock_IAdv = <>} ; mkIAdv s = {s1 = s; s2 = s + "òî"; lock_IAdv = <>} ;

View File

@@ -19,6 +19,16 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
SlashV2 np v2 = SlashV2 np v2 =
mkClause (np.s ! RSubj) np.a (predV v2) ** {c2 = v2.c2} ; mkClause (np.s ! RSubj) np.a (predV v2) ** {c2 = v2.c2} ;
SlashVVV2 np vv v2 =
mkClause (np.s ! RSubj) np.a
(let vp = predV vv
in { s = \\t,a,p,agr,q => vp.s ! t ! a ! p ! agr ! q ++ "äà" ++ v2.s ! (VPres (numGenNum agr.gn) agr.p) ;
imp = vp.imp ;
s2 = vp.s2 ;
subjRole = vp.subjRole
}) **
{c2 = v2.c2} ;
AdvSlash slash adv = { AdvSlash slash adv = {
s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ; s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
c2 = slash.c2 c2 = slash.c2

View File

@@ -19,20 +19,7 @@ concrete StructuralBul of Structural = CatBul **
but_PConj = ss "íî" ; but_PConj = ss "íî" ;
by8agent_Prep = mkPrep "÷ðåç" Acc ; by8agent_Prep = mkPrep "÷ðåç" Acc ;
by8means_Prep = mkPrep "÷ðåç" Acc ; by8means_Prep = mkPrep "÷ðåç" Acc ;
{- can8know_VV, can_VV = mkVV (mkV166 "ìîãà") ;
can8know_VV, can_VV = {
s = table {
VVF VInf => ["be able to"] ;
VVF VPres => "can" ;
VVF VPPart => ["been able to"] ;
VVF VPresPart => ["being able to"] ;
VVF VPast => "could" ; --# notpresent
VVPastNeg => "couldn't" ; --# notpresent
VVPresNeg => "can't"
} ;
isAux = True
} ;
-}
during_Prep = mkPrep ["ïî âðåìå íà"] Acc ; during_Prep = mkPrep ["ïî âðåìå íà"] Acc ;
either7or_DConj = sd2 "èëè" "èëè" ** {n = Sg} ; either7or_DConj = sd2 "èëè" "èëè" ** {n = Sg} ;
everybody_NP = mkNP "âñåêè" (GSg Masc) P3 ; everybody_NP = mkNP "âñåêè" (GSg Masc) P3 ;
@@ -61,20 +48,22 @@ concrete StructuralBul of Structural = CatBul **
more_CAdv = {s=[]; sn="ïîâå÷å"} ; more_CAdv = {s=[]; sn="ïîâå÷å"} ;
most_Predet = {s = \\_ => "ïîâå÷åòî"} ; most_Predet = {s = \\_ => "ïîâå÷åòî"} ;
much_Det = mkDeterminerSg "ìíîãî" "ìíîãî" "ìíîãî"; much_Det = mkDeterminerSg "ìíîãî" "ìíîãî" "ìíîãî";
{- must_VV = mkVV {
must_VV = {
s = table { s = table {
VVF VInf => ["have to"] ; VPres _ _ => "òðÿáâà" ;
VVF VPres => "must" ; VAorist _ _ => "òðÿáâàøå" ;
VVF VPPart => ["had to"] ; VImperfect _ _ => "òðÿáâàëî" ;
VVF VPresPart => ["having to"] ; VPerfect _ => "òðÿáâàëî" ;
VVF VPast => ["had to"] ; --# notpresent VPluPerfect _ => "òðÿáâàëî" ;
VVPastNeg => ["hadn't to"] ; --# notpresent VPassive _ => "òðÿáâàëî" ;
VVPresNeg => "mustn't" VPresPart _ => "òðÿáâàëî" ;
} ; VImperative Sg => "òðÿáâàé" ;
isAux = True VImperative Pl => "òðÿáâàéòå" ;
VGerund => "òðÿáâàéêè"
} ;
vtype=VNormal ;
lock_V=<>
} ; } ;
-}
no_Phr = ss "íå" ; no_Phr = ss "íå" ;
on_Prep = mkPrep "íà" Acc ; on_Prep = mkPrep "íà" Acc ;
---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED ---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
@@ -108,9 +97,7 @@ concrete StructuralBul of Structural = CatBul **
to_Prep = mkPrep "äî" Acc ; to_Prep = mkPrep "äî" Acc ;
under_Prep = mkPrep "ïîä" Acc ; under_Prep = mkPrep "ïîä" Acc ;
very_AdA = ss "ìíîãî" ; very_AdA = ss "ìíîãî" ;
{- want_VV = mkVV (mkV186 "èñêàì") ;
want_VV = P.mkVV (P.regV "want") ;
-}
we_Pron = mkPron "íèå" "íàñ" "íè" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ; we_Pron = mkPron "íèå" "íàñ" "íè" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ;
whatPl_IP = mkIP "êàêâè" "êàêâè" GPl ; whatPl_IP = mkIP "êàêâè" "êàêâè" GPl ;
whatSg_IP = mkIP "êàêúâ" "êàêúâ" (GSg Masc) ; whatSg_IP = mkIP "êàêúâ" "êàêúâ" (GSg Masc) ;

View File

@@ -1,4 +1,4 @@
concrete VerbBul of Verb = CatBul ** open ResBul, ParadigmsBul in { concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in {
flags optimize=all_subs ; flags optimize=all_subs ;
@@ -8,6 +8,13 @@ concrete VerbBul of Verb = CatBul ** open ResBul, ParadigmsBul in {
ComplV3 v np np2 = ComplV3 v np np2 =
insertObj (\\_ => v.c2.s ++ np.s ! RObj v.c2.c ++ v.c3.s ++ np2.s ! RObj v.c3.c) (predV v) ; insertObj (\\_ => v.c2.s ++ np.s ! RObj v.c2.c ++ v.c3.s ++ np2.s ! RObj v.c3.c) (predV v) ;
ComplVV vv vp = {
s = \\t,a,p,agr,q => (predV vv).s ! t ! a ! p ! agr ! q ++ "äà" ++ vp.s ! Pres ! Simul ! Pos ! agr ! False ;
imp = vp.imp ;
s2 = vp.s2 ;
subjRole = vp.subjRole
} ;
ComplVS v s = insertObj (\\_ => "," ++ "֌" ++ s.s) (predV v) ; ComplVS v s = insertObj (\\_ => "," ++ "֌" ++ s.s) (predV v) ;
UseComp comp = insertObj comp.s (predV verbBe) ; UseComp comp = insertObj comp.s (predV verbBe) ;