From 9758029c55c284f51efa086419567c07a8326180 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 7 Feb 2006 18:06:30 +0000 Subject: [PATCH] ParadigmsFIn.html --- lib/resource-1.0/doc/gfdoc/ParadigmsFin.html | 532 +++++++++++++++++++ 1 file changed, 532 insertions(+) create mode 100644 lib/resource-1.0/doc/gfdoc/ParadigmsFin.html diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html new file mode 100644 index 000000000..3af26d9b5 --- /dev/null +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html @@ -0,0 +1,532 @@ + + + + + + + + +

+
+

+ + +

+
+

+

+Author: +Last update: Tue Feb 7 19:04:51 2006 +

+

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

+

+== +

+

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

+ +

Finnish Lexical Paradigms

+

+Aarne Ranta 2003--2005 +

+

+This is an API to the user of the resource grammar +for adding lexical items. It gives functions for forming +expressions of open categories: nouns, adjectives, verbs. +

+

+Closed categories (determiners, pronouns, conjunctions) are +accessed through the resource syntax API, Structural.gf. +

+

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

+

+The structure of functions for each word class C is the following: +first we give a handful of patterns that aim to cover all +regular cases. Then we give a worst-case function mkC, which serves as an +escape to construct the most irregular words of type C. +However, this function should only seldom be needed: we have a +separate module IrregularFin, which covers all irregularly inflected +words. +

+

+The following modules are presupposed: +

