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

View File

@@ -1,6 +1,6 @@
concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in { concrete AdverbBul of Adverb = CatBul ** open ResBul, Prelude in {
lin lin
PositAdvAdj a = {s = a.s ! ASg Neut Indef} ; PositAdvAdj a = {s = a.adv} ;
ComparAdvAdj cadv a np = { ComparAdvAdj cadv a np = {
s = cadv.s ++ "ïî" ++ "-" ++ a.s ! ASg Neut Indef ++ "îò" ++ np.s ! RObj Acc 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 -- Adjective
AP = {s : AForm => Str; isPre : Bool} ; AP = {s : AForm => Str; adv : Str; isPre : Bool} ;
-- Adjective -- Adjective
@@ -108,8 +108,8 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
V3 = Verb ** {c2, c3 : Preposition} ; V3 = Verb ** {c2, c3 : Preposition} ;
VV = Verb ; VV = Verb ;
A = {s : AForm => Str} ; A = {s : AForm => Str; adv : Str} ;
A2 = {s : AForm => Str ; c2 : Str} ; A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
N = {s : NForm => Str; g : DGender} ; N = {s : NForm => Str; g : DGender} ;
N2 = {s : NForm => Str; g : DGender} ** {c2 : Preposition} ; N2 = {s : NForm => Str; g : DGender} ** {c2 : Preposition} ;

View File

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

View File

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

View File

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