forked from GitHub/gf-rgl
(May) Add VV complements
This commit is contained in:
@@ -102,7 +102,9 @@ concrete CatMay of Cat = CommonX ** open ResMay, Prelude in {
|
||||
VA, -- adjective-complement verb e.g. "look"
|
||||
V = ResMay.Verb ;
|
||||
|
||||
VV, -- verb-phrase-complement verb e.g. "want"
|
||||
VV -- verb-phrase-complement verb e.g. "want"
|
||||
= SS ;
|
||||
|
||||
V2A, -- verb with NP and AP complement e.g. "paint"
|
||||
V2V, -- verb with NP and V complement e.g. "cause"
|
||||
V2S, -- verb with NP and S complement e.g. "tell"
|
||||
|
||||
@@ -43,8 +43,9 @@ oper
|
||||
mkV3 : V -> Prep -> Prep -> V3 ; -- Prepositions for direct and indirect objects given
|
||||
} ;
|
||||
|
||||
-- mkVV : overload {
|
||||
-- } ;
|
||||
mkVV : overload {
|
||||
mkVV : Str -> VV ;
|
||||
} ;
|
||||
|
||||
--
|
||||
-- mkVA : Str -> VA
|
||||
@@ -120,8 +121,9 @@ oper
|
||||
lin V3 (mkVerb3 v p q)
|
||||
} ;
|
||||
|
||||
-- mkVV = overload {
|
||||
-- } ;
|
||||
mkVV = overload {
|
||||
mkVV : Str -> VV = \vv -> lin VV (ss vv)
|
||||
} ;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -158,8 +158,7 @@ lin language_title_Utt = ss "bahasa Melayu" ;
|
||||
-- lin can8know_VV = can_VV ; -- can (capacity)
|
||||
-- lin can_VV = mkVV "" ; -- can (possibility)
|
||||
-- lin must_VV = mkVV "" ;
|
||||
-- lin want_VV = mkVV "" subjunctive ;
|
||||
|
||||
lin want_VV = mkVV "mahu" ;
|
||||
|
||||
------
|
||||
-- Voc
|
||||
|
||||
@@ -18,9 +18,9 @@ lin
|
||||
-- ReflVP = ResMay.insertRefl ;
|
||||
|
||||
-- : VV -> VP -> VP ;
|
||||
-- ComplVV vv vp = let vc = vp.vComp in case vv.vvtype of {
|
||||
--
|
||||
-- } ;
|
||||
ComplVV vv vp = vp ** {
|
||||
s = \\vf => vv.s ++ vp.s ! Root
|
||||
} ;
|
||||
|
||||
-- : VS -> S -> VP ;
|
||||
-- ComplVS vs s =
|
||||
@@ -67,15 +67,14 @@ lin
|
||||
-- : VPSlash -> NP -> VP
|
||||
ComplSlash vps np = {s = \\vf => vps.s ! vf ++ vps.c2.s ++ np.s} ;
|
||||
|
||||
{-
|
||||
-- : VV -> VPSlash -> VPSlash ;
|
||||
-- Just like ComplVV except missing subject!
|
||||
SlashVV vv vps = ComplVV vv vps ** { missing = vps.missing ;
|
||||
post = vps.post } ;
|
||||
SlashVV vv vps = ComplVV vv vps ** {
|
||||
c2 = vps.c2 ; -- like ComplVV except missing object
|
||||
passive = vv.s ++ vps.passive
|
||||
} ;
|
||||
|
||||
-- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy
|
||||
SlashV2VNP v2v np vps =
|
||||
-}
|
||||
-- SlashV2VNP v2v np vps =
|
||||
|
||||
-- : Comp -> VP ;
|
||||
UseComp comp = comp ;
|
||||
|
||||
@@ -5,3 +5,7 @@ LangMay: anjing dicinta
|
||||
Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (PassV2 love_V2))
|
||||
LangEng: the dog isn't loved
|
||||
LangMay: anjing tidak dicinta
|
||||
|
||||
Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (ComplVV want_VV (PassV2 love_V2)))
|
||||
LangEng: the dog doesn't want to be loved
|
||||
LangMay: anjing tidak mahu dicinta
|
||||
Reference in New Issue
Block a user