diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html new file mode 100644 index 000000000..ee635400c --- /dev/null +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html @@ -0,0 +1,448 @@ + + + + + + + + +

+
+

+ + +

+
+

+

+Author: +Last update: Thu Jan 26 15:05:58 2006 +

+

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

+

+== +

+

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

+ +

Norwegian Lexical Paradigms

+

+Aarne Ranta 2003 +

+

+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 MorphoNor.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 IrregularEng, which covers all irregularly inflected +words. +

+
+    resource ParadigmsNor = 
+      open 
+        (Predef=Predef), 
+        Prelude, 
+        CommonScand, 
+        ResNor, 
+        MorphoNor, 
+        CatNor in {
+
+

+ +

Parameters

+

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

+
+    oper
+      Gender : Type ; 
+    
+      masculine : Gender ;
+      feminine  : Gender ;
+      neutrum   : Gender ;
+
+

+

+To abstract over number names, we define the following. +

+
+      Number : Type ; 
+    
+      singular : Number ;
+      plural   : Number ;
+
+

+

+To abstract over case names, we define the following. +

+
+      Case : Type ;
+    
+      nominative : Case ;
+      genitive   : Case ;
+
+

+

+Prepositions used in many-argument functions are just strings. +

+
+      Preposition : Type = Str ;
+
+

+ +

Nouns

+

+Worst case: give all four forms. The gender is computed from the +last letter of the second form (if n, then utrum, otherwise neutrum). +

+
+      mkN  : (dreng,drengen,drenger,drengene : Str) -> N ;
+
+

+

+The regular function takes the singular indefinite form and the gender, +and computes the other forms by a heuristic. +If in doubt, use the cc command to test! +

+
+      regN : Str -> Gender -> N ;
+
+

+

+This function takes the singular indefinite and definite forms; the +gender is computed from the definite form. +

+
+      mk2N : (bil,bilen : Str) -> N ;
+
+

+ +

Compound nouns

+

+All the functions above work quite as well to form compound nouns, +such as fotboll. +

+ +

Relational nouns

+

+Relational nouns (daughter of x) need a preposition. +

+
+      mkN2 : N -> Preposition -> N2 ;
+
+

+

+The most common preposition is av, and the following is a +shortcut for regular, nonhuman relational nouns with av. +

+
+      regN2 : Str -> Gender -> N2 ;
+
+

+

+Use the function mkPreposition or see the section on prepositions below to +form other prepositions. +

+

+Three-place relational nouns (the connection from x to y) need two prepositions. +

+
+      mkN3 : N -> Preposition -> Preposition -> N3 ;
+
+

+ +

Relational common noun phrases

+

+In some cases, you may want to make a complex CN into a +relational noun (e.g. the old town hall of). However, N2 and +N3 are purely lexical categories. But you can use the AdvCN +and PrepNP constructions to build phrases like this. +

+ +

Proper names and noun phrases

+

+Proper names, with a regular genitive, are formed as follows +

+
+      regPN : Str -> Gender -> PN ;          -- John, John's
+
+

+

+Sometimes you can reuse a common noun as a proper name, e.g. Bank. +

+
+      nounPN : N -> PN ;
+
+

+

+To form a noun phrase that can also be plural and have an irregular +genitive, you can use the worst-case function. +

+
+      mkNP : Str -> Str -> Number -> Gender -> NP ; 
+
+

+ +

Adjectives

+

+Non-comparison one-place adjectives need three forms: +

+
+      mkA : (galen,galet,galne : Str) -> A ;
+
+

+

+For regular adjectives, the other forms are derived. +

+
+      regA : Str -> A ;
+
+

+

+In most cases, two forms are enough. +

+
+      mk2A : (stor,stort : Str) -> A ;
+
+

+ +

Two-place adjectives

+

+Two-place adjectives need a preposition for their second argument. +

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

+

+Comparison adjectives may need as many as five forms. +

+
+      mkADeg : (stor,stort,store,storre,storst : Str) -> A ;
+
+

+

+The regular pattern works for many adjectives, e.g. those ending +with ig. +

+
+      regADeg : Str -> A ;
+
+

+

+Just the comparison forms can be irregular. +

+
+      irregADeg : (tung,tyngre,tyngst : Str) -> A ;
+
+

+

+Sometimes just the positive forms are irregular. +

+
+      mk3ADeg : (galen,galet,galna : Str) -> A ;
+      mk2ADeg : (bred,bredt        : Str) -> A ;
+
+

+

+If comparison is formed by mer, //mest, as in general for// +long adjective, the following pattern is used: +

+
+      compoundADeg : A -> A ; -- -/mer/mest norsk
+
+

+ +

Adverbs

+

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

+
+      mkAdv : Str -> Adv ;
+      mkAdV : Str -> AdV ;
+
+

+

+Adverbs modifying adjectives and sentences can also be formed. +

+
+      mkAdA : Str -> AdA ;
+
+

+ +

Prepositions

+

+A preposition is just a string. +

+
+      mkPreposition : Str -> Preposition ;
+
+

+ +

Verbs

+

+The worst case needs six forms. +

+
+      mkV : (spise,spiser,spises,spiste,spist,spis : Str) -> V ;
+
+

+

+The 'regular verb' function is the first conjugation. +

+
+      regV : (snakke : Str) -> V ;
+
+

+

+The almost regular verb function needs the infinitive and the preteritum. +

+
+      mk2V : (leve,levde : Str) -> V ;
+
+

+

+There is an extensive list of irregular verbs in the module IrregNor. +In practice, it is enough to give three forms, as in school books. +

+
+      irregV : (drikke, drakk, drukket  : Str) -> V ;
+
+

+ +

Verbs with a particle.

+

+The particle, such as in switch on, is given as a string. +

+
+      partV  : V -> Str -> V ;
+
+

+ +

Deponent verbs.

+

+Some words are used in passive forms only, e.g. hoppas, some as +reflexive e.g. ångra sig. +

+
+      depV  : V -> V ;
+      reflV : V -> V ;
+
+

+ +

Two-place verbs

+

+Two-place verbs need a preposition, except the special case with direct object. +(transitive verbs). Notice that a particle comes from the V. +

+
+      mkV2  : V -> Preposition -> V2 ;
+    
+      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 -> Str -> Str -> V3 ;    -- speak, with, about
+      dirV3    : V -> Str -> V3 ;           -- give,_,to
+      dirdirV3 : V -> V3 ;                  -- give,_,_
+
+

+ +

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 -> Str -> V2S ;
+      mkVV  : V -> VV ;
+      mkV2V : V -> Str -> Str -> V2V ;
+      mkVA  : V -> VA ;
+      mkV2A : V -> Str -> V2A ;
+      mkVQ  : V -> VQ ;
+      mkV2Q : V -> Str -> V2Q ;
+    
+      mkAS  : A -> AS ;
+      mkA2S : A -> Str -> A2S ;
+      mkAV  : A -> AV ;
+      mkA2V : A -> Str -> A2V ;
+
+

+

+Notice: categories V2S, V2V, V2A, 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, V2A, V2Q : Type ;
+      AS, A2S, AV, A2V : Type ;
+
+

+ +

Definitions of the paradigms

+

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

+ + + +