forked from GitHub/gf-core
Major refactoring -> lexical aspect; word order in VP
This commit is contained in:
@@ -51,8 +51,8 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
||||
-- Verb
|
||||
|
||||
VP = {
|
||||
s : ResBul.Tense => Anteriority => Polarity => Agr => Bool => Str ;
|
||||
imp : Polarity => Number => Str ;
|
||||
s : ResBul.Tense => Anteriority => Polarity => Agr => Bool => Aspect => Str ;
|
||||
imp : Polarity => Number => Aspect => Str ;
|
||||
ad : Bool => Str ;
|
||||
s2 : Agr => Str ;
|
||||
subjRole : Role
|
||||
|
||||
@@ -24,16 +24,13 @@ concrete IdiomBul of Idiom = CatBul ** open Prelude, ParadigmsBul, ResBul in {
|
||||
|
||||
agr=agrP3 (GSg Neut);
|
||||
|
||||
present = verb.s ! (VPres (numGenNum agr.gn) agr.p) ;
|
||||
aorist = verb.s ! (VAorist (numGenNum agr.gn) agr.p) ;
|
||||
perfect = verb.s ! (VPerfect (aform agr.gn Indef (RObj Acc))) ;
|
||||
present = verb ! (VPres (numGenNum agr.gn) agr.p) ;
|
||||
aorist = verb ! (VAorist (numGenNum agr.gn) agr.p) ;
|
||||
perfect = verb ! (VPerfect (aform agr.gn Indef (RObj Acc))) ;
|
||||
|
||||
auxPres = auxBe [] ! VPres (numGenNum agr.gn) agr.p ;
|
||||
auxAorist = auxBe [] ! VAorist (numGenNum agr.gn) agr.p ;
|
||||
auxPerfect = auxBe [] ! VPerfect (aform agr.gn Indef (RObj Acc)) ;
|
||||
auxCondS = auxWould [] ! VAorist (numGenNum agr.gn) agr.p ;
|
||||
auxCondA = auxCondS ++
|
||||
auxBe [] ! VPerfect (aform agr.gn Indef (RObj Acc)) ;
|
||||
auxPres = auxBe ! VPres (numGenNum agr.gn) agr.p ;
|
||||
auxAorist = auxBe ! VAorist (numGenNum agr.gn) agr.p ;
|
||||
auxCondS = auxWould ! VAorist (numGenNum agr.gn) agr.p ;
|
||||
|
||||
v : {aux1:Str; aux2:Str; main:Str}
|
||||
= case <t,a> of {
|
||||
@@ -43,8 +40,7 @@ concrete IdiomBul of Idiom = CatBul ** open Prelude, ParadigmsBul, ResBul in {
|
||||
<Past,Anter> => {aux1=[]; aux2=auxAorist; main=perfect} ;
|
||||
<Fut, Simul> => {aux1="ùå"; aux2=[]; main=present} ;
|
||||
<Fut, Anter> => {aux1="ùå"++auxPres; aux2=[]; main=perfect} ;
|
||||
<Cond,Simul> => {aux1=auxCondS; aux2=[]; main=perfect} ;
|
||||
<Cond,Anter> => {aux1=auxCondA; aux2=[]; main=perfect}
|
||||
<Cond,_> => {aux1=auxCondS; aux2=[]; main=perfect}
|
||||
} ;
|
||||
|
||||
in case o of {
|
||||
@@ -58,8 +54,16 @@ concrete IdiomBul of Idiom = CatBul ** open Prelude, ParadigmsBul, ResBul in {
|
||||
mkQuestion (ss (ip.s ! Nom))
|
||||
(mkClause "there" (agrP3 ip.n) (predAux auxBe)) ;
|
||||
-}
|
||||
ProgrVP vp = vp ;
|
||||
ProgrVP vp = {
|
||||
s = \\t,a,p,agr,q,asp => vp.s ! t ! a ! p ! agr ! q ! Imperf ;
|
||||
imp = \\p,n,_ => vp.imp ! p ! n ! Imperf ;
|
||||
ad = vp.ad ;
|
||||
s2 = vp.s2 ;
|
||||
subjRole = vp.subjRole
|
||||
} ;
|
||||
|
||||
ImpPl1 vp = {s = "íåêà" ++ vp.s ! Pres ! Simul ! Pos ! {gn = GPl ; p = P1} ! False ++ vp.s2 ! {gn = GPl ; p = P1}} ;
|
||||
ImpPl1 vp = {s = let verbs = vp.s ! Pres ! Simul ! Pos ! {gn = GPl ; p = P1} ! False ! Imperf ;
|
||||
in "íåêà" ++ vp.s2 ! {gn = GPl ; p = P1}
|
||||
} ;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,18 +8,18 @@ flags
|
||||
|
||||
lin
|
||||
airplane_N = mkN007 "ñàìîëåò" ;
|
||||
answer_V2S = mkV2S (mkV187 "îòãîâàðÿì") naP ;
|
||||
answer_V2S = mkV2S (actionV (mkV187 "îòãîâàðÿì") (mkV173 "îòãîâîðÿ")) naP ;
|
||||
apartment_N = mkN007 "àïàðòàìåíò" ;
|
||||
apple_N = mkN041 "ÿáúëêà" ;
|
||||
art_N = mkN054 "èçêóñòâî" ;
|
||||
ask_V2Q = mkV2Q (mkV186 "ïèòàì") noPrep ;
|
||||
ask_V2Q = mkV2Q (stateV (mkV186 "ïèòàì")) noPrep ;
|
||||
baby_N = mkN065 "áåáå" ;
|
||||
bad_A = mkA076 "ëîø" ;
|
||||
bank_N = mkN041 "áàíêà" ;
|
||||
beautiful_A = mkA076 "êðàñèâ" ;
|
||||
become_VA = mkVA (mkV152 "ñòàíà") ;
|
||||
become_VA = mkVA (actionV (mkV186 "ñòàâàì") (mkV152 "ñòàíà")) ;
|
||||
beer_N = mkN041 "áèðà" ;
|
||||
beg_V2V = mkV2V (mkV173 "ìîëÿ") noPrep zaP ;
|
||||
beg_V2V = mkV2V (stateV (mkV173 "ìîëÿ")) noPrep zaP ;
|
||||
big_A = mkA081 "ãîëÿì" ;
|
||||
bike_N = mkN061 "êîëåëî" ;
|
||||
bird_N = mkN041 "ïòèöà" ;
|
||||
@@ -31,12 +31,12 @@ lin
|
||||
boss_N = mkN001 "øåô" ;
|
||||
boy_N = mkN065 "ìîì÷å" ;
|
||||
bread_N = mkN001 "õëÿá" ;
|
||||
break_V2 = dirV2 (mkV173 "÷óïÿ") ;
|
||||
break_V2 = dirV2 (actionV (mkV173 "÷óïÿ") (mkV173 "ñ÷óïÿ")) ;
|
||||
broad_A = mkA079 "îáøèðåí" ;
|
||||
brother_N2 = prepN2 (mkN025 "áðàò") naP ;
|
||||
brown_A = mkA076 "êàôÿâ" ;
|
||||
butter_N = mkN054 "ìàñëî" ;
|
||||
buy_V2 = dirV2 (mkV173 "êóïÿ") ;
|
||||
buy_V2 = dirV2 (actionV (mkV186 "êóïóâàì") (mkV173 "êóïÿ")) ;
|
||||
camera_N = mkN041 "êàìåðà" ;
|
||||
cap_N = mkN041 "øàïêà" ;
|
||||
car_N = mkN041 "êîëà" ;
|
||||
@@ -50,50 +50,50 @@ lin
|
||||
city_N = mkN001 "ãðàä" ;
|
||||
clean_A = mkA076 "÷èñò" ;
|
||||
clever_A = mkA079 "óìåí" ;
|
||||
close_V2 = dirV2 (mkV173 "çàòâîðÿ") ;
|
||||
close_V2 = dirV2 (actionV (mkV187 "çàòâàðÿì") (mkV173 "çàòâîðÿ")) ;
|
||||
coat_N = mkN054 "ïàëòî" ;
|
||||
cold_A = mkA076 "ñòóäåí" ;
|
||||
come_V = mkV146a "äîéäà" ;
|
||||
come_V = actionV (mkV165 "èäà") (mkV146a "äîéäà") ;
|
||||
computer_N = mkN009 "êîìïþòúð" ;
|
||||
country_N = mkN041 "äúðæàâà" ;
|
||||
cousin_N = mkN007a "áðàòîâ÷åä" ;
|
||||
cow_N = mkN041 "êðàâà" ;
|
||||
die_V = mkV186 "óìèðàì" ;
|
||||
die_V = actionV (mkV186 "óìèðàì") (mkV150a "óìðà") ;
|
||||
dirty_A = mkA079 "ìðúñåí" ;
|
||||
distance_N3 = prepN3 (mkN072 "ðàçñòîÿíèå") otP doP ;
|
||||
doctor_N = mkN007a "äîêòîð" ;
|
||||
dog_N = mkN065 "êó÷å" ;
|
||||
door_N = mkN041 "âðàòà" ;
|
||||
drink_V2 = dirV2 (mkV163 "ïèÿ") ;
|
||||
drink_V2 = dirV2 (stateV (mkV163 "ïèÿ")) ;
|
||||
easy_A2V = mkA2V (mkA079 "ëåñåí") zaP ;
|
||||
eat_V2 = dirV2 (mkV169 "ÿì") ;
|
||||
eat_V2 = dirV2 (stateV (mkV169 "ÿì")) ;
|
||||
empty_A = mkA079 "ïðàçåí" ;
|
||||
enemy_N = mkN001 "âðàã" ;
|
||||
factory_N = mkN041 "ôàáðèêà" ;
|
||||
father_N2 = prepN2 (mkN038 "áàùà") naP ;
|
||||
fear_VS = mkVS (mkV186 "ñòðàõóâàì") ;
|
||||
find_V2 = dirV2 (mkV173 "íàìåðÿ") ;
|
||||
fear_VS = mkVS (stateV (mkV186 "ñòðàõóâàì")) ;
|
||||
find_V2 = dirV2 (actionV (mkV186 "íàìèðàì") (mkV173 "íàìåðÿ")) ;
|
||||
fish_N = mkN041 "ðèáà" ;
|
||||
floor_N = mkN007 "åòàæ" ;
|
||||
fridge_N = mkN007 "ôðèçåð" ;
|
||||
friend_N = mkN031a "ïðèÿòåë" ;
|
||||
fruit_N = mkN001 "ïëîä" ;
|
||||
fun_AV = mkAV (mkA079 "çàáàâåí") ;
|
||||
forget_V2 = dirV2 (mkV173 "çàáðàâÿ") ;
|
||||
forget_V2 = dirV2 (actionV (mkV187 "çàáðàâÿì") (mkV173 "çàáðàâÿ")) ;
|
||||
garden_N = mkN041 "ãðàäèíà" ;
|
||||
girl_N = mkN065 "ìîìè÷å" ;
|
||||
glove_N = mkN041 "ðúêàâèöà" ;
|
||||
gold_N = mkN054 "çëàòî" ;
|
||||
good_A = mkA080 "äîáúð" ;
|
||||
go_V = mkV186 "îòèâàì" ;
|
||||
go_V = actionV (mkV186 "îòèâàì") (mkV146 "îòèäà") ;
|
||||
green_A = mkA076 "çåëåí" ;
|
||||
harbour_N = mkN066 "ïðèñòàíèùå" ;
|
||||
hate_V2 = dirV2 (mkV173 "ìðàçÿ") ;
|
||||
hate_V2 = dirV2 (stateV (mkV173 "ìðàçÿ")) ;
|
||||
hat_N = mkN041 "øàïêà" ;
|
||||
have_V2 = dirV2 (mkV186 "èìàì") ;
|
||||
hear_V2 = dirV2 (mkV186 "÷óâàì") ;
|
||||
have_V2 = dirV2 (stateV (mkV186 "èìàì")) ;
|
||||
hear_V2 = dirV2 (actionV (mkV186 "÷óâàì") (mkV163 "÷óÿ")) ;
|
||||
hill_N = mkN001 "õúëì" ;
|
||||
hope_VS = mkVS (reflV (mkV186 "íàäÿâàì") Acc) ;
|
||||
hope_VS = mkVS (reflV (stateV (mkV186 "íàäÿâàì")) Acc) ;
|
||||
horse_N = mkN035 "êîí" ;
|
||||
hot_A = mkA076 "ãîðåù" ;
|
||||
house_N = mkN041 "êúùà" ;
|
||||
@@ -101,19 +101,19 @@ lin
|
||||
industry_N = mkN047 "èíäóñòðèÿ" ;
|
||||
iron_N = mkN057 "æåëÿçî" ;
|
||||
king_N = mkN035a "öàð" ;
|
||||
know_V2 = dirV2 (mkV162 "çíàÿ") ;
|
||||
know_V2 = dirV2 (stateV (mkV162 "çíàÿ")) ;
|
||||
lake_N = mkN054 "åçåðî" ;
|
||||
lamp_N = mkN041 "ëàìïà" ;
|
||||
learn_V2 = dirV2 (mkV176 "ó÷à") ;
|
||||
learn_V2 = dirV2 (stateV (mkV176 "ó÷à")) ;
|
||||
leather_N = mkN041 "êîæà" ;
|
||||
leave_V2 = dirV2 (mkV173 "îñòàâÿ") ;
|
||||
like_V2 = dirV2 (mkV186 "õàðåñâàì") ;
|
||||
listen_V2 = dirV2 (mkV186 "ñëóøàì") ;
|
||||
live_V = mkV160 "æèâåÿ" ;
|
||||
leave_V2 = dirV2 (actionV (mkV187 "îñòàâÿì") (mkV173 "îñòàâÿ")) ;
|
||||
like_V2 = dirV2 (actionV (mkV186 "õàðåñâàì") (mkV186 "õàðåñàì")) ;
|
||||
listen_V2 = dirV2 (stateV (mkV186 "ñëóøàì")) ;
|
||||
live_V = stateV (mkV160 "æèâåÿ") ;
|
||||
long_A = mkA080 "äúëúã" ;
|
||||
lose_V2 = dirV2 (mkV173 "ãóáÿ") ;
|
||||
lose_V2 = dirV2 (actionV (mkV173 "ãóáÿ") (mkV173 "çàãóáÿ")) ;
|
||||
love_N = mkN049 "ëþáîâ" ;
|
||||
love_V2 = dirV2 (mkV186 "îáè÷àì") ;
|
||||
love_V2 = dirV2 (stateV (mkV186 "îáè÷àì")) ;
|
||||
man_N = mkN024 "ìúæ" ;
|
||||
married_A2 = mkA2 (mkA076 "æåíåí") zaP ;
|
||||
meat_N = mkN054 "ìåñî" ;
|
||||
@@ -127,22 +127,22 @@ lin
|
||||
newspaper_N = mkN014 "âåñòíèê" ;
|
||||
oil_N = mkN065 "îëèî" ;
|
||||
old_A = mkA076 "ñòàð" ;
|
||||
open_V2 = dirV2 (mkV187 "îòâàðÿì") ;
|
||||
paint_V2A = mkV2A (mkV186 "ðèñóâàì") noPrep ;
|
||||
open_V2 = dirV2 (actionV (mkV187 "îòâàðÿì") (mkV173 "îòâîðÿ")) ;
|
||||
paint_V2A = mkV2A (actionV (mkV186 "ðèñóâàì") (mkV186 "íàðèñóâàì")) noPrep ;
|
||||
paper_N = mkN047 "õàðòèÿ" ;
|
||||
paris_PN = mkPN "Ïàðèæ" Masc ;
|
||||
peace_N = mkN040a "ìèð" ;
|
||||
pen_N = mkN041 "ïèñàëêà" ;
|
||||
planet_N = mkN041 "ïëàíåòà" ;
|
||||
plastic_N = mkN041 "ïëàñòìàñà" ;
|
||||
play_V2 = dirV2 (mkV161 "èãðàÿ") ;
|
||||
play_V2 = dirV2 (stateV (mkV161 "èãðàÿ")) ;
|
||||
policeman_N = mkN032a "ïîëèöàé" ;
|
||||
priest_N = mkN014 "ñâåùåíèê" ;
|
||||
probable_AS = mkAS (mkA079 "âåðîÿòåí") ;
|
||||
queen_N = mkN041 "êðàëèöà" ;
|
||||
radio_N = mkN054 "ðàäèî" ;
|
||||
rain_V0 = mkV0 (mkV174 "âàëè") ;
|
||||
read_V2 = dirV2 (mkV145 "÷åòà") ;
|
||||
rain_V0 = mkV0 (stateV (mkV174 "âàëè")) ;
|
||||
read_V2 = dirV2 (stateV (mkV145 "÷åòà")) ;
|
||||
red_A = mkA076 "÷åðâåí" ;
|
||||
religion_N = mkN047 "ðåëèãèÿ" ;
|
||||
restaurant_N = mkN007 "ðåñòîðàíò" ;
|
||||
@@ -150,15 +150,15 @@ lin
|
||||
rock_N = mkN041 "ñêàëà" ;
|
||||
roof_N = mkN007 "ïîêðèâ" ;
|
||||
rubber_N = mkN041 "ãóìà" ;
|
||||
run_V = (mkV186 "áÿãàì") ;
|
||||
say_VS = mkVS (mkV186 "êàçâàì") ;
|
||||
run_V = stateV (mkV186 "áÿãàì") ;
|
||||
say_VS = mkVS (actionV (mkV186 "êàçâàì") (mkV156 "êàæà")) ;
|
||||
school_N = mkN066 "ó÷èëèùå" ;
|
||||
science_N = mkN041 "íàóêà" ;
|
||||
sea_N = mkN065 "ìîðå" ;
|
||||
seek_V2 = dirV2 (mkV173 "òúðñÿ") ;
|
||||
see_V2 = dirV2 (mkV186 "âèæäàì") ;
|
||||
sell_V3 = dirV3 (mkV186 "ïðîäàâàì") naP ;
|
||||
send_V3 = dirV3 (mkV186 "ïðàùàì") doP ;
|
||||
seek_V2 = dirV2 (stateV (mkV173 "òúðñÿ")) ;
|
||||
see_V2 = dirV2 (actionV (mkV186 "âèæäàì") (mkV181 "âèäÿ")) ;
|
||||
sell_V3 = dirV3 (stateV (mkV186 "ïðîäàâàì")) naP ;
|
||||
send_V3 = dirV3 (actionV (mkV186 "ïðàùàì") (mkV173 "ïðàòÿ")) doP ;
|
||||
sheep_N = mkN044 "îâöà" ;
|
||||
ship_N = mkN007 "êîðàá" ;
|
||||
shirt_N = mkN041 "ðèçà" ;
|
||||
@@ -167,11 +167,11 @@ lin
|
||||
short_A = mkA076 "êúñ" ;
|
||||
silver_N = mkN054 "ñðåáðî" ;
|
||||
sister_N = mkN041a "ñåñòðà" ;
|
||||
sleep_V = mkV182 "ñïÿ" ;
|
||||
sleep_V = stateV (mkV182 "ñïÿ") ;
|
||||
small_A = mkA080 "ìàëúê" ;
|
||||
snake_N = mkN047 "çìèÿ" ;
|
||||
sock_N = mkN007 "÷îðàï" ;
|
||||
speak_V2 = dirV2 (mkV173 "ãîâîðÿ") ;
|
||||
speak_V2 = dirV2 (stateV (mkV173 "ãîâîðÿ")) ;
|
||||
star_N = mkN041 "çâåçäà" ;
|
||||
steel_N = mkN041 "ñòîìàíà" ;
|
||||
stone_N = mkN017 "êàìúê" ;
|
||||
@@ -179,47 +179,47 @@ lin
|
||||
student_N = mkN007a "ñòóäåíò" ;
|
||||
stupid_A = mkA076 "ãëóïàâ" ;
|
||||
sun_N = mkN066 "ñëúíöå" ;
|
||||
switch8off_V2 = dirV2 (mkV186 "èçêëþ÷âàì") ;
|
||||
switch8on_V2 = dirV2 (mkV186 "âêëþ÷âàì") ;
|
||||
switch8off_V2 = dirV2 (actionV (mkV186 "èçêëþ÷âàì") (mkV176 "èçêëþ÷à")) ;
|
||||
switch8on_V2 = dirV2 (actionV (mkV186 "âêëþ÷âàì") (mkV176 "âêëþ÷à")) ;
|
||||
table_N = mkN041 "ìàñà" ;
|
||||
talk_V3 = mkV3 (mkV173 "ãîâîðÿ") naP zaP ;
|
||||
talk_V3 = mkV3 (stateV (mkV173 "ãîâîðÿ")) naP zaP ;
|
||||
teacher_N = mkN031a "ó÷èòåë" ;
|
||||
teach_V2 = dirV2 (mkV186 "ïðåïîäàâàì") ;
|
||||
teach_V2 = dirV2 (actionV (mkV186 "ïðåïîäàâàì") (mkV168 "ïðåïîäàì")) ;
|
||||
television_N = mkN047 "òåëåâèçèÿ" ;
|
||||
thick_A = mkA076 "äåáåë" ;
|
||||
thin_A = mkA080 "òúíúê" ;
|
||||
train_N = mkN001 "âëàê" ;
|
||||
travel_V = mkV186 "ïúòóâàì" ;
|
||||
travel_V = stateV (mkV186 "ïúòóâàì") ;
|
||||
tree_N = mkN061 "äúðâî" ;
|
||||
ugly_A = mkA076 "ãëóïàâ" ;
|
||||
understand_V2 = dirV2 (mkV186 "ðàçáèðàì") ;
|
||||
understand_V2 = dirV2 (actionV (mkV186 "ðàçáèðàì") (mkV170 "ðàçáåðà")) ;
|
||||
university_N = mkN007 "óíèâåðñèòåò" ;
|
||||
village_N = mkN054 "ñåëî" ;
|
||||
wait_V2 = prepV2 (mkV186 "÷àêàì") zaP ;
|
||||
walk_V = mkV173 "õîäÿ" ;
|
||||
wait_V2 = prepV2 (stateV (mkV186 "÷àêàì")) zaP ;
|
||||
walk_V = stateV (mkV173 "õîäÿ") ;
|
||||
warm_A = mkA080 "òîïúë" ;
|
||||
war_N = mkN041 "âîéíà" ;
|
||||
watch_V2 = dirV2 (mkV186 "ãëåäàì") ;
|
||||
watch_V2 = dirV2 (stateV (mkV186 "ãëåäàì")) ;
|
||||
water_N = mkN041 "âîäà" ;
|
||||
white_A = mkA081 "áÿë" ;
|
||||
window_N = mkN008 "ïðîçîðåö" ;
|
||||
wine_N = mkN054 "âèíî" ;
|
||||
win_V2 = dirV2 (mkV174 "ïîáåäÿ") ;
|
||||
win_V2 = dirV2 (actionV (mkV186 "ïîáåæäàâàì") (mkV174 "ïîáåäÿ")) ;
|
||||
woman_N = mkN041a "æåíà" ;
|
||||
wonder_VQ = mkVQ (reflV (mkV173 "÷óäÿ") Acc) ;
|
||||
wonder_VQ = mkVQ (reflV (actionV (mkV186 "ó÷óäâàì") (mkV173 "÷óäÿ")) Acc) ;
|
||||
wood_N = mkN041 "äúðâåñèíà" ;
|
||||
write_V2 = dirV2 (mkV159 "ïèøà") ;
|
||||
write_V2 = dirV2 (stateV (mkV159 "ïèøà")) ;
|
||||
yellow_A = mkA076 "æúëò" ;
|
||||
young_A = mkA076 "ìëàä" ;
|
||||
do_V2 = dirV2 (mkV160a "âúðøà") ;
|
||||
do_V2 = dirV2 (stateV (mkV160a "âúðøà")) ;
|
||||
now_Adv = mkAdv "ñåãà" ;
|
||||
already_Adv = mkAdv "âå÷å" ;
|
||||
song_N = mkN050 "ïåñåí" ;
|
||||
add_V3 = dirV3 (mkV186 "ñúáèðàì") sP ;
|
||||
add_V3 = dirV3 (actionV (mkV186 "ñúáèðàì") (mkV170 "ñúáåðà")) sP ;
|
||||
number_N = mkN054 "÷èñëî" ;
|
||||
put_V2 = prepV2 (mkV186 "ñëàãàì") noPrep ;
|
||||
stop_V = mkV150 "ñïðà" ;
|
||||
jump_V = mkV176 "ñêî÷à" ;
|
||||
put_V2 = prepV2 (actionV (mkV186 "ñëàãàì") (mkV176 "ñëîæà")) noPrep ;
|
||||
stop_V = actionV (mkV186 "ñïèðàì") (mkV150 "ñïðà") ;
|
||||
jump_V = actionV (mkV186 "ñêà÷àì") (mkV176 "ñêî÷à") ;
|
||||
left_Ord = mkA081 "ëÿâ" ** {nonEmpty=True} ;
|
||||
right_Ord = mkA084 "äåñåí" ** {nonEmpty=True} ;
|
||||
far_Adv = mkAdv "äàëå÷å" ;
|
||||
@@ -299,52 +299,52 @@ lin
|
||||
wing_N = mkN056 "êðèëî" ;
|
||||
worm_N = mkN032 "÷åðâåé" ;
|
||||
year_N = mkN041 "ãîäèíà" ;
|
||||
blow_V = mkV186 "äóõàì" ;
|
||||
breathe_V = dirV2 (mkV186 "äèøàì") ;
|
||||
burn_V = mkV187 "èçãàðÿì" ;
|
||||
dig_V = mkV161 "êîïàÿ" ;
|
||||
fall_V = mkV186 "ïàäàì" ;
|
||||
float_V = mkV186 "ïëàâàì" ;
|
||||
flow_V = mkV148 "òåêà" ;
|
||||
fly_V = mkV177 "ëåòÿ" ;
|
||||
freeze_V = mkV186 "çàìðúçâàì" ;
|
||||
give_V3 = dirV3 (mkV186 "äàâàì") naP ;
|
||||
laugh_V = reflV (mkV160 "ñìåÿ") Acc ;
|
||||
lie_V = mkV178 "ëåæà" ;
|
||||
play_V = mkV161 "èãðàÿ" ;
|
||||
sew_V = mkV163 "øèÿ" ;
|
||||
sing_V = mkV164 "ïåÿ" ;
|
||||
sit_V = mkV177 "ñåäÿ" ;
|
||||
smell_V = mkV159 "ìèðèøà" ;
|
||||
spit_V = mkV163 "ïëþÿ" ;
|
||||
stand_V = mkV180 "ñòîÿ" ;
|
||||
swell_V = mkV186 "íàäóâàì" ;
|
||||
swim_V = mkV186 "ïëóâàì" ;
|
||||
think_V = mkV173 "ìèñëÿ" ;
|
||||
turn_V = mkV186 "îáðúùàì" ;
|
||||
vomit_V = mkV186 "ïîâðúùàì" ;
|
||||
blow_V = stateV (mkV186 "äóõàì") ;
|
||||
breathe_V = dirV2 (stateV (mkV186 "äèøàì")) ;
|
||||
burn_V = actionV (mkV187 "èçãàðÿì") (mkV177 "èçãîðÿ") ;
|
||||
dig_V = stateV (mkV161 "êîïàÿ") ;
|
||||
fall_V = actionV (mkV186 "ïàäàì") (mkV152 "ïàäíà") ;
|
||||
float_V = stateV (mkV186 "ïëàâàì") ;
|
||||
flow_V = stateV (mkV148 "òåêà") ;
|
||||
fly_V = stateV (mkV177 "ëåòÿ") ;
|
||||
freeze_V = stateV (mkV186 "çàìðúçâàì") ;
|
||||
give_V3 = dirV3 (actionV (mkV186 "äàâàì") (mkV186 "äàì")) naP ;
|
||||
laugh_V = reflV (stateV (mkV160 "ñìåÿ")) Acc ;
|
||||
lie_V = stateV (mkV178 "ëåæà") ;
|
||||
play_V = stateV (mkV161 "èãðàÿ") ;
|
||||
sew_V = stateV (mkV163 "øèÿ") ;
|
||||
sing_V = stateV (mkV164 "ïåÿ") ;
|
||||
sit_V = stateV (mkV177 "ñåäÿ") ;
|
||||
smell_V = stateV (mkV159 "ìèðèøà") ;
|
||||
spit_V = stateV (mkV163 "ïëþÿ") ;
|
||||
stand_V = stateV (mkV180 "ñòîÿ") ;
|
||||
swell_V = actionV (mkV186 "íàäóâàì") (mkV163 "íàäóÿ") ;
|
||||
swim_V = stateV (mkV186 "ïëóâàì") ;
|
||||
think_V = stateV (mkV173 "ìèñëÿ") ;
|
||||
turn_V = actionV (mkV186 "îáðúùàì") (mkV152 "îáúðíà") ;
|
||||
vomit_V = actionV (mkV186 "ïîâðúùàì") (mkV152 "ïîâúðíà") ;
|
||||
|
||||
bite_V2 = dirV2 (mkV154 "õàïÿ") ;
|
||||
count_V2 = dirV2 (mkV175 "áðîÿ") ;
|
||||
cut_V2 = dirV2 (mkV157 "ðåæà") ;
|
||||
fear_V2 = dirV2 (reflV (mkV186 "ñòðàõóâàì") Acc) ;
|
||||
fight_V2 = dirV2 (reflV (mkV173 "áîðÿ") Acc) ;
|
||||
hit_V2 = dirV2 (mkV173 "óäàðÿ") ;
|
||||
hold_V2 = dirV2 (mkV179 "äúðæà") ;
|
||||
hunt_V2 = dirV2 (mkV174 "ëîâÿ") ;
|
||||
kill_V2 = dirV2 (mkV163 "óáèÿ") ;
|
||||
pull_V2 = dirV2 (mkV186 "äúðïàì") ;
|
||||
push_V2 = dirV2 (mkV186 "áóòàì") ;
|
||||
rub_V2 = dirV2 (mkV163 "òðèÿ") ;
|
||||
scratch_V2 = dirV2 (mkV186 "äðàñêàì") ;
|
||||
split_V2 = dirV2 (mkV174 "ðàçäåëÿ") ;
|
||||
squeeze_V2 = dirV2 (mkV186 "ñòèñêàì") ;
|
||||
stab_V2 = dirV2 (mkV186 "ïðîìóøâàì") ;
|
||||
suck_V2 = dirV2 (mkV155 "ñó÷à") ;
|
||||
throw_V2 = dirV2 (mkV173 "õâúðëÿ") ;
|
||||
tie_V2 = dirV2 (mkV186 "âðúçâàì") ;
|
||||
wash_V2 = dirV2 (mkV163 "ìèÿ") ;
|
||||
wipe_V2 = dirV2 (mkV159 "áúðøà") ;
|
||||
bite_V2 = dirV2 (stateV (mkV154 "õàïÿ")) ;
|
||||
count_V2 = dirV2 (stateV (mkV175 "áðîÿ")) ;
|
||||
cut_V2 = dirV2 (stateV (mkV157 "ðåæà")) ;
|
||||
fear_V2 = dirV2 (reflV (stateV (mkV186 "ñòðàõóâàì")) Acc) ;
|
||||
fight_V2 = dirV2 (reflV (stateV (mkV173 "áîðÿ")) Acc) ;
|
||||
hit_V2 = dirV2 (actionV (mkV187 "óäðÿì") (mkV173 "óäàðÿ")) ;
|
||||
hold_V2 = dirV2 (stateV (mkV179 "äúðæà")) ;
|
||||
hunt_V2 = dirV2 (stateV (mkV174 "ëîâÿ")) ;
|
||||
kill_V2 = dirV2 (actionV (mkV186 "óáèâàì") (mkV163 "óáèÿ")) ;
|
||||
pull_V2 = dirV2 (stateV (mkV186 "äúðïàì")) ;
|
||||
push_V2 = dirV2 (stateV (mkV186 "áóòàì")) ;
|
||||
rub_V2 = dirV2 (stateV (mkV163 "òðèÿ")) ;
|
||||
scratch_V2 = dirV2 (actionV (mkV186 "äðàñêàì") (mkV152 "äðàñíà")) ;
|
||||
split_V2 = dirV2 (actionV (mkV187 "ðàçäåëÿì") (mkV174 "ðàçäåëÿ")) ;
|
||||
squeeze_V2 = dirV2 (actionV (mkV186 "ñòèñêàì") (mkV152 "ñòèñíà")) ;
|
||||
stab_V2 = dirV2 (actionV (mkV186 "ïðîìóøâàì") (mkV176 "ïðîìóøà")) ;
|
||||
suck_V2 = dirV2 (stateV (mkV155 "ñó÷à")) ;
|
||||
throw_V2 = dirV2 (actionV (mkV187 "õâúðëÿì") (mkV173 "õâúðëÿ")) ;
|
||||
tie_V2 = dirV2 (actionV (mkV186 "âðúçâàì") (mkV156 "âúðæà")) ;
|
||||
wash_V2 = dirV2 (stateV (mkV163 "ìèÿ")) ;
|
||||
wipe_V2 = dirV2 (stateV (mkV159 "áúðøà")) ;
|
||||
|
||||
grammar_N = mkN041 "ãðàìàòèêà" ;
|
||||
language_N = mkN014 "åçèê" ;
|
||||
|
||||
@@ -38,9 +38,9 @@ oper
|
||||
|
||||
--2 Verbs
|
||||
|
||||
mkVerb : (_,_,_,_,_,_,_,_,_:Str) -> V =
|
||||
\cheta,chete,chetoh,chetqh,chel,chetql,cheten,chetqst,cheti -> {
|
||||
s = table {
|
||||
mkVerb : (_,_,_,_,_,_,_,_,_:Str) -> VTable =
|
||||
\cheta,chete,chetoh,chetqh,chel,chetql,cheten,chetqst,cheti ->
|
||||
table {
|
||||
VPres Sg P1 => cheta;
|
||||
VPres Sg P2 => chete + "ø";
|
||||
VPres Sg P3 => chete;
|
||||
@@ -99,9 +99,6 @@ oper
|
||||
_ => chete + "éêè"
|
||||
}
|
||||
} ;
|
||||
vtype = VNormal ;
|
||||
lock_V = <>
|
||||
} ;
|
||||
|
||||
|
||||
--2 Nouns
|
||||
|
||||
@@ -50,7 +50,20 @@ oper
|
||||
|
||||
phrasalV : V -> Case -> V ;
|
||||
phrasalV v c = {s = v.s; vtype = VPhrasal c; lock_V=<>} ;
|
||||
|
||||
actionV : VTable -> VTable -> V ;
|
||||
actionV imperf perf = {
|
||||
s = table {Imperf=>imperf; Perf=>perf};
|
||||
vtype = VNormal;
|
||||
lock_V=<>
|
||||
} ;
|
||||
|
||||
stateV : VTable -> V ;
|
||||
stateV vtable = {
|
||||
s = \\_=>vtable;
|
||||
vtype = VNormal;
|
||||
lock_V=<>
|
||||
} ;
|
||||
|
||||
--3 Zero-place verbs
|
||||
--
|
||||
|
||||
@@ -44,7 +44,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
||||
} ;
|
||||
|
||||
PPartNP np v2 = {
|
||||
s = \\c => np.s ! c ++ v2.s ! VPassive (aform np.a.gn Indef c) ;
|
||||
s = \\c => np.s ! c ++ v2.s ! Perf ! VPassive (aform np.a.gn Indef c) ;
|
||||
a = np.a
|
||||
} ;
|
||||
|
||||
|
||||
@@ -867,7 +867,7 @@ oper
|
||||
(v0)
|
||||
(v0)
|
||||
(v0) ;
|
||||
mkV142 : Str -> V ;
|
||||
mkV142 : Str -> VTable ;
|
||||
mkV142 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ńúě")
|
||||
(v0+"ĺ")
|
||||
@@ -878,7 +878,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"áúäč") ;
|
||||
mkV143 : Str -> V ;
|
||||
mkV143 : Str -> VTable ;
|
||||
mkV143 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"úäŕ")
|
||||
(v0+"úäĺ")
|
||||
@@ -889,7 +889,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"úäĺů")
|
||||
(v0+"úäč") ;
|
||||
mkV144 : Str -> V ;
|
||||
mkV144 : Str -> VTable ;
|
||||
mkV144 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
@@ -900,7 +900,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"-") ;
|
||||
mkV145 : Str -> V ;
|
||||
mkV145 : Str -> VTable ;
|
||||
mkV145 base = let v0 = tk 2 base;
|
||||
v1 = last (tk 1 base)
|
||||
in mkVerb (v0+v1+"ŕ")
|
||||
@@ -912,7 +912,7 @@ oper
|
||||
(v0+v1+"ĺí")
|
||||
(v0+v1+"˙ů")
|
||||
(v0+v1+"č") ;
|
||||
mkV145a : Str -> V ;
|
||||
mkV145a : Str -> VTable ;
|
||||
mkV145a base = let v0 = tk 3 base;
|
||||
v1 = last (tk 2 base)
|
||||
in mkVerb (v0+v1+"ńŕ")
|
||||
@@ -924,7 +924,7 @@ oper
|
||||
(v0+v1+"ńĺí")
|
||||
(v0+v1+"ń˙ů")
|
||||
(v0+v1+"ńč") ;
|
||||
mkV145b : Str -> V ;
|
||||
mkV145b : Str -> VTable ;
|
||||
mkV145b base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ňŕ")
|
||||
(v0+"ňĺ")
|
||||
@@ -935,7 +935,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"ň˙ů")
|
||||
(v0+"ňč") ;
|
||||
mkV146 : Str -> V ;
|
||||
mkV146 : Str -> VTable ;
|
||||
mkV146 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"äŕ")
|
||||
(v0+"äĺ")
|
||||
@@ -946,7 +946,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"äč") ;
|
||||
mkV146a : Str -> V ;
|
||||
mkV146a : Str -> VTable ;
|
||||
mkV146a base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"éäŕ")
|
||||
(v0+"éäĺ")
|
||||
@@ -957,7 +957,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"éäč") ;
|
||||
mkV147 : Str -> V ;
|
||||
mkV147 : Str -> VTable ;
|
||||
mkV147 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"˙çŕ")
|
||||
(v0+"ĺçĺ")
|
||||
@@ -968,7 +968,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"ĺç") ;
|
||||
mkV148 : Str -> V ;
|
||||
mkV148 : Str -> VTable ;
|
||||
mkV148 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ęŕ")
|
||||
(v0+"÷ĺ")
|
||||
@@ -979,7 +979,7 @@ oper
|
||||
(v0+"÷ĺí")
|
||||
(v0+"÷ŕů")
|
||||
(v0+"÷č") ;
|
||||
mkV149 : Str -> V ;
|
||||
mkV149 : Str -> VTable ;
|
||||
mkV149 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ĺęŕ")
|
||||
(v0+"ĺ÷ĺ")
|
||||
@@ -990,7 +990,7 @@ oper
|
||||
(v0+"ĺ÷ĺí")
|
||||
(v0+"-")
|
||||
(v0+"ĺ÷č") ;
|
||||
mkV150 : Str -> V ;
|
||||
mkV150 : Str -> VTable ;
|
||||
mkV150 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
@@ -1001,7 +1001,7 @@ oper
|
||||
(v0+"˙í")
|
||||
(v0+"-")
|
||||
(v0+"č") ;
|
||||
mkV150a : Str -> V ;
|
||||
mkV150a : Str -> VTable ;
|
||||
mkV150a base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
@@ -1012,7 +1012,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"-")
|
||||
(v0+"č") ;
|
||||
mkV151 : Str -> V ;
|
||||
mkV151 : Str -> VTable ;
|
||||
mkV151 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
@@ -1023,7 +1023,7 @@ oper
|
||||
(v0+"˙ů")
|
||||
(v0+"ŕí")
|
||||
(v0+"č") ;
|
||||
mkV152 : Str -> V ;
|
||||
mkV152 : Str -> VTable ;
|
||||
mkV152 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
@@ -1034,7 +1034,7 @@ oper
|
||||
(v0+"ŕň")
|
||||
(v0+"-")
|
||||
(v0+"č") ;
|
||||
mkV152a : Str -> V ;
|
||||
mkV152a : Str -> VTable ;
|
||||
mkV152a base = let v0 = tk 4 base
|
||||
in mkVerb (v0+"˙ăíŕ")
|
||||
(v0+"ĺăíĺ")
|
||||
@@ -1045,7 +1045,7 @@ oper
|
||||
(v0+"˙ăíŕň")
|
||||
(v0+"-")
|
||||
(v0+"ĺăíč") ;
|
||||
mkV153 : Str -> V ;
|
||||
mkV153 : Str -> VTable ;
|
||||
mkV153 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"˙íŕ")
|
||||
(v0+"ĺíĺ")
|
||||
@@ -1056,7 +1056,7 @@ oper
|
||||
(v0+"˙íŕň")
|
||||
(v0+"-")
|
||||
(v0+"ĺíč") ;
|
||||
mkV154 : Str -> V ;
|
||||
mkV154 : Str -> VTable ;
|
||||
mkV154 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"ĺ")
|
||||
@@ -1067,7 +1067,7 @@ oper
|
||||
(v0+"ŕí")
|
||||
(v0+"ĺů")
|
||||
(v0+"č") ;
|
||||
mkV155 : Str -> V ;
|
||||
mkV155 : Str -> VTable ;
|
||||
mkV155 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"÷ŕ")
|
||||
(v0+"÷ĺ")
|
||||
@@ -1078,7 +1078,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"÷ĺů")
|
||||
(v0+"÷č") ;
|
||||
mkV156 : Str -> V ;
|
||||
mkV156 : Str -> VTable ;
|
||||
mkV156 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ćŕ")
|
||||
(v0+"ćĺ")
|
||||
@@ -1089,7 +1089,7 @@ oper
|
||||
(v0+"çŕí")
|
||||
(v0+"-")
|
||||
(v0+"ćč") ;
|
||||
mkV157 : Str -> V ;
|
||||
mkV157 : Str -> VTable ;
|
||||
mkV157 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ĺćŕ")
|
||||
(v0+"ĺćĺ")
|
||||
@@ -1100,7 +1100,7 @@ oper
|
||||
(v0+"˙çŕí")
|
||||
(v0+"ĺćĺů")
|
||||
(v0+"ĺćč") ;
|
||||
mkV158 : Str -> V ;
|
||||
mkV158 : Str -> VTable ;
|
||||
mkV158 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ćŕ")
|
||||
(v0+"ćĺ")
|
||||
@@ -1111,7 +1111,7 @@ oper
|
||||
(v0+"ăŕí")
|
||||
(v0+"ćĺů")
|
||||
(v0+"ćč") ;
|
||||
mkV159 : Str -> V ;
|
||||
mkV159 : Str -> VTable ;
|
||||
mkV159 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"řŕ")
|
||||
(v0+"řĺ")
|
||||
@@ -1122,7 +1122,7 @@ oper
|
||||
(v0+"ńŕí")
|
||||
(v0+"řĺů")
|
||||
(v0+"řč") ;
|
||||
mkV160 : Str -> V ;
|
||||
mkV160 : Str -> VTable ;
|
||||
mkV160 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ĺ˙")
|
||||
(v0+"ĺĺ")
|
||||
@@ -1133,7 +1133,7 @@ oper
|
||||
(v0+"˙í")
|
||||
(v0+"ĺĺů")
|
||||
(v0+"ĺé") ;
|
||||
mkV160a : Str -> V ;
|
||||
mkV160a : Str -> VTable ;
|
||||
mkV160a base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ĺ˙")
|
||||
(v0+"ĺĺ")
|
||||
@@ -1144,7 +1144,7 @@ oper
|
||||
(v0+"ŕí")
|
||||
(v0+"ĺĺů")
|
||||
(v0+"ĺé") ;
|
||||
mkV161 : Str -> V ;
|
||||
mkV161 : Str -> VTable ;
|
||||
mkV161 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"ĺ")
|
||||
@@ -1155,7 +1155,7 @@ oper
|
||||
(v0+"í")
|
||||
(v0+"ĺů")
|
||||
(v0+"é") ;
|
||||
mkV161a : Str -> V ;
|
||||
mkV161a : Str -> VTable ;
|
||||
mkV161a base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"ĺ")
|
||||
@@ -1166,7 +1166,7 @@ oper
|
||||
(v0+"ň")
|
||||
(v0+"ĺů")
|
||||
(v0+"é") ;
|
||||
mkV162 : Str -> V ;
|
||||
mkV162 : Str -> VTable ;
|
||||
mkV162 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"ĺ")
|
||||
@@ -1177,7 +1177,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"ĺů")
|
||||
(v0+"é") ;
|
||||
mkV163 : Str -> V ;
|
||||
mkV163 : Str -> VTable ;
|
||||
mkV163 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"ĺ")
|
||||
@@ -1188,7 +1188,7 @@ oper
|
||||
(v0+"ň")
|
||||
(v0+"ĺů")
|
||||
(v0+"é") ;
|
||||
mkV164 : Str -> V ;
|
||||
mkV164 : Str -> VTable ;
|
||||
mkV164 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ĺ˙")
|
||||
(v0+"ĺĺ")
|
||||
@@ -1199,18 +1199,18 @@ oper
|
||||
(v0+"˙ň")
|
||||
(v0+"ĺĺů")
|
||||
(v0+"ĺé") ;
|
||||
mkV165 : Str -> V ;
|
||||
mkV165 : Str -> VTable ;
|
||||
mkV165 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"ĺ")
|
||||
(v0+"-")
|
||||
(v0+"îő")
|
||||
(v0+"ĺő")
|
||||
(v0+"-")
|
||||
(v0+"ĺë")
|
||||
(v0+"-")
|
||||
(v0+"ĺů")
|
||||
(v0+"č") ;
|
||||
mkV166 : Str -> V ;
|
||||
mkV166 : Str -> VTable ;
|
||||
mkV166 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ăŕ")
|
||||
(v0+"ćĺ")
|
||||
@@ -1221,7 +1221,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"ćĺů")
|
||||
(v0+"-") ;
|
||||
mkV167 : Str -> V ;
|
||||
mkV167 : Str -> VTable ;
|
||||
mkV167 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ęŕ")
|
||||
(v0+"÷ĺ")
|
||||
@@ -1232,7 +1232,7 @@ oper
|
||||
(v0+"ęŕí")
|
||||
(v0+"÷ĺů")
|
||||
(v0+"÷č") ;
|
||||
mkV168 : Str -> V ;
|
||||
mkV168 : Str -> VTable ;
|
||||
mkV168 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ě")
|
||||
(v0+"äĺ")
|
||||
@@ -1243,7 +1243,7 @@ oper
|
||||
(v0+"äĺí")
|
||||
(v0+"-")
|
||||
(v0+"é") ;
|
||||
mkV169 : Str -> V ;
|
||||
mkV169 : Str -> VTable ;
|
||||
mkV169 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ě")
|
||||
(v0+"äĺ")
|
||||
@@ -1254,7 +1254,7 @@ oper
|
||||
(v0+"äĺí")
|
||||
(v0+"äĺů")
|
||||
(v0+"ć") ;
|
||||
mkV170 : Str -> V ;
|
||||
mkV170 : Str -> VTable ;
|
||||
mkV170 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ĺđŕ")
|
||||
(v0+"ĺđĺ")
|
||||
@@ -1265,7 +1265,7 @@ oper
|
||||
(v0+"đŕí")
|
||||
(v0+"ĺđ˙ů")
|
||||
(v0+"ĺđč") ;
|
||||
mkV171 : Str -> V ;
|
||||
mkV171 : Str -> VTable ;
|
||||
mkV171 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ěŕ")
|
||||
(v0+"ěĺ")
|
||||
@@ -1276,7 +1276,7 @@ oper
|
||||
(v0+"ň")
|
||||
(v0+"-")
|
||||
(v0+"ěč") ;
|
||||
mkV172 : Str -> V ;
|
||||
mkV172 : Str -> VTable ;
|
||||
mkV172 base = let v0 = tk 4 base
|
||||
in mkVerb (v0+"úëíŕ")
|
||||
(v0+"úëíĺ")
|
||||
@@ -1287,7 +1287,7 @@ oper
|
||||
(v0+"úëíŕň")
|
||||
(v0+"úëíĺů")
|
||||
(v0+"úëíč") ;
|
||||
mkV173 : Str -> V ;
|
||||
mkV173 : Str -> VTable ;
|
||||
mkV173 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1298,7 +1298,7 @@ oper
|
||||
(v0+"ĺí")
|
||||
(v0+"ĺů")
|
||||
(v0+"č") ;
|
||||
mkV174 : Str -> V ;
|
||||
mkV174 : Str -> VTable ;
|
||||
mkV174 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1309,7 +1309,7 @@ oper
|
||||
(v0+"ĺí")
|
||||
(v0+"˙ů")
|
||||
(v0+"č") ;
|
||||
mkV175 : Str -> V ;
|
||||
mkV175 : Str -> VTable ;
|
||||
mkV175 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1320,7 +1320,7 @@ oper
|
||||
(v0+"ĺí")
|
||||
(v0+"˙ů")
|
||||
(v0+"é") ;
|
||||
mkV176 : Str -> V ;
|
||||
mkV176 : Str -> VTable ;
|
||||
mkV176 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"č")
|
||||
@@ -1331,7 +1331,7 @@ oper
|
||||
(v0+"ĺí")
|
||||
(v0+"ĺů")
|
||||
(v0+"č") ;
|
||||
mkV177 : Str -> V ;
|
||||
mkV177 : Str -> VTable ;
|
||||
mkV177 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1342,7 +1342,7 @@ oper
|
||||
(v0+"˙í")
|
||||
(v0+"˙ů")
|
||||
(v0+"č") ;
|
||||
mkV178 : Str -> V ;
|
||||
mkV178 : Str -> VTable ;
|
||||
mkV178 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"ŕ")
|
||||
(v0+"č")
|
||||
@@ -1353,7 +1353,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"ŕů")
|
||||
(v0+"č") ;
|
||||
mkV179 : Str -> V ;
|
||||
mkV179 : Str -> VTable ;
|
||||
mkV179 base = let v0 = tk 4 base
|
||||
in mkVerb (v0+"úđćŕ")
|
||||
(v0+"úđćč")
|
||||
@@ -1364,7 +1364,7 @@ oper
|
||||
(v0+"úđćŕí")
|
||||
(v0+"úđćŕů")
|
||||
(v0+"đúć") ;
|
||||
mkV180 : Str -> V ;
|
||||
mkV180 : Str -> VTable ;
|
||||
mkV180 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1375,7 +1375,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"˙ů")
|
||||
(v0+"é") ;
|
||||
mkV181 : Str -> V ;
|
||||
mkV181 : Str -> VTable ;
|
||||
mkV181 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ä˙")
|
||||
(v0+"äč")
|
||||
@@ -1386,7 +1386,7 @@ oper
|
||||
(v0+"ä˙í")
|
||||
(v0+"-")
|
||||
(v0+"ć") ;
|
||||
mkV182 : Str -> V ;
|
||||
mkV182 : Str -> VTable ;
|
||||
mkV182 base = let v0 = tk 1 base
|
||||
in mkVerb (v0+"˙")
|
||||
(v0+"č")
|
||||
@@ -1397,7 +1397,7 @@ oper
|
||||
(v0+"-")
|
||||
(v0+"˙ů")
|
||||
(v0+"č") ;
|
||||
mkV183 : Str -> V ;
|
||||
mkV183 : Str -> VTable ;
|
||||
mkV183 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ĺćŕ")
|
||||
(v0+"ĺćč")
|
||||
@@ -1408,7 +1408,7 @@ oper
|
||||
(v0+"˙çŕí")
|
||||
(v0+"ĺćĺů")
|
||||
(v0+"ĺćč") ;
|
||||
mkV184 : Str -> V ;
|
||||
mkV184 : Str -> VTable ;
|
||||
mkV184 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"ĺë˙")
|
||||
(v0+"ĺëč")
|
||||
@@ -1419,7 +1419,7 @@ oper
|
||||
(v0+"ë˙í")
|
||||
(v0+"ĺëĺů")
|
||||
(v0+"ĺëč") ;
|
||||
mkV185 : Str -> V ;
|
||||
mkV185 : Str -> VTable ;
|
||||
mkV185 base = let v0 = tk 3 base
|
||||
in mkVerb (v0+"îë˙")
|
||||
(v0+"îëč")
|
||||
@@ -1430,7 +1430,7 @@ oper
|
||||
(v0+"ëŕí")
|
||||
(v0+"îëĺů")
|
||||
(v0+"îëč") ;
|
||||
mkV186 : Str -> V ;
|
||||
mkV186 : Str -> VTable ;
|
||||
mkV186 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"ŕě")
|
||||
(v0+"ŕ")
|
||||
@@ -1441,7 +1441,7 @@ oper
|
||||
(v0+"ŕí")
|
||||
(v0+"ŕů")
|
||||
(v0+"ŕé") ;
|
||||
mkV187 : Str -> V ;
|
||||
mkV187 : Str -> VTable ;
|
||||
mkV187 base = let v0 = tk 2 base
|
||||
in mkVerb (v0+"˙ě")
|
||||
(v0+"˙")
|
||||
|
||||
@@ -14,7 +14,7 @@ concrete PhraseBul of Phrase = CatBul ** open Prelude, ResBul in {
|
||||
UttNP np = {s = np.s ! RSubj} ;
|
||||
UttVP vp = {s = vp.ad ! False ++
|
||||
"äà" ++
|
||||
vp.s ! Pres ! Simul ! Pos ! agrP3 (GSg Neut) ! False ++
|
||||
vp.s ! Pres ! Simul ! Pos ! agrP3 (GSg Neut) ! False ! Perf ++
|
||||
vp.s2 ! agrP3 (GSg Neut)} ;
|
||||
UttAdv adv = adv ;
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
--2 For $Verb$
|
||||
|
||||
Aspect = Imperf | Perf ;
|
||||
|
||||
VForm =
|
||||
VPres Number Person
|
||||
| VAorist Number Person
|
||||
@@ -186,14 +188,16 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
oper
|
||||
-- For $Verb$.
|
||||
VTable = VForm => Str ;
|
||||
|
||||
Verb : Type = {
|
||||
s : VForm => Str ;
|
||||
vtype : VType
|
||||
s : Aspect => VTable ;
|
||||
vtype : VType
|
||||
} ;
|
||||
|
||||
VP : Type = {
|
||||
s : Tense => Anteriority => Polarity => Agr => Bool => Str ;
|
||||
imp : Polarity => Number => Str ;
|
||||
s : Tense => Anteriority => Polarity => Agr => Bool => Aspect => Str ;
|
||||
imp : Polarity => Number => Aspect => Str ;
|
||||
ad : Bool => Str ; -- sentential adverb
|
||||
s2 : Agr => Str ;
|
||||
subjRole : Role
|
||||
@@ -201,53 +205,75 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
predV : Verb -> VP =
|
||||
\verb ->
|
||||
{ s = \\t,a,p,agr,q => let
|
||||
clitic = case verb.vtype of {
|
||||
VNormal => {s=[]; agr=agr} ;
|
||||
VMedial c => {s=reflClitics ! c; agr=agr} ;
|
||||
VPhrasal c => {s=personalClitics ! c ! agr.gn ! agr.p; agr={gn=GSg Neut; p=P3}}
|
||||
} ;
|
||||
{ s = \\t,a,p,agr,q,asp =>
|
||||
let clitic = case verb.vtype of {
|
||||
VNormal => {s=[]; agr=agr} ;
|
||||
VMedial c => {s=reflClitics ! c; agr=agr} ;
|
||||
VPhrasal c => {s=personalClitics ! c ! agr.gn ! agr.p; agr={gn=GSg Neut; p=P3}}
|
||||
} ;
|
||||
|
||||
present = verb.s ! (VPres (numGenNum clitic.agr.gn) clitic.agr.p) ;
|
||||
aorist = verb.s ! (VAorist (numGenNum clitic.agr.gn) clitic.agr.p) ;
|
||||
perfect = verb.s ! (VPerfect (aform clitic.agr.gn Indef (RObj Acc))) ;
|
||||
present = verb.s ! asp ! (VPres (numGenNum clitic.agr.gn) clitic.agr.p) ;
|
||||
presentImperf = verb.s ! Imperf ! (VPres (numGenNum clitic.agr.gn) clitic.agr.p) ;
|
||||
aorist = verb.s ! asp ! (VAorist (numGenNum clitic.agr.gn) clitic.agr.p) ;
|
||||
perfect = verb.s ! asp ! (VPerfect (aform clitic.agr.gn Indef (RObj Acc))) ;
|
||||
|
||||
auxPres = auxBe ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
auxAorist = auxBe ! VAorist (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
auxCond = auxWould ! VAorist (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
|
||||
apc : Str -> Str = \s ->
|
||||
case <numGenNum clitic.agr.gn, clitic.agr.p> of {
|
||||
<Sg, P3> => clitic.s++s++auxPres ;
|
||||
_ => auxPres++s++clitic.s
|
||||
} ;
|
||||
|
||||
auxPres = auxBe clitic.s ! VPres (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
auxAorist = auxBe clitic.s ! VAorist (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
auxPerfect = auxBe clitic.s ! VPerfect (aform clitic.agr.gn Indef (RObj Acc)) ;
|
||||
auxCondS = auxWould clitic.s ! VAorist (numGenNum clitic.agr.gn) clitic.agr.p ;
|
||||
auxCondA = auxCondS ++
|
||||
auxBe [] ! VPerfect (aform clitic.agr.gn Indef (RObj Acc)) ;
|
||||
|
||||
verbs : {aux:Str; main:Str}
|
||||
= case <t,a> of {
|
||||
<Pres,Simul> => {aux=clitic.s; main=present} ;
|
||||
<Pres,Anter> => {aux=auxPres; main=perfect} ;
|
||||
<Past,Simul> => {aux=clitic.s; main=aorist} ;
|
||||
<Past,Anter> => {aux=auxAorist; main=perfect} ;
|
||||
<Fut, Simul> => {aux=clitic.s; main=present} ;
|
||||
<Fut, Anter> => {aux=auxPres; main=perfect} ;
|
||||
<Cond,Simul> => {aux=auxCondS; main=perfect} ;
|
||||
<Cond,Anter> => {aux=auxCondA; main=perfect}
|
||||
} ;
|
||||
|
||||
li = case q of {True => "ëè"; False => []} ;
|
||||
aux = case p of {
|
||||
Pos => case t of {
|
||||
Fut => {s1="ùå"++verbs.aux; s2=li} ;
|
||||
_ => case q of {True => {s1=[]; s2="ëè"++verbs.aux};
|
||||
False => {s1=verbs.aux; s2=[]}}
|
||||
} ;
|
||||
Neg => case t of {
|
||||
Fut => {s1="íå"++"ùå"++verbs.aux; s2=li} ;
|
||||
_ => case q of {True => {s1="íå"++verbs.aux; s2="ëè"};
|
||||
False => {s1="íå"++verbs.aux; s2=[]}}
|
||||
}
|
||||
}
|
||||
|
||||
in aux.s1 ++ verbs.main ++ aux.s2;
|
||||
imp = \\p,n => let ne = case p of {Pos => []; Neg => "íå"} ;
|
||||
in ne ++ verb.s ! VImperative n ;
|
||||
vf1 : Str -> {s1 : Str; s2 : Str} = \s ->
|
||||
case p of {
|
||||
Pos => case q of {True => {s1=[]; s2="ëè"++apc []};
|
||||
False => {s1=apc []; s2=[]}} ;
|
||||
Neg => {s1="íå"++apc li; s2=[]}
|
||||
} ;
|
||||
|
||||
vf2 : Str -> {s1 : Str; s2 : Str} = \s ->
|
||||
case p of {
|
||||
Pos => case q of {True => {s1=[]; s2="ëè"++s};
|
||||
False => {s1=s; s2=[]}} ;
|
||||
Neg => case verb.vtype of
|
||||
{VNormal => {s1="íå"; s2=li} ;
|
||||
_ => {s1="íå"++s++li; s2=[]}}
|
||||
} ;
|
||||
|
||||
vf3 : Str -> {s1 : Str; s2 : Str} = \s ->
|
||||
case p of {
|
||||
Pos => {s1="ùå"++s; s2=li} ;
|
||||
Neg => {s1="íÿìà"++li++"äà"++s; s2=[]}
|
||||
} ;
|
||||
|
||||
vf4 : Str -> {s1 : Str; s2 : Str} = \s ->
|
||||
case p of {
|
||||
Pos => {s1= s++li++clitic.s; s2=[]} ;
|
||||
Neg => {s1="íå"++s++li++clitic.s; s2=[]}
|
||||
} ;
|
||||
|
||||
verbs : {aux:{s1:Str; s2:Str}; main:Str}
|
||||
= case <t,a> of {
|
||||
<Pres,Simul> => {aux=vf2 clitic.s; main=presentImperf} ;
|
||||
<Pres,Anter> => {aux=vf1 clitic.s; main=perfect} ;
|
||||
<Past,Simul> => {aux=vf2 clitic.s; main=aorist} ;
|
||||
<Past,Anter> => {aux=vf4 auxAorist; main=perfect} ;
|
||||
<Fut, Simul> => {aux=vf3 clitic.s; main=present} ;
|
||||
<Fut, Anter> => {aux=vf3 (apc []); main=perfect} ;
|
||||
<Cond,_ > => {aux=vf4 auxCond ; main=perfect}
|
||||
}
|
||||
|
||||
in verbs.aux.s1 ++ verbs.main ++ verbs.aux.s2 ;
|
||||
imp = \\p,n,asp =>
|
||||
case p of {
|
||||
Pos => verb.s ! asp ! VImperative n ;
|
||||
Neg => "íå" ++ verb.s ! Imperf ! VImperative n
|
||||
} ;
|
||||
ad = \\_ => [] ;
|
||||
s2 = \\_ => [] ;
|
||||
subjRole = case verb.vtype of {
|
||||
@@ -265,62 +291,62 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
subjRole = vp.subjRole
|
||||
} ;
|
||||
|
||||
auxBe : Str -> VForm => Str = \se ->
|
||||
auxBe : VTable =
|
||||
table {
|
||||
VPres Sg P1 => "ñúì" ++ se ;
|
||||
VPres Sg P2 => "ñè" ++ se ;
|
||||
VPres Sg P3 => se ++ "å" ;
|
||||
VPres Pl P1 => "ñìå" ++ se ;
|
||||
VPres Pl P2 => "ñòå" ++ se ;
|
||||
VPres Pl P3 => "ñà" ++ se ;
|
||||
VAorist Sg P1 => "áÿõ" ++ se ;
|
||||
VAorist Sg P2 => "áåøå" ++ se ;
|
||||
VAorist Sg P3 => se ++ "áåøå" ;
|
||||
VAorist Pl P1 => "áÿõìå" ++ se ;
|
||||
VAorist Pl P2 => "áÿõòå" ++ se ;
|
||||
VAorist Pl P3 => "áÿõà" ++ se ;
|
||||
VImperfect Sg P1 => "áÿõ" ++ se ;
|
||||
VImperfect Sg _ => "áåøå" ++ se ;
|
||||
VImperfect Pl P1 => "áÿõìå" ++ se ;
|
||||
VImperfect Pl P2 => "áÿõòå" ++ se ;
|
||||
VImperfect Pl P3 => "áÿõà" ++ se ;
|
||||
VPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPluPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ++ se ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ++ se ;
|
||||
VImperative Sg => "áúäè" ++ se ;
|
||||
VImperative Pl => "áúäåòå" ++ se ;
|
||||
VGerund => "áèäåéêè" ++ se
|
||||
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 "áèë" ! aform ;
|
||||
VPluPerfect aform => regAdjective "áèë" ! aform ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VGerund => "áèäåéêè"
|
||||
} ;
|
||||
|
||||
auxWould : Str -> VForm => Str = \se ->
|
||||
auxWould : VTable =
|
||||
table {
|
||||
VPres Sg P1 => "áúäà" ++ se ;
|
||||
VPres Sg P2 => "áúäåø" ++ se ;
|
||||
VPres Sg P3 => se ++ "áúäå" ;
|
||||
VPres Pl P1 => "áúäåì" ++ se ;
|
||||
VPres Pl P2 => "áúäåòå" ++ se ;
|
||||
VPres Pl P3 => "áúäàò" ++ se ;
|
||||
VAorist Sg P1 => "áèõ" ++ se ;
|
||||
VAorist Sg _ => "áè" ++ se ;
|
||||
VAorist Pl P1 => "áèõìå" ++ se ;
|
||||
VAorist Pl P2 => "áèõòå" ++ se ;
|
||||
VAorist Pl P3 => "áèõà" ++ se ;
|
||||
VImperfect Sg P1 => "áúäåõ" ++ se ;
|
||||
VImperfect Sg _ => "áúäåøå" ++ se ;
|
||||
VImperfect Pl P1 => "áúäåõìå" ++ se ;
|
||||
VImperfect Pl P2 => "áúäåõòå" ++ se ;
|
||||
VImperfect Pl P3 => "áúäåõà" ++ se ;
|
||||
VPerfect aform => regAdjective "áèë" ! aform ++ se ;
|
||||
VPluPerfect aform => regAdjective "áúäåë" ! aform ++ se ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ++ se ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ++ se ;
|
||||
VImperative Sg => "áúäè" ++ se ;
|
||||
VImperative Pl => "áúäåòå" ++ se ;
|
||||
VGerund => "áúäåéêè" ++ se
|
||||
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 "áèë" ! aform ;
|
||||
VPluPerfect aform => regAdjective "áúäåë" ! aform ;
|
||||
VPassive aform => regAdjective "áúäåí" ! aform ;
|
||||
VPresPart aform => regAdjective "áúäåù" ! aform ;
|
||||
VImperative Sg => "áúäè" ;
|
||||
VImperative Pl => "áúäåòå" ;
|
||||
VGerund => "áúäåéêè"
|
||||
} ;
|
||||
|
||||
verbBe : Verb = {s=auxBe []; vtype=VNormal} ;
|
||||
verbBe : Verb = {s=\\_=>auxBe ; vtype=VNormal} ;
|
||||
verbWould : Verb = {s=\\_=>auxWould ; vtype=VNormal} ;
|
||||
|
||||
reflClitics : Case => Str = table {Acc => "ñå"; Dat => "ñè"} ;
|
||||
|
||||
@@ -382,23 +408,23 @@ resource ResBul = ParamX ** open Prelude in {
|
||||
|
||||
-- For $Sentence$.
|
||||
|
||||
Clause : Type = {
|
||||
s : Tense => Anteriority => Polarity => Order => Str
|
||||
} ;
|
||||
Clause : Type = {
|
||||
s : Tense => Anteriority => Polarity => Order => Str
|
||||
} ;
|
||||
|
||||
mkClause : Str -> Agr -> VP -> Clause =
|
||||
\subj,agr,vp -> {
|
||||
s = \\t,a,b,o =>
|
||||
let
|
||||
verb : Bool => Str
|
||||
= \\q => vp.ad ! q ++ vp.s ! t ! a ! b ! agr ! q ;
|
||||
compl = vp.s2 ! agr
|
||||
in case o of {
|
||||
Main => subj ++ verb ! False ++ compl ;
|
||||
Inv => verb ! False ++ compl ++ subj ;
|
||||
Quest => subj ++ verb ! True ++ compl
|
||||
}
|
||||
} ;
|
||||
mkClause : Str -> Agr -> VP -> Clause =
|
||||
\subj,agr,vp -> {
|
||||
s = \\t,a,p,o =>
|
||||
let
|
||||
verb : Bool => Str
|
||||
= \\q => vp.ad ! q ++ vp.s ! t ! a ! p ! agr ! q ! Perf ;
|
||||
compl = vp.s2 ! agr
|
||||
in case o of {
|
||||
Main => subj ++ verb ! False ++ compl ;
|
||||
Inv => verb ! False ++ compl ++ subj ;
|
||||
Quest => subj ++ verb ! True ++ compl
|
||||
}
|
||||
} ;
|
||||
|
||||
-- For $Numeral$.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
|
||||
ImpVP vp = {
|
||||
s = \\p,gn =>
|
||||
let agr = {gn = gn ; p = P2} ;
|
||||
verb = vp.imp ! p ! numGenNum gn ;
|
||||
verb = vp.imp ! p ! numGenNum gn ! Perf ;
|
||||
compl = vp.s2 ! agr
|
||||
in
|
||||
verb ++ compl
|
||||
@@ -22,10 +22,10 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
|
||||
SlashVVV2 np vv v2 =
|
||||
mkClause (np.s ! RSubj) np.a
|
||||
(let vp = predV vv
|
||||
in { s = \\t,a,p,agr,q => vp.s ! t ! a ! p ! agr ! q ++ "äà" ++ v2.s ! (VPres (numGenNum agr.gn) agr.p) ;
|
||||
in { s = \\t,a,p,agr,q,asp => vp.s ! t ! a ! p ! agr ! q ! asp ++ "äà" ++ v2.s ! Perf ! (VPres (numGenNum agr.gn) agr.p) ;
|
||||
imp = vp.imp ;
|
||||
ad = vp.ad ;
|
||||
s2 = vp.s2 ;
|
||||
ad = vp.ad ;
|
||||
s2 = vp.s2 ;
|
||||
subjRole = vp.subjRole
|
||||
}) **
|
||||
{c2 = v2.c2} ;
|
||||
@@ -44,7 +44,7 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
|
||||
|
||||
EmbedS s = {s = "," ++ "֌" ++ s.s} ;
|
||||
EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||
EmbedVP vp = {s = vp.ad ! False ++ "äà" ++ vp.s ! Pres ! Simul ! Pos ! {gn=GSg Masc; p=P1} ! False} ;
|
||||
EmbedVP vp = {s = vp.ad ! False ++ "äà" ++ vp.s ! Pres ! Simul ! Pos ! {gn=GSg Masc; p=P1} ! False ! Perf} ;
|
||||
|
||||
UseCl t a p cl = {
|
||||
s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! Main
|
||||
|
||||
@@ -19,7 +19,7 @@ concrete StructuralBul of Structural = CatBul **
|
||||
but_PConj = ss "íî" ;
|
||||
by8agent_Prep = mkPrep "÷ðåç" Acc ;
|
||||
by8means_Prep = mkPrep "÷ðåç" Acc ;
|
||||
can8know_VV, can_VV = mkVV (mkV166 "ìîãà") ;
|
||||
can8know_VV, can_VV = mkVV (stateV (mkV166 "ìîãà")) ;
|
||||
during_Prep = mkPrep ["ïî âðåìå íà"] Acc ;
|
||||
either7or_DConj = sd2 "èëè" "èëè" ** {n = Sg} ;
|
||||
everybody_NP = mkNP "âñåêè" (GSg Masc) P3 ;
|
||||
@@ -48,22 +48,23 @@ concrete StructuralBul of Structural = CatBul **
|
||||
more_CAdv = {s=[]; sn="ïîâå÷å"} ;
|
||||
most_Predet = {s = \\_ => "ïîâå÷åòî"} ;
|
||||
much_Det = mkDeterminerSg "ìíîãî" "ìíîãî" "ìíîãî";
|
||||
must_VV = mkVV {
|
||||
s = table {
|
||||
VPres _ _ => "òðÿáâà" ;
|
||||
VAorist _ _ => "òðÿáâàøå" ;
|
||||
VImperfect _ _ => "òðÿáâàëî" ;
|
||||
VPerfect _ => "òðÿáâàëî" ;
|
||||
VPluPerfect _ => "òðÿáâàëî" ;
|
||||
VPassive _ => "òðÿáâàëî" ;
|
||||
VPresPart _ => "òðÿáâàëî" ;
|
||||
VImperative Sg => "òðÿáâàé" ;
|
||||
VImperative Pl => "òðÿáâàéòå" ;
|
||||
VGerund => "òðÿáâàéêè"
|
||||
} ;
|
||||
vtype=VNormal ;
|
||||
lock_V=<>
|
||||
} ;
|
||||
must_VV =
|
||||
mkVV {
|
||||
s = \\_=>table {
|
||||
VPres _ _ => "òðÿáâà" ;
|
||||
VAorist _ _ => "òðÿáâàøå" ;
|
||||
VImperfect _ _ => "òðÿáâàëî" ;
|
||||
VPerfect aform => regAdjective "òðÿáâàë" ! aform ;
|
||||
VPluPerfect aform => regAdjective "òðÿáâàë" ! aform ;
|
||||
VPassive aform => regAdjective "òðÿáâàë" ! aform ;
|
||||
VPresPart aform => regAdjective "òðÿáâàë" ! aform ;
|
||||
VImperative Sg => "òðÿáâàé" ;
|
||||
VImperative Pl => "òðÿáâàéòå" ;
|
||||
VGerund => "òðÿáâàéêè"
|
||||
} ;
|
||||
vtype=VNormal ;
|
||||
lock_V=<>
|
||||
} ;
|
||||
no_Phr = ss "íå" ;
|
||||
on_Prep = mkPrep "íà" Acc ;
|
||||
---- one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
|
||||
@@ -77,7 +78,7 @@ concrete StructuralBul of Structural = CatBul **
|
||||
she_Pron = mkPron "òÿ" "íåÿ" "è" "íåèí" "íåéíèÿ" "íåéíèÿò" "íåéíà" "íåéíàòà" "íåéíî" "íåéíîòî" "íåéíè" "íåéíèòå" (GSg Fem) P3 ;
|
||||
so_AdA = ss "òîëêîâà" ;
|
||||
somebody_NP = mkNP "íÿêîé" (GSg Masc) P3 ;
|
||||
someSg_Det = mkDeterminerSg "íÿêîé" "íÿêîå" "íÿêîÿ" ;
|
||||
someSg_Det = mkDeterminerSg "íÿêîé" "íÿêîÿ" "íÿêîå" ;
|
||||
somePl_Det = mkDeterminerPl "íÿêîè" ;
|
||||
something_NP = mkNP "íåùî" (GSg Neut) P3 ;
|
||||
somewhere_Adv = ss "íÿêúäå" ;
|
||||
@@ -97,7 +98,7 @@ concrete StructuralBul of Structural = CatBul **
|
||||
to_Prep = mkPrep "äî" Acc ;
|
||||
under_Prep = mkPrep "ïîä" Acc ;
|
||||
very_AdA = ss "ìíîãî" ;
|
||||
want_VV = mkVV (mkV186 "èñêàì") ;
|
||||
want_VV = mkVV (stateV (mkV186 "èñêàì")) ;
|
||||
we_Pron = mkPron "íèå" "íàñ" "íè" "íàø" "íàøèÿ" "íàøèÿò" "íàøà" "íàøàòà" "íàøå" "íàøåòî" "íàøè" "íàøèòå" GPl P1 ;
|
||||
whatPl_IP = mkIP "êàêâè" "êàêâè" GPl ;
|
||||
whatSg_IP = mkIP "êàêúâ" "êàêúâ" (GSg Masc) ;
|
||||
|
||||
@@ -9,7 +9,9 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in {
|
||||
insertObj (\\_ => v.c2.s ++ np.s ! RObj v.c2.c ++ v.c3.s ++ np2.s ! RObj v.c3.c) (predV v) ;
|
||||
|
||||
ComplVV vv vp = {
|
||||
s = \\t,a,p,agr,q => (predV vv).s ! t ! a ! p ! agr ! q ++ vp.ad ! False ++ "äà" ++ vp.s ! Pres ! Simul ! Pos ! agr ! False ;
|
||||
s = \\t,a,p,agr,q,asp => let vv_verb = (predV vv).s ! t ! a ! p ! agr ! q ! asp ;
|
||||
vp_verb = vp.s ! Pres ! Simul ! Pos ! agr ! False ! Perf ;
|
||||
in vv_verb ++ vp.ad ! False ++ "äà" ++ vp_verb ;
|
||||
imp = vp.imp ;
|
||||
ad = \\_ => [] ;
|
||||
s2 = vp.s2 ;
|
||||
@@ -28,7 +30,7 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in {
|
||||
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
||||
|
||||
AdVVP adv vp = {
|
||||
s = \\t,a,p,agr,q => vp.s ! t ! a ! p ! agr ! False ;
|
||||
s = \\t,a,p,agr,q,asp => vp.s ! t ! a ! p ! agr ! False ! asp ;
|
||||
imp = vp.imp ;
|
||||
ad = \\q => vp.ad ! q ++ adv.s ++ case q of {True => "ëè"; False => []} ;
|
||||
s2 = vp.s2 ;
|
||||
@@ -37,7 +39,7 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in {
|
||||
|
||||
ReflV2 v = predV (reflV (v ** {lock_V=<>}) v.c2.c) ;
|
||||
|
||||
PassV2 v = insertObj (\\a => v.s ! VPassive (aform a.gn Indef (RObj Acc))) (predV verbBe) ;
|
||||
PassV2 v = insertObj (\\a => v.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc))) (predV verbWould) ;
|
||||
|
||||
UseVS, UseVQ = \vv -> {s = vv.s; c2 = noPrep; vtype = vv.vtype} ; -- no "to"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user