changed regN to be always of type Str -> N

This commit is contained in:
aarne
2006-03-07 10:59:39 +00:00
parent 21202641a1
commit c168b6c489
8 changed files with 363 additions and 322 deletions

View File

@@ -112,90 +112,90 @@ concrete SwadeshFre of Swadesh = CatFre
-- Nouns -- Nouns
animal_N = regN "animal" masculine ; animal_N = regN "animal" ;
ashes_N = regN "cendre" masculine ; ashes_N = regGenN "cendre" masculine ;
back_N = regN "dos" masculine ; back_N = regN "dos" ;
bark_N = regN "écorce" feminine ; bark_N = regN "écorce" ;
belly_N = regN "ventre" masculine ; belly_N = regGenN "ventre" masculine ;
bird_N = bird_N; bird_N = bird_N;
blood_N = regN "sang" masculine ; blood_N = regN "sang" ;
bone_N = regN "os" masculine ; bone_N = regN "os" ;
breast_N = regN "sein" masculine ; --- poitrine breast_N = regN "sein" ; --- poitrine
child_N = child_N ; child_N = child_N ;
cloud_N = regN "nuage" masculine ; cloud_N = regGenN "nuage" masculine ;
day_N = regN "jour" masculine ; day_N = regN "jour" ;
dog_N = dog_N ; dog_N = dog_N ;
dust_N = regN "poussière" feminine ; dust_N = regN "poussière" ;
ear_N = regN "oreille" feminine ; ear_N = regN "oreille" ;
earth_N = regN "terre" feminine ; earth_N = regN "terre" ;
egg_N = regN "oeuf" masculine ; egg_N = regN "oeuf" ;
eye_N = mkN "oeil" "yeux" masculine ; eye_N = mkN "oeil" "yeux" masculine ;
fat_N = regN "graisse" feminine ; fat_N = regN "graisse" ;
father_N = UseN2 father_N2 ; father_N = UseN2 father_N2 ;
feather_N = regN "plume" feminine ; feather_N = regN "plume" ;
fingernail_N = regN "ongle" masculine ; fingernail_N = regGenN "ongle" masculine ;
fire_N = regN "feu" masculine ; fire_N = regN "feu" ;
fish_N = fish_N ; fish_N = fish_N ;
flower_N = regN "fleur" feminine ; flower_N = regGenN "fleur" feminine ;
fog_N = regN "brouillard" masculine ; fog_N = regN "brouillard" ;
foot_N = regN "pied" masculine ; foot_N = regN "pied" ;
forest_N = regN "forêt" feminine ; forest_N = regGenN "forêt" feminine ;
fruit_N = fruit_N ; fruit_N = fruit_N ;
grass_N = regN "herbe" feminine ; grass_N = regN "herbe" ;
guts_N = regN "entraille" feminine ; guts_N = regN "entraille" ;
hair_N = regN "cheveu" masculine ; hair_N = regN "cheveu" ;
hand_N = regN "main" feminine ; hand_N = regGenN "main" feminine ;
head_N = regN "tête" feminine ; head_N = regN "tête" ;
heart_N = regN "coeur" masculine ; heart_N = regN "coeur" ;
horn_N = regN "corne" masculine ; horn_N = regGenN "corne" masculine ;
husband_N = regN "mari" masculine ; husband_N = regN "mari" ;
ice_N = regN "glace" feminine ; ice_N = regN "glace" ;
knee_N = regN "genou" masculine ; knee_N = regN "genou" ;
lake_N = lake_N ; lake_N = lake_N ;
leaf_N = regN "feuille" feminine ; leaf_N = regN "feuille" ;
leg_N = regN "jambe" feminine ; leg_N = regN "jambe" ;
liver_N = regN "foie" masculine ; liver_N = regGenN "foie" masculine ;
louse_N = regN "pou" masculine ; louse_N = regN "pou" ;
man_N = man_N ; man_N = man_N ;
meat_N = meat_N ; meat_N = meat_N ;
moon_N = moon_N ; moon_N = moon_N ;
mother_N = UseN2 mother_N2 ; mother_N = UseN2 mother_N2 ;
mountain_N = mountain_N ; mountain_N = mountain_N ;
mouth_N = regN "bouche" feminine ; mouth_N = regN "bouche" ;
name_N = regN "nom" masculine ; name_N = regN "nom" ;
neck_N = mkN "cou" "cous" masculine ; neck_N = mkN "cou" "cous" masculine ;
night_N = regN "nuit" feminine ; night_N = regGenN "nuit" feminine ;
nose_N = regN "nez" masculine ; nose_N = regN "nez" ;
person_N = regN "personne" feminine ; person_N = regN "personne" ;
rain_N = regN "pluie" feminine ; rain_N = regN "pluie" ;
river_N = river_N ; river_N = river_N ;
road_N = regN "route" feminine ; road_N = regN "route" ;
root_N = regN "racine" feminine ; root_N = regN "racine" ;
rope_N = regN "corde" feminine ; rope_N = regN "corde" ;
salt_N = regN "sel" masculine ; salt_N = regN "sel" ;
sand_N = regN "sable" masculine ; sand_N = regGenN "sable" masculine ;
sea_N = sea_N ; sea_N = sea_N ;
seed_N = regN "graine" feminine ; seed_N = regN "graine" ;
skin_N = regN "peau" masculine ; skin_N = regN "peau" ;
sky_N = mkN "ciel" "cieux" masculine ; sky_N = mkN "ciel" "cieux" masculine ;
smoke_N = regN "fumée" feminine ; smoke_N = regN "fumée" ;
snake_N = snake_N ; snake_N = snake_N ;
snow_N = regN "neige" feminine ; snow_N = regN "neige" ;
star_N = star_N ; star_N = star_N ;
stick_N = regN "bâton" masculine ; stick_N = regN "bâton" ;
stone_N = stone_N ; stone_N = stone_N ;
sun_N = sun_N ; sun_N = sun_N ;
tail_N = regN "queue" feminine ; tail_N = regN "queue" ;
tongue_N = regN "langue" feminine ; tongue_N = regN "langue" ;
tooth_N = regN "dent" feminine ; tooth_N = regGenN "dent" feminine ;
tree_N = tree_N ; tree_N = tree_N ;
water_N = water_N ; water_N = water_N ;
wife_N = regN "femme" feminine ; wife_N = regN "femme" ;
wind_N = regN "vent" masculine ; wind_N = regN "vent" ;
wing_N = regN "aile" feminine ; wing_N = regN "aile" ;
woman_N = woman_N ; woman_N = woman_N ;
worm_N = regN "ver" masculine ; worm_N = regN "ver" ;
year_N = regN "an" masculine ; --- année year_N = regN "an" ; --- année
-- Verbs -- Verbs

View File

@@ -42,6 +42,8 @@ concrete SwadeshNor of Swadesh = CatNor
when_IAdv = when_IAdv ; when_IAdv = when_IAdv ;
how_IAdv = how_IAdv ; how_IAdv = how_IAdv ;
far_Adv = mkAdv "fjern" ;
-- not : Adv ; -- ? -- not : Adv ; -- ?
-- Conjunctions -- Conjunctions

View File

