mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 00:52:51 -06:00
added VV category
This commit is contained in:
@@ -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} ;
|
||||||
|
|||||||
@@ -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 = <>} ;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 => "òðÿáâàé" ;
|
||||||
|
VImperative Pl => "òðÿáâàéòå" ;
|
||||||
|
VGerund => "òðÿáâàéêè"
|
||||||
} ;
|
} ;
|
||||||
isAux = True
|
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) ;
|
||||||
|
|||||||
@@ -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) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user