1
0
forked from GitHub/gf-rgl

updated AdjType (#455)

This commit is contained in:
Ekaterina Voloshina
2024-03-11 15:05:57 +01:00
committed by GitHub
parent 676e61e255
commit fa42bf3c41
2 changed files with 63 additions and 64 deletions

View File

@@ -13,16 +13,16 @@ lin
apartment_N = mkN "квартира" ;
apple_N = mkN "яблоко" neuter inanimate "3a(1)" ;
art_N = mkN "искусство" ;
ashes_N = mkN "пепел" masculine inanimate "1*a" only_singular;
ashes_N = mkN "пепел" masculine inanimate "1*a" only_singular(mkA "пепельный") ;
ask_V2Q = dirV2 (mkV perfective transitive "спросить" "спрошу" "спросит" "4c") ;
baby_N = mkN "малыш" masculine animate "4b" ;
back_N = mkN "спина" ;
back_N = mkN "спина" (mkA "спинной") ;
bad_A = mkA "плохой" "хуже" "3b/c'";
bank_N = mkN "банк" ;
bark_N = (mkNplus (mkN "кора")) ** {mayben=only_singular} ;
beautiful_A = mkA "красивый" ;
become_VA = mkV imperfective intransitive "становиться" "становлюсь" "становится";
beer_N = mkN "пиво" neuter inanimate ;
beer_N = mkN "пиво" neuter inanimate (mkA "пивной") ;
beg_V2V = dirV2 (mkV imperfective transitive "просить" "прошу" "просит" "4c");
belly_N = mkN "живот" ;
big_A = (mkAltShort (mkA "большой" "больше" "4b") (mkA "великий")) ;
@@ -33,9 +33,9 @@ lin
blood_N = mkN "кровь" ;
blow_V = mkV imperfective "дуть" "дую" "дует";
blue_A = mkA "голубой" ;
boat_N = mkN "лодка" ;
bone_N = mkN "кость" ;
book_N = mkN "книга" ;
boat_N = mkN "лодка" (mkA "лодочный") ;
bone_N = mkN "кость" (mkA "костный") ;
book_N = mkN "книга" (mkA "книжный") ;
boot_N = mkN "сапог" ;
boss_N = mkN "начальник" masculine animate ;
boy_N = mkN "мальчик" masculine animate ;
@@ -54,16 +54,16 @@ lin
car_N = mkN "машина" ;
carpet_N = mkN "ковёр" masculine inanimate "1*b" ;
cat_N = mkN "кошка" feminine animate "3*a" ;
ceiling_N = mkN "потолок" masculine inanimate "3*b";
ceiling_N = mkN "потолок" masculine inanimate "3*b"(mkA "потолочный") ;
chair_N = (mkNplus (mkN "стул" masculine inanimate "1a")) ** {pnom="стулья";pgen="стульев";pdat="стульям";pacc="стулья";pins="стульями";pprep="стульях"} ;
cheese_N = mkN "сыр" ;
cheese_N = mkN "сыр" (mkA "сырный") ;
child_N = (mkNAltPl (mkN "ребёнок" masculine animate "3*a") (mkN "деть")) ** {pins="детьми"};
church_N = mkN "церковь" feminine animate "8*e" ;
city_N = mkN "город" masculine inanimate "1c(1)" ;
church_N = mkN "церковь" feminine animate "8*e" (mkA "церковный") ;
city_N = mkN "город" masculine inanimate "1c(1)" (mkA "городской") ;
clean_A = mkA "чистый" "чище";
clever_A = mkA "умный" "" "1*a/b";
close_V2 = mkV2 (mkV imperfective "закрывать" "закрываю");
cloud_N = mkN "облако" neuter inanimate "3c(2)" ;
cloud_N = mkN "облако" neuter inanimate "3c(2)" (mkA "облачный") ;
coat_N = mkN "пальто" masculine inanimate "0";
cold_A = mkA "холодный";
come_V = mkV imperfective intransitive "приходить" "прихожу" "приходит" "4c" ;
@@ -91,11 +91,11 @@ lin
earth_N = mkN "земля" feminine inanimate "2*d" ;
easy_A2V = mkA2 (mkA "лёгкий" "легче" "3*a/b") for_Prep ;
eat_V2 = mkV2 (mkV imperfective "кушать" "кушаю");
egg_N = (mkNplus (mkN "яйцо" neuter inanimate "5*d")) ** {pgen="яиц"} ;
egg_N = (mkNplus (mkN "яйцо" neuter inanimate "5*d" (mkA "яичный"))) ** {pgen="яиц"} ;
empty_A = mkA "пустой" ;
enemy_N = mkN "враг" masculine animate ;
enemy_N = mkN "враг" masculine animate (mkA "вражеский") ;
eye_N = mkN "глаз" masculine inanimate "1c(1)(2)" ;
factory_N = mkN "фабрика" ;
factory_N = mkN "фабрика" (mkA "фабричный") ;
fall_V = mkV imperfective intransitive "падать" "падаю" "падает";
far_Adv = mkAdv "далеко";
fat_N = mkN "жир" ;
@@ -105,7 +105,7 @@ lin
feather_N = (mkNplus (mkN "перо" neuter inanimate "1d")) ** {pnom="перья";pgen="перьев";pdat="перьям";pacc="перья";pins="перьями";pprep="перьях"};
fight_V2 = mkV2 (mkV imperfective intransitive "бороться" "борюсь" "борется") with_Prep ;
find_V2 = mkV2 (mkV imperfective "находить" "нахожу" "находит");
fingernail_N = mkN "ноготь" masculine inanimate "2*e" ;
fingernail_N = mkN "ноготь" masculine inanimate "2*e" (mkA "ногтевой") ;
fire_N = mkN "огонь" masculine inanimate "2*b" ;
fish_N = mkN "рыба" feminine animate ;
float_V = mkV imperfective intransitive "плавать" "плаваю";
@@ -113,9 +113,9 @@ lin
flow_V = mkV imperfective intransitive "течь" "теку" "течёт";
flower_N = mkN "цветок" masculine inanimate "3*b";
fly_V = mkV imperfective intransitive "летать" "летаю" ;
fog_N = mkN "туман" ;
fog_N = mkN "туман" (mkA "туманный") ;
foot_N = mkN "ступня" feminine inanimate "2*b" ;
forest_N = (mkNplus (mkN "лес" masculine inanimate "1c(1)")) ** {sloc="лесу"} ;
forest_N = (mkNplus (mkN "лес" masculine inanimate "1c(1)" (mkA "лесной"))) ** {sloc="лесу"} ;
forget_V2 = mkV2 (mkV imperfective "забывать" "забываю");
freeze_V = mkV imperfective intransitive "замерзать" "замерзаю";
fridge_N = mkN "холодильник" ;
@@ -148,14 +148,14 @@ lin
hold_V2 = mkV2 (mkV imperfective "держать" "держу" "держит") ;
hope_VS = mkVS (mkV imperfective "надеяться" "надеюсь") ;
horn_N = mkN "рог" masculine inanimate "3c(1)" ;
horse_N = mkN "лошадь" feminine animate "8e" ;
horse_N = mkN "лошадь" feminine animate "8e" (mkA "лошадиный") ;
hot_A = mkA "горячий" "" "4a/b";
house_N = mkN "дом" masculine inanimate "1c(1)" ;
house_N = mkN "дом" masculine inanimate "1c(1)" (mkA "домашний") ;
hunt_V2 = mkV2 (mkV imperfective intransitive "охотиться" "охочусь" "охотится") on2_Prep ;
husband_N = (mkNplus (mkN "муж" masculine animate "4c")) ** {pnom="мужья";pgen="мужей";pdat="мужьям";pacc="мужей";pins="мужьями";pprep="мужьях"};
ice_N = (mkNplus (mkN "лёд" masculine animate "1*b")) ** {sloc="льду";sptv="льду"} ;
important_A = mkA "важный" ;
industry_N = mkN "промышленность" ;
industry_N = mkN "промышленность" (mkA "промышленный") ;
iron_N = (mkNplus (mkN "железо")) ** {mayben=only_singular};
john_PN = mkPN "Иван" masculine animate ;
jump_V = mkV imperfective intransitive "прыгать" "прыгаю" "прыгает";
@@ -167,7 +167,7 @@ lin
know_VS = mkVS (mkV imperfective "знать" "знаю") ;
lake_N = (mkNplus (mkN "озеро" neuter inanimate "1a")) ** {pnom="озёра";pgen="озёр";pdat="озёрам";pacc="озёра";pins="озёрами";pprep="озёрах"} ;
lamp_N = mkN "лампа" ;
language_N = mkN "язык" ;
language_N = mkN "язык" (mkA "языковой") ;
laugh_V = mkV imperfective "смеяться" "смеюсь" "смеётся";
leaf_N = (mkNplus (mkN "лист" masculine inanimate "1d")) ** {pnom="листья";pgen="листьев";pdat="листьям";pacc="листья";pins="листьями";pprep="листьях"} ;
learn_V2 = mkV2 (mkV imperfective transitive "учить" "учу" "учит" "4c");
@@ -193,22 +193,22 @@ lin
mother_N2 = (mkN2plus (mkN2 "матерь" feminine animate "8e" nullPrep)) ** {snom="мать";sacc="мать";svoc="мать";} ;
mountain_N = mkN "гора" ;
mouth_N = (mkNplus (mkN "рот" masculine inanimate "1*b")) ** {sloc="рту"} ;
music_N = mkN "музыка" ;
music_N = mkN "музыка" (mkA "музыкальный") ;
name_N = mkN "имя" neuter inanimate "8°c";
narrow_A = mkA "узкий" "уже" "3*a/c'";
near_A = mkA "близкий" "ближе" "3*a/c'";
neck_N = mkN "шея" feminine inanimate "6a";
new_A = mkA "новый" ;
newspaper_N = mkN "газета" ;
night_N = (mkNplus (mkN "ночь" feminine inanimate "8e")) ** {sloc="ночь"};
night_N = (mkNplus (mkN "ночь" feminine inanimate "8e" (mkA "ночной"))) ** {sloc="ночь"};
nose_N = mkN "нос" ;
now_Adv = mkAdv "сейчас" ;
number_N = mkN "число" neuter inanimate "1*d" ;
number_N = mkN "число" neuter inanimate "1*d" (mkA "числовой") ;
oil_N = mkN "нефть" ;
old_A = mkA "старый" "старше" "1a/c''"; -- Grammatically correct variant "старее" is being used less
open_V2 = mkV2 (mkV imperfective "открывать" "открываю");
paint_V2A = mkV2 (mkV imperfective "рисовать" "рисую") Ins;
paper_N = mkN "бумага" ;
paper_N = mkN "бумага" (mkA "бумажный") ;
paris_PN = mkPN "Париж" masculine inanimate ;
peace_N = mkN "мир" ;
pen_N = mkN "ручка" ;
@@ -224,7 +224,7 @@ lin
push_V2 = mkV2 (mkV imperfective "толкать" "толкаю");
put_V2 = mkV2 (mkV imperfective "класть" "кладу" "кладёт");
queen_N = mkN "королева" feminine animate ;
question_N = mkN "вопрос" ;
question_N = mkN "вопрос" (mkA "вопросительный") ;
radio_N = mkN "радио" neuter inanimate "0" ;
rain_N = mkN "дождь" ;
rain_V0 = mkV imperfective "дождить" "дождю" "дождит" ; -- * TODO: check
@@ -232,19 +232,19 @@ lin
ready_A = mkA "готовый" ;
reason_N = mkN "причина";
red_A = mkA "красный" ;
religion_N = mkN "религия" ;
restaurant_N = mkN "ресторан" ;
religion_N = mkN "религия" (mkA "религиозный") ;
restaurant_N = mkN "ресторан" (mkA "ресторанный") ;
right_Ord = mkOrd "правый";
river_N = mkN "рекa" feminine inanimate "3d'" ;
road_N = mkN "дорогa" feminine inanimate "3a" ;
rock_N = mkN "камень" masculine inanimate "2*e" ;
roof_N = mkN "крыша" feminine inanimate "4a" ;
root_N = mkN "корень" masculine inanimate "2*e" ;
root_N = mkN "корень" masculine inanimate "2*e" (mkA "корневой") ;
rope_N = mkN "верёвка" ;
rotten_A = mkA "гнилой" "" "1b/c";
round_A = mkA "круглый" "" "1a/c'";
rub_V2 = mkV2 (mkV imperfective "тереть" "тру" "трёт");
rubber_N = mkN "резина" ;
rubber_N = mkN "резина" (mkA "резиновый") ;
rule_N = mkN "правило" ;
run_V = mkV imperfective intransitive "бегать" "бегаю" "бегает" ;
salt_N = mkN "соль" ;
@@ -253,7 +253,7 @@ lin
school_N = mkN "школа" ;
science_N = mkN "наука" ;
scratch_V2 = mkV2 (mkV imperfective "чесать" "чешу" "чешет");
sea_N = mkN "море" neuter inanimate "2c" ;
sea_N = mkN "море" neuter inanimate "2c" (mkA "морской") ;
see_V2 = (mkV2plus (mkV2 (mkV imperfective transitive "видеть" "вижу" "видит" "5a"))) ** {pppss="виден"; ppps="виденн"} ;
seed_N = mkN "семя" neuter inanimate "8°c" ;
seek_V2 = mkV2 (mkV imperfective "искать" "ищу" "ищет");
@@ -261,10 +261,10 @@ lin
send_V3 = tvDirDir (mkV imperfective "посылать" "посылаю");
sew_V = mkV imperfective "шить" "шью" "шьёт";
sharp_A = mkA "острый";
sheep_N = mkN "овца" feminine animate "5*d" ;
sheep_N = mkN "овца" feminine animate "5*d" (mkA "овечий") ;
ship_N = mkN "корабль" masculine inanimate "2b";
shirt_N = mkN "рубашка" ;
shoe_N = mkN "туфля" feminine inanimate "2*a" ;
shoe_N = mkN "туфля" feminine inanimate "2*a" (mkA "туфельный") ;
shop_N = mkN "магазин" ;
short_A = mkA "короткий" "короче" "3*a/c'";
silver_N = (mkNplus (mkN "серебро")) ** {mayben=only_singular};
@@ -280,7 +280,7 @@ lin
snake_N = mkN "змея" feminine animate "6d";
snow_N = (mkNplus (mkN "снег" masculine inanimate "3c①")) ** {sloc="снегу"; sptv="снегу"} ;
sock_N = mkN "носок" masculine inanimate "3*b";
song_N = mkN "песня" feminine inanimate "2*a";
song_N = mkN "песня" feminine inanimate "2*a"(mkA "песенный") ;
speak_V2 = mkV2 (mkV imperfective "говорить" "говорю" "говорит") on_Prep;
spit_V = mkV imperfective "плевать" "плюю" "плюёт";
split_V2 = mkV2 (mkV imperfective "разбивать" "разбиваю");
@@ -288,16 +288,16 @@ lin
stab_V2 = mkV2 (mkV imperfective "колоть" "колю" "колет");
stand_V = mkV imperfective intransitive "стоять" "стою" "стоит";
star_N = mkN "звезда" ;
steel_N = mkN "сталь" ;
steel_N = mkN "сталь" (mkA "стальной") ;
stick_N = mkN "палка" ;
stone_N = mkN "камень" masculine inanimate "2*e";
stop_V = mkV imperfective "останавливать" "останавливаю" ;
stove_N = (mkNplus (mkN "печь" feminine inanimate "8e")) ** {sloc="печь"} ;
straight_A = mkA "прямой" "" "1b/c'";
student_N = mkN "студент" masculine animate ;
student_N = mkN "студент" masculine animate (mkA "студенческий") ;
stupid_A = mkA "тупой" ;
suck_V2 = mkV2 (mkV imperfective "сосать" "сосу" "сосёт");
sun_N = mkN "солнце" neuter inanimate "5a";
sun_N = mkN "солнце" neuter inanimate "5a"(mkA "солнечный") ;
swell_V = mkV imperfective intransitive "опухать" "опухаю" "опухает";
swim_V = mkV imperfective intransitive "плыть" "плыву" "плывёт";
switch8off_V2 = mkV2 (mkV imperfective "выключать" "выключаю" "выключает");
@@ -315,20 +315,20 @@ lin
tie_V2 = mkV2 (mkV imperfective transitive "вязать" "вяжу" "вяжет" "6c");
today_Adv = mkAdv "сегодня" ;
tongue_N = mkN "язык" ;
tooth_N = mkN "зуб" ;
tooth_N = mkN "зуб" (mkA "зубной") ;
train_N = mkN "поезд" ;
travel_V = mkV imperfective intransitive "путешествовать" "путешествовую" "путешествовует";
tree_N = (mkNplus (mkN "дерево" neuter inanimate "1a")) ** {pnom="деревья";pgen="деревьев";pdat="деревьям";pacc="деревья";pins="деревьями";pprep="деревьях"} ;
tree_N = (mkNplus (mkN "дерево" neuter inanimate "1a" (mkA "деревянный"))) ** {pnom="деревья";pgen="деревьев";pdat="деревьям";pacc="деревья";pins="деревьями";pprep="деревьях"} ;
turn_V = mkV imperfective "поворачивать" "поворачиваю" "поворачивает";
ugly_A = mkA "некрасивый" ;
uncertain_A = mkA "неопределённый" ;
understand_V2 = mkV2 (mkV imperfective "понимать" "понимаю" "понимает");
university_N = mkN "университет" ;
village_N = (mkNplus (mkN "деревня" feminine inanimate "2*e")) ** {pgen="деревень"} ;
village_N = (mkNplus (mkN "деревня" feminine inanimate "2*e" (mkA "деревенский"))) ** {pgen="деревень"} ;
vomit_V = mkV imperfective "блевать" "блюю" "блюёт"; -- better alternatives require more specific use
wait_V2 = mkV2 (mkV imperfective "ждать" "жду" "ждёт");
walk_V = mkV imperfective "гулять" "гуляю" "гуляет";
war_N = mkN "война" ;
war_N = mkN "война" (mkA "военный") ;
warm_A = (mkAltShort (mkA "тёплый" "теплее" "1*a/b") (mkA "теплый" "" "1*a/b")) ** {sm="тёплый"} ; -- workaround TODO: Any way to remove yo from stem?
wash_V2 = mkV2 (mkV imperfective "мыть" "мою" "моет");
watch_V2 = mkV2 (mkV imperfective "смотреть" "смотрю" "смотрит");
@@ -340,7 +340,7 @@ lin
win_V2 = mkV2 (mkV imperfective "выигрывать" "выигрываю" "выигрывает");
wind_N = mkN "ветер" masculine inanimate "1*e" ;
window_N = mkN "окно" neuter inanimate "1*d";
wine_N = mkN "вино" neuter inanimate "1*d" ;
wine_N = mkN "вино" neuter inanimate "1*d" (mkA "винный") ;
wing_N = (mkNplus (mkN "крыло" neuter inanimate "1d")) ** {pnom="крылья";pgen="крыльев";pdat="крыльям";pacc="крылья";pins="крыльями";pprep="крыльях"};
wipe_V2 = mkV2 (mkV imperfective "вытирать" "вытираю");
woman_N = mkN "женщина" feminine animate ;
@@ -348,7 +348,6 @@ lin
wood_N = mkN "древесина" feminine inanimate "1a" ;
worm_N = mkN "червь" masculine animate ;
write_V2 = mkV2 (mkV imperfective "писать" "пишу" "пишет");
year_N = (mkNplus (mkN "год")) ** {sloc="году"; pgen="лет"};
year_N = (mkNplus (mkN "год" (mkA "годовой"))) ** {sloc="году"; pgen="лет"};
yellow_A = (mkAplus (mkA "жёлтый" "желтее" "1a/c''") ** {sf="желта"}) ; -- TODO: variants
young_A = mkA "молодой" "моложе" "1b/c";
}

