forked from GitHub/gf-rgl
first draft of Ukrainian grammar
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
concrete SentenceUkr of Sentence = CatUkr ** open ResUkr, (R = ParamX) in {
|
||||
|
||||
lin
|
||||
PredVP np vp = {
|
||||
s = \\t,pol => np.s ! Nom ++ vp.s ! t ! pol ! np.g ! np.n ! np.p
|
||||
} ;
|
||||
PredSCVP sc vp = {
|
||||
s = \\t,pol => sc.s ++ vp.s ! t ! pol ! Masc ! Sg ! P3
|
||||
} ;
|
||||
|
||||
SlashVP np slash = {
|
||||
s = \\t,pol => np.s ! Nom ++ slash.s ! t ! pol ! np.g ! np.n ! np.p ++ slash.post ;
|
||||
c = slash.c
|
||||
} ;
|
||||
AdvSlash cls adv = cls ** {
|
||||
s = \\t,pol => cls.s ! t ! pol ++ adv.s
|
||||
} ;
|
||||
SlashPrep cl prep = {
|
||||
s = cl.s ;
|
||||
c = prep
|
||||
} ;
|
||||
SlashVS np vs sslash = {
|
||||
s = \\t,pol => np.s ! Nom ++ finiteVerb vs t pol np.g np.n np.p ++ sslash.s ;
|
||||
c = sslash.c
|
||||
} ;
|
||||
|
||||
ImpVP vp = {s = vp.imp} ;
|
||||
AdvImp adv imp = {
|
||||
s = \\pol,n => adv.s ++ imp.s ! pol ! n
|
||||
} ;
|
||||
|
||||
EmbedS s = {s = "що" ++ s.s} ;
|
||||
EmbedQS qs = {s = qs.s} ;
|
||||
EmbedVP vp = {s = vp.inf} ;
|
||||
|
||||
UseCl temp pol cl = {
|
||||
s = temp.s ++ pol.s ++ cl.s ! temp.t ! pol.p
|
||||
} ;
|
||||
UseQCl temp pol qcl = {
|
||||
s = temp.s ++ pol.s ++ qcl.s ! temp.t ! pol.p
|
||||
} ;
|
||||
UseRCl temp pol rcl = {
|
||||
s = \\g,n => temp.s ++ pol.s ++ rcl.s ! g ! n
|
||||
} ;
|
||||
UseSlash temp pol cls = {
|
||||
s = temp.s ++ pol.s ++ cls.s ! temp.t ! pol.p ;
|
||||
c = cls.c
|
||||
} ;
|
||||
|
||||
AdvS adv s = {s = adv.s ++ s.s} ;
|
||||
ExtAdvS adv s = {s = adv.s ++ "," ++ s.s} ;
|
||||
SSubjS s1 subj s2 = {s = s1.s ++ subj.s ++ s2.s} ;
|
||||
RelS s rs = {s = s.s ++ "," ++ rs.s ! Masc ! Sg} ;
|
||||
}
|
||||
Reference in New Issue
Block a user