diff --git a/lib/src/catalan/CatCat.gf b/lib/src/catalan/CatCat.gf index f1bbf48da..746836316 100644 --- a/lib/src/catalan/CatCat.gf +++ b/lib/src/catalan/CatCat.gf @@ -1,6 +1,6 @@ --# -path=.:../romance:../abstract:../common:prelude concrete CatCat of Cat = - CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** + CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol] ** CatRomance with -- JS restore TPast for notpresent (ResRomance = ResCat) ; diff --git a/lib/src/catalan/DiffCat.gf b/lib/src/catalan/DiffCat.gf index b9c125060..9c07d93ca 100644 --- a/lib/src/catalan/DiffCat.gf +++ b/lib/src/catalan/DiffCat.gf @@ -104,9 +104,9 @@ oper in neg.p1 ++ verb ++ bindIf clpr.p3 ++ clpr.p1 ++ compl ; - negation : Polarity => (Str * Str) = table { - Pos => <[],[]> ; - Neg => <"no",[]> + negation : RPolarity => (Str * Str) = table { + RPos => <[],[]> ; + RNeg _ => <"no",[]> } ; conjThan = "que" ; diff --git a/lib/src/catalan/GrammarCat.gf b/lib/src/catalan/GrammarCat.gf index a7935fd59..a1a4fda2b 100644 --- a/lib/src/catalan/GrammarCat.gf +++ b/lib/src/catalan/GrammarCat.gf @@ -11,7 +11,7 @@ concrete GrammarCat of Grammar = RelativeCat, ConjunctionCat, PhraseCat, - TextX - [SC,Temp,Tense], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg], IdiomCat, StructuralCat, TenseCat diff --git a/lib/src/catalan/IdiomCat.gf b/lib/src/catalan/IdiomCat.gf index 1e4eeb2bb..c68cbe901 100644 --- a/lib/src/catalan/IdiomCat.gf +++ b/lib/src/catalan/IdiomCat.gf @@ -15,7 +15,7 @@ concrete IdiomCat of Idiom = CatCat ** (\\agr => let clpr = ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ; - obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ---- pol + obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! RPos ---- pol in vp.s.s ! VGer ++ clpr.p1 ++ obj ) @@ -38,7 +38,7 @@ concrete IdiomCat of Idiom = CatCat ** } ; ImpPl1 vp = {s = - mkImperative False P1 vp ! Pos ! Masc ! Pl --- fem + mkImperative False P1 vp ! RPos ! Masc ! Pl --- fem } ; CleftAdv ad s = mkClause [] True False (agrP3 Masc Sg) diff --git a/lib/src/catalan/TenseCat.gf b/lib/src/catalan/TenseCat.gf index 458777ac1..47ec4f20f 100644 --- a/lib/src/catalan/TenseCat.gf +++ b/lib/src/catalan/TenseCat.gf @@ -1,3 +1,3 @@ -concrete TenseCat of Tense = CatCat, TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] ** +concrete TenseCat of Tense = CatCat, TenseX [Ant,AAnter,ASimul] ** TenseRomance with (ResRomance = ResCat) ; diff --git a/lib/src/french/CatFre.gf b/lib/src/french/CatFre.gf index 3a292c89e..47d5b7d26 100644 --- a/lib/src/french/CatFre.gf +++ b/lib/src/french/CatFre.gf @@ -1,5 +1,5 @@ --# -path=.:../romance:../common:../abstract:../common:prelude -concrete CatFre of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] +concrete CatFre of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol] ** CatRomance with (ResRomance = ResFre) ; diff --git a/lib/src/french/DiffFre.gf b/lib/src/french/DiffFre.gf index ec915c8c3..96880b392 100644 --- a/lib/src/french/DiffFre.gf +++ b/lib/src/french/DiffFre.gf @@ -90,11 +90,11 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { -- Positive polarity is used in the imperative: stressed for 1st and -- 2nd persons. - pronArgGen : Polarity -> Number -> Person -> CAgr -> CAgr -> Str * Str = + pronArgGen : RPolarity -> Number -> Person -> CAgr -> CAgr -> Str * Str = \b,n,p,acc,dat -> let cas : Person -> Case -> Case = \pr,c -> case of { - => CPrep P_de ; --- encoding in argPron + => CPrep P_de ; --- encoding in argPron _ => c } ; pacc = case acc of { @@ -126,15 +126,16 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in { compl = vp.comp ! agr ++ vp.ext ! pol in case pol of { - Pos => verb ++ if_then_Str clpr.p2 "-" [] ++ clpr.p1 ++ compl ; - Neg => neg.p1 ++ clpr.p1 ++ verb ++ neg.p2 ++ compl + RPos => verb ++ if_then_Str clpr.p2 "-" [] ++ clpr.p1 ++ compl ; + RNeg _ => neg.p1 ++ clpr.p1 ++ verb ++ neg.p2 ++ compl } ; ---- TODO: vois-le vs. vois-moi vs. ne me vois pas - negation : Polarity => (Str * Str) = table { - Pos => <[],[]> ; - Neg => + negation : RPolarity => (Str * Str) = table { + RPos => <[],[]> ; + RNeg True => ; + RNeg False => } ; conjThan = elisQue ; diff --git a/lib/src/french/ExtraFre.gf b/lib/src/french/ExtraFre.gf index f3f662afb..86e2be80b 100644 --- a/lib/src/french/ExtraFre.gf +++ b/lib/src/french/ExtraFre.gf @@ -67,4 +67,6 @@ concrete ExtraFre of ExtraFreAbs = ExtraRomanceFre ** s2 = [] } ; + PNegNe = {s = [] ; p = RNeg True} ; + } diff --git a/lib/src/french/ExtraFreAbs.gf b/lib/src/french/ExtraFreAbs.gf index 9eb6855e3..44a55f82e 100644 --- a/lib/src/french/ExtraFreAbs.gf +++ b/lib/src/french/ExtraFreAbs.gf @@ -35,4 +35,8 @@ abstract ExtraFreAbs = ExtraRomanceAbs - [ProDrop] ** { tout_Det : Det ; +-- Polarity "ne" without "pas" + + PNegNe : Pol ; + } diff --git a/lib/src/french/GrammarFre.gf b/lib/src/french/GrammarFre.gf index c12bac844..97cd5e438 100644 --- a/lib/src/french/GrammarFre.gf +++ b/lib/src/french/GrammarFre.gf @@ -11,12 +11,12 @@ concrete GrammarFre of Grammar = RelativeFre, ConjunctionFre, PhraseFre, - TextX - [SC,Temp,Tense], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg], IdiomFre, StructuralFre, TenseFre ** { -flags startcat = Phr ; unlexer = text ; lexer = text ; +flags startcat = Phr ; } ; diff --git a/lib/src/french/IdiomFre.gf b/lib/src/french/IdiomFre.gf index c92956d3d..8fca67d2d 100644 --- a/lib/src/french/IdiomFre.gf +++ b/lib/src/french/IdiomFre.gf @@ -34,12 +34,12 @@ concrete IdiomFre of Idiom = CatFre ** (predV copula) ; ImpPl1 vp = { - s = mkImperative False P1 vp ! Pos ! Masc ! Pl --- fem + s = mkImperative False P1 vp ! RPos ! Masc ! Pl --- fem } ; ImpP3 np vp = { s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s - ! DInv ! RPres ! Simul ! Pos ! Conjunct + ! DInv ! RPres ! Simul ! RPos ! Conjunct } ; oper diff --git a/lib/src/french/TenseFre.gf b/lib/src/french/TenseFre.gf index 5953d11fe..f5b690f56 100644 --- a/lib/src/french/TenseFre.gf +++ b/lib/src/french/TenseFre.gf @@ -1,3 +1,3 @@ -concrete TenseFre of Tense = CatFre, TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] ** +concrete TenseFre of Tense = CatFre, TenseX [Ant,AAnter,ASimul] ** TenseRomance with (ResRomance = ResFre) ; diff --git a/lib/src/italian/CatIta.gf b/lib/src/italian/CatIta.gf index 13a6a2dfe..eb7aa8427 100644 --- a/lib/src/italian/CatIta.gf +++ b/lib/src/italian/CatIta.gf @@ -1,4 +1,4 @@ --# -path=.:../romance:../abstract:../common:prelude -concrete CatIta of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** CatRomance with +concrete CatIta of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol] ** CatRomance with (ResRomance = ResIta) ; diff --git a/lib/src/italian/DiffIta.gf b/lib/src/italian/DiffIta.gf index 5407df393..d263e2d40 100644 --- a/lib/src/italian/DiffIta.gf +++ b/lib/src/italian/DiffIta.gf @@ -115,7 +115,7 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud agr = {g = g ; n = n ; p = pe} ; clpr = ; ---- TODO: True is clit verb = case of { - => vp.s.s ! VInfin clpr.p3 ; ---- ! aag ; + => vp.s.s ! VInfin clpr.p3 ; ---- ! aag ; _ => vp.s.s ! vImper n pe } ; neg = vp.neg ! pol ; @@ -124,9 +124,9 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud neg.p1 ++ verb ++ bindIf clpr.p3 ++ clpr.p1 ++ compl ; ---- TODO non mi mangi - negation : Polarity => (Str * Str) = table { - Pos => <[],[]> ; - Neg => <"non",[]> + negation : RPolarity => (Str * Str) = table { + RPos => <[],[]> ; + RNeg _ => <"non",[]> } ; conjThan = "di" ; --- che diff --git a/lib/src/italian/GrammarIta.gf b/lib/src/italian/GrammarIta.gf index 1dd31bc28..b4292dd27 100644 --- a/lib/src/italian/GrammarIta.gf +++ b/lib/src/italian/GrammarIta.gf @@ -11,7 +11,7 @@ concrete GrammarIta of Grammar = RelativeIta, ConjunctionIta, PhraseIta, - TextX - [SC,Temp,Tense], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg], IdiomIta, StructuralIta, TenseIta diff --git a/lib/src/italian/IdiomIta.gf b/lib/src/italian/IdiomIta.gf index 968697e88..84b4fcdd2 100644 --- a/lib/src/italian/IdiomIta.gf +++ b/lib/src/italian/IdiomIta.gf @@ -37,14 +37,14 @@ concrete IdiomIta of Idiom = CatIta ** (\\agr => let clpr = <[],[],False> ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ; - obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ---- pol + obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! RPos ---- pol in vp.s.s ! VGer ++ clpr.p1 ++ obj ) (predV (essereV (verboV (stare_16 "stare")))) ; ImpPl1 vp = {s = - mkImperative False P1 vp ! Pos ! Masc ! Pl --- fem + mkImperative False P1 vp ! RPos ! Masc ! Pl --- fem } ; } diff --git a/lib/src/italian/TenseIta.gf b/lib/src/italian/TenseIta.gf index 1710c9a7a..9bd4a2234 100644 --- a/lib/src/italian/TenseIta.gf +++ b/lib/src/italian/TenseIta.gf @@ -1,3 +1,3 @@ -concrete TenseIta of Tense = CatIta, TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] ** +concrete TenseIta of Tense = CatIta, TenseX [Ant,AAnter,ASimul] ** TenseRomance with (ResRomance = ResIta) ; diff --git a/lib/src/romance/CatRomance.gf b/lib/src/romance/CatRomance.gf index 96244a374..5c7f57b13 100644 --- a/lib/src/romance/CatRomance.gf +++ b/lib/src/romance/CatRomance.gf @@ -1,10 +1,14 @@ -incomplete concrete CatRomance of Cat = CommonX - [SC] +incomplete concrete CatRomance of Cat = CommonX - [SC,Pol] ** open Prelude, CommonRomance, ResRomance, (R = ParamX) in { flags optimize=all_subs ; lincat +-- exception to CommonX, due to the distinction ne/ne-pas + + Pol = {s : Str ; p : RPolarity} ; + -- Tensed/Untensed S = {s : Mood => Str} ; @@ -19,16 +23,16 @@ incomplete concrete CatRomance of Cat = CommonX - [SC] -- Sentence - Cl = {s : Direct => RTense => Anteriority => Polarity => Mood => Str} ; + Cl = {s : Direct => RTense => Anteriority => RPolarity => Mood => Str} ; ClSlash = { - s : AAgr => Direct => RTense => Anteriority => Polarity => Mood => Str ; + s : AAgr => Direct => RTense => Anteriority => RPolarity => Mood => Str ; c2 : Compl } ; - Imp = {s : Polarity => ImpForm => Gender => Str} ; + Imp = {s : RPolarity => ImpForm => Gender => Str} ; -- Question - QCl = {s : RTense => Anteriority => Polarity => QForm => Str} ; + QCl = {s : RTense => Anteriority => RPolarity => QForm => Str} ; IP = {s : Case => Str ; a : AAgr} ; IComp = {s : AAgr => Str} ; IDet = {s : Gender => Case => Str ; n : Number} ; @@ -37,7 +41,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC] -- Relative RCl = { - s : Agr => RTense => Anteriority => Polarity => Mood => Str ; + s : Agr => RTense => Anteriority => RPolarity => Mood => Str ; c : Case } ; RP = {s : Bool => AAgr => Case => Str ; a : AAgr ; hasAgr : Bool} ; @@ -95,7 +99,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC] V, VQ, VA = Verb ; V2, VV, V2S, V2Q = Verb ** {c2 : Compl} ; V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; - VS = Verb ** {m : Polarity => Mood} ; + VS = Verb ** {m : RPolarity => Mood} ; A = {s : Degree => AForm => Str ; isPre : Bool} ; A2 = {s : Degree => AForm => Str ; c2 : Compl} ; diff --git a/lib/src/romance/CommonRomance.gf b/lib/src/romance/CommonRomance.gf index 2833d8ba5..987c9983b 100644 --- a/lib/src/romance/CommonRomance.gf +++ b/lib/src/romance/CommonRomance.gf @@ -233,18 +233,21 @@ oper oper VPC : Type = { s : VPForm => { - fin : Agr => Str ; -- ai - inf : AAgr => Str -- dit + fin : Agr => Str ; -- ai + inf : AAgr => Str -- dit } ; - agr : VPAgr ; -- dit/dite dep. on verb, subj, and clitic - neg : Polarity => (Str * Str) ; -- ne-pas - clit1 : Str ; -- le/se - clit2 : Str ; -- lui - clit3 : Str ; -- y en - comp : Agr => Str ; -- content(e) ; à ma mère ; hier - ext : Polarity => Str ; -- que je dors / que je dorme + agr : VPAgr ; -- dit/dite dep. on verb, subj, and clitic + neg : RPolarity => (Str * Str) ; -- ne-pas + clit1 : Str ; -- le/se + clit2 : Str ; -- lui + clit3 : Str ; -- y en + comp : Agr => Str ; -- content(e) ; à ma mère ; hier + ext : RPolarity => Str ; -- que je dors / que je dorme } ; +-- Polarity: three values (Fre positive,ne-pas,ne), presence of polarity element line "aucun" + + param RPolarity = RPos | RNeg Bool ; -- RNeg True = "ne", RNeg False = "ne - pas" } diff --git a/lib/src/romance/DiffRomance.gf b/lib/src/romance/DiffRomance.gf index be53051d3..44db0b9df 100644 --- a/lib/src/romance/DiffRomance.gf +++ b/lib/src/romance/DiffRomance.gf @@ -49,7 +49,8 @@ interface DiffRomance = open CommonRomance, Prelude in { -- To render imperatives (with their clitics etc). - oper mkImperative : Bool -> Person -> VP -> Polarity => Gender => Number => Str ; + oper mkImperative : Bool -> Person -> VP -> RPolarity => Gender => Number => Str ; + --2 Constants that must derivatively depend on language @@ -76,7 +77,7 @@ interface DiffRomance = open CommonRomance, Prelude in { possCase : Gender -> Number -> Case -> Str ; auxVerb : VType -> (VF => Str) ; - negation : Polarity => (Str * Str) ; + negation : RPolarity => (Str * Str) ; copula : Verb ; conjThan : Str ; @@ -105,15 +106,16 @@ oper VP : Type = { s : Verb ; - agr : VPAgr ; -- dit/dite dep. on verb, subj, and clitic - neg : Polarity => (Str * Str) ; -- ne-pas - clit1 : Str ; -- le/se - clit2 : Str ; -- lui - clit3 : Str ; -- y en - comp : Agr => Str ; -- content(e) ; à ma mère ; hier - ext : Polarity => Str ; -- que je dors / que je dorme + agr : VPAgr ; -- dit/dite dep. on verb, subj, and clitic + neg : RPolarity => (Str * Str) ; -- ne-pas + clit1 : Str ; -- le/se + clit2 : Str ; -- lui + clit3 : Str ; -- y en + comp : Agr => Str ; -- content(e) ; à ma mère ; hier + ext : RPolarity => Str ; -- que je dors / que je dorme } ; + --2 Workarounds, to be eliminated -- This should be provided by $pronArg$ above, but causes trouble in compilation. diff --git a/lib/src/romance/ResRomance.gf b/lib/src/romance/ResRomance.gf index d6b917753..b7b08e331 100644 --- a/lib/src/romance/ResRomance.gf +++ b/lib/src/romance/ResRomance.gf @@ -166,7 +166,7 @@ oper ext = vp.ext ; } ; - insertExtrapos : (Polarity => Str) -> VP -> VP = \co,vp -> { + insertExtrapos : (RPolarity => Str) -> VP -> VP = \co,vp -> { s = vp.s ; agr = vp.agr ; clit1 = vp.clit1 ; @@ -179,19 +179,8 @@ oper mkVPSlash : Compl -> VP -> VP ** {c2 : Compl} = \c,vp -> vp ** {c2 = c} ; - tmpVP : Type = { - s : Verb ; - agr : VPAgr ; -- dit/dite dep. on verb, subj, and clitic - neg : Polarity => (Str * Str) ; -- ne-pas - clit1 : Str ; -- le/se - clit2 : Str ; -- lui - clit3 : Str ; -- y en - comp : Agr => Str ; -- content(e) ; à ma mère ; hier - ext : Polarity => Str ; -- que je dors / que je dorme - } ; - mkClause : Str -> Bool -> Bool -> Agr -> VP -> - {s : Direct => RTense => Anteriority => Polarity => Mood => Str} = + {s : Direct => RTense => Anteriority => RPolarity => Mood => Str} = \subj, hasClit, isPol, agr, vp -> { s = \\d,te,a,b,m => let @@ -252,8 +241,8 @@ oper let iform = False ; ---- meaning: no clitics inf = vp.s.s ! VInfin iform ; - neg = vp.neg ! Pos ; --- Neg not in API - obj = neg.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ; ---- pol + neg = vp.neg ! RPos ; --- Neg not in API + obj = neg.p2 ++ vp.comp ! agr ++ vp.ext ! RPos ; ---- pol refl = case vp.s.vtyp of { VRefl => reflPron agr.n agr.p Acc ; ---- case ? _ => [] diff --git a/lib/src/romance/TenseRomance.gf b/lib/src/romance/TenseRomance.gf index fae0b4b00..d37448dfe 100644 --- a/lib/src/romance/TenseRomance.gf +++ b/lib/src/romance/TenseRomance.gf @@ -1,6 +1,6 @@ incomplete concrete TenseRomance of Tense = - CatRomance [Tense,Temp], TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] ** - open ResRomance, CommonRomance in { + CatRomance [Tense,Temp], TenseX [Ant,AAnter,ASimul] ** + open ResRomance, CommonRomance, Prelude in { lin TTAnt t a = {s = a.s ++ t.s ; a = a.a ; t = t.t} ; @@ -9,4 +9,7 @@ incomplete concrete TenseRomance of Tense = TFut = {s = []} ** {t = RFut} ; --# notpresent TCond = {s = []} ** {t = RCond} ; --# notpresent + PPos = {s = [] ; p = RPos} ; + PNeg = {s = [] ; p = RNeg False} ; + } diff --git a/lib/src/spanish/CatSpa.gf b/lib/src/spanish/CatSpa.gf index 6651c24ef..816909b6c 100644 --- a/lib/src/spanish/CatSpa.gf +++ b/lib/src/spanish/CatSpa.gf @@ -1,5 +1,5 @@ --# -path=.:../romance:../abstract:../common:prelude concrete CatSpa of Cat = CommonX - - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond] ** CatRomance with + [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol] ** CatRomance with (ResRomance = ResSpa) ; diff --git a/lib/src/spanish/DiffSpa.gf b/lib/src/spanish/DiffSpa.gf index d9d0d2956..90bf3e89b 100644 --- a/lib/src/spanish/DiffSpa.gf +++ b/lib/src/spanish/DiffSpa.gf @@ -107,9 +107,9 @@ instance DiffSpa of DiffRomance = open CommonRomance, PhonoSpa, BeschSpa, Prelud in neg.p1 ++ verb ++ bindIf clpr.p3 ++ clpr.p1 ++ compl ; - negation : Polarity => (Str * Str) = table { - Pos => <[],[]> ; - Neg => <"no",[]> + negation : RPolarity => (Str * Str) = table { + RPos => <[],[]> ; + RNeg _ => <"no",[]> } ; conjThan = "que" ; diff --git a/lib/src/spanish/GrammarSpa.gf b/lib/src/spanish/GrammarSpa.gf index 299412249..f34515711 100644 --- a/lib/src/spanish/GrammarSpa.gf +++ b/lib/src/spanish/GrammarSpa.gf @@ -11,7 +11,7 @@ concrete GrammarSpa of Grammar = RelativeSpa, ConjunctionSpa, PhraseSpa, - TextSpa - [SC,Temp,Tense], -- special punctuation + TextSpa - [SC,Temp,Tense,Pol,PPos,PNeg], -- special punctuation IdiomSpa, StructuralSpa, TenseSpa diff --git a/lib/src/spanish/IdiomSpa.gf b/lib/src/spanish/IdiomSpa.gf index 346cb8dc7..8fefce531 100644 --- a/lib/src/spanish/IdiomSpa.gf +++ b/lib/src/spanish/IdiomSpa.gf @@ -32,14 +32,14 @@ concrete IdiomSpa of Idiom = CatSpa ** (\\agr => let clpr = ; ----e pronArg agr.n agr.p vp.clAcc vp.clDat ; - obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! Pos ---- pol + obj = clpr.p2 ++ vp.comp ! agr ++ vp.ext ! RPos ---- pol in vp.s.s ! VGer ++ clpr.p1 ++ obj ) (predV (verboV (estar_2 "estar"))) ; ImpPl1 vp = {s = - mkImperative False P1 vp ! Pos ! Masc ! Pl ; --- fem + mkImperative False P1 vp ! RPos ! Masc ! Pl ; --- fem } ; } diff --git a/lib/src/spanish/TenseSpa.gf b/lib/src/spanish/TenseSpa.gf index 6578de100..8a78a616c 100644 --- a/lib/src/spanish/TenseSpa.gf +++ b/lib/src/spanish/TenseSpa.gf @@ -1,3 +1,3 @@ -concrete TenseSpa of Tense = CatSpa, TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] ** +concrete TenseSpa of Tense = CatSpa, TenseX [Ant,AAnter,ASimul] ** TenseRomance with (ResRomance = ResSpa) ;