mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-15 15:59:32 -06:00
43 lines
1.7 KiB
Plaintext
43 lines
1.7 KiB
Plaintext
concrete LiftEng of Lift =
|
|
RGLBaseEng - [Pol,Tense]
|
|
,PredEng
|
|
|
|
** open ResEng, PredInstanceEng, Prelude, (Pr = PredEng) in {
|
|
|
|
--flags literal=Symb ;
|
|
|
|
oper
|
|
liftV : ResEng.Verb -> Pr.PrV = \v -> lin PrV {s = v.s ; p = v.p ; c1,c2 = [] ; isSubjectControl = False ; vtype = VTAct ; vvtype = VVInf} ;
|
|
|
|
lin
|
|
LiftV v = liftV v ;
|
|
LiftV2 v = liftV v ** {c1 = v.c2} ;
|
|
LiftVS v = liftV v ;
|
|
LiftVQ v = liftV v ;
|
|
LiftVA v = liftV v ; ---- c1?
|
|
LiftVN v = liftV v ; ---- c1?
|
|
LiftVV v = {s = \\f => v.s ! VVF f ; p = v.p ; c1,c2 = [] ; isSubjectControl = False ;
|
|
vtype = case v.typ of {VAux => VTAux ; _ => VTAct} ; vvtype = v.typ} ; ---- c1? ---- VVF
|
|
|
|
LiftV3 v = liftV v ** {c1 = v.c2 ; c2 = v.c3} ;
|
|
LiftV2S v = liftV v ** {c1 = v.c2} ;
|
|
LiftV2Q v = liftV v ** {c1 = v.c2} ;
|
|
LiftV2V v = liftV v ** {c1 = v.c2 ; c2 = v.c3 ; isSubjectControl = False ; vvtype = v.typ} ; ---- subj control should be defined in V2V
|
|
LiftV2A v = liftV v ** {c1 = v.c2} ;
|
|
LiftV2N v = liftV v ** {c1 = v.c2} ;
|
|
|
|
|
|
LiftAP ap = {s = \\a => ap.s ! a ; c1,c2 = [] ; obj1 = \\_ => []} ; --- isPre
|
|
LiftA2 a = {s = \\_ => a.s ! AAdj Posit Nom ; c1 = a.c2 ; c2 = [] ; obj1 = \\_ => []} ; --- isPre
|
|
LiftCN cn = {s = \\n => cn.s ! n ! Nom ; c1,c2 = [] ; obj1 = \\_ => []} ;
|
|
LiftN2 cn = {s = \\n => cn.s ! n ! Nom ; c1 = cn.c2 ; c2 = [] ; obj1 = \\_ => []} ;
|
|
|
|
AppAPCN ap cn = {s = \\n,c => cn.s ! n ! c ++ ap.s ! agrgP3 n cn.g ++ ap.obj1 ! agrgP3 n cn.g ; g = cn.g}
|
|
| {s = \\n,c => ap.s ! agrgP3 n cn.g ++ ap.obj1 ! agrgP3 n cn.g ++ cn.s ! n ! c ; g = cn.g} ; ---- isPre
|
|
|
|
LiftAdv a = a ** {isAdV = False ; c1 = []} ;
|
|
LiftAdV a = a ** {isAdV = True ; c1 = []} ;
|
|
LiftPrep p = {s = [] ; isAdV = False ; c1 = p.s} ;
|
|
|
|
}
|