@@ -6,210 +6,210 @@ flags
optimize=values ; optimize=values ;
lin lin
airplane_N = regN "avion" masculine ; airplane_N = regGenN "avion" masculine ;
answer_V2S = mkV2S (v2V répondre_V2) dative ; answer_V2S = mkV2S (v2V répondre_V2) dative ;
apartment_N = regN "apartement" masculine ; apartment_N = regGenN "apartement" masculine ;
apple_N = regN "pomme" feminine ; apple_N = regGenN "pomme" feminine ;
art_N = regN "art" feminine ; art_N = regGenN "art" feminine ;
ask_V2Q = mkV2Q (regV "demander") dative ; ask_V2Q = mkV2Q (regV "demander") dative ;
baby_N = regN "bébé" masculine ; baby_N = regGenN "bébé" masculine ;
bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ; bad_A = prefA (mkADeg (regA "mauvais") (regA "pire")) ;
bank_N = regN "banque" feminine ; bank_N = regGenN "banque" feminine ;
beautiful_A = prefA (regA "joli") ; ---- beau beautiful_A = prefA (regA "joli") ; ---- beau
become_VA = mkVA devenir_V ; become_VA = mkVA devenir_V ;
beer_N = regN "bière" feminine ; beer_N = regGenN "bière" feminine ;
beg_V2V = mkV2V (regV "demander") accusative dative ; beg_V2V = mkV2V (regV "demander") accusative dative ;
big_A = prefA (regA "grand") ; big_A = prefA (regA "grand") ;
bike_N = regN "vélo" masculine ; bike_N = regGenN "vélo" masculine ;
bird_N = regN "oiseau" masculine ; bird_N = regGenN "oiseau" masculine ;
black_A = regA "noir" ; black_A = regA "noir" ;
blue_A = regA "bleu" ; blue_A = regA "bleu" ;
boat_N = regN "bateau" masculine ; boat_N = regGenN "bateau" masculine ;
book_N = regN "livre" masculine ; book_N = regGenN "livre" masculine ;
boot_N = regN "botte" feminine ; boot_N = regGenN "botte" feminine ;
boss_N = regN "chef" masculine ; boss_N = regGenN "chef" masculine ;
boy_N = regN "garçon" masculine ; boy_N = regGenN "garçon" masculine ;
bread_N = regN "pain" masculine ; bread_N = regGenN "pain" masculine ;
break_V2 = dirV2 (regV "casser") ; break_V2 = dirV2 (regV "casser") ;
broad_A = regA "large" ; broad_A = regA "large" ;
brother_N2 = deN2 (regN "frère" masculine) ; brother_N2 = deN2 (regGenN "frère" masculine) ;
brown_A = regA "brun" ; brown_A = regA "brun" ;
butter_N = regN "beurre" masculine ; butter_N = regGenN "beurre" masculine ;
buy_V2 = dirV2 (reg3V "acheter" "achète" "achètera") ; buy_V2 = dirV2 (reg3V "acheter" "achète" "achètera") ;
camera_N = compN (regN "appareil" masculine) ["de photo"] ; camera_N = compN (regGenN "appareil" masculine) ["de photo"] ;
cap_N = regN "casquette" feminine ; cap_N = regGenN "casquette" feminine ;
car_N = regN "voiture" feminine ; car_N = regGenN "voiture" feminine ;
carpet_N = regN "tapis" masculine ; carpet_N = regGenN "tapis" masculine ;
cat_N = regN "chat" masculine ; cat_N = regGenN "chat" masculine ;
ceiling_N = regN "plafond" masculine ; ceiling_N = regGenN "plafond" masculine ;
chair_N = regN "chaise" feminine ; chair_N = regGenN "chaise" feminine ;
cheese_N = regN "fromage" masculine ; cheese_N = regGenN "fromage" masculine ;
child_N = regN "enfant" masculine ; child_N = regGenN "enfant" masculine ;
church_N = regN "église" feminine ; church_N = regGenN "église" feminine ;
city_N = regN "ville" feminine ; city_N = regGenN "ville" feminine ;
clean_A = regA "propre" ; clean_A = regA "propre" ;
clever_A = regA "sage" ; ---- clever_A = regA "sage" ; ----
close_V2 = dirV2 (regV "fermer") ; close_V2 = dirV2 (regV "fermer") ;
coat_N = regN "manteau" masculine ; coat_N = regGenN "manteau" masculine ;
cold_A = regA "froid" ; cold_A = regA "froid" ;
come_V = venir_V ; come_V = venir_V ;
computer_N = regN "ordinateur" masculine ; computer_N = regGenN "ordinateur" masculine ;
country_N = regN "pays" masculine ; country_N = regGenN "pays" masculine ;
cousin_N = regN "cousin" masculine ; ---- cousine cousin_N = regGenN "cousin" masculine ; ---- cousine
cow_N = regN "vache" feminine ; cow_N = regGenN "vache" feminine ;
die_V = mourir_V ; die_V = mourir_V ;
dirty_A = regA "sale" ; dirty_A = regA "sale" ;
distance_N3 = mkN3 (regN "distance" feminine) genitive dative ; distance_N3 = mkN3 (regGenN "distance" feminine) genitive dative ;
doctor_N = regN "médecin" masculine ; doctor_N = regGenN "médecin" masculine ;
dog_N = regN "chien" masculine ; dog_N = regGenN "chien" masculine ;
door_N = regN "porte" feminine ; door_N = regGenN "porte" feminine ;
drink_V2 = boire_V2 ; drink_V2 = boire_V2 ;
easy_A2V = mkA2V (regA "facile") dative genitive ; easy_A2V = mkA2V (regA "facile") dative genitive ;
eat_V2 = dirV2 (regV "manger") ; eat_V2 = dirV2 (regV "manger") ;
empty_A = regA "vide" ; empty_A = regA "vide" ;
enemy_N = regN "ennemi" masculine ; enemy_N = regGenN "ennemi" masculine ;
factory_N = regN "usine" feminine ; factory_N = regGenN "usine" feminine ;
father_N2 = deN2 (regN "père" masculine) ; father_N2 = deN2 (regGenN "père" masculine) ;
fear_VS = mkVS (v2V craindre_V2) ; fear_VS = mkVS (v2V craindre_V2) ;
find_V2 = dirV2 (regV "trouver") ; find_V2 = dirV2 (regV "trouver") ;
fish_N = regN "poisson" masculine ; fish_N = regGenN "poisson" masculine ;
floor_N = regN "plancher" masculine ; floor_N = regGenN "plancher" masculine ;
forget_V2 = dirV2 (regV "oublier") ; forget_V2 = dirV2 (regV "oublier") ;
fridge_N = regN "frigo" masculine ; fridge_N = regGenN "frigo" masculine ;
friend_N = regN "ami" masculine ; friend_N = regGenN "ami" masculine ;
fruit_N = regN "fruit" masculine ; fruit_N = regGenN "fruit" masculine ;
fun_AV = mkAV (regA "marrant") genitive ; fun_AV = mkAV (regA "marrant") genitive ;
garden_N = regN "jardin" masculine ; garden_N = regGenN "jardin" masculine ;
girl_N = regN "fille" feminine ; girl_N = regGenN "fille" feminine ;
glove_N = regN "gant" masculine ; glove_N = regGenN "gant" masculine ;
gold_N = regN "or" masculine ; gold_N = regGenN "or" masculine ;
good_A = prefA (mkADeg (mkA "bon" "bonne" "bons" "bien") good_A = prefA (mkADeg (mkA "bon" "bonne" "bons" "bien")
(mkA "meilleur" "meilleure" "meilleurs" "mieux")) ; (mkA "meilleur" "meilleure" "meilleurs" "mieux")) ;
go_V = aller_V ; go_V = aller_V ;
green_A = regA "vert" ; green_A = regA "vert" ;
harbour_N = regN "port" masculine ; harbour_N = regGenN "port" masculine ;
hate_V2 = haïr_V2 ; hate_V2 = haïr_V2 ;
hat_N = regN "chapeau" masculine ; hat_N = regGenN "chapeau" masculine ;
have_V2 = avoir_V2 ; have_V2 = avoir_V2 ;
hear_V2 = entendre_V2 ; hear_V2 = entendre_V2 ;
hill_N = regN "colline" feminine ; hill_N = regGenN "colline" feminine ;
hope_VS = mkVS (reg3V "espérer" "espère" "espérera") ; hope_VS = mkVS (reg3V "espérer" "espère" "espérera") ;
horse_N = regN "cheval" masculine ; horse_N = regGenN "cheval" masculine ;
hot_A = regA "chaud" ; hot_A = regA "chaud" ;
house_N = regN "maison" feminine ; house_N = regGenN "maison" feminine ;
important_A = regA "important" ; important_A = regA "important" ;
industry_N = regN "industrie" feminine ; industry_N = regGenN "industrie" feminine ;
iron_N = regN "fer" masculine ; iron_N = regGenN "fer" masculine ;
king_N = regN "roi" masculine ; king_N = regGenN "roi" masculine ;
know_V2 = connaître_V2 ; ---- savoir_V2 : VS know_V2 = connaître_V2 ; ---- savoir_V2 : VS
lake_N = regN "lac" masculine ; lake_N = regGenN "lac" masculine ;
lamp_N = regN "lampe" feminine ; lamp_N = regGenN "lampe" feminine ;
learn_V2 = apprendre_V2 ; learn_V2 = apprendre_V2 ;
leather_N = regN "cuir" masculine ; leather_N = regGenN "cuir" masculine ;
leave_V2 = dirV2 (regV "quitter") ; leave_V2 = dirV2 (regV "quitter") ;
like_V2 = dirV2 (regV "aimer") ; like_V2 = dirV2 (regV "aimer") ;
listen_V2 = dirV2 (regV "écouter") ; listen_V2 = dirV2 (regV "écouter") ;
live_V = v2V vivre_V2 ; live_V = v2V vivre_V2 ;
long_A = compADeg (mkA "long" "longue" "longs" "longuement") ; long_A = compADeg (mkA "long" "longue" "longs" "longuement") ;
lose_V2 = perdre_V2 ; lose_V2 = perdre_V2 ;
love_N = regN "amour" masculine ; love_N = regGenN "amour" masculine ;
love_V2 = dirV2 (regV "aimer") ; love_V2 = dirV2 (regV "aimer") ;
man_N = regN "homme" masculine ; man_N = regGenN "homme" masculine ;
married_A2 = mkA2 (regA "marié") dative ; married_A2 = mkA2 (regA "marié") dative ;
meat_N = regN "viande" feminine ; meat_N = regGenN "viande" feminine ;
milk_N = regN "lait" masculine ; milk_N = regGenN "lait" masculine ;
moon_N = regN "lune" feminine ; moon_N = regGenN "lune" feminine ;
mother_N2 = deN2 (regN "mère" feminine) ; mother_N2 = deN2 (regGenN "mère" feminine) ;
mountain_N = regN "montagne" feminine ; mountain_N = regGenN "montagne" feminine ;
music_N = regN "musique" feminine ; music_N = regGenN "musique" feminine ;
narrow_A = regA "étroit" ; narrow_A = regA "étroit" ;
new_A = prefA (compADeg (mkA "nouveau" "nouvelle" "nouveaux" "nouvellement")) ; new_A = prefA (compADeg (mkA "nouveau" "nouvelle" "nouveaux" "nouvellement")) ;
newspaper_N = regN "journal" masculine ; newspaper_N = regGenN "journal" masculine ;
oil_N = regN "huile" feminine ; oil_N = regGenN "huile" feminine ;
old_A = old_A =
prefA (compADeg (mkA "vieux" "vieille" "vieux" "vieillement")) ; ---- vieil prefA (compADeg (mkA "vieux" "vieille" "vieux" "vieillement")) ; ---- vieil
open_V2 = ouvrir_V2 ; open_V2 = ouvrir_V2 ;
paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPreposition "en") ; paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPreposition "en") ;
paper_N = regN "papier" masculine ; paper_N = regGenN "papier" masculine ;
paris_PN = mkPN "Paris" masculine ; paris_PN = mkPN "Paris" masculine ;
peace_N = regN "paix" feminine ; peace_N = regGenN "paix" feminine ;
pen_N = regN "stylo" masculine ; pen_N = regGenN "stylo" masculine ;
planet_N = regN "planète" feminine ; planet_N = regGenN "planète" feminine ;
plastic_N = regN "plastic" masculine ; plastic_N = regGenN "plastic" masculine ;
play_V2 = dirV2 (regV "jouer") ; play_V2 = dirV2 (regV "jouer") ;
policeman_N = regN "policier" masculine ; policeman_N = regGenN "policier" masculine ;
priest_N = regN "prêtre" masculine ; priest_N = regGenN "prêtre" masculine ;
probable_AS = mkAS (regA "probable") ; probable_AS = mkAS (regA "probable") ;
queen_N = regN "reine" feminine ; queen_N = regGenN "reine" feminine ;
radio_N = regN "radio" feminine ; radio_N = regGenN "radio" feminine ;
rain_V0 = mkV0 (pleuvoir_V) ; rain_V0 = mkV0 (pleuvoir_V) ;
read_V2 = lire_V2 ; read_V2 = lire_V2 ;
red_A = regA "rouge" ; red_A = regA "rouge" ;
religion_N = regN "religion" feminine ; religion_N = regGenN "religion" feminine ;
restaurant_N = regN "restaurant" masculine ; restaurant_N = regGenN "restaurant" masculine ;
river_N = regN "rivière" feminine ; river_N = regGenN "rivière" feminine ;
rock_N = regN "rocher" masculine ; rock_N = regGenN "rocher" masculine ;
roof_N = regN "toit" masculine ; roof_N = regGenN "toit" masculine ;
rubber_N = regN "caoutchuc" masculine ; rubber_N = regGenN "caoutchuc" masculine ;
run_V = v2V courir_V2 ; run_V = v2V courir_V2 ;
say_VS = mkVS (v2V dire_V2) ; say_VS = mkVS (v2V dire_V2) ;
school_N = regN "école" feminine ; school_N = regGenN "école" feminine ;
science_N = regN "science" feminine ; science_N = regGenN "science" feminine ;
sea_N = regN "mer" feminine ; sea_N = regGenN "mer" feminine ;
seek_V2 = dirV2 (regV "chercher") ; seek_V2 = dirV2 (regV "chercher") ;
see_V2 = voir_V2 ; see_V2 = voir_V2 ;
sell_V3 = dirV3 (v2V vendre_V2) dative ; sell_V3 = dirV3 (v2V vendre_V2) dative ;
send_V3 = dirV3 (v2V envoyer_V2) dative ; send_V3 = dirV3 (v2V envoyer_V2) dative ;
sheep_N = regN "mouton" masculine ; sheep_N = regGenN "mouton" masculine ;
ship_N = regN "bateau" masculine ; ship_N = regGenN "bateau" masculine ;
shirt_N = regN "chemise" feminine ; shirt_N = regGenN "chemise" feminine ;
shoe_N = regN "chaussure" feminine ; shoe_N = regGenN "chaussure" feminine ;
shop_N = regN "magasin" masculine ; shop_N = regGenN "magasin" masculine ;
short_A = regA "court" ; ---- bref short_A = regA "court" ; ---- bref
silver_N = regN "argent" masculine ; silver_N = regGenN "argent" masculine ;
sister_N = regN "soeur" feminine ; sister_N = regGenN "soeur" feminine ;
sleep_V = v2V dormir_V2 ; sleep_V = v2V dormir_V2 ;
small_A = prefA (regA "petit") ; small_A = prefA (regA "petit") ;
snake_N = regN "serpent" masculine ; snake_N = regGenN "serpent" masculine ;
sock_N = regN "chaussette" feminine ; sock_N = regGenN "chaussette" feminine ;
speak_V2 = dirV2 (regV "parler") ; speak_V2 = dirV2 (regV "parler") ;
star_N = regN "étoile" feminine ; star_N = regGenN "étoile" feminine ;
steel_N = regN "acier" masculine ; steel_N = regGenN "acier" masculine ;
stone_N = regN "pierre" feminine ; stone_N = regGenN "pierre" feminine ;
stove_N = regN "four" masculine ; stove_N = regGenN "four" masculine ;
student_N = regN "étudiant" masculine ; student_N = regGenN "étudiant" masculine ;
stupid_A = regA "stupide" ; stupid_A = regA "stupide" ;
sun_N = regN "soleil" masculine ; sun_N = regGenN "soleil" masculine ;
switch8off_V2 = éteindre_V2 ; switch8off_V2 = éteindre_V2 ;
switch8on_V2 = dirV2 (regV "allumer") ; ---- switch8on_V2 = dirV2 (regV "allumer") ; ----
table_N = regN "table" feminine ; table_N = regGenN "table" feminine ;
talk_V3 = mkV3 (regV "parler") dative genitive ; talk_V3 = mkV3 (regV "parler") dative genitive ;
teacher_N = regN "professeur" masculine ; teacher_N = regGenN "professeur" masculine ;
teach_V2 = dirV2 (regV "enseigner") ; teach_V2 = dirV2 (regV "enseigner") ;
television_N = regN "télévision" feminine ; television_N = regGenN "télévision" feminine ;
thick_A = compADeg (mkA "épais" "épaisse" "épais" "épaissement") ; thick_A = compADeg (mkA "épais" "épaisse" "épais" "épaissement") ;
thin_A = regA "fin" ; thin_A = regA "fin" ;
train_N = regN "train" masculine ; train_N = regGenN "train" masculine ;
travel_V = regV "voyager" ; travel_V = regV "voyager" ;
tree_N = regN "arbre" masculine ; tree_N = regGenN "arbre" masculine ;
---- trousers_N = regN "pantalon" masculine ; ---- trousers_N = regGenN "pantalon" masculine ;
ugly_A = regA "laide" ; ugly_A = regA "laide" ;
understand_V2 = comprendre_V2 ; understand_V2 = comprendre_V2 ;
university_N = regN "université" feminine ; university_N = regGenN "université" feminine ;
village_N = regN "village" masculine ; village_N = regGenN "village" masculine ;
wait_V2 = attendre_V2 ; ---- dative? wait_V2 = attendre_V2 ; ---- dative?
walk_V = regV "marcher" ; walk_V = regV "marcher" ;
warm_A = regA "chaud" ; warm_A = regA "chaud" ;
war_N = regN "guerre" masculine ; war_N = regGenN "guerre" masculine ;
watch_V2 = dirV2 (regV "regarder") ; watch_V2 = dirV2 (regV "regarder") ;
water_N = regN "eau" feminine ; water_N = regGenN "eau" feminine ;
white_A = compADeg (mkA "blanc" "blanche" "blancs" "blanchement") ; white_A = compADeg (mkA "blanc" "blanche" "blancs" "blanchement") ;
window_N = regN "fenêtre" feminine ; window_N = regGenN "fenêtre" feminine ;
wine_N = regN "vin" masculine ; wine_N = regGenN "vin" masculine ;
win_V2 = dirV2 (regV "gagner") ; ---- vaincre win_V2 = dirV2 (regV "gagner") ; ---- vaincre
woman_N = regN "femme" feminine ; woman_N = regGenN "femme" feminine ;
wonder_VQ = mkVQ (reflV (regV "étonner")) ; wonder_VQ = mkVQ (reflV (regV "étonner")) ;
wood_N = regN "bois" masculine ; wood_N = regGenN "bois" masculine ;
write_V2 = écrire_V2 ; write_V2 = écrire_V2 ;
yellow_A = regA "jaune" ; yellow_A = regA "jaune" ;
young_A = prefA (regA "jeune") ; young_A = prefA (regA "jeune") ;
@@ -217,9 +217,9 @@ lin
do_V2 = faire_V2 ; do_V2 = faire_V2 ;
now_Adv = mkAdv "maintenant" ; now_Adv = mkAdv "maintenant" ;
already_Adv = mkAdv "déjà" ; already_Adv = mkAdv "déjà" ;
song_N = regN "chanson" feminine ; song_N = regGenN "chanson" feminine ;
add_V3 = dirV3 (regV "ajouter") dative ; add_V3 = dirV3 (regV "ajouter") dative ;
number_N = regN "nombre" masculine ; ---- numéro number_N = regGenN "nombre" masculine ; ---- numéro
put_V2 = mettre_V2 ; put_V2 = mettre_V2 ;
stop_V = reflV (regV "arrêter") ; stop_V = reflV (regV "arrêter") ;
jump_V = regV "sauter" ; jump_V = regV "sauter" ;

