From ed4bf5c52fe2ca197d322288e0c631055fe390e2 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 13 Dec 2006 21:10:11 +0000 Subject: [PATCH] Spanish partitive; German VP conj zu --- lib/resource-1.0/finnish/ExtraFin.gf | 1 + lib/resource-1.0/finnish/ExtraFinAbs.gf | 1 + lib/resource-1.0/german/ExtraGer.gf | 17 +++++++++-------- lib/resource-1.0/german/PhraseGer.gf | 2 +- lib/resource-1.0/german/ResGer.gf | 4 ++-- lib/resource-1.0/german/SentenceGer.gf | 2 +- lib/resource-1.0/spanish/DiffSpa.gf | 4 ++++ 7 files changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/resource-1.0/finnish/ExtraFin.gf b/lib/resource-1.0/finnish/ExtraFin.gf index bf886005f..e6b95097d 100644 --- a/lib/resource-1.0/finnish/ExtraFin.gf +++ b/lib/resource-1.0/finnish/ExtraFin.gf @@ -42,4 +42,5 @@ concrete ExtraFin of ExtraFinAbs = CatFin ** open ResFin, MorphoFin, Coordinatio } ; vai_Conj = {s = "vai" ; n = Sg} ; + } diff --git a/lib/resource-1.0/finnish/ExtraFinAbs.gf b/lib/resource-1.0/finnish/ExtraFinAbs.gf index 29a95869e..356d9b7ea 100644 --- a/lib/resource-1.0/finnish/ExtraFinAbs.gf +++ b/lib/resource-1.0/finnish/ExtraFinAbs.gf @@ -10,4 +10,5 @@ abstract ExtraFinAbs = Extra [ vai_Conj : Conj ; -- minä vai sinä? ("or" in question) + vai_Conj : Conj ; } diff --git a/lib/resource-1.0/german/ExtraGer.gf b/lib/resource-1.0/german/ExtraGer.gf index 63a134c9f..d2c380b46 100644 --- a/lib/resource-1.0/german/ExtraGer.gf +++ b/lib/resource-1.0/german/ExtraGer.gf @@ -1,17 +1,18 @@ -concrete ExtraGer of ExtraGerAbs = CatGer ** open ResGer, Coordination in { +concrete ExtraGer of ExtraGerAbs = CatGer ** + open ResGer, Coordination, Prelude in { lincat - VPI = {s : Str} ; - [VPI] = {s1,s2 : Str} ; + VPI = {s : Bool => Str} ; + [VPI] = {s1,s2 : Bool => Str} ; lin - BaseVPI = twoSS ; - ConsVPI = consrSS comma ; + BaseVPI = twoTable Bool ; + ConsVPI = consrTable Bool comma ; - MkVPI vp = {s = useInfVP vp} ; ---- - ConjVPI = conjunctSS ; + MkVPI vp = {s = \\b => useInfVP b vp} ; + ConjVPI = conjunctTable Bool ; ComplVPIVV v vpi = - insertInf vpi.s ( + insertInf (vpi.s ! v.isAux) ( predVGen v.isAux v) ; ---- {- insertExtrapos vpi.p3 ( diff --git a/lib/resource-1.0/german/PhraseGer.gf b/lib/resource-1.0/german/PhraseGer.gf index e2c72a398..73ef4f7d0 100644 --- a/lib/resource-1.0/german/PhraseGer.gf +++ b/lib/resource-1.0/german/PhraseGer.gf @@ -14,7 +14,7 @@ concrete PhraseGer of Phrase = CatGer ** open Prelude, ResGer in { UttIP ip = {s = ip.s ! Nom} ; --- Acc also UttIAdv iadv = iadv ; UttNP np = {s = np.s ! Acc} ; - UttVP vp = {s = useInfVP vp} ; + UttVP vp = {s = useInfVP False vp} ; UttAdv adv = adv ; NoPConj = {s = []} ; diff --git a/lib/resource-1.0/german/ResGer.gf b/lib/resource-1.0/german/ResGer.gf index 211d8ffb8..27f90606e 100644 --- a/lib/resource-1.0/german/ResGer.gf +++ b/lib/resource-1.0/german/ResGer.gf @@ -530,8 +530,8 @@ resource ResGer = ParamX ** open Prelude in { vp.inf ++ vp.ext > ; - useInfVP : VP -> Str = \vp -> - let vpi = infVP False vp in + useInfVP : Bool -> VP -> Str = \isAux,vp -> + let vpi = infVP isAux vp in vpi.p1 ! agrP3 Sg ++ vpi.p3 ++ vpi.p2 ; -- The nominative case is not used as reflexive, but defined here diff --git a/lib/resource-1.0/german/SentenceGer.gf b/lib/resource-1.0/german/SentenceGer.gf index c1a1caf90..eba8f58a5 100644 --- a/lib/resource-1.0/german/SentenceGer.gf +++ b/lib/resource-1.0/german/SentenceGer.gf @@ -40,7 +40,7 @@ concrete SentenceGer of Sentence = CatGer ** open ResGer, Prelude in { EmbedS s = {s = conjThat ++ s.s ! Sub} ; EmbedQS qs = {s = qs.s ! QIndir} ; - EmbedVP vp = {s = useInfVP vp} ; + EmbedVP vp = {s = useInfVP False vp} ; 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} ; diff --git a/lib/resource-1.0/spanish/DiffSpa.gf b/lib/resource-1.0/spanish/DiffSpa.gf index 5d16c18c2..ee95281d1 100644 --- a/lib/resource-1.0/spanish/DiffSpa.gf +++ b/lib/resource-1.0/spanish/DiffSpa.gf @@ -38,10 +38,14 @@ instance DiffSpa of DiffRomance = open CommonRomance, PhonoSpa, BeschSpa, Prelud possCase = \_,_,c -> prepCase c ; + partitive = \_,c -> prepCase c ; + +{- partitive = \g,c -> case c of { CPrep P_de => "de" ; _ => prepCase c ++ artDef g Sg (CPrep P_de) } ; +-} conjunctCase : NPForm -> NPForm = \c -> case c of { Ton Nom | Aton Nom => Ton Nom ;