This is an introduction to the basic grammar of Swedish. It is guided by a computer program that knows the rules of the grammar. All examples shown during the tour have been produced by that program. You can read this document as it is, to get an overview of Swedish grammar. However, really to exploit the linguistic knowledge included in the program, you should try out every rule by itself and also vary the rules in interaction with the computer.
The same tour is (or will be) available for 17 languages.
See the last section of this document for how to contribute support for new languages as a developer.
To use the Swedish grammar program and test the grammar yourself, you need
Demo.pgf
, downloadable from
here
In the future, we plan to provide a web-based version of this grammar tour, so that you can ran the program without downloading or installing anything.
After installing GF (see instructions at GF website), just start it by the shell command
gf Demo.pgf
Then initialize the shell with a couple of handy commands:
%forms |
show the forms of a word or a phrase in Swedish |
%numeral |
translate a number to a Swedish numeral expression |
%table |
show the inflection table a word or a phrase in Swedish |
%translate |
translate an utterance from English to Swedish |
Initialization is made with the command macro definitions in GF:
> dc translate ps -lextext ?0 | parse -cat=Utt -lang=Eng | linearize -lang=Swe > dc table linearize -table -lang=Swe ?0 > dc forms linearize -list -lang=Swe ?0 > dc numeral ps -chars ?0 | p -cat=Digits -lang=Swe | pt -transfer=digits2num | l -bind -lang=Swe
This is just to save you some work afterwards and to make this document clearer; you could quite as well use the basic commands that are predifined in GF, and for some less frequent cases we'll actually use them directly.
The prompt sign >
is produced by GF, and you should only
write what is after it. In this document, we will use two kinds of markings
of type-written lines:
>
followed by a command you type
*
followed by output from GF
We are ready to start the tour. We begin in the same way as grammar books usually do: from words and their forms. We will also show the most basic syntactic combinations, to explain how the words are used, but syntax proper is treated in the next chapter.
The inflection forms of nouns are shown in the following example:
> %table flower_N s Sg Indef Nom : blomma s Sg Indef Gen : blommas s Sg Def Nom : blomman s Sg Def Gen : blommans s Pl Indef Nom : blommor s Pl Indef Gen : blommors s Pl Def Nom : blommorna s Pl Def Gen : blommornas
The forms together are an example of an inflection pattern. Here are some inflection patterns. They show the declensions 1 to 5.
> %forms flower_N blomma, blommas, blomman, blommans, blommor, blommors, blommorna, blommornas > %forms car_N bil, bils, bilen, bilens, bilar, bilars, bilarna, bilarnas > %forms cat_N katt, katts, katten, kattens, katter, katters, katterna, katternas > %forms apple_N äpple, äpples, äpplet, äpplets, äpplen, äpplens, äpplena, äpplenas > %forms house_N hus, hus, huset, husets, hus, hus, husen, husens
The symbol N
is used in the program to denote nouns. Here it is suffixed to
English words to indicate the meanings of the Swedish nouns. This meaning
can be approximative, or just cover one of the possible senses.
In addition to inflection forms, Swedish nouns also have a gender. The gender is reflected, among other things, in the indefinite article used with the nouns.
> %translate "a man" en man > %translate "a woman" en kvinna > %translate "a house" ett hus
The grammar training program has a small lexicon, with just 182 nouns. To see all there nouns, together with their inflection forms and senses explained in English, you can do as follows:
> generate_trees -cat=N -number=5 | linearize -treebank -list -lang=Swe Demo: airplane_N DemoSwe: flygplan, flygplans, flygplanet, flygplanets, flygplan, flygplans, flygplanen, flygplanens Demo: animal_N DemoSwe: djur, djurs, djuret, djurets, djur, djurs, djuren, djurens Demo: apartment_N DemoSwe: lägenhet, lägenhets, lägenheten, lägenhetens, lägenheter, lägenheters, lägenheterna, lägenheternas Demo: apple_N DemoSwe: äpple, äpples, äpplet, äpplets, äpplen, äpplens, äpplena, äpplenas Demo: art_N DemoSwe: konst, konsts, konsten, konstens, konster, konsters, konsterna, konsternas
If you already know some Swedish,
you can try out a morphology quiz, which lets you train your knowledge
of Swedish noun inflection. You can later train your inflection skills with
other parts of speech, just changing the symbol N
to some other symbol.
morpho_quiz -cat=N -lang=Swe Welcome to GF Morphology Quiz. The quiz is over when you have done at least 10 examples with at least 75 % success. You can interrupt the quiz by entering a line consisting of a dot ('.'). vetenskap s Sg Def Gen vetenskapens > Yes. Score 1/1 kyrka s Pl Indef Nom kyrker > No, not kyrker, but kyrkor Score 1/2
(The above quiz example is swedish for all languages, for technical reasons.)
The quiz questions are randomly generated, so you can use the same quiz for increasing your Swedish skills over and over again.
Another quiz is the translation quiz, which lets you to train translations of nouns from English to Swedish (or, in fact, of any part of speech from any language to any other one). Here is how it goes (to Swedish, for the sake of example):
translation_quiz -from=DemoEng -to=DemoSwe -cat=N Welcome to GF Translation Quiz. The quiz is over when you have done at least 10 examples with at least 75 % success. You can interrupt the quiz by entering a line consisting of a dot ('.'). ceiling tak > Yes. Score 1/1 night nat > No, not nat, but natt
Numerals are in Swedish the easiest way to build complex noun phrases from nouns, since their forms are independent of the noun; the noun is just inflected in the plural indefinite. This is with the exception of "one", whose form depends on the gender of the noun. Here is a quick way to generate the numerals from 1 to 9:
> generate_trees -cat=Sub10 -number=9 | l -lang=Eng,Swe two två three tre four fyra five fem six sex seven sju eight åtta nine nio two två
Any sequence of digits from 1 to 999999 can be translated
to a Swedish numeral with the %numeral
command:
> %numeral "10" tio > %numeral "11" elva > %numeral "20" tjugo > %numeral "123" etthundra tjugotre > %numeral "999999" niohundra nittioniotusen niohundra nittionio
Numerals can be combined with nouns to form noun phrases:
> %translate "one boy" en pojke > %translate "one apple" ett äpple > %translate "two boys" två pojkar > %translate "eleven cars" elva bilar
Numerals are a special case of determiners: words that are combined with nouns to form noun phrases. Articles are anouther special case; we already saw the indefinite articles:
> %translate "a man" en man > %translate "a woman" en kvinna > %translate "a car" en bil > %translate "a house" ett hus
Here are examples with definite articles. In Swedish, they are expressed by inflecting the noun rather than adding a word like English the.
> %translate "the man" mannen > %translate "the woman" kvinnan > %translate "the car" bilen > %translate "the house" huset
Definite articles in the plural:
> %translate "the men" männen > %translate "the women" kvinnorna > %translate "the cars" bilarna > %translate "the houses" husen
The indefinite forms in the plural form look as follows. English, like many other languages, have no explicit indefinite article: just use the plural form of the noun.
> %translate "men" män > %translate "women" kvinnor > %translate "cars" bilar > %translate "houses" hus
Other common determiners are shown in the following:
> %translate "this car" den här bilen > %translate "that car" den där bilen > %translate "these cars" de här bilarna > %translate "those cars" de där bilarna > %translate "some cars" några bilar > %translate "all cars"
Generate more examples of nouns with determiners:
> gr -number=11 (UttNP (DetCN ? (UseN ?))) | l -lang=Eng,Swe some sister någon syster many men många män those dusts de där dammen many pens många pennor some sticks några pinnar every boss varje chef few houses få hus some wars några krig some school någon skola many moons många månar a flower en blomma
You will find out that other determiners can combine with numerals, such as in
> %translate "these seven sisters" de här sju systrarna > %translate "the seven sisters" de sju systrarna
thus with a numeral, the definite article suddenly appears as a word.
The random generation above used a pattern for generating
expressions of the form (UttNP (DetCN ? (UseN ?)))
, where just the
question marks may vary. Such patterns can also be used to fine-tune quizzes.
For instance, here is a translation quiz for nouns with determiners:
trans_quiz -from=DemoEng -to=DemoSwe (UttNP (DetCN ? (UseN ?)))
Adjectives generally have more forms than nouns. Here is an example showing the available forms for Swedish adjectives:
> %table warm_A s (AF (APosit (Strong (GSg Utr))) Nom) : varm s (AF (APosit (Strong (GSg Utr))) Gen) : varms s (AF (APosit (Strong (GSg Neutr))) Nom) : varmt s (AF (APosit (Strong (GSg Neutr))) Gen) : varmts s (AF (APosit (Strong GPl)) Nom) : varma s (AF (APosit (Strong GPl)) Gen) : varmas s (AF (APosit (Weak Sg)) Nom) : varma s (AF (APosit (Weak Sg)) Gen) : varmas s (AF (APosit (Weak Pl)) Nom) : varma s (AF (APosit (Weak Pl)) Gen) : varmas s (AF ACompar Nom) : varmare s (AF ACompar Gen) : varmares s (AF (ASuperl SupStrong) Nom) : varmast s (AF (ASuperl SupStrong) Gen) : varmasts s (AF (ASuperl SupWeak) Nom) : varmaste s (AF (ASuperl SupWeak) Gen) : varmastes
The comparative and superlative forms are often formed syntactically, by using words similar to more and most.
Here are some examples of adjective inflections:
> %forms good_A god, gods, gott, gotts, goda, godas, goda, godas, goda, godas, bättre, bättres, bäst, bästs, bästa, bästas > %forms bad_A dålig, dåligs, dåligt, dåligts, dåliga, dåligas, dåliga, dåligas, dåliga, dåligas, sämre, sämres, sämst, sämsts, sämsta, sämstas > %forms rotten_A rutten, ruttens, ruttet, ruttets, ruttna, ruttnas, ruttna, ruttnas, ruttna, ruttnas, ruttnare, ruttnares, ruttnast, ruttnasts, ruttnaste, ruttnastes > %forms important_A viktig, viktigs, viktigt, viktigts, viktiga, viktigas, viktiga, viktigas, viktiga, viktigas, viktigare, viktigares, viktigast, viktigasts, viktigaste, viktigastes > %forms stupid_A dum, dums, dumt, dumts, dumma, dummas, dumma, dummas, dumma, dummas, dummare, dummares, dummast, dummasts, dummaste, dummastes
The morpho quiz for adjectives is as one would expect:
morpho_quiz -cat=A -lang=DemoSwe
Adjectives can be used to modify nouns. The form of the adjective may then depend on the gender of the noun.
> %translate "old man" gammal man > %translate "old woman" gammal kvinna > %translate "old house" gammalt hus
The adjective+noun combination is inflected for the same forms as the bare noun:
> parse -cat=CN "old house" | %forms gammalt hus, gammalt hus, gamla hus, gamla hus, gamla huset, gamla husets, gamla hus, gamla hus, gamla hus, gamla hus, gamla husen, gamla husens
Here are the quizzes for training the adjectival modification of nouns:
translate_quiz -from=DemoEng -to=DemoSwe (AdjCN (PositA ?) (UseN ?)) morpho_quiz -lang=DemoSwe (AdjCN (PositA ?) (UseN ?))
Adjectives can be combined to adjectival phrases (AP). One way to do this is by means of adadjectives, such as very and too:
> p -lang=Eng -cat=AP "very old" | l -lang=Swe mycket gammal > p -lang=Eng -cat=AP "too heavy" | l -lang=Swe för tung
The comparative forms can be used for building adjectival phrases together with noun phrase complements:
> p -lang=Eng -cat=AP "warmer than the sun" | l -lang=Swe
Also these complex AP's can modify common nouns. The word order can be different from modification with simple adjectives.
> p -lang=Eng -cat=CN "country warmer than the sun" | l -lang=Swe > p -lang=Eng -cat=CN "very warm country" | l -lang=Swe mycket varmt land
Quizzes for such constructions are as follows:
translate_quiz -from=DemoEng -to=DemoSwe (AdjCN ? (UseN ?)) morpho_quiz -lang=DemoSwe (AdjCN ? (UseN ?))
Personal pronouns have many forms:
> %table we_Pron s NPNom : vi s NPAcc : oss s (NPPoss (GSg Utr)) : vår s (NPPoss (GSg Neutr)) : vårt s (NPPoss GPl) : våra
Here are the forms of all personal pronouns of Swedish:
> %forms i_Pron jag, mig, min, mitt, mina > %forms youSg_Pron du, dig, din, ditt, dina > %forms youPol_Pron ni, er, er, ert, era > %forms he_Pron han, honom, hans, hans, hans > %forms she_Pron hon, henne, hennes, hennes, hennes > %forms we_Pron vi, oss, vår, vårt, våra > %forms youPl_Pron ni, er, er, ert, era > %forms they_Pron de, dem, deras, deras, deras
Notice the polite and plural forms of you, which English doesn't have.
The possessive forms of pronouns are used as determiners:
> %translate "her house , my car and our children"
Here's the pattern for training the combination of possessive pronouns and
nouns, with the morpho_quiz
and translate_quiz
commands:
(DetCN (DetQuant (PossPron ?) ?) (UseN ?))
Prepositions are not inflected. But when attached to noun phrases, they may affect the inflection of the noun phrase. In some languages, no preposition word may be shown, but just a different form of the noun phrase.
> %translate "my yellow house" mitt gula hus > %translate "in my yellow house" i mitt gula hus > %translate "to my yellow house" till mitt gula hus > %translate "from my yellow house" från mitt gula hus > %translate "with my yellow house" med mitt gula hus > %translate "without my yellow house" utan mitt gula hus
Pronouns show in some languages even more variation.
To train prepositional phrases, use the pattern
(PrepNP ? ?)
Verbs usually have more inflection forms than any other words:
> %table sleep_V s (VF (VPres Act)) : sover s (VF (VPres Pass)) : sovs s (VF (VPret Act)) : sov s (VF (VPret Pass)) : sovs s (VF (VImper Act)) : sov s (VF (VImper Pass)) : sovs s (VI (VInfin Act)) : sova s (VI (VInfin Pass)) : sovas s (VI (VSupin Act)) : sovit s (VI (VSupin Pass)) : sovits s (VI (VPtPret (Strong (GSg Utr)) Nom)) : soven s (VI (VPtPret (Strong (GSg Utr)) Gen)) : sovens s (VI (VPtPret (Strong (GSg Neutr)) Nom)) : sovet s (VI (VPtPret (Strong (GSg Neutr)) Gen)) : sovets s (VI (VPtPret (Strong GPl) Nom)) : sovna s (VI (VPtPret (Strong GPl) Gen)) : sovnas s (VI (VPtPret (Weak Sg) Nom)) : sovna s (VI (VPtPret (Weak Sg) Gen)) : sovnas s (VI (VPtPret (Weak Pl) Nom)) : sovna s (VI (VPtPret (Weak Pl) Gen)) : sovnas part :
Here are some inflection examples:
> %forms speak_V2 talar, talas, talade, talades, tala, talas, tala, talas, talat, talats, talad, talads, talat, talats, talade, talades, talade, talades, talade, talades, , > %forms play_V2 spelar, spelas, spelade, spelades, spela, spelas, spela, spelas, spelat, spelats, spelad, spelads, spelat, spelats, spelade, spelades, spelade, spelades, spelade, spelades, , > %forms buy_V2 köper, köps, köpte, köptes, köp, köps, köpa, köpas, köpt, köpts, köpt, köpts, köpt, köpts, köpta, köptas, köpta, köptas, köpta, köptas, , > %forms run_V springer, springs, sprang, sprangs, spring, springs, springa, springas, sprungit, sprungits, sprungen, sprungens, sprunget, sprungets, sprungna, sprungnas, sprungna, sprungnas, sprungna, sprungnas, > %forms walk_V går, gås, gick, gicks, gå, gås, gå, gås, gått, gåtts, gången, gångens, gånget, gångets, gångna, gångnas, gångna, gångnas, gångna, gångnas,
In some languages, verbs can be very irregular.
There are different subcategories of verbs: intransitive verbs (V), two-place verbs (V2), sentence-complement verbs (VS). The differences have to do with syntax, and will be discussed later.
Above, we have discussed some syntactic combinations: determination (the car, this car) and adjectival modification (old car). In this chapter, we concentrate on the formation of sentences.
In predication, a verb is give its arguments: the subject (the one who does something) and the complements (what is done, to whom it is done, etc). The simplest predication is with intransitive verbs, which only have the subject:
> %translate "he walks" han går > %translate "we sleep" vi sover > %translate "the very old woman sings" den mycket gamla kvinnan sjunger
A predication forms a clause, which corresponds to many different (yes or no), and possibly a word order (inverted question, subordinate clause), a mood (indicative, subjunctive). Here is a table showing what forms a clause can have in Swedish:
> p -cat=Cl -lang=Eng "the man walks" | %table s Pres Simul Pos Main : mannen går s Pres Simul Pos Inv : går mannen s Pres Simul Pos Sub : mannen går s Pres Simul Neg Main : mannen går inte s Pres Simul Neg Inv : går mannen inte s Pres Simul Neg Sub : mannen inte går s Pres Anter Pos Main : mannen har gått s Pres Anter Pos Inv : har mannen gått s Pres Anter Pos Sub : mannen har gått s Pres Anter Neg Main : mannen har inte gått s Pres Anter Neg Inv : har mannen inte gått s Pres Anter Neg Sub : mannen inte har gått s Past Simul Pos Main : mannen gick s Past Simul Pos Inv : gick mannen s Past Simul Pos Sub : mannen gick s Past Simul Neg Main : mannen gick inte s Past Simul Neg Inv : gick mannen inte s Past Simul Neg Sub : mannen inte gick s Past Anter Pos Main : mannen hade gått s Past Anter Pos Inv : hade mannen gått s Past Anter Pos Sub : mannen hade gått s Past Anter Neg Main : mannen hade inte gått s Past Anter Neg Inv : hade mannen inte gått s Past Anter Neg Sub : mannen inte hade gått s Fut Simul Pos Main : mannen ska gå s Fut Simul Pos Inv : ska mannen gå s Fut Simul Pos Sub : mannen ska gå s Fut Simul Neg Main : mannen ska inte gå s Fut Simul Neg Inv : ska mannen inte gå s Fut Simul Neg Sub : mannen inte ska gå s Fut Anter Pos Main : mannen ska ha gått s Fut Anter Pos Inv : ska mannen ha gått s Fut Anter Pos Sub : mannen ska ha gått s Fut Anter Neg Main : mannen ska inte ha gått s Fut Anter Neg Inv : ska mannen inte ha gått s Fut Anter Neg Sub : mannen inte ska ha gått s Cond Simul Pos Main : mannen skulle gå s Cond Simul Pos Inv : skulle mannen gå s Cond Simul Pos Sub : mannen skulle gå s Cond Simul Neg Main : mannen skulle inte gå s Cond Simul Neg Inv : skulle mannen inte gå s Cond Simul Neg Sub : mannen inte skulle gå s Cond Anter Pos Main : mannen skulle ha gått s Cond Anter Pos Inv : skulle mannen ha gått s Cond Anter Pos Sub : mannen skulle ha gått s Cond Anter Neg Main : mannen skulle inte ha gått s Cond Anter Neg Inv : skulle mannen inte ha gått s Cond Anter Neg Sub : mannen inte skulle ha gått
The following quiz can be used for training the inflection of intransitive clauses:
morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) (UseV ?))
The following quiz translates English sentences in random tenses and polarities:
translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) (UseV ?)))
Transitive verbs take an object in the accusative case (if there is a case):
> %translate "he loves her" han älskar henne
A generalization is two-place verbs, where the object is in some other case, or has a preposition. What is transitive in one language can often require a preposition in another language:
> %translate "he waits for her" han väntar på henne > %translate "he likes her" han tycker om henne
Three-place verbs usually take an object and another argument:
> %translate "the king gave the city to the queen" kungen gav staden till drottningen
There are also verbs that have a sentence or a question as an argument, possibly with an object:
> %translate "he said that the man walks" han sade att mannen går > %translate "he wonders who sleeps" han undrar vem som sover > %translate "he asked me who sleeps" han frågade mig vem som sover > %translate "we answer to him that everybody sleeps" vi svarar till honom att alla sover
There are also verbs that take other verbs (with their complements) as arguments:
> %translate "we must sleep" vi måste sova > %translate "we want to wait for her" vi vill vänta på henne
The verb to be takes adjectives and noun phrases as arguments:
> %translate "he is very old" han är mycket gammal > %translate "he is an old man" han är en gammal man
The following quiz can be used for training the inflection of clauses with any verb:
morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) ?)
The following quiz can be used for training the inflection of clauses with to be:
morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) (UseComp ?))
The following quiz translates English sentences in random tenses and polarities:
translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) ?))
Questions are similar to sentences, but can have a different word order:
> %translate "is he very old" är han mycket gammal > %translate "would I sleep" skulle jag sova
Questions can moreover have interrogatives as their arguments, instead of norman nouns:
> %translate "who doesn't sleep" vem sover inte > %translate "whom did she see" vem såg hon
Sentences without interrogatives can be made to questions with
> %translate "where will we sleep" var ska vi sova > %translate "why didn't she wait for us" varför väntade hon inte på oss
There are three levels of involvement, from the easiest to the hardest,
1. To create the tour for a language that is in the library, e.g. Spanish, just run
make Spa
in the directory GF/lib/doc/tour
. You need the following things for this
to work out
Demo.pgf
, downloadable from
here or makeable in
GF/lib/src
with make demo
runghc
available in any GHC installation
txt2tags
2. To customize the tour, edit the master file GF/lib/doc/tour/tour.txt
.
The customization mainly proceeds by adding lines marked #Spa
(if Spanish is
your target language). This can be done both for text lines, e.g.
#Spa Swedish has separate second-person plural pronouns for both genders.
and for GF command lines, e.g.
#Spa %translate "you are very old"
In both cases, one can also add #Spa
to the existing markings if they are
adequate, e.g.
#Fre,Spa Swedish has two genders: the masculine and the feminine.
It's in particular for this purpose that we recommend using the variable Swedish
rather than the constant Spanish
. The make
procedure replaces the variable with
the constant automatically. Similarly, the language code Spa
used in GF commands
should be avoided and the variable Swe
used instead.
In general, the master file tour.txt
is processed line by line. It has five kinds
of lines, distinguished by the prefix of the line:
#
LANGS >
COMMAND : language-specific GF command
#
LANGS TEXT : language-specific text
>
COMMAND : language-independent GF command
*
: ignored; included for the sake of documentation
Here LANGS is a comma-separated list of 3-letter language codes,
such as Fre,Spa,Ita
.
3. To contribute a new language to the library, see the GF Resource Grammar Project.
In cases (2) and (3), please contribute your work to the GF community!