diff --git a/lib/src/bulgarian/ExtraBul.gf b/lib/src/bulgarian/ExtraBul.gf index 017af11dd..103b19748 100644 --- a/lib/src/bulgarian/ExtraBul.gf +++ b/lib/src/bulgarian/ExtraBul.gf @@ -22,6 +22,11 @@ concrete ExtraBul of ExtraBulAbs = CatBul ** spec = Indef } ; + EmptyRelSlash slash = { + s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main ; + role = RObj Acc + } ; + i8fem_Pron = mkPron "аз" "мен" "ми" "мой" "моя" "моят" "моя" "моята" "мое" "моето" "мои" "моите" (GSg Fem) P1 ; i8neut_Pron = mkPron "аз" "мен" "ми" "мой" "моя" "моят" "моя" "моята" "мое" "моето" "мои" "моите" (GSg Neut) P1 ; diff --git a/lib/src/german/ExtraGer.gf b/lib/src/german/ExtraGer.gf index f49f27e80..4fd6991da 100644 --- a/lib/src/german/ExtraGer.gf +++ b/lib/src/german/ExtraGer.gf @@ -47,6 +47,13 @@ concrete ExtraGer of ExtraGerAbs = CatGer ** isPron = False } ; + EmptyRelSlash slash = { + s = \\m,t,a,p,gn => + appPrep slash.c2 (\\k => usePrepC k (\c -> relPron ! gn ! c)) ++ + slash.s ! m ! t ! a ! p ! Sub ; + c = (prepC slash.c2.c).c + } ; + lincat VPS = {s : Order => Agr => Str} ; [VPS] = {s1,s2 : Order => Agr => Str} ; diff --git a/lib/src/german/ExtraGerAbs.gf b/lib/src/german/ExtraGerAbs.gf index 4cadeec42..713c4193d 100644 --- a/lib/src/german/ExtraGerAbs.gf +++ b/lib/src/german/ExtraGerAbs.gf @@ -1,6 +1,6 @@ abstract ExtraGerAbs = Extra [ - VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI, - VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS, + VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,ClSlash,RCl, + VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,EmptyRelSlash, Temp,Tense,Pol,S,NP,VV,VP,Conj,IAdv,IComp,ICompAP,IAdvAdv,Adv,AP] ** { fun diff --git a/lib/src/german/RelativeGer.gf b/lib/src/german/RelativeGer.gf index 80b473981..5ac41dbda 100644 --- a/lib/src/german/RelativeGer.gf +++ b/lib/src/german/RelativeGer.gf @@ -36,14 +36,4 @@ concrete RelativeGer of Relative = CatGer ** open ResGer in { IdRP = {s = relPron ; a = RNoAg} ; - oper - relPron : GenNum => Case => Str = \\gn,c => - case of { - => "deren" ; - => "dessen" ; - => "denen" ; - => "deren" ; - _ => artDef ! gn ! c - } ; - } diff --git a/lib/src/german/ResGer.gf b/lib/src/german/ResGer.gf index 9fc9ec722..1672986aa 100644 --- a/lib/src/german/ResGer.gf +++ b/lib/src/german/ResGer.gf @@ -749,4 +749,14 @@ resource ResGer = ParamX ** open Prelude in { {s : PCase => Str ; a : Agr} -> {s : PCase => Str ; a : Agr ; isPron : Bool} = \np -> np ** {isPron = False} ; + oper + relPron : GenNum => Case => Str = \\gn,c => + case of { + => "deren" ; + => "dessen" ; + => "denen" ; + => "deren" ; + _ => artDef ! gn ! c + } ; + }