Files
gf-rgl/src/chinese/ExtraChi.gf
Inari Listenmaa ed61647f86 (Chi) Fix word order in RelNP
All the other changes are those needed due to changes in lincat of NP.
2023-05-25 11:27:37 +02:00

62 lines
1.9 KiB
Plaintext

concrete ExtraChi of ExtraChiAbs = CatChi **
open ResChi, Coordination, (S = StructuralChi), Prelude in {
flags coding = utf8 ;
lincat
VPS = {s : Str} ;
[VPS] = {s1,s2 : Str} ;
VPI = {s : Str} ; --- ???
[VPI] = {s1,s2 : Str} ; --- ???
lin
PassVPSlash vps = insertAdv (mkNP passive_s) vps ;
PassAgentVPSlash vps np = insertAdv (ss (appPrep S.by8agent_Prep (linNP np))) (insertAdv (mkNP passive_s) vps) ;
MkVPS t p vp = {s = t.s ++ p.s ++ (mkClause [] vp).s ! p.p ! t.t} ;
ConjVPS c = conjunctDistrSS (c.s ! CSent) ;
BaseVPS = twoSS ;
ConsVPS = consrSS duncomma ;
PredVPS np vps = {preJiu = (linNP np) ; postJiu = vps.s} ;
MkVPI vp = {s = (mkClause [] vp).s ! Pos ! APlain} ; --- ?? almost just a copy of VPS
ConjVPI c = conjunctDistrSS (c.s ! CSent) ;
BaseVPI = twoSS ;
ConsVPI = consrSS duncomma ;
GenNP np = {s,pl = linNP np ++ possessive_s ; detType = DTPoss} ;
GenRP nu cn = {s = \\_ => cn.s ++ relative_s} ; ---- ??
-----------------------
-- Chinese-only extras
lincat
Aspect = {s : Str ; a : ResChi.Aspect} ;
lin
CompBareAP ap = case ap.hasAdA of {
True => insertObj (mkNP (ap.s!Pred)) (predV nocopula []) ;
False => insertObj (mkNP (ap.s!Pred)) (predV hen_copula [])
} ;
QuestRepV cl = {
s = \\_,p,a => ---- also for indirect questions?
let
v = cl.vp.verb ;
verb = case a of {
APlain => v.s ++ v.neg ++ v.sn ;
APerf => v.s ++ "不" ++ v.sn ++ v.pp ;
ADurStat => v.s ++ "不" ++ v.sn ;
ADurProg => v.s ++ v.neg ++ v.dp ++ v.sn ; -- mei or bu
AExper => v.s ++ v.neg ++ v.sn ++ v.ep ;
AFut => jiu_s ++ v.s ++ v.neg ++ v.sn ++ v.ep -- TODO check placement of jiang
}
in
cl.np ++ cl.vp.prePart ++ verb ++ cl.vp.compl
} ;
TopicAdvVP vp adv = insertTopic adv vp ;
}