mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
started BasicGer
This commit is contained in:
@@ -30,7 +30,7 @@ oper
|
||||
postfixSS : Str -> SS -> SS = \f,x -> ss (x.s ++ f) ;
|
||||
embedSS : Str -> Str -> SS -> SS = \f,g,x -> ss (f ++ x.s ++ g) ;
|
||||
|
||||
id : (A : Type) -> A -> A ;
|
||||
id : (A : Type) -> A -> A = \_,a -> a ;
|
||||
|
||||
-- discontinuous
|
||||
SD2 = {s1,s2 : Str} ;
|
||||
|
||||
@@ -1,225 +1,228 @@
|
||||
----# -path=.:prelude
|
||||
--
|
||||
--concrete BasicGer of Basic = CatGer ** open ParadigmsGer in {
|
||||
--
|
||||
--flags
|
||||
-- startcat=Phr ; lexer=textlit ; unlexer=text ;
|
||||
-- optimize=all ;
|
||||
--
|
||||
--lin
|
||||
-- airplane_N = regN "airplane" ;
|
||||
-- answer_V2S = mkV2S (regV "answer") "to" ;
|
||||
-- apartment_N = regN "apartment" ;
|
||||
-- apple_N = regN "apple" ;
|
||||
-- art_N = regN "art" ;
|
||||
-- ask_V2Q = mkV2Q (regV "ask") [] ;
|
||||
-- baby_N = regN "baby" ;
|
||||
-- bad_A = regADeg "bad" ;
|
||||
-- bank_N = regN "bank" ;
|
||||
-- beautiful_A = regADeg "beautiful" ;
|
||||
-- become_VA = mkVA (irregV "become" "became" "become") ;
|
||||
-- beer_N = regN "beer" ;
|
||||
-- beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
|
||||
-- big_A = regADeg "big" ;
|
||||
-- bike_N = regN "bike" ;
|
||||
-- bird_N = regN "bird" ;
|
||||
-- black_A = regADeg "black" ;
|
||||
-- blue_A = regADeg "blue" ;
|
||||
-- boat_N = regN "boat" ;
|
||||
-- book_N = regN "book" ;
|
||||
-- boot_N = regN "boot" ;
|
||||
-- boss_N = regN "boss" ;
|
||||
-- boy_N = regN "boy" ;
|
||||
-- bread_N = regN "bread" ;
|
||||
-- break_V2 = dirV2 (irregV "break" "broke" "broken") ;
|
||||
-- broad_A = regADeg "broad" ;
|
||||
-- brother_N2 = regN2 "brother" ;
|
||||
-- brown_A = regADeg "brown" ;
|
||||
-- butter_N = regN "butter" ;
|
||||
-- buy_V2 = dirV2 (irregV "buy" "bought" "bought") ;
|
||||
-- camera_N = regN "camera" ;
|
||||
-- cap_N = regN "cap" ;
|
||||
-- car_N = regN "car" ;
|
||||
-- carpet_N = regN "carpet" ;
|
||||
-- cat_N = regN "cat" ;
|
||||
-- ceiling_N = regN "ceiling" ;
|
||||
-- chair_N = regN "chair" ;
|
||||
-- cheese_N = regN "cheese" ;
|
||||
-- child_N = mk2N "child" "children" ;
|
||||
-- church_N = regN "church" ;
|
||||
-- city_N = regN "city" ;
|
||||
-- clean_A = regADeg "clean" ;
|
||||
-- clever_A = regADeg "clever" ;
|
||||
-- close_V2 = dirV2 (regV "close") ;
|
||||
-- coat_N = regN "coat" ;
|
||||
-- cold_A = regADeg "cold" ;
|
||||
-- come_V = (irregV "come" "came" "come") ;
|
||||
-- computer_N = regN "computer" ;
|
||||
-- country_N = regN "country" ;
|
||||
-- cousin_N = regN "cousin" ;
|
||||
-- cow_N = regN "cow" ;
|
||||
-- die_V = (regV "die") ;
|
||||
-- dirty_A = regADeg "dirty" ;
|
||||
-- distance_N3 = mkN3 (regN "distance") "from" "to" ;
|
||||
-- doctor_N = regN "doctor" ;
|
||||
-- dog_N = regN "dog" ;
|
||||
-- door_N = regN "door" ;
|
||||
-- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
|
||||
-- easy_A2V = mkA2V (regA "easy") "for" ;
|
||||
-- eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
||||
-- empty_A = regADeg "empty" ;
|
||||
-- enemy_N = regN "enemy" ;
|
||||
-- factory_N = regN "factory" ;
|
||||
-- father_N2 = regN2 "father" ;
|
||||
-- fear_VS = mkVS (regV "fear") ;
|
||||
-- find_V2 = dirV2 (irregV "find" "found" "found") ;
|
||||
-- fish_N = mk2N "fish" "fish" ;
|
||||
-- floor_N = regN "floor" ;
|
||||
-- forget_V2 = dirV2 (irregV "forget" "forgot" "forgotten") ;
|
||||
-- fridge_N = regN "fridge" ;
|
||||
-- friend_N = regN "friend" ;
|
||||
-- fruit_N = regN "fruit" ;
|
||||
-- fun_AV = mkAV (regA "fun") ;
|
||||
-- garden_N = regN "garden" ;
|
||||
-- girl_N = regN "girl" ;
|
||||
-- glove_N = regN "glove" ;
|
||||
-- gold_N = regN "gold" ;
|
||||
-- good_A = mkADeg "good" "well" "better" "best" ;
|
||||
-- go_V = (mkV "go" "goes" "went" "gone" "going") ;
|
||||
-- green_A = regADeg "green" ;
|
||||
-- harbour_N = regN "harbour" ;
|
||||
-- hate_V2 = dirV2 (regV "hate") ;
|
||||
-- hat_N = regN "hat" ;
|
||||
-- have_V2 = dirV2 (mkV "have" "has" "had" "had" "having") ;
|
||||
-- hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
||||
-- hill_N = regN "hill" ;
|
||||
-- hope_VS = mkVS (regV "hope") ;
|
||||
-- horse_N = regN "horse" ;
|
||||
-- hot_A = regADeg "hot" ;
|
||||
-- house_N = regN "house" ;
|
||||
-- important_A = compoundADeg (regA "important") ;
|
||||
-- industry_N = regN "industry" ;
|
||||
-- iron_N = regN "iron" ;
|
||||
-- king_N = regN "king" ;
|
||||
-- know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
||||
-- lake_N = regN "lake" ;
|
||||
-- lamp_N = regN "lamp" ;
|
||||
-- learn_V2 = dirV2 (regV "learn") ;
|
||||
-- leather_N = regN "leather" ;
|
||||
-- leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
||||
-- like_V2 = dirV2 (regV "like") ;
|
||||
-- listen_V2 = dirV2 (regV "listen") ;
|
||||
-- live_V = (regV "live") ;
|
||||
-- long_A = regADeg "long" ;
|
||||
-- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
||||
-- love_N = regN "love" ;
|
||||
-- love_V2 = dirV2 (regV "love") ;
|
||||
-- man_N = mk2N "man" "men" ;
|
||||
-- married_A2 = mkA2 (regA "married") "to" ;
|
||||
-- meat_N = regN "meat" ;
|
||||
-- milk_N = regN "milk" ;
|
||||
-- moon_N = regN "moon" ;
|
||||
-- mother_N2 = regN2 "mother" ;
|
||||
-- mountain_N = regN "mountain" ;
|
||||
-- music_N = regN "music" ;
|
||||
-- narrow_A = regADeg "narrow" ;
|
||||
-- new_A = regADeg "new" ;
|
||||
-- newspaper_N = regN "newspaper" ;
|
||||
-- oil_N = regN "oil" ;
|
||||
-- old_A = regADeg "old" ;
|
||||
-- open_V2 = dirV2 (regV "open") ;
|
||||
-- paint_V2A = mkV2A (regV "paint") [] ;
|
||||
-- paper_N = regN "paper" ;
|
||||
-- peace_N = regN "peace" ;
|
||||
-- pen_N = regN "pen" ;
|
||||
-- planet_N = regN "planet" ;
|
||||
-- plastic_N = regN "plastic" ;
|
||||
-- play_V2 = dirV2 (regV "play") ;
|
||||
-- policeman_N = regN "policeman" ;
|
||||
-- priest_N = regN "priest" ;
|
||||
-- probable_AS = mkAS (regA "probable") ;
|
||||
-- queen_N = regN "queen" ;
|
||||
-- radio_N = regN "radio" ;
|
||||
-- rain_V0 = mkV0 (regV "rain") ;
|
||||
-- read_V2 = dirV2 (irregV "read" "read" "read") ;
|
||||
-- red_A = regADeg "red" ;
|
||||
-- religion_N = regN "religion" ;
|
||||
-- restaurant_N = regN "restaurant" ;
|
||||
-- river_N = regN "river" ;
|
||||
-- rock_N = regN "rock" ;
|
||||
-- roof_N = regN "roof" ;
|
||||
-- rubber_N = regN "rubber" ;
|
||||
-- run_V = (irregDuplV "run" "ran" "run") ;
|
||||
-- say_VS = mkVS (irregV "say" "said" "said") ;
|
||||
-- school_N = regN "school" ;
|
||||
-- science_N = regN "science" ;
|
||||
-- sea_N = regN "sea" ;
|
||||
-- seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
||||
-- see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
||||
-- sell_V3 = dirV3 (irregV "sell" "sold" "sold") "to" ;
|
||||
-- send_V3 = dirV3 (irregV "send" "sent" "sent") "to" ;
|
||||
-- sheep_N = mk2N "sheep" "sheep" ;
|
||||
-- ship_N = regN "ship" ;
|
||||
-- shirt_N = regN "shirt" ;
|
||||
-- shoe_N = regN "shoe" ;
|
||||
-- shop_N = regN "shop" ;
|
||||
-- short_A = regADeg "short" ;
|
||||
-- silver_N = regN "silver" ;
|
||||
-- sister_N = regN "sister" ;
|
||||
-- sleep_V = (irregV "sleep" "slept" "slept") ;
|
||||
-- small_A = regADeg "small" ;
|
||||
-- snake_N = regN "snake" ;
|
||||
-- sock_N = regN "sock" ;
|
||||
-- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
||||
-- star_N = regN "star" ;
|
||||
-- steel_N = regN "steel" ;
|
||||
-- stone_N = regN "stone" ;
|
||||
-- stove_N = regN "stove" ;
|
||||
-- student_N = regN "student" ;
|
||||
-- stupid_A = regADeg "stupid" ;
|
||||
-- sun_N = regN "sun" ;
|
||||
-- switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
||||
-- switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
||||
-- table_N = regN "table" ;
|
||||
-- talk_V3 = mkV3 (regV "talk") "to" "about" ;
|
||||
-- teacher_N = regN "teacher" ;
|
||||
-- teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
||||
-- television_N = regN "television" ;
|
||||
-- thick_A = regADeg "thick" ;
|
||||
-- thin_A = regADeg "thin" ;
|
||||
-- train_N = regN "train" ;
|
||||
-- travel_V = (regDuplV "travel") ;
|
||||
-- tree_N = regN "tree" ;
|
||||
-- ---- trousers_N = regN "trousers" ;
|
||||
-- ugly_A = regADeg "ugly" ;
|
||||
-- understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
||||
-- university_N = regN "university" ;
|
||||
-- village_N = regN "village" ;
|
||||
-- wait_V2 = mkV2 (regV "wait") "for" ;
|
||||
-- walk_V = (regV "walk") ;
|
||||
-- warm_A = regADeg "warm" ;
|
||||
-- war_N = regN "war" ;
|
||||
-- watch_V2 = dirV2 (regV "watch") ;
|
||||
-- water_N = regN "water" ;
|
||||
-- white_A = regADeg "white" ;
|
||||
-- window_N = regN "window" ;
|
||||
-- wine_N = regN "wine" ;
|
||||
-- win_V2 = dirV2 (irregV "win" "won" "won") ;
|
||||
-- woman_N = mk2N "woman" "women" ;
|
||||
-- wonder_VQ = mkVQ (regV "wonder") ;
|
||||
-- wood_N = regN "wood" ;
|
||||
-- write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
||||
-- yellow_A = regADeg "yellow" ;
|
||||
-- young_A = regADeg "young" ;
|
||||
--
|
||||
-- do_V2 = dirV2 (mkV "do" "does" "did" "done" "doing") ;
|
||||
-- now_Adv = mkAdv "now" ;
|
||||
-- already_Adv = mkAdv "already" ;
|
||||
-- song_N = regN "song" ;
|
||||
-- add_V3 = dirV3 (regV "add") "to" ;
|
||||
-- number_N = regN "number" ;
|
||||
-- put_V2 = mkV2 (irregDuplV "put" "put" "put") [] ;
|
||||
-- stop_V = regDuplV "stop" ;
|
||||
-- jump_V = regV "jump" ;
|
||||
--
|
||||
--} ;
|
||||
--# -path=.:../common:../abstract:../../prelude
|
||||
|
||||
concrete BasicGer of Basic = CatGer ** open ParadigmsGer in {
|
||||
|
||||
flags
|
||||
optimize=values ;
|
||||
|
||||
lin
|
||||
airplane_N = regN "Flugzeug" ;
|
||||
answer_V2S = mkV2S (regV "antworten") datPrep ;
|
||||
apartment_N = regN "Wohnung" ;
|
||||
apple_N = reg2N "Apfel" "Äpfel" masculine ;
|
||||
art_N = reg2N "Kunst" "Künste" feminine ;
|
||||
ask_V2Q = mkV2Q (regV "fragen") accPrep ;
|
||||
baby_N = reg2N "Baby" "babies" neuter ; ----
|
||||
bad_A = regA "schlecht" ;
|
||||
bank_N = reg2N "Bank" "Banken" feminine ; ----
|
||||
beautiful_A = regA "schön" ;
|
||||
become_VA = mkVA (mkV "werden" "wird" "werd" "wurde" "würde" "geworden") ;
|
||||
beer_N = reg2N "Bier" "Biere" neuter ;
|
||||
---- beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ;
|
||||
big_A = mkA "groß" "groß" "größer""größt" ;
|
||||
bike_N = reg2N "Fahrrad" "Fahrräder" neuter ;
|
||||
---- bird_N = reg2N "fågel" "fåglar" ;
|
||||
black_A = regA "schwarz" ;
|
||||
blue_A = regA "blau";
|
||||
boat_N = reg2N "Boot" "Boote" neuter ;
|
||||
book_N = reg2N "Buch" "Bücher" neuter ;
|
||||
-- boot_N = reg2N "stövel" "stövlar" ;
|
||||
boss_N = reg2N "Chef" "Chefe" masculine ; ----
|
||||
boy_N = reg2N "Junge" "Jungen" masculine ;
|
||||
bread_N = reg2N "Brot" "Brote" neuter ; ----
|
||||
break_V2 = dirV2 (prefixV "zer"
|
||||
(irregV "schlagen" "schlägt" "schlug" "schlüge" "geschlagen")) ;
|
||||
broad_A = regA "breit" ;
|
||||
brother_N2 = mkN2 (reg2N "Bruder" "Brüder" masculine) zu_Prep ; ----
|
||||
brown_A = regA "braun" ;
|
||||
---- butter_N = regN "smör" ;
|
||||
buy_V2 = dirV2 (regV "kaufen") ;
|
||||
---- camera_N = regN "kamera" ;
|
||||
cap_N = regN "Mütze" ;
|
||||
car_N = reg2N "Wagen" "Wagen" masculine ;
|
||||
carpet_N = reg2N "Teppich" "Teppiche" masculine ;
|
||||
cat_N = regN "Katze" ;
|
||||
---- ceiling_N = regN "tak" ;
|
||||
chair_N = reg2N "Stuhl" "Stühle" masculine ;
|
||||
cheese_N = regN "Käse" ;
|
||||
child_N = reg2N "Kind" "Kinder" neuter ;
|
||||
church_N = regN "Kirche" ;
|
||||
city_N = reg2N "Stadt" "Städte" feminine ;
|
||||
clean_A = regA "rein" ;
|
||||
clever_A = regA "klug" ; ----
|
||||
close_V2 = dirV2 (irregV "schliessen" "schließt" "schloß" "schlöße" "geschlossen") ;
|
||||
coat_N = regN "Jacke" ;
|
||||
cold_A = regA "Kalt" ;
|
||||
{-
|
||||
come_V = (mkV "komma" "kommer" "kom" "kom" "kommit" "kommen") ;
|
||||
computer_N = reg2N "dator" "datorer" ;
|
||||
country_N = mkN "land" "landet" "länder" "länderna" ;
|
||||
cousin_N = reg2N "kusin" "kusinerna" ;
|
||||
cow_N = reg2N "ko" "kor" ;
|
||||
die_V = (mkV "dö" "dör" "dö" "dog" "dött" "dödd") ; ----
|
||||
distance_N3 = mkN3 (reg2N "avstånd" "avstånd") "från" "till" ;
|
||||
dirty_A = regADeg "smutsig" ;
|
||||
doctor_N = reg2N "läkare" "läkare" ;
|
||||
dog_N = regN "hund" ;
|
||||
door_N = regN "dörr" ;
|
||||
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 = mkADeg "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ;
|
||||
enemy_N = regN "fiende" ;
|
||||
factory_N = reg2N "fabrik" "fabriker" ;
|
||||
father_N2 = mkN2 ((mkN "far" "fadern" "fäder" "fäderna")) "till" ;
|
||||
fear_VS = mkVS (regV "frukta") ;
|
||||
find_V2 = dirV2 (irregV "finna" "fann" "funnit") ;
|
||||
fish_N = reg2N "fisk" "fiskar" ;
|
||||
floor_N = regN "golv" ;
|
||||
forget_V2 = dirV2 (mkV "glömma" "glömmer" "glöm" "glömde" "glömt" "glömd") ;
|
||||
fridge_N = regN "kylskåp" ;
|
||||
friend_N = mkN "vän" "vännen" "vänner" "vännerna" ;
|
||||
fruit_N = reg2N "frukt" "frukter" ;
|
||||
fun_AV = mkAV (regA "rolig") ;
|
||||
garden_N = regN "trädgård" ;
|
||||
girl_N = regN "flicka" ;
|
||||
glove_N = regN "handske" ;
|
||||
gold_N = regN "guld" ;
|
||||
good_A = mkADeg "god" "gott" "goda" "goda" "bättre" "bäst" "bästa" ;
|
||||
go_V = (mkV "gå" "går" "gå" "gick" "gått" "gången") ;
|
||||
green_A = regADeg "grön" ;
|
||||
harbour_N = regN "hamn";
|
||||
hate_V2 = dirV2 (regV "hata") ;
|
||||
hat_N = regN "hatt" ;
|
||||
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" ;
|
||||
hope_VS = mkVS ((regV "önska")) ;
|
||||
---- hope_VS = mkVS (depV (regV "hoppas")) ;
|
||||
horse_N = regN "häst" ;
|
||||
hot_A = regADeg "het" ;
|
||||
house_N = regN "hus" ;
|
||||
important_A = regADeg "viktig" ;
|
||||
industry_N = reg2N "industri" "industrier" ; ---- "ien" ??
|
||||
iron_N = regN "järn" ;
|
||||
king_N = (regN "kung") ;
|
||||
know_V2 = dirV2 (mkV "veta" "vet" "vet" "visste" "vetat" "visst") ;
|
||||
lake_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
|
||||
lamp_N = regN "lampa";
|
||||
learn_V2 = dirV2 (mkV "lära" "lär" "lär" "lärde" "lärt" "lärd") ; ---- refl!
|
||||
leather_N = mkN "läder" "lädret" "läder" "lädren" ;
|
||||
leave_V2 = dirV2 (regV "lämna") ;
|
||||
like_V2 = mkV2 (mk2V "tycka" "tyckte") "om" ;
|
||||
listen_V2 = mkV2 (regV "lyssna") "på" ;
|
||||
live_V = (irregV "leva" "levde" "levt") ; ---- ?
|
||||
long_A = irregADeg "lång" "längre" "längst" ;
|
||||
lose_V2 = dirV2 (regV "förlora") ;
|
||||
love_N = regN "kärlek" ;
|
||||
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" ;
|
||||
milk_N = regN "mjölk" ; ---- -ar?
|
||||
moon_N = regN "måne" ;
|
||||
mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ;
|
||||
mountain_N = regN "berg" ;
|
||||
music_N = reg2N "musik" "musiker" ; ---- er ?
|
||||
narrow_A = regADeg "smal" ;
|
||||
new_A = mkADeg "ny" "nytt" "nya" "nya" "nyare" "nyast" "nyaste" ;
|
||||
newspaper_N = regN "tidning" ;
|
||||
|
||||
oil_N = regN "olja" ;
|
||||
old_A = mkADeg "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" ;
|
||||
peace_N = regN "fred" ; ---- ar?
|
||||
pen_N = regN "penna" ;
|
||||
planet_N = reg2N "planet" "planeter" ;
|
||||
plastic_N = reg2N "plast" "plaster" ;
|
||||
play_V2 = dirV2 (regV "spela") ;
|
||||
policeman_N = reg2N "polis" "poliser" ;
|
||||
priest_N = reg2N "präst" "präster" ;
|
||||
probable_AS = mkAS (regA "sannolik") ;
|
||||
queen_N = regN "drottning" ;
|
||||
radio_N = regN "radio" ; ----
|
||||
rain_V0 = mkV0 (regV "regna") ;
|
||||
read_V2 = dirV2 (mk2V "läsa" "läste") ;
|
||||
red_A = mk2ADeg "röd" "rött" ;
|
||||
religion_N = reg2N "religion" "religioner" ;
|
||||
restaurant_N = reg2N "restaurang" "restauranger" ;
|
||||
river_N = mkN "å" "ån" "åar" "åarna" ;
|
||||
rock_N = regN "sten" ;
|
||||
roof_N = regN "tak" ;
|
||||
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";
|
||||
science_N = reg2N "vetenskap" "vetenskaper" ;
|
||||
sea_N = mkN "sjö" "sjön" "sjöar" "sjöarna" ;
|
||||
seek_V2 = dirV2 (mk2V "söka" "sökte") ;
|
||||
see_V2 = dirV2 (mkV "se" "ser" "se" "såg" "sett" "sedd") ;
|
||||
sell_V3 = dirV3 (irregV "sälja" "sålde" "sålt") "till" ;
|
||||
send_V3 = dirV3 (regV "skicka") "till" ;
|
||||
sheep_N = reg2N "får" "får" ;
|
||||
ship_N = regN "skepp" ;
|
||||
shirt_N = regN "skjorta" ;
|
||||
shoe_N = regN "sko" ;
|
||||
shop_N = reg2N "affär" "affären" ;
|
||||
short_A = regADeg "kort" ;
|
||||
silver_N = mkN "silver" "silvret" "silver" "silvren" ;
|
||||
sister_N = reg2N "syster" "systrar" ;
|
||||
sleep_V = (irregV "sova" "sov" "sovit") ;
|
||||
small_A = mkADeg "liten" "litet" "lilla" "små" "mindre" "minst" "minsta" ;
|
||||
snake_N = regN "orm" ;
|
||||
sock_N = regN "strumpa" ;
|
||||
speak_V2 = dirV2 (regV "tala") ;
|
||||
star_N = regN "stjärna" ;
|
||||
steel_N = regN "stål" ;
|
||||
stone_N = regN "sten" ;
|
||||
stove_N = regN "spis" ;
|
||||
student_N = reg2N "student" "studenter" ;
|
||||
stupid_A = mk3ADeg "dum" "dumt" "dumma" ;
|
||||
sun_N = regN "sol" ;
|
||||
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" ;
|
||||
talk_V3 = mkV3 (regV "prata") "till" "om" ;
|
||||
teacher_N = reg2N "lärare" "lärare" ;
|
||||
teach_V2 = dirV2 (regV "undervisa") ;
|
||||
television_N = reg2N "television" "televisioner" ;
|
||||
thick_A = regADeg "tjock" ;
|
||||
thin_A = mk2ADeg "tunn" "tunt" ;
|
||||
train_N = regN "tåg" ;
|
||||
travel_V = mk2V "resa" "reste" ;
|
||||
tree_N = regN "träd" ;
|
||||
---- trousers_N = regN "trousers" ; ---- pl t !
|
||||
ugly_A = regADeg "ful" ;
|
||||
understand_V2 = dirV2 (mkV "förstå" "förstår" "förstå" "förstod" "förstått" "förstådd") ;
|
||||
university_N = regN "universitet" ;
|
||||
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 = regADeg "varm" ;
|
||||
war_N = regN "krig" ;
|
||||
watch_V2 = mkV2 (regV "titta") "på" ;
|
||||
water_N = mkN "vatten" "vattnet" "vatten" "vattnen" ;
|
||||
white_A = regADeg "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" ;
|
||||
wonder_VQ = mkVQ (regV "undra") ;
|
||||
wood_N = mkN "trä" "träet" "träen" "träena" ; ---- ?
|
||||
write_V2 = dirV2 (irregV "skriva" "skrev" "skrivit") ;
|
||||
yellow_A = regADeg "gul" ;
|
||||
young_A = irregADeg "ung" "yngre" "yngst" ;
|
||||
|
||||
do_V2 = dirV2 (mkV "göra" "gör" "gör" "gjorde" "gjort" "gjord") ;
|
||||
now_Adv = mkAdv "nu" ;
|
||||
already_Adv = mkAdv "redan" ;
|
||||
song_N = reg2N "sång" "sånger" ;
|
||||
add_V3 = mkV3 (partV (irregV "lägga" "lade" "lagt") "till") [] "till" ;
|
||||
number_N = mkN "nummer" "numret" "numren" "numren" ;
|
||||
put_V2 = mkV2 (mkV "sätta" "sätter" "sätt" "satte" "satt" "satt") [] ;
|
||||
stop_V = regV "stanna" ;
|
||||
jump_V = regV "hoppa" ;
|
||||
-}
|
||||
} ;
|
||||
|
||||
@@ -107,7 +107,7 @@ oper
|
||||
|
||||
-- Adjectives need four forms: two for the positive and one for the other degrees.
|
||||
|
||||
mkA : (x1,_,_,x4 : Str) -> A ; -- gut,gute,besser,best
|
||||
mkA : (x1,_,_,x4 : Str) -> A ; -- gut,gut,besser,best
|
||||
|
||||
-- The regular adjective formation works for most cases, and includes
|
||||
-- variations such as "teuer - teurer", "böse - böser".
|
||||
@@ -127,7 +127,17 @@ oper
|
||||
-- A preposition is formed from a string and a case.
|
||||
|
||||
mkPrep : Str -> Case -> Prep ;
|
||||
|
||||
-- Often just a case with the empty string is enough.
|
||||
|
||||
accPrep : Prep ;
|
||||
datPrep : Prep ;
|
||||
genPrep : Prep ;
|
||||
|
||||
-- A couple of common prepositions (always with the dative).
|
||||
|
||||
von_Prep : Prep ;
|
||||
zu_Prep : Prep ;
|
||||
|
||||
--2 Verbs
|
||||
|
||||
@@ -167,12 +177,13 @@ oper
|
||||
|
||||
--3 Two-place verbs
|
||||
--
|
||||
-- Two-place verbs need a preposition, except the special case with direct object.
|
||||
-- (transitive verbs). Notice that a particle comes from the $V$.
|
||||
-- Two-place verbs need a preposition, except the special case with direct object
|
||||
-- (accusative, transitive verbs). There is also a case for dative objects.
|
||||
|
||||
mkV2 : V -> Prep -> V2 ;
|
||||
|
||||
dirV2 : V -> V2 ;
|
||||
datV2 : V -> V2 ;
|
||||
|
||||
--3 Three-place verbs
|
||||
--
|
||||
@@ -286,6 +297,11 @@ oper
|
||||
mkA2 = \a,p -> a ** {c2 = p ; lock_A2 = <>} ;
|
||||
|
||||
mkPrep s c = {s = s ; c = c ; lock_Prep = <>} ;
|
||||
accPrep = mkPrep [] accusative ;
|
||||
datPrep = mkPrep [] dative ;
|
||||
genPrep = mkPrep [] genitive ;
|
||||
von_Prep = mkPrep "von" dative ;
|
||||
zu_Prep = mkPrep "zu" dative ;
|
||||
|
||||
mkV geben gibt gib gab gaebe gegeben =
|
||||
let
|
||||
@@ -316,6 +332,30 @@ oper
|
||||
in
|
||||
mkV singen singt sing sang saenge gesungen ;
|
||||
|
||||
prefixV p v = {s = v.s ; prefix = p ; lock_V = v.lock_V ; aux = v.aux} ;
|
||||
habenV v = {s = v.s ; prefix = v.prefix ; lock_V = v.lock_V ; aux = VHaben} ;
|
||||
seinV v = {s = v.s ; prefix = v.prefix ; lock_V = v.lock_V ; aux = VSein} ;
|
||||
|
||||
no_geV v = let vs = v.s in {
|
||||
s = table {
|
||||
p@(VPastPart _) => Predef.drop 2 (vs ! p) ;
|
||||
p => vs ! p
|
||||
} ;
|
||||
prefix = v.prefix ; lock_V = v.lock_V ; aux = v.aux
|
||||
} ;
|
||||
|
||||
mkV2 v c = v ** {c2 = c ; lock_V2 = <>} ;
|
||||
dirV2 v = mkV2 v (mkPrep [] accusative) ;
|
||||
datV2 v = mkV2 v (mkPrep [] dative) ;
|
||||
|
||||
mkV3 v c d = v ** {c2 = c ; c3 = d ; lock_V3 = <>} ;
|
||||
dirV3 v p = mkV3 v (mkPrep [] accusative) p ;
|
||||
accdatV3 v = dirV3 v (mkPrep [] dative) ;
|
||||
|
||||
mkVS v = v ** {lock_VS = <>} ;
|
||||
mkVQ v = v ** {lock_VQ = <>} ;
|
||||
mkVV v = v ** {isAux = False ; lock_VV = <>} ;
|
||||
|
||||
V0 : Type = V ;
|
||||
V2S, V2V, V2Q, V2A : Type = V2 ;
|
||||
AS, A2S, AV : Type = A ;
|
||||
|
||||
@@ -203,3 +203,5 @@ ParamGer: removed Strong/Weak from AForm to save lexicon storage. Done in agrAdj
|
||||
Only affects NounGer and QuestionGer. Notice that making case analysis on <a,gn,c> is
|
||||
much less storage-efficient.
|
||||
|
||||
ParadigmsGer: completed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user