View File

@@ -103,13 +103,13 @@ oper
mkN : overload {
mkN : Str -> N ; -- can guess declension and gender of some nouns given nominative
mkN : Str -> NRelType -> A -> N ;
mkN : Str -> A -> N ;
mkN : Str -> Gender -> Animacy -> N ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> N ; -- can guess declension of more nouns
mkN : Str -> Gender -> Animacy -> A -> N ; -- can guess declension of more nouns
mkN : Str -> Gender -> Animacy -> (idx : Str) -> N ; -- Fourth parameter is a declension type index (based on Zaliznyak's dictionary), for example, "1*a(1)"
mkN : Str -> Gender -> Animacy -> NRelType -> A -> (idx : Str) -> N ;
mkN : Str -> Gender -> Animacy -> (idx : Str) -> A -> N ;
mkN : Str -> Gender -> Animacy -> (idx : Str) -> MaybeNumber -> N ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> (idx : Str) -> MaybeNumber -> N ; -- Same, but number restrictions can be added
mkN : Str -> Gender -> Animacy -> (idx : Str) -> MaybeNumber -> A -> N ; -- Same, but number restrictions can be added
mkN : A -> Gender -> Animacy -> N ; -- for nouns, which decline as adjective
mkN : A -> Gender -> Animacy -> MaybeNumber -> N ; -- same, with possibility to limit number (usually to only_singular)
mkN : N -> (link : Str) -> N -> N ; -- compound noun. Link can end on "-", in which case parts are glued together. First one characterizes the whole.
@@ -249,26 +249,26 @@ oper
mkN = overload {
mkN : Str -> N
= \nom -> lin N (guessNounForms nom (guessAdjectiveForms nonExist) GenType); -- the default type of compound
mkN : Str -> NRelType -> A -> N
= \nom, rt, rel -> lin N (guessNounForms nom rel rt) ;
mkN : Str -> Animacy -> NRelType -> A -> N
= \nom,anim,rt,rel -> lin N (guessNounForms nom rel rt) ** {anim=anim} ;
mkN : Str -> A -> N
= \nom, rel -> lin N (guessNounForms nom rel AdjType) ;
mkN : Str -> Animacy -> A -> N
= \nom,anim,rel -> lin N (guessNounForms nom rel AdjType) ** {anim=anim} ;
mkN : Str -> Gender -> Animacy -> N
= \nom, g, anim -> lin N (guessLessNounForms nom g anim (guessAdjectiveForms nonExist) GenType) ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> N
= \nom, g, anim, rt, rel -> lin N (guessLessNounForms nom g anim rel rt) ;
mkN : Str -> Gender -> Animacy -> A -> N
= \nom, g, anim, rel -> lin N (guessLessNounForms nom g anim rel AdjType) ;
mkN : Str -> Gender -> Animacy -> Z.ZNIndex -> N
= \word, g, anim, z -> lin N (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms nonExist) GenType z)) ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> Z.ZNIndex -> N
= \word, g, anim, rt, rel, z -> lin N (noMinorCases (Z.makeNoun word g anim rel rt z)) ;
mkN : Str -> Gender -> Animacy -> Z.ZNIndex -> A -> N
= \word, g, anim, z, rel -> lin N (noMinorCases (Z.makeNoun word g anim rel AdjType z)) ;
mkN : Str -> Gender -> Animacy -> Str -> N
= \word, g, anim, zi -> lin N (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms nonExist) GenType (Z.parseIndex zi))) ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> Str -> N
= \word, g, anim, rt, rel, zi -> lin N (noMinorCases (Z.makeNoun word g anim rel rt (Z.parseIndex zi))) ;
mkN : Str -> Gender -> Animacy -> Str -> A -> N
= \word, g, anim, zi, rel -> lin N (noMinorCases (Z.makeNoun word g anim rel AdjType (Z.parseIndex zi))) ;
mkN : Str -> Gender -> Animacy -> Str -> MaybeNumber -> N
= \word, g, anim, zi, mbn -> lin N (applyMaybeNumber ((noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms nonExist) GenType (Z.parseIndex zi))) ** {mayben=mbn})) ;
mkN : Str -> Gender -> Animacy -> NRelType -> A -> Str -> MaybeNumber -> N
= \word, g, anim, rt, rel, zi, mbn -> lin N (applyMaybeNumber ((noMinorCases (Z.makeNoun word g anim rel rt (Z.parseIndex zi))) ** {mayben=mbn})) ;
mkN : Str -> Gender -> Animacy -> Str -> MaybeNumber -> A -> N
= \word, g, anim, zi, mbn, rel-> lin N (applyMaybeNumber ((noMinorCases (Z.makeNoun word g anim rel AdjType (Z.parseIndex zi))) ** {mayben=mbn})) ;
mkN : A -> Gender -> Animacy -> N
= \a, g, anim -> lin N (makeNFFromAF a g anim) ;
mkN : A -> Gender -> Animacy -> MaybeNumber -> N
@@ -378,8 +378,8 @@ oper
= \n, p -> lin N2 (mkFun n p) ;
mkN2 : Str -> Gender -> Animacy -> Str -> Prep -> N2
= \word, g, anim, zi, p -> lin N2 (mkFun (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms nonExist) GenType (Z.parseIndex zi))) p) ;
mkN2 : Str -> Gender -> Animacy -> Str -> NRelType -> Str -> Prep -> N2
= \word, g, anim, rel, rt, zi, p -> lin N2 (mkFun (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms rel) rt (Z.parseIndex zi))) p) ;
mkN2 : Str -> Gender -> Animacy -> Str -> A -> Prep -> N2
= \word, g, anim, zi, rel, p -> lin N2 (mkFun (noMinorCases (Z.makeNoun word g anim rel AdjType (Z.parseIndex zi))) p) ;
} ;
nullPrep : Prep = lin Prep {s=[] ; c=Gen ; neggen=False ; hasPrep=False} ;
@@ -389,8 +389,8 @@ oper
= \n, p2, p3 -> lin N3 (mkFun2 n p2 p3) ;
mkN3 : Str -> Gender -> Animacy -> Str -> Prep -> Prep -> N3
= \word, g, anim, zi, p2, p3 -> lin N3 (mkFun2 (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms nonExist) GenType (Z.parseIndex zi))) p2 p3) ;
mkN3 : Str -> Gender -> Animacy -> Str -> NRelType -> Str -> Prep -> Prep -> N3
= \word, g, anim, rel, rt, zi, p2, p3 -> lin N3 (mkFun2 (noMinorCases (Z.makeNoun word g anim (guessAdjectiveForms rel) rt (Z.parseIndex zi))) p2 p3) ;
mkN3 : Str -> Gender -> Animacy -> Str -> A -> Prep -> Prep -> N3
= \word, g, anim, zi, rel, p2, p3 -> lin N3 (mkFun2 (noMinorCases (Z.makeNoun word g anim rel AdjType (Z.parseIndex zi))) p2 p3) ;
} ;