mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
Some changes in accusative singular case and thoughts on superessive singular case
This commit is contained in:
418
src/hungarian/LexiconHun.gf
Normal file
418
src/hungarian/LexiconHun.gf
Normal file
@@ -0,0 +1,418 @@
|
|||||||
|
concrete LexiconHun of Lexicon = CatHun **
|
||||||
|
open ParadigmsHun, ParamHun, Prelude in {
|
||||||
|
|
||||||
|
----
|
||||||
|
-- A
|
||||||
|
|
||||||
|
-- lin add_V3 = mkV3 "" ;
|
||||||
|
-- lin airplane_N = mkN "" ;
|
||||||
|
-- lin alas_Interj = mkInterj "" ;
|
||||||
|
-- lin already_Adv = mkA "" ;
|
||||||
|
-- lin animal_N = mkN "" ;
|
||||||
|
--lin answer_V2S = mkV2S "válasz" ;
|
||||||
|
-- lin apartment_N = mkN "" ;
|
||||||
|
lin apple_N = mkN "alma" ;
|
||||||
|
lin art_N = mkN "müvészet" ;
|
||||||
|
-- lin ashes_N = mkN "" ;
|
||||||
|
-- lin ask_V2Q = mkV2 "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- B
|
||||||
|
|
||||||
|
lin baby_N = mkN "bébi" ;
|
||||||
|
-- lin back_N = mkN "" ;
|
||||||
|
-- lin bad_A = mkA "" ;
|
||||||
|
lin bank_N = mkN "bank" ;
|
||||||
|
-- lin bark_N = mkN "" ;
|
||||||
|
-- lin beautiful_A = mkA "" ;
|
||||||
|
-- lin become_VA = mkVA "" ;
|
||||||
|
lin beer_N = mkN "sör" ;
|
||||||
|
-- lin beg_V2V = mkV2 "" ;
|
||||||
|
lin belly_N = mkN "has" ;
|
||||||
|
-- lin big_A = mkA "" ;
|
||||||
|
-- lin bike_N = mkN "" ;
|
||||||
|
lin bird_N = mkN "madár" ;
|
||||||
|
-- lin bite_V2 = mkV2 "" ;
|
||||||
|
-- lin black_A = mkA "" ;
|
||||||
|
-- lin blood_N = mkN "" ;
|
||||||
|
-- lin blow_V = mkV "" ;
|
||||||
|
-- lin blue_A = mkA "" ;
|
||||||
|
-- lin boat_N = mkN "" ;
|
||||||
|
-- lin bone_N = mkN "" ;
|
||||||
|
-- lin boot_N = mkN "" ;
|
||||||
|
-- lin boss_N = mkN "" ;
|
||||||
|
-- lin book_N = mkN "" ;
|
||||||
|
lin boy_N = mkN "fiú" ;
|
||||||
|
-- lin bread_N = mkN "" ;
|
||||||
|
-- lin break_V2 = mkV2 "" ;
|
||||||
|
-- lin breast_N = mkN "" ;
|
||||||
|
-- lin breathe_V = mkV "" ;
|
||||||
|
-- lin broad_A = mkA "" ;
|
||||||
|
-- lin brother_N2 = mkN "" ;
|
||||||
|
-- lin brown_A = mkA "" ;
|
||||||
|
-- lin burn_V = mkV "" ;
|
||||||
|
-- lin butter_N = mkN "" ;
|
||||||
|
-- lin buy_V2 = mkV2 "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- C
|
||||||
|
|
||||||
|
-- lin camera_N = mkN "" ;
|
||||||
|
-- lin cap_N = mkN "" ;
|
||||||
|
-- lin car_N = mkN "" ;
|
||||||
|
-- lin carpet_N = mkN "" ;
|
||||||
|
lin cat_N = mkN "macska" ;
|
||||||
|
-- lin ceiling_N = mkN "" ;
|
||||||
|
-- lin chair_N = mkN "" ;
|
||||||
|
-- lin cheese_N = mkN "" ;
|
||||||
|
lin child_N = mkN "gyerek" ;
|
||||||
|
-- lin church_N = mkN "" ;
|
||||||
|
lin city_N = mkN "város" ;
|
||||||
|
-- lin clean_A = mkA "" ;
|
||||||
|
-- lin clever_A = mkA "" ;
|
||||||
|
-- lin close_V2 = mkV2 "" ;
|
||||||
|
-- lin cloud_N = mkN "" ;
|
||||||
|
-- lin coat_N = mkN "" ;
|
||||||
|
-- lin cold_A = mkA "" ;
|
||||||
|
-- lin come_V = mkV "" ;
|
||||||
|
-- lin computer_N = mkN "" ;
|
||||||
|
-- lin correct_A = mkA "" ;
|
||||||
|
-- lin count_V2 = mkV2 "" ;
|
||||||
|
lin country_N = mkN "ország" ;
|
||||||
|
-- lin cousin_N = mkN "" ;
|
||||||
|
-- lin cow_N = mkN "" ;
|
||||||
|
-- lin cut_V2 = mkV2 "" ;
|
||||||
|
--
|
||||||
|
-- ----
|
||||||
|
-- -- D
|
||||||
|
--
|
||||||
|
-- lin day_N = mkN "" ;
|
||||||
|
-- lin die_V = mkV "" ;
|
||||||
|
-- lin dig_V = mkV "" ;
|
||||||
|
-- lin dirty_A = mkA "" ;
|
||||||
|
-- lin distance_N3 = mkN "" ;
|
||||||
|
-- lin do_V2 = mkV2 do_V ;
|
||||||
|
-- lin doctor_N = mkN "" ;
|
||||||
|
-- lin dog_N = mkN "" ;
|
||||||
|
lin door_N = mkN "ajtó" ;
|
||||||
|
-- lin drink_V2 = mkV2 "" ;
|
||||||
|
-- lin dry_A = mkA "" ;
|
||||||
|
-- lin dull_A = mkA "" ;
|
||||||
|
-- lin dust_N = mkN "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- E
|
||||||
|
|
||||||
|
-- lin ear_N = mkN "" ;
|
||||||
|
-- lin earth_N = mkN "" ;
|
||||||
|
-- lin eat_V2 = mkV2 "" ;
|
||||||
|
-- lin egg_N = mkN "" ;
|
||||||
|
-- lin empty_A = mkA "" ;
|
||||||
|
-- lin enemy_N = mkN "" ;
|
||||||
|
lin eye_N = mkN "szem" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- F
|
||||||
|
|
||||||
|
-- lin factory_N = mkN "" ;
|
||||||
|
-- lin fall_V = mkV "" ;
|
||||||
|
-- lin far_Adv = mkA "" ;
|
||||||
|
-- lin fat_N = mkN "" ;
|
||||||
|
-- lin father_N2 = mkN2 "" ;
|
||||||
|
-- lin fear_V2 = mkV2 "" ;
|
||||||
|
-- lin fear_VS = mkVS "" ;
|
||||||
|
-- lin feather_N = mkN "" ;
|
||||||
|
-- lin fight_V2 = mkV2 "" ;
|
||||||
|
-- lin find_V2 = mkV2 "" ;
|
||||||
|
-- lin fingernail_N = mkN "" ;
|
||||||
|
-- lin fire_N = mkN "" ;
|
||||||
|
lin fish_N = mkN "hal" ;
|
||||||
|
-- lin float_V = mkV "" ;
|
||||||
|
-- lin floor_N = mkN "" ;
|
||||||
|
-- lin flow_V = mkV "" ;
|
||||||
|
-- lin flower_N = mkN "" ;
|
||||||
|
lin fly_V = mkV "repül" ;
|
||||||
|
-- lin fog_N = mkN "" ;
|
||||||
|
-- lin foot_N = mkN "" ;
|
||||||
|
-- lin forest_N = mkN "" ;
|
||||||
|
-- lin forget_V2 = mkV2 "" ;
|
||||||
|
-- lin freeze_V = mkV "" ;
|
||||||
|
-- lin fridge_N = mkN "" ;
|
||||||
|
-- lin friend_N = mkN "" ;
|
||||||
|
lin fruit_N = mkN "gyümölcs" ;
|
||||||
|
-- lin full_A = mkA "" ;
|
||||||
|
-- --lin fun_AV
|
||||||
|
|
||||||
|
----
|
||||||
|
-- G
|
||||||
|
|
||||||
|
lin garden_N = mkN "kert" ;
|
||||||
|
lin girl_N = mkN "lány" ;
|
||||||
|
-- lin give_V3 = mkV3 "" ;
|
||||||
|
-- lin glove_N = mkN "" ;
|
||||||
|
-- lin go_V = mkV "" ;
|
||||||
|
lin gold_N = mkN "arany" ;
|
||||||
|
-- lin good_A = mkA "" ;
|
||||||
|
-- lin grammar_N = mkN "" ;
|
||||||
|
-- lin grass_N = mkN "" ;
|
||||||
|
-- lin green_A = mkA "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- H
|
||||||
|
|
||||||
|
-- lin hair_N = mkN "" ;
|
||||||
|
lin hand_N = mkN "kéz" ;
|
||||||
|
-- lin harbour_N = mkN "" ;
|
||||||
|
-- lin hat_N = mkN "" ;
|
||||||
|
-- lin hate_V2 = mkV2 "" ;
|
||||||
|
lin head_N = mkN "fej" ;
|
||||||
|
-- lin hear_V2 = mkV2 "" ;
|
||||||
|
-- lin heart_N = mkN "" ;
|
||||||
|
-- lin heavy_A = mkA "" ;
|
||||||
|
-- lin hill_N = mkN "" ;
|
||||||
|
-- lin hit_V2 = mkV2 "" ;
|
||||||
|
-- lin hold_V2 = mkV2 "" ;
|
||||||
|
-- lin hope_VS = mkV "" ;
|
||||||
|
-- lin horn_N = mkN "" ;
|
||||||
|
lin horse_N = mkN "ló" ;
|
||||||
|
-- lin hot_A = mkA "" ;
|
||||||
|
lin house_N = mkN "ház" ;
|
||||||
|
-- lin hunt_V2 = mkV2 "" ;
|
||||||
|
-- lin husband_N = mkN "" ;
|
||||||
|
|
||||||
|
--------
|
||||||
|
-- I - K
|
||||||
|
|
||||||
|
-- lin ice_N = mkN "" ;
|
||||||
|
-- lin industry_N = mkN "" ;
|
||||||
|
-- lin iron_N = mkN "" ;
|
||||||
|
-- lin john_PN = mkPN "" ;
|
||||||
|
-- lin jump_V = mkV "" ;
|
||||||
|
-- lin kill_V2 = mkV2 "" ;
|
||||||
|
-- lin king_N = mkN "" ;
|
||||||
|
-- lin knee_N = mkN "" ;
|
||||||
|
-- lin know_V2 = mkV2 "" ;
|
||||||
|
-- lin know_VQ = mkVQ "" ;
|
||||||
|
-- lin know_VS = mkV "" ;
|
||||||
|
|
||||||
|
|
||||||
|
----
|
||||||
|
-- L
|
||||||
|
|
||||||
|
-- lin lake_N = mkN "" ;
|
||||||
|
-- lin lamp_N = mkN "" ;
|
||||||
|
-- lin language_N = mkN "" ;
|
||||||
|
-- lin laugh_V = mkV "" ;
|
||||||
|
-- lin leaf_N = mkN "" ;
|
||||||
|
-- lin learn_V2 = mkV2 "" ;
|
||||||
|
-- lin leather_N = mkN "" ;
|
||||||
|
-- lin leave_V2 = mkV2 "" ;
|
||||||
|
-- lin leg_N = mkN "" ;
|
||||||
|
-- lin lie_V = mkV "" ;
|
||||||
|
-- lin like_V2 = mkV2 "" ;
|
||||||
|
-- lin listen_V2 = mkV2 "" ;
|
||||||
|
-- lin live_V = mkV "";
|
||||||
|
-- lin liver_N = mkN "" ;
|
||||||
|
-- lin long_A = mkA "" ;
|
||||||
|
-- lin lose_V2 = mkV2 "" ;
|
||||||
|
-- lin louse_N = mkN "" ;
|
||||||
|
-- lin love_N = mkN "" ;
|
||||||
|
-- lin love_V2 = mkV2 "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- M
|
||||||
|
|
||||||
|
lin man_N = mkN "férfi" "ak" harmA ; -- force plural allomorph and a-harmony
|
||||||
|
-- lin married_A2 = mkA "" ;
|
||||||
|
-- lin meat_N = mkN "" ;
|
||||||
|
-- lin milk_N = mkN "" ;
|
||||||
|
-- lin moon_N = mkN "" ;
|
||||||
|
lin mother_N2 = mkN2 "anya" ;
|
||||||
|
-- lin mountain_N = mkN "" ;
|
||||||
|
-- lin mouth_N = mkN "" ;
|
||||||
|
-- lin music_N = mkN "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- N
|
||||||
|
|
||||||
|
lin name_N = mkN "név" ;
|
||||||
|
-- lin narrow_A = mkA "" ;
|
||||||
|
-- lin near_A = mkA "" ;
|
||||||
|
-- lin neck_N = mkN "" ;
|
||||||
|
-- lin new_A = mkA "" ;
|
||||||
|
-- lin newspaper_N = mkN "" ;
|
||||||
|
-- lin night_N = mkN "" ;
|
||||||
|
-- lin nose_N = mkN "" ;
|
||||||
|
lin now_Adv = mkAdv "most" ;
|
||||||
|
-- lin number_N = mkN "" ;
|
||||||
|
--
|
||||||
|
-- --------
|
||||||
|
-- -- O - P
|
||||||
|
--
|
||||||
|
--
|
||||||
|
lin oil_N = mkN "olaj" ;
|
||||||
|
-- lin old_A = mkA "" ;
|
||||||
|
-- lin open_V2 = mkV2 "" ;
|
||||||
|
-- lin paint_V2A = mkV2A "" ;
|
||||||
|
-- lin paper_N = mkN "" ;
|
||||||
|
-- lin paris_PN = mkPN "Paris" ;
|
||||||
|
lin peace_N = mkN "béke" ;
|
||||||
|
-- lin pen_N = mkN "" ;
|
||||||
|
lin person_N = mkN "ember" ;
|
||||||
|
-- lin planet_N = mkN "" ;
|
||||||
|
-- lin plastic_N = mkN "" ;
|
||||||
|
-- lin play_V = mkV "" ;
|
||||||
|
-- lin policeman_N = mkN "" ;
|
||||||
|
-- lin priest_N = mkN "" ;
|
||||||
|
-- lin pull_V2 = mkV2 "" ;
|
||||||
|
-- lin push_V2 = mkV2 "" ;
|
||||||
|
-- lin put_V2 = mkV2 "" ;
|
||||||
|
--
|
||||||
|
-- --------
|
||||||
|
-- -- Q - R
|
||||||
|
--
|
||||||
|
-- lin queen_N = mkN "" ;
|
||||||
|
lin question_N = mkN "kérdés" ;
|
||||||
|
-- lin radio_N = mkN "" ;
|
||||||
|
-- lin rain_N = mkN "" ;
|
||||||
|
-- lin rain_V0 = mkV "" ;
|
||||||
|
-- lin read_V2 = mkV2 "" ;
|
||||||
|
-- lin ready_A = mkA "" ;
|
||||||
|
-- lin reason_N = mkN "" ;
|
||||||
|
lin red_A = mkA "piros" ;
|
||||||
|
-- lin religion_N = mkN "" ;
|
||||||
|
-- lin restaurant_N = mkN "" ;
|
||||||
|
-- lin river_N = mkN "" ;
|
||||||
|
lin road_N = mkN "út" ;
|
||||||
|
-- lin rock_N = mkN "" ;
|
||||||
|
-- lin roof_N = mkN "" ;
|
||||||
|
-- lin root_N = mkN "" ;
|
||||||
|
-- lin rope_N = mkN "" ;
|
||||||
|
-- lin rotten_A = mkA "" ;
|
||||||
|
-- lin round_A = mkA "" ;
|
||||||
|
-- lin rub_V2 = mkV2 "" ;
|
||||||
|
-- lin rubber_N = mkN "" ;
|
||||||
|
-- lin rule_N = mkN "" ;
|
||||||
|
-- lin run_V = mkV "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- S
|
||||||
|
|
||||||
|
-- lin salt_N = mkN "" ;
|
||||||
|
-- lin sand_N = mkN "" ;
|
||||||
|
-- lin say_VS = mkVS "" ;
|
||||||
|
-- lin school_N = mkN "" ;
|
||||||
|
-- lin science_N = mkN "" ;
|
||||||
|
-- lin scratch_V2 = mkV2 "" ;
|
||||||
|
-- lin sea_N = mkN "" ;
|
||||||
|
lin see_V2 = mkV2 "lát" ;
|
||||||
|
-- lin seed_N = mkN "" ;
|
||||||
|
-- lin seek_V2 = mkV2 "" ;
|
||||||
|
-- lin sell_V3 = mkV3 "" ;
|
||||||
|
-- lin send_V3 = mkV3 "" ;
|
||||||
|
-- lin sew_V = mkV "" ;
|
||||||
|
-- lin sharp_A = mkA "" ;
|
||||||
|
-- lin sheep_N = mkN "" fem ;
|
||||||
|
-- lin ship_N = mkN "" ;
|
||||||
|
-- lin shirt_N = mkN "" ;
|
||||||
|
lin shoe_N = mkN "cipő" ;
|
||||||
|
-- lin shop_N = mkN "" ;
|
||||||
|
-- lin short_A = mkA "" ;
|
||||||
|
-- lin silver_N = mkN "" ;
|
||||||
|
-- lin sing_V = mkV "" ;
|
||||||
|
-- lin sister_N = mkN "" ;
|
||||||
|
-- lin sit_V = mkV "" ;
|
||||||
|
-- lin skin_N = mkN "" ;
|
||||||
|
-- lin sky_N = mkN "" ;
|
||||||
|
-- lin sleep_V = mkV "" ;
|
||||||
|
-- lin small_A = mkA "" ;
|
||||||
|
-- lin smell_V = mkV "" ;
|
||||||
|
-- lin smoke_N = mkN "" ;
|
||||||
|
-- lin smooth_A = mkA "" ;
|
||||||
|
-- lin snake_N = mkN "" ;
|
||||||
|
-- lin snow_N = mkN "" ;
|
||||||
|
-- lin sock_N = mkN "" ;
|
||||||
|
-- lin song_N = mkN "" ;
|
||||||
|
-- lin speak_V2 = mkV2 "" ;
|
||||||
|
-- lin spit_V = mkV "" ;
|
||||||
|
-- lin split_V2 = mkV2 "" ;
|
||||||
|
-- lin squeeze_V2 = mkV2 "" ;
|
||||||
|
-- lin stab_V2 = mkV2 "" ;
|
||||||
|
-- lin stand_V = mkV "" ;
|
||||||
|
-- lin star_N = mkN "" ;
|
||||||
|
-- lin steel_N = mkN "" ;
|
||||||
|
-- lin stick_N = mkN "" ;
|
||||||
|
lin stone_N = mkN "kő";
|
||||||
|
-- lin stop_V = mkV "" ;
|
||||||
|
-- lin stove_N = mkN "" ;
|
||||||
|
-- lin straight_A = mkA "" ;
|
||||||
|
-- lin student_N = mkN "" ;
|
||||||
|
-- lin stupid_A = mkA "" ;
|
||||||
|
-- lin suck_V2 = mkV2 "" ;
|
||||||
|
-- lin sun_N = mkN "" ;
|
||||||
|
-- lin swell_V = mkV "" ;
|
||||||
|
-- lin swim_V = mkV "" ;
|
||||||
|
|
||||||
|
----
|
||||||
|
-- T
|
||||||
|
|
||||||
|
|
||||||
|
lin table_N = mkN "asztal" ;
|
||||||
|
-- lin tail_N = mkN "" ;
|
||||||
|
lin talk_V3 = mkV3 "beszél" ;
|
||||||
|
-- lin teach_V2 = mkV2 "" ;
|
||||||
|
lin teacher_N = mkN "tanár" ;
|
||||||
|
-- lin television_N = mkN "" ;
|
||||||
|
-- lin thick_A = mkA "" ;
|
||||||
|
-- lin thin_A = mkA "" ;
|
||||||
|
-- lin think_V = mkV "" ;
|
||||||
|
-- lin throw_V2 = mkV2 "" ;
|
||||||
|
-- lin tie_V2 = mkV2 "" ;
|
||||||
|
lin today_Adv = mkAdv "ma" ;
|
||||||
|
-- lin tongue_N = mkN "" ;
|
||||||
|
-- lin tooth_N = mkN "" ;
|
||||||
|
-- lin train_N = mkN "" ;
|
||||||
|
-- lin travel_V = mkV "" ;
|
||||||
|
-- lin tree_N = mkN "" ;
|
||||||
|
-- lin turn_V = mkV "" ;
|
||||||
|
|
||||||
|
--------
|
||||||
|
-- U - V
|
||||||
|
|
||||||
|
-- lin ugly_A = mkA "" ;
|
||||||
|
-- lin uncertain_A = mkA "" ;
|
||||||
|
-- lin understand_V2 = mkV2 "" ;
|
||||||
|
-- lin university_N = mkN "" ;
|
||||||
|
lin village_N = mkN "falu" ;
|
||||||
|
-- lin vomit_V = mkV2 "" ;
|
||||||
|
|
||||||
|
--------
|
||||||
|
-- W - Y
|
||||||
|
|
||||||
|
-- lin wait_V2 = mkV2 "" ;
|
||||||
|
-- lin walk_V = mkV "" ;
|
||||||
|
-- lin war_N = mkN "" ;
|
||||||
|
-- lin warm_A = mkA "" ;
|
||||||
|
-- lin wash_V2 = mkV2 "" ;
|
||||||
|
-- lin watch_V2 = mkV2 "" ;
|
||||||
|
lin water_N = mkN "víz" ;
|
||||||
|
-- lin wet_A = mkA "" ;
|
||||||
|
-- lin white_A = mkA "" ;
|
||||||
|
-- lin wide_A = mkA "" ;
|
||||||
|
-- lin wife_N = mkN "" ;
|
||||||
|
-- lin win_V2 = mkV2 "" ;
|
||||||
|
-- lin wind_N = mkN "" ;
|
||||||
|
lin window_N = mkN "ablak" ;
|
||||||
|
lin wine_N = mkN "bor" ;
|
||||||
|
-- lin wing_N = mkN "" ;
|
||||||
|
-- lin wipe_V2 = mkV2 "" ;
|
||||||
|
lin woman_N = mkN "nő" "k" harmO ;
|
||||||
|
-- lin wonder_VQ = mkVQ "" ;
|
||||||
|
-- lin wood_N = mkN "" ;
|
||||||
|
-- lin worm_N = mkN "" ;
|
||||||
|
-- lin write_V2 = mkV2 "" ;
|
||||||
|
-- lin year_N = mkN "" ;
|
||||||
|
-- lin yellow_A = mkA "" ;
|
||||||
|
-- lin young_A = mkA "" ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -22,7 +22,7 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Handles words like "madár", "név" with shortened stem vowel in plural
|
-- Handles words like "madár, nyár, név" with shortened stem vowel in plural
|
||||||
dMadár : Str -> Noun = \madár ->
|
dMadár : Str -> Noun = \madár ->
|
||||||
let r = last madár ;
|
let r = last madár ;
|
||||||
madá = init madár ;
|
madá = init madár ;
|
||||||
@@ -42,23 +42,26 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--Handles words like "ló, kő" which are "lovak, kövek" in plural.
|
--Handles words like "ló, lé, kő" which are "lovak, levek, kövek" in plural.
|
||||||
|
--TODO: <Sg,Sup> "lovon" instead of "lón"
|
||||||
|
--TODO: special case <Sg,Sup> "lén" not "leven", maybe just put the case in specific words, many special cases...
|
||||||
dLó : Str -> Noun = \ló ->
|
dLó : Str -> Noun = \ló ->
|
||||||
let lo = shorten ló ;
|
let lo = shorten ló ;
|
||||||
lov = lo + "v" ;
|
lov = lo + "v" ;
|
||||||
a : Str = case ló of {
|
ak : Str = case ló of {
|
||||||
_ + ("ö" | "ő") => "e" ;
|
_ + ("ö" | "ő") => "ek" ;
|
||||||
_ + ("o" | "ó") => "a" } ;
|
_ + ("o" | "ó") => "ak" ;
|
||||||
|
lé => shorten (last lé) + "k"} ;
|
||||||
harmonyPlural : Harm = case ló of {
|
harmonyPlural : Harm = case ló of {
|
||||||
_ + ("ö" | "ő") => H_e ; -- All plural allomorphs have E harmony, singular ones have O.
|
_ + ("ö" | "ő") => H_e ; -- All plural allomorphs have E harmony, singular ones have O.
|
||||||
_ + ("o" | "ó") => H_a } ;
|
_ + ("o" | "ó") => H_a ;
|
||||||
lova = lov + a ;
|
lé => getHarm (lé)} ;
|
||||||
nLova = mkNounHarm harmonyPlural "k" lova ;
|
nLov = mkNounHarmAcc True harmonyPlural ak lov ;
|
||||||
nLó = mkNoun ló ;
|
nLó = mkNoun ló ;
|
||||||
in {s = \\n,c => case <n,c> of {
|
in {s = \\n,c => case <n,c> of {
|
||||||
|
|
||||||
-- All plural forms and Sg Acc use the "lova" stem
|
-- All plural forms and Sg Acc, Sg Sup use the "lov" stem
|
||||||
<Pl,_>|<Sg,Acc> => nLova.s ! n ! c ;
|
<Pl,_>| <Sg,Acc> | <Sg,Sup> => nLov.s ! n ! c ;
|
||||||
|
|
||||||
-- The rest of the forms are formed with the regular constructor,
|
-- The rest of the forms are formed with the regular constructor,
|
||||||
-- using "ló" as the stem.
|
-- using "ló" as the stem.
|
||||||
@@ -67,7 +70,28 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--Handles words like "gyomor, majom, retek" which are "sátrat, gyomrot, majmot, retket" in plural (wovel dropping base)
|
--Handles words like "tó, hó"" which are "tavak, havak" in plural.
|
||||||
|
--(Since I only have these examples for now I do a simplified case with ó, a)
|
||||||
|
--TODO: <Sg,Sup> "tavon" instead of "tón"
|
||||||
|
--TODO: szó special case which fulfills this but not the <Sg,Acc> or <Sg,Sup> case
|
||||||
|
dTó : Str -> Noun = \tó ->
|
||||||
|
let t = init tó ;
|
||||||
|
tav = t + "av" ;
|
||||||
|
nTav = mkNounHarmAcc True H_a "ak" tav ;
|
||||||
|
nTó = mkNoun tó ;
|
||||||
|
in {s = \\n,c => case <n,c> of {
|
||||||
|
|
||||||
|
-- All plural forms and Sg Acc use the "tava" stem
|
||||||
|
<Pl,_>|<Sg,Acc> => nTav.s ! n ! c ;
|
||||||
|
|
||||||
|
-- The rest of the forms are formed with the regular constructor,
|
||||||
|
-- using "tó" as the stem.
|
||||||
|
_ => nTó.s ! n ! c
|
||||||
|
|
||||||
|
} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--Handles words like "gyomor, majom, retek, eper" which are "gyomrot, majmot, retket, epret" in plural (wovel dropping base)
|
||||||
dMajom : Str -> Noun = \majom ->
|
dMajom : Str -> Noun = \majom ->
|
||||||
let mo = last majom + last (init majom);
|
let mo = last majom + last (init majom);
|
||||||
maj = init (init majom) ;
|
maj = init (init majom) ;
|
||||||
@@ -77,8 +101,8 @@ oper
|
|||||||
in {s = \\n,c => case <n,c> of {
|
in {s = \\n,c => case <n,c> of {
|
||||||
-- <Pl,Acc> => majmo + "kat" ; --Special case
|
-- <Pl,Acc> => majmo + "kat" ; --Special case
|
||||||
|
|
||||||
-- All plural forms and Sg Acc use the "majmo" stem
|
-- All plural forms and Sg Acc and Sg Sup use the "majmo" stem
|
||||||
<Pl,_> | <Sg,Acc> => nMajmo.s ! n ! c ;
|
<Pl,_> | <Sg,Acc> | <Sg, Sup> => nMajmo.s ! n ! c ;
|
||||||
|
|
||||||
-- The rest of the forms are formed with the regular constructor,
|
-- The rest of the forms are formed with the regular constructor,
|
||||||
-- using "majom" as the stem.
|
-- using "majom" as the stem.
|
||||||
@@ -218,13 +242,14 @@ oper
|
|||||||
mkNoun : Str -> Noun = \w ->
|
mkNoun : Str -> Noun = \w ->
|
||||||
mkNounHarm (getHarm w) (pluralAllomorph w) w ;
|
mkNounHarm (getHarm w) (pluralAllomorph w) w ;
|
||||||
|
|
||||||
-- Harmony and plural allomorph given explicitly
|
-- Harmony and plural allomorph given explicitly (check if the True makes it bad)
|
||||||
mkNounHarm : Harm -> (plural : Str) -> Str -> Noun = mkNounHarmAcc True ;
|
mkNounHarm : Harm -> (plural : Str) -> Str -> Noun = mkNounHarmAcc True ;
|
||||||
|
|
||||||
mkNounHarmAcc : (useAt : Bool) -> Harm -> (plural : Str) -> Str -> Noun = \useAt,h,plural,w ->
|
mkNounHarmAcc : (useAt : Bool) -> Harm -> (plural : Str) -> Str -> Noun = \useAt,h,plural,w ->
|
||||||
let endCaseSg : Case -> HarmForms = case vowFinal w of {
|
let endCaseSg : Case -> HarmForms = case <vowFinal w, useAt> of {
|
||||||
True => endCaseVow ;
|
<True,_> => endCaseVow ;
|
||||||
False => endCaseCons } ;
|
<False,True> => endCaseConsAccAt ;
|
||||||
|
_ => endCaseCons} ;
|
||||||
endCasePl : Case -> HarmForms = case <plural, useAt> of {
|
endCasePl : Case -> HarmForms = case <plural, useAt> of {
|
||||||
<"ak",_> => endCaseConsAccAt ;
|
<"ak",_> => endCaseConsAccAt ;
|
||||||
<_,True> => endCaseConsAccAt ;
|
<_,True> => endCaseConsAccAt ;
|
||||||
|
|||||||
Reference in New Issue
Block a user