completing Swedish

This commit is contained in:
aarne
2004-11-16 21:20:55 +00:00
parent 2bef5f7a1c
commit 36121a1698
2 changed files with 63 additions and 17 deletions

View File

@@ -47,24 +47,70 @@ oper
verbFinnas = mkVerb "finnas" "finns" "finns" ;
-- A simplified conjugation takes three forms in the worst case, plus a particle.
-}
mkVerbPart : (supa,super,sup,upp : Str) -> Verb = \supa,super,sup,upp ->
mkVerbPart : (supa,super,sup,söp,supit,supen,upp : Str) -> Verb =
\finna,finner,finn,fann,funnit,funnen,upp ->
let funn = ptPretForms funnen in
{s = table {
VPres Infinit Act => supa ;
VPres Infinit Pass => supa + "s" ;
VPres Indicat Act => super ;
VPres Indicat Pass => sup + "s" ;
VPres Imperat Act => sup ;
VPres Imparat Pass => sup + "s"
} ;
VF (Pres Ind Act) => finner ;
VF (Pres Ind Pass) => finn + "s" ;
VF (Pres Cnj Act) => finn + "e" ;
VF (Pres Cnj Pass) => finn + "es" ;
VF (Pret Ind Act) => fann ;
VF (Pret Ind Pass) => fann + "s" ;
VF (Pret Cnj Act) => fann ; --- = ind
VF (Pret Cnj Pass) => fann + "s" ; ---
VF Imper => finn ;
VI (Inf Act) => finna ;
VI (Inf Pass) => finna + "s" ;
VI (Supin Act) => funnit ;
VI (Supin Pass) => funnit + "s" ;
VI (PtPres Nom) => finn + "ande" ;
VI (PtPres Gen) => finn + "andes" ;
VI (PtPret a c) => funn ! a ! c
} ;
s1 = upp
} ;
ptPretForms : Str -> AdjFormPos => Case => Str = \funnen -> \\a,c =>
mkCase c (
{- ----
case Predef.dp 2 funnen of {
"en" => let funn : Str = Predef.tk 2 funnen in
case a of {
(Strong (ASg Utr)) => funn + "en" ;
(Strong (ASg Neutr)) => funn + "et" ;
(Strong APl) => funn + "a" ;
(Weak (AxSg NoMasc)) => funn + "a" ;
(Weak (AxSg Masc)) => funn + "e" ;
(Weak AxPl) => funn + "a"
} ;
"ad" => let funn : Str = Predef.tk 2 funnen in
case a of {
(Strong (ASg Utr)) => funn + "ad" ;
(Strong (ASg Neutr)) => funn + "at" ;
(Strong APl) => funn + "ade" ;
(Weak _) => funn + "ade"
} ;
_ =>
-}
funnen ---- to be completed
---- }
) ;
mkCase : Case -> Str -> Str = \c,f -> case c of {
Nom => f ;
Gen => f + "s"
} ;
-- The most common is a verb without a particle.
mkVerb : (supa,super,sup : Str) -> Verb = \supa,super,sup ->
mkVerbPart supa super sup [] ;
-}
mkVerb : (_,_,_,_,_,_ : Str) -> Verb = \supa,super,sup,söp,supit,supen ->
mkVerbPart supa super sup söp supit supen [] ;
-- Prepositions are just strings.
Preposition = Str ;

View File

@@ -22,9 +22,9 @@ concrete StructuralSwe of Structural =
ThisNP = regNameNounPhrase ["det här"] Neutr NoMasc ;
ThatNP = regNameNounPhrase ["det där"] Neutr NoMasc ;
TheseNumNP n =
{s = \\c => ["det här"] ++ n.s ! npCase c ; g = Neutr ; n = Pl} ;
{s = \\c => ["de här"] ++ n.s ! npCase c ; g = Neutr ; n = Pl} ;
ThoseNumNP n =
{s = \\c => ["det där"] ++ n.s ! npCase c ; g = Neutr ; n = Pl} ;
{s = \\c => ["de där"] ++ n.s ! npCase c ; g = Neutr ; n = Pl} ;
EveryDet = varjeDet ;
AllMassDet = mkDeterminerSgGender2 "all" "allt" IndefP ;
@@ -77,10 +77,10 @@ concrete StructuralSwe of Structural =
SomethingNP = nameNounPhrase (mkProperName "någonting" Neutr NoMasc) ;
NothingNP = nameNounPhrase (mkProperName "ingenting" Neutr NoMasc) ;
---- CanVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" ** {isAux = True} ; ---
---- CanKnowVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" ** {isAux = True} ; ---
---- MustVV = mkVerb "få" "måste" "få" "fick" "måst" ** {isAux = True} ; ---
---- WantVV = mkVerb "vilja" "vill" "vilj" ** {isAux = True} ; ---
CanVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** {isAux = True} ;
CanKnowVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** {isAux = True} ;
MustVV = mkVerb "få" "måste" "få" "fick" "måst" "måst" ** {isAux = True} ; ---
WantVV = mkVerb "vilja" "vill" "vilj" "ville" "velat" "velad" ** {isAux = True} ; ---
EverywhereNP = advPost "varstans" ;
SomewhereNP = advPost "någonstans" ;