From 203fc87319be721d52e9b100638775df1d23603a Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 8 Dec 2005 15:40:50 +0000 Subject: [PATCH] almost completed Swedish --- lib/resource-1.0/english/ParadigmsEng.gf | 6 +- lib/resource-1.0/scandinavian/CatScand.gf | 7 +- lib/resource-1.0/scandinavian/DiffScand.gf | 3 + lib/resource-1.0/scandinavian/ResScand.gf | 8 +- lib/resource-1.0/scandinavian/TensedScand.gf | 20 +- lib/resource-1.0/swedish/BasicSwe.gf | 227 +++++++++++++++++++ lib/resource-1.0/swedish/LangSwe.gf | 21 ++ lib/resource-1.0/swedish/StructuralSwe.gf | 191 ++++++++++++++++ lib/resource-1.0/swedish/TensedSwe.gf | 2 + 9 files changed, 465 insertions(+), 20 deletions(-) create mode 100644 lib/resource-1.0/swedish/BasicSwe.gf create mode 100644 lib/resource-1.0/swedish/LangSwe.gf create mode 100644 lib/resource-1.0/swedish/StructuralSwe.gf create mode 100644 lib/resource-1.0/swedish/TensedSwe.gf diff --git a/lib/resource-1.0/english/ParadigmsEng.gf b/lib/resource-1.0/english/ParadigmsEng.gf index fff368a0c..3d13cc818 100644 --- a/lib/resource-1.0/english/ParadigmsEng.gf +++ b/lib/resource-1.0/english/ParadigmsEng.gf @@ -249,9 +249,9 @@ oper -- Three-place (ditransitive) verbs need two prepositions, of which -- the first one or both can be absent. - mkV3 : V -> Str -> Str -> V3 ; -- speak, with, about - dirV3 : V -> Str -> V3 ; -- give,_,to - dirdirV3 : V -> V3 ; -- give,_,_ + mkV3 : V -> Preposition -> Preposition -> V3 ; -- speak, with, about + dirV3 : V -> Preposition -> V3 ; -- give,_,to + dirdirV3 : V -> V3 ; -- give,_,_ --3 Other complement patterns -- diff --git a/lib/resource-1.0/scandinavian/CatScand.gf b/lib/resource-1.0/scandinavian/CatScand.gf index e2edb6515..002d46037 100644 --- a/lib/resource-1.0/scandinavian/CatScand.gf +++ b/lib/resource-1.0/scandinavian/CatScand.gf @@ -39,8 +39,9 @@ incomplete concrete CatScand of Cat = SC = {s : Str} ; -- always Sub - A = {s : AForm => Str} ; - A2 = {s : AForm => Str} ** {c2 : Str} ; + A = Adjective ; + -- {s : AForm => Str} ; + A2 = Adjective ** {c2 : Str} ; Adv, AdV, AdA, AdS, AdN = {s : Str} ; Prep = {s : Str} ; @@ -73,6 +74,4 @@ incomplete concrete CatScand of Cat = Conj = {s : Str ; n : Number} ; DConj = {s1,s2 : Str ; n : Number} ; - oper - Noun = {s : Number => Species => Case => Str ; g : Gender} ; } diff --git a/lib/resource-1.0/scandinavian/DiffScand.gf b/lib/resource-1.0/scandinavian/DiffScand.gf index ec3c96ef1..5ce2d8153 100644 --- a/lib/resource-1.0/scandinavian/DiffScand.gf +++ b/lib/resource-1.0/scandinavian/DiffScand.gf @@ -59,6 +59,9 @@ interface DiffScand = open ResScand, Prelude in { p = P3 } ; + Noun = {s : Number => Species => Case => Str ; g : Gender} ; + + -- This function is here because it depends on $verbHave, auxFut, auxCond$. predV : Verb -> VP = \verb -> diff --git a/lib/resource-1.0/scandinavian/ResScand.gf b/lib/resource-1.0/scandinavian/ResScand.gf index 6e29532df..6c99571a3 100644 --- a/lib/resource-1.0/scandinavian/ResScand.gf +++ b/lib/resource-1.0/scandinavian/ResScand.gf @@ -18,7 +18,7 @@ resource ResScand = ParamScand ** open Prelude in { -- But $mkNoun$ is fully defined only for each language, since -- $Gender$ varies. - nounForms : (_,_,_,_ : Str) -> (Number => Species => Case => Str) = + nounForms : (x1,_,_,x4 : Str) -> (Number => Species => Case => Str) = \man,mannen,men,mennen -> \\n,d,c => case of { => mkCase c man ; => mkCase c mannen ; @@ -26,7 +26,9 @@ resource ResScand = ParamScand ** open Prelude in { => mkCase c mennen } ; - mkAdjective : (s1,_,_,_,_,_,s7 : Str) -> {s : AForm => Str} = + Adjective : Type = {s : AForm => Str} ; + + mkAdjective : (x1,_,_,_,_,_,x7 : Str) -> {s : AForm => Str} = \liten, litet, lilla, sma, mindre, minst, minsta -> { s = table { AF (APosit a) c => mkCase c (mkAdjPos a liten litet lilla sma) ; @@ -45,7 +47,7 @@ resource ResScand = ParamScand ** open Prelude in { VF (VImper v) => mkVoice v finn ; VI (VInfin v) => mkVoice v finna ; VI (VSupin v) => mkVoice v funnit ; - VI (VPtPret a c) => mkCase c (mkAdjPos a funnen funnet funna funna) + VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna) } } ; diff --git a/lib/resource-1.0/scandinavian/TensedScand.gf b/lib/resource-1.0/scandinavian/TensedScand.gf index fc3134e66..34c42c3ae 100644 --- a/lib/resource-1.0/scandinavian/TensedScand.gf +++ b/lib/resource-1.0/scandinavian/TensedScand.gf @@ -1,10 +1,10 @@ ---concrete TensedScand of Tensed = CatScand, TenseX ** open ResScand in { --- --- flags optimize=all_subs ; --- --- lin --- UseCl t a p cl = {s = t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! ODir} ; --- UseQCl t a p cl = {s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q} ; --- UseRCl t a p cl = {s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r} ; --- ---} +incomplete concrete TensedScand of Tensed = CatScand, TenseX ** open ResScand in { + + flags optimize=all_subs ; + + lin + UseCl t a p cl = {s = \\o => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! o} ; + UseQCl t a p cl = {s = \\q => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! q} ; + UseRCl t a p cl = {s = \\r => t.s ++ a.s ++ p.s ++ cl.s ! t.t ! a.a ! p.p ! r} ; + +} diff --git a/lib/resource-1.0/swedish/BasicSwe.gf b/lib/resource-1.0/swedish/BasicSwe.gf new file mode 100644 index 000000000..09996c808 --- /dev/null +++ b/lib/resource-1.0/swedish/BasicSwe.gf @@ -0,0 +1,227 @@ +--# -path=.:../scandinavian:../common:../abstract:../../prelude + +concrete BasicSwe of Basic = CatSwe ** open ParadigmsSwe in { + +flags + startcat=Phr ; lexer=textlit ; unlexer=text ; + optimize=all ; + +lin + airplane_N = regN "flygplan" neutrum ; + answer_V2S = mkV2S (regV "svara") "till" ; + apartment_N = mk2N "lägenhet" "lägenheter" ; + apple_N = regN "äpple" neutrum ; + art_N = mk2N "konst" "konster" ; + ask_V2Q = mkV2Q (regV "fråga") [] ; + baby_N = regN "bebis" utrum ; + bad_A = irregADeg "dålig" "sämre" "sämst"; + bank_N = mk2N "bank" "banker" ; + beautiful_A = mk3ADeg "vacker" "vackert" "vackrast" ; + become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ; + beer_N = regN "öl" neutrum ; + beg_V2V = mkV2V (mkV "be" "ber""be" "blad" "bett" "bedd") [] "att" ; + big_A = irregADeg "stor" "större" "störst"; + bike_N = mk2N "cykel" "cyklar" ; + bird_N = mk2N "fågel" "fåglar" ; + black_A = mk2ADeg "svart" "svart" ; + blue_A = mk2ADeg "blå" "blått"; + boat_N = regN "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 ; + break_V2 = dirV2 (partV (mkV "slå" "slår" "slå" "slog" "slagit" "slagen") "sönder") ; + broad_A = mk2ADeg "bred" "brett" ; + brother_N2 = mkN2 ((mkN "bror" "brodern" "bröder" "bröderna")) "till" ; + brown_A = regADeg "brun" ; + butter_N = regN "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 ; + 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 ; + city_N = mk2N "stad" "städer" ; + clean_A = regADeg "ren" ; + clever_A = regADeg "klok" ; + close_V2 = dirV2 (mk2V "stänga" "stängde") ; + coat_N = regN "rock" utrum ; + cold_A = regADeg "kall" ; + come_V = (mkV "komma" "kommer" "kom" "kom" "kommit" "kommen") ; + computer_N = mk2N "dator" "datorer" ; + country_N = mkN "land" "landet" "länder" "länderna" ; + cousin_N = mk2N "kusin" "kusinerna" ; + cow_N = mk2N "ko" "kor" ; + die_V = (mkV "dö" "dör" "dö" "dog" "dött" "dödd") ; ---- + distance_N3 = mkN3 (mk2N "avstånd" "avstånd") "från" "till" ; + dirty_A = regADeg "smutsig" ; + doctor_N = mk2N "läkare" "läkare" ; + dog_N = regN "hund" utrum ; + door_N = regN "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 = mkADeg "tom" "tomt" "tomma" "tomma" "tommare" "tommast" "tommaste" ; + enemy_N = regN "fiende" neutrum ; + factory_N = mk2N "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 = mk2N "fisk" "fiskar" ; + floor_N = regN "golv" neutrum ; + forget_V2 = dirV2 (mkV "glömma" "glömmer" "glöm" "glömde" "glömt" "glömd") ; + fridge_N = regN "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 ; + 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" utrum; + hate_V2 = dirV2 (regV "hata") ; + hat_N = regN "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 ; + hope_VS = mkVS ((regV "önska")) ; +---- hope_VS = mkVS (depV (regV "hoppas")) ; + horse_N = regN "häst" utrum ; + hot_A = regADeg "het" ; + house_N = regN "hus" neutrum ; + important_A = regADeg "viktig" ; + industry_N = mk2N "industri" "industrier" ; ---- "ien" ?? + iron_N = regN "järn" neutrum ; + king_N = (regN "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; + 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" 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 ; + mother_N2 = mkN2 (mkN "mor" "modern" "mödrar" "mödrarna") "till" ; + mountain_N = regN "berg" neutrum ; + music_N = mk2N "musik" "musiker" ; ---- er ? + narrow_A = regADeg "smal" ; + new_A = mkADeg "ny" "nytt" "nya" "nya" "nyare" "nyast" "nyaste" ; + newspaper_N = regN "tidning" utrum ; + + oil_N = regN "olja" utrum ; + 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" utrum ; ---- ar? + pen_N = regN "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 ; + radio_N = regN "radio" utrum ; ---- + rain_V0 = mkV0 (regV "regna") ; + read_V2 = dirV2 (mk2V "läsa" "läste") ; + red_A = mk2ADeg "röd" "rött" ; + religion_N = mk2N "religion" "religioner" ; + restaurant_N = mk2N "restaurang" "restauranger" ; + river_N = mkN "å" "ån" "åar" "åarna" ; + rock_N = regN "sten" utrum ; + roof_N = regN "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; + science_N = mk2N "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 = mk2N "får" "får" ; + ship_N = regN "skepp" neutrum ; + shirt_N = regN "skjorta" utrum ; + shoe_N = regN "sko" utrum ; + shop_N = mk2N "affär" "affären" ; + short_A = regADeg "kort" ; + silver_N = mkN "silver" "silvret" "silver" "silvren" ; + sister_N = mk2N "syster" "systrar" ; + sleep_V = (irregV "sova" "sov" "sovit") ; + small_A = mkADeg "liten" "litet" "lilla" "små" "mindre" "minst" "minsta" ; + snake_N = regN "orm" utrum ; + sock_N = regN "strumpa" utrum ; + speak_V2 = dirV2 (regV "tala") ; + star_N = regN "stjärna" utrum ; + steel_N = regN "stål" utrum ; + stone_N = regN "sten" utrum ; + stove_N = regN "spis" utrum ; + student_N = mk2N "student" "studenter" ; + stupid_A = mk3ADeg "dum" "dumt" "dumma" ; + sun_N = regN "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 ; + 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 = regADeg "tjock" ; + thin_A = mk2ADeg "tunn" "tunt" ; + train_N = regN "tåg" neutrum ; + travel_V = mk2V "resa" "reste" ; + tree_N = regN "träd" neutrum ; + ---- 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" 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 = regADeg "varm" ; + war_N = regN "krig" neutrum ; + 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" utrum ; + 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 = mk2N "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" ; + +} ; diff --git a/lib/resource-1.0/swedish/LangSwe.gf b/lib/resource-1.0/swedish/LangSwe.gf new file mode 100644 index 000000000..3c1690552 --- /dev/null +++ b/lib/resource-1.0/swedish/LangSwe.gf @@ -0,0 +1,21 @@ +--# -path=.:../scandinavian:../abstract:../common:prelude + +concrete LangSwe of Lang = + NounSwe, + VerbSwe, + AdjectiveSwe, + AdverbSwe, + NumeralSwe, + SentenceSwe, + QuestionSwe, + RelativeSwe, + ConjunctionSwe, + PhraseSwe, + TensedSwe, + StructuralSwe, + BasicSwe + ** { + +flags startcat = Phr ; + +} ; diff --git a/lib/resource-1.0/swedish/StructuralSwe.gf b/lib/resource-1.0/swedish/StructuralSwe.gf new file mode 100644 index 000000000..64a15c9d5 --- /dev/null +++ b/lib/resource-1.0/swedish/StructuralSwe.gf @@ -0,0 +1,191 @@ +concrete StructuralSwe of Structural = CatSwe ** + open MorphoSwe, Prelude in { + + flags optimize=all ; + + above_Prep = ss "ovanför" ; + after_Prep = ss "efter" ; + by8agent_Prep = ss "av" ; + all8mass_Det = mkDeterminerSgGender2 "all" "allt" IndefP ; + all_NDet = mkDeterminerPlNum "alla" IndefP ; + almost_Adv = ss "nästan" ; + although_Subj = ss "fast" ; + and_Conj = ss "och" ** {n = Pl} ; + because_Subj = ss "eftersom" ; + before_Prep = ss "före" ; + behind_Prep = ss "bakom" ; + between_Prep = ss "mellan" ; + both_AndConjD = sd2 "både" "och" ** {n = Pl} ; + by8means_Prep = ss "med" ; + can8know_VV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" + ** {isAux = True} ; + can_VV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" + ** {isAux = True} ; + during_Prep = ss "under" ; + either8or_ConjD = sd2 "antingen" "eller" ** {n = Sg} ; + everybody_NP = let alla = table {Nom => "alla" ; Gen => "allas"} in + {s = \\c => alla ! npCase c ; g = Utr ; n = Pl ; p = P3} ; + every_Det = varjeDet ; + everything_NP = nameNounPhrase (mkProperName "allting" NNeutr) ; + everywhere_Adv = advPost "varstans" ; + from_Prep = ss "från" ; + he_NP = pronNounPhrase han_34 ; + how_IAdv = ss "hur" ; + how8many_IDet = mkDeterminerPl ["hur många"] IndefP ; + if_Subj = ss "om" ; + in8front_Prep = ss "framför" ; + i_NP = pronNounPhrase jag_32 ; + in_Prep = ss "i" ; + it_NP = pronNounPhrase det_40 ; ---- + + many_Det = mkDeterminerPl "många" IndefP ; + most_Det = mkDeterminerSgGender2 ["den mesta"] ["det mesta"] (DefP Def) ; + most8many_Det = flestaDet ; + much_Det = mkDeterminerSg (detSgInvar "mycket") IndefP ; + must_VV = mkVerb "få" "måste" "få" "fick" "måst" "måst" ** {isAux = True} ; + no_Phr = ss ["Nej ."] ; + on_Prep = ss "på" ; + or_Conj = ss "eller" ** {n = Sg} ; + otherwise_Adv = ss "annars" ; + part_Prep = ss "av" ; + possess_Prep = ss "av" ; + quite_Adv = ss "ganska" ; + she_NP = pronNounPhrase hon_35 ; + so_Adv = ss "så" ; + somebody_NP = nameNounPhrase (mkProperName "någon" (NUtr Masc)) ; + some_Det = mkDeterminerSgGender2 "någon" "något" IndefP ; + some_NDet = mkDeterminerPlNum "några" IndefP ; + something_NP = nameNounPhrase (mkProperName "någonting" NNeutr) ; + somewhere_Adv = advPost "någonstans" ; + that_Det = mkDeterminerSgGender2 ["den där"] ["det där"] (DefP Def) ; + that_NP = regNameNounPhrase ["det där"] NNeutr ; + therefore_Adv = ss "därför" ; + these_NDet = mkDeterminerPlNum ["de här"] (DefP Def) ; + they8fem_NP = pronNounPhrase de_38 ; + they_NP = pronNounPhrase de_38 ; + this_Det = mkDeterminerSgGender2 ["den här"] ["det här"] (DefP Def) ; + this_NP = regNameNounPhrase ["det här"] NNeutr ; + those_NDet = mkDeterminerPlNum ["de där"] (DefP Def) ; + thou_NP = pronNounPhrase du_33 ; + through_Prep = ss "genom" ; + too_Adv = ss "för" ; + to_Prep = ss "till" ; + under_Prep = ss "under" ; + very_Adv = ss "mycket" ; + want_VV = mkVerb "vilja" "vill" "vilj" "ville" "velat" "velad" ** {isAux = True} ; + we_NP = pronNounPhrase (vi_36) ; + what8many_IP = intPronWhat plural ; + what8one_IP = intPronWhat singular ; + when_IAdv = ss "när" ; + when_Subj = ss "när" ; + where_IAdv = ss "var" ; + which8one_IDet = vilkenDet ; + which8many_IDet = mkDeterminerPl "vilka" IndefP ; + who8many_IP = intPronWho plural ; + who8one_IP = intPronWho singular ; + why_IAdv = ss "varför" ; + without_Prep = ss "utan" ; + with_Prep = ss "med" ; + ye_NP = pronNounPhrase (ni_37) ; + yes_Phr = ss ["Ja ."] ; + you_NP = let {ni = pronNounPhrase ni_37 } in { + s = ni.s ; g = ni.g ; n = Sg ; p = P2} ; ---- gives wrong refl + + + + +{- + above_Prep = ss "above" ; + after_Prep = ss "after" ; + all_Predet = ss "all" ; + almost_AdA, almost_AdN = ss "almost" ; + although_Subj = ss "although" ; + always_AdV = ss "always" ; + and_Conj = ss "and" ** {n = Pl} ; + because_Subj = ss "because" ; + before_Prep = ss "before" ; + behind_Prep = ss "behind" ; + between_Prep = ss "between" ; + both7and_DConj = sd2 "both" "and" ** {n = Pl} ; + but_PConj = ss "but" ; + by8agent_Prep = ss "by" ; + by8means_Prep = ss "by" ; + can8know_VV = verbPart (mkVerbIrreg "know" "knew" "known") "how"** {c2 = "to"} ;--- + can_VV = verbGen "manage" ** {c2 = "to"} ; --- + during_Prep = ss "during" ; + either7or_DConj = sd2 "either" "or" ** {n = Sg} ; + everybody_NP = regNP "everybody" Sg ; + every_Det = mkDeterminer Sg "every" ; + everything_NP = regNP "everything" Sg ; + everywhere_Adv = ss "everywhere" ; + from_Prep = ss "from" ; + he_Pron = mkNP "he" "him" "his" Sg P3 ; + here_Adv = ss "here" ; + here7to_Adv = ss ["to here"] ; + here7from_Adv = ss ["from here"] ; + how_IAdv = ss "how" ; + how8many_IDet = mkDeterminer Pl ["how many"] ; + if_Subj = ss "if" ; + in8front_Prep = ss ["in front of"] ; + i_Pron = mkNP "I" "me" "my" Sg P1 ; + in_Prep = ss "in" ; + it_Pron = mkNP "it" "it" "its" Sg P3 ; + less_CAdv = ss "less" ; + many_Det = mkDeterminer Pl "many" ; + more_CAdv = ss "more" ; + most_Predet = ss "most" ; + much_Det = mkDeterminer Sg "much" ; + must_VV = mkVerb4 "have" "has" "had" "had" ** {c2 = "to"} ; --- + no_Phr = ss "no" ; + on_Prep = ss "on" ; + only_Predet = ss "only" ; + or_Conj = ss "or" ** {n = Sg} ; + otherwise_PConj = ss "otherwise" ; + part_Prep = ss "of" ; + please_Voc = ss "please" ; + possess_Prep = ss "of" ; + quite_Adv = ss "quite" ; + she_Pron = mkNP "she" "her" "her" Sg P3 ; + so_AdA = ss "so" ; + somebody_NP = regNP "somebody" Sg ; + someSg_Det = mkDeterminer Sg "some" ; + somePl_Det = mkDeterminer Pl "some" ; + something_NP = regNP "something" Sg ; + somewhere_Adv = ss "somewhere" ; + that_Quant = mkDeterminer Sg "that" ; + that_NP = regNP "that" Sg ; + there_Adv = ss "there" ; + there7to_Adv = ss "there" ; + there7from_Adv = ss ["from there"] ; + therefore_PConj = ss "therefore" ; + these_Quant = mkDeterminer Pl "these" ; + they_Pron = mkNP "they" "them" "their" Pl P3 ; + this_Quant = mkDeterminer Sg "this" ; + this_NP = regNP "this" Sg ; + those_Quant = mkDeterminer Pl "those" ; + thou_Pron = mkNP "you" "you" "your" Sg P2 ; + through_Prep = ss "through" ; + too_AdA = ss "too" ; + to_Prep = ss "to" ; + under_Prep = ss "under" ; + very_AdA = ss "very" ; + want_VV = verbGen "want" ** {c2 = "to"} ; + we_Pron = mkNP "we" "us" "our" Pl P1 ; + whatPl_IP = mkIP "what" "what" "what's" Sg ; + whatSg_IP = mkIP "what" "what" "what's" Sg ; + when_IAdv = ss "when" ; + when_Subj = ss "when" ; + where_IAdv = ss "where" ; + whichPl_IDet = mkDeterminer Pl ["which"] ; + whichSg_IDet = mkDeterminer Sg ["which"] ; + whoSg_IP = mkIP "who" "whom" "whose" Sg ; + whoPl_IP = mkIP "who" "whom" "whose" Pl ; + why_IAdv = ss "why" ; + without_Prep = ss "without" ; + with_Prep = ss "with" ; + ye_Pron = mkNP "you" "you" "your" Pl P2 ; + you_Pron = mkNP "you" "you" "your" Sg P2 ; + yes_Phr = ss "yes" ; +-} +} + diff --git a/lib/resource-1.0/swedish/TensedSwe.gf b/lib/resource-1.0/swedish/TensedSwe.gf new file mode 100644 index 000000000..42aeb14ce --- /dev/null +++ b/lib/resource-1.0/swedish/TensedSwe.gf @@ -0,0 +1,2 @@ +concrete TensedSwe of Tensed = CatSwe ** TensedScand with + (DiffScand = DiffSwe) ;