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" ; verbFinnas = mkVerb "finnas" "finns" "finns" ;
-- A simplified conjugation takes three forms in the worst case, plus a particle. -- 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 { {s = table {
VPres Infinit Act => supa ; VF (Pres Ind Act) => finner ;
VPres Infinit Pass => supa + "s" ; VF (Pres Ind Pass) => finn + "s" ;
VPres Indicat Act => super ; VF (Pres Cnj Act) => finn + "e" ;
VPres Indicat Pass => sup + "s" ; VF (Pres Cnj Pass) => finn + "es" ;
VPres Imperat Act => sup ; VF (Pret Ind Act) => fann ;
VPres Imparat Pass => sup + "s" 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 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. -- The most common is a verb without a particle.
mkVerb : (supa,super,sup : Str) -> Verb = \supa,super,sup -> mkVerb : (_,_,_,_,_,_ : Str) -> Verb = \supa,super,sup,söp,supit,supen ->
mkVerbPart supa super sup [] ; mkVerbPart supa super sup söp supit supen [] ;
-}
-- Prepositions are just strings. -- Prepositions are just strings.
Preposition = Str ; Preposition = Str ;

View File

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