diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 3ee3b840..79055867 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -206,6 +206,8 @@ abstract Extend = Cat ** { DetNPMasc : Det -> NP ; DetNPFem : Det -> NP ; + UseComp_estar : Comp -> VP ; -- (Cat, Spa, Por) "está cheio" instead of "é cheio" + iFem_Pron : Pron ; -- I (Fem) youFem_Pron : Pron ; -- you (Fem) weFem_Pron : Pron ; -- we (Fem) diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index 303a966d..a45eced8 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -76,7 +76,7 @@ lin Cons_nr_RNP = variants {} ; -- NP -> RNPList -> RNPList ; -- John, my family, myself ComplGenVV = variants {} ; -- VV -> Ant -> Pol -> VP -> VP ; -- want not to have slept ComplSlashPartLast = ComplSlash ; - SlashV2V = variants {} ; -- V2V -> Ant -> Pol -> VPS -> VPSlash ; -- force (her) not to have slept + --SlashV2V = variants {} ; -- V2V -> Ant -> Pol -> VPS -> VPSlash ; -- force (her) not to have slept CompoundN = variants {} ; -- N -> N -> N ; -- control system / controls system / control-system CompoundAP = variants {} ; -- N -> A -> AP ; -- language independent / language-independent GerundCN = variants {} ; -- VP -> CN ; -- publishing of the document (can get a determiner) @@ -96,6 +96,7 @@ lin DetNPMasc = DetNP ; DetNPFem = DetNP ; + UseComp_estar = UseComp ; -- DEFAULT UseComp iFem_Pron = i_Pron ; -- DEFAULT I (masc) youFem_Pron = youSg_Pron ; -- DEFAULT you (masc) weFem_Pron = we_Pron ; -- DEFAULT we (masc) diff --git a/src/portuguese/DiffPor.gf b/src/portuguese/DiffPor.gf index 3e76fd04..fb057128 100644 --- a/src/portuguese/DiffPor.gf +++ b/src/portuguese/DiffPor.gf @@ -1,6 +1,6 @@ --# -path=.:../romance:../abstract:../common:../prelude -instance DiffPor of DiffRomance - [chooseTA,partAgr,vpAgrSubj,vpAgrClits] = open CommonRomance, PhonoPor, BeschPor, Prelude in { +instance DiffPor of DiffRomance - [iAdvQuestionInv,chooseTA,otherInv,partAgr,vpAgrSubj,vpAgrClits] = open CommonRomance, PhonoPor, BeschPor, Prelude in { flags optimize=noexpand ; coding=utf8 ; @@ -96,6 +96,10 @@ instance DiffPor of DiffRomance - [chooseTA,partAgr,vpAgrSubj,vpAgrClits] = open estarCopula = EstarCop ; ficarCopula = FicarCop ; + oper + iAdvQuestionInv : Direct = DDir ; + otherInv : Direct = DDir ; + oper -- the other Cases are defined in ResRomance dative : Case = CPrep P_a ; diff --git a/src/portuguese/ExtendPor.gf b/src/portuguese/ExtendPor.gf index 09e106b6..64c144b2 100644 --- a/src/portuguese/ExtendPor.gf +++ b/src/portuguese/ExtendPor.gf @@ -40,6 +40,7 @@ concrete ExtendPor of Extend = PresPartAP, ProDrop, PurposeVP, + UseComp_estar, VPS, iFem_Pron, theyFem_Pron, @@ -273,7 +274,11 @@ concrete ExtendPor of Extend = gerundStr vp = gerVP vp (Ag Masc Sg P3) ; lin + UncontractedNeg = {s = [] ; p = RNeg False} ; + -- Romance + UseComp_estar comp = insertComplement comp.s (predV estar_V) ; + iFem_Pron = pronAgr S.i_Pron Fem Sg P1 ; weFem_Pron = pronAgr S.we_Pron Fem Pl P1 ; youFem_Pron = pronAgr S.youSg_Pron Fem Sg P3 ; diff --git a/src/romance/DiffRomance.gf b/src/romance/DiffRomance.gf index 83be3312..29c69338 100644 --- a/src/romance/DiffRomance.gf +++ b/src/romance/DiffRomance.gf @@ -63,6 +63,10 @@ interface DiffRomance = open CommonRomance, Prelude in { oper iAdvQuestionInv : Direct = DInv ; -- except Fre + oper iCompQuestionInv : Direct = DInv ; -- for Cat,Por,Spa where otherInv will be DDir + + oper otherInv : Direct = DInv ; -- except Cat, Por, Spa + --2 Constants that must derivatively depend on language param NPForm = Ton Case | Aton Case | Poss {g : Gender ; n : Number} ; --- AAgr diff --git a/src/romance/QuestionRomance.gf b/src/romance/QuestionRomance.gf index 9cf5e2c0..d460d491 100644 --- a/src/romance/QuestionRomance.gf +++ b/src/romance/QuestionRomance.gf @@ -29,7 +29,7 @@ incomplete concrete QuestionRomance of Question = \d -> slash.s ! ip.a ! d ! t ! a ! p ! Indic ; who = slash.c2.s ++ ip.s ! slash.c2.c in table { - QDir => who ++ cls DInv ; + QDir => who ++ cls otherInv ; QIndir => who ++ cls DDir } } ; @@ -39,7 +39,7 @@ incomplete concrete QuestionRomance of Question = let ord = case q of { QDir => iAdvQuestionInv ; - QIndir => iAdvQuestionInv + QIndir => iAdvQuestionInv } ; cls = cl.s ! ord ! t ! a ! p ! Indic ; why = iadv.s @@ -51,7 +51,7 @@ incomplete concrete QuestionRomance of Question = let vp = predV (selectCopula icomp.cop) ; cls = (mkClause (np.s ! Nom).comp np.hasClit np.isPol np.a vp).s ! - DInv ! t ! a ! p ! Indic ; + iCompQuestionInv ! t ! a ! p ! Indic ; why = icomp.s ! complAgr np.a ; in why ++ cls } ; diff --git a/src/spanish/DiffSpa.gf b/src/spanish/DiffSpa.gf index 60232329..f9571baf 100644 --- a/src/spanish/DiffSpa.gf +++ b/src/spanish/DiffSpa.gf @@ -1,6 +1,6 @@ --# -path=.:../romance:../abstract:../common:prelude -instance DiffSpa of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits,contractInf] = open CommonRomance, PhonoSpa, BeschSpa, Prelude in { +instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,vpAgrSubj,vpAgrClits,contractInf] = open CommonRomance, PhonoSpa, BeschSpa, Prelude in { flags optimize=noexpand ; coding=utf8 ; @@ -139,6 +139,9 @@ instance DiffSpa of DiffRomance - [partAgr,vpAgrSubj,vpAgrClits,contractInf] = o serCopula = False ; estarCopula = True ; + iAdvQuestionInv : Direct = DDir ; + otherInv : Direct = DDir ; + negation : RPolarity => (Str * Str) = table { RPos => <[],[]> ; RNeg _ => <"no",[]> diff --git a/src/spanish/ExtendSpa.gf b/src/spanish/ExtendSpa.gf index ab45a33d..c7db418e 100644 --- a/src/spanish/ExtendSpa.gf +++ b/src/spanish/ExtendSpa.gf @@ -18,6 +18,8 @@ concrete ExtendSpa of Extend = -- put your own definitions here lin + UseComp_estar comp = insertComplement comp.s (predV estar_V) ; + iFem_Pron = mkPronoun "yo" "me" "me" "mí" "mi" "mi" "mis" "mis" @@ -67,4 +69,4 @@ concrete ExtendSpa of Extend = } ; - } \ No newline at end of file + }