diff --git a/src/czech/AdjectiveCze.gf b/src/czech/AdjectiveCze.gf index 66891f01f..38950f0bb 100644 --- a/src/czech/AdjectiveCze.gf +++ b/src/czech/AdjectiveCze.gf @@ -3,9 +3,9 @@ concrete AdjectiveCze of Adjective = CatCze ** open ResCze, Prelude in { lin PositA a = adjFormsAdjective a ** {isPost = False} ; - + AdAP ada ap = ap ** {s = \\g,n,c => ada.s ++ ap.s ! g ! n ! c} ; - + ComplA2 a np = let ap = adjFormsAdjective a in @@ -14,10 +14,10 @@ concrete AdjectiveCze of Adjective = CatCze ** open ResCze, Prelude in { isPost = True ; } ; - UseA2 a = adjFormsAdjective a ** {isPost = False} ; + UseA2 a = adjFormsAdjective a ** {isPost = True} ; - UseComparA a = adjFormsAdjective a ** {isPost = False} ; ---- TODO: this gives positive forms + UseComparA a = adjFormsAdjective a ** {isPost = False} ; ---- TODO: this gives positive forms - AdvAP ap adv = ap ** {s = \\g,n,c => ap.s ! g ! n ! c ++ adv.s} ; + AdvAP ap adv = ap ** {s = \\g,n,c => ap.s ! g ! n ! c ++ adv.s; isPost = True} ; } diff --git a/src/czech/CatCze.gf b/src/czech/CatCze.gf index 25ac6cef0..0f47261d8 100644 --- a/src/czech/CatCze.gf +++ b/src/czech/CatCze.gf @@ -7,7 +7,7 @@ concrete CatCze of Cat = Text = {s : Str} ; Phr = {s : Str} ; Utt = {s : Str} ; - + S = {s : Str} ; Cl = {subj,clit,compl : Str ; verb : VerbForms ; a : Agr} ; Comp = {s : Agr => Str} ; @@ -28,17 +28,17 @@ concrete CatCze of Cat = A = ResCze.AdjForms ; AP = ResCze.Adjective ** {isPost : Bool} ; -- {s : Gender => Number => Case => Str} A2 = ResCze.AdjForms ** {c : ComplementCase} ; - + AdA = {s : Str} ; N = ResCze.NounForms ; CN = ResCze.Noun ; -- {s : Number => Case => Str ; g : Gender} NP = {s,clit,prep : Case => Str ; a : Agr ; hasClit : Bool} ; -- clit,prep differ for pronouns - PN = {s : Case => Str ; g : Gender} ; + PN = {s : Case => Str ; g : Gender} ; Det = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ; -- can contain a numeral, therefore NumSize Quant = {s : Gender => Number => Case => Str} ; -- same as AP Num = Determiner ; - Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ; + Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ; Pron = PronForms ; Adv = {s : Str} ; @@ -46,9 +46,9 @@ concrete CatCze of Cat = Conj = {s1,s2 : Str} ; ---- may need a number Pol = {s : Str ; p : Bool} ; - Temp = {s : Str ; t : CTense} ; + Temp = {s : Str ; t : CTense} ; Tense = {s : Str ; t : CTense} ; - Ant = {s : Str ; t : CTense} ; + Ant = {s : Str ; t : CTense} ; PConj = {s : Str} ; Voc = {s : Str} ; diff --git a/src/czech/NounCze.gf b/src/czech/NounCze.gf index ef990e0c4..90a46f54b 100644 --- a/src/czech/NounCze.gf +++ b/src/czech/NounCze.gf @@ -64,7 +64,7 @@ lin } ; AdjCN ap cn = { - s = \\n,c => ap.s ! cn.g ! n ! c ++ cn.s ! n ! c ; + s = \\n,c => preOrPost (notB ap.isPost) (ap.s ! cn.g ! n ! c) (cn.s ! n ! c) ; g = cn.g } ; @@ -77,21 +77,21 @@ lin s = \\n,c => cn.s ! n ! c ++ adv.s ; g = cn.g } ; - + AdvNP np adv = { s,clit = \\c => np.s ! c ++ adv.s ; prep = \\c => np.prep ! c ++ adv.s ; a = np.a ; hasClit = False ; } ; - + UseN n = nounFormsNoun n ; ApposCN cn np = { s = \\n,c => cn.s ! n ! c ++ np.s ! c ; ---- TODO check apposition order g = cn.g } ; - + NumCard c = c ; NumDigits ds = ds ** {s = \\_,_ => ds.s} ; NumNumeral nu = nu ;