mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-25 19:16:28 -06:00
Fixed direct object negation cases
This commit is contained in:
+30
-11
@@ -8,7 +8,11 @@ lin
|
||||
|
||||
-- : Temp -> Pol -> Cl -> S ; -- she had not slept - она не спала
|
||||
UseCl temp pol cl = {
|
||||
s : Mood => Str = \\m => temp.s ++ (R.verbEnvAgr cl.subj cl.adv cl.verb m temp.t cl.a pol) ++ cl.dep ++ cl.compl ;
|
||||
s : Mood => Str = \\m =>
|
||||
temp.s
|
||||
++ (R.verbEnvAgr cl.subj cl.adv cl.verb m temp.t cl.a pol)
|
||||
++ cl.dep
|
||||
++ cl.compl ! pol.p ;
|
||||
} ;
|
||||
|
||||
-- : Temp -> Pol -> RCl -> RS ; -- that had not slept
|
||||
@@ -17,23 +21,27 @@ lin
|
||||
let a : Agr = fromMaybe Agr (genNumAgrP3 gn) rcl.a in
|
||||
temp.s
|
||||
++ (R.verbEnvAgr (rcl.subj ! gn ! anim ! Nom) (rcl.adv ! (genNumAgrP3 gn)) rcl.verb Ind temp.t a pol)
|
||||
++ rcl.dep ++ rcl.compl ! (genNumAgrP3 gn)
|
||||
++ rcl.dep
|
||||
++ rcl.compl ! pol.p ! (genNumAgrP3 gn)
|
||||
} ;
|
||||
|
||||
-- : Temp -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
UseSlash temp pol cls = {
|
||||
s : Mood => Str = \\m => temp.s
|
||||
++ (R.verbEnvAgr cls.subj cls.adv cls.verb m temp.t cls.a pol) ++ cls.dep ++ cls.compl ;
|
||||
s : Mood => Str = \\m =>
|
||||
temp.s
|
||||
++ (R.verbEnvAgr cls.subj cls.adv cls.verb m temp.t cls.a pol)
|
||||
++ cls.dep
|
||||
++ cls.compl ! pol.p ;
|
||||
c=cls.c
|
||||
} ;
|
||||
|
||||
-- : NP -> VPSlash -> ClSlash ; -- (whom) he sees
|
||||
SlashVP np vps = {
|
||||
subj=np.s ! Nom ; -- ????????
|
||||
compl=vps.compl ! np.a ; -- ??
|
||||
adv=vps.adv ! np.a ; -- ??
|
||||
verb=vps.verb ;
|
||||
dep=vps.dep ;
|
||||
compl=\\p => vps.compl ! p ! np.a ; -- ??
|
||||
a=np.a ;
|
||||
c=vps.c
|
||||
} ;
|
||||
@@ -52,7 +60,7 @@ lin
|
||||
-- NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves
|
||||
SlashVS np vs ss = {
|
||||
subj=np.s ! Nom ; -- ????????
|
||||
compl=embedInCommas ("что" ++ ss.s ! Ind) ; -- ?? that?
|
||||
compl=\\_ => embedInCommas ("что" ++ ss.s ! Ind) ; -- ?? that?
|
||||
adv=[]; -- ??
|
||||
verb=vs ;
|
||||
dep=[] ;
|
||||
@@ -75,7 +83,9 @@ lin
|
||||
s = \\polarity, gn =>
|
||||
let pol = case polarity of {Neg => PNeg; Pos => PPos} in
|
||||
let a = Ag gn P2 in
|
||||
(R.verbEnvAgr "" "" vp.verb Imperative Pres a pol) ++ vp.adv ! a ++ vp.compl ! a
|
||||
(R.verbEnvAgr "" "" vp.verb Imperative Pres a pol)
|
||||
++ vp.adv ! a
|
||||
++ vp.compl ! pol.p ! a
|
||||
} ;
|
||||
|
||||
-- : NP -> VP -> Cl ; -- John walks - Иван гуляет
|
||||
@@ -84,7 +94,7 @@ lin
|
||||
adv=vp.adv ! np.a ;
|
||||
verb=vp.verb ;
|
||||
dep=vp.dep ;
|
||||
compl=vp.compl ! np.a ;
|
||||
compl=\\p => vp.compl ! p ! np.a ;
|
||||
a=np.a
|
||||
} ;
|
||||
|
||||
@@ -94,7 +104,7 @@ lin
|
||||
adv=vp.adv ! (Ag (GSg Neut) P3) ; -- ???
|
||||
verb=vp.verb ;
|
||||
dep=vp.dep ;
|
||||
compl=vp.compl ! Ag (GSg Neut) P3 ; -- ???
|
||||
compl=\\p => vp.compl ! p ! Ag (GSg Neut) P3 ; -- ???
|
||||
a=Ag (GSg Neut) P3 -- ???
|
||||
} ;
|
||||
|
||||
@@ -103,14 +113,23 @@ lin
|
||||
|
||||
-- : Temp -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseQCl temp pol cl = {
|
||||
s = \\qf => temp.s ++ (R.verbEnvAgr cl.subj cl.adv cl.verb Ind temp.t cl.a pol) ++ cl.dep ++ cl.compl
|
||||
s = \\qf =>
|
||||
temp.s
|
||||
++ (R.verbEnvAgr cl.subj cl.adv cl.verb Ind temp.t cl.a pol)
|
||||
++ cl.dep
|
||||
++ cl.compl ! pol.p
|
||||
} ;
|
||||
|
||||
-- : QS -> SC ; -- who goes
|
||||
EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||
|
||||
-- : VP -> SC ; -- to go
|
||||
EmbedVP vp = {s=vp.adv ! Ag (GSg Neut) P3 ++ (R.verbInf vp.verb) ++ vp.dep ++ vp.compl ! Ag (GSg Neut) P3} ;
|
||||
EmbedVP vp = {
|
||||
s=vp.adv ! Ag (GSg Neut) P3
|
||||
++ (R.verbInf vp.verb)
|
||||
++ vp.dep
|
||||
++ vp.compl ! Pos ! Ag (GSg Neut) P3 -- ???
|
||||
} ;
|
||||
|
||||
-- : S -> RS -> S ; -- she sleeps, which is good
|
||||
RelS s rs = {
|
||||
|
||||
Reference in New Issue
Block a user