add adverbial form to each adjective in bulgarian-1.4

This commit is contained in:
krasimir
2008-06-08 11:06:30 +00:00
parent a9ad4dbba6
commit 7d9f4337d9
6 changed files with 25 additions and 15 deletions

View File

@@ -2,11 +2,13 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in {
lin
PositA a = {
s = \\aform => a.s ! aform ;
adv = a.adv ;
isPre = True
} ;
ComparA a np = {
s = \\aform => "ïî" ++ "-" ++ a.s ! aform ++ "îò" ++ np.s ! RObj Acc ;
adv = "ïî" ++ "-" ++ a.adv ++ "îò" ++ np.s ! RObj Acc ;
isPre = True
} ;
@@ -14,21 +16,25 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in {
ComplA2 a np = {
s = \\aform => a.s ! aform ++ a.c2 ++ np.s ! RObj Acc ;
adv = a.adv ++ a.c2 ++ np.s ! RObj Acc ;
isPre = True
} ;
ReflA2 a = {
s = \\aform => a.s ! aform ++ a.c2 ++ ["ñåáå ñè"] ;
adv = a.adv ++ a.c2 ++ ["ñåáå ñè"] ;
isPre = False
} ;
SentAP ap sc = {
s = \\a => ap.s ! a ++ sc.s ;
s = \\a => ap.s ! a ++ sc.s ;
adv = ap.adv ++ sc.s ;
isPre = False
} ;
AdAP ada ap = {
s = \\a => ada.s ++ ap.s ! a ;
adv = ada.s ++ ap.adv ;
isPre = ap.isPre
} ;

View File

@@ -1,6 +1,6 @@
concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in {
lin
PositAdvAdj a = {s = a.s ! ASg Neut Indef} ;
PositAdvAdj a = {s = a.adv} ;
ComparAdvAdj cadv a np = {
s = cadv.s ++ "ïî" ++ "-" ++ a.s ! ASg Neut Indef ++ "îò" ++ np.s ! RObj Acc
} ;

View File

@@ -66,7 +66,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
-- Adjective
AP = {s : AForm => Str; isPre : Bool} ;
AP = {s : AForm => Str; adv : Str; isPre : Bool} ;
-- Adjective
@@ -108,8 +108,8 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
V3 = Verb ** {c2, c3 : Preposition} ;
VV = Verb ;
A = {s : AForm => Str} ;
A2 = {s : AForm => Str ; c2 : Str} ;
A = {s : AForm => Str; adv : Str} ;
A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
N = {s : NForm => Str; g : DGender} ;
N2 = {s : NForm => Str; g : DGender} ** {c2 : Preposition} ;

View File

@@ -84,7 +84,7 @@ lin
girl_N = mkN065 "ìîìè÷å" ;
glove_N = mkN041 "ðúêàâèöà" ;
gold_N = mkN054 "çëàòî" ;
good_A = mkA080 "äîáúð" ;
good_A = adjAdv (mkA080 "äîáúð") "äîáðå" ;
go_V = actionV (mkV186 "îòèâàì") (mkV146 "îòèäà") ;
green_A = mkA076 "çåëåí" ;
harbour_N = mkN066 "ïðèñòàíèùå" ;

View File

@@ -171,6 +171,7 @@ oper
APl Indef => dobri ;
APl Def => dobrite
} ;
adv = dobro ;
lock_A = <>
} ;
}

View File

@@ -699,15 +699,15 @@ oper
(v0+"čňĺ") ;
mkA078 : Str -> A ;
mkA078 base = let v0 = tk 1 base
in mkAdjective (v0+"č")
(v0+"č˙")
(v0+"č˙ň")
(v0+"ŕ")
(v0+"ŕňŕ")
(v0+"î")
(v0+"îňî")
(v0+"č")
(v0+"čňĺ") ;
in adjAdv (mkAdjective (v0+"č")
(v0+"č˙")
(v0+"č˙ň")
(v0+"ŕ")
(v0+"ŕňŕ")
(v0+"î")
(v0+"îňî")
(v0+"č")
(v0+"čňĺ")) (v0+"č") ;
mkA079 : Str -> A ;
mkA079 base = let v0 = tk 2 base
in mkAdjective (v0+"ĺí")
@@ -1452,4 +1452,7 @@ oper
(v0+"˙í")
(v0+"˙ů")
(v0+"˙é") ;
adjAdv : A -> Str -> A =
\a,adv -> {s = a.s; adv = adv; lock_A=<>} ;
}