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

+
+

+ + +

+
+

+

+Author: +Last update: Wed Feb 1 17:52:51 2006 +

+

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

+

+== +

+

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

+ +

Italian 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 MorphoIta.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 ParadigmsIta = 
+      open 
+        (Predef=Predef), 
+        Prelude, 
+        CommonRomance, 
+        ResIta, 
+        MorphoIta, 
+        BeschIta,
+        CatIta in {
+    
+      flags optimize=all ;
+
+

+ +

Parameters

+

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

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

+

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

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

+

+Prepositions used in many-argument functions are either strings +(including the 'accusative' empty string) or strings that +amalgamate with the following word (the 'genitive' de and the +'dative' à). +

+
+      Preposition : Type ;
+    
+      accusative : Preposition ;
+      genitive   : Preposition ;
+      dative     : Preposition ;
+    
+      mkPreposition : Str -> Preposition ;
+
+

+ +

Nouns

+

+Worst case: give both two forms and the gender. +

+
+      mkN  : (uomi,uomini : Str) -> Gender -> N ;
+
+

+

+The regular function takes the singular form and the gender, +and computes the plural and the gender by a heuristic. +The heuristic says that the gender is feminine for nouns +ending with a, and masculine for all other words. +

+
+      regN : Str -> N ;
+
+

+

+To force a different gender, use one of the following functions. +

+
+      mascN : N -> N ;
+      femN  : N -> N ;
+
+

+ +

Compound nouns

+

+Some nouns are ones where the first part is inflected as a noun but +the second part is not inflected. e.g. numéro de téléphone. +They could be formed in syntax, but we give a shortcut here since +they are frequent in lexica. +

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

+ +

Relational nouns

+

+Relational nouns (figlio di x) need a case and a preposition. +

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

+

+The most common cases are the genitive di and the dative a, +with the empty preposition. +

+
+      diN2 : N -> N2 ;
+      aN2  : N -> N2 ;
+
+

+

+Three-place relational nouns (la connessione di x a 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 need a string and a gender. +

+
+      mkPN : Str -> Gender -> PN ;          -- Jean
+
+

+

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

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

+ +

Adjectives

+

+Non-comparison one-place adjectives need five forms in the worst +case (masc and fem singular, masc plural, adverbial). +

+
+      mkA : (solo,sola,soli,sole, solamente : Str) -> A ;
+
+

+

+For regular adjectives, all other forms are derived from the +masculine singular. +

+
+      regA : Str -> A ;
+
+

+

+These functions create postfix adjectives. To switch +them to prefix ones (i.e. ones placed before the noun in +modification, as in petite maison), the following function is +provided. +

+
+      prefA : A -> A ;
+
+

+ +

Two-place adjectives

+

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

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

+ +

Comparison adjectives

+

+Comparison adjectives are in the worst case put up from two +adjectives: the positive (buono), and the comparative (migliore). +

+
+      mkADeg : A -> A -> A ;
+
+

+

+If comparison is formed by più, as usual in Italian, +the following pattern is used: +

+
+      compADeg : A -> A ;
+
+

+

+The regular pattern is the same as regA for plain adjectives, +with comparison by plus. +

+
+      regADeg : Str -> A ;
+
+

+ +

Adverbs

+

+Adverbs are not inflected. Most lexical ones have position +after the verb. +

+
+      mkAdv : Str -> Adv ;
+
+

+

+Some appear next to the verb (e.g. sempre). +

+
+      mkAdV : Str -> AdV ;
+
+

+

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

+
+      mkAdA : Str -> AdA ;
+
+

+ +

Verbs

+

+Regular verbs are ones with the infinitive er or ir, the +latter with plural present indicative forms as finissons. +The regular verb function is the first conjugation recognizes +these endings, as well as the variations among +aimer, céder, placer, peser, jeter, placer, manger, assiéger, payer. +

+
+      regV : Str -> V ;
+
+

+

+The module BeschIta gives all the patterns of the Bescherelle +book. To use them in the category V, wrap them with the function +

+
+      verboV : Verbo -> V ;
+
+

+

+The function regV gives all verbs the compound auxiliary avere. +To change it to essere, use the following function. +Reflexive implies essere. +

+
+      essereV : 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 ;
+
+

+

+You can reuse a V2 verb in V. +

+
+      v2V : V2 -> V ;
+
+

+ +

Three-place verbs

+

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

+
+      mkV3     : V -> Preposition -> Preposition -> V3 ; -- parler, à, de
+      dirV3    : V -> Preposition -> V3 ;                -- donner,_,à
+      dirdirV3 : V -> V3 ;                               -- donner,_,_
+
+

+ +

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 -> Preposition -> V2S ;
+      mkVV  : V -> VV ;  -- plain infinitive: "je veux parler"
+      deVV  : V -> VV ;  -- "j'essaie de parler"
+      aVV   : V -> VV ;  -- "j'arrive à parler"
+      mkV2V : V -> Preposition -> Preposition -> V2V ;
+      mkVA  : V -> VA ;
+      mkV2A : V -> Preposition -> V2A ;
+      mkVQ  : V -> VQ ;
+      mkV2Q : V -> Preposition -> V2Q ;
+    
+      mkAS   : A -> AS ;
+      subjAS : A -> AS ;
+      mkA2S : A -> Preposition -> A2S ;
+      mkAV  : A -> Preposition -> AV ;
+      mkA2V : A -> Preposition -> Preposition -> 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 of the paradigms

+

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

+ + + +