diff options
| author | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-06-22 15:39:08 +0000 |
| commit | e89fdae2fa1626348d8025824a7469252fa85e42 (patch) | |
| tree | c7d46bbd0494043b4bd6f917a25a7687517d0547 /next-lib/src/catalan/MorphoCat.gf | |
| parent | 3049b59b35b25381a7c6787444165c200d66e08b (diff) | |
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'next-lib/src/catalan/MorphoCat.gf')
| -rw-r--r-- | next-lib/src/catalan/MorphoCat.gf | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/next-lib/src/catalan/MorphoCat.gf b/next-lib/src/catalan/MorphoCat.gf deleted file mode 100644 index 05d10cb8e..000000000 --- a/next-lib/src/catalan/MorphoCat.gf +++ /dev/null @@ -1,137 +0,0 @@ ---# -path=.:../romance:../common:../../prelude - -----1 A Simple Catalan Resource Morphology ----- ----- Aarne Ranta 2002 -- 2005 ----- ----- 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 ; --- --- -----2 Nouns ----- ----- The following macro is useful for creating the forms of number-dependent ----- tables, such as common nouns. --- -oper - numForms : (_,_ : Str) -> Number => Str = \vi, vins -> - table {Sg => vi ; Pl => vins} ; - --- For example: - - nomHome : Str -> Number => Str = \home -> - numForms home (home + "s") ; - - nomDona : Str -> Number => Str = \dona -> - numForms dona (init dona + "es") ; - - nomDisc : Str -> Number => Str = \disc -> - numForms disc (variants {disc + "s"; disc + "os"}) ; - --- nomPilar : Str -> Number => Str = \pilar -> --- numForms pilar (pilar + "es") ; --- --- nomTram : Str -> Number => Str = \tram -> --- numForms tram tram ; --- --- 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 -> - case last noi of { - "o" | "e" => mkNoun (nomHome noi) Masc ; - "a" => mkNoun (nomDona noi) Fem ; - "c" => mkNoun (nomDisc noi) Masc ; - --- "u" => mkNounIrreg mec (init mec + "ces") Fem ; - _ => mkNoun (nomHome noi) Masc - } ; - -----2 Adjectives ----- --- Adjectives are conveniently seen as gender-dependent nouns. --- Here are some patterns. First one that describes the worst case. - - mkAdj : (_,_,_,_,_ : Str) -> Adj = \petit,petita,petits,petites,petitament -> - {s = table { - AF Masc n => numForms petit petits ! n ; - AF Fem n => numForms petita petites ! n ; - AA => petitament - } - } ; - ----- Then the regular and invariant patterns. --- --- adjfort : Str -> Adj = \solo -> --- let --- sol = Predef.tk 1 solo --- in --- mkAdj solo (sol + "a") (sol + "os") (sol + "as") (sol + "amente") ; --- - adjFort : Str -> Adj = \fort -> - mkAdj fort (fort + "a") (fort + "s") (fort + "es") (fort + "ament") ; --- --- adjBlu : Str -> Adj = \blu -> --- mkAdj blu blu blu blu blu ; --- --- - mkAdjReg : Str -> Adj = \fort -> adjFort fort ; -{- - case last solo of { - "o" => adjSolo solo ; - --- "e" => adjUtil solo (solo + "s") ; - "a" => - _ => adjUtil solo (solo + "es") - } ; --} --- -----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 -> - let - alui : Case -> Str = \x -> prepCase x ++ Lui ; - in { - s = table { - Nom => {c1 = [] ; c2 = [] ; comp = il ; ton = Lui} ; - Acc => {c1 = le ; c2 = [] ; comp = [] ; ton = Lui} ; - CPrep P_a => {c1 = [] ; c2 = lui ; comp = [] ; ton = alui (CPrep P_a)} ; - c => {c1 = [] ; c2 = [] ; comp, ton = alui c} - } ; - poss = \\n,g => case <n,g> of { - <Sg,Masc> => son ; - <Sg,Fem> => sa ; - <Pl,Masc> => ses ; - <Pl,Fem> => 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 = \tale,g,n -> tale.s ! AF g n ; --- -} |
