1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/portuguese/IdiomPor.gf
T
odanoburu 3b55eaa89d (Por) misc fixes
- add n_units_of_NP
- add n_unit_CN
- refactor adjective paradigm opers
- rm identity definitions in Idiom
2019-01-07 13:35:31 -02:00

74 lines
2.2 KiB
Plaintext

concrete IdiomPor of Idiom = CatPor **
open (P = ParamX), MorphoPor, ParadigmsPor, BeschPor, (B = DiffPor), Prelude in {
flags optimize=all_subs ;
lin
ImpersCl vp = mkClause [] True False (agrP3 Masc Sg) vp ;
GenericCl vp =
mkClause [] True False (agrP3 Masc Sg) (insertRefl vp) ; ---- just Italian ?
CleftNP np rs = mkClause [] True False (agrP3 Masc Sg)
(insertComplement (\\_ => rs.s ! Indic ! np.a)
(insertComplement (\\_ => (np.s ! rs.c).ton) (predV copula))) ;
CleftAdv ad s = mkClause [] True False (agrP3 Masc Sg)
(insertComplement (\\_ => conjThat ++ s.s ! Indic)
(insertComplement (\\_ => ad.s) (predV copula))) ;
ExistNP np =
mkClause [] True False (agrP3 Masc Sg)
(insertComplement (\\_ => (np.s ! Acc).ton) (predV B.haver_V)) ;
ExistIP ip = {
s = \\t,a,p,_ =>
ip.s ! Nom ++
(mkClause [] True False (agrP3 Masc Sg) (predV B.haver_V)).s ! DDir ! t ! a ! p ! Indic
} ;
ExistNPAdv np adv = mkClause [] True False (agrP3 Masc Sg) (insertComplement (\\_ => (np.s ! Acc).ton ++ adv.s) (predV B.haver_V)) ;
ExistIPAdv ip adv = {
s = \\t,a,p,_ =>
ip.s ! Nom ++
(mkClause [] True False (agrP3 Masc Sg) (predV B.haver_V)).s ! DDir ! t ! a ! p ! Indic
++ adv.s
} ;
ProgrVP vp =
insertComplement
(\\agr =>
let
clpr = <vp.clit1,vp.clit2> ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ;
obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! RPos ---- pol
in
vp.s.s ! VGer ++ clpr.p1 ++ obj
)
(predV B.estar_V) ;
ImpPl1 vp = {s =
mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem
} ;
ImpP3 np vp = {
s = "deixe" ++ (np.s ! Nom).ton ++ infVP vp np.a ;
} ;
SelfAdvVP vp = variants {} ;
SelfAdVVP = insertComplement (
\\agr => case agr of {
{g = g ; n = n ; p = p} => table {
P1 => numForms "eu próprio" "nós próprios" ! n ;
P2 => genNumForms "você mesmo" "você mesma" "vocês mesmos" "vocês mesmas" ! g ! n ;
P3 => genNumForms "ele próprio" "ela própria" "eles mesmos" "elas mesmas" ! g ! n
} ! p
}
) ;
SelfNP np = variants {} ;
} ;