From a9191c404fedb56809ddec36357ae6322d0e7e8f Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 23 Jan 2006 17:49:09 +0000 Subject: [PATCH] French almost complete (reflexives, ordinals missing) --- lib/resource-1.0/french/DiffFre.gf | 2 + lib/resource-1.0/french/ParadigmsFre.gf | 2 +- lib/resource-1.0/french/StructuralFre.gf | 115 +------------------ lib/resource-1.0/romance/AdjectiveRomance.gf | 13 +-- lib/resource-1.0/romance/CatRomance.gf | 3 +- lib/resource-1.0/romance/CommonRomance.gf | 2 +- lib/resource-1.0/romance/DiffRomance.gf | 2 + lib/resource-1.0/romance/PhraseRomance.gf | 2 +- lib/resource-1.0/romance/QuestionRomance.gf | 35 +++--- lib/resource-1.0/romance/RelativeRomance.gf | 10 +- lib/resource-1.0/romance/ResRomance.gf | 13 ++- lib/resource-1.0/romance/SentenceRomance.gf | 28 ++--- lib/resource-1.0/romance/TensedRomance.gf | 3 +- lib/resource-1.0/romance/VerbRomance.gf | 20 ++-- 14 files changed, 73 insertions(+), 177 deletions(-) diff --git a/lib/resource-1.0/french/DiffFre.gf b/lib/resource-1.0/french/DiffFre.gf index 1110630e0..b098bc2a4 100644 --- a/lib/resource-1.0/french/DiffFre.gf +++ b/lib/resource-1.0/french/DiffFre.gf @@ -79,6 +79,8 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { quelPron : AAgr => Str = aagrForms "quel" "quelle" "quels" "quelles" ; + partQIndir = elision "c" ; + copula : Verb = {s = table VF ["ętre";"suis";"es";"est";"sommes";"ętes";"sont";"sois";"sois";"soit";"soyons";"soyez";"soient";"étais";"étais";"était";"étions";"étiez";"étaient";"fusse";"fusses";"fût";"fussions";"fussiez";"fussent";"fus";"fus";"fut";"fûmes";"fûtes";"furent";"serai";"seras";"sera";"serons";"serez";"seront";"serais";"serais";"serait";"serions";"seriez";"seraient";"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VHabere} ; avoir_V : Verb = {s=table VF ["avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait";"ayons";"ayez";"aient";"avais";"avais";"avait";"avions";"aviez";"avaient";"eusse";"eusses";"eût";"eussions";"eussiez";"eussent";"eus";"eus";"eut";"eûmes";"eûtes";"eurent";"aurai";"auras";"aura";"aurons";"aurez";"auront";"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VHabere}; diff --git a/lib/resource-1.0/french/ParadigmsFre.gf b/lib/resource-1.0/french/ParadigmsFre.gf index bedf965a1..5789aeba2 100644 --- a/lib/resource-1.0/french/ParadigmsFre.gf +++ b/lib/resource-1.0/french/ParadigmsFre.gf @@ -337,7 +337,7 @@ oper A2S, A2V : Type = A2 ; mkV0 v = v ** {lock_V0 = <>} ; - mkVS v = v ** {mn,mp = Indic ; lock_VS = <>} ; ---- more moods + mkVS v = v ** {m = \\_ => Indic ; lock_VS = <>} ; ---- more moods mkV2S v p = mkV2 v p ** {mn,mp = Indic ; lock_V2S = <>} ; mkVV v = v ** {c2 = complAcc ; lock_VV = <>} ; deVV v = v ** {c2 = complGen ; lock_VV = <>} ; diff --git a/lib/resource-1.0/french/StructuralFre.gf b/lib/resource-1.0/french/StructuralFre.gf index 3230e4be3..9a2c548e4 100644 --- a/lib/resource-1.0/french/StructuralFre.gf +++ b/lib/resource-1.0/french/StructuralFre.gf @@ -54,7 +54,7 @@ lin "il" (elision "l") "lui" "lui" "son" (elisPoss "s") "ses" Masc Sg P3 Clit2 ; less_CAdv = ss "moins" ; - many_Det = {s = \\_,c => prepCase c ++ "plusierus" ; n = Pl} ; + many_Det = {s = \\_,c => prepCase c ++ "plusieurs" ; n = Pl} ; more_CAdv = ss "plus" ; most_Predet = {s = \\_,c => prepCase c ++ ["la plupart"] ; c = CPrep P_de} ; much_Det = {s = \\_,c => prepCase c ++ "beaucoup" ++ elisDe ; n = Pl} ; @@ -127,116 +127,3 @@ lin } - -{- - lin - above_Prep = ss "ovanför" ; - after_Prep = ss "efter" ; - by8agent_Prep = ss "av" ; - all_Predet = {s = gennumForms "all" "allt" "alla"} ; - almost_AdA, almost_AdN = ss "nästan" ; - although_Subj = ss "fast" ; - always_AdV = ss "alltid" ; - and_Conj = ss "och" ** {n = Pl} ; - because_Subj = ss "eftersom" ; - before_Prep = ss "före" ; - behind_Prep = ss "bakom" ; - between_Prep = ss "mellan" ; - both7and_DConj = sd2 "både" "och" ** {n = Pl} ; - but_PConj = ss "men" ; - by8means_Prep = ss "med" ; - can8know_VV, can_VV = - mkVerb6 "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** - {c2 = [] ; lock_VV = <>} ; - during_Prep = ss "under" ; - either7or_DConj = sd2 "antingen" "eller" ** {n = Sg} ; - everybody_NP = regNP "alla" "allas" Plg ; - every_Det = {s = \\_,_ => "varje" ; n = Sg ; det = DDef Indef} ; - everything_NP = regNP "allting" "alltings" SgNeutr ; - everywhere_Adv = ss "överallt" ; - first_Ord = {s = "första" ; isDet = True} ; - from_Prep = ss "från" ; - he_Pron = mkNP "han" "honom" "hans" "hans" "hans" SgUtr P3 ; - here_Adv = ss "här" ; - here7to_Adv = ss "hit" ; - here7from_Adv = ss "härifrån" ; - how_IAdv = ss "hur" ; - how8many_IDet = {s = \\_ => ["hur många"] ; n = Pl ; det = DDef Indef} ; - if_Subj = ss "om" ; - in8front_Prep = ss "framför" ; - i_Pron = mkNP "jag" "mig" "min" "mitt" "mina" SgUtr P1 ; - in_Prep = ss "i" ; - it_Pron = regNP "det" "dess" SgNeutr ; - less_CAdv = ss "mindre" ; - many_Det = {s = \\_,_ => "många" ; n = Pl ; det = DDef Indef} ; - more_CAdv = ss "mer" ; - most_Predet = {s = gennumForms ["den mesta"] ["det mesta"] ["de flesta"]} ; - much_Det = {s = \\_,_ => "mycket" ; n = Pl ; det = DDef Indef} ; - must_VV = - mkVerb6 "få" "måste" "få" "fick" "måst" "måst" ** {c2 = [] ; lock_VV = <>} ; - no_Phr = ss ["Nej"] ; - on_Prep = ss "på" ; - one_Quant = {s = \\_ => genderForms ["en"] ["ett"] ; n = Sg ; det = DIndef} ; - only_Predet = {s = \\_ => "bara"} ; - or_Conj = ss "eller" ** {n = Sg} ; - otherwise_PConj = ss "annars" ; - part_Prep = ss "av" ; - please_Voc = ss "tack" ; --- - possess_Prep = ss "av" ; - quite_Adv = ss "ganska" ; - she_Pron = mkNP "hon" "henne" "hennes" "hennes" "hennes" SgUtr P3 ; - so_AdA = ss "så" ; - someSg_Det = {s = \\_ => genderForms "någon" "något" ; n = Sg ; det = DIndef} ; - somePl_Det = {s = \\_,_ => "några" ; n = Pl ; det = DIndef} ; - somebody_NP = regNP "någon" "någons" SgUtr ; - something_NP = regNP "något" "någots" SgNeutr ; - somewhere_Adv = ss "någonstans" ; - that_Quant = - {s = \\_ => genderForms ["den där"] ["det där"] ; n = Sg ; det = DDef Def} ; - that_NP = regNP ["det där"] ["det därs"] SgNeutr ; - there_Adv = ss "där" ; - there7to_Adv = ss "dit" ; - there7from_Adv = ss "därifrån" ; - therefore_PConj = ss "därför" ; - these_NP = regNP ["de här"] ["det härs"] Plg ; - these_Quant = {s = \\_,_ => ["de här"] ; n = Pl ; det = DDef Def} ; - they_Pron = mkNP "de" "dem" "deras" "deras" "deras" Plg P1 ; - this_Quant = - {s = \\_ => genderForms ["den här"] ["det här"] ; n = Sg ; det = DDef Def} ; - this_NP = regNP ["det här"] ["det härs"] SgNeutr ; - those_NP = regNP ["de där"] ["det därs"] Plg ; - those_Quant = {s = \\_,_ => ["de där"] ; n = Pl ; det = DDef Def} ; - thou_Pron = mkNP "du" "dig" "din" "ditt" "dina" SgUtr P2 ; - through_Prep = ss "genom" ; - too_AdA = ss "för" ; - to_Prep = ss "till" ; - under_Prep = ss "under" ; - very_AdA = ss "mycket" ; - want_VV = - mkVerb6 "vilja" "vill" "vilj" "ville" "velat" "velad" ** - {c2 = [] ; lock_VV = <>} ; - we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" Plg P1 ; - whatSg_IP = {s = \\_ => "vad" ; gn = SgUtr} ; ---- infl - whatPl_IP = {s = \\_ => "vad" ; gn = Plg} ; ---- infl - when_IAdv = ss "när" ; - when_Subj = ss "när" ; - where_IAdv = ss "var" ; - whichPl_IDet = {s = \\_ => "vilka" ; n = Pl ; det = DIndef} ; - whichSg_IDet = {s = genderForms "vilken" "vilket" ; n = Sg ; det = DIndef} ; - whoSg_IP = {s = vem.s ; gn = SgUtr} ; - whoPl_IP = {s = vem.s ; gn = Plg} ; - why_IAdv = ss "varför" ; - without_Prep = ss "utan" ; - with_Prep = ss "med" ; - ye_Pron = mkNP "ni" "er" "er" "ert" "era" Plg P2 ; - yes_Phr = ss ["ja"] ; - you_Pron = mkNP "ni" "er" "er" "ert" "era" SgUtr P2 ; --- wrong in refl - --- Auxiliaries that are used repeatedly. - - oper - vem = mkNP "vem" "vem" "vems" "vems" "vems" SgUtr P3 ; - -} - --} diff --git a/lib/resource-1.0/romance/AdjectiveRomance.gf b/lib/resource-1.0/romance/AdjectiveRomance.gf index 583d65e4c..ed14a7590 100644 --- a/lib/resource-1.0/romance/AdjectiveRomance.gf +++ b/lib/resource-1.0/romance/AdjectiveRomance.gf @@ -12,25 +12,24 @@ incomplete concrete AdjectiveRomance of Adjective = isPre = False } ; -{- -- $SuperlA$ belongs to determiner syntax in $Noun$. - ComplA2 a np = { - s = \\ap => a.s ! AF (APosit ap) Nom ++ a.c2 ++ np.s ! accusative ; + ComplA2 adj np = { + s = \\af => adj.s ! Posit ! af ++ appCompl adj.c2 np.s ; isPre = False } ; - +{- ReflA2 a = { s = \\ap => a.s ! AF (APosit ap) Nom ++ a.c2 ++ reflPron (agrP3 Utr Sg) ; ---- isPre = False } ; - +-} SentAP ap sc = { - s = \\a => ap.s ! a ++ sc.s ; + s = \\a => ap.s ! a ++ sc.s ; --- mood isPre = False } ; --} + AdAP ada ap = { s = \\a => ada.s ++ ap.s ! a ; isPre = ap.isPre diff --git a/lib/resource-1.0/romance/CatRomance.gf b/lib/resource-1.0/romance/CatRomance.gf index d19f4b0da..f231dc222 100644 --- a/lib/resource-1.0/romance/CatRomance.gf +++ b/lib/resource-1.0/romance/CatRomance.gf @@ -73,9 +73,10 @@ incomplete concrete CatRomance of Cat = -- Open lexical classes, e.g. Basic - V, VS, VQ, VA = Verb ; + V, VQ, VA = Verb ; V2, VV, V2A = Verb ** {c2 : Compl} ; V3 = Verb ** {c2,c3 : Compl} ; + VS = Verb ** {m : Polarity => Mood} ; A = {s : Degree => AForm => Str ; isPre : Bool} ; A2 = {s : Degree => AForm => Str ; c2 : Compl} ; diff --git a/lib/resource-1.0/romance/CommonRomance.gf b/lib/resource-1.0/romance/CommonRomance.gf index 1b997ad08..c936640a9 100644 --- a/lib/resource-1.0/romance/CommonRomance.gf +++ b/lib/resource-1.0/romance/CommonRomance.gf @@ -35,7 +35,7 @@ resource CommonRomance = ParamRomance ** open Prelude in { clit1 : Agr => Str ; -- se clit2 : Str ; -- lui comp : Agr => Str ; -- content(e) ; ā ma mčre ; hier - ext : Str ; -- que je dors + ext : Polarity => Str ; -- que je dors / que je dorme } ; appVPAgr : VPAgr -> AAgr -> AAgr = \vp,agr -> diff --git a/lib/resource-1.0/romance/DiffRomance.gf b/lib/resource-1.0/romance/DiffRomance.gf index 883d3f8ff..eae99c145 100644 --- a/lib/resource-1.0/romance/DiffRomance.gf +++ b/lib/resource-1.0/romance/DiffRomance.gf @@ -38,6 +38,8 @@ oper relPron : Bool => AAgr => Case => Str ; pronSuch : AAgr => Str ; + partQIndir : Str ; -- ce, ciÃ˛ + -- These needed above. param diff --git a/lib/resource-1.0/romance/PhraseRomance.gf b/lib/resource-1.0/romance/PhraseRomance.gf index 71395768b..78df4ae9b 100644 --- a/lib/resource-1.0/romance/PhraseRomance.gf +++ b/lib/resource-1.0/romance/PhraseRomance.gf @@ -12,7 +12,7 @@ incomplete concrete PhraseRomance of Phrase = UttIP ip = {s = ip.s ! Nom} ; --- Acc also UttIAdv iadv = iadv ; UttNP np = {s = np.s ! Ton Nom} ; ----- UttVP vp = {s = infVP vp (agrP3 Utr Sg)} ; + UttVP vp = {s = infVP vp (agrP3 Fem Sg)} ; --- Agr UttAdv adv = adv ; NoPConj = {s = []} ; diff --git a/lib/resource-1.0/romance/QuestionRomance.gf b/lib/resource-1.0/romance/QuestionRomance.gf index 36f2b5f41..31c734d91 100644 --- a/lib/resource-1.0/romance/QuestionRomance.gf +++ b/lib/resource-1.0/romance/QuestionRomance.gf @@ -21,27 +21,24 @@ incomplete concrete QuestionRomance of Question = in cl.s ! t ! a ! b ! Indic } ; -{- + QuestSlash ip slash = { s = \\t,a,p => let - cls = slash.s ! t ! a ! p ; - who = slash.c2 ++ ip.s ! accusative --- stranding in ExtRomance + cls = slash.s ! t ! a ! p ! Indic ; + who = slash.c2.s ++ ip.s ! slash.c2.c in table { - QDir => who ++ cls ! Inv ; - QIndir => who ++ cls ! Sub + QDir => who ++ cls ; + QIndir => partQIndir ++ who ++ cls } } ; QuestIAdv iadv cl = { - s = \\t,a,p => + s = \\t,a,p,_ => let - cls = cl.s ! t ! a ! p ; + cls = cl.s ! t ! a ! p ! Indic ; why = iadv.s - in table { - QDir => why ++ cls ! Inv ; - QIndir => why ++ cls ! Sub - } + in why ++ cls } ; PrepIP p ip = { @@ -50,13 +47,17 @@ incomplete concrete QuestionRomance of Question = AdvIP ip adv = { s = \\c => ip.s ! c ++ adv.s ; - gn = ip.gn + a = ip.a } ; - IDetCN idet num ord cn = let g = cn.g in { - s = \\c => - idet.s ! g ++ num.s ! g ++ ord.s ++ cn.s ! idet.n ! idet.det ! caseNP c ; - gn = gennum g idet.n + IDetCN idet num ord cn = + let + g = cn.g ; + n = idet.n ; + a = aagr g n + in { + s = \\c => idet.s ! g ! c ++ num.s ! g ++ ord.s ! a ++ cn.s ! n ; + a = a } ; --} + } diff --git a/lib/resource-1.0/romance/RelativeRomance.gf b/lib/resource-1.0/romance/RelativeRomance.gf index 6cec34d2f..355e11628 100644 --- a/lib/resource-1.0/romance/RelativeRomance.gf +++ b/lib/resource-1.0/romance/RelativeRomance.gf @@ -20,12 +20,11 @@ incomplete concrete RelativeRomance of Relative = in cl.s ! t ! ant ! b ! m } ; -{- + RelSlash rp slash = { - s = \\t,a,p,ag => - rp.s ! ag.gn ! RNom ++ slash.s ! t ! a ! p ! Sub ++ slash.c2 + s = \\t,a,p,m,ag => + slash.c2.s ++ rp.s ! False ! ag ! slash.c2.c ++ slash.s ! t ! a ! p ! m } ; --} FunRP p np rp = { s = \\_,a,c => np.s ! Ton Nom ++ p.s ++ rp.s ! True ! a ! p.c ; @@ -36,7 +35,4 @@ incomplete concrete RelativeRomance of Relative = a = RNoAg } ; --- RCl = {s : Tense => Anteriority => Polarity => Mood => Agr => Str} ; --- RP = {s : AAgr => RelForm => Str ; a : RAgr} ; - } diff --git a/lib/resource-1.0/romance/ResRomance.gf b/lib/resource-1.0/romance/ResRomance.gf index 118aafe8d..aacf2f01e 100644 --- a/lib/resource-1.0/romance/ResRomance.gf +++ b/lib/resource-1.0/romance/ResRomance.gf @@ -78,7 +78,7 @@ oper clit1 = \\a => [] ; ---- clit2 = [] ; comp = \\a => [] ; - ext = [] ; + ext = \\p => [] } ; insertObject : Compl -> Pronoun -> VP -> VP = \c,np,vp -> @@ -121,6 +121,15 @@ oper comp = \\a => vp.comp ! a ++ co ; ext = vp.ext ; } ; + insertExtrapos : (Polarity => Str) -> VP -> VP = \co,vp -> { + s = vp.s ; + agr = vp.agr ; + clit1 = vp.clit1 ; + clit2 = vp.clit2 ; + neg = vp.neg ; + comp = vp.comp ; + ext = \\p => vp.ext ! p ++ co ! p ; + } ; mkClause : Str -> Agr -> VP -> {s : Tense => Anteriority => Polarity => Mood => Str} = @@ -138,7 +147,7 @@ oper inf = vps.inf ! (appVPAgr vp.agr (aagr agr.g agr.n)) ; --- subtype bug neg = vp.neg ! b ; clit = vp.clit1 ! agr ++ vp.clit2 ; - compl = vp.comp ! agr ++ vp.ext + compl = vp.comp ! agr ++ vp.ext ! b in subj ++ neg.p1 ++ clit ++ verb ++ neg.p2 ++ inf ++ compl } ; diff --git a/lib/resource-1.0/romance/SentenceRomance.gf b/lib/resource-1.0/romance/SentenceRomance.gf index 3afb53447..103cbc8ec 100644 --- a/lib/resource-1.0/romance/SentenceRomance.gf +++ b/lib/resource-1.0/romance/SentenceRomance.gf @@ -1,12 +1,12 @@ incomplete concrete SentenceRomance of Sentence = - CatRomance ** open CommonRomance, ResRomance in { + CatRomance ** open Prelude, CommonRomance, ResRomance in { flags optimize=all_subs ; lin PredVP np vp = mkClause (np.s ! Aton Nom) np.a vp ; --- PredSCVP sc vp = mkClause sc.s (agrP3 neutrum Sg) vp ; + PredSCVP sc vp = mkClause sc.s (agrP3 Masc Sg) vp ; ImpVP vp = { s = \\pol,aag => @@ -14,30 +14,30 @@ incomplete concrete SentenceRomance of Sentence = agr = aag ** {p = P2} ; verb = (vp.s ! VPImperat).fin ! agr in - verb ++ vp.comp ! agr ++ vp.ext --- neg,clit - } ; -{- + verb ++ vp.comp ! agr ++ vp.ext ! pol ---- neg,clit + } ; + SlashV2 np v2 = mkClause - (np.s ! nominative) np.a + (np.s ! Aton Nom) np.a (predV v2) ** {c2 = v2.c2} ; SlashVVV2 np vv v2 = mkClause - (np.s ! nominative) np.a - (insertObj (\\_ => vv.c2 ++ infVP (predV v2) np.a) (predV vv)) ** + (np.s ! Aton Nom) np.a + (insertComplement (\\a => prepCase vv.c2.c ++ v2.s ! VInfin) (predV v2)) ** {c2 = v2.c2} ; AdvSlash slash adv = { - s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ; + s = \\t,a,b,m => slash.s ! t ! a ! b ! m ++ adv.s ; c2 = slash.c2 - } ; + } ; - SlashPrep cl prep = cl ** {c2 = prep.s} ; + SlashPrep cl prep = cl ** {c2 = {s = prep.s ; c = prep.c ; isDir = False}} ; - EmbedS s = {s = conjThat ++ s.s ! Sub} ; + EmbedS s = {s = conjThat ++ s.s ! Indic} ; --- mood EmbedQS qs = {s = qs.s ! QIndir} ; - EmbedVP vp = {s = infVP vp (agrP3 utrum Sg)} ; --- agr --} + EmbedVP vp = {s = infVP vp (agrP3 Masc Sg)} ; --- agr + } diff --git a/lib/resource-1.0/romance/TensedRomance.gf b/lib/resource-1.0/romance/TensedRomance.gf index 2a9c86296..b12025892 100644 --- a/lib/resource-1.0/romance/TensedRomance.gf +++ b/lib/resource-1.0/romance/TensedRomance.gf @@ -6,6 +6,7 @@ incomplete concrete TensedRomance of Tensed = CatRomance, TenseX ** lin UseCl t a p cl = {s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! o} ; UseQCl t a p cl = {s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q} ; --- UseRCl t a p cl = {s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r} ; + UseRCl t a p cl = + {s = \\r,ag => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r ! ag} ; } diff --git a/lib/resource-1.0/romance/VerbRomance.gf b/lib/resource-1.0/romance/VerbRomance.gf index e03ca9682..60d04434d 100644 --- a/lib/resource-1.0/romance/VerbRomance.gf +++ b/lib/resource-1.0/romance/VerbRomance.gf @@ -12,17 +12,15 @@ incomplete concrete VerbRomance of Verb = ComplVV v vp = insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ; -{- - ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ; - ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ; + ComplVS v s = insertExtrapos (\\b => conjThat ++ s.s ! (v.m ! b)) (predV v) ; + ComplVQ v q = insertExtrapos (\\_ => q.s ! QIndir) (predV v) ; - ComplVA v ap = - insertObj (\\a => ap.s ! agrAdj a.gn DIndef) (predV v) ; + ComplVA v ap = + insertComplement (\\a => ap.s ! AF a.g a.n) (predV v) ; ComplV2A v np ap = - insertAdv - (ap.s ! agrAdj np.a.gn DIndef) - (insertObj (\\_ => v.c2 ++ np.s ! accusative) (predV v)) ; --} + insertComplement + (\\a => ap.s ! AF np.a.g np.a.n) + (insertObject v.c2 np (predV v)) ; UseComp comp = insertComplement comp.s (predV copula) ; @@ -40,8 +38,8 @@ incomplete concrete VerbRomance of Verb = insertObj (\\a => v.s ! VI (VPtPret (agrAdj a.gn DIndef) Nom)) (predV verbBecome) ; - - UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; vtype = vv.vtype} ; -} + UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ; + }