diff --git a/src/catalan/CatCat.gf b/src/catalan/CatCat.gf index 746836316..3b097e8c2 100644 --- a/src/catalan/CatCat.gf +++ b/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,Pol] ** + CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol,MU] ** CatRomance with -- JS restore TPast for notpresent (ResRomance = ResCat) ; diff --git a/src/catalan/GrammarCat.gf b/src/catalan/GrammarCat.gf index afd7472e3..018253be1 100644 --- a/src/catalan/GrammarCat.gf +++ b/src/catalan/GrammarCat.gf @@ -11,7 +11,7 @@ concrete GrammarCat of Grammar = RelativeCat, ConjunctionCat, PhraseCat, - TextX - [SC,Temp,Tense,Pol,PPos,PNeg], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg,MU], IdiomCat, StructuralCat, TenseCat, diff --git a/src/catalan/ParadigmsCat.gf b/src/catalan/ParadigmsCat.gf index edf09edba..c60a4f273 100644 --- a/src/catalan/ParadigmsCat.gf +++ b/src/catalan/ParadigmsCat.gf @@ -588,6 +588,6 @@ oper mk2V2 : V -> Prep -> V2 ; dirV2 : V -> V2 ; - mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False; hasArt=False} ; } ; diff --git a/src/french/CatFre.gf b/src/french/CatFre.gf index 47d5b7d26..fe6d40ec1 100644 --- a/src/french/CatFre.gf +++ b/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,Pol] +concrete CatFre of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol,MU] ** CatRomance with (ResRomance = ResFre) ; diff --git a/src/french/GrammarFre.gf b/src/french/GrammarFre.gf index 7fc42bd6d..3de5bab56 100644 --- a/src/french/GrammarFre.gf +++ b/src/french/GrammarFre.gf @@ -11,7 +11,7 @@ concrete GrammarFre of Grammar = RelativeFre, ConjunctionFre, PhraseFre, - TextX - [SC,Temp,Tense,Pol,PPos,PNeg], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg,MU], IdiomFre, StructuralFre, TenseFre, diff --git a/src/french/ParadigmsFre.gf b/src/french/ParadigmsFre.gf index fa11d6082..6aceb83d4 100644 --- a/src/french/ParadigmsFre.gf +++ b/src/french/ParadigmsFre.gf @@ -590,6 +590,6 @@ oper _ => VFalse -- prend-il } ; - mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False; hasArt=False} ; } ; diff --git a/src/italian/CatIta.gf b/src/italian/CatIta.gf index eb7aa8427..3a2fd8212 100644 --- a/src/italian/CatIta.gf +++ b/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,Pol] ** CatRomance with +concrete CatIta of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol,MU] ** CatRomance with (ResRomance = ResIta) ; diff --git a/src/italian/GrammarIta.gf b/src/italian/GrammarIta.gf index 773a2a176..4870434d2 100644 --- a/src/italian/GrammarIta.gf +++ b/src/italian/GrammarIta.gf @@ -11,7 +11,7 @@ concrete GrammarIta of Grammar = RelativeIta, ConjunctionIta, PhraseIta, - TextX - [SC,Temp,Tense,Pol,PPos,PNeg,TPres,TPast,TFut,TCond], + TextX - [SC,Temp,Tense,Pol,PPos,PNeg,TPres,TPast,TFut,TCond,MU], IdiomIta, StructuralIta, TenseIta, diff --git a/src/italian/ParadigmsIta.gf b/src/italian/ParadigmsIta.gf index 2454bf153..22647496d 100644 --- a/src/italian/ParadigmsIta.gf +++ b/src/italian/ParadigmsIta.gf @@ -589,6 +589,6 @@ oper mk2V2 : V -> Prep -> V2 ; dirV2 : V -> V2 ; - mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False; hasArt=False} ; } ; diff --git a/src/portuguese/CatPor.gf b/src/portuguese/CatPor.gf index 9c794dfcc..faf439ba9 100644 --- a/src/portuguese/CatPor.gf +++ b/src/portuguese/CatPor.gf @@ -1,5 +1,5 @@ --# -path=.:../romance:../abstract:../common:prelude concrete CatPor of Cat = CommonX - - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol] ** CatRomance with + [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol,MU] ** CatRomance with (ResRomance = ResPor) ; diff --git a/src/portuguese/GrammarPor.gf b/src/portuguese/GrammarPor.gf index 7e41abd2b..cbdb545d2 100644 --- a/src/portuguese/GrammarPor.gf +++ b/src/portuguese/GrammarPor.gf @@ -11,7 +11,7 @@ concrete GrammarPor of Grammar = RelativePor, ConjunctionPor, PhrasePor, - TextPor - [SC,Temp,Tense,Pol,PPos,PNeg], -- special punctuation + TextPor - [SC,Temp,Tense,Pol,PPos,PNeg,MU], -- special punctuation IdiomPor, StructuralPor, TensePor, diff --git a/src/portuguese/ParadigmsPor.gf b/src/portuguese/ParadigmsPor.gf index f59bc66b7..d62697fd6 100644 --- a/src/portuguese/ParadigmsPor.gf +++ b/src/portuguese/ParadigmsPor.gf @@ -598,7 +598,7 @@ oper reflVerboV : Verbum -> V = \ve -> reflV (lin V (verboV ve)) ; --% - mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False; hasArt=False} ; } ; diff --git a/src/romance/CatRomance.gf b/src/romance/CatRomance.gf index 034c5f732..14af013d5 100644 --- a/src/romance/CatRomance.gf +++ b/src/romance/CatRomance.gf @@ -1,4 +1,4 @@ -incomplete concrete CatRomance of Cat = CommonX - [SC,Pol] +incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU] ** open Prelude, CommonRomance, ResRomance, (R = ParamX) in { flags optimize=all_subs ; @@ -147,4 +147,8 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol] N = \n -> n.s ! Sg ; N2 = \n -> n.s ! Sg ++ n.c2.s ; N3 = \n -> n.s ! Sg ++ n.c2.s ++ n.c3.s ; + + lincat MU = {s : Str ; isPre : Bool ; hasArt : Bool} ; + + } diff --git a/src/romance/NounRomance.gf b/src/romance/NounRomance.gf index 6d6615dee..721ffc195 100644 --- a/src/romance/NounRomance.gf +++ b/src/romance/NounRomance.gf @@ -208,9 +208,12 @@ incomplete concrete NounRomance of Noun = DetDAP det = det ; QuantityNP n m = heavyNPpol False { - s = \\c => preOrPost m.isPre m.s (n.s ! NCard Masc); + s = \\c => case of { + | => artDef False Masc Sg c ++ preOrPost m.isPre m.s (n.s ! NCard Masc); + _ => preOrPost m.isPre m.s (n.s ! NCard Masc)}; + a = agrP3 Masc n.n ; hasClit = False } ; + } -} diff --git a/src/spanish/CatSpa.gf b/src/spanish/CatSpa.gf index 816909b6c..1f63e5645 100644 --- a/src/spanish/CatSpa.gf +++ b/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,Pol] ** CatRomance with + [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol,MU] ** CatRomance with (ResRomance = ResSpa) ; diff --git a/src/spanish/GrammarSpa.gf b/src/spanish/GrammarSpa.gf index 019440529..bab5b7ead 100644 --- a/src/spanish/GrammarSpa.gf +++ b/src/spanish/GrammarSpa.gf @@ -11,7 +11,7 @@ concrete GrammarSpa of Grammar = RelativeSpa, ConjunctionSpa, PhraseSpa, - TextSpa - [SC,Temp,Tense,Pol,PPos,PNeg], -- special punctuation + TextSpa - [SC,Temp,Tense,Pol,PPos,PNeg,MU], -- special punctuation IdiomSpa, StructuralSpa, TenseSpa, diff --git a/src/spanish/ParadigmsSpa.gf b/src/spanish/ParadigmsSpa.gf index 5f8505963..89c7f0f63 100644 --- a/src/spanish/ParadigmsSpa.gf +++ b/src/spanish/ParadigmsSpa.gf @@ -618,6 +618,6 @@ oper mk2V2 : V -> Prep -> V2 ; dirV2 : V -> V2 ; - mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; + mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False ; hasArt=False} ; } ;