mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 01:22:51 -06:00
completing Swedish
This commit is contained in:
@@ -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 ;
|
||||||
|
|||||||
@@ -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" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user