mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
add bulgarian language (still incomplete)
This commit is contained in:
188
lib/resource/bulgarian/AdjParadigmsBul.gf
Normal file
188
lib/resource/bulgarian/AdjParadigmsBul.gf
Normal file
@@ -0,0 +1,188 @@
|
||||
resource AdjParadigmsBul = open
|
||||
(Predef=Predef),
|
||||
Prelude,
|
||||
MorphoBul,
|
||||
CatBul
|
||||
in {
|
||||
oper
|
||||
mkA76 : Str -> A =
|
||||
\nov -> mkAdjective nov
|
||||
(nov+"č˙")
|
||||
(nov+"č˙ň")
|
||||
(nov+"ŕ")
|
||||
(nov+"ŕňŕ")
|
||||
(nov+"î")
|
||||
(nov+"îňî")
|
||||
(nov+"č")
|
||||
(nov+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA77 : Str -> A =
|
||||
\vish -> mkAdjective vish
|
||||
(vish+"č˙")
|
||||
(vish+"č˙ň")
|
||||
(vish+"ŕ")
|
||||
(vish+"ŕňŕ")
|
||||
(vish+"ĺ")
|
||||
(vish+"ĺňî")
|
||||
(vish+"č")
|
||||
(vish+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA78 : Str -> A =
|
||||
\bylgarski ->
|
||||
let bylgarsk = init bylgarski
|
||||
in mkAdjective bylgarski
|
||||
(bylgarsk+"č˙")
|
||||
(bylgarsk+"č˙ň")
|
||||
(bylgarsk+"ŕ")
|
||||
(bylgarsk+"ŕňŕ")
|
||||
(bylgarsk+"î")
|
||||
(bylgarsk+"îňî")
|
||||
(bylgarsk+"č")
|
||||
(bylgarsk+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA79 : Str -> A =
|
||||
\silen -> let siln : Str = case silen of { sil+"ĺí" => sil+"í" }
|
||||
in mkAdjective silen
|
||||
(siln+"č˙")
|
||||
(siln+"č˙ň")
|
||||
(siln+"ŕ")
|
||||
(siln+"ŕňŕ")
|
||||
(siln+"î")
|
||||
(siln+"îňî")
|
||||
(siln+"č")
|
||||
(siln+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA80 : Str -> A =
|
||||
\dobyr -> let dobr : Str = case dobyr of { dob+"ú"+r@("ř"|"đ"|"ë"|"ę"|"ă"|"â") => dob+r }
|
||||
in mkAdjective dobyr
|
||||
(dobr+"č˙")
|
||||
(dobr+"č˙ň")
|
||||
(dobr+"ŕ")
|
||||
(dobr+"ŕňŕ")
|
||||
(dobr+"î")
|
||||
(dobr+"îňî")
|
||||
(dobr+"č")
|
||||
(dobr+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA81 : Str -> A =
|
||||
\bial -> let bel : Str = ia2e bial
|
||||
in mkAdjective bial
|
||||
(bel+"č˙")
|
||||
(bel+"č˙ň")
|
||||
(bial+"ŕ")
|
||||
(bial+"ŕňŕ")
|
||||
(bial+"î")
|
||||
(bial+"îňî")
|
||||
(bel+"č")
|
||||
(bel+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA82 : Str -> A =
|
||||
\ostrowryh -> let ostrowyrh : Str = case ostrowryh of { ostrow+"đú"+h@("ç"|"ő"|"á") => ostrow+"úđ"+h }
|
||||
in mkAdjective ostrowryh
|
||||
(ostrowyrh+"č˙")
|
||||
(ostrowyrh+"č˙ň")
|
||||
(ostrowyrh+"ŕ")
|
||||
(ostrowyrh+"ŕňŕ")
|
||||
(ostrowyrh+"î")
|
||||
(ostrowyrh+"îňî")
|
||||
(ostrowyrh+"č")
|
||||
(ostrowyrh+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA82ŕ : Str -> A =
|
||||
\dyrzyk -> let dryzk : Str = case dyrzyk of { d+"úđçúę" => d+"đúçę" }
|
||||
in mkAdjective dyrzyk
|
||||
(dryzk+"č˙")
|
||||
(dryzk+"č˙ň")
|
||||
(dryzk+"ŕ")
|
||||
(dryzk+"ŕňŕ")
|
||||
(dryzk+"î")
|
||||
(dryzk+"îňî")
|
||||
(dryzk+"č")
|
||||
(dryzk+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA83 : Str -> A =
|
||||
\riadyk ->let riadk : Str = case riadyk of { riad+"úę" => riad+"ę"}
|
||||
in mkAdjective riadyk
|
||||
(ia2e riadk+"č˙")
|
||||
(ia2e riadk+"č˙ň")
|
||||
(riadk+"ŕ")
|
||||
(riadk+"ŕňŕ")
|
||||
(riadk+"î")
|
||||
(riadk+"îňî")
|
||||
(ia2e riadk+"č")
|
||||
(ia2e riadk+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA84 : Str -> A =
|
||||
\veren -> let viarn : Str = case veren of { v + "ĺ" + r@("ä"|"ç"|"í"|"đ"|"ń"|"ň")+"ĺí" => v+"˙"+r+"í" }
|
||||
in mkAdjective veren
|
||||
(ia2e viarn+"č˙")
|
||||
(ia2e viarn+"č˙ň")
|
||||
(viarn+"ŕ")
|
||||
(viarn+"ŕňŕ")
|
||||
(viarn+"î")
|
||||
(viarn+"îňî")
|
||||
(ia2e viarn+"č")
|
||||
(ia2e viarn+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA84ŕ : Str -> A =
|
||||
\svesten ->
|
||||
let sviastn : Str = case svesten of { sv + "ĺńňĺí" => sv+"˙ńňí" }
|
||||
in mkAdjective svesten
|
||||
(ia2e sviastn+"č˙")
|
||||
(ia2e sviastn+"č˙ň")
|
||||
(sviastn+"ŕ")
|
||||
(sviastn+"ŕňŕ")
|
||||
(sviastn+"î")
|
||||
(sviastn+"îňî")
|
||||
(ia2e sviastn+"č")
|
||||
(ia2e sviastn+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA85 : Str -> A =
|
||||
\stroen ->
|
||||
let stroin : Str = case stroen of { stro + "ĺí" => stro+"éí" }
|
||||
in mkAdjective stroen
|
||||
(stroin+"č˙")
|
||||
(stroin+"č˙ň")
|
||||
(stroin+"ŕ")
|
||||
(stroin+"ŕňŕ")
|
||||
(stroin+"î")
|
||||
(stroin+"îňî")
|
||||
(stroin+"č")
|
||||
(stroin+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA86 : Str -> A =
|
||||
\sin -> mkAdjective sin
|
||||
(sin+"č˙")
|
||||
(sin+"č˙ň")
|
||||
(sin+"˙")
|
||||
(sin+"˙ňŕ")
|
||||
(sin+"üî")
|
||||
(sin+"üîňî")
|
||||
(sin+"č")
|
||||
(sin+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA87 : Str -> A =
|
||||
\ovchi -> let ovch : Str = case ovchi of { ovch+"č" => ovch }
|
||||
in mkAdjective ovchi
|
||||
(ovch+"č˙")
|
||||
(ovch+"č˙ň")
|
||||
(ovch+"ŕ")
|
||||
(ovch+"ŕňŕ")
|
||||
(ovch+"ĺ")
|
||||
(ovch+"ĺňî")
|
||||
(ovch+"č")
|
||||
(ovch+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
mkA88 : Str -> A =
|
||||
\kozi -> let koz : Str = case kozi of { koz+"č" => koz }
|
||||
in mkAdjective kozi
|
||||
(koz+"č˙")
|
||||
(koz+"č˙ň")
|
||||
(koz+"˙")
|
||||
(koz+"˙ňŕ")
|
||||
(koz+"ĺ")
|
||||
(koz+"ĺňî")
|
||||
(koz+"č")
|
||||
(koz+"čňĺ")
|
||||
** {lock_A = <>} ;
|
||||
}
|
||||
6
lib/resource/bulgarian/Bulgarian.gf
Normal file
6
lib/resource/bulgarian/Bulgarian.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
concrete Bulgarian of BulgarianAbs =
|
||||
LangBul,
|
||||
ExtraBul
|
||||
** {} ;
|
||||
6
lib/resource/bulgarian/BulgarianAbs.gf
Normal file
6
lib/resource/bulgarian/BulgarianAbs.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract BulgarianAbs =
|
||||
Lang,
|
||||
ExtraBulAbs
|
||||
** {} ;
|
||||
56
lib/resource/bulgarian/CatBul.gf
Normal file
56
lib/resource/bulgarian/CatBul.gf
Normal file
@@ -0,0 +1,56 @@
|
||||
concrete CatBul of Cat = CommonX ** open ResBul, Prelude in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lincat
|
||||
|
||||
-- Tensed/Untensed
|
||||
|
||||
S = {s : Str} ;
|
||||
QS = {s : QForm => Str} ;
|
||||
|
||||
-- Sentence
|
||||
|
||||
Cl = {s : ResBul.Tense => Anteriority => Polarity => Order => Str} ;
|
||||
Imp = {s : Polarity => ImpForm => Str} ;
|
||||
|
||||
-- Question
|
||||
|
||||
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
|
||||
IP = {s : Str ; gn : GenNum} ;
|
||||
IComp = {s : Str} ;
|
||||
IDet = {s : Gender => Str ; n : Number; det : Dt} ;
|
||||
|
||||
-- Verb
|
||||
|
||||
VP = {
|
||||
s : ResBul.Tense => Anteriority => Polarity => Agr => Str ;
|
||||
imp : Polarity => Number => Str ;
|
||||
s2 : Agr => Str
|
||||
} ;
|
||||
|
||||
Comp = {s : Agr => Str} ;
|
||||
|
||||
-- Noun
|
||||
|
||||
CN = {s : Number => Case => Dt => Str; g : Gender} ;
|
||||
NP, Pron = {s : Case => Str ; a : Agr} ;
|
||||
Det = {s : Gender => Str ; n : Number; det : Dt} ;
|
||||
Num = {s : Str; n : Number } ;
|
||||
Quant = {s : AForm => Str; det : Dt} ;
|
||||
|
||||
-- Structural
|
||||
|
||||
Subj = {s : Str} ;
|
||||
Prep = {s : Str} ;
|
||||
|
||||
-- Open lexical classes, e.g. Lexicon
|
||||
|
||||
V, VS, VQ, VA = Verb ;
|
||||
V2, V2A = Verb ** {c2 : Str} ;
|
||||
V3 = Verb ** {c2, c3 : Str} ;
|
||||
|
||||
A = {s : AForm => Str} ;
|
||||
|
||||
N = {s : AForm => Str; g : Gender} ;
|
||||
}
|
||||
6
lib/resource/bulgarian/ExtraBul.gf
Normal file
6
lib/resource/bulgarian/ExtraBul.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
concrete ExtraBul of ExtraBulAbs = CatBul **
|
||||
open ResBul, Coordination, Prelude in {
|
||||
|
||||
lin
|
||||
GenNP np = {s = \\aform => np.s ! Gen aform} ;
|
||||
}
|
||||
2
lib/resource/bulgarian/ExtraBulAbs.gf
Normal file
2
lib/resource/bulgarian/ExtraBulAbs.gf
Normal file
@@ -0,0 +1,2 @@
|
||||
abstract ExtraBulAbs = Extra ** {
|
||||
}
|
||||
15
lib/resource/bulgarian/GrammarBul.gf
Normal file
15
lib/resource/bulgarian/GrammarBul.gf
Normal file
@@ -0,0 +1,15 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
concrete GrammarBul of Grammar =
|
||||
NounBul,
|
||||
VerbBul,
|
||||
SentenceBul,
|
||||
QuestionBul,
|
||||
PhraseBul,
|
||||
TextX,
|
||||
StructuralBul
|
||||
** {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||
|
||||
} ;
|
||||
10
lib/resource/bulgarian/LangBul.gf
Normal file
10
lib/resource/bulgarian/LangBul.gf
Normal file
@@ -0,0 +1,10 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
concrete LangBul of Lang =
|
||||
GrammarBul,
|
||||
LexiconBul
|
||||
** {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||
|
||||
} ;
|
||||
157
lib/resource/bulgarian/LexiconBul.gf
Normal file
157
lib/resource/bulgarian/LexiconBul.gf
Normal file
@@ -0,0 +1,157 @@
|
||||
--# -path=.:prelude
|
||||
|
||||
concrete LexiconBul of Lexicon = CatBul **
|
||||
open ParadigmsBul, Prelude in {
|
||||
|
||||
flags
|
||||
optimize=values ;
|
||||
|
||||
lin
|
||||
bad_A = mkA76 "ëîř" ;
|
||||
beautiful_A = mkA76 "ęđŕńčâ" ;
|
||||
big_A = mkA81 "ăîë˙ě" ;
|
||||
black_A = mkA79 "÷ĺđĺí" ;
|
||||
blue_A = mkA86 "ńčí" ;
|
||||
break_V2 = dirV2 (mkV173 "÷óď˙") ;
|
||||
brown_A = mkA76 "ęŕô˙â" ;
|
||||
buy_V2 = dirV2 (mkV173 "ęóď˙") ;
|
||||
clean_A = mkA76 "÷čńň" ;
|
||||
clever_A = mkA79 "óěĺí" ;
|
||||
close_V2 = dirV2 (mkV173 "çŕňâîđ˙") ;
|
||||
cold_A = mkA76 "ńňóäĺí" ;
|
||||
come_V = mkV146a "äîéäŕ" ;
|
||||
die_V = mkV150a "óěđŕ" ;
|
||||
dirty_A = mkA79 "ěđúńĺí" ;
|
||||
drink_V2 = dirV2 (mkV163 "ďč˙") ;
|
||||
eat_V2 = dirV2 (mkV169 "˙ě") ;
|
||||
empty_A = mkA79 "ďđŕçĺí" ;
|
||||
find_V2 = dirV2 (mkV173 "íŕěĺđ˙") ;
|
||||
forget_V2 = dirV2 (mkV173 "çŕáđŕâ˙") ;
|
||||
good_A = mkA80 "äîáúđ" ;
|
||||
go_V = mkV186 "îňčâŕě" ;
|
||||
green_A = mkA76 "çĺëĺí" ;
|
||||
hate_V2 = dirV2 (mkV173 "ěđŕç˙") ;
|
||||
have_V2 = dirV2 (mkV186 "čěŕě") ;
|
||||
hear_V2 = dirV2 (mkV186 "÷óâŕě") ;
|
||||
hot_A = mkA76 "ăîđĺů" ;
|
||||
important_A = mkA79 "âŕćĺí" ;
|
||||
know_V2 = dirV2 (mkV162 "çíŕ˙") ;
|
||||
learn_V2 = dirV2 (mkV176 "ó÷ŕ") ;
|
||||
leave_V2 = dirV2 (mkV173 "îńňŕâ˙") ;
|
||||
like_V2 = dirV2 (mkV186 "őŕđĺńâŕě") ;
|
||||
listen_V2 = dirV2 (mkV186 "ńëóřŕě") ;
|
||||
live_V = mkV160 "ćčâĺ˙" ;
|
||||
long_A = mkA80 "äúëúă" ;
|
||||
lose_V2 = dirV2 (mkV173 "ăóá˙") ;
|
||||
love_V2 = dirV2 (mkV186 "îáč÷ŕě") ;
|
||||
-- married_A2 = mkA2 (mkA76 "ćĺíĺí") toP ;
|
||||
narrow_A = mkA84 "ňĺńĺí" ;
|
||||
new_A = mkA76 "íîâ" ;
|
||||
old_A = mkA76 "ńňŕđ" ;
|
||||
open_V2 = dirV2 (mkV187 "îňâŕđ˙ě") ;
|
||||
play_V2 = dirV2 (mkV161 "čăđŕ˙") ;
|
||||
read_V2 = dirV2 (mkV145 "÷ĺňŕ") ;
|
||||
red_A = mkA76 "÷ĺđâĺí" ;
|
||||
run_V = (mkV186 "á˙ăŕě") ;
|
||||
seek_V2 = dirV2 (mkV173 "ňúđń˙") ;
|
||||
see_V2 = dirV2 (mkV186 "âčćäŕě") ;
|
||||
sell_V3 = dirV3 (mkV186 "ďđîäŕâŕě") naP ;
|
||||
send_V3 = dirV3 (mkV186 "ďđŕůŕě") doP ;
|
||||
short_A = mkA76 "ęúń" ;
|
||||
sleep_V = mkV182 "ńď˙" ;
|
||||
small_A = mkA80 "ěŕëúę" ;
|
||||
speak_V2 = dirV2 (mkV173 "ăîâîđ˙") ;
|
||||
stupid_A = mkA76 "ăëóďŕâ" ;
|
||||
switch8off_V2 = dirV2 (mkV186 "čçęëţ÷âŕě") ;
|
||||
switch8on_V2 = dirV2 (mkV186 "âęëţ÷âŕě") ;
|
||||
teach_V2 = dirV2 (mkV186 "ďđĺďîäŕâŕě") ;
|
||||
thick_A = mkA76 "äĺáĺë" ;
|
||||
thin_A = mkA80 "ňúíúę" ;
|
||||
travel_V = mkV186 "ďúňóâŕě" ;
|
||||
ugly_A = mkA76 "ăëóďŕâ" ;
|
||||
understand_V2 = dirV2 (mkV186 "đŕçáčđŕě") ;
|
||||
wait_V2 = prepV2 (mkV186 "÷ŕęŕě") zaP ;
|
||||
walk_V = mkV173 "őîä˙" ;
|
||||
warm_A = mkA80 "ňîďúë" ;
|
||||
watch_V2 = dirV2 (mkV186 "ăëĺäŕě") ;
|
||||
white_A = mkA81 "á˙ë" ;
|
||||
win_V2 = dirV2 (mkV174 "ďîáĺä˙") ;
|
||||
|
||||
write_V2 = dirV2 (mkV159 "ďčřŕ") ;
|
||||
yellow_A = mkA76 "ćúëň" ;
|
||||
young_A = mkA76 "ěëŕä" ;
|
||||
-- do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ;
|
||||
now_Adv = mkAdv "ńĺăŕ" ;
|
||||
already_Adv = mkAdv "âĺ÷ĺ" ;
|
||||
-- put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ;
|
||||
stop_V = mkV150 "ńďđŕ" ;
|
||||
jump_V = mkV176 "ńęî÷ŕ" ;
|
||||
far_Adv = mkAdv "äŕëĺ÷ĺ" ;
|
||||
correct_A = mkA79 "ďđŕâčëĺí" ;
|
||||
dry_A = mkA76 "ńóő" ;
|
||||
-- dull_A = regA "dull" ;
|
||||
full_A = mkA79 "ďúëĺí" ;
|
||||
heavy_A = mkA80 "ňĺćúę" ;
|
||||
near_A = mkA80 "áëčçúę" ;
|
||||
-- rotten_A = (regA "rotten") ;
|
||||
round_A = mkA80 "ęđúăúë" ;
|
||||
sharp_A = mkA80 "îńňúđ" ;
|
||||
-- smooth_A = regA "smooth" ;
|
||||
-- straight_A = regA "straight" ;
|
||||
wet_A = mkA80 "ěîęúđ" ; ----
|
||||
wide_A = mkA76 "řčđîę" ;
|
||||
-- blow_V = IrregEng.blow_V ;
|
||||
-- breathe_V = dirV2 (regV "breathe") ;
|
||||
burn_V = mkV187 "čçăŕđ˙ě" ;
|
||||
-- dig_V = IrregEng.dig_V ;
|
||||
-- fall_V = IrregEng.fall_V ;
|
||||
float_V = mkV186 "ďëŕâŕě" ;
|
||||
flow_V = mkV148 "ňĺęŕ" ;
|
||||
fly_V = mkV177 "ëĺň˙" ;
|
||||
freeze_V = mkV186 "çŕěđúçâŕě" ;
|
||||
laugh_V = mkV160 "ńěĺ˙" ;
|
||||
lie_V = mkV178 "ëĺćŕ" ;
|
||||
play_V = mkV161 "čăđŕ˙" ;
|
||||
-- sew_V = IrregEng.sew_V ;
|
||||
sing_V = mkV164 "ďĺ˙" ;
|
||||
-- sit_V = IrregEng.sit_V ;
|
||||
smell_V = mkV159 "ěčđčřŕ" ;
|
||||
spit_V = mkV163 "ďëţ˙" ;
|
||||
-- stand_V = IrregEng.stand_V ;
|
||||
-- swell_V = IrregEng.swell_V ;
|
||||
swim_V = mkV186 "ďëóâŕě" ;
|
||||
think_V = mkV173 "ěčńë˙" ;
|
||||
turn_V = mkV186 "îáđúůŕě" ;
|
||||
-- vomit_V = regV "vomit" ;
|
||||
|
||||
-- bite_V2 = dirV2 IrregEng.bite_V ;
|
||||
count_V2 = dirV2 (mkV175 "áđî˙") ;
|
||||
cut_V2 = dirV2 (mkV157 "đĺćŕ") ;
|
||||
fear_V2 = dirV2 (mkV186 "ńňđŕőóâŕě") ;
|
||||
fight_V2 = dirV2 (mkV173 "áîđ˙") ;
|
||||
-- hit_V2 = dirV2 hit_V ;
|
||||
-- hold_V2 = dirV2 hold_V ;
|
||||
hunt_V2 = dirV2 (mkV174 "ëîâ˙") ;
|
||||
kill_V2 = dirV2 (mkV163 "óáč˙") ;
|
||||
-- pull_V2 = dirV2 (regV "pull") ;
|
||||
-- push_V2 = dirV2 (regV "push") ;
|
||||
-- rub_V2 = dirV2 (regDuplV "rub") ;
|
||||
-- scratch_V2 = dirV2 (regV "scratch") ;
|
||||
split_V2 = dirV2 (mkV174 "đŕçäĺë˙") ;
|
||||
-- squeeze_V2 = dirV2 (regV "squeeze") ;
|
||||
-- stab_V2 = dirV2 (regDuplV "stab") ;
|
||||
-- suck_V2 = dirV2 (regV "suck") ;
|
||||
throw_V2 = dirV2 (mkV173 "őâúđë˙") ;
|
||||
-- tie_V2 = dirV2 (regV "tie") ;
|
||||
wash_V2 = dirV2 (mkV163 "ěč˙") ;
|
||||
-- wipe_V2 = dirV2 (regV "wipe") ;
|
||||
|
||||
ready_A = mkA76 "ăîňîâ" ;
|
||||
today_Adv = mkAdv "äíĺń" ;
|
||||
uncertain_A = mkA79 "íĺ˙ńĺí" ;
|
||||
|
||||
oper
|
||||
zaP = mkPrep "çŕ" ;
|
||||
naP = mkPrep "íŕ" ;
|
||||
doP = mkPrep "äî" ;
|
||||
} ;
|
||||
34
lib/resource/bulgarian/MorphoBul.gf
Normal file
34
lib/resource/bulgarian/MorphoBul.gf
Normal file
@@ -0,0 +1,34 @@
|
||||
--# -path=.:../../prelude
|
||||
|
||||
--1 A Simple English Resource Morphology
|
||||
--
|
||||
-- Aarne Ranta 2002 -- 2005
|
||||
--
|
||||
-- This resource morphology contains definitions needed in the resource
|
||||
-- syntax. To build a lexicon, it is better to use $ParadigmsEng$, which
|
||||
-- gives a higher-level access to this module.
|
||||
|
||||
resource MorphoBul = ResBul ** open Prelude, (Predef=Predef) in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
oper
|
||||
--2 Determiners
|
||||
|
||||
mkDeterminerSg : Str -> Str -> Str -> {s : Gender => Str; n : Number; det : Dt} = \vseki,vsiaka,vsiako ->
|
||||
{s = table Gender [vseki;vsiaka;vsiako]; n = Sg; det = NDet} ;
|
||||
mkDeterminerPl : Str -> {s : Gender => Str ; n : Number; det : Dt} = \vsicki ->
|
||||
{s = \\_ => vsicki; n = Sg; det = NDet} ;
|
||||
|
||||
mkQuant : Str -> Str -> Str -> Str -> {s : AForm => Str; det : Dt} = \tozi,tazi,towa,tezi -> {
|
||||
s = \\gn => case gn of {
|
||||
ASg Masc _ => tozi ;
|
||||
ASg Fem _ => tazi ;
|
||||
ASg Neut _ => towa ;
|
||||
APl _ => tezi ;
|
||||
AFullDet => tozi
|
||||
};
|
||||
det = NDet
|
||||
} ;
|
||||
|
||||
}
|
||||
52
lib/resource/bulgarian/NounBul.gf
Normal file
52
lib/resource/bulgarian/NounBul.gf
Normal file
@@ -0,0 +1,52 @@
|
||||
concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
DetCN det cn =
|
||||
{ s = \\c => det.s ! cn.g ++ cn.s ! det.n ! c ! det.det ;
|
||||
a = agrP3 (gennum cn.g det.n)
|
||||
} ;
|
||||
UsePron p = p ;
|
||||
|
||||
DetSg quant ord = {
|
||||
s = \\g => quant.s ! ASg g NDet ++ ord.s ;
|
||||
n = Sg ;
|
||||
det=quant.det
|
||||
} ;
|
||||
|
||||
DetPl quant num ord = {
|
||||
s = \\g => quant.s ! aformGenNum (gennum g num.n) ++ num.s ++ ord.s ;
|
||||
n = num.n ;
|
||||
det=quant.det
|
||||
} ;
|
||||
|
||||
PossPron p = {s = \\aform => p.s ! Gen aform; det = NDet} ;
|
||||
|
||||
NoNum = {s = []; n = Pl } ;
|
||||
NoOrd = {s = []} ;
|
||||
|
||||
DefArt = {
|
||||
s = \\_ => [] ;
|
||||
det = ResBul.Det
|
||||
} ;
|
||||
|
||||
IndefArt = {
|
||||
s = \\_ => [] ;
|
||||
det = ResBul.NDet
|
||||
} ;
|
||||
|
||||
MassDet = {s = \\_ => [] ; n = Sg ; det = NDet} ;
|
||||
|
||||
UseN noun = {
|
||||
s = \\n,c,dt => let aform = case n of {
|
||||
Sg => case <noun.g,c,dt> of {
|
||||
<Masc,Nom,Det> => AFullDet ;
|
||||
_ => ASg noun.g dt
|
||||
} ;
|
||||
Pl => APl dt
|
||||
}
|
||||
in noun.s ! aform ;
|
||||
g = noun.g
|
||||
} ;
|
||||
}
|
||||
87
lib/resource/bulgarian/ParadigmsBul.gf
Normal file
87
lib/resource/bulgarian/ParadigmsBul.gf
Normal file
@@ -0,0 +1,87 @@
|
||||
--# -path=.:../abstract:../../prelude:../common
|
||||
|
||||
--1 Bulgarian Lexical Paradigms
|
||||
--
|
||||
-- Krasimir Angelov 2008
|
||||
--
|
||||
-- This is an API for the user of the resource grammar
|
||||
-- for adding lexical items. It gives functions for forming
|
||||
-- expressions of open categories: nouns, adjectives, verbs.
|
||||
--
|
||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||
-- accessed through the resource syntax API, $Structural.gf$.
|
||||
--
|
||||
-- The main difference with $MorphoBul.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms, rather
|
||||
-- than stems, as string arguments of the paradigms.
|
||||
--
|
||||
-- The structure of functions for each word class $C$ is the following:
|
||||
-- first we give a handful of patterns that aim to cover all
|
||||
-- regular cases. Then we give a worst-case function $mkC$, which serves as an
|
||||
-- escape to construct the most irregular words of type $C$.
|
||||
|
||||
resource ParadigmsBul = VerbParadigmsBul, AdjParadigmsBul ** open
|
||||
(Predef=Predef),
|
||||
Prelude,
|
||||
MorphoBul,
|
||||
CatBul
|
||||
in {
|
||||
|
||||
oper
|
||||
--2 Adverbs
|
||||
|
||||
-- Adverbs are not inflected. Most lexical ones have position
|
||||
-- after the verb. Some can be preverbal (e.g. "always").
|
||||
|
||||
mkAdv : Str -> Adv ;
|
||||
mkAdV : Str -> AdV ;
|
||||
|
||||
-- Adverbs modifying adjectives and sentences can also be formed.
|
||||
|
||||
mkAdA : Str -> AdA ;
|
||||
|
||||
--2 Prepositions
|
||||
--
|
||||
-- A preposition as used for rection in the lexicon, as well as to
|
||||
-- build $PP$s in the resource API, just requires a string.
|
||||
|
||||
mkPrep : Str -> Prep ;
|
||||
noPrep : Prep ;
|
||||
|
||||
--2 Verbs
|
||||
--
|
||||
|
||||
--3 Two-place verbs
|
||||
--
|
||||
-- Two-place verbs need a preposition, except the special case with direct object.
|
||||
-- (transitive verbs). Notice that a particle comes from the $V$.
|
||||
|
||||
mkAdv x = ss x ** {lock_Adv = <>} ;
|
||||
mkAdV x = ss x ** {lock_AdV = <>} ;
|
||||
mkAdA x = ss x ** {lock_AdA = <>} ;
|
||||
|
||||
prepV2 : V -> Prep -> V2 ;
|
||||
dirV2 : V -> V2 ;
|
||||
|
||||
--3 Three-place verbs
|
||||
--
|
||||
-- Three-place (ditransitive) verbs need two prepositions, of which
|
||||
-- the first one or both can be absent.
|
||||
|
||||
mkV3 : V -> Prep -> Prep -> V3 ; -- speak, with, about
|
||||
dirV3 : V -> Prep -> V3 ; -- give,_,to
|
||||
dirdirV3 : V -> V3 ; -- give,_,_
|
||||
|
||||
mkAdv x = ss x ** {lock_Adv = <>} ;
|
||||
|
||||
mkPrep p = ss p ** {lock_Prep = <>} ;
|
||||
noPrep = mkPrep [] ;
|
||||
|
||||
prepV2 v p = v ** {s = v.s ; c2 = p.s ; lock_V2 = <>} ;
|
||||
dirV2 v = prepV2 v noPrep;
|
||||
|
||||
mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p.s ; c3 = q.s ; lock_V3 = <>} ;
|
||||
dirV3 v p = mkV3 v noPrep p ;
|
||||
dirdirV3 v = dirV3 v noPrep ;
|
||||
}
|
||||
9
lib/resource/bulgarian/PhraseBul.gf
Normal file
9
lib/resource/bulgarian/PhraseBul.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
concrete PhraseBul of Phrase = CatBul ** open Prelude, ResBul in {
|
||||
|
||||
lin
|
||||
UttS s = s ;
|
||||
UttQS qs = {s = qs.s ! QDir} ;
|
||||
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg False} ;
|
||||
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Pl False} ;
|
||||
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! ImpF Sg True } ;
|
||||
}
|
||||
39
lib/resource/bulgarian/QuestionBul.gf
Normal file
39
lib/resource/bulgarian/QuestionBul.gf
Normal file
@@ -0,0 +1,39 @@
|
||||
concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
|
||||
QuestCl cl = {
|
||||
s = \\t,a,p =>
|
||||
let cls = cl.s ! t ! a ! p
|
||||
in table {
|
||||
QDir => cls ! OQuest ;
|
||||
QIndir => "àêî" ++ cls ! ODir
|
||||
} ---- "whether" in ExtEng
|
||||
} ;
|
||||
|
||||
QuestVP ip vp =
|
||||
let cl = mkClause ip.s {gn = ip.gn ; p = P3} vp
|
||||
in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ;
|
||||
|
||||
QuestIAdv iadv cl = mkQuestion iadv cl ;
|
||||
|
||||
QuestIComp icomp np =
|
||||
mkQuestion icomp (mkClause (np.s ! Nom) np.a (predV auxBe)) ;
|
||||
|
||||
PrepIP p ip = {s = p.s ++ ip.s} ;
|
||||
|
||||
AdvIP ip adv = {
|
||||
s = ip.s ++ adv.s ;
|
||||
gn = ip.gn
|
||||
} ;
|
||||
|
||||
-- IDetCN idet num ord cn = {
|
||||
-- s = \\c => idet.s ++ num.s ++ ord.s ++ cn.s ! idet.n ! c ;
|
||||
-- gn = idet.gn
|
||||
-- } ;
|
||||
|
||||
CompIAdv a = a ;
|
||||
|
||||
}
|
||||
328
lib/resource/bulgarian/ResBul.gf
Normal file
328
lib/resource/bulgarian/ResBul.gf
Normal file
@@ -0,0 +1,328 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
--1 Bulgarian auxiliary operations.
|
||||
|
||||
-- This module contains operations that are needed to make the
|
||||
-- resource syntax work. To define everything that is needed to
|
||||
-- implement $Test$, it moreover contains regular lexical
|
||||
-- patterns needed for $Lex$.
|
||||
|
||||
resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
||||
|
||||
--2 For $Noun$
|
||||
|
||||
-- This is the worst-case $Case$ needed for pronouns.
|
||||
|
||||
param
|
||||
Case = Nom | Acc | Gen AForm;
|
||||
|
||||
GenNum = GSg Gender | GPl ;
|
||||
|
||||
-- Agreement of $NP$ is a record. We'll add $Gender$ later.
|
||||
|
||||
oper
|
||||
Agr = {gn : GenNum ; p : Person} ;
|
||||
|
||||
param
|
||||
Gender = Masc | Fem | Neut ;
|
||||
|
||||
Dt = NDet | Det ;
|
||||
|
||||
-- The plural never makes a gender distinction.
|
||||
|
||||
--2 For $Verb$
|
||||
|
||||
VForm =
|
||||
VPres Number Person
|
||||
| VAorist Number Person
|
||||
| VImperfect Number Person
|
||||
| VPerfect AForm
|
||||
| VPluPerfect AForm
|
||||
| VPassive AForm
|
||||
| VPresPart AForm
|
||||
| VImperative Number
|
||||
| VGerund
|
||||
;
|
||||
|
||||
-- The order of sentence is needed already in $VP$.
|
||||
|
||||
Order = ODir | OQuest ;
|
||||
|
||||
--2 For $Adjective$
|
||||
|
||||
AForm =
|
||||
ASg Gender Dt
|
||||
| APl Dt
|
||||
| AFullDet
|
||||
;
|
||||
|
||||
--2 Transformations between parameter types
|
||||
|
||||
oper
|
||||
agrP3 : GenNum -> Agr = \gn ->
|
||||
{gn = gn ; p = P3} ;
|
||||
|
||||
gennum : Gender -> Number -> GenNum = \g,n ->
|
||||
case n of {
|
||||
Sg => GSg g ;
|
||||
Pl => GPl
|
||||
} ;
|
||||
|
||||
numGenNum : GenNum -> Number = \gn ->
|
||||
case gn of {
|
||||
GSg _ => Sg ;
|
||||
GPl => Pl
|
||||
} ;
|
||||
|
||||
aformGenNum : GenNum -> AForm = \gn ->
|
||||
case gn of {
|
||||
GSg g => ASg g NDet ;
|
||||
GPl => APl NDet
|
||||
} ;
|
||||
|
||||
oper
|
||||
-- For $Verb$.
|
||||
|
||||
Verb : Type = {
|
||||
s : VForm => Str ;
|
||||
} ;
|
||||
|
||||
VP : Type = {
|
||||
s : Tense => Anteriority => Polarity => Agr => Str ;
|
||||
imp : Polarity => Number => Str ;
|
||||
s2 : Agr => Str
|
||||
} ;
|
||||
|
||||
predV : Verb -> VP =
|
||||
\verb ->
|
||||
let pol : Polarity -> Str -> Str = \p,vf -> case p of { Pos => vf ; Neg => "íå" ++ vf }
|
||||
in { s = \\t,a,p,agr => let present = verb.s ! (VPres (numGenNum agr.gn) agr.p) ;
|
||||
aorist = verb.s ! (VAorist (numGenNum agr.gn) agr.p) ;
|
||||
perfect = verb.s ! (VPerfect (aformGenNum agr.gn)) ;
|
||||
vf = case <t,a> of {
|
||||
<Pres,Simul> => present ;
|
||||
<Pres,Anter> => auxBe.s ! (VPres (numGenNum agr.gn) agr.p) ++ perfect ;
|
||||
<Past,Simul> => aorist ;
|
||||
<Past,Anter> => auxBe.s ! (VAorist (numGenNum agr.gn) agr.p) ++ perfect ;
|
||||
<Fut, Simul> => "ùå" ++ present ;
|
||||
<Fut, Anter> => "ùå" ++ auxBe.s ! (VPres (numGenNum agr.gn) agr.p) ++ perfect ;
|
||||
<Cond,Simul> => auxWould.s ! (VAorist (numGenNum agr.gn) agr.p) ++ perfect ;
|
||||
<Cond,Anter> => auxWould.s ! (VAorist (numGenNum agr.gn) agr.p) ++ auxBe.s ! (VPerfect (aformGenNum agr.gn)) ++ perfect
|
||||
} ;
|
||||
in pol p vf ;
|
||||
imp = \\p,n => pol p (verb.s ! VImperative n) ;
|
||||
s2 = \\_ => []
|
||||
} ;
|
||||
|
||||
insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> {
|
||||
s = vp.s ;
|
||||
imp = vp.imp ;
|
||||
s2 = \\a => vp.s2 ! a ++ obj ! a
|
||||
} ;
|
||||
|
||||
auxBe : Verb = {
|
||||
s = table {
|
||||
VPres Sg P1 => "ñúì" ;
|
||||
VPres Sg P2 => "ñè" ;
|
||||
VPres Sg P3 => "å" ;
|
||||
VPres Pl P1 => "ñìå" ;
|
||||
VPres Pl P2 => "ñòå" ;
|
||||
VPres Pl P3 => "ñà" ;
|
||||
VAorist Sg P1 => "áÿõ" ;
|
||||
VAorist Sg _ => "áåøå" ;
|
||||
VAorist Pl P1 => "áÿõìå" ;
|
||||
VAorist Pl P2 => "áÿõòå" ;
|
||||
VAorist Pl P3 => "áÿõà" ;
|
||||
VImperfect Sg P1 => "áÿõ" ;
|
||||
VImperfect Sg _ => "áåøå" ;
|
||||
VImperfect Pl P1 => "áÿõìå" ;
|
||||
VImperfect Pl P2 => "áÿõòå" ;
|
||||
VImperfect Pl P3 => "áÿõà" ;
|
||||
VPerfect aform => (regAdjective "áèë").s ! aform ;
|
||||
VPluPerfect aform => (regAdjective "áèë").s ! aform ;
|
||||
VPassive aform => (regAdjective "áúäåí").s ! aform ;
|
||||
VPresPart aform => (regAdjective "áúäåù").s ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VGerund => "áèäåéêè"
|
||||
}
|
||||
} ;
|
||||
|
||||
auxWould : Verb = {
|
||||
s = table {
|
||||
VPres Sg P1 => "áúäà" ;
|
||||
VPres Sg P2 => "áúäåø" ;
|
||||
VPres Sg P3 => "áúäå" ;
|
||||
VPres Pl P1 => "áúäåì" ;
|
||||
VPres Pl P2 => "áúäåòå" ;
|
||||
VPres Pl P3 => "áúäàò" ;
|
||||
VAorist Sg P1 => "áèõ" ;
|
||||
VAorist Sg _ => "áè" ;
|
||||
VAorist Pl P1 => "áèõìå" ;
|
||||
VAorist Pl P2 => "áèõòå" ;
|
||||
VAorist Pl P3 => "áèõà" ;
|
||||
VImperfect Sg P1 => "áúäåõ" ;
|
||||
VImperfect Sg _ => "áúäåøå" ;
|
||||
VImperfect Pl P1 => "áúäåõìå" ;
|
||||
VImperfect Pl P2 => "áúäåõòå" ;
|
||||
VImperfect Pl P3 => "áúäåõà" ;
|
||||
VPerfect aform => (regAdjective "áèë").s ! aform ;
|
||||
VPluPerfect aform => (regAdjective "áúäåë").s ! aform ;
|
||||
VPassive aform => (regAdjective "áúäåí").s ! aform ;
|
||||
VPresPart aform => (regAdjective "áúäåù").s ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VGerund => "áúäåéêè"
|
||||
}
|
||||
} ;
|
||||
|
||||
ia2e : Str -> Str = -- to be used when the next syllable has vowel different from "à","ú","î" or "ó"
|
||||
\s -> case s of {
|
||||
x@(_*+_) + "ÿ" + y@(("á"|"â"|"ã"|"ä"|"æ"|"ç"|"ê"|"ë"|"ì"|"í"|"ï"|"ð"|"ñ"|"ò"|"ô"|"õ"|"ö"|"÷"|"ø"|"ù")*)
|
||||
=> x+"e"+y;
|
||||
_ => s
|
||||
};
|
||||
|
||||
mkAdjective : (_,_,_,_,_,_,_,_,_ : Str) -> {s : AForm => Str} =
|
||||
\dobyr,dobria,dobriat,dobra,dobrata,dobro,dobroto,dobri,dobrite -> {
|
||||
s = table {
|
||||
ASg Masc NDet => dobyr ;
|
||||
ASg Masc Det => dobria ;
|
||||
AFullDet => dobriat ;
|
||||
ASg Fem NDet => dobra ;
|
||||
ASg Fem Det => dobrata ;
|
||||
ASg Neut NDet => dobro ;
|
||||
ASg Neut Det => dobroto ;
|
||||
APl NDet => dobri ;
|
||||
APl Det => dobrite
|
||||
}
|
||||
} ;
|
||||
|
||||
regAdjective : Str -> {s : AForm => Str} =
|
||||
\base -> mkAdjective base
|
||||
(base+"èÿ")
|
||||
(base+"èÿò")
|
||||
(base+"a")
|
||||
(base+"àòà")
|
||||
(base+"î")
|
||||
(base+"îòî")
|
||||
(ia2e base+"è")
|
||||
(ia2e base+"èòå") ;
|
||||
|
||||
mkVerb : (_,_,_,_,_,_,_,_,_:Str) -> Verb =
|
||||
\cheta,chete,chetoh,chetqh,chel,chetql,cheten,chetqst,cheti -> {
|
||||
s = table {
|
||||
VPres Sg P1 => cheta;
|
||||
VPres Sg P2 => chete + "ø";
|
||||
VPres Sg P3 => chete;
|
||||
VPres Pl P1 => case chete of {
|
||||
_ + ("à"|"ÿ") => chete + "ìå";
|
||||
_ => chete + "ì"
|
||||
};
|
||||
VPres Pl P2 => chete + "òå";
|
||||
VPres Pl P3 => case cheta of {
|
||||
vika + "ì" => case chete of {
|
||||
dad + "å" => dad + "àò";
|
||||
vika => vika + "ò"
|
||||
};
|
||||
_ => cheta + "ò"
|
||||
};
|
||||
VAorist Sg P1 => chetoh;
|
||||
VAorist Sg _ => case chetoh of {
|
||||
chet+"îõ" => chete;
|
||||
zova+ "õ" => zova
|
||||
};
|
||||
VAorist Pl P1 => chetoh + "ìå";
|
||||
VAorist Pl P2 => chetoh + "òå";
|
||||
VAorist Pl P3 => chetoh + "à";
|
||||
VImperfect Sg P1 => chetqh;
|
||||
VImperfect Sg _ => case chete of {
|
||||
rabot + "è" => rabot + "eøå";
|
||||
_ => chete + "øå"
|
||||
};
|
||||
VImperfect Pl P1 => chetqh + "ìå";
|
||||
VImperfect Pl P2 => chetqh + "òå";
|
||||
VImperfect Pl P3 => chetqh + "à";
|
||||
VPerfect aform =>let chel1 : Str =
|
||||
case chel of {
|
||||
pas+"úë" => pas+"ë";
|
||||
_ => chel
|
||||
}
|
||||
in (mkAdjective chel
|
||||
(chel+"èÿ")
|
||||
(chel+"èÿò")
|
||||
(chel1+"a")
|
||||
(chel1+"àòà")
|
||||
(chel1+"î")
|
||||
(chel1+"îòî")
|
||||
(ia2e chel1+"è")
|
||||
(ia2e chel1+"èòå")).s ! aform ;
|
||||
VPluPerfect aform => (regAdjective chetql ).s ! aform ;
|
||||
VPassive aform => (regAdjective cheten ).s ! aform ;
|
||||
VPresPart aform => (regAdjective chetqst).s ! aform ;
|
||||
VImperative Sg => cheti;
|
||||
VImperative Pl => case cheti of {
|
||||
chet + "è" => chet + "åòå";
|
||||
ela => ela + "òå"
|
||||
};
|
||||
VGerund => case chete of {
|
||||
rabot + "è" => rabot + "åéêè";
|
||||
_ => chete + "éêè"
|
||||
}
|
||||
} ;
|
||||
} ;
|
||||
|
||||
-- For $Sentence$.
|
||||
|
||||
Clause : Type = {
|
||||
s : Tense => Anteriority => Polarity => Order => Str
|
||||
} ;
|
||||
|
||||
mkClause : Str -> Agr -> VP -> Clause =
|
||||
\subj,agr,vp -> {
|
||||
s = \\t,a,b,o =>
|
||||
let
|
||||
verb = vp.s ! t ! a ! b ! agr ;
|
||||
compl = vp.s2 ! agr
|
||||
in case o of {
|
||||
ODir => subj ++ verb ++ compl ;
|
||||
OQuest => subj ++ verb ++ "ëè" ++ compl
|
||||
}
|
||||
} ;
|
||||
|
||||
mkIP : Str -> GenNum -> {s : Str ; gn : GenNum} =
|
||||
\s,gn -> {
|
||||
s = s ;
|
||||
gn = gn
|
||||
} ;
|
||||
|
||||
mkNP : (az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite : Str) -> GenNum -> Person -> {s : Case => Str ; a : Agr} =
|
||||
\az,men,moj,moia,moiat,moia_,moiata,moe,moeto,moi,moite,gn,p -> {
|
||||
s = table {
|
||||
Nom => az ;
|
||||
Acc => men ;
|
||||
Gen aform => (mkAdjective moj moia moiat moia_ moiata moe moeto moi moite).s ! aform
|
||||
} ;
|
||||
a = {
|
||||
gn = gn ;
|
||||
p = p
|
||||
}
|
||||
} ;
|
||||
|
||||
mkQuestion :
|
||||
{s : Str} -> Clause ->
|
||||
{s : Tense => Anteriority => Polarity => QForm => Str} = \wh,cl ->
|
||||
{
|
||||
s = \\t,a,p =>
|
||||
let cls = cl.s ! t ! a ! p ;
|
||||
why = wh.s
|
||||
in table {
|
||||
QDir => why ++ cls ! OQuest ;
|
||||
QIndir => why ++ cls ! ODir
|
||||
}
|
||||
} ;
|
||||
}
|
||||
29
lib/resource/bulgarian/SentenceBul.gf
Normal file
29
lib/resource/bulgarian/SentenceBul.gf
Normal file
@@ -0,0 +1,29 @@
|
||||
concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
PredVP np vp = mkClause (np.s ! Nom) np.a vp ;
|
||||
|
||||
ImpVP vp = {
|
||||
s = \\p,i =>
|
||||
let gn : GenNum =
|
||||
case i of {
|
||||
ImpF _ True => GPl ;
|
||||
ImpF Sg _ => GSg (variants {Masc; Fem; Neut}) ;
|
||||
ImpF Pl _ => GPl
|
||||
} ;
|
||||
agr = {gn = gn ; p = P2} ;
|
||||
verb = vp.imp ! p ! numImp i ;
|
||||
compl = vp.s2 ! agr
|
||||
in
|
||||
verb ++ compl
|
||||
} ;
|
||||
|
||||
UseCl t a p cl = {
|
||||
s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! ODir
|
||||
} ;
|
||||
UseQCl t a p cl = {
|
||||
s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q
|
||||
} ;
|
||||
}
|
||||
161
lib/resource/bulgarian/StructuralBul.gf
Normal file
161
lib/resource/bulgarian/StructuralBul.gf
Normal file
@@ -0,0 +1,161 @@
|
||||
concrete StructuralBul of Structural = CatBul **
|
||||
open MorphoBul, (P = ParadigmsBul), Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
lin
|
||||
above_Prep = ss "íàä" ;
|
||||
after_Prep = ss "ñëåä" ;
|
||||
{- all_Predet = ss "all" ;
|
||||
almost_AdA, almost_AdN = ss "almost" ;
|
||||
although_Subj = ss "although" ;
|
||||
always_AdV = ss "always" ;
|
||||
and_Conj = ss "and" ** {n = Pl} ;
|
||||
-}
|
||||
because_Subj = ss "çàùîòî" ;
|
||||
before_Prep = ss "ïðåäè" ;
|
||||
behind_Prep = ss "çàä" ;
|
||||
between_Prep = ss "ìåæäó" ;
|
||||
{-
|
||||
both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
|
||||
but_PConj = ss "but" ;
|
||||
-}
|
||||
by8agent_Prep = ss "÷ðåç" ;
|
||||
by8means_Prep = ss "÷ðåç" ;
|
||||
{-
|
||||
can8know_VV, can_VV = {
|
||||
s = table {
|
||||
VVF VInf => ["be able to"] ;
|
||||
VVF VPres => "can" ;
|
||||
VVF VPPart => ["been able to"] ;
|
||||
VVF VPresPart => ["being able to"] ;
|
||||
VVF VPast => "could" ; --# notpresent
|
||||
VVPastNeg => "couldn't" ; --# notpresent
|
||||
VVPresNeg => "can't"
|
||||
} ;
|
||||
isAux = True
|
||||
} ;
|
||||
-}
|
||||
during_Prep = ss ["ïî âðåìå íà"] ;
|
||||
{-
|
||||
either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
|
||||
everybody_NP = regNP "everybody" Sg ;
|
||||
-}
|
||||
every_Det = mkDeterminerSg "âñåêè" "âñÿêà" "âñÿêî";
|
||||
{-
|
||||
everything_NP = regNP "everything" Sg ;
|
||||
-}
|
||||
everywhere_Adv = ss "íàâñÿêúäå" ;
|
||||
few_Det = mkDeterminerPl "íÿêîëêî" ;
|
||||
--- first_Ord = ss "first" ; DEPRECATED
|
||||
for_Prep = ss "çà" ;
|
||||
from_Prep = ss "îò" ;
|
||||
he_Pron = mkNP "òîé" "íåãî" "ñâîé" "ñâîÿ" "ñâîÿò" "ñâîÿ" "ñâîÿòà" "ñâîå" "ñâîåòî" "ñâîè" "ñâîèòå" (GSg Masc) P3 ;
|
||||
here_Adv = ss "òóê" ;
|
||||
here7to_Adv = ss ["äî òóê"] ;
|
||||
here7from_Adv = ss ["îò òóê"] ;
|
||||
how_IAdv = ss "êàê" ;
|
||||
how8many_IDet = mkDeterminerPl ["êîëêî ìíîãî"] ;
|
||||
if_Subj = ss "àêî" ;
|
||||
in8front_Prep = ss "ïðåä" ;
|
||||
i_Pron = mkNP "àç" "ìåí" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg (variants {Masc;Fem})) P1 ;
|
||||
in_Prep = ss (pre { "â" ;
|
||||
"âúâ" / strs {"â" ; "ô" ; "Â" ; "Ô"}
|
||||
}) ;
|
||||
it_Pron = mkNP "òî" "íåãî" "íåãîâ" "íåãîâèÿ" "íåãîâèÿò" "íåãîâà" "íåãîâàòà" "íåãîâî" "íåãîâîòî" "íåãîâè" "íåãîâèòå" (GSg Neut) P3 ;
|
||||
less_CAdv = ss "ïîìàëêî" ;
|
||||
many_Det = mkDeterminerPl "ìíîãî" ;
|
||||
more_CAdv = ss "ïîâå÷å" ;
|
||||
{-
|
||||
most_Predet = ss "most" ;
|
||||
-}
|
||||
much_Det = mkDeterminerSg "ìíîãî" "ìíîãî" "ìíîãî";
|
||||
{-
|
||||
must_VV = {
|
||||
s = table {
|
||||
VVF VInf => ["have to"] ;
|
||||
VVF VPres => "must" ;
|
||||
VVF VPPart => ["had to"] ;
|
||||
VVF VPresPart => ["having to"] ;
|
||||
VVF VPast => ["had to"] ; --# notpresent
|
||||
VVPastNeg => ["hadn't to"] ; --# notpresent
|
||||
VVPresNeg => "mustn't"
|
||||
} ;
|
||||
isAux = True
|
||||
} ;
|
||||
-}
|
||||
no_Phr = ss "íå" ;
|
||||
on_Prep = ss "íà" ;
|
||||
{-
|
||||
---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
|
||||
only_Predet = ss "only" ;
|
||||
or_Conj = ss "or" ** {n = Sg} ;
|
||||
otherwise_PConj = ss "otherwise" ;
|
||||
-}
|
||||
part_Prep = ss "îò" ;
|
||||
{-
|
||||
please_Voc = ss "please" ;
|
||||
-}
|
||||
possess_Prep = ss "íà" ;
|
||||
quite_Adv = ss "äîñòà" ;
|
||||
she_Pron = mkNP "òÿ" "íåÿ" "íåèí" "íåéíèÿ" "íåéíèÿò" "íåéíà" "íåéíàòà" "íåéíî" "íåéíîòî" "íåéíè" "íåéíèòå" (GSg Fem) P3 ;
|
||||
{-
|
||||
so_AdA = ss "so" ;
|
||||
somebody_NP = regNP "somebody" Sg ;
|
||||
someSg_Det = mkDeterminerSg "íÿêîé" "íÿêîå" "íÿêîÿ" ;
|
||||
somePl_Det = mkDeterminerPl "íÿêîè" ;
|
||||
something_NP = regNP "something" Sg ;
|
||||
-}
|
||||
somewhere_Adv = ss "íÿêúäå" ;
|
||||
that_Quant = mkQuant "îíçè" "îíàçè" "îíîâà" "îíåçè" ;
|
||||
{-
|
||||
that_NP = regNP "that" Sg ;
|
||||
-}
|
||||
there_Adv = ss "òàì" ;
|
||||
there7to_Adv = ss ["äî òàì"] ;
|
||||
there7from_Adv = ss ["îò òàì"] ;
|
||||
{-
|
||||
therefore_PConj = ss "therefore" ;
|
||||
these_NP = regNP "these" Pl ;
|
||||
-}
|
||||
they_Pron = mkNP "òå" "òÿõ" "òåõåí" "òåõíèÿ" "òåõíèÿò" "òÿõíà" "òÿõíàòà" "òÿõíî" "òÿõíîòî" "òåõíè" "òåõíèòå" GPl P3 ;
|
||||
this_Quant = mkQuant "òîçè" "òaçè" "òîâà" "òåçè" ;
|
||||
{-
|
||||
this_NP = regNP "this" Sg ;
|
||||
those_NP = regNP "those" Pl ;
|
||||
-}
|
||||
through_Prep = ss "ïðåç" ;
|
||||
{-
|
||||
too_AdA = ss "too" ;
|
||||
-}
|
||||
to_Prep = ss "äî" ;
|
||||
under_Prep = ss "ïîä" ;
|
||||
{-
|
||||
very_AdA = ss "very" ;
|
||||
want_VV = P.mkVV (P.regV "want") ;
|
||||
-}
|
||||
we_Pron = mkNP "íèå" "íàñ" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ;
|
||||
whatPl_IP = mkIP "êàêâè" GPl ;
|
||||
whatSg_IP = variants { mkIP "êàêúâ" (GSg Masc); mkIP "êàêâà" (GSg Fem); mkIP "êàêâî" (GSg Neut) } ;
|
||||
when_IAdv = ss "êîãà" ;
|
||||
{-
|
||||
when_Subj = ss "when" ;
|
||||
-}
|
||||
where_IAdv = ss "êúäå" ;
|
||||
{-
|
||||
whichPl_IDet = mkDeterminer Pl ["which"] ;
|
||||
whichSg_IDet = mkDeterminer Sg ["which"] ;
|
||||
-}
|
||||
whoSg_IP = variants { mkIP "êîé" (GSg Masc); mkIP "êîÿ" (GSg Fem); mkIP "êîå" (GSg Neut) } ;
|
||||
whoPl_IP = mkIP "êîè" GPl ;
|
||||
why_IAdv = ss "çàùî" ;
|
||||
without_Prep = ss "áåç" ;
|
||||
with_Prep = ss (pre { "ñ" ;
|
||||
"ñúñ" / strs {"ñ" ; "ç" ; "Ñ" ; "Ç"}
|
||||
}) ;
|
||||
yes_Phr = ss "äà" ;
|
||||
youSg_Pron = mkNP "òè" "òåá" "òâîé" "òâîÿ" "òâîÿò" "òâîÿ" "òâîÿòà" "òâîå" "òâîåòî" "òâîè" "òâîèòå" (GSg (variants {Masc;Fem})) P2 ;
|
||||
youPl_Pron = mkNP "âèå" "âàñ" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" GPl P2 ;
|
||||
youPol_Pron = mkNP "âèå" "âàñ" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg (variants {Masc;Fem})) P2 ;
|
||||
}
|
||||
|
||||
21
lib/resource/bulgarian/VerbBul.gf
Normal file
21
lib/resource/bulgarian/VerbBul.gf
Normal file
@@ -0,0 +1,21 @@
|
||||
concrete VerbBul of Verb = CatBul ** open ResBul in {
|
||||
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
UseV = predV ;
|
||||
ComplV2 v np = insertObj (\\_ => v.c2 ++ np.s ! Acc) (predV v) ;
|
||||
ComplV3 v np np2 =
|
||||
insertObj (\\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc) (predV v) ;
|
||||
|
||||
UseComp comp = insertObj comp.s (predV auxBe) ;
|
||||
|
||||
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
||||
|
||||
ReflV2 v = insertObj (\\_ => v.c2 ++ ["ñåáå ñè"]) (predV v) ;
|
||||
|
||||
PassV2 v = insertObj (\\a => v.s ! VPassive (aformGenNum a.gn)) (predV auxBe) ;
|
||||
|
||||
CompNP np = {s = \\_ => np.s ! Acc} ;
|
||||
CompAdv a = {s = \\_ => a.s} ;
|
||||
}
|
||||
644
lib/resource/bulgarian/VerbParadigmsBul.gf
Normal file
644
lib/resource/bulgarian/VerbParadigmsBul.gf
Normal file
@@ -0,0 +1,644 @@
|
||||
resource VerbParadigmsBul = open
|
||||
(Predef=Predef),
|
||||
Prelude,
|
||||
MorphoBul,
|
||||
CatBul
|
||||
in {
|
||||
oper
|
||||
mkV142 : Str -> V ;
|
||||
mkV142 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ńúě")
|
||||
(stem+"ĺ")
|
||||
(stem+"á˙ő")
|
||||
(stem+"á˙ő")
|
||||
(stem+"áčë")
|
||||
(stem+"áčë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"áúäč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV143 : Str -> V ;
|
||||
mkV143 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"úäŕ")
|
||||
(stem+"úäĺ")
|
||||
(stem+"čő, čäîő")
|
||||
(stem+"úäĺő, ˙ő")
|
||||
(stem+"čë")
|
||||
(stem+"úäĺë")
|
||||
(stem+"-")
|
||||
(stem+"úäĺů")
|
||||
(stem+"úäč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV144 : Str -> V ;
|
||||
mkV144 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV145 : Str -> V ;
|
||||
mkV145 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"îő")
|
||||
(stem+"˙ő")
|
||||
(init stem+"ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺí")
|
||||
(stem+"˙ů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV145a : Str -> V ;
|
||||
mkV145a base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ńŕ")
|
||||
(stem+"ńĺ")
|
||||
(stem+"ńîő")
|
||||
(stem+"ń˙ő")
|
||||
(stem+"ńúë")
|
||||
(stem+"ń˙ë")
|
||||
(stem+"ńĺí")
|
||||
(stem+"ń˙ů")
|
||||
(stem+"ńč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV145b : Str -> V ;
|
||||
mkV145b base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ňŕ")
|
||||
(stem+"ňĺ")
|
||||
(stem+"ňîő")
|
||||
(stem+"ň˙ő")
|
||||
(stem+"úë")
|
||||
(stem+"ň˙ë")
|
||||
(stem+"-")
|
||||
(stem+"ň˙ů")
|
||||
(stem+"ňč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV146 : Str -> V ;
|
||||
mkV146 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"äŕ")
|
||||
(stem+"äĺ")
|
||||
(stem+"äîő")
|
||||
(stem+"äĺő")
|
||||
(stem+"řúë")
|
||||
(stem+"äĺë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"äč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV146a : Str -> V ;
|
||||
mkV146a base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"éäŕ")
|
||||
(stem+"éäĺ")
|
||||
(stem+"éäîő")
|
||||
(stem+"éäĺő")
|
||||
(stem+"řúë")
|
||||
(stem+"éäĺë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"éäč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV147 : Str -> V ;
|
||||
mkV147 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"˙çŕ")
|
||||
(stem+"ĺçĺ")
|
||||
(stem+"˙çîő")
|
||||
(stem+"ĺçĺő")
|
||||
(stem+"˙çúë")
|
||||
(stem+"ĺçĺë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"ĺç")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV148 : Str -> V ;
|
||||
mkV148 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ęŕ")
|
||||
(stem+"÷ĺ")
|
||||
(stem+"ęîő")
|
||||
(stem+"÷ĺő")
|
||||
(stem+"ęúë")
|
||||
(stem+"÷ĺë")
|
||||
(stem+"÷ĺí")
|
||||
(stem+"÷ŕů")
|
||||
(stem+"÷č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV149 : Str -> V ;
|
||||
mkV149 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ĺęŕ")
|
||||
(stem+"ĺ÷ĺ")
|
||||
(stem+"˙ęîő")
|
||||
(stem+"ĺ÷ĺő")
|
||||
(stem+"˙ęúë")
|
||||
(stem+"ĺ÷ĺë")
|
||||
(stem+"ĺ÷ĺí")
|
||||
(stem+"-")
|
||||
(stem+"ĺ÷č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV150 : Str -> V ;
|
||||
mkV150 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙í")
|
||||
(stem+"-")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV150a : Str -> V ;
|
||||
mkV150a base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"-")
|
||||
(stem+"-")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV151 : Str -> V ;
|
||||
mkV151 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"ŕő")
|
||||
(stem+"˙ő")
|
||||
(stem+"ŕë")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ů")
|
||||
(stem+"ŕí")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV152 : Str -> V ;
|
||||
mkV152 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"ŕő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ŕë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ŕň")
|
||||
(stem+"-")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV152a : Str -> V ;
|
||||
mkV152a base = let stem = (init (init (init (init base))))
|
||||
in mkVerb (stem+"˙ăíŕ")
|
||||
(stem+"ĺăíĺ")
|
||||
(stem+"˙ăíŕő")
|
||||
(stem+"˙ăíĺő")
|
||||
(stem+"˙ăíŕë")
|
||||
(stem+"˙ăíĺë")
|
||||
(stem+"˙ăíŕň")
|
||||
(stem+"-")
|
||||
(stem+"ĺăíč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV153 : Str -> V ;
|
||||
mkV153 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"˙íŕ")
|
||||
(stem+"ĺíĺ")
|
||||
(stem+"˙íŕő")
|
||||
(stem+"ĺíĺő")
|
||||
(stem+"˙íŕë")
|
||||
(stem+"ĺíĺë")
|
||||
(stem+"˙íŕň")
|
||||
(stem+"-")
|
||||
(stem+"ĺíč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV154 : Str -> V ;
|
||||
mkV154 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"ĺ")
|
||||
(stem+"ŕő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ŕë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ŕí")
|
||||
(stem+"ĺů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV155 : Str -> V ;
|
||||
mkV155 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"÷ŕ")
|
||||
(stem+"÷ĺ")
|
||||
(stem+"ęŕő")
|
||||
(stem+"÷ĺő")
|
||||
(stem+"ęŕë")
|
||||
(stem+"÷ĺë")
|
||||
(stem+"-")
|
||||
(stem+"÷ĺů")
|
||||
(stem+"÷č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV156 : Str -> V ;
|
||||
mkV156 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ćŕ")
|
||||
(stem+"ćĺ")
|
||||
(stem+"çŕő")
|
||||
(stem+"ćĺő")
|
||||
(stem+"çŕë")
|
||||
(stem+"ćĺë")
|
||||
(stem+"çŕí")
|
||||
(stem+"-")
|
||||
(stem+"ćč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV157 : Str -> V ;
|
||||
mkV157 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ĺćŕ")
|
||||
(stem+"ĺćĺ")
|
||||
(stem+"˙çŕő")
|
||||
(stem+"ĺćĺő")
|
||||
(stem+"˙çŕë")
|
||||
(stem+"ĺćĺë")
|
||||
(stem+"˙çŕí")
|
||||
(stem+"ĺćĺů")
|
||||
(stem+"ĺćč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV158 : Str -> V ;
|
||||
mkV158 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ćŕ")
|
||||
(stem+"ćĺ")
|
||||
(stem+"ăŕő")
|
||||
(stem+"ćĺő")
|
||||
(stem+"ăŕë")
|
||||
(stem+"ćĺë")
|
||||
(stem+"ăŕí")
|
||||
(stem+"ćĺů")
|
||||
(stem+"ćč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV159 : Str -> V ;
|
||||
mkV159 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"řŕ")
|
||||
(stem+"řĺ")
|
||||
(stem+"ńŕő")
|
||||
(stem+"řĺő")
|
||||
(stem+"ńŕë")
|
||||
(stem+"řĺë")
|
||||
(stem+"ńŕí")
|
||||
(stem+"řĺů")
|
||||
(stem+"řč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV160 : Str -> V ;
|
||||
mkV160 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ĺ˙")
|
||||
(stem+"ĺĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"ĺĺő")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺĺë")
|
||||
(stem+"˙í")
|
||||
(stem+"ĺĺů")
|
||||
(stem+"ĺé")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV160a : Str -> V ;
|
||||
mkV160a base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ĺ˙")
|
||||
(stem+"ĺĺ")
|
||||
(stem+"ŕő")
|
||||
(stem+"ĺĺő")
|
||||
(stem+"ŕë")
|
||||
(stem+"ĺĺë")
|
||||
(stem+"ŕí")
|
||||
(stem+"ĺĺů")
|
||||
(stem+"ĺé")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV161 : Str -> V ;
|
||||
mkV161 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"ĺ")
|
||||
(stem+"ő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ë")
|
||||
(stem+"ĺë")
|
||||
(stem+"í")
|
||||
(stem+"ĺů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV161a : Str -> V ;
|
||||
mkV161a base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"ĺ")
|
||||
(stem+"ő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ň")
|
||||
(stem+"ĺů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV162 : Str -> V ;
|
||||
mkV162 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"ĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"ĺő")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺë")
|
||||
(stem+"-")
|
||||
(stem+"ĺů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV163 : Str -> V ;
|
||||
mkV163 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"ĺ")
|
||||
(stem+"ő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ň")
|
||||
(stem+"ĺů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV164 : Str -> V ;
|
||||
mkV164 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ĺ˙")
|
||||
(stem+"ĺĺ")
|
||||
(stem+"˙ő")
|
||||
(stem+"ĺĺő")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺĺë")
|
||||
(stem+"˙ň")
|
||||
(stem+"ĺĺů")
|
||||
(stem+"ĺé")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV165 : Str -> V ;
|
||||
mkV165 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"ĺ")
|
||||
(stem+"ĺő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ĺë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ĺů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV166 : Str -> V ;
|
||||
mkV166 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ăŕ")
|
||||
(stem+"ćĺ")
|
||||
(stem+"ćŕő")
|
||||
(stem+"ćĺő")
|
||||
(stem+"ăúë")
|
||||
(stem+"ćĺë")
|
||||
(stem+"-")
|
||||
(stem+"ćĺů")
|
||||
(stem+"-")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV167 : Str -> V ;
|
||||
mkV167 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ęŕ")
|
||||
(stem+"÷ĺ")
|
||||
(stem+"ęŕő")
|
||||
(stem+"÷ĺő")
|
||||
(stem+"ęŕë")
|
||||
(stem+"÷ĺë")
|
||||
(stem+"ęŕí")
|
||||
(stem+"÷ĺů")
|
||||
(stem+"÷č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV168 : Str -> V ;
|
||||
mkV168 base = let stem = (init base)
|
||||
in mkVerb (stem+"ě")
|
||||
(stem+"äĺ")
|
||||
(stem+"äîő")
|
||||
(stem+"ä˙ő")
|
||||
(stem+"ë")
|
||||
(stem+"ä˙ë")
|
||||
(stem+"äĺí")
|
||||
(stem+"-")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV169 : Str -> V ;
|
||||
mkV169 base = let stem = (init base)
|
||||
in mkVerb (stem+"ě")
|
||||
(stem+"äĺ")
|
||||
(stem+"äîő")
|
||||
(stem+"ä˙ő")
|
||||
(stem+"ë")
|
||||
(stem+"ä˙ë")
|
||||
(stem+"äĺí")
|
||||
(stem+"äĺů")
|
||||
(stem+"ć")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV170 : Str -> V ;
|
||||
mkV170 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ĺđŕ")
|
||||
(stem+"ĺđĺ")
|
||||
(stem+"đŕő")
|
||||
(stem+"ĺđ˙ő")
|
||||
(stem+"đŕë")
|
||||
(stem+"ĺđ˙ë")
|
||||
(stem+"đŕí")
|
||||
(stem+"ĺđ˙ů")
|
||||
(stem+"ĺđč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV171 : Str -> V ;
|
||||
mkV171 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ěŕ")
|
||||
(stem+"ěĺ")
|
||||
(stem+"ő")
|
||||
(stem+"ěĺő")
|
||||
(stem+"ë")
|
||||
(stem+"ěĺë")
|
||||
(stem+"ň")
|
||||
(stem+"-")
|
||||
(stem+"ěč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV172 : Str -> V ;
|
||||
mkV172 base = let stem = (init (init (init (init base))))
|
||||
in mkVerb (stem+"úëíŕ")
|
||||
(stem+"úëíĺ")
|
||||
(stem+"ëĺő")
|
||||
(stem+"úëíĺő")
|
||||
(stem+"ëĺë")
|
||||
(stem+"úëíĺë")
|
||||
(stem+"úëíŕň")
|
||||
(stem+"úëíĺů")
|
||||
(stem+"úëíč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV173 : Str -> V ;
|
||||
mkV173 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"čő")
|
||||
(stem+"ĺő")
|
||||
(stem+"čë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ĺí")
|
||||
(stem+"ĺů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV174 : Str -> V ;
|
||||
mkV174 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"čő")
|
||||
(stem+"˙ő")
|
||||
(stem+"čë")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺí")
|
||||
(stem+"˙ů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV175 : Str -> V ;
|
||||
mkV175 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"čő")
|
||||
(stem+"˙ő")
|
||||
(stem+"čë")
|
||||
(stem+"˙ë")
|
||||
(stem+"ĺí")
|
||||
(stem+"˙ů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV176 : Str -> V ;
|
||||
mkV176 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"č")
|
||||
(stem+"čő")
|
||||
(stem+"ĺő")
|
||||
(stem+"čë")
|
||||
(stem+"ĺë")
|
||||
(stem+"ĺí")
|
||||
(stem+"ĺů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV177 : Str -> V ;
|
||||
mkV177 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙í")
|
||||
(stem+"˙ů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV178 : Str -> V ;
|
||||
mkV178 base = let stem = (init base)
|
||||
in mkVerb (stem+"ŕ")
|
||||
(stem+"č")
|
||||
(stem+"ŕő")
|
||||
(stem+"ĺő")
|
||||
(stem+"ŕë")
|
||||
(stem+"ĺë")
|
||||
(stem+"-")
|
||||
(stem+"ŕů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV179 : Str -> V ;
|
||||
mkV179 base = let stem = (init (init (init (init base))))
|
||||
in mkVerb (stem+"úđćŕ")
|
||||
(stem+"úđćč")
|
||||
(stem+"úđćŕő")
|
||||
(stem+"úđćĺő")
|
||||
(stem+"úđćŕë")
|
||||
(stem+"úđćĺë")
|
||||
(stem+"úđćŕí")
|
||||
(stem+"úđćŕů")
|
||||
(stem+"đúć")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV180 : Str -> V ;
|
||||
mkV180 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"-")
|
||||
(stem+"˙ů")
|
||||
(stem+"é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV181 : Str -> V ;
|
||||
mkV181 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ä˙")
|
||||
(stem+"äč")
|
||||
(stem+"ä˙ő")
|
||||
(stem+"äĺő")
|
||||
(stem+"ä˙ë")
|
||||
(stem+"äĺë")
|
||||
(stem+"ä˙í")
|
||||
(stem+"-")
|
||||
(stem+"ć")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV182 : Str -> V ;
|
||||
mkV182 base = let stem = (init base)
|
||||
in mkVerb (stem+"˙")
|
||||
(stem+"č")
|
||||
(stem+"ŕő")
|
||||
(stem+"˙ő")
|
||||
(stem+"ŕë")
|
||||
(stem+"˙ë")
|
||||
(stem+"-")
|
||||
(stem+"˙ů")
|
||||
(stem+"č")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV183 : Str -> V ;
|
||||
mkV183 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ĺćŕ")
|
||||
(stem+"ĺćč")
|
||||
(stem+"˙çŕő")
|
||||
(stem+"ĺćĺő")
|
||||
(stem+"˙çŕë")
|
||||
(stem+"ĺćĺë")
|
||||
(stem+"˙çŕí")
|
||||
(stem+"ĺćĺů")
|
||||
(stem+"ĺćč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV184 : Str -> V ;
|
||||
mkV184 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"ĺë˙")
|
||||
(stem+"ĺëč")
|
||||
(stem+"ë˙ő")
|
||||
(stem+"ĺëĺő")
|
||||
(stem+"ë˙ë")
|
||||
(stem+"ĺëĺë")
|
||||
(stem+"ë˙í, ë˙ň")
|
||||
(stem+"ĺëĺů")
|
||||
(stem+"ĺëč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV185 : Str -> V ;
|
||||
mkV185 base = let stem = (init (init (init base)))
|
||||
in mkVerb (stem+"îë˙")
|
||||
(stem+"îëč")
|
||||
(stem+"ëŕő")
|
||||
(stem+"îëĺő")
|
||||
(stem+"ëŕë")
|
||||
(stem+"îëĺë")
|
||||
(stem+"ëŕí")
|
||||
(stem+"îëĺů")
|
||||
(stem+"îëč")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV186 : Str -> V ;
|
||||
mkV186 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"ŕě")
|
||||
(stem+"ŕ")
|
||||
(stem+"ŕő")
|
||||
(stem+"ŕő")
|
||||
(stem+"ŕë")
|
||||
(stem+"ŕë")
|
||||
(stem+"ŕí")
|
||||
(stem+"ŕů")
|
||||
(stem+"ŕé")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
mkV187 : Str -> V ;
|
||||
mkV187 base = let stem = (init (init base))
|
||||
in mkVerb (stem+"˙ě")
|
||||
(stem+"˙")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ő")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙ë")
|
||||
(stem+"˙í")
|
||||
(stem+"˙ů")
|
||||
(stem+"˙é")
|
||||
** {s1 = [] ; lock_V = <>} ;
|
||||
}
|
||||
Reference in New Issue
Block a user