diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 760114c2a..3ee3b840a 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -200,7 +200,7 @@ abstract Extend = Cat ** { -- Eng UncontractedNeg : Pol ; -- do not, etc, as opposed to don't UttVPShort : VP -> Utt ; -- have fun, as opposed to "to have fun" - ComplSlashPartLast : VPSlash -> NP -> VP ; + ComplSlashPartLast : VPSlash -> NP -> VP ; -- set it apart, as opposed to "set apart it" -- Romance DetNPMasc : Det -> NP ; diff --git a/src/portuguese/ExtendPor.gf b/src/portuguese/ExtendPor.gf index 25da698e4..12ab235b6 100644 --- a/src/portuguese/ExtendPor.gf +++ b/src/portuguese/ExtendPor.gf @@ -3,13 +3,16 @@ concrete ExtendPor of Extend = CatPor ** ExtendFunctor - [ - ApposNP, + AdAdV, + ApposNP, BaseVPS, ByVP, CompBareCN, ComplBareVS, + ComplSlashPartLast, CompoundAP, CompoundN, + CompVP, ConsVPS, --EmptyRelSlash, ExistsNP, @@ -28,12 +31,15 @@ concrete ExtendPor of Extend = PassVPSlash, PastPartAP, PastPartAgentAP, + PositAdVAdj, PresPartAP, ProDrop, PurposeVP, VPS, iFem_Pron, theyFem_Pron, + UttAdV, + UttVPShort, weFem_Pron, WithoutVP, youFem_Pron, @@ -213,6 +219,28 @@ concrete ExtendPor of Extend = } ; } ; + AdAdV aa av = { + s = aa.s ++ av.s + } ; + + UttAdV av = av ; + + PositAdVAdj a = { + s = a.s ! Posit ! AA + } ; + + --TODO: actually use ant + CompVP ant p vp = let + neg = negation ! p.p + in { + s = \\agr => ant.s ++ p.s ++ "de" ++ neg.p1 ++ infVP vp agr ; + cop = serCopula + } ; + + UttVPShort = UttVP ; + + ComplSlashPartLast = ComplSlash ; + oper gerundStr : VP -> Str ; gerundStr vp = gerVP vp (Ag Masc Sg P3) ; diff --git a/src/portuguese/LexiconPor.gf b/src/portuguese/LexiconPor.gf index 6fbb22d45..96b9ee2a8 100644 --- a/src/portuguese/LexiconPor.gf +++ b/src/portuguese/LexiconPor.gf @@ -23,7 +23,7 @@ lin clean_A = mkA "limpo" ; clever_A = mkA "inteligente" ; cold_A = mkA "frio" ; -- fria - correct_A = mkA "correto" | mkA "correcto" ; + correct_A = mkA "correto" ; dirty_A = mkA "sujo" ; dry_A = mkA "seco" ; dull_A = mkA "desafilado" ; @@ -47,7 +47,7 @@ lin short_A = mkA "curto" ; --- breve, pequeno, baixo small_A = prefA (mkA "pequeno") ; smooth_A = mkA "liso" ; -- suave - straight_A = mkA "direto" | mkA "directo" ; -- reto + straight_A = mkA "direto" ; -- reto stupid_A = mkA "estúpido" ; thick_A = mkA "grosso" ; thin_A = mkA "fino" ; -- delgado, magro @@ -337,7 +337,7 @@ lin flow_V = mkV "fluir" ; -- circular fly_V = mkV "voar" ; freeze_V = mkV "congelar" ; - go_V = (mkV "ir") ; + go_V = mkV (ir_Besch "ir") ; jump_V = mkV "saltar" ; laugh_V = mkV (rir_Besch "rir") ; lie_V = reflV (mkV "mentir") ;