From c8ceed08efcc0bdc1fcbd89bce643d9f52f0991b Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 9 Dec 2009 09:47:16 +0000 Subject: moving a few things to deprecated --- old-lib/resource/catalan/MorphoCat.gf | 160 ---------------------------------- 1 file changed, 160 deletions(-) delete mode 100644 old-lib/resource/catalan/MorphoCat.gf (limited to 'old-lib/resource/catalan/MorphoCat.gf') diff --git a/old-lib/resource/catalan/MorphoCat.gf b/old-lib/resource/catalan/MorphoCat.gf deleted file mode 100644 index f21bc849d..000000000 --- a/old-lib/resource/catalan/MorphoCat.gf +++ /dev/null @@ -1,160 +0,0 @@ ---# -path=.:../romance:../common:../../prelude - ---1 A Simple Catalan Resource Morphology --- --- Aarne Ranta 2002 -- 2005 --- Jordi Saludes 2008: Derived from MorphoSpa. --- --- This resource morphology contains definitions needed in the resource --- syntax. To build a lexicon, it is better to use $ParadigmsCat$, which --- gives a higher-level access to this module. - -resource MorphoCat = CommonRomance, ResCat ** - open PhonoCat, Prelude, Predef in { - - flags optimize=all ; coding=utf8 ; - ---2 Nouns --- --- The following macro is useful for creating the forms of number-dependent --- tables, such as common nouns. --- gcc M2.3 -oper - numForms : (_,_ : Str) -> Number => Str = \vi, vins -> - table {Sg => vi ; Pl => vins} ; - - nomCep : Str -> Number => Str = \cep -> - numForms cep (cep + "s") ; - - - nomCasa : Str -> Str -> Number => Str = \es,casa -> - numForms casa (init casa + es) ; - - nomFre : Str -> Number => Str = \fre -> - numForms fre (fre + "ns") ; - - nomCas : Str -> Number => Str = \cas -> - numForms cas (cas + "os") ; - - nomTest : Str -> Number => Str = \test -> - numForms test (variants {test + "s"; test + "os"}) ; - - nomFaig : Str -> Number => Str = \faig -> - let - fa = Predef.tk 2 faig - in - numForms faig (variants {fa + "jos" ; faig + "s"}) ; - - nomDesig : Str -> Number => Str = \desig -> - let - desi = Predef.tk 1 desig - in - numForms desig (variants {desi + "tjos" ; desi + "gs"}) ; - - nomTemps : Str -> Number => Str = \temps -> - numForms temps temps ; - --- Common nouns are inflected in number and have an inherent gender. - - mkNoun : (Number => Str) -> Gender -> Noun = \noinois,gen -> - {s = noinois ; g = gen} ; - - mkNounIrreg : Str -> Str -> Gender -> Noun = \vi,vins -> - mkNoun (numForms vi vins) ; - - mkNomReg : Str -> Noun = \noi -> - let - mkNounMas : (Str -> Number => Str) -> Noun = \rule -> mkNoun (rule noi) Masc - in - case last noi of { - "a" => mkNoun (nomCasa "es" noi) Fem ; - "s"|"x"|"ç" => mkNounMas nomCas ; - "i"|"e" => mkNounMas nomFre ; - "í" => mkNounMas (nomCasa "ins") ; - "à" => mkNounMas (nomCasa "ans") ; - "ó" => mkNounMas (nomCasa "ons") ; - "g" => mkNounMas nomFaig ; - _ => mkNounMas nomCep - } ; - ---2 Adjectives --- --- Adjectives are conveniently seen as gender-dependent nouns. --- Here are some patterns. First one that describes the worst case. --- gcc M2.1 - - mkAdj : (_,_,_,_,_ : Str) -> Adj = \prim,prima,prims,primes,primament -> - {s = table { - AF Masc n => numForms prim prims ! n ; - AF Fem n => numForms prima primes ! n ; - AA => primament - } - } ; - ---- Then the regular and invariant patterns. - - adjPrim : Str -> Adj = \prim -> - mkAdj prim (prim + "a") (prim + "s") (prim + "es") (prim + "ament") ; - - adjBlau : Str -> Str -> Adj = \blau,blava -> - let - blav = Predef.tk 1 blava - in - mkAdj blau blava (blau + "s") (blav + "es") (blava + "ment") ; - - adjFondo : Str -> Adj = \fondo -> - let - fond = Predef.tk 1 fondo - in - adjBlau fondo (fond + "a") ; - - adjBo : Str -> Adj = \bo -> - mkAdj bo (bo + "na") (bo + "ns") (bo + "nes") (bo + "nament") ; - - adjFidel : Str -> Adj = \fidel -> - let - fidels = fidel + "s" - in - mkAdj fidel fidel fidels fidels (fidel + "ment") ; - - mkAdjReg : Str -> Adj = \prim -> - case last prim of { - "e"|"u"|"o" => adjFondo prim ; - _ => adjPrim prim - } ; - - ---2 Personal pronouns --- --- All the eight personal pronouns can be built by the following macro. --- The use of "ne" as atonic genitive is debatable. --- We follow the rule that the atonic nominative is empty. - - mkPronoun : (_,_,_,_,_,_,_,_ : Str) -> - Gender -> Number -> Person -> Pronoun = - \il,le,lui,Lui,son,sa,ses,see,g,n,p -> - {s = table { - Ton Nom => il ; - Ton x => prepCase x ++ Lui ; - Aton Nom => strOpt il ; ---- [] ; - Aton Acc => le ; - Aton (CPrep P_a) => lui ; - Aton q => prepCase q ++ Lui ; ---- GF bug with c or p! - Poss Masc Sg => son ; - Poss Fem Sg => sa ; - Poss Masc Pl => ses ; - Poss Fem Pl => see - } ; - a = {g = g ; n = n ; p = p} ; - hasClit = True - } ; - - ---2 Determiners --- --- Determiners, traditionally called indefinite pronouns, are inflected --- in gender and number, like adjectives. - - pronForms : Adj -> Gender -> Number -> Str = \tal,g,n -> tal.s ! AF g n ; - -} -- cgit v1.2.3