mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
changed regN to be always of type Str -> N
This commit is contained in:
@@ -6,51 +6,51 @@ flags
|
||||
optimize=values ;
|
||||
|
||||
lin
|
||||
airplane_N = regN "flygplan" neutrum ;
|
||||
airplane_N = regGenN "flygplan" neutrum ;
|
||||
answer_V2S = mkV2S (regV "svarar") "till" ;
|
||||
apartment_N = mk2N "lägenhet" "lägenheter" ;
|
||||
apple_N = regN "äpple" neutrum ;
|
||||
apple_N = regGenN "äpple" neutrum ;
|
||||
art_N = mk2N "konst" "konster" ;
|
||||
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";
|
||||
bank_N = mk2N "bank" "banker" ;
|
||||
beautiful_A = mk3A "vacker" "vackert" "vackrast" ;
|
||||
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" ;
|
||||
big_A = irregA "stor" "större" "störst";
|
||||
bike_N = mk2N "cykel" "cyklar" ;
|
||||
bird_N = mk2N "fågel" "fåglar" ;
|
||||
black_A = mk2A "svart" "svart" ;
|
||||
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" ;
|
||||
boot_N = mk2N "stövel" "stövlar" ;
|
||||
boss_N = mk2N "chef" "chefer" ;
|
||||
boy_N = regN "pojke" utrum ;
|
||||
bread_N = regN "bröd" neutrum ;
|
||||
boy_N = regGenN "pojke" utrum ;
|
||||
bread_N = regGenN "bröd" neutrum ;
|
||||
break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ;
|
||||
broad_A = mk2A "bred" "brett" ;
|
||||
brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ;
|
||||
brown_A = regA "brun" ;
|
||||
butter_N = regN "smör" neutrum ;
|
||||
butter_N = regGenN "smör" neutrum ;
|
||||
buy_V2 = dirV2 (mk2V "köpa" "köpte") ;
|
||||
camera_N = regN "kamera" utrum ;
|
||||
cap_N = regN "mössa" utrum ;
|
||||
car_N = regN "bil" utrum ;
|
||||
carpet_N = regN "matta" utrum ;
|
||||
camera_N = regGenN "kamera" utrum ;
|
||||
cap_N = regGenN "mössa" utrum ;
|
||||
car_N = regGenN "bil" utrum ;
|
||||
carpet_N = regGenN "matta" utrum ;
|
||||
cat_N = mk2N "katt" "katter" ;
|
||||
ceiling_N = regN "tak" neutrum ;
|
||||
chair_N = regN "stol" utrum ;
|
||||
cheese_N = regN "ost" utrum ;
|
||||
child_N = regN "barn" neutrum ;
|
||||
church_N = regN "kyrka" utrum ;
|
||||
ceiling_N = regGenN "tak" neutrum ;
|
||||
chair_N = regGenN "stol" utrum ;
|
||||
cheese_N = regGenN "ost" utrum ;
|
||||
child_N = regGenN "barn" neutrum ;
|
||||
church_N = regGenN "kyrka" utrum ;
|
||||
city_N = mkN "stad" "staden" "städer" "städerna" ;
|
||||
clean_A = regA "ren" ;
|
||||
clever_A = regA "klok" ;
|
||||
close_V2 = dirV2 (mk2V "stänga" "stängde") ;
|
||||
coat_N = regN "rock" utrum ;
|
||||
coat_N = regGenN "rock" utrum ;
|
||||
cold_A = regA "kall" ;
|
||||
come_V = komma_V ;
|
||||
computer_N = mk2N "dator" "datorer" ;
|
||||
@@ -61,49 +61,49 @@ lin
|
||||
distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ;
|
||||
dirty_A = regA "smutsig" ;
|
||||
doctor_N = mk2N "läkare" "läkare" ;
|
||||
dog_N = regN "hund" utrum ;
|
||||
door_N = regN "dörr" utrum ;
|
||||
dog_N = regGenN "hund" utrum ;
|
||||
door_N = regGenN "dörr" utrum ;
|
||||
drink_V2 = dirV2 (irregV "dricka" "drack" "druckit") ;
|
||||
easy_A2V = mkA2V (mk2A "lätt" "lätt") "för" ;
|
||||
eat_V2 = dirV2 (irregV "äta" "åt" "ätit") ;
|
||||
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" ;
|
||||
father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ;
|
||||
fear_VS = mkVS (regV "fruktar") ;
|
||||
find_V2 = dirV2 (irregV "finna" "fann" "funnit") ;
|
||||
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") ;
|
||||
fridge_N = regN "kylskåp" neutrum ;
|
||||
fridge_N = regGenN "kylskåp" neutrum ;
|
||||
friend_N = mkN "vän" "vännen" "vänner" "vännerna" ;
|
||||
fruit_N = mk2N "frukt" "frukter" ;
|
||||
fun_AV = mkAV (regA "rolig") ;
|
||||
garden_N = regN "trädgård" utrum ;
|
||||
girl_N = regN "flicka" utrum ;
|
||||
glove_N = regN "handske" utrum ;
|
||||
gold_N = regN "guld" neutrum ;
|
||||
garden_N = regGenN "trädgård" utrum ;
|
||||
girl_N = regGenN "flicka" utrum ;
|
||||
glove_N = regGenN "handske" utrum ;
|
||||
gold_N = regGenN "guld" neutrum ;
|
||||
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") ;
|
||||
green_A = regA "grön" ;
|
||||
harbour_N = regN "hamn" utrum;
|
||||
harbour_N = regGenN "hamn" utrum;
|
||||
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
|
||||
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 (depV (regV "hoppar")) ;
|
||||
horse_N = regN "häst" utrum ;
|
||||
horse_N = regGenN "häst" utrum ;
|
||||
hot_A = regA "het" ;
|
||||
house_N = regN "hus" neutrum ;
|
||||
house_N = regGenN "hus" neutrum ;
|
||||
important_A = regA "viktig" ;
|
||||
industry_N = mk2N "industri" "industrier" ; ---- "ien" ??
|
||||
iron_N = regN "järn" neutrum ;
|
||||
king_N = (regN "kung" utrum) ;
|
||||
iron_N = regGenN "järn" neutrum ;
|
||||
king_N = (regGenN "kung" utrum) ;
|
||||
know_V2 = dirV2 (mkV "veta" "vet" "vet" "visste" "vetat" "visst") ;
|
||||
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")) ;
|
||||
leather_N = mkN "läder" "lädret" "läder" "lädren" ;
|
||||
leave_V2 = dirV2 (regV "lämnar") ;
|
||||
@@ -112,34 +112,34 @@ lin
|
||||
live_V = (irregV "leva" "levde" "levt") ; ---- ?
|
||||
long_A = irregA "lång" "längre" "längst" ;
|
||||
lose_V2 = dirV2 (regV "förlora") ;
|
||||
love_N = regN "kärlek" utrum ;
|
||||
love_N = regGenN "kärlek" utrum ;
|
||||
love_V2 = dirV2 (regV "älska") ;
|
||||
man_N = (mkN "man" "mannen" "män" "männen") ;
|
||||
married_A2 = mkA2 (mk2A "gift" "gift") "med" ;
|
||||
meat_N = regN "kött" neutrum ;
|
||||
milk_N = regN "mjölk" utrum ; ---- -ar?
|
||||
moon_N = regN "måne" utrum ;
|
||||
meat_N = regGenN "kött" neutrum ;
|
||||
milk_N = regGenN "mjölk" utrum ; ---- -ar?
|
||||
moon_N = regGenN "måne" utrum ;
|
||||
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 ?
|
||||
narrow_A = regA "smal" ;
|
||||
new_A = mkA "ny" "nytt" "nya" "nya" "nyare" "nyast" "nyaste" ;
|
||||
newspaper_N = regN "tidning" utrum ;
|
||||
oil_N = regN "olja" utrum ;
|
||||
newspaper_N = regGenN "tidning" utrum ;
|
||||
oil_N = regGenN "olja" utrum ;
|
||||
old_A = mkA "gammal" "gammalt" "gamla" "gamla" "äldre" "äldst" "äldsta" ;
|
||||
open_V2 = dirV2 (regV "öppna") ;
|
||||
paint_V2A = mkV2A (regV "måla") [] ;
|
||||
paper_N = mkN "papper" "pappret" "papper" "pappren" ;
|
||||
paris_PN = regPN "Paris" neutrum ;
|
||||
peace_N = regN "fred" utrum ; ---- ar?
|
||||
pen_N = regN "penna" utrum ;
|
||||
peace_N = regGenN "fred" utrum ; ---- ar?
|
||||
pen_N = regGenN "penna" utrum ;
|
||||
planet_N = mk2N "planet" "planeter" ;
|
||||
plastic_N = mk2N "plast" "plaster" ;
|
||||
play_V2 = dirV2 (regV "spela") ;
|
||||
policeman_N = mk2N "polis" "poliser" ;
|
||||
priest_N = mk2N "präst" "präster" ;
|
||||
probable_AS = mkAS (regA "sannolik") ;
|
||||
queen_N = regN "drottning" utrum ;
|
||||
queen_N = regGenN "drottning" utrum ;
|
||||
radio_N = mkN "radio" "radion" "radioapparater" "radioapparaterna" ; -- SAOL
|
||||
rain_V0 = mkV0 (regV "regna") ;
|
||||
read_V2 = dirV2 (mk2V "läsa" "läste") ;
|
||||
@@ -148,11 +148,11 @@ lin
|
||||
restaurant_N = mk2N "restaurang" "restauranger" ;
|
||||
river_N = mkN "å" "ån" "åar" "åarna" ;
|
||||
rock_N = mkN "sten" "stenen" "stenar" "stenarna" ;
|
||||
roof_N = regN "tak" neutrum ;
|
||||
roof_N = regGenN "tak" neutrum ;
|
||||
rubber_N = mkN "gummi" "gummit" "gummin" "gummina" ;
|
||||
run_V = (irregV "springa" "sprang" "sprungit") ;
|
||||
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" ;
|
||||
sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
|
||||
seek_V2 = dirV2 (mk2V "söka" "sökte") ;
|
||||
@@ -160,8 +160,8 @@ lin
|
||||
sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ;
|
||||
send_V3 = dirV3 (regV "skicka") "till" ;
|
||||
sheep_N = mk2N "får" "får" ;
|
||||
ship_N = regN "skepp" neutrum ;
|
||||
shirt_N = regN "skjorta" utrum ;
|
||||
ship_N = regGenN "skepp" neutrum ;
|
||||
shirt_N = regGenN "skjorta" utrum ;
|
||||
shoe_N = mk2N "sko" "skor" ;
|
||||
shop_N = mk2N "affär" "affären" ;
|
||||
short_A = regA "kort" ;
|
||||
@@ -169,44 +169,44 @@ lin
|
||||
sister_N = mk2N "syster" "systrar" ;
|
||||
sleep_V = (irregV "sova" "sov" "sovit") ;
|
||||
small_A = mkA "liten" "litet" "lilla" "små" "mindre" "minst" "minsta" ;
|
||||
snake_N = regN "orm" utrum ;
|
||||
sock_N = regN "strumpa" utrum ;
|
||||
snake_N = regGenN "orm" utrum ;
|
||||
sock_N = regGenN "strumpa" utrum ;
|
||||
speak_V2 = dirV2 (regV "tala") ;
|
||||
star_N = regN "stjärna" utrum ;
|
||||
steel_N = regN "stål" utrum ;
|
||||
star_N = regGenN "stjärna" utrum ;
|
||||
steel_N = regGenN "stål" utrum ;
|
||||
stone_N = mkN "sten" "stenen" "stenar" "stenarna" ;
|
||||
stove_N = regN "spis" utrum ;
|
||||
stove_N = regGenN "spis" utrum ;
|
||||
student_N = mk2N "student" "studenter" ;
|
||||
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") ;
|
||||
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" ;
|
||||
teacher_N = mk2N "lärare" "lärare" ;
|
||||
teach_V2 = dirV2 (regV "undervisa") ;
|
||||
television_N = mk2N "television" "televisioner" ;
|
||||
thick_A = regA "tjock" ;
|
||||
thin_A = mk2A "tunn" "tunt" ;
|
||||
train_N = regN "tåg" neutrum ;
|
||||
train_N = regGenN "tåg" neutrum ;
|
||||
travel_V = mk2V "resa" "reste" ;
|
||||
tree_N = regN "träd" neutrum ;
|
||||
---- trousers_N = regN "trousers" ; ---- pl t !
|
||||
tree_N = regGenN "träd" neutrum ;
|
||||
---- trousers_N = regGenN "trousers" ; ---- pl t !
|
||||
ugly_A = regA "ful" ;
|
||||
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" ;
|
||||
wait_V2 = mkV2 (regV "vänta") "på" ;
|
||||
walk_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
|
||||
warm_A = regA "varm" ;
|
||||
war_N = regN "krig" neutrum ;
|
||||
war_N = regGenN "krig" neutrum ;
|
||||
watch_V2 = mkV2 (regV "titta") "på" ;
|
||||
water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ;
|
||||
white_A = regA "vit" ;
|
||||
window_N = mkN "fönster" "fönstret" "fönster" "fönstren" ;
|
||||
wine_N = mkN "vin" "vinet" "viner" "vinerna" ; ----
|
||||
win_V2 = dirV2 (irregV "vinna" "vann" "vunnit") ;
|
||||
woman_N = regN "kvinna" utrum ;
|
||||
woman_N = regGenN "kvinna" utrum ;
|
||||
wonder_VQ = mkVQ (regV "undra") ;
|
||||
wood_N = mkN "trä" "träet" "träen" "träena" ; ---- ?
|
||||
write_V2 = dirV2 (irregV "skriva" "skrev" "skrivit") ;
|
||||
|
||||
@@ -68,11 +68,17 @@ oper
|
||||
|
||||
mkN : (apa,apan,apor,aporna : Str) -> N ;
|
||||
|
||||
-- The regular function takes the singular indefinite form and the gender,
|
||||
-- and computes the other forms by a heuristic.
|
||||
-- The regular function takes the singular indefinite form and computes the other
|
||||
-- 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!
|
||||
|
||||
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.
|
||||
|
||||
@@ -290,7 +296,14 @@ oper
|
||||
}
|
||||
} ** {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 {
|
||||
"a" => decl1Noun bil ;
|
||||
_ => decl2Noun bil
|
||||
@@ -365,7 +378,7 @@ oper
|
||||
|
||||
|
||||
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} ;
|
||||
|
||||
regPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
|
||||
|
||||
Reference in New Issue
Block a user