diff --git a/src/portuguese/LexiconPor.gf b/src/portuguese/LexiconPor.gf index 96b9ee2a..e3900909 100644 --- a/src/portuguese/LexiconPor.gf +++ b/src/portuguese/LexiconPor.gf @@ -10,7 +10,7 @@ flags lin easy_A2V = mkA2V (mkA "fácil") dative genitive ; married_A2 = mkA2 (mkA "casado") dative ; - probable_AS = mkAS (mkA "provável" "provável" "prováveis" "prováveis" "provavelmente") ; + probable_AS = mkAS (mkA "provável" "provavelmente") ; fun_AV = mkAV (mkA "divertido") genitive ; -- A bad_A = prefA (mkA (mkA "mau") (mkA "pior")) ; @@ -58,7 +58,7 @@ lin white_A = compADeg (mkA "branco") ; wide_A = mkA "largo" ; -- extenso yellow_A = mkA "amarelo" ; - young_A = prefA (mkA "jovem" "jovem" "jovens" "jovens" "juvenilmente") ; + young_A = prefA (mkA "jovem" "juvenilmente") ; already_Adv = mkAdv "já" ; far_Adv = mkAdv "longe" ; ----? now_Adv = mkAdv "agora" ; diff --git a/src/portuguese/MorphoPor.gf b/src/portuguese/MorphoPor.gf index 54b31b10..e4c20604 100644 --- a/src/portuguese/MorphoPor.gf +++ b/src/portuguese/MorphoPor.gf @@ -124,16 +124,16 @@ oper } } ; - mkAdj2N : (_,_: N) -> Str -> Adj = \mascN, femN, burramente -> - {s = table { - AF Masc n => mascN.s ! n ; - AF Fem n => femN.s ! n ; - AA => burramente - } + mkAdj2 : (_,_: Str) -> Adj ; + mkAdj2 aj av = let + adj = mkAdjReg aj + in { + s = table { + AF g n => adj.s ! AF g n ; + AA => av + } } ; - mkAdjN : N -> Str -> Adj = \n, burramente -> mkAdj2N n n burramente ; - -- Then the regular and invariant patterns. adjPreto : Str -> Adj = \preto -> @@ -174,7 +174,7 @@ oper "ã" => "a" } ; alemvo : Str = alem + v + "o" ; - in mkAdj alemão alemã (alemã + "s") (alemã + "es") (alemã + "amente") ; + in mkAdj alemão alemã (alemã + "s") (alemã + "es") (alemã + "mente") ; adjEuropeu : Str -> Adj = \europeu -> let europe = init europeu in mkAdj europeu (europe + "ia") (europeu + "s") (europe + "ias") @@ -183,11 +183,13 @@ oper mkAdjReg : Str -> Adj = \a -> case a of { pret + "o" => adjPreto a ; - anarquist + v@("e" | "a") => adjUtil (anarquist + v) (anarquist + v + "s") ; + anarquist + v@("e" | "a") => adjUtil a (a + "s") ; ouvido + "r" => adjOuvidor a (ouvido + "ra") ; chin + "ês" => adjFrances a ; europ + "eu" => adjEuropeu a ; alem + "ão" => adjVo a ; + provav + v@("e" | "i") + "l" => adjUtil a (provav + "eis") ; + jove + "m" => adjUtil a (jove + "ns") ; _ => adjUtil a (a + "s") } ; diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index 38de771b..6066a16b 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -203,9 +203,9 @@ oper regA a = compADeg {s = \\_ => (mkAdjReg a).s ; isPre = False ; lock_A = <>} ; - mk2A : (espanhol,espanhola : Str) -> A ; - mk2A a b = compADeg {s = \\_ => (mkAdj2N (mkN a) (mkN b) (b + "mente")).s ; isPre = False ; - lock_A = <>} ; + mk2A : (único,unicamente : Str) -> A ; + mk2A adj adv = compADeg {s = \\_ => (mkAdj2 adj adv).s ; isPre = False ; + lock_A = <>} ; mk5A : (preto,preta,pretos,pretas,pretamente : Str) -> A ; mk5A a b c d e = compADeg {s = \\_ => (mkAdj a b c d e).s ;