forked from GitHub/gf-rgl
some Czech APs are post-positioned
This commit is contained in:
@@ -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} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user