1
0
forked from GitHub/gf-rgl

(Por) use lin instead of lock_*

This commit is contained in:
odanoburu
2019-01-09 08:34:38 -02:00
parent e2d657bf7a
commit 971df762f5
3 changed files with 13 additions and 16 deletions

View File

@@ -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 ;

View File

@@ -164,4 +164,5 @@ concrete StructuralPor of Structural = CatPor **
that_Subj = {s = "que" ; m = Conjunct} ;
lin language_title_Utt = ss "português" ;
} ;

View File

@@ -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 ;