mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-12 14:29:31 -06:00
216 lines
7.5 KiB
Plaintext
216 lines
7.5 KiB
Plaintext
--# -path=.:../abstract:../scandinavian:../../prelude
|
|
|
|
--1 The Top-Level Swedish Resource Grammar: Structural Words
|
|
--
|
|
-- Aarne Ranta 2002 -- 2004
|
|
--
|
|
concrete StructuralSwe of Structural =
|
|
CategoriesSwe, NumeralsSwe **
|
|
open Prelude, MorphoSwe, SyntaxSwe in {
|
|
|
|
flags optimize=values ;
|
|
|
|
lin
|
|
|
|
UseNumeral i = {s = \\g => table {Nom => i.s ! g ; Gen => i.s ! g ++
|
|
"s"} ; n = i.n} ; ---
|
|
|
|
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" ;
|
|
although_Subj = ss "fast" ;
|
|
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} ;
|
|
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} ;
|
|
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" ;
|
|
from_Prep = ss "från" ;
|
|
he_NP = pronNounPhrase han_34 ;
|
|
how_IAdv = ss "hur" ;
|
|
how8many_IDet = mkDeterminerPl ["hur många"] IndefP ;
|
|
if_Subj = ss "om" ;
|
|
in8front_Prep = ss "framför" ;
|
|
i_NP = pronNounPhrase jag_32 ;
|
|
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 ."] ;
|
|
on_Prep = ss "på" ;
|
|
or_Conj = ss "eller" ** {n = Sg} ;
|
|
otherwise_Adv = ss "annars" ;
|
|
part_Prep = ss "av" ;
|
|
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 ;
|
|
through_Prep = ss "genom" ;
|
|
too_Adv = 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 ;
|
|
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 ;
|
|
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
|
|
|
|
|
|
|
|
{-
|
|
INP = pronNounPhrase jag_32 ;
|
|
ThouNP = pronNounPhrase du_33 ;
|
|
HeNP = pronNounPhrase han_34 ;
|
|
SheNP = pronNounPhrase hon_35 ;
|
|
WeNP n = pronNounPhrase (vi_36 n) ;
|
|
YeNP n = pronNounPhrase (ni_37 n) ;
|
|
TheyNP = pronNounPhrase de_38 ;
|
|
TheyFemNP = pronNounPhrase de_38 ;
|
|
|
|
YouNP = let {ni = pronNounPhrase ni_37 } in {
|
|
s = ni.s ; g = ni.g ; n = Sg ; p = P2} ; ---- gives wrong refl
|
|
|
|
ItNP = pronNounPhrase det_40 ; ----
|
|
ThisNP = regNameNounPhrase ["det här"] NNeutr ;
|
|
ThatNP = regNameNounPhrase ["det där"] NNeutr ;
|
|
|
|
EveryDet = varjeDet ;
|
|
AllMassDet = mkDeterminerSgGender2 "all" "allt" IndefP ;
|
|
AllNumDet = mkDeterminerPlNum "alla" IndefP ;
|
|
AnyDet = mkDeterminerSgGender2 "någon" "något" IndefP ;
|
|
AnyNumDet = mkDeterminerPlNum "några" IndefP ;
|
|
SomeDet = mkDeterminerSgGender2 "någon" "något" IndefP ;
|
|
SomeNumDet = mkDeterminerPlNum "några" IndefP ;
|
|
ManyDet = mkDeterminerPl "många" IndefP ;
|
|
HowManyDet = mkDeterminerPl ["hur många"] IndefP ;
|
|
NoDet = mkDeterminerSgGender2 "ingen" "inget" IndefP ;
|
|
NoNumDet = mkDeterminerPlNum "inga" IndefP ;
|
|
WhichNumDet = mkDeterminerPlNum "vilka" IndefP ;
|
|
|
|
UseNumeral i = {s = table {Nom => i.s ; Gen => i.s ++ "s"}} ; ---
|
|
|
|
WhichDet = vilkenDet ;
|
|
MostDet = mkDeterminerSgGender2 ["den mesta"] ["det mesta"] (DefP Def) ;
|
|
MostsDet = flestaDet ;
|
|
MuchDet = mkDeterminerSg (detSgInvar "mycket") IndefP ;
|
|
|
|
ThisDet = mkDeterminerSgGender2 ["den här"] ["det här"] (DefP Def) ;
|
|
ThatDet = mkDeterminerSgGender2 ["den där"] ["det där"] (DefP Def) ;
|
|
TheseNumDet = mkDeterminerPlNum ["de här"] (DefP Def) ;
|
|
ThoseNumDet = mkDeterminerPlNum ["de där"] (DefP Def) ;
|
|
|
|
HowIAdv = ss "hur" ;
|
|
WhenIAdv = ss "när" ;
|
|
WhereIAdv = ss "var" ;
|
|
WhyIAdv = ss "varför" ;
|
|
|
|
AndConj = ss "och" ** {n = Pl} ;
|
|
OrConj = ss "eller" ** {n = Sg} ;
|
|
BothAnd = sd2 "både" "och" ** {n = Pl} ;
|
|
EitherOr = sd2 "antingen" "eller" ** {n = Sg} ;
|
|
NeitherNor = sd2 "varken" "eller" ** {n = Sg} ;
|
|
IfSubj = ss "om" ;
|
|
WhenSubj = ss "när" ;
|
|
|
|
YesPhr = ss ["Ja ."] ;
|
|
NoPhr = ss ["Nej ."] ;
|
|
|
|
VeryAdv = ss "mycket" ;
|
|
TooAdv = ss "för" ;
|
|
SoAdv = ss "så" ;
|
|
OtherwiseAdv = ss "annars" ;
|
|
ThereforeAdv = ss "därför" ;
|
|
|
|
EverybodyNP = let alla = table {Nom => "alla" ; Gen => "allas"} in {s = \\c => alla ! npCase c ; g = Utr ; n = Pl ; p = P3} ;
|
|
SomebodyNP = nameNounPhrase (mkProperName "någon" (NUtr Masc)) ;
|
|
NobodyNP = nameNounPhrase (mkProperName "ingen" (NUtr Masc)) ;
|
|
EverythingNP = nameNounPhrase (mkProperName "allting" NNeutr) ;
|
|
SomethingNP = nameNounPhrase (mkProperName "någonting" NNeutr) ;
|
|
NothingNP = nameNounPhrase (mkProperName "ingenting" NNeutr) ;
|
|
|
|
CanVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** {s3 = []} ;
|
|
CanKnowVV = mkVerb "kunna" "kan" "kunn" "kunde" "kunnat" "kunnen" ** {s3 = []} ;
|
|
MustVV = mkVerb "få" "måste" "få" "fick" "måst" "måst" ** {s3 = []} ;
|
|
WantVV = mkVerb "vilja" "vill" "vilj" "ville" "velat" "velad" ** {s3 = []} ;
|
|
|
|
EverywhereNP = advPost "varstans" ;
|
|
SomewhereNP = advPost "någonstans" ;
|
|
NowhereNP = advPost "ingenstans" ;
|
|
|
|
AlthoughSubj = ss "fast" ;
|
|
|
|
AlmostAdv = ss "nästan" ;
|
|
QuiteAdv = ss "ganska" ;
|
|
|
|
InPrep = ss "i" ;
|
|
OnPrep = ss "på" ;
|
|
ToPrep = ss "till" ;
|
|
ThroughPrep = ss "genom" ;
|
|
AbovePrep = ss "ovanför" ;
|
|
UnderPrep = ss "under" ;
|
|
InFrontPrep = ss "framför" ;
|
|
BehindPrep = ss "bakom" ;
|
|
BetweenPrep = ss "mellan" ;
|
|
FromPrep = ss "från" ;
|
|
BeforePrep = ss "före" ;
|
|
DuringPrep = ss "under" ;
|
|
AfterPrep = ss "efter" ;
|
|
WithPrep = ss "med" ;
|
|
WithoutPrep = ss "utan" ;
|
|
ByMeansPrep = ss "med" ;
|
|
PossessPrep = ss "av" ;
|
|
PartPrep = ss "av" ;
|
|
AgentPrep = ss "av" ;
|
|
-}
|
|
|
|
|
|
}
|