+
+    resource ParadigmsFin = open 
+      (Predef=Predef), 
+      Prelude, 
+      MorphoFin,
+      CatFin
+      in {
+
+

+

+flags optimize=all ; +

+
+      flags optimize=noexpand ;
+
+

+ +

Parameters

+

+To abstract over gender, number, and (some) case names, +we define the following identifiers. The application programmer +should always use these constants instead of their definitions +in TypesInf. +

+
+    oper
+      Number   : Type ;
+    
+      singular : Number ;
+      plural   : Number ;
+    
+      Case        : Type ;
+      nominative  : Case ; 
+      genitive    : Case ; 
+      partitive   : Case ; 
+      translative : Case ; 
+      inessive    : Case ; 
+      elative     : Case ; 
+      illative    : Case ; 
+      adessive    : Case ; 
+      ablative    : Case ; 
+      allative    : Case ;
+
+

+

+The following type is used for defining rection, i.e. complements +of many-place verbs and adjective. A complement can be defined by +just a case, or a pre/postposition and a case. +

+
+      prePrep     : Case -> Str -> Prep ;  -- ilman, partitive
+      postPrep    : Case -> Str -> Prep ;  -- takana, genitive
+      postGenPrep :         Str -> Prep ;  -- takana
+      casePrep    : Case ->        Prep ;  -- adessive
+      accusative  : Prep ;
+
+

+ +

Nouns

+

+The worst case gives ten forms and the semantic gender. +In practice just a couple of forms are needed, to define the different +stems, vowel alternation, and vowel harmony. +

+
+    oper
+      mkN : (talo,   talon,   talona, taloa, taloon,
+             taloina,taloissa,talojen,taloja,taloihin : Str) -> N ;
+
+

+

+The regular noun heuristic takes just one form (singular +nominative) and analyses it to pick the correct paradigm. +It does automatic grade alternation, and is hence not usable +for words like auto (whose genitive would become audon). +

+
+      regN : (talo : Str) -> N ;
+
+

+

+If regN does not give the correct result, one can try and give +two or three forms as follows. Examples of the use of these +functions are given in BasicFin. Most notably, reg2N is used +for nouns like kivi - kiviä, which would otherwise become like +rivi - rivejä. regN3 is used e.g. for +sydän - sydämen - sydämiä, which would otherwise become +sydän - sytämen. +

+
+      reg2N : (savi,savia : Str) -> N ;
+      reg3N : (vesi,veden,vesiä : Str) -> N ;
+
+

+

+Some nouns have an unexpected singular partitive, e.g. meri, lumi. +

+
+      sgpartN : (meri : N) -> (merta : Str) -> N ;
+      nMeri   : (meri : Str) -> N ;
+
+

+

+The rest of the noun paradigms are mostly covered by the three +heuristics. +

+

+Nouns with partitive a///ä// are a large group. +To determine for grade and vowel alternation, three forms are usually needed: +singular nominative and genitive, and plural partitive. +Examples: talo, kukko, huippu, koira, kukka, syylä, särki... +

+
+      nKukko : (kukko,kukon,kukkoja : Str) -> N ;
+
+

+

+For convenience, we define 1-argument paradigms as producing the +nonhuman gender; the following function changes this: +

+
+      humanN : N -> N ;
+
+

+

+A special case are nouns with no alternations: +the vowel harmony is inferred from the last letter, +which must be one of o, u, ö, y. +

+
+      nTalo : (talo : Str) -> N ;
+
+

+

+Another special case are nouns where the last two consonants +undergo regular weak-grade alternation: +kukko - kukon, rutto - ruton, hyppy - hypyn, sampo - sammon, +kunto - kunnon, sisältö - sisällön, . +

+
+      nLukko : (lukko : Str) -> N ;
+
+

+

+arpi - arven, sappi - sapen, kampi - kammen;sylki - syljen +

+
+      nArpi  : (arpi : Str) -> N ;
+      nSylki : (sylki : Str) -> N ;
+
+

+

+Foreign words ending in consonants are actually similar to words like +malli///mallin/malleja, with the exception that the //i is not attached +to the singular nominative. Examples: linux, savett, screen. +The singular partitive form is used to get the vowel harmony. (N.B. more than +1-syllabic words ending in n would have variant plural genitive and +partitive forms, like sultanien///sultaneiden//, which are not covered.) +

+
+      nLinux : (linuxia : Str) -> N ;
+
+

+

+Nouns of at least 3 syllables ending with a or ä, like peruna, tavara, +rytinä. +

+
+      nPeruna : (peruna : Str) -> N ;
+
+

+

+The following paradigm covers both nouns ending in an aspirated e, such as +rae, perhe, savuke, and also many ones ending in a consonant +(rengas, kätkyt). The singular nominative and essive are given. +

+
+      nRae : (rae, rakeena : Str) -> N ;
+
+

+

+The following covers nouns with partitive ta///tä//, such as +susi, vesi, pieni. To get all stems and the vowel harmony, it takes +the singular nominative, genitive, and essive. +

+
+      nSusi : (susi,suden,sutta : Str) -> N ;
+
+

+

+Nouns ending with a long vowel, such as puu, pää, pii, leikkuu, +are inflected according to the following. +

+
+      nPuu : (puu : Str) -> N ;
+
+

+

+One-syllable diphthong nouns, such as suo, tie, työ, are inflected by +the following. +

+
+      nSuo : (suo : Str) -> N ;
+
+

+

+Many adjectives but also nouns have the nominative ending nen which in other +cases becomes s: nainen, ihminen, keltainen. +To capture the vowel harmony, we use the partitive form as the argument. +

+
+      nNainen : (naista : Str) -> N ;
+
+

+

+The following covers some nouns ending with a consonant, e.g. +tilaus, kaulin, paimen, laidun. +

+
+      nTilaus : (tilaus,tilauksena : Str) -> N ;
+
+

+

+Special case: +

+
+      nKulaus : (kulaus : Str) -> N ;
+
+

+

+The following covers nouns like nauris and adjectives like kallis, tyyris. +The partitive form is taken to get the vowel harmony. +

+
+      nNauris : (naurista : Str) -> N ;
+
+

+

+Separately-written compound nouns, like sambal oelek, Urho Kekkonen, +have only their last part inflected. +

+
+      compN : Str -> N -> N ;
+
+

+

+Nouns used as functions need a case, of which by far the commonest is +the genitive. +

+
+      mkN2  : N -> Prep -> N2 ;
+      genN2 : N -> N2 ;
+    
+      mkN3  : N -> Prep -> Prep -> N3 ;
+
+

+

+Proper names can be formed by using declensions for nouns. +The plural forms are filtered away by the compiler. +

+
+      mkPN  : N -> PN ;
+      mkNP  : N -> Number -> NP ; 
+
+

+ +

Adjectives

+

+Non-comparison one-place adjectives are just like nouns. +

+
+      mkA : N -> A ;
+
+

+

+Two-place adjectives need a case for the second argument. +

+
+      mkA2 : A -> Prep -> A2 ;
+
+

+

+Comparison adjectives have three forms. The comparative and the superlative +are always inflected in the same way, so the nominative of them is actually +enough (except for the superlative paras of hyvä). +

+
+      mkADeg : (kiva : N) -> (kivempaa,kivinta : Str) -> A ;
+
+

+

+The regular adjectives are based on regN in the positive. +

+
+      regADeg : (punainen : Str) -> A ;
+
+

+ +

Verbs

+

+The grammar does not cover the potential mood and some nominal +forms. One way to see the coverage is to linearize a verb to +a table. +The worst case needs twelve forms, as shown in the following. +

+
+      mkV   : (tulla,tulee,tulen,tulevat,tulkaa,tullaan,
+               tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V ;
+
+

+

+The following heuristics cover more and more verbs. +

+
+      regV  : (soutaa : Str) -> V ;
+      reg2V : (soutaa,souti : Str) -> V ;
+      reg3V : (soutaa,soudan,souti : Str) -> V ;
+
+

+

+The subject case of verbs is by default nominative. This dunction can change it. +

+
+      subjcaseV : V -> Case -> V ;
+
+

+

+The rest of the paradigms are special cases mostly covered by the heuristics. +A simple special case is the one with just one stem and without grade alternation. +

+
+      vValua : (valua : Str) -> V ;
+
+

+

+With two forms, the following function covers a variety of verbs, such as +ottaa, käyttää, löytää, huoltaa, hiihtää, siirtää. +

+
+      vKattaa : (kattaa, katan : Str) -> V ;
+
+

+

+When grade alternation is not present, just a one-form special case is needed +(poistaa, ryystää). +

+
+      vOstaa : (ostaa : Str) -> V ;
+
+

+

+The following covers +juosta, piestä, nousta, rangaista, kävellä, surra, panna. +

+
+      vNousta : (nousta, nousen : Str) -> V ;
+
+

+

+This is for one-syllable diphthong verbs like juoda, syödä. +

+
+      vTuoda : (tuoda : Str) -> V ;
+
+

+

+All the patterns above have nominative as subject case. +If another case is wanted, use the following. +

+
+      caseV : Case -> V -> V ;
+
+

+

+The verbs be is special. +

+
+      vOlla : V ;
+
+

+

+Two-place verbs need a case, and can have a pre- or postposition. +

+
+      mkV2 : V -> Prep -> V2 ;
+
+

+

+If the complement needs just a case, the following special function can be used. +

+
+      caseV2 : V -> Case -> V2 ;
+
+

+

+Verbs with a direct (accusative) object +are special, since their complement case is finally decided in syntax. +But this is taken care of by ClauseFin. +

+
+      dirV2 : V -> V2 ;
+
+

+ +

Three-place verbs

+

+Three-place (ditransitive) verbs need two prepositions, of which +the first one or both can be absent. +

+
+      mkV3     : V -> Prep -> Prep -> V3 ;    -- speak, with, about
+      dirV3    : V -> Case -> V3 ;            -- give,_,to
+      dirdirV3 : V         -> V3 ;            -- acc, allat
+
+

+ +

Other complement patterns

+

+Verbs and adjectives can take complements such as sentences, +questions, verb phrases, and adjectives. +

+
+      mkV0  : V -> V0 ;
+      mkVS  : V -> VS ;
+      mkV2S : V -> Prep -> V2S ;
+      mkVV  : V -> VV ;
+      mkV2V : V -> Prep -> V2V ;
+      mkVA  : V -> Prep -> VA ;
+      mkV2A : V -> Prep -> Prep -> V2A ;
+      mkVQ  : V -> VQ ;
+      mkV2Q : V -> Prep -> V2Q ;
+    
+      mkAS  : A -> AS ;
+      mkA2S : A -> Prep -> A2S ;
+      mkAV  : A -> AV ;
+      mkA2V : A -> Prep -> A2V ;
+
+

+

+Notice: categories V2S, V2V, V2Q are in v 1.0 treated +just as synonyms of V2, and the second argument is given +as an adverb. Likewise AS, A2S, AV, A2V are just A. +V0 is just V. +

+
+      V0, V2S, V2V, V2Q : Type ;
+      AS, A2S, AV, A2V : Type ;
+
+

+

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

+ + + +