Swedish almost complete

This commit is contained in:
aarne
2005-12-08 16:56:17 +00:00
parent a35dbbeeb8
commit ec86cc8966
6 changed files with 85 additions and 161 deletions

View File

@@ -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 ;

View File

@@ -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$.

View File

@@ -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 ;

View File

@@ -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} ;

View File

@@ -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" ;
-}
}

View File

@@ -1,2 +1,2 @@
concrete TensedSwe of Tensed = CatSwe ** TensedScand with
concrete TensedSwe of Tensed = CatSwe, TenseX ** TensedScand with
(DiffScand = DiffSwe) ;