1
0
forked from GitHub/gf-rgl

(Por) add lins (#35)

* (Por) correct paradigm and use overloaded paradigms in Lexicon

* (Por) add Str -> V3 paradigm

* (Por) small fixes

* adjust import list and add Mood to VPS

* (Por) add compoundN to ExtendPor

* (Por) add CompoundAP GerundCN ICompAP IAdvAdv CompIQuant PrepCN
This commit is contained in:
bruno cuconato
2018-10-06 04:14:24 +00:00
committed by Krasimir Angelov
parent 63587ac745
commit d4f2df8aa4
2 changed files with 65 additions and 6 deletions

View File

@@ -3,11 +3,33 @@
concrete ExtendPor of Extend = concrete ExtendPor of Extend =
CatPor ** ExtendFunctor - CatPor ** ExtendFunctor -
[ [
GenNP, GenIP, GenModNP, GenModIP, iFem_Pron, weFem_Pron, youFem_Pron BaseVPS,
, youPlFem_Pron, youPolPl_Pron, youPolFem_Pron, youPolPlFem_Pron, theyFem_Pron CompoundAP,
, ProDrop, PassVPSlash, ExistsNP, VPS, ListVPS, BaseVPS, ConsVPS, PassVPSlash CompoundN,
, ExistsNP, CompoundN ConsVPS,
] -- put the names of your own definitions here ExistsNP,
GenIP,
GenModIP,
GenModNP,
GenNP,
GerundCN,
IAdvAdv,
ICompAP,
iFem_Pron,
ListVPS,
PassVPSlash,
PassVPSlash,
ProDrop,
theyFem_Pron,
VPS,
weFem_Pron,
youFem_Pron,
youPlFem_Pron,
youPolFem_Pron,
youPolPl_Pron,
youPolPlFem_Pron
] -- don't forget to put the names of your own
-- definitions here
with with
(Grammar = GrammarPor), (Syntax = SyntaxPor) ** (Grammar = GrammarPor), (Syntax = SyntaxPor) **
open open
@@ -58,6 +80,19 @@ concrete ExtendPor of Extend =
isNeg = False isNeg = False
} ; } ;
ICompAP ap = {
s =\\a => "o quão" ++ ap.s ! AF a.g a.n ;
cop = serCopula
} ;
IAdvAdv adv = {
s = "o quão" ++ adv.s
} ;
CompIQuant iq = {s = \\aa => iq.s ! aa.n ! aa.g ! Nom ; cop = serCopula} ;
PrepCN prep cn = {s = prep.s ++ prepCase prep.c ++ cn.s ! Sg} ;
lin lin
PassVPSlash vps = PassVPSlash vps =
let auxvp = predV copula let auxvp = predV copula
@@ -87,6 +122,20 @@ concrete ExtendPor of Extend =
g = noun2.g g = noun2.g
} ; } ;
CompoundAP noun adj = {
s = \\af => case af of {
AF g n => adj.s ! Posit ! AF noun.g n ++ "de" ++ noun.s ! n ;
-- do I need do(s)/da(s)?
_ => adj.s ! Posit ! AF noun.g Sg ++ "de" ++ noun.s ! Sg
} ;
isPre = adj.isPre
} ;
GerundCN vp = {
s = \\n => infVP vp {g = Masc ; n = n ; p = P3} ;
g = Masc
} ;
lin lin
-- Romance -- Romance
iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ; iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ;

View File

@@ -20,13 +20,23 @@ concrete IdiomPor of Idiom = CatPor **
ExistNP np = ExistNP np =
mkClause [] True False (agrP3 Masc Sg) mkClause [] True False (agrP3 Masc Sg)
(insertComplement (\\_ => (np.s ! Acc).ton) (predV B.haver_V)) ; (insertComplement (\\_ => (np.s ! Acc).ton) (predV B.haver_V)) ;
ExistIP ip = { ExistIP ip = {
s = \\t,a,p,_ => s = \\t,a,p,_ =>
ip.s ! Nom ++ ip.s ! Nom ++
(mkClause [] True False (agrP3 Masc Sg) (predV B.haver_V)).s ! DDir ! t ! a ! p ! Indic (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 = ProgrVP vp =
insertComplement insertComplement
(\\agr => (\\agr =>