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:
committed by
Krasimir Angelov
parent
63587ac745
commit
d4f2df8aa4
@@ -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 ;
|
||||
|
||||
@@ -21,12 +21,22 @@ concrete IdiomPor of Idiom = CatPor **
|
||||
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 =>
|
||||
|
||||
Reference in New Issue
Block a user