mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
fixed duplication of de in RelativeChi
This commit is contained in:
@@ -28,7 +28,7 @@ concrete CatChi of Cat = CommonX - [Tense, Temp, Ant, Adv] ** open ResChi, Prelu
|
||||
-- Relative
|
||||
|
||||
RCl = {s : Polarity => Aspect => Str} ;
|
||||
RP = {s : Str} ;
|
||||
RP = {s : Bool => Str} ; -- True = applied to adjectival VP's hence "de" is not repeated
|
||||
|
||||
-- Verb
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ concrete ExtraChi of ExtraChiAbs = CatChi **
|
||||
|
||||
GenNP np = {s,pl = np.s ++ possessive_s ; detType = DTPoss} ;
|
||||
|
||||
GenRP nu cn = {s = cn.s ++ relative_s} ; ---- ??
|
||||
GenRP nu cn = {s = \\_ => cn.s ++ relative_s} ; ---- ??
|
||||
|
||||
|
||||
-----------------------
|
||||
|
||||
@@ -21,7 +21,8 @@ concrete IdiomChi of Idiom = CatChi ** open Prelude, ResChi in {
|
||||
ProgrVP vp = {
|
||||
verb = regVerb zai_s ;
|
||||
compl = vp.prePart ++ vp.verb.s ++ vp.compl ;
|
||||
prePart, topic = []
|
||||
prePart, topic = [] ;
|
||||
isAdj = False ;
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ oper
|
||||
mkPConj : Str -> PConj
|
||||
= \s -> lin PConj {s = word s} ;
|
||||
mkRP : Str -> RP
|
||||
= \s -> lin RP {s = word s} ;
|
||||
= \s -> lin RP {s = table {True => [] ; False => word s}} ;
|
||||
|
||||
|
||||
--. auxiliary
|
||||
|
||||
@@ -3,10 +3,13 @@ concrete RelativeChi of Relative = CatChi ** open ResChi, Prelude in {
|
||||
lin
|
||||
RelCl cl = {s = \\p,a => cl.s ! p ! a ++ relative_s} ; ---- ??
|
||||
RelVP rp vp = {
|
||||
s = \\p,a => vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl ++ rp.s
|
||||
s = \\p,a => case vp.isAdj of {
|
||||
True => vp.prePart ++ vp.compl ++ rp.s ! True ; ---- FunRP also ?
|
||||
_ => vp.prePart ++ useVerb vp.verb ! p ! a ++ vp.compl ++ rp.s ! False
|
||||
} ;
|
||||
} ; ---- ??
|
||||
RelSlash rp slash = {s = \\p,a => slash.s ! p ! a ++ appPrep slash.c2 rp.s} ;
|
||||
FunRP p np rp = ss (appPrep p np.s ++ rp.s) ; ---- ??
|
||||
IdRP = ss relative_s ;
|
||||
RelSlash rp slash = {s = \\p,a => slash.s ! p ! a ++ appPrep slash.c2 (rp.s ! False)} ;
|
||||
FunRP p np rp = {s = \\a => appPrep p np.s ++ rp.s ! a} ; ---- ??
|
||||
IdRP = {s = table {True => [] ; False => relative_s}} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -104,7 +104,8 @@ oper
|
||||
topic : Str ; -- topicalized item, before subject
|
||||
prePart : Str ; -- between subject and verb
|
||||
verb : Verb ;
|
||||
compl : Str -- after verb
|
||||
compl : Str ; -- after verb
|
||||
isAdj : Bool ; -- whether it is an adjectival predication and behaves differently in relative
|
||||
} ;
|
||||
|
||||
NP = {s : Str} ;
|
||||
@@ -167,47 +168,30 @@ oper
|
||||
verb = v ;
|
||||
compl = part ;
|
||||
prePart, topic = [] ;
|
||||
isAdj = False ;
|
||||
} ;
|
||||
|
||||
insertObj : NP -> VP -> VP = \np,vp -> {
|
||||
verb = vp.verb ;
|
||||
insertObj : NP -> VP -> VP = \np,vp -> vp ** {
|
||||
compl = np.s ++ vp.compl ;
|
||||
prePart = vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertObjPost : NP -> VP -> VP = \np,vp -> {
|
||||
verb = vp.verb ;
|
||||
insertObjPost : NP -> VP -> VP = \np,vp -> vp ** {
|
||||
compl = vp.compl ++ np.s ;
|
||||
prePart = vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertAdv : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
insertAdv : SS -> VP -> VP = \adv,vp -> vp ** {
|
||||
prePart = adv.s ++ vp.prePart ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertTopic : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
prePart = vp.prePart ;
|
||||
insertTopic : SS -> VP -> VP = \adv,vp -> vp ** {
|
||||
topic = adv.s ++ vp.topic
|
||||
} ;
|
||||
insertAdvPost : SS -> VP -> VP = \adv,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
insertAdvPost : SS -> VP -> VP = \adv,vp -> vp ** {
|
||||
prePart = vp.prePart ++ adv.s ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertPP : SS -> VP -> VP = \pp,vp -> {
|
||||
verb = vp.verb ;
|
||||
compl = vp.compl ;
|
||||
insertPP : SS -> VP -> VP = \pp,vp -> vp ** {
|
||||
prePart = vp.prePart ++ pp.s ;
|
||||
topic = vp.topic
|
||||
} ;
|
||||
|
||||
insertExtra : SS -> VP -> VP = \ext,vp ->
|
||||
|
||||
@@ -19,7 +19,8 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
|
||||
ComplVV v vp = {
|
||||
verb = v ;
|
||||
compl = vp.prePart ++ vp.verb.s ++ vp.compl ;
|
||||
prePart, topic = []
|
||||
prePart, topic = [] ;
|
||||
isAdj = False ;
|
||||
} ;
|
||||
|
||||
ComplVS v s = insertObj s (predV v []) ;
|
||||
@@ -61,7 +62,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
|
||||
|
||||
PassV2 v = insertAdv (mkNP passive_s) (predV v v.part) ; ----
|
||||
|
||||
CompAP ap = insertObj (mkNP (ap.s ++ de_s)) (predV copula []) ;
|
||||
CompAP ap = insertObj (mkNP (ap.s ++ de_s)) (predV copula []) ** {isAdj = True} ;
|
||||
|
||||
{-
|
||||
CompAP ap = case ap.hasAdA of {
|
||||
|
||||
Reference in New Issue
Block a user