mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-30 02:18:55 -06:00
64 lines
2.1 KiB
Plaintext
64 lines
2.1 KiB
Plaintext
concrete VerbCmn of Verb = CatCmn ** open ResCmn, Prelude in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lin
|
|
UseV = predV ;
|
|
|
|
SlashV2a v = predV v ** {c2 = v.c2 ; isPre = False} ;
|
|
|
|
Slash2V3 v np = insertAdv (mkNP (ba_s ++ np.s)) (predV v) ** {c2 = v.c3 ; isPre = False} ; -- slot for third argument
|
|
Slash3V3 v np = insertObj (mkNP (appPrep v.c3 np.s)) (predV v) ** {c2 = v.c2 ; isPre = True} ; -- slot for ba object
|
|
|
|
SlashV2A v ap = insertObj ap (predV v) ** {c2 = v.c2 ; isPre = True} ;
|
|
|
|
SlashV2V v vp = insertObj (mkNP (infVP vp)) (predV v) ** {c2 = v.c2 ; isPre = True} ;
|
|
SlashV2S v s = insertObj (ss (say_s ++ s.s)) (predV v) ** {c2 = v.c2 ; isPre = True} ;
|
|
SlashV2Q v q = insertObj (ss (say_s ++ q.s)) (predV v) ** {c2 = v.c2 ; isPre = True} ;
|
|
|
|
ComplVV v vp = {
|
|
verb = v ;
|
|
compl = vp.verb.s ++ vp.compl ;
|
|
prePart = vp.prePart
|
|
} ;
|
|
|
|
ComplVS v s = insertObj s (predV v) ;
|
|
ComplVQ v q = insertObj q (predV v) ;
|
|
ComplVA v ap = insertObj ap (predV v) ;
|
|
|
|
ComplSlash vp np = case vp.isPre of {
|
|
True => insertAdv (mkNP (ba_s ++ np.s)) vp ; --- ba or vp.c2 ?
|
|
False => insertObj (mkNP (appPrep vp.c2 np.s)) vp
|
|
} ;
|
|
|
|
UseComp comp = comp ;
|
|
|
|
SlashVV v vp = ---- too simple?
|
|
insertObj (mkNP (infVP vp)) (predV v) ** {c2 = vp.c2 ; isPre = vp.isPre} ;
|
|
|
|
SlashV2VNP v np vp =
|
|
insertObj np
|
|
(insertObj (mkNP (infVP vp)) (predV v)) ** {c2 = vp.c2 ; isPre = vp.isPre} ;
|
|
|
|
AdvVP vp adv = case adv.advType of {
|
|
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps well
|
|
_ => insertAdv (ss (zai_V.s ++ adv.s)) vp -- he sleeps in the house / today
|
|
} ;
|
|
|
|
AdVVP adv vp = insertAdv adv vp ;
|
|
|
|
ReflVP vp = insertObj (mkNP reflPron) vp ;
|
|
|
|
PassV2 v = insertObj (mkNP passive_s) (predV v) ; ----
|
|
|
|
CompAP ap = insertObj (mkNP (ap.s ++ possessive_s)) (predV copula) ; ---- hen / bu
|
|
|
|
CompNP np = insertObj np (predV copula) ; ----
|
|
|
|
CompCN cn = insertObj cn (predV copula) ; ----
|
|
|
|
CompAdv adv = insertObj adv (predV zai_V) ;
|
|
|
|
}
|
|
|