View File

@@ -72,13 +72,20 @@ oper
mkN : (oeil,yeux : Str) -> Gender -> N ; mkN : (oeil,yeux : Str) -> Gender -> N ;
-- The regular function takes the singular form and the gender, -- The regular function takes the singular form,
-- and computes the plural by a heuristic. The heuristic currently -- and computes the plural and the gender by a heuristic. The plural
-- heuristic currently
-- covers the cases "pas-pas", "prix-prix", "nez-nez", -- covers the cases "pas-pas", "prix-prix", "nez-nez",
-- "bijou-bijoux", "cheveu-cheveux", "plateau-plateaux", "cheval-chevaux". -- "bijou-bijoux", "cheveu-cheveux", "plateau-plateaux", "cheval-chevaux".
-- The gender heuristic is less reliable: it treats as feminine all
-- nouns ending with "e" and "ion", all others as masculine.
-- If in doubt, use the $cc$ command to test! -- If in doubt, use the $cc$ command to test!
regN : Str -> Gender -> N ; regN : Str -> N ;
-- Adding gender information widens the scope of the foregoing function.
regGenN : Str -> Gender -> N ;
--3 Compound nouns --3 Compound nouns
@@ -287,7 +294,13 @@ oper
mkPreposition p = {s = p ; c = Acc ; isDir = False} ; mkPreposition p = {s = p ; c = Acc ; isDir = False} ;
mkN x y g = mkCNomIrreg x y g ** {lock_N = <>} ; mkN x y g = mkCNomIrreg x y g ** {lock_N = <>} ;
regN x g = mkNomReg x g ** {lock_N = <>} ; regN x = regGenN x g where {
g = case <x : Str> of {
_ + ("e" | "ion") => Fem ;
_ => Masc
}
} ;
regGenN x g = mkNomReg x g ** {lock_N = <>} ;
compN x y = {s = \\n => x.s ! n ++ y ; g = x.g ; lock_N = <>} ; compN x y = {s = \\n => x.s ! n ++ y ; g = x.g ; lock_N = <>} ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ; mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;

