diff --git a/lib/src/bulgarian/CatBul.gf b/lib/src/bulgarian/CatBul.gf index b0b5ea718..8e3e80967 100644 --- a/lib/src/bulgarian/CatBul.gf +++ b/lib/src/bulgarian/CatBul.gf @@ -83,7 +83,7 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv] ** open ResBul, Prelude, Predef, A = {s : AForm => Str; adv : Str} ; A2 = {s : AForm => Str; adv : Str; c2 : Str} ; - N = {s : NForm => Str; g : AGender} ; + N = {s : NForm => Str; rel : AForm => Str; g : AGender} ; N2 = {s : NForm => Str; g : AGender} ** {c2 : Preposition} ; N3 = {s : NForm => Str; g : AGender} ** {c2,c3 : Preposition} ; PN = {s : Str; g : Gender} ; diff --git a/lib/src/bulgarian/DictEngBul.gf b/lib/src/bulgarian/DictEngBul.gf index b547cba4f..a2e77dc0d 100644 --- a/lib/src/bulgarian/DictEngBul.gf +++ b/lib/src/bulgarian/DictEngBul.gf @@ -900,7 +900,7 @@ lin adsorption_N = variants {}; lin adulation_N = mkN054 "ласкателство" ; ---- lin adulatory_A = variants {}; lin adult_A = mkA079 "възрастен"; -lin adult_N = variants {}; +lin adult_N = substantiveN (mkA079 "възрастен") (AMasc Human); lin adulterant_N = variants {}; lin adulterate_A = variants {}; lin adulterate_V2 = variants {}; @@ -1086,7 +1086,7 @@ lin affliction_N = mkN071 "заболяване" ; ---- lin afflictive_A = variants {}; lin affluence_N = mkN054 "богатство" ; ---- lin affluent_A = mkA079 "охолен" ; ---- -lin affluent_N = variants {}; +lin affluent_N = relativeN (mkN007a "богаташ") (mkA078 "богаташки"); lin afford_V2 = dirV2 (medialV (actionV (mkV186 "позволявам") (mkV174 "позволя")) Dat); lin afford_V2V = variants {}; lin afforest_V2 = variants {}; @@ -1555,8 +1555,8 @@ lin alibi_N = variants {}; lin alicante_PN = variants {}; lin alice_PN = variants {}; lin alidade_N = variants {}; -lin alienFem_N = variants {}; -lin alienMasc_N = variants {}; +lin alienFem_N = substantiveN (mkA079 "извънземен") AFem; +lin alienMasc_N = substantiveN (mkA079 "извънземен") (AMasc Human); lin alien_A = mkA076 "чужд"; lin alienable_A = variants {}; lin alienage_N = variants {}; @@ -2979,7 +2979,7 @@ lin apparent_A = mkA079 "очевиден" ; ---- lin apparentness_N = variants {}; lin apparition_N = mkN071 "появяване" ; ---- lin apparitional_A = variants {}; -lin appeal_N = variants {}; +lin appeal_N = relativeN (mkN041 "жалба") (mkA079 "апелационен"); lin appeal_V = stateV (mkV186 "апелирам"); lin appeal_V2 = dirV2 (stateV (mkV186 "апелирам")); lin appeal_V2V = mkV2V (stateV (mkV186 "апелирам")) noPrep noPrep; @@ -3023,7 +3023,7 @@ lin applaud_V = variants {}; lin applaud_V2 = variants {}; lin applaudable_A = variants {}; lin applause_N = variants {}; -lin apple_N = variants {}; +lin apple_N = relativeN (mkN041 "ябълка") (mkA076 "ябълков"); lin applecart_N = variants {}; lin applejack_N = variants {}; lin applesauce_N = variants {}; @@ -3158,7 +3158,7 @@ lin araroba_N = variants {}; lin araucaria_N = variants {}; lin arbiter_N = mkN009 "арбитър"; lin arbitrable_A = variants {}; -lin arbitrage_N = variants {}; +lin arbitrage_N = relativeN (mkN007 "арбитраж") (mkA079 "арбитражен"); lin arbitrageur_N = variants {}; lin arbitral_A = variants {}; lin arbitrament_N = variants {}; @@ -4980,7 +4980,7 @@ lin barrow_man_N = variants {}; lin barry_PN = variants {}; lin bart_PN = variants {}; lin bartender_N = mkN007a "барман" ; ---- -lin barter_N = variants {}; +lin barter_N = relativeN (mkN043 "размяна") (mkA079 "разменен"); lin barter_V = actionV (mkV187 "разменям") (mkV174 "разменя"); lin barter_V2 = variants {}; lin barterer_N = variants {}; @@ -8103,7 +8103,7 @@ lin cabinetmaker_N = variants {}; lin cabinetmaking_N = variants {}; lin cabinetwork_N = variants {}; lin cable's_length_N = variants {}; -lin cable_N = variants {}; +lin cable_N = relativeN (mkN007 "кабел") (mkA079 "кабелен"); lin cable_V = variants {}; lin cable_V2 = variants {}; lin cable_car_N = variants {}; @@ -9607,7 +9607,7 @@ lin chantry_N = variants {}; lin chaos_N = mkN007 "хаос"; lin chaotic_A = mkA079 "хаотичен"; lin chaotically_Adv = variants {}; -lin chap_N = variants {}; +lin chap_N = relativeN (mkN024 "мъж") (mkA078 "мъжки"); lin chap_V = variants {}; lin chap_V2 = variants {}; lin chapatti_N = variants {}; @@ -9845,7 +9845,7 @@ lin cheshire_PN = variants {}; lin chess_N = mkN001 "шах"; lin chessboard_N = variants {}; lin chessman_N = variants {}; -lin chest_N = variants {}; +lin chest_N = relativeN (mkN041 "гърда") (mkA079 "гръден"); lin chester_PN = variants {}; lin chester_le_street_PN = variants {}; lin chesterfield_N = variants {}; @@ -10335,7 +10335,7 @@ lin circle_N = mkN001 "кръг" ; lin circle_V = variants {}; lin circle_V2 = variants {}; lin circlet_N = mkN065 "кръгче"; -lin circuit_N = variants {}; +lin circuit_N = relativeN (mkN041 "верига") (mkA079 "верижен"); lin circuitous_A = mkA079 "обиколен"; lin circuitry_N = variants {}; lin circular_A = mkA079 "цикличен" ; @@ -11634,7 +11634,7 @@ lin computation_N = variants {}; lin computational_A = variants {}; lin compute_V = actionV (mkV186 "изчислявам") (mkV174 "изчисля"); lin compute_V2 = dirV2 (actionV (mkV186 "изчислявам") (mkV174 "изчисля")); -lin computer_N = variants {}; +lin computer_N = relativeN (mkN009 "компютър") (mkA079 "компютърен"); lin computerization_N = mkN071 "компютъризиране"; lin computerize_V2 = dirV2 (stateV (mkV186 "компютъризирам")); lin comrade_N = variants {}; @@ -12497,7 +12497,7 @@ lin cordovan_N = variants {}; lin cords_N = variants {}; lin corduroy_N = variants {}; lin cordwood_N = variants {}; -lin core_N = variants {}; +lin core_N = relativeN (mkN041 "основа") (mkA079 "основен"); lin core_V2 = variants {}; lin coreference_N = variants {}; lin coreferent_A = variants {}; @@ -12898,7 +12898,7 @@ lin countryseat_N = variants {}; lin countryside_N = variants {}; lin countrywide_A = variants {}; lin countrywoman_N = variants {}; -lin county_N = variants {}; +lin county_N = relativeN (mkN015 "окръг") (mkA079 "окръжен"); lin countywide_A = mkA079 "окръжен"; lin coup_N = mkN007 "удар" ; lin coup_d'etat_N = variants {}; @@ -12923,7 +12923,7 @@ lin course_V2 = variants {}; lin courser_N = variants {}; lin coursework_N = variants {}; lin coursing_N = variants {}; -lin court_N = variants {}; +lin court_N = relativeN (mkN026 "съд") (mkA079 "съдебен"); lin court_V = variants {}; lin court_V2 = variants {}; lin court_card_N = variants {}; @@ -13292,7 +13292,7 @@ lin criollo_N = variants {}; lin cripple_N = variants {}; lin cripple_V2 = variants {}; lin crippling_A = variants {}; -lin crisis_N = variants {}; +lin crisis_N = relativeN (mkN041 "криза") (mkA079 "кризисен"); lin crisp_A = mkA076 "хрупкав"; lin crisp_N = variants {}; lin crisp_V = variants {}; @@ -14025,7 +14025,7 @@ lin dacryon_N = variants {}; lin dactyl_N = mkN007 "дактил" ; ---- lin dactylic_A = variants {}; lin dactylomegaly_N = variants {}; -lin dad_N = variants {}; +lin dad_N = relativeN (mkN040 "татко") (mkA076 "татков") ; lin dada_N = variants {}; lin daddy_N = variants {}; lin daddy_longlegs_N = variants {}; @@ -14345,7 +14345,7 @@ lin dearie_N = variants {}; lin dearness_N = variants {}; lin dearth_N = mkN015 "недостиг"; lin deary_N = variants {}; -lin death_N = variants {}; +lin death_N = relativeN (mkN049 "смърт") (mkA079 "смъртен"); lin death_mask_N = variants {}; lin death_rate_N = variants {}; lin death_roll_N = variants {}; @@ -14636,7 +14636,7 @@ lin defection_N = mkN054 "отстъпничество" ; lin defective_A = mkA079 "неизправен"; lin defectiveness_N = variants {}; lin defector_N = variants {}; -lin defence_N = variants {}; +lin defence_N = relativeN (mkN041 "отбрана") (mkA079 "отбранителен"); lin defenceless_A = mkA079 "беззащитен"; lin defencelessness_N = mkN049 "беззащитност"; lin defend_V = actionV (mkV186 "защитавам") (mkV174 "защитя"); @@ -15097,7 +15097,7 @@ lin derivable_A = variants {}; lin derivation_N = variants {}; lin derivational_A = variants {}; lin derivative_A = variants {}; -lin derivative_N = variants {}; +lin derivative_N = substantiveN (mkA079 "производен") AFem; lin derive_V = actionV (mkV186 "произлизам") (mkV147 "произляза"); lin derive_V2 = dirV2 (actionV (mkV186 "произлизам") (mkV147 "произляза")); lin deriving_N = variants {}; @@ -15175,7 +15175,7 @@ lin deshabille_N = variants {}; lin desiccant_N = variants {}; lin desiccate_V2 = variants {}; lin desideratum_N = variants {}; -lin design_N = variants {}; +lin design_N = relativeN (mkN007 "дизайн") (mkA078 "дизайнерски"); lin design_V = stateV (mkV186 "проектирам"); lin design_V2 = dirV2 (stateV (mkV186 "проектирам")); lin design_V2V = mkV2V (stateV (mkV186 "проектирам")) noPrep noPrep; @@ -16324,7 +16324,7 @@ lin distribution_N = mkN047 "дистрибуция" ; lin distributional_A = variants {}; lin distributive_A = variants {}; lin distributor_N = mkN007a "дистрибутор" ; -lin district_N = variants {}; +lin district_N = relativeN (mkN015 "окръг") (mkA079 "окръжен"); lin distrust_N = mkN072 "недоверие"; lin distrust_V2 = variants {}; lin distrustful_A = variants {}; @@ -17090,7 +17090,7 @@ lin drubbing_N = variants {}; lin drudge_N = mkN007b "копач" ; ---- lin drudge_V = variants {}; lin drudgery_N = variants {}; -lin drug_N = variants {}; +lin drug_N = relativeN (mkN054 "лекарство") (mkA076 "лекарствен") ; lin drug_V2 = variants {}; lin drugget_N = variants {}; lin druggist_N = variants {}; @@ -18129,7 +18129,7 @@ lin employable_A = variants {}; lin employable_N = variants {}; lin employee_N = mkN031a "служител" ; lin employer_N = mkN031a "работодател"; -lin employment_N = variants {}; +lin employment_N = relativeN (mkN041 "служба") (mkA079 "служебен"); lin emporium_N = variants {}; lin empower_V2 = variants {}; lin empower_V2V = variants {}; @@ -18348,7 +18348,7 @@ lin engage_V2 = variants {}; lin engagement_N = mkN007 "ангажимент" ; lin engelmannia_N = variants {}; lin engender_V2 = variants {}; -lin engine_N = variants {}; +lin engine_N = relativeN (mkN031 "двигател") (mkA079 "двигателен"); lin engine_driver_N = variants {}; lin engineer_N = mkN007a "инженер" ; lin engineer_V = variants {}; @@ -19224,7 +19224,7 @@ lin excerpt_N = variants {}; lin excess_A = variants {}; lin excess_N = mkN014 "излишък" ; ---- lin excessive_A = mkA076 "прекален"; -lin exchange_N = variants {}; +lin exchange_N = relativeN (mkN043 "размяна") (mkA079 "разменен"); lin exchange_V2 = dirV2 (actionV (mkV187 "разменям") (mkV174 "разменя")); lin exchangeability_N = variants {}; lin exchangeable_A = variants {}; @@ -19867,7 +19867,7 @@ lin familiarity_N = variants {}; lin familiarization_N = variants {}; lin familiarize_V2 = variants {}; lin familiarizing_A = variants {}; -lin family_N = variants {}; +lin family_N = relativeN (mkN054 "семейство") (mkA085 "семеен"); lin famine_N = mkN001 "глад" ; lin famish_V = variants {}; lin famish_V2 = variants {}; @@ -20990,7 +20990,7 @@ lin floodhead_N = variants {}; lin floodlight_V2 = variants {}; lin floodlit_A = variants {}; lin floodplain_N = variants {}; -lin floor_N = variants {}; +lin floor_N = relativeN (mkN001 "под") (mkA076 "подов"); lin floor_V2 = variants {}; lin floor_walker_N = variants {}; lin floorboard_N = variants {}; @@ -21226,7 +21226,7 @@ lin fondue_N = variants {}; lin font_N = mkN001 "шрифт"; lin fontanelle_N = variants {}; lin foochow_PN = variants {}; -lin food_N = variants {}; +lin food_N = relativeN (mkN041 "храна") (mkA079 "хранителен"); lin foodless_A = variants {}; lin foodstuff_N = mkN041 "храна"; lin fool_N = mkN041 "будала"; @@ -22141,7 +22141,7 @@ lin futile_A = variants {}; lin futility_N = variants {}; lin futon_N = variants {}; lin future_A = mkA076 "бъдещ"; -lin future_1_N = variants {}; +lin future_1_N = relativeN (mkN065 "бъдеще") (mkA076 "бъдещ"); lin future_3_N = mkN007 "фючърс"; lin futureless_A = variants {}; lin futurism_N = mkN011 "футуризъм"; @@ -23458,7 +23458,7 @@ lin granddad_N = variants {}; lin granddaughter_N = mkN041 "внучка" ; ---- lin grandee_N = variants {}; lin grandeur_N = mkN072 "величие" ; -lin grandfather_N = variants {}; +lin grandfather_N = relativeN (mkN040 "дядо") (mkA076 "дядов"); lin grandiloquence_N = variants {}; lin grandiloquent_A = variants {}; lin grandiose_A = mkA079 "грандиозен" ; @@ -23931,7 +23931,7 @@ lin guess_VS = variants {}; lin guesser_N = variants {}; lin guesstimate_N = variants {}; lin guesswork_N = variants {}; -lin guest_N = variants {}; +lin guest_N = relativeN (mkN007a "гост") (mkA076 "гостуващ"); lin guest_night_N = variants {}; lin guesthouse_N = variants {}; lin guestroom_N = variants {}; @@ -24818,7 +24818,7 @@ lin heal_V = variants {}; lin heal_V2 = variants {}; lin healer_N = variants {}; lin healing_N = variants {}; -lin health_N = variants {}; +lin health_N = relativeN (mkN065 "здраве") (mkA079 "здравословен"); lin healthcare_N = variants {}; lin healthful_A = variants {}; lin healthfulness_N = variants {}; @@ -25980,7 +25980,7 @@ lin hotbed_N = variants {}; lin hotbox_N = variants {}; lin hotchpotch_N = variants {}; lin hotdog_N = variants {}; -lin hotel_N = variants {}; +lin hotel_N = relativeN (mkN007 "хотел") (mkA078 "хотелски"); lin hotelier_N = variants {}; lin hotfoot_Adv = variants {}; lin hotfoot_N = variants {}; @@ -26039,7 +26039,7 @@ lin housewifely_A = variants {}; lin housewifery_N = variants {}; lin housework_N = variants {}; lin housewrecker_N = variants {}; -lin housing_N = variants {}; +lin housing_N = relativeN (mkN066 "жилище") (mkA079 "жилищен"); lin houston_PN = mkPN "Хюстън" Masc; lin hove_PN = variants {}; lin hovea_N = variants {}; @@ -27681,7 +27681,7 @@ lin inflatable_A = variants {}; lin inflate_V = actionV (mkV186 "раздувам") (mkV163 "раздуя"); lin inflate_V2 = dirV2 (actionV (mkV186 "раздувам") (mkV163 "раздуя")); lin inflater_N = variants {}; -lin inflation_N = variants {}; +lin inflation_N = relativeN (mkN047 "инфлация") (mkA079 "инфлационен") ; lin inflationary_A = mkA079 "инфлационен" ; lin inflect_V2 = dirV2 (actionV (mkV186 "спрягам") (mkV152 "спрегна")); lin inflection_N = mkN072 "спрежение"; @@ -28138,7 +28138,7 @@ lin intercept_V2 = variants {}; lin interception_N = variants {}; lin interceptor_N = variants {}; lin intercession_N = variants {}; -lin interchange_N = variants {}; +lin interchange_N = relativeN (mkN043 "размяна") (mkA079 "разменен"); lin interchange_V2 = dirV2 (actionV (mkV187 "разменям") (mkV174 "разменя")); lin interchangeable_A = mkA076 "взаимозаменяем"; lin interchurch_A = variants {}; @@ -28165,7 +28165,7 @@ lin interdict_V2 = variants {}; lin interdiction_N = mkN041 "забрана" ; ---- lin interdisciplinary_A = variants {}; lin interest_N = mkN007 "интерес" ; -lin interest_4_N = variants {}; +lin interest_4_N = relativeN (mkN041 "лихва") (mkA076 "лихвен"); lin interest_V = variants {}; lin interest_V2 = dirV2 (medialV (stateV (mkV186 "интересувам")) Acc); lin interested_A = variants {}; @@ -29598,7 +29598,7 @@ lin kill_V2 = dirV2 (actionV (mkV186 "убивам") (mkV163 "убия")); lin killable_A = variants {}; lin killarney_PN = variants {}; lin killdeer_N = variants {}; -lin killer_N = variants {}; +lin killer_N = relativeN (mkN013 "убиец") (mkA076 "убийствен"); lin killifish_N = variants {}; lin killing_N = mkN071 "убиване" ; lin killingly_Adv = variants {}; @@ -32103,9 +32103,9 @@ lin machete_N = variants {}; lin machiavellian_A = variants {}; lin machicolation_N = variants {}; lin machination_N = variants {}; -lin machine_N = variants {}; +lin machine_N = relativeN (mkN041 "машина") (mkA079 "машинен"); lin machine_V2 = variants {}; -lin machine_gun_N = variants {}; +lin machine_gun_N = relativeN (mkN041 "картечница") (mkA079 "картечен"); lin machine_made_A = variants {}; lin machinery_N = mkN047 "механизация" ; lin machinist_N = mkN007a "машинист" ; @@ -32196,7 +32196,7 @@ lin maggot_N = variants {}; lin maggoty_A = variants {}; lin maghull_PN = variants {}; lin magic_A = mkA078 "магически"; -lin magic_N = variants {}; +lin magic_N = relativeN (mkN047 "магия") (mkA078 "магически"); lin magical_A = mkA078 "магически"; lin magician_N = mkN031a "заклинател" ; ---- lin magisterial_A = variants {}; @@ -32371,7 +32371,7 @@ lin malcontent_A = variants {}; lin malcontent_N = variants {}; lin maldon_PN = variants {}; lin male_A = mkA078 "мъжки"; -lin male_N = variants {}; +lin male_N = relativeN (mkN024 "мъж") (mkA078 "мъжки"); lin maleate_N = variants {}; lin maleberry_N = variants {}; lin malediction_N = variants {}; @@ -32460,7 +32460,7 @@ lin mammoth_N = mkN007 "мамут"; lin mammothermography_N = variants {}; lin mammy_N = variants {}; lin mamo_N = variants {}; -lin man_N = variants {}; +lin man_N = relativeN (mkN024 "мъж") (mkA078 "мъжки"); lin man_V2 = variants {}; lin man_at_arms_N = variants {}; lin man_eater_N = variants {}; @@ -33428,7 +33428,7 @@ lin mercantilism_N = variants {}; lin mercaptopurine_N = variants {}; lin mercator_PN = variants {}; lin mercenary_A = mkA079 "наемен"; -lin mercenary_N = variants {}; +lin mercenary_N = relativeN (mkN014a "наемник") (mkA079 "наемен"); lin mercer_N = variants {}; lin mercerize_V2 = variants {}; lin merchandise_N = variants {}; @@ -34274,7 +34274,7 @@ lin misshapen_A = variants {}; lin missile_N = mkN041 "ракета" ; lin mission_N = mkN047 "мисия" ; lin missionary_A = mkA078 "мисионерски"; -lin missionary_N = variants {}; +lin missionary_N = relativeN (mkN054 "мисионерство") (mkA078 "мисионерски"); lin missis_N = variants {}; lin mississippi_PN = mkPN "Мисисипи" Fem; lin missive_N = variants {}; @@ -34838,7 +34838,7 @@ lin mortality_N = mkN049 "смъртност" ; lin mortar_N = mkN041 "граната" ; lin mortar_V2 = variants {}; lin mortarboard_N = variants {}; -lin mortgage_N = variants {}; +lin mortgage_N = relativeN (mkN041 "ипотека") (mkA079 "ипотечен"); lin mortgage_V2 = variants {}; lin mortgagee_N = variants {}; lin mortgagor_N = variants {}; @@ -35216,7 +35216,7 @@ lin muralist_N = variants {}; lin murder_N = mkN071 "убиване" ; lin murder_V2 = dirV2 (actionV (mkV186 "убивам") (mkV163 "убия")); lin murderee_N = variants {}; -lin murderer_N = variants {}; +lin murderer_N = relativeN (mkN013 "убиец") (mkA076 "убийствен"); lin murderess_N = mkN041 "убийца"; lin murderous_A = mkA076 "убийствен"; lin murderousness_N = variants {}; @@ -35564,7 +35564,7 @@ lin nape_N = variants {}; lin napery_N = variants {}; lin naphazoline_N = variants {}; lin naphtha_N = mkN041 "нафта"; -lin naphthalene_N = variants {}; +lin naphthalene_N = relativeN (mkN007 "нафталин") (mkA076 "нафталинов"); lin naphthol_N = variants {}; lin napkin_N = mkN041 "салфетка"; lin napkin_ring_N = variants {}; @@ -37966,7 +37966,7 @@ lin ot_N = variants {}; lin otago_PN = mkPN "Отаго" Masc; lin other_A = mkA076 "друг" ; lin other_Adv = variants {}; -lin other_N = variants {}; +lin other_N = substantiveN (mkA076 "друг") (AMasc Human); lin otherness_N = variants {}; lin otherwise_A = variants {}; lin otherwise_Adv = mkAdv "иначе"; @@ -41410,9 +41410,9 @@ lin police_V2 = variants {}; lin police_office_N = variants {}; lin police_officer_N = variants {}; lin police_station_N = variants {}; -lin policeman_N = variants {}; +lin policeman_N = relativeN (mkN032a "полицай") (mkA078 "полицейски"); lin policewoman_N = mkN041 "полицайка"; -lin policy_N = variants {}; +lin policy_N = relativeN (mkN041 "политика") (mkA078 "политически") ; lin policyholder_N = variants {}; lin polio_N = variants {}; lin poliomyelitis_N = variants {}; @@ -42439,7 +42439,7 @@ lin prey_N = variants {}; lin prey_V = variants {}; lin priapic_A = variants {}; lin priapism_N = variants {}; -lin price_N = variants {}; +lin price_N = relativeN (mkN041 "цена") (mkA078 "ценови"); lin price_V = variants {}; lin price_V2 = variants {}; lin price_V2V = variants {}; @@ -42538,7 +42538,7 @@ lin print_seller_N = variants {}; lin print_shop_N = variants {}; lin printable_A = variants {}; lin printer_N = mkN007 "принтер"; -lin printing_N = variants {}; +lin printing_N = relativeN (mkN054 "печатарство") (mkA078 "печатарски"); lin printing_ink_N = variants {}; lin printing_press_N = variants {}; lin printmaker_N = variants {}; @@ -44351,7 +44351,7 @@ lin ratan_N = variants {}; lin ratatouille_N = variants {}; lin ratch_N = variants {}; lin ratchet_N = variants {}; -lin rate_N = variants {}; +lin rate_N = relativeN (mkN001 "курс") (mkA076 "курсов") ; lin rate_V = variants {}; lin rate_V2 = variants {}; lin rate_VA = variants {}; @@ -45628,7 +45628,7 @@ lin resignedly_Adv = variants {}; lin resilience_N = mkN049 "еластичност" ; ---- lin resiliency_N = mkN049 "издържливост" ; lin resilient_A = mkA076 "издръжлив" ; ---- -lin resin_N = variants {}; +lin resin_N = relativeN (mkN041 "смола") (mkA076 "смолист"); lin resinated_A = variants {}; lin resinlike_A = variants {}; lin resinoid_N = variants {}; @@ -47815,7 +47815,7 @@ lin science_N = mkN041 "наука" ; lin scienter_Adv = variants {}; lin scientific_A = mkA079 "научен" ; lin scientifically_Adv = variants {}; -lin scientist_N = variants {}; +lin scientist_N = substantiveN (mkA076 "учен") (AMasc Human); lin scilla_N = variants {}; lin scimitar_N = variants {}; lin scintilla_N = variants {}; @@ -49998,7 +49998,7 @@ lin skimming_N = variants {}; lin skimp_V = variants {}; lin skimp_V2 = variants {}; lin skimpy_A = variants {}; -lin skin_N = variants {}; +lin skin_N = relativeN (mkN041 "кожа") (mkA079 "кожен"); lin skin_V = variants {}; lin skin_V2 = variants {}; lin skin_deep_A = variants {}; @@ -51318,7 +51318,7 @@ lin spec_N = variants {}; lin special_A = mkA079 "специален"; lin special_N = variants {}; lin specialism_N = variants {}; -lin specialist_N = variants {}; +lin specialist_N = relativeN (mkN007 "специалист") (mkA076 "специализиран"); lin specialistic_A = variants {}; lin speciality_N = mkN049 "специалност"; lin specialization_N = mkN047 "специализация"; @@ -52498,7 +52498,7 @@ lin stob_N = variants {}; lin stochastic_A = variants {}; lin stochastically_Adv = variants {}; lin stock_A = variants {}; -lin stock_N = variants {}; +lin stock_N = relativeN (mkN041 "стока") (mkA076 "стоков"); lin stock_V2 = variants {}; lin stock_cube_N = variants {}; lin stock_farmer_N = variants {}; @@ -53724,7 +53724,7 @@ lin survival_N = mkN071 "оцеляване"; lin survivalist_N = variants {}; lin survive_V = actionV (mkV186 "оцелявам") (mkV160 "оцелея"); lin survive_V2 = variants {}; -lin survivor_N = variants {}; +lin survivor_N = substantiveN (mkA076 "оцеляващ") (AMasc Human); lin susan_PN = variants {}; lin susanna_PN = variants {}; lin susceptibility_N = variants {}; @@ -54079,7 +54079,7 @@ lin syndicalism_N = variants {}; lin syndicalist_N = variants {}; lin syndicate_N = mkN007 "синдикат" ; lin syndicate_V2 = variants {}; -lin syndication_N = variants {}; +lin syndication_N = relativeN (mkN071 "обединяване") (mkA076 "обединяващ"); lin syndicator_N = variants {}; lin syndrome_N = mkN007 "синдром"; lin synecdoche_N = variants {}; @@ -54766,8 +54766,8 @@ lin teleologist_N = variants {}; lin teleology_N = mkN047 "телеология" ; lin telepathic_A = mkA079 "телепатичен"; lin telepathist_N = mkN007 "телепат"; -lin telepathy_N = variants {}; -lin telephone_N = variants {}; +lin telepathy_N = relativeN (mkN047 "телепатия") (mkA079 "телепатичен") ; +lin telephone_N = relativeN (mkN007 "телефон") (mkA079 "телефонен"); lin telephone_V = stateV (mkV186 "телефонирам"); lin telephone_V2 = dirV2 (stateV (mkV186 "телефонирам")); lin telephonic_A = mkA079 "телефонен"; @@ -55123,7 +55123,7 @@ lin texas_PN = mkPN "Тексас" Masc; lin text_N = mkN001 "текст" ; lin textbook_N = mkN014 "учебник"; lin textile_A = mkA079 "текстилен"; -lin textile_N = variants {}; +lin textile_N = relativeN (mkN007 "текстил") (mkA079 "текстилен"); lin textual_A = variants {}; lin texture_N = variants {}; lin textured_A = variants {}; @@ -57160,7 +57160,7 @@ lin turgid_A = variants {}; lin turgidity_N = variants {}; lin turgor_N = variants {}; lin turin_PN = variants {}; -lin turk_N = variants {}; +lin turk_N = relativeN (mkN021 "турчин") (mkA078 "турски"); lin turkey_N = mkN041 "пуйка"; lin turkey_PN = mkPN "Турция" Fem; lin turkish_A = mkA078 "турски" ; @@ -57187,7 +57187,7 @@ lin turnery_N = variants {}; lin turning_N = variants {}; lin turning_point_N = variants {}; lin turnip_N = mkN043 "ряпа"; -lin turnkey_N = variants {}; +lin turnkey_N = relativeN (mkN031a "ключар") (mkA076 "ключов"); lin turnoff_N = variants {}; lin turnout_N = variants {}; lin turnover_N = mkN007 "оборот" ; @@ -57693,7 +57693,7 @@ lin uncivilized_A = variants {}; lin unclaimed_A = variants {}; lin unclassifiable_A = variants {}; lin unclassified_A = variants {}; -lin uncle_N = variants {}; +lin uncle_N = relativeN (mkN040 "чичо") (mkA076 "чичов") ; lin unclean_A = variants {}; lin uncleanliness_N = variants {}; lin uncleanly_A = variants {}; @@ -59377,7 +59377,7 @@ lin vacuum_N = mkN007 "вакум"; lin vacuum_V2 = variants {}; lin vade_mecum_N = variants {}; lin vagabond_A = mkA078 "скитнически"; -lin vagabond_N = variants {}; +lin vagabond_N = relativeN (mkN014 "скитник") (mkA078 "скитнически"); lin vagal_A = variants {}; lin vagary_N = variants {}; lin vagile_A = variants {}; @@ -59491,7 +59491,7 @@ lin varanasi_PN = variants {}; lin vardenafil_N = variants {}; lin variability_N = variants {}; lin variable_A = mkA076 "променлив"; -lin variable_N = variants {}; +lin variable_N = relativeN (mkN041 "променлива") (mkA076 "променлив"); lin variableness_N = variants {}; lin variance_N = variants {}; lin variant_A = variants {}; @@ -60475,7 +60475,7 @@ lin warren_N = mkN014 "развъдник"; lin warrener_N = variants {}; lin warrigal_N = variants {}; lin warrington_PN = variants {}; -lin warrior_N = variants {}; +lin warrior_N = relativeN (mkN013 "боец") (mkA085 "боен"); lin warsaw_PN = variants {}; lin warship_N = variants {}; lin warsop_PN = variants {}; @@ -61600,7 +61600,7 @@ lin woody_A = variants {}; lin wooer_N = variants {}; lin woof_N = variants {}; lin woofer_N = variants {}; -lin wool_N = variants {}; +lin wool_N = relativeN (mkN041 "вълна") (mkA076 "вълнен"); lin woolen_A = variants {}; lin woolgathering_A = variants {}; lin woolgathering_N = variants {}; @@ -62054,7 +62054,7 @@ lin zambian_A = mkA078 "замбийски"; lin zambian_N = mkN013 "замбиец"; lin zamia_N = variants {}; lin zany_A = mkA078 "палячовски"; -lin zany_N = variants {}; +lin zany_N = relativeN (mkN040 "палячо") (mkA078 "палячовски"); lin zap_N = variants {}; lin zap_V2 = dirV2 (actionV (mkV187 "повалям") (mkV174 "поваля")); lin zaporozhye_PN = mkPN "Запорожие" Neut; diff --git a/lib/src/bulgarian/MorphoBul.gf b/lib/src/bulgarian/MorphoBul.gf index a3d762072..1e70c8136 100644 --- a/lib/src/bulgarian/MorphoBul.gf +++ b/lib/src/bulgarian/MorphoBul.gf @@ -102,7 +102,7 @@ oper (v0+"") (v0+"") (v0+"") - ANeut).s ! nform; + ANeut) ! nform; VGerund => case chete of { rabot + "" => rabot + ""; _ => chete + "" @@ -112,8 +112,8 @@ oper --2 Nouns - mkNoun : Str -> Str -> Str -> Str -> AGender -> N = \sg,pl,count,voc,g -> { - s = table { + mkNoun : Str -> Str -> Str -> Str -> AGender -> NForm => Str = \sg,pl,count,voc,g -> + table { NF Sg Indef => sg ; NF Sg Def => case sg of { _+""=>sg+"" ; @@ -165,9 +165,6 @@ oper } ; NFPlCount => count ; NFVocative => voc - } ; - g = g ; - lock_N = <> } ; diff --git a/lib/src/bulgarian/MorphoFunsBul.gf b/lib/src/bulgarian/MorphoFunsBul.gf index 0fbee310e..05723f62b 100644 --- a/lib/src/bulgarian/MorphoFunsBul.gf +++ b/lib/src/bulgarian/MorphoFunsBul.gf @@ -170,9 +170,9 @@ oper compoundN = overload { compoundN : Str -> N -> N - = \s,n -> {s = \\nform => s ++ n.s ! nform ; g=n.g ; anim=n.anim ; lock_N = <>} ; + = \s,n -> {s = \\nform => s ++ n.s ! nform ; rel = \\aform => s ++ n.rel ! aform; g=n.g ; anim=n.anim ; lock_N = <>} ; compoundN : N -> Str -> N - = \n,s -> {s = \\nform => s ++ n.s ! nform ; g=n.g ; anim=n.anim ; lock_N = <>} ; + = \n,s -> {s = \\nform => s ++ n.s ! nform ; rel = \\aform => s ++ n.rel ! aform; g=n.g ; anim=n.anim ; lock_N = <>} ; compoundN : N -> N -> N = \n1,n2 -> lin N {s = table { @@ -181,11 +181,25 @@ oper NFPlCount => n1.s ! NFPlCount ++ n2.s ! (NF Pl Indef) ; NFVocative => n1.s ! NFVocative ++ n2.s ! (NF Sg Indef) } ; + rel = \\aform => n1.rel ! aform; g = n1.g ; g = n1.anim } ; } ; + relativeN : N -> A -> N; + relativeN n a = lin N { + s = n.s; + rel = a.s; + g = n.g + } ; + + substantiveN : A -> AGender -> N; + substantiveN a g = lin N { + s = \\nform => a.s ! nform2aform nform g; + rel = a.s; + g = g + } ; --2 Prepositions -- diff --git a/lib/src/bulgarian/ParadigmsBul.gf b/lib/src/bulgarian/ParadigmsBul.gf index c7602de10..d271f5eaa 100644 --- a/lib/src/bulgarian/ParadigmsBul.gf +++ b/lib/src/bulgarian/ParadigmsBul.gf @@ -19,54 +19,85 @@ oper NFPlCount => base+"" ; NFVocative => base+"" } ; + rel = \\_ => base ; g = AMasc NonHuman ; lock_N = <> } ; mkN002 : Str -> N ; mkN002 base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1) - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN002a : Str -> N ; mkN002a base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1) - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN003 : Str -> N ; mkN003 base = let v0 = tk 3 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1) - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN004 : Str -> N ; - mkN004 base = let v0 = tk 4 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN004 base = let v0 = tk 4 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g; + rel = \\_ => base; + g = g ; + lock_N = <> + } ; mkN005 : Str -> N ; - mkN005 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - (AMasc NonHuman) ; + mkN005 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g; + rel = \\_ => base; + g = g ; + lock_N = <> + } ; mkN006 : Str -> N ; - mkN006 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - (AMasc NonHuman) ; + mkN006 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g; + rel = \\_ => base; + g = g ; + lock_N = <> + } ; mkN007 : Str -> N ; mkN007 base = {s = table { NF Sg Indef => base ; @@ -77,16 +108,22 @@ oper NFPlCount => base+"" ; NFVocative => base+"" } ; - g = AMasc NonHuman ; + rel = (mkA079 (base+"")).s; + g = AMasc NonHuman; lock_N = <> } ; mkN007b : Str -> N ; - mkN007b base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN007b base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base; + g = g ; + lock_N = <> + } ; mkN007a : Str -> N ; mkN007a base = {s = table { NF Sg Indef => base ; @@ -97,623 +134,1054 @@ oper NFPlCount => base+"" ; NFVocative => base+"" } ; - g = AMasc Human ; + rel = (mkA078 (base+"")).s; + g = AMasc Human ; lock_N = <> } ; mkN008 : Str -> N ; mkN008 base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (AMasc NonHuman) ; + v1 = last base; + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + g ; + rel = \\_ => base; + g = g ; + lock_N = <> + } ; mkN008b : Str -> N ; mkN008b base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN008c : Str -> N ; mkN008c base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+v1+"") - (v0+""+v1+"") - (v0+v1+"") - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+v1+"") + (v0+""+v1+"") + (v0+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN008a : Str -> N ; - mkN008a base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN008a base = let v0 = tk 2 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (v0+"")).s ; + g = g ; + lock_N = <> + } ; mkN009 : Str -> N ; mkN009 base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+v1+"") - (v0+""+v1+"") - (v0+v1+"") - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+v1+"") + (v0+""+v1+"") + (v0+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN009a : Str -> N ; - mkN009a base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN009a base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + } ; mkN010 : Str -> N ; - mkN010 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN010 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN011 : Str -> N ; - mkN011 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN011 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN012 : Str -> N ; - mkN012 base = let v0 = tk 3 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN012 base = let v0 = tk 3 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN013 : Str -> N ; - mkN013 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN013 base = let v0 = tk 2 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s; + g = g ; + lock_N = <> + }; mkN014 : Str -> N ; - mkN014 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN014 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN014a : Str -> N ; - mkN014a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN014a base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (v0+"")).s; + g = g ; + lock_N = <> + }; mkN015 : Str -> N ; - mkN015 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN015 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN015a : Str -> N ; - mkN015a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN015a base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN016 : Str -> N ; - mkN016 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN016 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN016a : Str -> N ; - mkN016a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN016a base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN017 : Str -> N ; - mkN017 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN017 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN018 : Str -> N ; - mkN018 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN018 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN018a : Str -> N ; mkN018a base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+"") - (v0+"") - (v0+""+v1+"") - (AMasc NonHuman) ; + v1 = last (base); + g = AMasc NonHuman + in {s = mkNoun (v0+""+v1) + (v0+"") + (v0+"") + (v0+""+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN019 : Str -> N ; - mkN019 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN019 base = let v0 = tk 2 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (v0+"")).s; + g = g ; + lock_N = <> + }; mkN019a : Str -> N ; - mkN019a base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN019a base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN020 : Str -> N ; mkN020 base = let v0 = tk 3 base; - v1 = last (tk 2 base) - in mkNoun (v0+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (v0+v1+"") - (AMasc Human) ; + v1 = last (tk 2 base); + g = AMasc Human + in {s = mkNoun (v0+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + (v0+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN021 : Str -> N ; - mkN021 base = let v0 = tk 3 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN021 base = let v0 = tk 3 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN022 : Str -> N ; - mkN022 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN022 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN023 : Str -> N ; - mkN023 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN023 base = let v0 = tk 2 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN024a : Str -> N ; - mkN024a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN024a base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN024 : Str -> N ; - mkN024 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN024 base = let v0 = base; + g = AMasc Human + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN025 : Str -> N ; - mkN025 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN025 base = let v0 = base; + g = AMasc Human + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s ; + g = g ; + lock_N = <> + }; mkN026 : Str -> N ; - mkN026 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN026 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN027 : Str -> N ; - mkN027 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN027 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN028 : Str -> N ; - mkN028 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN028 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN028a : Str -> N ; - mkN028a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN028a base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN029 : Str -> N ; - mkN029 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN029 base = let v0 = base; + g = AMasc Human + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s; + g = g ; + lock_N = <> + }; mkN030 : Str -> N ; - mkN030 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN030 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN031 : Str -> N ; - mkN031 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN031 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN031a : Str -> N ; - mkN031a base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN031a base = let v0 = base; + g = AMasc Human + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s ; + g = g ; + lock_N = <> + }; mkN032 : Str -> N ; mkN032 base = let v0 = base ; - v1 = tk 1 base - in mkNoun (v0) - (v1+"") - (v1+"") - (v0+"") - (AMasc NonHuman) ; + v1 = tk 1 base ; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v1+"") + (v1+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN032a : Str -> N ; - mkN032a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN032a base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s ; + g = g ; + lock_N = <> + }; mkN033 : Str -> N ; - mkN033 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN033 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN034 : Str -> N ; - mkN034 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN034 base = let v0 = tk 2 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN035 : Str -> N ; - mkN035 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN035 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN035a : Str -> N ; - mkN035a base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN035a base = let v0 = base; + g = AMasc Human + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = (mkA078 (base+"")).s ; + g = g ; + lock_N = <> + }; mkN036 : Str -> N ; - mkN036 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN036 base = let v0 = tk 1 base; + g = AMasc NonHuman + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN037 : Str -> N ; - mkN037 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN037 base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN038 : Str -> N ; - mkN038 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN038 base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN039 : Str -> N ; - mkN039 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"o") - (AMasc Human) ; + mkN039 base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"o") + g ; + rel = (mkA078 (v0+"")).s ; + g = g ; + lock_N = <> + }; mkN040 : Str -> N ; - mkN040 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - (AMasc Human) ; + mkN040 base = let v0 = tk 1 base; + g = AMasc Human + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN040a : Str -> N ; - mkN040a base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0+"") - (AMasc NonHuman) ; + mkN040a base = let v0 = base; + g = AMasc NonHuman + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN041 : Str -> N ; - mkN041 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN041 base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN041a : Str -> N ; - mkN041a base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN041a base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN041b : Str -> N ; - mkN041b base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN041b base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN042 : Str -> N ; - mkN042 base = let v0 = base - in mkNoun (v0) - (v0) - (v0) - (v0) - AFem ; + mkN042 base = let v0 = base; + g = AFem + in {s = mkNoun (v0) + (v0) + (v0) + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN043 : Str -> N ; mkN043 base = let v0 = tk 3 base; - v1 = last (tk 1 base) - in mkNoun (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (v0+"") - AFem ; + v1 = last (tk 1 base); + g = AFem + in {s = mkNoun (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN043a : Str -> N ; mkN043a base = let v0 = tk 4 base; - v1 = last (tk 2 base) - in mkNoun (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (v0+"") - AFem ; + v1 = last (tk 2 base); + g = AFem + in {s = mkNoun (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN044 : Str -> N ; - mkN044 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN044 base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN045 : Str -> N ; - mkN045 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN045 base = let v0 = tk 2 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN046 : Str -> N ; - mkN046 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN046 base = let v0 = tk 2 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN047 : Str -> N ; - mkN047 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN047 base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN048 : Str -> N ; - mkN048 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN048 base = let v0 = tk 1 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN049 : Str -> N ; - mkN049 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - AFem ; + mkN049 base = let v0 = base; + g = AFem + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN050 : Str -> N ; - mkN050 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN050 base = let v0 = tk 2 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN051 : Str -> N ; mkN051 base = let v0 = tk 2 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+v1+"") - (v0+v1+"") - (v0+""+v1) - AFem ; + v1 = last (base); + g = AFem + in {s = mkNoun (v0+""+v1) + (v0+v1+"") + (v0+v1+"") + (v0+""+v1) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN052 : Str -> N ; - mkN052 base = let v0 = tk 5 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN052 base = let v0 = tk 5 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN052a : Str -> N ; - mkN052a base = let v0 = tk 6 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - AFem ; + mkN052a base = let v0 = tk 6 base; + g = AFem + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN053 : Str -> N ; mkN053 base = let v0 = tk 3 base; - v1 = last (base) - in mkNoun (v0+""+v1) - (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1) - AFem ; + v1 = last (base); + g = AFem + in {s = mkNoun (v0+""+v1) + (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN054 : Str -> N ; - mkN054 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN054 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN055 : Str -> N ; - mkN055 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN055 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN056 : Str -> N ; - mkN056 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN056 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN057 : Str -> N ; mkN057 base = let v0 = tk 3 base; - v1 = last (tk 1 base) - in mkNoun (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - (v0+""+v1+"") - ANeut ; + v1 = last (tk 1 base); + g = ANeut + in {s = mkNoun (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + (v0+""+v1+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN057a : Str -> N ; - mkN057a base = let v0 = tk 4 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN057a base = let v0 = tk 4 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN058 : Str -> N ; - mkN058 base = let v0 = tk 3 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN058 base = let v0 = tk 3 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN059 : Str -> N ; - mkN059 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN059 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN060 : Str -> N ; - mkN060 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN060 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN061 : Str -> N ; - mkN061 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN061 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN062 : Str -> N ; - mkN062 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN062 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN063 : Str -> N ; - mkN063 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN063 base = let v0 = tk 2 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN064 : Str -> N ; - mkN064 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN064 base = let v0 = tk 2 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g; + lock_N = <> + }; mkN065 : Str -> N ; - mkN065 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - ANeut ; + mkN065 base = let v0 = base; + g = ANeut + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN066 : Str -> N ; - mkN066 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; - mkN067 : Str -> N ; - mkN067 base = let v0 = tk 2 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN066 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; + mkN067 : Str -> N ; + mkN067 base = let v0 = tk 2 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN068 : Str -> N ; - mkN068 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN068 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN069 : Str -> N ; - mkN069 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - ANeut ; + mkN069 base = let v0 = base; + g = ANeut + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN070 : Str -> N ; - mkN070 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - ANeut ; + mkN070 base = let v0 = base; + g = ANeut + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN071 : Str -> N ; - mkN071 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN071 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN072 : Str -> N ; - mkN072 base = let v0 = tk 1 base - in mkNoun (v0+"") - (v0+"") - (v0+"") - (v0+"") - ANeut ; + mkN072 base = let v0 = tk 1 base; + g = ANeut + in {s = mkNoun (v0+"") + (v0+"") + (v0+"") + (v0+"") + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN073 : Str -> N ; - mkN073 base = let v0 = base - in mkNoun (v0) - (v0+"") - (v0+"") - (v0) - ANeut ; + mkN073 base = let v0 = base; + g = ANeut + in {s = mkNoun (v0) + (v0+"") + (v0+"") + (v0) + g ; + rel = \\_ => base ; + g = g ; + lock_N = <> + }; mkN074 : Str -> N ; mkN074 base = let v0 = base in { s = table { @@ -724,6 +1192,7 @@ oper NFPlCount => v0 ; NFVocative => v0 } ; + rel = \\_ => base ; g = ANeut ; lock_N = <> } ; @@ -737,6 +1206,7 @@ oper NFPlCount => v0 ; NFVocative => v0 } ; + rel = \\_ => base ; g = ANeut ; lock_N = <> } ; @@ -1447,7 +1917,7 @@ oper (v0+"") (v0+"") (v0+"") - (v0+"-") + (v0+"") (v0+"") (v0+"") (v0+"") ; diff --git a/lib/src/bulgarian/ParseBul.gf b/lib/src/bulgarian/ParseBul.gf index 5d2456516..1fb65841b 100644 --- a/lib/src/bulgarian/ParseBul.gf +++ b/lib/src/bulgarian/ParseBul.gf @@ -28,8 +28,18 @@ flags coding = utf8 ; lin + CompoundCN num noun cn = { + s = \\nf => (noun.rel ! nform2aform nf cn.g) ++ (cn.s ! (indefNForm nf)) ; + g = cn.g + } ; + GerundN v = { - s = \\nform => v.s ! Imperf ! VNoun nform ; + s = \\nform => v.s ! Imperf ! VNoun nform ; + rel = \\aform => v.s ! Imperf ! VPresPart aform ++ + case v.vtype of { + VMedial c => reflClitics ! c; + _ => [] + }; g = ANeut } ;