mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-12 14:29:31 -06:00
43 lines
1.7 KiB
Plaintext
43 lines
1.7 KiB
Plaintext
concrete PredSwe of Pred =
|
|
CatSwe [Ant,NP,Utt,IP,IAdv,IComp,Conj,RP,RS,Imp,Subj] **
|
|
PredFunctor - [RelVP,RelSlash] ---- incompatible arity: to be fixed in RGL
|
|
with
|
|
(PredInterface = PredInstanceSwe)
|
|
|
|
** open ResSwe, CommonScand in {
|
|
|
|
lin
|
|
RelVP rp vp =
|
|
let
|
|
cl : Agr -> RCase -> PrClause = \a,c ->
|
|
let rpa = rpagr2agr rp.a a in
|
|
|
|
vp ** {
|
|
v = applyVerb vp (agr2vagr rpa) ;
|
|
subj = rp.s ! a.g ! a.n ! subjRPCase a ;
|
|
adj = vp.adj ! rpa ;
|
|
obj1 = vp.part ++ strComplCase vp.c1 ++ vp.obj1.p1 ! rpa ; ---- apply complCase ---- place of part depends on obj
|
|
obj2 = strComplCase vp.c2 ++ vp.obj2.p1 ! (case vp.obj2.p2 of {True => rpa ; False => vp.obj1.p2}) ; ---- apply complCase
|
|
c3 = noComplCase ; -- for one more prep to build ClSlash
|
|
}
|
|
in {s = \\a,c => declCl (cl a c) ; c = subjCase} ;
|
|
|
|
RelSlash rp cl = {
|
|
s = \\a,c => rp.s ! a.g ! a.n ! subjRPCase (rpagr2agr rp.a a) ++ declCl cl ; ---- rp case
|
|
c = objCase
|
|
} ;
|
|
|
|
NomVPNP vpi = {
|
|
s = \\c => "att" ++ vpi.s ! vvInfinitive ! defaultAgr ;
|
|
a = defaultAgr ** {g = Neutr} ;
|
|
} ;
|
|
|
|
ByVP x vp vpi = vp ** {adv = "genom att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr
|
|
WhenVP x vp vpi = vp ** {adv = "vid att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr ----
|
|
BeforeVP x vp vpi = vp ** {adv = "innan att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr ----
|
|
AfterVP x vp vpi = vp ** {adv = "efter att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr
|
|
InOrderVP x vp vpi = vp ** {adv = "för att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr
|
|
WithoutVP x vp vpi = vp ** {adv = "utan att" ++ vpi.s ! vvInfinitive ! defaultAgr} ; ---- agr
|
|
|
|
}
|