diff --git a/src/catalan/CompatibilityCat.gf b/src/catalan/CompatibilityCat.gf index bfadae52d..71d41751a 100644 --- a/src/catalan/CompatibilityCat.gf +++ b/src/catalan/CompatibilityCat.gf @@ -6,6 +6,6 @@ concrete CompatibilityCat of Compatibility = CatCat ** open Prelude, CommonRoman lin NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "."} ; --- + OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "." ; s2 = \\_ => []} ; --- } diff --git a/src/catalan/DiffCat.gf b/src/catalan/DiffCat.gf index f4e7c1e87..a43c5d70c 100644 --- a/src/catalan/DiffCat.gf +++ b/src/catalan/DiffCat.gf @@ -228,4 +228,7 @@ oper param HasArt = NoArt | UseArt ; +oper + superlCanBePost = False ; + } diff --git a/src/catalan/StructuralCat.gf b/src/catalan/StructuralCat.gf index 65ae557b4..a66a8a41d 100644 --- a/src/catalan/StructuralCat.gf +++ b/src/catalan/StructuralCat.gf @@ -33,13 +33,13 @@ lin every_Det = { s,sp = \\_,_ => "cada"; spn =\\c => prepCase c ++ "tot" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; everything_NP = pn2np (mkPN "tot" Masc) ; everywhere_Adv = ss ["a tot arreu"] ; few_Det = { s,sp = \\g,c => prepCase c ++ genForms "pocs" "poques" ! g ; spn = \\c => prepCase c ++ "pocs" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; --- first_Ord = {s = \\ag => (regA "primer").s ! Posit ! AF ag.g ag.n} ; for_Prep = mkPrep ["per a"] ; from_Prep = complGen ; --- @@ -71,14 +71,14 @@ lin many_Det = { s,sp = \\g,c => prepCase c ++ genForms "molts" "moltes" ! g ; spn = \\c => prepCase c ++ "molts" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; more_CAdv = X.mkCAdv "més" conjThan ; most_Predet = {s = \\_,c => prepCase c ++ ["la majoria"] ; c = CPrep P_de ; a = PNoAg} ; much_Det = { s,sp = \\g,c => prepCase c ++ genForms "molt" "molta" ! g ; spn = \\c => prepCase c ++ "molt" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; must_VV = deVV (verbV (haver_59 "haver" True)) ; no_Utt = ss "no" ; on_Prep = mkPrep "sobre" ; @@ -101,11 +101,11 @@ lin somePl_Det = { s,sp = \\g,c => prepCase c ++ genForms "alguns" "algunes" ! g ; spn = \\c => prepCase c ++ "alguns" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; someSg_Det = { s,sp = \\g,c => prepCase c ++ genForms "algun" "alguna" ! g ; spn = \\c => prepCase c ++ "quelcom" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; something_NP = pn2np (mkPN ["quelcom"] Masc) ; somewhere_Adv = ss ["a algun lloc"] ; that_Quant = diff --git a/src/french/CompatibilityFre.gf b/src/french/CompatibilityFre.gf index 9d3dff908..b1b905243 100644 --- a/src/french/CompatibilityFre.gf +++ b/src/french/CompatibilityFre.gf @@ -6,6 +6,6 @@ concrete CompatibilityFre of Compatibility = CatFre ** open Prelude, CommonRoman lin NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "."} ; --- + OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "." ; s2 = \\_ => []} ; --- } diff --git a/src/french/DiffFre.gf b/src/french/DiffFre.gf index 303bb731d..d65ede464 100644 --- a/src/french/DiffFre.gf +++ b/src/french/DiffFre.gf @@ -341,4 +341,7 @@ instance DiffFre of DiffRomance - [ param HasArt = NoArt | UseArt | AlwaysArt ; +oper + superlCanBePost = False ; + } ; diff --git a/src/french/ExtraFre.gf b/src/french/ExtraFre.gf index 8be0ae779..d249ce8b2 100644 --- a/src/french/ExtraFre.gf +++ b/src/french/ExtraFre.gf @@ -77,7 +77,7 @@ concrete ExtraFre of ExtraFreAbs = ExtraRomanceFre ** s,sp = \\g,c => prepCase c ++ genForms "tout" "toute" ! g ; spn= \\c => prepCase c ++ "tout" ; n = Sg ; - s2 = [] ; + s2 = \\c => [] ; isNeg = False } ; diff --git a/src/french/MakeStructuralFre.gf b/src/french/MakeStructuralFre.gf index c7285f908..037d2c20f 100644 --- a/src/french/MakeStructuralFre.gf +++ b/src/french/MakeStructuralFre.gf @@ -42,12 +42,12 @@ oper mkDet : Str -> Det = \s -> lin Det { s,sp = \\_,c => prepCase c ++ s ; spn = \\c => prepCase c ++ s ; - n = Sg ; s2 = [] ; isNeg = False + n = Sg ; s2 = \\g => [] ; isNeg = False } ; mkDet : Str -> Str -> Number -> Det = \m,f,n -> lin Det { s,sp = \\g,c => prepCase c ++ case g of {Masc => m ; Fem => f} ; spn = \\c => prepCase c ++ m ; - n = n ; s2 = [] ; isNeg = False + n = n ; s2 = \\g => [] ; isNeg = False } ; } ; diff --git a/src/french/StructuralFre.gf b/src/french/StructuralFre.gf index 0a9028e30..6df71d8fe 100644 --- a/src/french/StructuralFre.gf +++ b/src/french/StructuralFre.gf @@ -38,7 +38,7 @@ lin sp = \\g,c => prepCase c ++ genForms "chacun" "chacune" ! g ; spn= \\c => prepCase c ++ "tout" ; n = Sg ; - s2 = [] ; + s2 = \\g => [] ; isNeg = False } ; everything_NP = pn2np (mkPN ["tout"] Masc) ; @@ -46,7 +46,7 @@ lin few_Det = { s,sp = \\g,c => prepCase c ++ "peu" ++ elisDe ; spn = \\c => prepCase c ++ "peu" ++ elisDe ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; --- DEPREC first_Ord = {s = \\ag => (regA "premier").s ! Posit ! AF ag.g ag.n} ; for_Prep = mkPreposition "pour" ; from_Prep = complGen ; --- @@ -75,12 +75,12 @@ lin many_Det = { s,sp = \\_,c => prepCase c ++ "plusieurs" ; spn = \\c => prepCase c ++ "plusieurs" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; more_CAdv = X.mkCAdv "plus" conjThan ; most_Predet = {s = \\_,c => prepCase c ++ ["la plupart"] ; c = CPrep P_de ; a = PNoAg} ; much_Det = {s,sp = \\_,c => prepCase c ++ "beaucoup" ++ elisDe ; spn = \\c => prepCase c ++ "beaucoup" ++ elisDe ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; must_VV = mkVV (devoir_V2 ** {lock_V = <>}) ; ---b no_Phr = ss "non" ; no_Utt = ss "non" ; @@ -103,11 +103,11 @@ lin somePl_Det = { s,sp = \\_,c => prepCase c ++ "quelques" ; spn = \\c => prepCase c ++ "quelque chose" ; - n = Pl ; s2 = [] ; isNeg = False} ; ---- sp + n = Pl ; s2 = \\g => [] ; isNeg = False} ; ---- sp someSg_Det = { s,sp = \\_,c => prepCase c ++ "quelque" ; spn = \\c => prepCase c ++ "quelque chose" ; - n = Sg ; s2 = [] ; isNeg = False} ; ----sp + n = Sg ; s2 = \\g => [] ; isNeg = False} ; ----sp something_NP = pn2np (mkPN ["quelque chose"] Masc) ; somewhere_Adv = ss ["quelque part"] ; --- ne - pas diff --git a/src/italian/CompatibilityIta.gf b/src/italian/CompatibilityIta.gf index 99714e3e8..31d6dc70b 100644 --- a/src/italian/CompatibilityIta.gf +++ b/src/italian/CompatibilityIta.gf @@ -6,6 +6,6 @@ concrete CompatibilityIta of Compatibility = CatIta ** open Prelude, CommonRoman lin NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "."} ; --- + OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "." ; s2 = \\_ => []} ; --- } diff --git a/src/italian/DiffIta.gf b/src/italian/DiffIta.gf index 215bd6c5e..2adb90d04 100644 --- a/src/italian/DiffIta.gf +++ b/src/italian/DiffIta.gf @@ -254,4 +254,7 @@ instance DiffIta of DiffRomance - [contractInf] = open CommonRomance, PhonoIta, param HasArt = NoArt | UseArt ; +oper + superlCanBePost = True ; + } diff --git a/src/italian/MakeStructuralIta.gf b/src/italian/MakeStructuralIta.gf index 34a4d365f..67600e67e 100644 --- a/src/italian/MakeStructuralIta.gf +++ b/src/italian/MakeStructuralIta.gf @@ -66,7 +66,7 @@ oper s,sp = \\_,_ => piu ; spn = \\_ => piu ; n = n ; - s2 = [] ; + s2 = \\g => [] ; isNeg = False } ; -- Inflects for number @@ -77,7 +77,7 @@ oper } ; spn = \\_ => alcuni ; n = n ; - s2 = [] ; + s2 = \\g => [] ; isNeg = False } ; } ; diff --git a/src/italian/StructuralIta.gf b/src/italian/StructuralIta.gf index 4001dffe5..39c2a6bd9 100644 --- a/src/italian/StructuralIta.gf +++ b/src/italian/StructuralIta.gf @@ -34,13 +34,13 @@ lin every_Det = { s,sp = \\_,_ => "ogni" ; spn = \\c => prepCase c ++ "tutto" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; everything_NP = pn2np (mkPN ["tutto"] Masc) ; everywhere_Adv = ss "dappertutto" ; few_Det = { s,sp = \\g,c => prepCase c ++ genForms "pochi" "poche" ! g ; spn = \\c => prepCase c ++ "pochi" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; ---- first_Ord = {s = \\ag => (regA "primo").s ! Posit ! AF ag.g ag.n} ; for_Prep = mkPrep "per" ; from_Prep = da_Prep ; @@ -69,14 +69,14 @@ lin many_Det = { s,sp = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ; spn = \\c => prepCase c ++ "molto" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; more_CAdv = X.mkCAdv "più" conjThan ; most_Predet = {s = \\_,c => prepCase c ++ ["la maggior parte"] ; c = CPrep P_di ; a = PNoAg} ; much_Det = { s,sp = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; spn = \\c => prepCase c ++ "molto" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; must_VV = mkVV (verboV (dovere_47 "dovere")) ; no_Utt = ss "no" ; on_Prep = {s = [] ; c = CPrep P_su ; isDir = False} ; @@ -98,11 +98,11 @@ lin somePl_Det = { s,sp = \\_,c => prepCase c ++ "qualche" ; spn = \\c => prepCase c ++ "qualche cosa" ; - n = Pl ; s2 = [] ; isNeg = False} ; + n = Pl ; s2 = \\g => [] ; isNeg = False} ; someSg_Det = { s,sp = \\_,c => prepCase c ++ "qualche" ; spn = \\c => prepCase c ++ "qualche cosa" ; - n = Sg ; s2 = [] ; isNeg = False} ; + n = Sg ; s2 = \\g => [] ; isNeg = False} ; something_NP = pn2np (mkPN ["qualche cosa"] Masc) ; somewhere_Adv = ss ["qualche parte"] ; that_Quant = let diff --git a/src/portuguese/CompatibilityPor.gf b/src/portuguese/CompatibilityPor.gf index a300fbef6..d9bc7265d 100644 --- a/src/portuguese/CompatibilityPor.gf +++ b/src/portuguese/CompatibilityPor.gf @@ -6,6 +6,6 @@ concrete CompatibilityPor of Compatibility = CatPor ** open Prelude, CommonRoman lin NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "."} ; --- + OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "." ; s2 = \\_ => []} ; --- } diff --git a/src/portuguese/DiffPor.gf b/src/portuguese/DiffPor.gf index 1a7085eb2..8290c7feb 100644 --- a/src/portuguese/DiffPor.gf +++ b/src/portuguese/DiffPor.gf @@ -294,4 +294,7 @@ instance DiffPor of DiffRomance - [iAdvQuestionInv,chooseTA,otherInv,partAgr,sta param HasArt = NoArt | UseArt ; +oper + superlCanBePost = False ; + } ; diff --git a/src/portuguese/MorphoPor.gf b/src/portuguese/MorphoPor.gf index 982f96b0c..3ac902560 100644 --- a/src/portuguese/MorphoPor.gf +++ b/src/portuguese/MorphoPor.gf @@ -252,6 +252,7 @@ oper mkOrdinal : A -> Ord = \adj -> lin Ord { s = \\ag => adj.s ! genNum2Aform ag.g ag.n ; + s2 = \\_ => [] } ; mkQuantifier : (esse,essa,esses,essas,esso : Str) -> Quant = \esse,essa,esses,essas,esso-> @@ -273,7 +274,7 @@ oper s,sp = \\g,c => prepCase c ++ genForms muito muita ! g ; spn = \\c => prepCase c ++ muito ; n = number; - s2 = [] ; + s2 = \\g => [] ; isNeg = neg } ; diff --git a/src/romance/CatRomance.gf b/src/romance/CatRomance.gf index 4426fca5a..dc56e066c 100644 --- a/src/romance/CatRomance.gf +++ b/src/romance/CatRomance.gf @@ -65,7 +65,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU] Det,DAP = { s : Gender => Case => Str ; n : Number ; - s2 : Str ; -- -ci + s2 : Gender => Str ; -- -ci sp : Gender => Case => Str ; -- substantival: mien, mienne spn: Case => Str ; isNeg : Bool -- negative element, e.g. aucun @@ -84,7 +84,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU] } ; Num = {s : Gender => Str ; isNum : Bool ; n : Number} ; Card = {s : Gender => Str ; n : Number} ; - Ord = {s : AAgr => Str} ; + Ord = {s, s2 : AAgr => Str} ; -- Numeral @@ -146,6 +146,9 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU] A = \a -> a.s ! genNum2Aform Masc Sg ; A2 = \a -> a.s ! genNum2Aform Masc Sg ++ a.c2.s ; + Det = \d -> d.s ! Masc ! Nom ++ d.s2 ! Masc ; + Ord = \o -> o.s ! aagr Masc Sg ++ o.s2 ! aagr Masc Sg ; + N = \n -> n.s ! Sg ; N2 = \n -> n.s ! Sg ++ n.c2.s ; N3 = \n -> n.s ! Sg ++ n.c2.s ++ n.c3.s ; diff --git a/src/romance/DiffRomance.gf b/src/romance/DiffRomance.gf index 105fe90b2..d04d280f6 100644 --- a/src/romance/DiffRomance.gf +++ b/src/romance/DiffRomance.gf @@ -64,7 +64,7 @@ interface DiffRomance = open CommonRomance, Prelude in { -- e.g. un bon amic (Cat), una gran parte (Spa) vs. predicative bo/bona, grande oper AForm : PType ; oper Adj : Type = {s : AForm => Str} ; - oper mkOrd : Adj -> {s : AAgr => Str} = \x -> {s = \\ag => x.s ! aagr2aform ag} ; + oper mkOrd : Adj -> {s,s2 : AAgr => Str} = \x -> {s = \\ag => x.s ! aagr2aform ag; s2 = \\_ => []} ; oper aform2aagr : AForm -> AAgr ; oper aform2gender : AForm -> Gender = \af -> (aform2aagr af).g ; @@ -221,5 +221,8 @@ oper stare_V = essere_V ; param HasArt ; + + oper + superlCanBePost : Bool ; } ; diff --git a/src/romance/NounRomance.gf b/src/romance/NounRomance.gf index c9586cbf4..502753ba6 100644 --- a/src/romance/NounRomance.gf +++ b/src/romance/NounRomance.gf @@ -9,7 +9,7 @@ incomplete concrete NounRomance of Noun = g = cn.g ; n = det.n in heavyNPpol det.isNeg { - s = \\c => det.s ! g ! c ++ cn.s ! n ++ det.s2 ; + s = \\c => det.s ! g ! c ++ cn.s ! n ++ det.s2 ! g ; a = agrP3 g n ; hasClit = False } ; @@ -53,11 +53,13 @@ incomplete concrete NounRomance of Noun = } ; DetQuantOrd quant num ord = { - s,sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++ + s = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++ ord.s ! aagr g num.n ; - spn = \\c => quant.s ! num.isNum ! num.n ! Masc ! c ++ num.s ! Masc ++ - ord.s ! aagr Masc num.n ; - s2 = quant.s2 ; + s2 = \\g => quant.s2 ++ ord.s2 ! aagr g num.n ; + sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++ + ord.s ! aagr g num.n ++ ord.s2 ! aagr g num.n ; + spn = \\c => quant.s ! num.isNum ! num.n ! Masc ! c ++ num.s ! Masc ++ + ord.s ! aagr Masc num.n ++ ord.s2 ! aagr Masc num.n ; n = num.n ; isNeg = quant.isNeg } ; @@ -72,7 +74,7 @@ incomplete concrete NounRomance of Noun = True => quant.s ! True ! num.n ! Masc ! c ++ num.s ! Masc ; False => quant.spn ! c ++ num.s ! Masc } ; - s2 = quant.s2 ; + s2 = \\_ => quant.s2 ; n = num.n ; isNeg = quant.isNeg } ; @@ -101,25 +103,40 @@ incomplete concrete NounRomance of Noun = NumCard n = n ** {isNum = True} ; NumDigits nu = {s = \\g => nu.s ! NCard g ; n = nu.n} ; - OrdDigits nu = {s = \\a => nu.s ! NOrd a.g a.n} ; + OrdDigits nu = {s = \\a => nu.s ! NOrd a.g a.n ; s2 = \\_ => []} ; NumDecimal nu = {s = \\g => nu.s ! NCard g ; n = nu.n} ; NumNumeral nu = {s = \\g => nu.s ! NCard g ; n = nu.n} ; - OrdNumeral nu = {s = \\a => nu.s ! NOrd a.g a.n} ; + OrdNumeral nu = {s = \\a => nu.s ! NOrd a.g a.n ; s2 = \\_ => []} ; AdNum adn num = {s = \\a => adn.s ++ num.s ! a ; isNum = num.isNum ; n = num.n} ; - OrdSuperl adj = { - s = \\a => case adj.isDeg of { - True => adj.compar ! aagr2compar a ; - False => piuComp ++ adj.s ! genNum2Aform a.g a.n } + OrdSuperl adj = + case of { + => { s = \\a => adj.compar ! aagr2compar a ; + s2 = \\_ => [] + } ; + => { s = \\_ => [] ; + s2 = \\a => piuComp ++ adj.s ! genNum2Aform a.g a.n + } ; + => { s = \\a => piuComp ++ adj.s ! genNum2Aform a.g a.n ; + s2 = \\_ => [] + } } ; OrdNumeralSuperl num adj = - let ordSuperl : Ord = OrdSuperl adj - in {s = \\a => num.s ! NOrd a.g a.n ++ ordSuperl.s ! a} ; -- la terza più grande - ---- could be discontinuous: la terza città più grande + case of { + => { s = \\a => num.s ! NOrd a.g a.n ++ adj.compar ! aagr2compar a ; + s2 = \\_ => [] + } ; + => { s = \\a => num.s ! NOrd a.g a.n ; + s2 = \\a => piuComp ++ adj.s ! genNum2Aform a.g a.n + } ; + => { s = \\a => num.s ! NOrd a.g a.n ++ piuComp ++ adj.s ! genNum2Aform a.g a.n ; + s2 = \\_ => [] + } + } ; DefArt = { s = \\_,n,g,c => artDef False g n c ; diff --git a/src/romance/SymbolRomance.gf b/src/romance/SymbolRomance.gf index 8c56c624e..ae1157ef9 100644 --- a/src/romance/SymbolRomance.gf +++ b/src/romance/SymbolRomance.gf @@ -25,7 +25,7 @@ lin SymbS sy = {s = \\_ => sy.s} ; SymbNum n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - SymbOrd n = {s = \\_ => n.s ++ BIND ++ "º"} ; -- feminine variant ª, also variants 1.º and 1.ª + SymbOrd n = {s = \\_ => n.s ++ BIND ++ "º"; s2 = \\_ => []} ; -- feminine variant ª, also variants 1.º and 1.ª lincat diff --git a/src/spanish/CompatibilitySpa.gf b/src/spanish/CompatibilitySpa.gf index d736c363e..eb2ba47d4 100644 --- a/src/spanish/CompatibilitySpa.gf +++ b/src/spanish/CompatibilitySpa.gf @@ -6,6 +6,6 @@ concrete CompatibilitySpa of Compatibility = CatSpa ** open Prelude, CommonRoman lin NumInt n = {s = \\_ => n.s ; isNum = True ; n = Pl} ; - OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "."} ; --- + OrdInt n = {s = \\_ => n.s ++ SOFT_BIND ++ "." ; s2 = \\_ => []} ; --- } diff --git a/src/spanish/DiffSpa.gf b/src/spanish/DiffSpa.gf index d36d82320..b9756eb8d 100644 --- a/src/spanish/DiffSpa.gf +++ b/src/spanish/DiffSpa.gf @@ -240,4 +240,7 @@ instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,stare_V,vpAg param HasArt = NoArt | UseArt ; +oper + superlCanBePost = True ; + } diff --git a/src/spanish/MakeStructuralSpa.gf b/src/spanish/MakeStructuralSpa.gf index 42768b339..33e16f4d7 100644 --- a/src/spanish/MakeStructuralSpa.gf +++ b/src/spanish/MakeStructuralSpa.gf @@ -60,7 +60,7 @@ oper s,sp = \\_,c => prepCase c ++ piu ; spn = \\c => prepCase c ++ piu ; n = n ; - s2 = [] ; + s2 = \\g => [] ; isNeg = False } ; -- Inflects for number @@ -68,7 +68,7 @@ oper s,sp = \\g,c => prepCase c ++ genForms alcuni alcune ! g ; spn = \\c => prepCase c ++ alcuni ; n = n ; - s2 = [] ; + s2 = \\g => [] ; isNeg = False } ; } ; diff --git a/src/spanish/MorphoSpa.gf b/src/spanish/MorphoSpa.gf index 28516ddb7..aea78c105 100644 --- a/src/spanish/MorphoSpa.gf +++ b/src/spanish/MorphoSpa.gf @@ -237,6 +237,7 @@ oper mkOrdinal : A -> Ord = \adj-> lin Ord { s = \\ag => adj.s ! genNum2Aform ag.g ag.n ; + s2 = \\_ => [] } ; mkQuantifier : (ese,esa,esos,esas,eso : Str) -> Quant = \ese,esa,esos,esas,eso-> @@ -261,7 +262,7 @@ oper s,sp = \\g,c => prepCase c ++ genForms mucho mucha ! g ; spn = \\c => prepCase c ++ mucho ; n = number; - s2 = [] ; + s2 = \\c => [] ; isNeg = neg } ;