View File

@@ -17,40 +17,40 @@ lin
bank_N = mk2N "bank" "banken" ; bank_N = mk2N "bank" "banken" ;
beautiful_A = mk3ADeg "vakker" "vakkert" "vakra" ; beautiful_A = mk3ADeg "vakker" "vakkert" "vakra" ;
become_VA = mkVA bli_V ; become_VA = mkVA bli_V ;
beer_N = regN "øl" neutrum ; beer_N = regGenN "øl" neutrum ;
beg_V2V = mkV2V be_V [] "att" ; beg_V2V = mkV2V be_V [] "att" ;
big_A = irregADeg "stor" "større" "størst"; big_A = irregADeg "stor" "større" "størst";
bike_N = mkN "sykkel" "sykkelen" "sykler" "syklene" ; bike_N = mkN "sykkel" "sykkelen" "sykler" "syklene" ;
bird_N = mk2N "fugl" "fuglen" ; bird_N = mk2N "fugl" "fuglen" ;
black_A = mk2ADeg "svart" "svart" ; black_A = mk2ADeg "svart" "svart" ;
blue_A = mk2ADeg "blå" "blått"; blue_A = mk2ADeg "blå" "blått";
boat_N = regN "båt" masculine ; boat_N = regGenN "båt" masculine ;
book_N = mkN "bok" "boka" "bøker" "bøkene" ; book_N = mkN "bok" "boka" "bøker" "bøkene" ;
boot_N = mkN "støvel" "støvelen" "støvler" "støvlene" ; boot_N = mkN "støvel" "støvelen" "støvler" "støvlene" ;
boss_N = mk2N "sjef" "sjefen" ; boss_N = mk2N "sjef" "sjefen" ;
boy_N = regN "gutt" masculine ; boy_N = regGenN "gutt" masculine ;
bread_N = regN "brød" neutrum ; bread_N = regGenN "brød" neutrum ;
break_V2 = dirV2 (mk2V "knuse" "knuste") ; break_V2 = dirV2 (mk2V "knuse" "knuste") ;
broad_A = regADeg "bred" ; broad_A = regADeg "bred" ;
brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) "til" ; brother_N2 = mkN2 ( (mkN "bror" "broren" "brødre" "brødrene")) "til" ;
brown_A = regADeg "brun" ; brown_A = regADeg "brun" ;
butter_N = regN "smør" neutrum ; butter_N = regGenN "smør" neutrum ;
buy_V2 = dirV2 (mk2V "kjøpe" "kjøpte") ; buy_V2 = dirV2 (mk2V "kjøpe" "kjøpte") ;
camera_N = mk2N "kamera" "kameraen" ; ---- camera_N = mk2N "kamera" "kameraen" ; ----
cap_N = mk2N "lue" "lua" ; cap_N = mk2N "lue" "lua" ;
car_N = regN "bil" masculine ; car_N = regGenN "bil" masculine ;
carpet_N = regN "matte" feminine ; carpet_N = regGenN "matte" feminine ;
cat_N = mk2N "katt" "katten" ; cat_N = mk2N "katt" "katten" ;
ceiling_N = regN "tak" neutrum ; ceiling_N = regGenN "tak" neutrum ;
chair_N = regN "stol" masculine ; chair_N = regGenN "stol" masculine ;
cheese_N = regN "ost" masculine ; cheese_N = regGenN "ost" masculine ;
child_N = regN "barn" neutrum ; child_N = regGenN "barn" neutrum ;
church_N = regN "kirke" feminine ; church_N = regGenN "kirke" feminine ;
city_N = mk2N "by" "byen" ; city_N = mk2N "by" "byen" ;
clean_A = regADeg "rein" ; clean_A = regADeg "rein" ;
clever_A = regADeg "klok" ; clever_A = regADeg "klok" ;
close_V2 = dirV2 (mk2V "lukke" "lukket") ; close_V2 = dirV2 (mk2V "lukke" "lukket") ;
coat_N = regN "frakk" masculine ; coat_N = regGenN "frakk" masculine ;
cold_A = regADeg "kald" ; cold_A = regADeg "kald" ;
come_V = komme_V ; come_V = komme_V ;
computer_N = mk2N "datamaskin" "datamaskinen" ; computer_N = mk2N "datamaskin" "datamaskinen" ;
@@ -59,99 +59,99 @@ lin
cow_N = mkN "ku" "kua" "kyr" "kyrne" ; ---- cow_N = mkN "ku" "kua" "kyr" "kyrne" ; ----
die_V = dø_V ; die_V = dø_V ;
dirty_A = mk3ADeg "skitten" "skittent" "skitne" ; ---- dirty_A = mk3ADeg "skitten" "skittent" "skitne" ; ----
distance_N3 = mkN3 (regN "avstand" masculine) "fra" "til" ; distance_N3 = mkN3 (regGenN "avstand" masculine) "fra" "til" ;
doctor_N = mk2N "lege" "legen" ; doctor_N = mk2N "lege" "legen" ;
dog_N = regN "hund" masculine ; dog_N = regGenN "hund" masculine ;
door_N = regN "dør" feminine ; door_N = regGenN "dør" feminine ;
drink_V2 = dirV2 drikke_V ; drink_V2 = dirV2 drikke_V ;
easy_A2V = mkA2V (regA "grei") "før" ; easy_A2V = mkA2V (regA "grei") "før" ;
eat_V2 = dirV2 (mk2V "spise" "spiste") ; eat_V2 = dirV2 (mk2V "spise" "spiste") ;
empty_A = mkADeg "tom" "tomt" "tomme" "tommere" "tommest" ; empty_A = mkADeg "tom" "tomt" "tomme" "tommere" "tommest" ;
enemy_N = regN "fiende" masculine ; enemy_N = regGenN "fiende" masculine ;
factory_N = mk2N "fabrikk" "fabrikken" ; factory_N = mk2N "fabrikk" "fabrikken" ;
father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) "til" ; father_N2 = mkN2 ( (mkN "far" "faren" "fedre" "fedrene")) "til" ;
fear_VS = mkVS (regV "frykte") ; fear_VS = mkVS (regV "frykte") ;
find_V2 = dirV2 (irregV "finne" "fann" "funnet") ; find_V2 = dirV2 (irregV "finne" "fann" "funnet") ;
fish_N = mk2N "fisk" "fisken" ; fish_N = mk2N "fisk" "fisken" ;
floor_N = regN "golv" neutrum ; floor_N = regGenN "golv" neutrum ;
forget_V2 = dirV2 (mkV "glemme" "glemmer" "glemmes" "glemte" "glemt" "glem") ; forget_V2 = dirV2 (mkV "glemme" "glemmer" "glemmes" "glemte" "glemt" "glem") ;
fridge_N = regN "kjøleskap" neutrum ; fridge_N = regGenN "kjøleskap" neutrum ;
friend_N = mkN "venn" "vennen" "venner" "vennene" ; friend_N = mkN "venn" "vennen" "venner" "vennene" ;
fruit_N = mk2N "frukt" "frukten" ; fruit_N = mk2N "frukt" "frukten" ;
fun_AV = mkAV (mkA "morsom" "morsomt" "morsomme") ; fun_AV = mkAV (mkA "morsom" "morsomt" "morsomme") ;
garden_N = regN "hage" masculine ; garden_N = regGenN "hage" masculine ;
girl_N = regN "jente" feminine ; girl_N = regGenN "jente" feminine ;
glove_N = regN "hanske" masculine ; glove_N = regGenN "hanske" masculine ;
gold_N = regN "gull" neutrum ; gold_N = regGenN "gull" neutrum ;
good_A = mkADeg "god" "godt" "gode" "bedre" "best" ; good_A = mkADeg "god" "godt" "gode" "bedre" "best" ;
go_V = gå_V ; go_V = gå_V ;
green_A = mk2ADeg "grønn" "grønt" ; green_A = mk2ADeg "grønn" "grønt" ;
harbour_N = regN "havn" feminine; harbour_N = regGenN "havn" feminine;
hate_V2 = dirV2 (regV "hate") ; hate_V2 = dirV2 (regV "hate") ;
hat_N = regN "hatt" masculine ; hat_N = regGenN "hatt" masculine ;
have_V2 = dirV2 ha_V ; have_V2 = dirV2 ha_V ;
hear_V2 = dirV2 (mk2V "høre" "hørte") ; hear_V2 = dirV2 (mk2V "høre" "hørte") ;
hill_N = regN "haug" masculine ; hill_N = regGenN "haug" masculine ;
hope_VS = mkVS (regV "håpe") ; hope_VS = mkVS (regV "håpe") ;
horse_N = regN "hest" masculine ; horse_N = regGenN "hest" masculine ;
hot_A = regADeg "heit" ; hot_A = regADeg "heit" ;
house_N = regN "hus" neutrum ; house_N = regGenN "hus" neutrum ;
important_A = regADeg "viktig" ; important_A = regADeg "viktig" ;
industry_N = mk2N "industri" "industrien" ; industry_N = mk2N "industri" "industrien" ;
iron_N = regN "jern" neutrum ; iron_N = regGenN "jern" neutrum ;
king_N = regN "konge" masculine ; king_N = regGenN "konge" masculine ;
know_V2 = dirV2 vite_V ; know_V2 = dirV2 vite_V ;
lake_N = regN "vann" neutrum ; lake_N = regGenN "vann" neutrum ;
lamp_N = regN "lampe" feminine ; lamp_N = regGenN "lampe" feminine ;
learn_V2 = dirV2 (mk2V "lære" "lærte") ; learn_V2 = dirV2 (mk2V "lære" "lærte") ;
leather_N = regN "lær" neutrum ; leather_N = regGenN "lær" neutrum ;
leave_V2 = dirV2 forlate_V ; leave_V2 = dirV2 forlate_V ;
like_V2 = dirV2 (mk2V "like" "likte") ; like_V2 = dirV2 (mk2V "like" "likte") ;
listen_V2 = dirV2 (regV "lytte") ; listen_V2 = dirV2 (regV "lytte") ;
live_V = mk2V "leve" "levde" ; live_V = mk2V "leve" "levde" ;
long_A = irregADeg "lang" "lengre" "lengst" ; long_A = irregADeg "lang" "lengre" "lengst" ;
lose_V2 = dirV2 (mk2V "tape" "tapte") ; lose_V2 = dirV2 (mk2V "tape" "tapte") ;
love_N = regN "kjærlighet" masculine ; love_N = regGenN "kjærlighet" masculine ;
love_V2 = dirV2 (regV "elske") ; love_V2 = dirV2 (regV "elske") ;
man_N = (mkN "mann" "mannen" "menn" "mennen") ; man_N = (mkN "mann" "mannen" "menn" "mennen") ;
married_A2 = mkA2 (mk2A "gift" "gift") "med" ; married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
meat_N = regN "kjøtt" neutrum ; meat_N = regGenN "kjøtt" neutrum ;
milk_N = regN "melk" masculine ; milk_N = regGenN "melk" masculine ;
moon_N = regN "måne" masculine ; moon_N = regGenN "måne" masculine ;
mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") "til" ; ---- fem mother_N2 = mkN2 (mkN "mor" "moren" "mødre" "mødrene") "til" ; ---- fem
mountain_N = regN "berg" neutrum ; mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musikk" "musikken" ; music_N = mk2N "musikk" "musikken" ;
narrow_A = regADeg "smal" ; narrow_A = regADeg "smal" ;
new_A = mkADeg "ny" "nytt" "nye" "nyere" "nyest" ; new_A = mkADeg "ny" "nytt" "nye" "nyere" "nyest" ;
newspaper_N = regN "avis" feminine ; newspaper_N = regGenN "avis" feminine ;
oil_N = regN "olje" masculine ; oil_N = regGenN "olje" masculine ;
old_A = mkADeg "gammel" "gammelt" "gamle" "eldre" "eldst" ; old_A = mkADeg "gammel" "gammelt" "gamle" "eldre" "eldst" ;
open_V2 = dirV2 (regV "åpne") ; open_V2 = dirV2 (regV "åpne") ;
paint_V2A = mkV2A (regV "male") [] ; paint_V2A = mkV2A (regV "male") [] ;
paper_N = regN "papir" neutrum ; ---- paper_N = regGenN "papir" neutrum ; ----
paris_PN = regPN "Paris" neutrum ; paris_PN = regPN "Paris" neutrum ;
peace_N = regN "fred" masculine ; peace_N = regGenN "fred" masculine ;
pen_N = regN "penn" masculine ; pen_N = regGenN "penn" masculine ;
planet_N = mk2N "planet" "planeten" ; planet_N = mk2N "planet" "planeten" ;
plastic_N = mk2N "plast" "plasten" ; plastic_N = mk2N "plast" "plasten" ;
play_V2 = dirV2 (mk2V "spille" "spilte") ; play_V2 = dirV2 (mk2V "spille" "spilte") ;
policeman_N = mk2N "politi" "politien" ; policeman_N = mk2N "politi" "politien" ;
priest_N = mk2N "prest" "presten" ; priest_N = mk2N "prest" "presten" ;
probable_AS = mkAS (regA "sannsynlig") ; probable_AS = mkAS (regA "sannsynlig") ;
queen_N = regN "dronning" feminine ; queen_N = regGenN "dronning" feminine ;
radio_N = regN "radio" masculine ; radio_N = regGenN "radio" masculine ;
rain_V0 = mkV0 (regV "regne") ; rain_V0 = mkV0 (regV "regne") ;
read_V2 = dirV2 (mk2V "lese" "leste") ; read_V2 = dirV2 (mk2V "lese" "leste") ;
red_A = regADeg "rød" ; red_A = regADeg "rød" ;
religion_N = mk2N "religion" "religionen" ; religion_N = mk2N "religion" "religionen" ;
restaurant_N = mk2N "restaurant" "restauranten" ; restaurant_N = mk2N "restaurant" "restauranten" ;
river_N = mk2N "elv" "elva" ; river_N = mk2N "elv" "elva" ;
rock_N = regN "stein" masculine ; rock_N = regGenN "stein" masculine ;
roof_N = regN "tak" neutrum ; roof_N = regGenN "tak" neutrum ;
rubber_N = mk2N "gummi" "gummien" ; rubber_N = mk2N "gummi" "gummien" ;
run_V = springe_V ; run_V = springe_V ;
say_VS = mkVS si_V ; say_VS = mkVS si_V ;
school_N = regN "skole" feminine; school_N = regGenN "skole" feminine;
science_N = mk2N "vitenskap" "vitenskapen" ; science_N = mk2N "vitenskap" "vitenskapen" ;
sea_N = mk2N "sjø" "sjøen" ; sea_N = mk2N "sjø" "sjøen" ;
seek_V2 = mkV2 (mk2V "lete" "lette") "etter" ; seek_V2 = mkV2 (mk2V "lete" "lette") "etter" ;
@@ -159,53 +159,53 @@ lin
sell_V3 = dirV3 selge_V "til" ; sell_V3 = dirV3 selge_V "til" ;
send_V3 = dirV3 (mk2V "sende" "sendte") "til" ; send_V3 = dirV3 (mk2V "sende" "sendte") "til" ;
sheep_N = mk2N "får" "fåret" ; sheep_N = mk2N "får" "fåret" ;
ship_N = regN "skip" neutrum ; ship_N = regGenN "skip" neutrum ;
shirt_N = regN "skjorte" feminine ; shirt_N = regGenN "skjorte" feminine ;
shoe_N = regN "sko" masculine ; shoe_N = regGenN "sko" masculine ;
shop_N = mk2N "butikk" "butikken" ; shop_N = mk2N "butikk" "butikken" ;
short_A = regADeg "kort" ; short_A = regADeg "kort" ;
silver_N = mk2N "sølv" "sølvet"; silver_N = mk2N "sølv" "sølvet";
sister_N = mkN "søster" "søsteren" "søstrer" "søstrene" ; sister_N = mkN "søster" "søsteren" "søstrer" "søstrene" ;
sleep_V = irregV "sove" "sov" "sovet" ; sleep_V = irregV "sove" "sov" "sovet" ;
small_A = mkADeg "liten" "lite" "små" "mindre" "minst" ; ---- lille small_A = mkADeg "liten" "lite" "små" "mindre" "minst" ; ---- lille
snake_N = regN "orm" masculine ; snake_N = regGenN "orm" masculine ;
sock_N = regN "strømpe" masculine ; sock_N = regGenN "strømpe" masculine ;
speak_V2 = dirV2 (regV "snakke") ; speak_V2 = dirV2 (regV "snakke") ;
star_N = regN "stjerne" feminine ; star_N = regGenN "stjerne" feminine ;
steel_N = regN "stål" neutrum ; steel_N = regGenN "stål" neutrum ;
stone_N = regN "stein" masculine ; stone_N = regGenN "stein" masculine ;
stove_N = regN "komfyr" masculine ; stove_N = regGenN "komfyr" masculine ;
student_N = mk2N "student" "studenten" ; student_N = mk2N "student" "studenten" ;
stupid_A = mk3ADeg "dum" "dumt" "dumme" ; stupid_A = mk3ADeg "dum" "dumt" "dumme" ;
sun_N = regN "sol" feminine ; sun_N = regGenN "sol" feminine ;
switch8off_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "av") ; switch8off_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "på") ; switch8on_V2 = dirV2 (partV (irregV "slå" "slo" "slått") "på") ;
table_N = regN "bord" neutrum ; table_N = regGenN "bord" neutrum ;
talk_V3 = mkV3 (regV "snakke") "til" "om" ; talk_V3 = mkV3 (regV "snakke") "til" "om" ;
teacher_N = mkN "lærer" "læreren" "lærere" "lærerne" ; teacher_N = mkN "lærer" "læreren" "lærere" "lærerne" ;
teach_V2 = dirV2 (mk2V "undervise" "underviste") ; teach_V2 = dirV2 (mk2V "undervise" "underviste") ;
television_N = mk2N "fjernsyn" "fjernsynet" ; television_N = mk2N "fjernsyn" "fjernsynet" ;
thick_A = mk2ADeg "tykk" "tykt" ; thick_A = mk2ADeg "tykk" "tykt" ;
thin_A = mk2ADeg "tynn" "tynt" ; thin_A = mk2ADeg "tynn" "tynt" ;
train_N = regN "tog" neutrum ; train_N = regGenN "tog" neutrum ;
travel_V = mk2V "reise" "reiste" ; travel_V = mk2V "reise" "reiste" ;
tree_N = mkN "tre" "treet" "trær" "træne" ; tree_N = mkN "tre" "treet" "trær" "træne" ;
---- trousers_N = regN "trousers" ; ---- pl t ! ---- trousers_N = regGenN "trousers" ; ---- pl t !
ugly_A = mk2ADeg "stygg" "stygt" ; ugly_A = mk2ADeg "stygg" "stygt" ;
understand_V2 = dirV2 (irregV "forstå" "forstod" "forstått") ; understand_V2 = dirV2 (irregV "forstå" "forstod" "forstått") ;
university_N = regN "universitet" neutrum ; university_N = regGenN "universitet" neutrum ;
village_N = mk2N "grend" "grenda" ; village_N = mk2N "grend" "grenda" ;
wait_V2 = mkV2 (regV "vente") "på" ; wait_V2 = mkV2 (regV "vente") "på" ;
walk_V = (irregV "gå" "gikk" "gått") ; walk_V = (irregV "gå" "gikk" "gått") ;
warm_A = regADeg "varm" ; warm_A = regADeg "varm" ;
war_N = regN "krig" masculine ; war_N = regGenN "krig" masculine ;
watch_V2 = mkV2 se_V "på" ; watch_V2 = mkV2 se_V "på" ;
water_N = mk2N "vatn" "vatnet" ; water_N = mk2N "vatn" "vatnet" ;
white_A = regADeg "hvit" ; white_A = regADeg "hvit" ;
window_N = mkN "vindu" "vinduet" "vinduer" "vinduene" ; ---- er? window_N = mkN "vindu" "vinduet" "vinduer" "vinduene" ; ---- er?
wine_N = mk2N "vin" "vinen" ; wine_N = mk2N "vin" "vinen" ;
win_V2 = dirV2 (irregV "vinne" "vant" "vunnet") ; win_V2 = dirV2 (irregV "vinne" "vant" "vunnet") ;
woman_N = regN "kvinne" feminine ; ---- kvinnen woman_N = regGenN "kvinne" feminine ; ---- kvinnen
wonder_VQ = mkVQ (regV "undre") ; ---- seg wonder_VQ = mkVQ (regV "undre") ; ---- seg
wood_N = mkN "tre" "treet" "trær" "træne" ; wood_N = mkN "tre" "treet" "trær" "træne" ;
write_V2 = dirV2 (irregV "skrive" "skrev" "skrevet") ; write_V2 = dirV2 (irregV "skrive" "skrev" "skrevet") ;

