Produced by gfdoc - a rudimentary GF document generator. (c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL.

#

# -path=.:../abstract:../../prelude

# Swedish Lexical Paradigms

Aarne Ranta 2003

This is an API to the user of the resource grammar for adding lexical items. It give shortcuts for forming expressions of basic categories: nouns, adjectives, verbs. Closed categories (determiners, pronouns, conjunctions) are accessed through the resource syntax API, `Structural.gf`.

The main difference with `MorphoSwe.gf` is that the types referred to are compiled resource grammar types. We have moreover had the design principle of always having existing forms, not stems, as string arguments of the paradigms.

The following modules are presupposed:

      resource ParadigmsSwe = open (Predef=Predef), Prelude, SyntaxSwe, ResourceSwe in {

## Parameters

To abstract over gender names, we define the following identifiers.

      oper
        utrum   : Gender ;
        neutrum : Gender ;

        masculine    : Sex ;
        nonmasculine : Sex ;

To abstract over case names, we define the following.

        nominative : Case ;
        genitive   : Case ;

To abstract over number names, we define the following.

        singular : Number ;
        plural   : Number ;

## Nouns

Worst case: give all nominative forms and the gender. The genitive is formed automatically, even when the nominative ends with an s.

        mkN  : (_,_,_,_ : Str) -> Gender -> Sex -> N ;
                                       -- man, mannen, män, männen

Here are some common patterns, corresponding to school-gramamr declensions. Except `nPojke`, `nKarl`, and `nMurare`, they are defined to be `nonmasculine`, which means that they don't create the definite adjective form with e but with a.

        nApa    : Str -> N ;   -- apa    (apan, apor, aporna) ; utrum
        nBil    : Str -> N ;   -- bil    (bilen, bilar, bilarna) ; utrum
        nKarl   : Str -> N ;   -- karl   (karlen, karlar, karlarna) ; utrum ; masculine
        nPojke  : Str -> N ;   -- pojke  (pojken, pojkar, pojkarna) ; utrum ; masculine
        nNyckel : Str -> N ;   -- nyckel (nyckeln, nycklar, nycklarna) ; utrum
        nRisk   : Str -> N ;   -- risk   (risken, risker, riskerna) ; utrum
        nDike   : Str -> N ;   -- dike   (diket, diken, dikena) ; neutrum
        nRep    : Str -> N ;   -- rep    (repet, rep, repen) ; neutrum
        nPapper : Str -> N ;   -- papper (pappret, papper, pappren) ; neutrum
        nMurare : Str -> N ;   -- murare (muraren, murare, murarna) ; utrum ; masculine
        nKikare : Str -> N ;   -- kikare (kikaren, kikare, kikarna) ; utrum

Nouns used as functions need a preposition. The most common ones are av, på, and till. A preposition is a string.

        mkFun   : N -> Str -> Fun ;
        funAv   : N -> Fun ;
        funPaa  : N -> Fun ;
        funTill : N -> Fun ;

Proper names, with their possibly irregular genitive. The regular genitive is s, omitted after s.

        mkPN  : (_,_ : Str) -> Gender -> Sex -> PN ;  -- Karolus, Karoli
        pnReg : Str -> Gender -> Sex -> PN ;          -- Johan,Johans ; Johannes, Johannes
        pnS   : Str -> Gender -> Sex -> PN ;          -- "Burger King(s)"

On the top level, it is maybe `CN` that is used rather than `N`, and `NP` rather than `PN`.

        mkCN  : N -> CN ;
        mkNP  : (Karolus, Karoli : Str) -> Gender -> NP ;

        npReg : Str -> Gender -> NP ;   -- Johann, Johanns

## Adjectives

Non-comparison one-place adjectives need four forms in the worst case: strong singular, weak singular, plural.

        mkAdj1 : (_,_,_,_ : Str) -> Adj1 ; -- liten, litet, lilla, små

Special cases needing one form each are: regular adjectives, adjectives with unstressed e in the last syllable, those ending with n as a further special case, and invariable adjectives.

        adjReg    : Str -> Adj1 ;          -- billig (billigt, billiga, billiga)
        adjNykter : Str -> Adj1 ;          -- nykter (nyktert, nyktra, nyktra)
        adjGalen  : Str -> Adj1 ;          -- galen  (galet, galna, galna)
        adjInvar  : Str -> Adj1 ;          -- bra

Two-place adjectives need a preposition and a case as extra arguments.

        mkAdj2    : Adj1 -> Str -> Adj2 ;  -- delbar, med
        mkAdj2Reg : Str  -> Str -> Adj2 ;  --

Comparison adjectives may need the three four forms for the positive case, plus three more forms for the comparison cases.

        mkAdjDeg : (liten, litet, lilla, sma, mindre, minst, minsta : Str) -> AdjDeg ;

Some comparison adjectives are completely regular.

        aReg : Str -> AdjDeg ;

On top level, there are adjectival phrases. The most common case is just to use a one-place adjective. The variation in `adjGen` is taken into account.

        apReg : Str -> AP ;

## Adverbs

Adverbs are not inflected. Most lexical ones have position not before the verb. Some can be preverbal (e.g. alltid).

        mkAdv : Str -> AdV ;
        mkAdvPre : Str -> AdV ;

Adverbs modifying adjectives and sentences can also be formed.

        mkAdA : Str -> AdA ;
        mkAdS : Str -> AdS ;

Prepositional phrases are another productive form of adverbials.

        mkPP : Str -> NP -> AdV ;

## Verbs

The fragment only has present tense so far. The worst case needs three forms: the infinitive, the indicative, and the imperative.

        mkV : (_,_,_ : Str) -> V ;   -- vara, är, var; trivas, trivs, trivs

The main conjugations need one string each.

        vKoka   : Str -> V ;          -- tala (talar, tala)
        vSteka  : Str -> V ;          -- leka (leker, lek)
        vBo     : Str -> V ;          -- bo   (bor, bo)

        vAndas  : Str -> V ;          -- andas [all forms the same: also "slåss"]
        vTrivas : Str -> V ;          -- trivas (trivs, trivs)

The verbs 'be' and 'have' are special.

        vVara  : V ;
        vHa    : V ;

Particle verbs are formed by putting together a verb and a particle. If the verb already has a particle, it is replaced by the new one.

        mkPartV : V -> Str -> V ;     -- stänga av ;

Two-place verbs, and the special case with direct object.

        mkTV     : V -> Str -> TV ;   -- tycka, om
        tvDir    : V -> TV ;          -- gilla

Ditransitive verbs.

        mkV3     : V -> Str -> Str -> V3 ;   -- prata, med, om
        v3Dir    : V -> Str -> V3 ;          -- ge,_,till
        v3DirDir : V -> V3 ;                 -- ge,_,_

The definitions should not bother the user of the API. So they are hidden from the document.