From ec86cc89669fd2c731f8455bed179c7e7a1bf794 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 8 Dec 2005 16:56:17 +0000 Subject: [PATCH] Swedish almost complete --- lib/resource-1.0/abstract/Structural.gf | 10 +- lib/resource-1.0/scandinavian/ResScand.gf | 7 +- lib/resource-1.0/scandinavian/TensedScand.gf | 3 +- lib/resource-1.0/swedish/LexSwe.gf | 2 +- lib/resource-1.0/swedish/StructuralSwe.gf | 222 ++++++------------- lib/resource-1.0/swedish/TensedSwe.gf | 2 +- 6 files changed, 85 insertions(+), 161 deletions(-) diff --git a/lib/resource-1.0/abstract/Structural.gf b/lib/resource-1.0/abstract/Structural.gf index 5f8e6d3f3..3f49e049a 100644 --- a/lib/resource-1.0/abstract/Structural.gf +++ b/lib/resource-1.0/abstract/Structural.gf @@ -21,8 +21,8 @@ abstract Structural = Cat ** { almost_AdA : AdA ; -- Adv almost_AdN : AdN ; -- although_Subj : Subj ; - and_Conj : Conj ; always_AdV : AdV ; -- + and_Conj : Conj ; because_Subj : Subj ; before_Prep : Prep ; behind_Prep : Prep ; @@ -76,15 +76,17 @@ abstract Structural = Cat ** { somewhere_Adv : Adv ; that_Quant : Quant ; -- Det that_NP : NP ; - there_Adv : Adv ; - there7to_Adv : Adv ; - there7from_Adv : Adv ; + there_Adv : Adv ; -- + there7to_Adv : Adv ; -- + there7from_Adv : Adv ; -- therefore_PConj : PConj ; -- AdC + these_NP : NP ; -- these_Quant : Quant ; -- NDet -- they8fem_NP : NP ; they_Pron : Pron ; -- NP this_Quant : Quant ; -- NDet this_NP : NP ; + those_NP : NP ; -- those_Quant : Quant ; -- NDet thou_Pron : Pron ; -- NP through_Prep : Prep ; diff --git a/lib/resource-1.0/scandinavian/ResScand.gf b/lib/resource-1.0/scandinavian/ResScand.gf index 6c99571a3..1c94e04fd 100644 --- a/lib/resource-1.0/scandinavian/ResScand.gf +++ b/lib/resource-1.0/scandinavian/ResScand.gf @@ -129,9 +129,10 @@ resource ResScand = ParamScand ** open Prelude in { _ => de } ; --- regNP : Str -> Number -> {s : Case => Str ; a : Agr} = \that,n -> --- mkNP that that (that + "'s") n P3 ; --- + regNP : Str -> Str -> GenNum -> {s : NPForm => Str ; a : Agr} = + \det,dess,gn -> + mkNP det det dess dess dess gn P3 ; + -- For $Verb$. diff --git a/lib/resource-1.0/scandinavian/TensedScand.gf b/lib/resource-1.0/scandinavian/TensedScand.gf index 34c42c3ae..51ac3a8e3 100644 --- a/lib/resource-1.0/scandinavian/TensedScand.gf +++ b/lib/resource-1.0/scandinavian/TensedScand.gf @@ -1,4 +1,5 @@ -incomplete concrete TensedScand of Tensed = CatScand, TenseX ** open ResScand in { +incomplete concrete TensedScand of Tensed = CatScand, TenseX ** + open ResScand in { flags optimize=all_subs ; diff --git a/lib/resource-1.0/swedish/LexSwe.gf b/lib/resource-1.0/swedish/LexSwe.gf index bc544d4c5..e0f77f7c0 100644 --- a/lib/resource-1.0/swedish/LexSwe.gf +++ b/lib/resource-1.0/swedish/LexSwe.gf @@ -38,7 +38,7 @@ concrete LexSwe of Lex = CatSwe ** open ResSwe, Prelude in { i_Pron = mkNP "jag" "mig" "min" "mitt" "mina" SgUtr P1 ; he_Pron = mkNP "han" "honom" "hans" "hans" "hans" SgUtr P3 ; - we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" SgUtr P1 ; + we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" Plg P1 ; whoSg_IP = {s = vem.s ; gn = SgUtr} ; whoPl_IP = {s = vem.s ; gn = Plg} ; diff --git a/lib/resource-1.0/swedish/StructuralSwe.gf b/lib/resource-1.0/swedish/StructuralSwe.gf index 64a15c9d5..3fbbec802 100644 --- a/lib/resource-1.0/swedish/StructuralSwe.gf +++ b/lib/resource-1.0/swedish/StructuralSwe.gf @@ -3,189 +3,109 @@ concrete StructuralSwe of Structural = CatSwe ** flags optimize=all ; + lin 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" ; + all_Predet = {s = gennumForms "all" "allt" "alla"} ; + almost_AdA, almost_AdN = ss "nästan" ; although_Subj = ss "fast" ; + always_AdV = ss "alltid" ; 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} ; + both7and_DConj = sd2 "både" "och" ** {n = Pl} ; + but_PConj = ss "men" ; 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} ; + can8know_VV, can_VV = + mkVerb6 "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** + {c2 = [] ; lock_VV = <>} ; 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" ; + either7or_DConj = sd2 "antingen" "eller" ** {n = Sg} ; + everybody_NP = regNP "alla" "allas" Plg ; + every_Det = {s = \\_ => "varje" ; n = Sg ; det = DDef Indef} ; + everything_NP = regNP "allting" "alltings" SgNeutr ; + everywhere_Adv = ss "överallt" ; from_Prep = ss "från" ; - he_NP = pronNounPhrase han_34 ; + he_Pron = mkNP "han" "honom" "hans" "hans" "hans" SgUtr P3 ; + here_Adv = ss "här" ; + here7to_Adv = ss "hit" ; + here7from_Adv = ss "härifrån" ; how_IAdv = ss "hur" ; - how8many_IDet = mkDeterminerPl ["hur många"] IndefP ; + how8many_IDet = {s = \\_ => ["hur många"] ; n = Pl ; det = DDef Indef} ; if_Subj = ss "om" ; in8front_Prep = ss "framför" ; - i_NP = pronNounPhrase jag_32 ; + i_Pron = mkNP "jag" "mig" "min" "mitt" "mina" SgUtr P1 ; 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 ."] ; + it_Pron = regNP "det" "dess" SgNeutr ; + less_CAdv = ss "mindre" ; + many_Det = {s = \\_ => "många" ; n = Pl ; det = DDef Indef} ; + more_CAdv = ss "mer" ; + most_Predet = {s = gennumForms ["den mesta"] ["det mesta"] ["de flesta"]} ; + much_Det = {s = \\_ => "mycket" ; n = Pl ; det = DDef Indef} ; + must_VV = + mkVerb6 "få" "måste" "få" "fick" "måst" "måst" ** {c2 = [] ; lock_VV = <>} ; + no_Phr = ss ["Nej"] ; on_Prep = ss "på" ; + only_Predet = {s = \\_ => "bara"} ; or_Conj = ss "eller" ** {n = Sg} ; - otherwise_Adv = ss "annars" ; + otherwise_PConj = ss "annars" ; part_Prep = ss "av" ; + please_Voc = ss "tack" ; --- 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 ; + she_Pron = mkNP "hon" "henne" "hennes" "hennes" "hennes" SgUtr P3 ; + so_AdA = ss "så" ; + someSg_Det = {s = genderForms "någon" "något" ; n = Sg ; det = DDef Indef} ; + somePl_Det = {s = \\_ => "några" ; n = Pl ; det = DDef Indef} ; + somebody_NP = regNP "någon" "någons" SgUtr ; + something_NP = regNP "något" "någots" SgNeutr ; + somewhere_Adv = ss "någonstans" ; + that_Quant = {s = genderForms ["den där"] ["det där"] ; n = Sg ; det = DDef Def} ; + that_NP = regNP ["det där"] ["det därs"] SgNeutr ; + there_Adv = ss "där" ; + there7to_Adv = ss "dit" ; + there7from_Adv = ss "därifrån" ; + therefore_PConj = ss "därför" ; + these_NP = regNP ["de här"] ["det härs"] Plg ; + these_Quant = {s = \\_ => ["de här"] ; n = Pl ; det = DDef Def} ; + they_Pron = mkNP "de" "dem" "deras" "deras" "deras" Plg P1 ; + this_Quant = {s = genderForms ["den här"] ["det här"] ; n = Sg ; det = DDef Def} ; + this_NP = regNP ["det här"] ["det härs"] SgNeutr ; + those_NP = regNP ["de där"] ["det därs"] Plg ; + those_Quant = {s = \\_ => ["de där"] ; n = Pl ; det = DDef Def} ; + thou_Pron = mkNP "du" "dig" "din" "ditt" "dina" SgUtr P2 ; through_Prep = ss "genom" ; - too_Adv = ss "för" ; + too_AdA = 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 ; + very_AdA = ss "mycket" ; + want_VV = + mkVerb6 "vilja" "vill" "vilj" "ville" "velat" "velad" ** + {c2 = [] ; lock_VV = <>} ; + we_Pron = mkNP "vi" "oss" "vår" "vårt" "våra" Plg P1 ; +---- whatPl_IP = intPronWhat plural ; +---- whatSg_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 ; +---- whichPl_IDet = vilkenDet ; +---- whichSg_IDet = mkDeterminerPl "vilka" IndefP ; + whoSg_IP = {s = vem.s ; gn = SgUtr} ; + whoPl_IP = {s = vem.s ; gn = Plg} ; 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 + ye_Pron = mkNP "ni" "er" "er" "ert" "era" Plg P2 ; + yes_Phr = ss ["ja"] ; + you_Pron = mkNP "ni" "er" "er" "ert" "era" SgUtr P2 ; --- wrong in refl +-- Auxiliaries that are used repeatedly. + oper + vem = mkNP "vem" "vem" "vems" "vems" "vems" SgUtr P3 ; - -{- - 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 index 42aeb14ce..1f7d8d331 100644 --- a/lib/resource-1.0/swedish/TensedSwe.gf +++ b/lib/resource-1.0/swedish/TensedSwe.gf @@ -1,2 +1,2 @@ -concrete TensedSwe of Tensed = CatSwe ** TensedScand with +concrete TensedSwe of Tensed = CatSwe, TenseX ** TensedScand with (DiffScand = DiffSwe) ;