forked from GitHub/gf-rgl
allow post-position adjectives. added as_CAdv
This commit is contained in:
@@ -6,7 +6,7 @@ concrete AdjectiveBul of Adjective = CatBul ** open ResBul, Prelude in {
|
|||||||
PositA a = {
|
PositA a = {
|
||||||
s = \\aform,_ => a.s ! aform ;
|
s = \\aform,_ => a.s ! aform ;
|
||||||
adv = a.adv ;
|
adv = a.adv ;
|
||||||
isPre = True
|
isPre = a.isPre
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ComparA a np = {
|
ComparA a np = {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
|
|||||||
V3 = Verb ** {c2, c3 : Preposition} ;
|
V3 = Verb ** {c2, c3 : Preposition} ;
|
||||||
VV = Verb ** {typ : VVType};
|
VV = Verb ** {typ : VVType};
|
||||||
|
|
||||||
A = {s : AForm => Str; adv : Str} ;
|
A = {s : AForm => Str; adv : Str; isPre : Bool} ;
|
||||||
A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
|
A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
|
||||||
|
|
||||||
N = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ;
|
N = {s : NForm => Str; rel : AForm => Str; relPost : Bool; g : AGender} ;
|
||||||
@@ -103,9 +103,11 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
|
|||||||
V3 = \s -> {s = \\_,_ => s; vtype = VNormal; c2,c3 = {s=""; c=Acc}};
|
V3 = \s -> {s = \\_,_ => s; vtype = VNormal; c2,c3 = {s=""; c=Acc}};
|
||||||
VV = \s -> {s = \\_,_ => s; vtype = VNormal; typ = VVInf Perf};
|
VV = \s -> {s = \\_,_ => s; vtype = VNormal; typ = VVInf Perf};
|
||||||
|
|
||||||
A = \s -> {s = \\_ => s; adv = s};
|
A = \s -> {s = \\_ => s; adv = s; isPre = True};
|
||||||
A2 = \s -> {s = \\_ => s; adv = s; c2 = ""};
|
A2 = \s -> {s = \\_ => s; adv = s; c2 = ""};
|
||||||
|
|
||||||
|
CAdv = \s -> {s=[]; sn=s} ;
|
||||||
|
|
||||||
N = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman};
|
N = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman};
|
||||||
N2 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2 = {s=""; c=Acc}};
|
N2 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2 = {s=""; c=Acc}};
|
||||||
N3 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2,c3 = {s=""; c=Acc}};
|
N3 = \s -> {s = \\_ => s; rel = \\_ => s; relPost = False; g = AMasc NonHuman; c2,c3 = {s=""; c=Acc}};
|
||||||
@@ -144,6 +146,8 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P
|
|||||||
A = \a -> a.s ! ASg Masc Indef;
|
A = \a -> a.s ! ASg Masc Indef;
|
||||||
A2 = \a -> a.s ! ASg Masc Indef ++ a.c2;
|
A2 = \a -> a.s ! ASg Masc Indef ++ a.c2;
|
||||||
|
|
||||||
|
CAdv = \adv -> adv.s ++ adv.sn ;
|
||||||
|
|
||||||
N = \n -> n.s ! NF Sg Indef;
|
N = \n -> n.s ! NF Sg Indef;
|
||||||
N2 = \n -> n.s ! NF Sg Indef ++ linPrep n.c2;
|
N2 = \n -> n.s ! NF Sg Indef ++ linPrep n.c2;
|
||||||
N3 = \n -> n.s ! NF Sg Indef ++ linPrep n.c2 ++ linPrep n.c3;
|
N3 = \n -> n.s ! NF Sg Indef ++ linPrep n.c2 ++ linPrep n.c3;
|
||||||
|
|||||||
@@ -11,17 +11,14 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
CompoundN n1 n2 =
|
CompoundN n1 n2 =
|
||||||
let aform = ASg (case n2.g of {
|
let comp : NForm => Str
|
||||||
AMasc _ => Masc ;
|
= \\nf => case n1.relPost of {
|
||||||
AFem => Fem ;
|
True => n2.s ! nf ++ n1.rel ! nform2aform nf n2.g ;
|
||||||
ANeut => Neut
|
False => n1.rel ! nform2aform nf n2.g ++ n2.s ! indefNForm nf
|
||||||
}) Indef
|
}
|
||||||
in {
|
in {
|
||||||
s = \\nf => case n1.relPost of {
|
s = comp ;
|
||||||
True => n2.s ! nf ++ n1.rel ! nform2aform nf n2.g ;
|
rel = \\af => "на" ++ comp ! NF Sg Def ; relPost = True ;
|
||||||
False => n1.rel ! nform2aform nf n2.g ++ n2.s ! indefNForm nf
|
|
||||||
} ;
|
|
||||||
rel = \\af => n1.rel ! aform ++ n2.s ! NF Sg Indef ; relPost = n1.relPost ;
|
|
||||||
g = n2.g
|
g = n2.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ lin
|
|||||||
fridge_N = mkN007 "ôðèçåð" ;
|
fridge_N = mkN007 "ôðèçåð" ;
|
||||||
friend_N = mkN031a "ïðèÿòåë" ;
|
friend_N = mkN031a "ïðèÿòåë" ;
|
||||||
fruit_N = mkN001 "ïëîä" ;
|
fruit_N = mkN001 "ïëîä" ;
|
||||||
fun_AV = mkAV (mkA079 "çàáàâåí") ;
|
fun_AV = mkA079 "çàáàâåí" ;
|
||||||
forget_V2 = dirV2 (actionV (mkV187 "çàáðàâÿì") (mkV173 "çàáðàâÿ")) ;
|
forget_V2 = dirV2 (actionV (mkV187 "çàáðàâÿì") (mkV173 "çàáðàâÿ")) ;
|
||||||
garden_N = mkN041 "ãðàäèíà" ;
|
garden_N = mkN041 "ãðàäèíà" ;
|
||||||
girl_N = mkN065 "ìîìè÷å" ;
|
girl_N = mkN065 "ìîìè÷å" ;
|
||||||
@@ -152,7 +152,7 @@ lin
|
|||||||
play_V2 = dirV2 (stateV (mkV161 "èãðàÿ")) ;
|
play_V2 = dirV2 (stateV (mkV161 "èãðàÿ")) ;
|
||||||
policeman_N = mkN032a "ïîëèöàé" ;
|
policeman_N = mkN032a "ïîëèöàé" ;
|
||||||
priest_N = mkN014 "ñâåùåíèê" ;
|
priest_N = mkN014 "ñâåùåíèê" ;
|
||||||
probable_AS = mkAS (mkA079 "âåðîÿòåí") ;
|
probable_AS = mkA079 "âåðîÿòåí" ;
|
||||||
queen_N = mkN041 "êðàëèöà" ;
|
queen_N = mkN041 "êðàëèöà" ;
|
||||||
radio_N = mkN054 "ðàäèî" ;
|
radio_N = mkN054 "ðàäèî" ;
|
||||||
rain_V0 = mkV0 (stateV (mkV174 "âàëè")) ;
|
rain_V0 = mkV0 (stateV (mkV174 "âàëè")) ;
|
||||||
|
|||||||
@@ -235,6 +235,7 @@ oper
|
|||||||
APl Def => dobrite
|
APl Def => dobrite
|
||||||
} ;
|
} ;
|
||||||
adv = dobro ;
|
adv = dobro ;
|
||||||
|
isPre = True ;
|
||||||
lock_A = <>
|
lock_A = <>
|
||||||
} ;
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ oper
|
|||||||
|
|
||||||
-- Adverbs modifying adjectives and sentences can also be formed.
|
-- Adverbs modifying adjectives and sentences can also be formed.
|
||||||
|
|
||||||
mkAdA : Str -> AdA = \x -> ss x ** {lock_AdA = <>} ;
|
mkAdA : Str -> AdA = \x -> lin AdA (ss x) ;
|
||||||
|
mkCAdv : Str -> Str -> CAdv = \s,sn -> lin CAdv {s = s; sn = sn} ;
|
||||||
|
|
||||||
--2 Adjectives
|
--2 Adjectives
|
||||||
--
|
--
|
||||||
|
|
||||||
AS, A2S, AV : Type = A ;
|
AS, A2S, AV : Type = {s : AForm => Str; adv : Str} ;
|
||||||
A2V : Type = A2 ;
|
A2V : Type = A2 ;
|
||||||
|
|
||||||
mkA2 : A -> Prep -> A2 ;
|
mkA2 : A -> Prep -> A2 ;
|
||||||
|
|||||||
@@ -2081,5 +2081,5 @@ oper
|
|||||||
(v0+"ŕé")
|
(v0+"ŕé")
|
||||||
(v0+"ŕíĺ") ;
|
(v0+"ŕíĺ") ;
|
||||||
|
|
||||||
adjAdv : A -> Str -> A =
|
adjAdv : A -> Str -> A =
|
||||||
\a,adv -> a ** {adv = adv} ;
|
\a,adv -> a ** {adv = adv} ;
|
||||||
|
|||||||
@@ -122,6 +122,8 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
youPl_Pron = mkPron "âèå" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl PronP2 ;
|
youPl_Pron = mkPron "âèå" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl PronP2 ;
|
||||||
youPol_Pron = mkPron "âèå" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl PronP2 ;
|
youPol_Pron = mkPron "âèå" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl PronP2 ;
|
||||||
|
|
||||||
|
as_CAdv = mkCAdv "" "êîëêîòî" ;
|
||||||
|
|
||||||
have_V2 = dirV2 (stateV (mkV186 "èìàì")) ;
|
have_V2 = dirV2 (stateV (mkV186 "èìàì")) ;
|
||||||
|
|
||||||
lin language_title_Utt = ss "Áúëãàðñêè" ;
|
lin language_title_Utt = ss "Áúëãàðñêè" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user