View File

@@ -69,11 +69,17 @@ oper
mkN : (dreng,drengen,drenger,drengene : Str) -> N ; mkN : (dreng,drengen,drenger,drengene : Str) -> N ;
-- The regular function takes the singular indefinite form and the gender, -- The regular function takes the singular indefinite form
-- and computes the other forms by a heuristic. -- and computes the other forms and the gender by a heuristic.
-- The heuristic is that nouns ending "e" are feminine like "kvinne",
-- all others are masculine like "bil".
-- If in doubt, use the $cc$ command to test! -- If in doubt, use the $cc$ command to test!
regN : Str -> Gender -> N ; regN : Str -> N ;
-- Giving gender manually makes the heuristic more reliable.
regGenN : Str -> Gender -> N ;
-- This function takes the singular indefinite and definite forms; the -- This function takes the singular indefinite and definite forms; the
-- gender is computed from the definite form. -- gender is computed from the definite form.
@@ -291,7 +297,14 @@ oper
mkN x y z u = mkSubstantive x y z u ** {g = extNGen y ; lock_N = <>} ; mkN x y z u = mkSubstantive x y z u ** {g = extNGen y ; lock_N = <>} ;
regN x g = case last x of { regN x = regGenN x g where {
g = case <x : Str> of {
_ + "e" => Utr Fem ;
_ => Utr Masc
}
} ;
regGenN x g = case last x of {
"e" => case g of { "e" => case g of {
Utr Masc => mkN x (x + "n") (x + "r") (x + "ne") ; Utr Masc => mkN x (x + "n") (x + "r") (x + "ne") ;
Utr Fem => mkN x (init x + "a") (x + "r") (x + "ne") ; Utr Fem => mkN x (init x + "a") (x + "r") (x + "ne") ;
@@ -305,14 +318,14 @@ oper
} ; } ;
mk2N x y = case last y of { mk2N x y = case last y of {
"n" => regN x masculine ; "n" => regGenN x masculine ;
"a" => regN x feminine ; "a" => regGenN x feminine ;
_ => regN x neutrum _ => regGenN x neutrum
} ; } ;
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ; mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
regN2 n g = mkN2 (regN n g) (mkPreposition "av") ; regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ; mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ; regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;

View File

@@ -6,51 +6,51 @@ flags
optimize=values ; optimize=values ;
lin lin
airplane_N = regN "flygplan" neutrum ; airplane_N = regGenN "flygplan" neutrum ;
answer_V2S = mkV2S (regV "svarar") "till" ; answer_V2S = mkV2S (regV "svarar") "till" ;
apartment_N = mk2N "lägenhet" "lägenheter" ; apartment_N = mk2N "lägenhet" "lägenheter" ;
apple_N = regN "äpple" neutrum ; apple_N = regGenN "äpple" neutrum ;
art_N = mk2N "konst" "konster" ; art_N = mk2N "konst" "konster" ;
ask_V2Q = mkV2Q (regV "frågar") [] ; ask_V2Q = mkV2Q (regV "frågar") [] ;
baby_N = regN "bebis" utrum ; baby_N = regGenN "bebis" utrum ;
bad_A = irregA "dålig" "sämre" "sämst"; bad_A = irregA "dålig" "sämre" "sämst";
bank_N = mk2N "bank" "banker" ; bank_N = mk2N "bank" "banker" ;
beautiful_A = mk3A "vacker" "vackert" "vackrast" ; beautiful_A = mk3A "vacker" "vackert" "vackrast" ;
become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ; become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ;
beer_N = regN "öl" neutrum ; beer_N = regGenN "öl" neutrum ;
beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ; beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ;
big_A = irregA "stor" "större" "störst"; big_A = irregA "stor" "större" "störst";
bike_N = mk2N "cykel" "cyklar" ; bike_N = mk2N "cykel" "cyklar" ;
bird_N = mk2N "fågel" "fåglar" ; bird_N = mk2N "fågel" "fåglar" ;
black_A = mk2A "svart" "svart" ; black_A = mk2A "svart" "svart" ;
blue_A = mk2A "blå" "blått"; blue_A = mk2A "blå" "blått";
boat_N = regN "båt" utrum ; boat_N = regGenN "båt" utrum ;
book_N = mkN "bok" "boken" "böcker" "böckerna" ; book_N = mkN "bok" "boken" "böcker" "böckerna" ;
boot_N = mk2N "stövel" "stövlar" ; boot_N = mk2N "stövel" "stövlar" ;
boss_N = mk2N "chef" "chefer" ; boss_N = mk2N "chef" "chefer" ;
boy_N = regN "pojke" utrum ; boy_N = regGenN "pojke" utrum ;
bread_N = regN "bröd" neutrum ; bread_N = regGenN "bröd" neutrum ;
break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ; break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ;
broad_A = mk2A "bred" "brett" ; broad_A = mk2A "bred" "brett" ;
brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ; brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ;
brown_A = regA "brun" ; brown_A = regA "brun" ;
butter_N = regN "smör" neutrum ; butter_N = regGenN "smör" neutrum ;
buy_V2 = dirV2 (mk2V "köpa" "köpte") ; buy_V2 = dirV2 (mk2V "köpa" "köpte") ;
camera_N = regN "kamera" utrum ; camera_N = regGenN "kamera" utrum ;
cap_N = regN "mössa" utrum ; cap_N = regGenN "mössa" utrum ;
car_N = regN "bil" utrum ; car_N = regGenN "bil" utrum ;
carpet_N = regN "matta" utrum ; carpet_N = regGenN "matta" utrum ;
cat_N = mk2N "katt" "katter" ; cat_N = mk2N "katt" "katter" ;
ceiling_N = regN "tak" neutrum ; ceiling_N = regGenN "tak" neutrum ;
chair_N = regN "stol" utrum ; chair_N = regGenN "stol" utrum ;
cheese_N = regN "ost" utrum ; cheese_N = regGenN "ost" utrum ;
child_N = regN "barn" neutrum ; child_N = regGenN "barn" neutrum ;
church_N = regN "kyrka" utrum ; church_N = regGenN "kyrka" utrum ;
city_N = mkN "stad" "staden" "städer" "städerna" ; city_N = mkN "stad" "staden" "städer" "städerna" ;
clean_A = regA "ren" ; clean_A = regA "ren" ;
clever_A = regA "klok" ; clever_A = regA "klok" ;
close_V2 = dirV2 (mk2V "stänga" "stängde") ; close_V2 = dirV2 (mk2V "stänga" "stängde") ;
coat_N = regN "rock" utrum ; coat_N = regGenN "rock" utrum ;
cold_A = regA "kall" ; cold_A = regA "kall" ;
come_V = komma_V ; come_V = komma_V ;
computer_N = mk2N "dator" "datorer" ; computer_N = mk2N "dator" "datorer" ;
@@ -61,49 +61,49 @@ lin
distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ; distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ;
dirty_A = regA "smutsig" ; dirty_A = regA "smutsig" ;
doctor_N = mk2N "läkare" "läkare" ; doctor_N = mk2N "läkare" "läkare" ;
dog_N = regN "hund" utrum ; dog_N = regGenN "hund" utrum ;
door_N = regN "dörr" utrum ; door_N = regGenN "dörr" utrum ;
drink_V2 = dirV2 (irregV "dricka" "drack" "druckit") ; drink_V2 = dirV2 (irregV "dricka" "drack" "druckit") ;
easy_A2V = mkA2V (mk2A "lätt" "lätt") "för" ; easy_A2V = mkA2V (mk2A "lätt" "lätt") "för" ;
eat_V2 = dirV2 (irregV "äta" "åt" "ätit") ; eat_V2 = dirV2 (irregV "äta" "åt" "ätit") ;
empty_A = mkA "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ; empty_A = mkA "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ;
enemy_N = regN "fiende" neutrum ; enemy_N = regGenN "fiende" neutrum ;
factory_N = mk2N "fabrik" "fabriker" ; factory_N = mk2N "fabrik" "fabriker" ;
father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ; father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ;
fear_VS = mkVS (regV "fruktar") ; fear_VS = mkVS (regV "fruktar") ;
find_V2 = dirV2 (irregV "finna" "fann" "funnit") ; find_V2 = dirV2 (irregV "finna" "fann" "funnit") ;
fish_N = mk2N "fisk" "fiskar" ; fish_N = mk2N "fisk" "fiskar" ;
floor_N = regN "golv" neutrum ; floor_N = regGenN "golv" neutrum ;
forget_V2 = dirV2 (mkV "glömma" "glömmer" "glöm" "glömde" "glömt" "glömd") ; forget_V2 = dirV2 (mkV "glömma" "glömmer" "glöm" "glömde" "glömt" "glömd") ;
fridge_N = regN "kylskåp" neutrum ; fridge_N = regGenN "kylskåp" neutrum ;
friend_N = mkN "vän" "vännen" "vänner" "vännerna" ; friend_N = mkN "vän" "vännen" "vänner" "vännerna" ;
fruit_N = mk2N "frukt" "frukter" ; fruit_N = mk2N "frukt" "frukter" ;
fun_AV = mkAV (regA "rolig") ; fun_AV = mkAV (regA "rolig") ;
garden_N = regN "trädgård" utrum ; garden_N = regGenN "trädgård" utrum ;
girl_N = regN "flicka" utrum ; girl_N = regGenN "flicka" utrum ;
glove_N = regN "handske" utrum ; glove_N = regGenN "handske" utrum ;
gold_N = regN "guld" neutrum ; gold_N = regGenN "guld" neutrum ;
good_A = mkA "god" "gott" "goda" "goda" "bättre" "bäst" "bästa" ; good_A = mkA "god" "gott" "goda" "goda" "bättre" "bäst" "bästa" ;
go_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ; go_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
green_A = regA "grön" ; green_A = regA "grön" ;
harbour_N = regN "hamn" utrum; harbour_N = regGenN "hamn" utrum;
hate_V2 = dirV2 (regV "hatar") ; hate_V2 = dirV2 (regV "hatar") ;
hat_N = regN "hatt" utrum ; hat_N = regGenN "hatt" utrum ;
have_V2 = dirV2 (mkV "ha" "har" "ha" "hade" "haft" "haft") ; ---- pp have_V2 = dirV2 (mkV "ha" "har" "ha" "hade" "haft" "haft") ; ---- pp
hear_V2 = dirV2 (mkV "höra" "hör" "hör" "hörde" "hört" "hörd") ; hear_V2 = dirV2 (mkV "höra" "hör" "hör" "hörde" "hört" "hörd") ;
hill_N = regN "kulle" utrum ; hill_N = regGenN "kulle" utrum ;
-- hope_VS = mkVS ((regV "önskar")) ; -- hope_VS = mkVS ((regV "önskar")) ;
hope_VS = mkVS (depV (regV "hoppar")) ; hope_VS = mkVS (depV (regV "hoppar")) ;
horse_N = regN "häst" utrum ; horse_N = regGenN "häst" utrum ;
hot_A = regA "het" ; hot_A = regA "het" ;
house_N = regN "hus" neutrum ; house_N = regGenN "hus" neutrum ;
important_A = regA "viktig" ; important_A = regA "viktig" ;
industry_N = mk2N "industri" "industrier" ; ---- "ien" ?? industry_N = mk2N "industri" "industrier" ; ---- "ien" ??
iron_N = regN "järn" neutrum ; iron_N = regGenN "järn" neutrum ;
king_N = (regN "kung" utrum) ; king_N = (regGenN "kung" utrum) ;
know_V2 = dirV2 (mkV "veta" "vet" "vet" "visste" "vetat" "visst") ; know_V2 = dirV2 (mkV "veta" "vet" "vet" "visste" "vetat" "visst") ;
lake_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ; lake_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
lamp_N = regN "lampa" utrum; lamp_N = regGenN "lampa" utrum;
learn_V2 = dirV2 (reflV (mkV "lära" "lär" "lär" "lärde" "lärt" "lärd")) ; learn_V2 = dirV2 (reflV (mkV "lära" "lär" "lär" "lärde" "lärt" "lärd")) ;
leather_N = mkN "läder" "lädret" "läder" "lädren" ; leather_N = mkN "läder" "lädret" "läder" "lädren" ;
leave_V2 = dirV2 (regV "lämnar") ; leave_V2 = dirV2 (regV "lämnar") ;
@@ -112,34 +112,34 @@ lin
live_V = (irregV "leva" "levde" "levt") ; ---- ? live_V = (irregV "leva" "levde" "levt") ; ---- ?
long_A = irregA "lång" "längre" "längst" ; long_A = irregA "lång" "längre" "längst" ;
lose_V2 = dirV2 (regV "förlora") ; lose_V2 = dirV2 (regV "förlora") ;
love_N = regN "kärlek" utrum ; love_N = regGenN "kärlek" utrum ;
love_V2 = dirV2 (regV "älska") ; love_V2 = dirV2 (regV "älska") ;
man_N = (mkN "man" "mannen" "män" "männen") ; man_N = (mkN "man" "mannen" "män" "männen") ;
married_A2 = mkA2 (mk2A "gift" "gift") "med" ; married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
meat_N = regN "kött" neutrum ; meat_N = regGenN "kött" neutrum ;
milk_N = regN "mjölk" utrum ; ---- -ar? milk_N = regGenN "mjölk" utrum ; ---- -ar?
moon_N = regN "måne" utrum ; moon_N = regGenN "måne" utrum ;
mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ; mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ;
mountain_N = regN "berg" neutrum ; mountain_N = regGenN "berg" neutrum ;
music_N = mk2N "musik" "musiker" ; ---- er ? music_N = mk2N "musik" "musiker" ; ---- er ?
narrow_A = regA "smal" ; narrow_A = regA "smal" ;
new_A = mkA "ny" "nytt" "nya" "nya" "nyare" "nyast" "nyaste" ; new_A = mkA "ny" "nytt" "nya" "nya" "nyare" "nyast" "nyaste" ;
newspaper_N = regN "tidning" utrum ; newspaper_N = regGenN "tidning" utrum ;
oil_N = regN "olja" utrum ; oil_N = regGenN "olja" utrum ;
old_A = mkA "gammal" "gammalt" "gamla" "gamla" "äldre" "äldst" "äldsta" ; old_A = mkA "gammal" "gammalt" "gamla" "gamla" "äldre" "äldst" "äldsta" ;
open_V2 = dirV2 (regV "öppna") ; open_V2 = dirV2 (regV "öppna") ;
paint_V2A = mkV2A (regV "måla") [] ; paint_V2A = mkV2A (regV "måla") [] ;
paper_N = mkN "papper" "pappret" "papper" "pappren" ; paper_N = mkN "papper" "pappret" "papper" "pappren" ;
paris_PN = regPN "Paris" neutrum ; paris_PN = regPN "Paris" neutrum ;
peace_N = regN "fred" utrum ; ---- ar? peace_N = regGenN "fred" utrum ; ---- ar?
pen_N = regN "penna" utrum ; pen_N = regGenN "penna" utrum ;
planet_N = mk2N "planet" "planeter" ; planet_N = mk2N "planet" "planeter" ;
plastic_N = mk2N "plast" "plaster" ; plastic_N = mk2N "plast" "plaster" ;
play_V2 = dirV2 (regV "spela") ; play_V2 = dirV2 (regV "spela") ;
policeman_N = mk2N "polis" "poliser" ; policeman_N = mk2N "polis" "poliser" ;
priest_N = mk2N "präst" "präster" ; priest_N = mk2N "präst" "präster" ;
probable_AS = mkAS (regA "sannolik") ; probable_AS = mkAS (regA "sannolik") ;
queen_N = regN "drottning" utrum ; queen_N = regGenN "drottning" utrum ;
radio_N = mkN "radio" "radion" "radioapparater" "radioapparaterna" ; -- SAOL radio_N = mkN "radio" "radion" "radioapparater" "radioapparaterna" ; -- SAOL
rain_V0 = mkV0 (regV "regna") ; rain_V0 = mkV0 (regV "regna") ;
read_V2 = dirV2 (mk2V "läsa" "läste") ; read_V2 = dirV2 (mk2V "läsa" "läste") ;
@@ -148,11 +148,11 @@ lin
restaurant_N = mk2N "restaurang" "restauranger" ; restaurant_N = mk2N "restaurang" "restauranger" ;
river_N = mkN "å" "ån" "åar" "åarna" ; river_N = mkN "å" "ån" "åar" "åarna" ;
rock_N = mkN "sten" "stenen" "stenar" "stenarna" ; rock_N = mkN "sten" "stenen" "stenar" "stenarna" ;
roof_N = regN "tak" neutrum ; roof_N = regGenN "tak" neutrum ;
rubber_N = mkN "gummi" "gummit" "gummin" "gummina" ; rubber_N = mkN "gummi" "gummit" "gummin" "gummina" ;
run_V = (irregV "springa" "sprang" "sprungit") ; run_V = (irregV "springa" "sprang" "sprungit") ;
say_VS = mkVS (mkV "säga" "säger" "säg" "sade" "sagt" "sagd") ; say_VS = mkVS (mkV "säga" "säger" "säg" "sade" "sagt" "sagd") ;
school_N = regN "skola" utrum; school_N = regGenN "skola" utrum;
science_N = mk2N "vetenskap" "vetenskaper" ; science_N = mk2N "vetenskap" "vetenskaper" ;
sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ; sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
seek_V2 = dirV2 (mk2V "söka" "sökte") ; seek_V2 = dirV2 (mk2V "söka" "sökte") ;
@@ -160,8 +160,8 @@ lin
sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ; sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ;
send_V3 = dirV3 (regV "skicka") "till" ; send_V3 = dirV3 (regV "skicka") "till" ;
sheep_N = mk2N "får" "får" ; sheep_N = mk2N "får" "får" ;
ship_N = regN "skepp" neutrum ; ship_N = regGenN "skepp" neutrum ;
shirt_N = regN "skjorta" utrum ; shirt_N = regGenN "skjorta" utrum ;
shoe_N = mk2N "sko" "skor" ; shoe_N = mk2N "sko" "skor" ;
shop_N = mk2N "affär" "affären" ; shop_N = mk2N "affär" "affären" ;
short_A = regA "kort" ; short_A = regA "kort" ;
@@ -169,44 +169,44 @@ lin
sister_N = mk2N "syster" "systrar" ; sister_N = mk2N "syster" "systrar" ;
sleep_V = (irregV "sova" "sov" "sovit") ; sleep_V = (irregV "sova" "sov" "sovit") ;
small_A = mkA "liten" "litet" "lilla" "små" "mindre" "minst" "minsta" ; small_A = mkA "liten" "litet" "lilla" "små" "mindre" "minst" "minsta" ;
snake_N = regN "orm" utrum ; snake_N = regGenN "orm" utrum ;
sock_N = regN "strumpa" utrum ; sock_N = regGenN "strumpa" utrum ;
speak_V2 = dirV2 (regV "tala") ; speak_V2 = dirV2 (regV "tala") ;
star_N = regN "stjärna" utrum ; star_N = regGenN "stjärna" utrum ;
steel_N = regN "stål" utrum ; steel_N = regGenN "stål" utrum ;
stone_N = mkN "sten" "stenen" "stenar" "stenarna" ; stone_N = mkN "sten" "stenen" "stenar" "stenarna" ;
stove_N = regN "spis" utrum ; stove_N = regGenN "spis" utrum ;
student_N = mk2N "student" "studenter" ; student_N = mk2N "student" "studenter" ;
stupid_A = mk3A "dum" "dumt" "dumma" ; stupid_A = mk3A "dum" "dumt" "dumma" ;
sun_N = regN "sol" utrum ; sun_N = regGenN "sol" utrum ;
switch8off_V2 = dirV2 (partV (irregV "stänga" "stängde" "stängt") "av") ; switch8off_V2 = dirV2 (partV (irregV "stänga" "stängde" "stängt") "av") ;
switch8on_V2 = dirV2 (partV (irregV "slå" "slog" "slagit") "på") ; switch8on_V2 = dirV2 (partV (irregV "slå" "slog" "slagit") "på") ;
table_N = regN "bord" neutrum ; table_N = regGenN "bord" neutrum ;
talk_V3 = mkV3 (regV "prata") "till" "om" ; talk_V3 = mkV3 (regV "prata") "till" "om" ;
teacher_N = mk2N "lärare" "lärare" ; teacher_N = mk2N "lärare" "lärare" ;
teach_V2 = dirV2 (regV "undervisa") ; teach_V2 = dirV2 (regV "undervisa") ;
television_N = mk2N "television" "televisioner" ; television_N = mk2N "television" "televisioner" ;
thick_A = regA "tjock" ; thick_A = regA "tjock" ;
thin_A = mk2A "tunn" "tunt" ; thin_A = mk2A "tunn" "tunt" ;
train_N = regN "tåg" neutrum ; train_N = regGenN "tåg" neutrum ;
travel_V = mk2V "resa" "reste" ; travel_V = mk2V "resa" "reste" ;
tree_N = regN "träd" neutrum ; tree_N = regGenN "träd" neutrum ;
---- trousers_N = regN "trousers" ; ---- pl t ! ---- trousers_N = regGenN "trousers" ; ---- pl t !
ugly_A = regA "ful" ; ugly_A = regA "ful" ;
understand_V2 = dirV2 (mkV "förstå" "förstår" "förstå" "förstod" "förstått" "förstådd") ; understand_V2 = dirV2 (mkV "förstå" "förstår" "förstå" "förstod" "förstått" "förstådd") ;
university_N = regN "universitet" neutrum ; university_N = regGenN "universitet" neutrum ;
village_N = mkN "by" "byn" "byar" "byarna" ; village_N = mkN "by" "byn" "byar" "byarna" ;
wait_V2 = mkV2 (regV "vänta") "på" ; wait_V2 = mkV2 (regV "vänta") "på" ;
walk_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ; walk_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
warm_A = regA "varm" ; warm_A = regA "varm" ;
war_N = regN "krig" neutrum ; war_N = regGenN "krig" neutrum ;
watch_V2 = mkV2 (regV "titta") "på" ; watch_V2 = mkV2 (regV "titta") "på" ;
water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ; water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ;
white_A = regA "vit" ; white_A = regA "vit" ;
window_N = mkN "fönster" "fönstret" "fönster" "fönstren" ; window_N = mkN "fönster" "fönstret" "fönster" "fönstren" ;
wine_N = mkN "vin" "vinet" "viner" "vinerna" ; ---- wine_N = mkN "vin" "vinet" "viner" "vinerna" ; ----
win_V2 = dirV2 (irregV "vinna" "vann" "vunnit") ; win_V2 = dirV2 (irregV "vinna" "vann" "vunnit") ;
woman_N = regN "kvinna" utrum ; woman_N = regGenN "kvinna" utrum ;
wonder_VQ = mkVQ (regV "undra") ; wonder_VQ = mkVQ (regV "undra") ;
wood_N = mkN "trä" "träet" "träen" "träena" ; ---- ? wood_N = mkN "trä" "träet" "träen" "träena" ; ---- ?
write_V2 = dirV2 (irregV "skriva" "skrev" "skrivit") ; write_V2 = dirV2 (irregV "skriva" "skrev" "skrivit") ;

View File

@@ -68,11 +68,17 @@ oper
mkN : (apa,apan,apor,aporna : Str) -> N ; mkN : (apa,apan,apor,aporna : Str) -> N ;
-- The regular function takes the singular indefinite form and the gender, -- The regular function takes the singular indefinite form and computes the other
-- and computes the other forms by a heuristic. -- forms and the gender by a heuristic. The heuristic is currently
-- to treat all words ending with "a" like "flicka", with "e" like "rike",
-- and otherwise like "bil".
-- If in doubt, use the $cc$ command to test! -- If in doubt, use the $cc$ command to test!
regN : Str -> Gender -> N ; regN : Str -> N ;
-- Adding the gender manually greatly improves the correction of $regN$.
regGenN : Str -> Gender -> N ;
-- In practice the worst case is often just: give singular and plural indefinite. -- In practice the worst case is often just: give singular and plural indefinite.
@@ -290,7 +296,14 @@ oper
} }
} ** {lock_N = <>} ; } ** {lock_N = <>} ;
regN bil g = case g of { regN bil = regGenN bil g where {
g = case <bil : Str> of {
_ + "e" => Neutr ;
_ => Utr
}
} ;
regGenN bil g = case g of {
Utr => case last bil of { Utr => case last bil of {
"a" => decl1Noun bil ; "a" => decl1Noun bil ;
_ => decl2Noun bil _ => decl2Noun bil
@@ -365,7 +378,7 @@ oper
mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ; mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
regN2 n g = mkN2 (regN n g) (mkPreposition "av") ; regN2 n g = mkN2 (regGenN n g) (mkPreposition "av") ;
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ; mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ; regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;