1
0
forked from GitHub/gf-rgl

add PassAgentVPSlash to May

This commit is contained in:
Meowyam
2023-03-21 16:27:05 +08:00
parent 9c96fc6653
commit 69356d8c9b
7 changed files with 48 additions and 14 deletions

View File

@@ -20,9 +20,13 @@ lin
--AdAdv : AdA -> Adv -> Adv ; -- very quickly --AdAdv : AdA -> Adv -> Adv ; -- very quickly
-- AdAdv ada adv = adv ** -- AdAdv ada adv = adv **
-- Like adverbs, adadjectives can be produced by adjectives. -- Like adverbs, adadjectives can be produced by adjectives.
AdAdv ada adv = adv ** {
s = ada.s ++ adv.s ;
} ;
-- : A -> AdA ; -- extremely -- : A -> AdA ; -- extremely
-- PositAdAAdj a = { } ; -- PositAdAAdj a = { } ;
-- PositAdAAdj a = {s = a.s} ;
-- Subordinate clauses can function as adverbs. -- Subordinate clauses can function as adverbs.

View File

@@ -8,6 +8,7 @@ concrete ExtendMay of Extend = CatMay
, ListVPI -- infinitive VP's (TODO: with anteriority and polarity) , ListVPI -- infinitive VP's (TODO: with anteriority and polarity)
, MkVPS , MkVPS
, PredVPS, RelVPS, QuestVPS, SQuestVPS , PredVPS, RelVPS, QuestVPS, SQuestVPS
, PassVPSlash, PassAgentVPSlash
-- excluded because RGL funs needed for them not implemented yet -- excluded because RGL funs needed for them not implemented yet
, PredAPVP , PredAPVP
@@ -78,6 +79,7 @@ concrete ExtendMay of Extend = CatMay
PastPartAP vp = { PastPartAP vp = {
s = linVP vp s = linVP vp
} ; } ;
-- GenModNP : Num -> NP -> CN -> NP ; -- this man's car(s) -- GenModNP : Num -> NP -> CN -> NP ; -- this man's car(s)
GenModNP n np cn = variants {}; GenModNP n np cn = variants {};
@@ -98,6 +100,18 @@ concrete ExtendMay of Extend = CatMay
GerundAdv vp = ss (linVP vp) ; GerundAdv vp = ss (linVP vp) ;
-- PassVPSlash : VPS -> VP ;
-- be forced to sleep
PassVPSlash vps = vps ** {
s = \\vf,pol => vps.s ! Passive ! pol ;
};
-- PassAgentVPSlash : VPSlash -> NP -> VP ; -- be begged by her to go
PassAgentVPSlash vps np = {
s = \\vf,pol => vps.s ! Passive ! pol ++ (applyPrep by8agent_Prep np) ;
};
-- MkVPS2 : Temp -> Pol -> VPSlash -> VPS2 ; -- has loved -- MkVPS2 : Temp -> Pol -> VPSlash -> VPS2 ; -- has loved
-- ConjVPS2 : Conj -> [VPS2] -> VPS2 ; -- has loved and now hates -- ConjVPS2 : Conj -> [VPS2] -> VPS2 ; -- has loved and now hates
-- ComplVPS2 : VPS2 -> NP -> VPS ; -- has loved and now hates that person -- ComplVPS2 : VPS2 -> NP -> VPS ; -- has loved and now hates that person

View File

@@ -27,7 +27,7 @@ lin bank_N = mkN "bank" ;
lin beautiful_A = mkA "cantik" ; lin beautiful_A = mkA "cantik" ;
-- lin become_VA = mkVA "jadi" ; -- lin become_VA = mkVA "jadi" ;
lin beer_N = mkN "bir" ; lin beer_N = mkN "bir" ;
-- lin beg_V2V = mkV2 "" ; lin beg_V2V = mkV2 "seru" ;
-- lin belly_N = mkN "" ; -- lin belly_N = mkN "" ;
lin big_A = mkA "besar" ; lin big_A = mkA "besar" ;
lin bike_N = mkN "basikal" ; lin bike_N = mkN "basikal" ;

View File

@@ -79,8 +79,10 @@ oper
-- --
-- mkV2A : Str -> V2A -- mkV2A : Str -> V2A
-- = \s -> lin V2A (regV s ** {c2 = noPrep}) ; -- = \s -> lin V2A (regV s ** {c2 = noPrep}) ;
-- mkV2Q : Str -> V2Q mkV2Q : overload {
-- = \s -> lin V2Q (regV s ** {c2 = noPrep}) ; mkV2Q : Str -> V2Q ;
mkV2Q : V -> Prep -> V2Q ;
} ;
----- -----

View File

