diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index 3a6339018..874be4cfb 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -85,25 +85,20 @@ oper --2 Nouns regN : Str -> N ; - regN x = mkNomReg x ** {lock_N = <>} ; + regN x = lin N (mkNomReg x) ; femN : N -> N ; - femN x = {s = x.s ; g = feminine ; lock_N = <>} ; + femN n = n ** {g = feminine} ; mascN : N -> N ; - mascN x = {s = x.s ; g = masculine ; lock_N = <>} ; + mascN n = n ** {g = masculine} ; mk2N : (bastão, bastões : Str) -> Gender -> N ; - mk2N x y g = mkNounIrreg x y g ** {lock_N = <>} ; + mk2N x y g = lin N (mkNounIrreg x y g) ; - --- [] update this docstring -- 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" or - -- "z", and masculine for all other words. Nouns ending with "a", - -- "o", "e" have the plural with "s", those ending with "z" have - -- "ces" in plural; all other nouns have "es" as plural ending. The - -- accent is not dealt with. + -- computes the plural and the gender by a heuristic (see MorphoPor + -- for which heuristic). mkN = overload { -- predictable; "-a" for feminine, otherwise Masculine mkN : (luz : Str) -> N = regN ; @@ -136,7 +131,7 @@ oper -- Relational nouns ("filha de x") need a case and a preposition. mkN2 : N -> Prep -> N2 ; -- relational noun with prepositio - mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ; + mkN2 = \n,p -> lin N2 (n ** {c2 = p}) ; -- The most common cases are the genitive "de" and the dative "a", -- with the empty preposition. @@ -150,7 +145,7 @@ oper -- Three-place relational nouns ("a conexão de x a y") need two -- prepositions. mkN3 : N -> Prep -> Prep -> N3 ; -- prepositions for two complements - mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ; + mkN3 = \n,p,q -> lin N3 (n ** {c2 = p ; c3 = q}) ; --3 Relational common noun phrases -- @@ -174,10 +169,10 @@ oper } ; mk2PN : Str -> Gender -> PN ; -- Pilar - mk2PN x g = {s = x ; g = g} ** {lock_PN = <>} ; + mk2PN x g = lin PN {s = x ; g = g} ; mkPN = overload { - -- feminine for "-a" + -- feminine for "-a", else masculine mkPN : (Anna : Str) -> PN = regPN ; -- force gender mkPN : (Pilar : Str) -> Gender -> PN = mk2PN ; diff --git a/src/portuguese/StructuralPor.gf b/src/portuguese/StructuralPor.gf index 7f708faf0..bf3c39fcc 100644 --- a/src/portuguese/StructuralPor.gf +++ b/src/portuguese/StructuralPor.gf @@ -164,4 +164,5 @@ concrete StructuralPor of Structural = CatPor ** that_Subj = {s = "que" ; m = Conjunct} ; lin language_title_Utt = ss "português" ; + } ; diff --git a/src/portuguese/TextPor.gf b/src/portuguese/TextPor.gf index 5e38319f8..c7baba19f 100644 --- a/src/portuguese/TextPor.gf +++ b/src/portuguese/TextPor.gf @@ -1,4 +1,5 @@ -concrete TextPor of Text = CommonX - [Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** open Prelude in { +concrete TextPor of Text = CommonX - [Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] + ** open Prelude in { flags coding=utf8 ;