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 =
CatPor ** ExtendFunctor -
[
GenNP, GenIP, GenModNP, GenModIP, iFem_Pron, weFem_Pron, youFem_Pron
, youPlFem_Pron, youPolPl_Pron, youPolFem_Pron, youPolPlFem_Pron, theyFem_Pron
, ProDrop, PassVPSlash, ExistsNP, VPS, ListVPS, BaseVPS, ConsVPS, PassVPSlash
, ExistsNP, CompoundN
] -- put the names of your own definitions here
BaseVPS,
CompoundAP,
CompoundN,
ConsVPS,
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
(Grammar = GrammarPor), (Syntax = SyntaxPor) **
open
@@ -58,6 +80,19 @@ concrete ExtendPor of Extend =
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
PassVPSlash vps =
let auxvp = predV copula
@@ -87,6 +122,20 @@ concrete ExtendPor of Extend =
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
-- Romance
iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ;

View File

@@ -20,13 +20,23 @@ concrete IdiomPor of Idiom = CatPor **
ExistNP np =
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 = {
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 =>