forked from GitHub/gf-rgl
70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
concrete ConjunctionBel of Conjunction = CatBel ** open ResBel, Prelude in {
|
|
|
|
lin
|
|
ConjS conj xs = {s = xs.s1 ++ conj.s ++ xs.s2} ;
|
|
ConjRS conj xs = {s = xs.s1 ++ conj.s ++ xs.s2} ;
|
|
ConjAP conj xs = {
|
|
s = \\c,gn => xs.s1 ! c ! gn ++ conj.s ++ xs.s2 ! c ! gn;
|
|
adv = xs.adv1 ++ conj.s ++ xs.adv2;
|
|
post = False
|
|
} ;
|
|
ConjNP conj xs = {
|
|
s = \\c => xs.s1 ! c ++ conj.s ++ xs.s2 ! c ;
|
|
a = {g=Masc; n=conj.n; p=P3}
|
|
} ;
|
|
ConjAdv conj xs = {s = xs.s1 ++ conj.s ++ xs.s2} ;
|
|
ConjAdV conj xs = {s = xs.s1 ++ conj.s ++ xs.s2} ;
|
|
ConjIAdv conj xs = {s = xs.s1 ++ conj.s ++ xs.s2} ;
|
|
ConjCN conj xs = {
|
|
s = \\c,n => xs.s1 ! c ! n ++ conj.s ++ xs.s2 ! c ! n ;
|
|
voc = xs.voc ;
|
|
g = xs.g
|
|
} ;
|
|
ConjDet conj xs = {
|
|
s = \\c,g => xs.s1 ! c ! g ++ conj.s ++ xs.s2 ! c ! g ;
|
|
n = conj.n
|
|
} ;
|
|
|
|
BaseS x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsS x xs = {s1 = x.s ++ "," ++ xs.s1; s2 = xs.s2} ;
|
|
BaseRS x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsRS x xs = {s1 = x.s ++ "," ++ xs.s1; s2 = xs.s2} ;
|
|
BaseAdv x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsAdv x xs = {s1 = x.s ++ "," ++ xs.s1; s2 = xs.s2} ;
|
|
BaseAdV x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsAdV x xs = {s1 = x.s ++ "," ++ xs.s1; s2 = xs.s2} ;
|
|
BaseIAdv x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsIAdv x xs = {s1 = x.s ++ "," ++ xs.s1; s2 = xs.s2} ;
|
|
BaseNP x y = {
|
|
s1 = x.s ;
|
|
s2 = y.s
|
|
} ;
|
|
ConsNP x xs = {
|
|
s1 = \\c => x.s ! c ++ "," ++ xs.s1 ! c ;
|
|
s2 = xs.s2
|
|
} ;
|
|
BaseAP x y = {s1 = x.s; s2 = y.s; adv1 = x.adv; adv2 = y.adv} ;
|
|
ConsAP x xs = {
|
|
s1 = \\c,gn => x.s ! c ! gn ++ "," ++ xs.s1 ! c ! gn;
|
|
s2 = xs.s2;
|
|
adv1 = x.adv ++ "," ++ xs.adv1;
|
|
adv2 = xs.adv2
|
|
} ;
|
|
BaseCN x y = {s1 = x.s; s2 = y.s; voc = x.voc ++ "," ++ y.voc; g = x.g} ;
|
|
ConsCN x xs = {s1 = \\c,n => x.s ! c ! n ++ "," ++ xs.s1 ! c ! n; s2 = xs.s2; voc = x.voc ++ "," ++ xs.voc; g = xs.g} ;
|
|
BaseDAP x y = {s1 = x.s; s2 = y.s} ;
|
|
ConsDAP x xs = {s1 = \\c,g => x.s ! c ! g ++ "," ++ xs.s1 ! c ! g; s2 = xs.s2} ;
|
|
|
|
lincat
|
|
[S] = {s1,s2 : Str} ;
|
|
[RS] = {s1,s2 : Str} ;
|
|
[Adv] = {s1,s2 : Str} ;
|
|
[AdV] = {s1,s2 : Str} ;
|
|
[IAdv] = {s1,s2 : Str} ;
|
|
[NP] = {s1,s2 : Case => Str} ;
|
|
[AP] = {s1,s2 : Case => GenNum => Str; adv1,adv2 : Str} ;
|
|
[CN] = {s1,s2 : Case => Number => Str; voc : Str; g : Gender} ;
|
|
[DAP] = {s1,s2 : Case => Gender => Str} ;
|
|
|
|
}
|