scandinavian agreement to object

This commit is contained in:
aarne
2008-06-24 12:00:40 +00:00
parent 9945a5b08e
commit c122bc52d8
5 changed files with 51 additions and 25 deletions

View File

@@ -5,36 +5,49 @@ incomplete concrete VerbScand of Verb = CatScand ** open CommonScand, ResScand i
lin
UseV = predV ;
SlashV2a v = predV v ** {c2 = v.c2} ;
SlashV2a v = predV v ** {n3 = \\_ => [] ; c2 = v.c2} ;
Slash2V3 v np =
insertObj (\\_ => v.c2.s ++ np.s ! accusative) (predV v) ** {c2 = v.c3} ;
Slash3V3 v np =
insertObj (\\_ => v.c3.s ++ np.s ! accusative) (predV v) ** {c2 = v.c2} ;
insertObj (\\_ => v.c2.s ++ np.s ! accusative) (predV v) **
{n3 = \\_ => [] ; c2 = v.c3} ; -- to preserve the order of args
Slash3V3 v np = predV v ** {
n3 = \\_ => v.c3.s ++ np.s ! accusative ;
c2 = v.c2
} ;
ComplVV v vp = insertObj (\\a => v.c2.s ++ infVP vp a) (predV v) ;
ComplVS v s = insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ;
ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
ComplVA v ap = insertObj (\\a => ap.s ! agrAdj a.gn DIndef) (predV v) ;
SlashV2V v vp =
insertObj (\\a => v.c3.s ++ infVP vp a) (predV v) ** {c2 = v.c2} ;
SlashV2S v s =
insertObj (\\_ => conjThat ++ s.s ! Sub) (predV v) ** {c2 = v.c2} ;
SlashV2Q v q =
insertObj (\\_ => q.s ! QIndir) (predV v) ** {c2 = v.c2} ;
SlashV2A v ap =
insertObj
(\\a => ap.s ! agrAdj a.gn DIndef) (predV v) ** {c2 = v.c2} ; ---- agr to obj
SlashV2V v vp = predV v ** {
n3 = \\a => v.c3.s ++ infVP vp a ;
c2 = v.c2
} ;
SlashV2S v s = predV v ** {
n3 = \\_ => conjThat ++ s.s ! Sub ;
c2 = v.c2
} ;
SlashV2Q v q = predV v ** {
n3 = \\_ => q.s ! QIndir ;
c2 = v.c2
} ;
SlashV2A v ap = predV v ** {
n3 = \\a => ap.s ! agrAdj a.gn DIndef ;
c2 = v.c2
} ;
ComplSlash vp np = insertObj (\\_ => vp.c2.s ++ np.s ! accusative) vp ;
ComplSlash vp np =
insertObj
(\\_ => vp.c2.s ++ np.s ! accusative ++ vp.n3 ! np.a) vp ;
SlashVV v vp =
insertObj (\\a => v.c2.s ++ infVP vp a) (predV v) ** {c2 = vp.c2} ;
insertObj (\\a => v.c2.s ++ infVP vp a) (predV v) ** {n3 = vp.n3 ; c2 = vp.c2} ;
SlashV2VNP v np vp =
insertObj
(\\a => v.c2.s ++ np.s ! accusative ++ v.c3.s ++ infVP vp a) (predV v)
** {c2 = v.c2} ;
** {n3 = vp.n3 ; c2 = v.c2} ;
UseComp comp = insertObj (\\a => comp.s ! agrAdj a.gn DIndef) (predV verbBe) ;
@@ -46,7 +59,7 @@ incomplete concrete VerbScand of Verb = CatScand ** open CommonScand, ResScand i
AdVVP adv vp = insertAdV adv.s vp ;
ReflVP vp = insertObj (\\a => vp.c2.s ++ reflPron a) vp ;
ReflVP vp = insertObj (\\a => vp.c2.s ++ reflPron a ++ vp.n3 ! a) vp ;
PassV2 v =
insertObj