mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
word order in Ger CompCN and CompNP: RS in ext part, adv before it; agr for CompCN todo
This commit is contained in:
@@ -40,7 +40,7 @@ concrete CatGer of Cat =
|
|||||||
|
|
||||||
VP = ResGer.VP ;
|
VP = ResGer.VP ;
|
||||||
VPSlash = ResGer.VPSlash ;
|
VPSlash = ResGer.VPSlash ;
|
||||||
Comp = {s : Agr => Str ; ext : Str} ;
|
Comp = {s : Agr => Str ; ext : Number => Str} ;
|
||||||
|
|
||||||
-- Adjective (HL 7/23: we need c : Agr => Str * Str to handle reflexive objects, cf ReflA2)
|
-- Adjective (HL 7/23: we need c : Agr => Str * Str to handle reflexive objects, cf ReflA2)
|
||||||
|
|
||||||
|
|||||||
@@ -103,27 +103,27 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in {
|
|||||||
insertObj' obj b w c vps ;
|
insertObj' obj b w c vps ;
|
||||||
|
|
||||||
UseComp comp =
|
UseComp comp =
|
||||||
insertExtrapos comp.ext (insertObj comp.s (predV sein_V)) ; -- agr not used
|
insertExtrapos (comp.ext ! Sg) (insertObj comp.s (predV sein_V)) ; -- agr not used ---- TODO: comp.ext depends on number if CompCN
|
||||||
-- SS: adj slot not used here for e.g. "ich bin alt" but same behaviour as NPs?
|
-- SS: adj slot not used here for e.g. "ich bin alt" but same behaviour as NPs?
|
||||||
-- "ich bin nicht alt" "ich bin nicht Doris"
|
-- "ich bin nicht alt" "ich bin nicht Doris"
|
||||||
|
|
||||||
UseCopula = predV sein_V ;
|
UseCopula = predV sein_V ;
|
||||||
|
|
||||||
CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = ap.s2 ! Nom ++ ap.ext} ;
|
CompAP ap = {s = \\_ => ap.c.p1 ++ ap.s ! APred ++ ap.c.p2 ; ext = \\_ => ap.s2 ! Nom ++ ap.ext} ;
|
||||||
CompNP np = {s = \\_ => np.s ! False ! Nom ++ np.rc ; ext = np.ext} ;
|
CompNP np = {s = \\_ => np.s ! False ! Nom ; ext = \\_ => np.rc ++ np.ext} ;
|
||||||
CompAdv a = {s = \\_ => a.s ; ext = []} ;
|
CompAdv a = {s = \\_ => a.s ; ext = \\_ => []} ;
|
||||||
|
|
||||||
CompCN cn = {
|
CompCN cn = {
|
||||||
s = let
|
s = let
|
||||||
sg : Str = "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.rc ! Sg ; ---
|
sg : Str = "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.adv ; ---
|
||||||
pl : Str = cn.s ! Strong ! Pl ! Nom ++ cn.rc ! Pl
|
pl : Str = cn.s ! Strong ! Pl ! Nom ++ cn.adv
|
||||||
in table {
|
in table {
|
||||||
AgPlPol => sg ;
|
AgPlPol => sg ;
|
||||||
a => case numberAgr a of {
|
a => case numberAgr a of {
|
||||||
Sg => sg ;
|
Sg => sg ;
|
||||||
Pl => pl }
|
Pl => pl }
|
||||||
} ;
|
} ;
|
||||||
ext = cn.adv ++ cn.ext
|
ext = \\n => cn.rc ! n ++ cn.ext
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvVP vp adv = insertAdv adv.s vp ;
|
AdvVP vp adv = insertAdv adv.s vp ;
|
||||||
|
|||||||
Reference in New Issue
Block a user