@@ -104,7 +104,7 @@ lin by8agent_Prep = mkPrep "oleh" ; -- for pronoun agent, see Mintz p. 170, 5.4.
lin by8means_Prep = mkPrep "dengan" ; lin by8means_Prep = mkPrep "dengan" ;
-- lin during_Prep = mkPrep ; -- lin during_Prep = mkPrep ;
-- lin except_Prep = mkPrep ; -- lin except_Prep = mkPrep ;
-- lin for_Prep = mkPrep ; lin for_Prep = mkPrep "untuk" ;
-- lin from_Prep = mkPrep "" ; -- lin from_Prep = mkPrep "" ;
-- lin in8front_Prep = mkPrep "" ; -- lin in8front_Prep = mkPrep "" ;
lin in_Prep = mkPrep "di" ; lin in_Prep = mkPrep "di" ;

View File

@@ -1,4 +1,4 @@
concrete VerbMay of Verb = CatMay ** open ResMay, AdverbMay, Prelude in { concrete VerbMay of Verb = CatMay ** open ResMay, AdverbMay, StructuralMay, Prelude in {
lin lin
@@ -72,11 +72,11 @@ lin
} ; } ;
-- : V2V -> VP -> VPSlash ; -- beg (her) to go -- : V2V -> VP -> VPSlash ; -- beg (her) to go
SlashV2V v2 vp = vp ** useV { SlashV2V v2 vp = useV {
s = \\vf => v2.s ! vf ++ (linVP vp); s = \\vf => v2.s ! vf ++ for_Prep.s ++ vp.s ! Root ! Pos;
} ** { } ** {
c2 = v2.c2; c2 = v2.c2;
adjCompl = [] ; adjCompl = [];
} ; } ;
@@ -86,6 +86,11 @@ lin
adjCompl = "yang" ++ s.s ; -- TODO check /Inari adjCompl = "yang" ++ s.s ; -- TODO check /Inari
} ; } ;
-- : V2Q -> QS -> VPSlash ; -- ask (him) who came
-- SlashV2Q v2q qs = useV v2q ** {
-- s =
-- };
{- {-
-- : V2S -> S -> VPSlash ; -- answer (to him) that it is good -- : V2S -> S -> VPSlash ; -- answer (to him) that it is good
@@ -102,12 +107,9 @@ lin
-- : VPSlash -> NP -> VP -- : VPSlash -> NP -> VP
ComplSlash vps np = vps ** { ComplSlash vps np = vps ** {
s = \\vf,pol => s = \\vf,pol =>
vps.s ! vf ! pol vps.s ! vf ! pol ++ vps.adjCompl ++ applyPrep vps.c2 np
++ applyPrep vps.c2 np ++ vps.adjCompl
-- s = \\vf,pol => vps.s ! vf ! pol ++ applyPrep vps.c2 np
} ; } ;
-- : VV -> VPSlash -> VPSlash ; -- : VV -> VPSlash -> VPSlash ;
SlashVV vv vps = ComplVV vv vps ** { SlashVV vv vps = ComplVV vv vps ** {
c2 = vps.c2 ; -- like ComplVV except missing object c2 = vps.c2 ; -- like ComplVV except missing object
@@ -141,7 +143,12 @@ lin
AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ; AdVVPSlash adv vps = vps ** { adv = adv.s ++ vps.adv } ;
-} -}
-- : VP -> Prep -> VPSlash ; -- live in (it) -- : VP -> Prep -> VPSlash ; -- live in (it)
-- VPSlashPrep vp prep = vp ** {c2 = prep} ; VPSlashPrep vp prep = vp ** {
s = \\vf,pol => vp.s ! vf ! pol ;
} ** {
c2 = prep ;
adjCompl =[] ;
} ;
--2 Complements to copula --2 Complements to copula

View File

@@ -71,3 +71,10 @@ LangMay: mengapa dia makan daging
Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestVP whatSg_IP (UseComp (CompNP (DetCN (DetQuant DefArt NumSg) (RelCN (UseN meat_N) (UseRCl (TTAnt TPast ASimul) PPos (RelVP IdRP (PassV2 eat_V2)))))))) Lang: UseQCl (TTAnt TPast ASimul) PPos (QuestVP whatSg_IP (UseComp (CompNP (DetCN (DetQuant DefArt NumSg) (RelCN (UseN meat_N) (UseRCl (TTAnt TPast ASimul) PPos (RelVP IdRP (PassV2 eat_V2))))))))
LangEng: what was the meat that was eaten LangEng: what was the meat that was eaten
LangMay: apa daging yang dimakan LangMay: apa daging yang dimakan
AllEngAbs: (PastPartAP (VPSlashPrep (ComplSlash (SlashV2V beg_V2V (UseV go_V)) (UsePron i_Pron)) by8agent_Prep))
AllEng: begged by me to go
AllMay: diseru aku untuk pergi
AllEngAbs: l (PassAgentVPSlash (SlashV2V beg_V2V (UseV go_V)) (UsePron i_Pron))
AllEng: be begged to go by me