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 +
+ ++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 {
+
+
+
++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 ; ++ + +
+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 ; ++ + +
+All the functions above work quite as well to form compound nouns, +such as fotboll. +
+ ++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 ; ++ + +
+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, 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 ; ++ + +
+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 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 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 ; ++ + +
+A preposition is just a string. +
++ mkPreposition : Str -> Preposition ; ++ + +
+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 ; ++ + +
+The particle, such as in switch on, is given as a string. +
++ partV : V -> Str -> V ; ++ + +
+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 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 (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,_,_ ++ + +
+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 ; ++ + +
+The definitions should not bother the user of the API. So they are +hidden from the document. +
+ + + +