diff --git a/lib/src/english/ParadigmsEng.gf b/lib/src/english/ParadigmsEng.gf index 97d597965..155a902d4 100644 --- a/lib/src/english/ParadigmsEng.gf +++ b/lib/src/english/ParadigmsEng.gf @@ -426,7 +426,7 @@ mkSubj : Str -> Subj = \s -> lin Subj {s = s} ; mkOrd : Str -> Ord = \x -> lin Ord { s = regGenitiveS x}; - mk2A a b = lin A (mkAdjective a a a b) ; + mk2A a b = mkAdjective a a a b ; regA a = case a of { _ + ("a" | "e" | "i" | "o" | "u" | "y") + ? + _ + ("a" | "e" | "i" | "o" | "u" | "y") + ? + _ => @@ -438,7 +438,7 @@ mkSubj : Str -> Subj = \s -> lin Subj {s = s} ; ADeg = A ; ---- - mkADeg a b c d = lin A (mkAdjective a b c d) ; + mkADeg a b c d = mkAdjective a b c d ; regADeg happy = let @@ -533,7 +533,7 @@ mkSubj : Str -> Subj = \s -> lin Subj {s = s} ; --- variants {}} ; not used isAux = False } ; - mkVQ v = v ; + mkVQ v = lin VQ v ; V0 : Type = V ; -- V2S, V2V, V2Q : Type = V2 ; @@ -541,14 +541,14 @@ mkSubj : Str -> Subj = \s -> lin Subj {s = s} ; A2V : Type = A2 ; mkV0 v = v ; - mkV2S v p = prepV2 v p ; + mkV2S v p = lin V2S (prepV2 v p) ; mkV2V v p t = lin V2V (prepV2 v p ** {isAux = False}) ; - mkVA v = v ; - mkV2A v p = prepV2 v p ; - mkV2Q v p = prepV2 v p ; + mkVA v = lin VA v ; + mkV2A v p = lin V2A (prepV2 v p) ; + mkV2Q v p = lin V2Q (prepV2 v p) ; mkAS v = v ; - mkA2S v p = prepA2 v p ; + mkA2S v p = lin A (prepA2 v p) ; mkAV v = v ; mkA2V v p = prepA2 v p ; diff --git a/lib/src/english/ResEng.gf b/lib/src/english/ResEng.gf index 0be501e7d..68b972300 100644 --- a/lib/src/english/ResEng.gf +++ b/lib/src/english/ResEng.gf @@ -120,8 +120,8 @@ resource ResEng = ParamX ** open Prelude in { } } ; - mkAdjective : (_,_,_,_ : Str) -> {s : AForm => Str} = - \good,better,best,well -> { + mkAdjective : (_,_,_,_ : Str) -> {s : AForm => Str; lock_A : {}} = + \good,better,best,well -> lin A { s = table { AAdj Posit c => (regGenitiveS good) ! c ; AAdj Compar c => (regGenitiveS better) ! c ; diff --git a/lib/src/finnish/MorphoFin.gf b/lib/src/finnish/MorphoFin.gf index 56eb7863a..0716b2fc7 100644 --- a/lib/src/finnish/MorphoFin.gf +++ b/lib/src/finnish/MorphoFin.gf @@ -359,7 +359,7 @@ resource MorphoFin = ResFin ** open Prelude in { 9 => ukkoihin } ; - Noun = {s : NForm => Str} ; + Noun = {s : NForm => Str; lock_N : {}} ; nForms2N : NForms -> Noun = \f -> let diff --git a/lib/src/finnish/ResFin.gf b/lib/src/finnish/ResFin.gf index 17384ec71..350cb2789 100644 --- a/lib/src/finnish/ResFin.gf +++ b/lib/src/finnish/ResFin.gf @@ -43,7 +43,7 @@ param AForm = AN NForm | AAdv ; oper - Adjective : Type = {s : Degree => AForm => Str} ; + Adjective : Type = {s : Degree => AForm => Str; lock_A : {}} ; --2 Noun phrases -- diff --git a/lib/src/french/LexiconFre.gf b/lib/src/french/LexiconFre.gf index b2aedcd1b..da0813f0f 100644 --- a/lib/src/french/LexiconFre.gf +++ b/lib/src/french/LexiconFre.gf @@ -103,7 +103,7 @@ lin iron_N = regGenN "fer" masculine ; king_N = regGenN "roi" masculine ; know_V2 = connaître_V2 ; - know_VS = mkVS savoir_V2 ; + know_VS = mkVS (lin V savoir_V2) ; lake_N = regGenN "lac" masculine ; lamp_N = regGenN "lampe" feminine ; learn_V2 = apprendre_V2 ; diff --git a/lib/src/german/LangGer.gf b/lib/src/german/LangGer.gf index 260da090d..9b230f7ee 100644 --- a/lib/src/german/LangGer.gf +++ b/lib/src/german/LangGer.gf @@ -1,4 +1,4 @@ ---# -path=.:../abstract:../common +--# -path=.:../abstract:../common:../prelude concrete LangGer of Lang = GrammarGer, diff --git a/lib/src/italian/ParadigmsIta.gf b/lib/src/italian/ParadigmsIta.gf index b81a4c31b..feb93e33e 100644 --- a/lib/src/italian/ParadigmsIta.gf +++ b/lib/src/italian/ParadigmsIta.gf @@ -290,10 +290,10 @@ oper plural = Pl ; --Prep = Compl ; - accusative = complAcc ; - genitive = complGen ; - dative = complDat ; - mkPrep p = {s = p ; c = Acc ; isDir = False ; lock_Prep = <>} ; + accusative = lin Prep complAcc ; + genitive = lin Prep complGen ; + dative = lin Prep complDat ; + mkPrep p = lin Prep {s = p ; c = Acc ; isDir = False ; lock_Prep = <>} ; con_Prep = {s = [] ; c = CPrep P_con ; isDir = False ; lock_Prep = <>} ; da_Prep = {s = [] ; c = CPrep P_da ; isDir = False ; lock_Prep = <>} ; diff --git a/lib/src/russian/ParadigmsRus.gf b/lib/src/russian/ParadigmsRus.gf index e3abbe191..6744692a1 100644 --- a/lib/src/russian/ParadigmsRus.gf +++ b/lib/src/russian/ParadigmsRus.gf @@ -274,7 +274,7 @@ foreign = Foreign; -- +++ MG_UR: added +++ mkN = overload { mkN : (karta : Str) -> N = mk1N ; - mkN : (tigr : Str) -> Animacy -> N = \nom, anim -> case anim of { Animate => nAnimate (mk1N nom) ; + mkN : (tigr : Str) -> Animacy -> N = \nom, anim -> case anim of { Animate => lin N (nAnimate (mk1N nom)) ; Inanimate => mk1N nom } ; mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg, nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N = mkWorstN