Files
gf-rgl/src/macedonian/SentenceMkd.gf
Krasimir Angelov 6203aee170 fix EmbedVP
2026-04-13 10:29:37 +02:00

32 lines
1.6 KiB
Plaintext

concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
lin AdvImp a i = {s = \\p,gn => a.s ++ i.s ! p ! gn} ;
lin AdvS a s = {s = a.s ++ s.s} ;
lin AdvSlash c a = {s = c.s ++ a.s} ;
lin EmbedQS qs = {s = qs.s} ;
lin EmbedS s = {s = s.s} ;
lin EmbedVP vp = {s = "да" ++ vp.present ! Perfective ! Sg ! P3 ++ vp.compl ! {g=GSg Masc; p=P3}} ;
lin ExtAdvS a s = {s = a.s ++ s.s} ;
lin ImpVP vp = {
s = \\p,gn=>case p of {
Pos => vp.imperative ! Perfective ! genNum2num gn ;
Neg => "не" ++ vp.imperative ! Imperfective ! genNum2num gn
} ++
vp.compl ! {g=gn; p=P2}
} ;
lin PredSCVP sc vp = {s = \\t,a,p,o => sc.s
++ vp.present ! Imperfective ! Sg ! P1} ;
lin PredVP np vp = {s = mkClause (np.s ! RSubj) np.a vp} ;
lin RelS s rs = {s = s.s ++ rs.s ! GSg Masc} ;
lin SSubjS s s2 s3 = {s = s.s ++ s2.s ++ s3.s} ;
lin SlashPrep cl p = {s = cl.s ! Main ! VPresent ! Simul ! Pos
++ p.s} ;
lin SlashVP np v = {s = np.s ! RSubj
++ v.present ! Imperfective ! Sg ! np.a.p} ;
lin SlashVS np vs s = {s = np.s ! RSubj
++ vs.present ! Imperfective ! Sg ! np.a.p ++ s.s} ;
lin UseCl t p cl = {s = t.s ++ p.s ++ cl.s ! Main ! t.t ! t.a ! p.p} ;
lin UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ;
lin UseRCl t p cl = {s = \\gn => t.s ++ p.s ++ cl.s ! gn ! t.t ! t.a ! p.p} ;
lin UseSlash t p c = {s = t.s ++ p.s ++ c.s} ;
}