summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-11-07 09:41:04 +0000
committerkrasimir <krasimir@chalmers.se>2008-11-07 09:41:04 +0000
commit4a1bfac84b24b17dd973c31bade986762a7b65b6 (patch)
tree1341755be8d23b1d11d2357e35b9ecc4f1f888ad
parente2de6a8555294915074a2db83eb41f3449f74025 (diff)
add SymbolBul, SymbolicBul, CompatibilityBul
-rw-r--r--next-lib/src/api/SymbolicBul.gf5
-rw-r--r--next-lib/src/bulgarian/CompatibilityBul.gf25
-rw-r--r--next-lib/src/bulgarian/SymbolBul.gf54
3 files changed, 84 insertions, 0 deletions
diff --git a/next-lib/src/api/SymbolicBul.gf b/next-lib/src/api/SymbolicBul.gf
new file mode 100644
index 000000000..1fa5fd4c0
--- /dev/null
+++ b/next-lib/src/api/SymbolicBul.gf
@@ -0,0 +1,5 @@
+--# -path=.:present:mathematical:prelude
+
+resource SymbolicBul = Symbolic with
+ (Symbol = SymbolBul),
+ (Grammar = GrammarBul) ;
diff --git a/next-lib/src/bulgarian/CompatibilityBul.gf b/next-lib/src/bulgarian/CompatibilityBul.gf
new file mode 100644
index 000000000..24762e893
--- /dev/null
+++ b/next-lib/src/bulgarian/CompatibilityBul.gf
@@ -0,0 +1,25 @@
+--# -path=.:../abstract:../common
+
+concrete CompatibilityBul of Compatibility = CatBul ** open Prelude, ResBul in {
+
+-- from Noun 19/4/2008
+flags
+ coding = cp1251 ;
+
+lin
+ NumInt n = {s = \\_ => n.s; n = Pl; nonEmpty = True} ;
+ OrdInt n = {s = \\aform => n.s ++ "-" ++
+ case aform of {
+ ASg Masc Indef => "ти" ;
+ ASg Fem Indef => "та" ;
+ ASg Neut Indef => "то" ;
+ ASg Masc Def => "тия" ;
+ ASg Fem Def => "тата" ;
+ ASg Neut Def => "тото" ;
+ ASgMascDefNom => "тият" ;
+ APl Indef => "ти" ;
+ APl Def => "тите"
+ }
+ } ;
+
+}
diff --git a/next-lib/src/bulgarian/SymbolBul.gf b/next-lib/src/bulgarian/SymbolBul.gf
new file mode 100644
index 000000000..814cbbf71
--- /dev/null
+++ b/next-lib/src/bulgarian/SymbolBul.gf
@@ -0,0 +1,54 @@
+--# -path=.:abstract:common
+
+concrete SymbolBul of Symbol = CatBul ** open Prelude, ResBul in {
+
+flags
+ coding = cp1251 ;
+
+lin
+ SymbPN i = {s = i.s ; g = Neut} ;
+ IntPN i = {s = i.s ; g = Neut} ;
+ FloatPN i = {s = i.s ; g = Neut} ;
+ NumPN i = {s = i.s ! DNeutIndef ; g = Neut} ;
+ CNIntNP cn i = {
+ s = \\c => cn.s ! NF Sg Indef ++ i.s ;
+ a = agrP3 (gennum cn.g Sg)
+ } ;
+ CNSymbNP det cn xs = {
+ s = \\c => det.s ! False ! cn.g ! RSubj ++ cn.s ! NF det.n Indef ++ xs.s ;
+ a = agrP3 (gennum cn.g det.n)
+ } ;
+ CNNumNP cn i = {
+ s = \\c => (cn.s ! NF Sg Indef ++ i.s ! DNeutIndef) ;
+ a = agrP3 (gennum cn.g Sg)
+ } ;
+
+ SymbS sy = sy ;
+
+ SymbNum sy = {s = \\_ => sy.s; n = Pl; nonEmpty = True} ;
+ SymbOrd sy = {s = \\aform => sy.s ++ "-" ++
+ case aform of {
+ ASg Masc Indef => "ти" ;
+ ASg Fem Indef => "та" ;
+ ASg Neut Indef => "то" ;
+ ASg Masc Def => "тия" ;
+ ASg Fem Def => "тата" ;
+ ASg Neut Def => "тото" ;
+ ASgMascDefNom => "тият" ;
+ APl Indef => "ти" ;
+ APl Def => "тите"
+ }
+ } ;
+
+lincat
+
+ Symb, [Symb] = SS ;
+
+lin
+
+ MkSymb s = s ;
+
+ BaseSymb = infixSS "и" ;
+ ConsSymb = infixSS "," ;
+
+}