diff options
Diffstat (limited to 'old-lib/resource/bulgarian/ConjunctionBul.gf')
| -rw-r--r-- | old-lib/resource/bulgarian/ConjunctionBul.gf | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/old-lib/resource/bulgarian/ConjunctionBul.gf b/old-lib/resource/bulgarian/ConjunctionBul.gf new file mode 100644 index 000000000..23664cd1f --- /dev/null +++ b/old-lib/resource/bulgarian/ConjunctionBul.gf @@ -0,0 +1,56 @@ +concrete ConjunctionBul of Conjunction = + CatBul ** open ResBul, Coordination, Prelude in { + flags coding=cp1251 ; + + + flags optimize=all_subs ; + + lin + ConjS conj ss = { + s = (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj; + } ; + + ConjAdv conj ss = { + s = (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj; + } ; + + ConjNP conj ss = { + s = \\role => (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj!role; + a = {gn = conjGenNum (gennum DMasc conj.n) ss.a.gn; p = ss.a.p} + } ; + + ConjAP conj ss = { + s = \\aform => (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj!aform; + adv = (linCoordSep [])!conj.distr!conj.conj++ss.adv!conj.distr!conj.conj; + isPre = ss.isPre + } ; + +-- These fun's are generated from the list cat's. + BaseS x y = {s = \\d,t=>x.s++linCoord!t++ y.s} ; + ConsS x xs = {s = \\d,t=>x.s++(linCoordSep comma)!d!t++xs.s!d!t} ; + + BaseAdv x y = {s = \\d,t=>x.s++linCoord!t++ y.s} ; + ConsAdv x xs = {s = \\d,t=>x.s++(linCoordSep comma)!d!t++xs.s!d!t} ; + + BaseNP x y = + {s = \\d,t,role=>x.s!role++linCoord!t++y.s!role; + a = conjAgr x.a y.a} ; + ConsNP x xs = + {s = \\d,t,role=>x.s!role++(linCoordSep comma)!d!t++xs.s!d!t!role; + a = conjAgr xs.a x.a} ; + + BaseAP x y = + {s = \\d,t,aform=>x.s!aform++linCoord!t++y.s!aform; + adv= \\d,t =>x.adv ++linCoord!t++y.adv; + isPre = andB x.isPre y.isPre} ; + ConsAP x xs = + {s = \\d,t,aform=>x.s!aform++(linCoordSep comma)!d!t++xs.s!d!t!aform; + adv= \\d,t =>x.adv ++(linCoordSep comma)!d!t++xs.adv!d!t; + isPre = andB x.isPre xs.isPre} ; + + lincat + [S] = {s : Bool => Bool => Str} ; + [Adv] = {s : Bool => Bool => Str} ; + [NP] = {s : Bool => Bool => Role => Str; a : Agr} ; + [AP] = {s : Bool => Bool => AForm => Str; adv : Bool => Bool => Str; isPre : Bool} ; +} |
