1
0
forked from GitHub/gf-core

New Catalan feminine noun smart paradigm

Added a one-place constructor for words that end in "ca" or "ga" in nominative.
This commit is contained in:
inari.listenmaa
2013-04-19 14:32:39 +00:00
parent 57e06e7a6a
commit b7b3a1160a

View File

@@ -27,6 +27,14 @@ oper
nomCep : Str -> Number => Str = \cep -> nomCep : Str -> Number => Str = \cep ->
numForms cep (cep + "s") ; numForms cep (cep + "s") ;
nomVaca : Str -> Number => Str = \vaca ->
let va : Str = Predef.tk 2 vaca ;
ca : Str = Predef.dp 2 vaca ;
ques : Str = case (ca) of {
"ca" => "ques" ;
_ => "gues"
} ;
in numForms vaca (va + ques) ;
nomCasa : Str -> Str -> Number => Str = \es,casa -> nomCasa : Str -> Str -> Number => Str = \es,casa ->
numForms casa (init casa + es) ; numForms casa (init casa + es) ;
@@ -67,15 +75,16 @@ oper
let let
mkNounMas : (Str -> Number => Str) -> Noun = \rule -> mkNoun (rule noi) Masc mkNounMas : (Str -> Number => Str) -> Noun = \rule -> mkNoun (rule noi) Masc
in in
case last noi of { case noi of {
"a" => mkNoun (nomCasa "es" noi) Fem ; _ + ("ca"|"ga") => mkNoun (nomVaca noi) Fem ;
"s"|"x"|"ç" => mkNounMas nomCas ; _ + "a" => mkNoun (nomCasa "es" noi) Fem ;
"i" => mkNounMas nomFre ; _ + "s"|"x"|"ç" => mkNounMas nomCas ;
" => mkNounMas (nomCasa "ins") ; _ + "i" => mkNounMas nomFre ;
" => mkNounMas (nomCasa "ans") ; _ + "í" => mkNounMas (nomCasa "ins") ;
" => mkNounMas (nomCasa "ons") ; _ + "à" => mkNounMas (nomCasa "ans") ;
"g" => mkNounMas nomFaig ; _ + "ó" => mkNounMas (nomCasa "ons") ;
_ => mkNounMas nomCep _ + "ig" => mkNounMas nomFaig ;
_ => mkNounMas nomCep
} ; } ;
--2 Adjectives --2 Adjectives