mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
Merge pull request #316 from michmech/master
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
|
lin
|
||||||
|
|
||||||
PositA a = adjFormsAdjective a ** {isPost = False} ;
|
PositA a = adjFormsAdjective a ** {isPost = False} ;
|
||||||
|
|
||||||
AdAP ada ap = ap ** {s = \\g,n,c => ada.s ++ ap.s ! g ! n ! c} ;
|
AdAP ada ap = ap ** {s = \\g,n,c => ada.s ++ ap.s ! g ! n ! c} ;
|
||||||
|
|
||||||
ComplA2 a np =
|
ComplA2 a np =
|
||||||
let ap = adjFormsAdjective a
|
let ap = adjFormsAdjective a
|
||||||
in
|
in
|
||||||
@@ -14,10 +14,10 @@ concrete AdjectiveCze of Adjective = CatCze ** open ResCze, Prelude in {
|
|||||||
isPost = True ;
|
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} ;
|
Text = {s : Str} ;
|
||||||
Phr = {s : Str} ;
|
Phr = {s : Str} ;
|
||||||
Utt = {s : Str} ;
|
Utt = {s : Str} ;
|
||||||
|
|
||||||
S = {s : Str} ;
|
S = {s : Str} ;
|
||||||
Cl = {subj,clit,compl : Str ; verb : VerbForms ; a : Agr} ;
|
Cl = {subj,clit,compl : Str ; verb : VerbForms ; a : Agr} ;
|
||||||
Comp = {s : Agr => Str} ;
|
Comp = {s : Agr => Str} ;
|
||||||
@@ -28,17 +28,17 @@ concrete CatCze of Cat =
|
|||||||
A = ResCze.AdjForms ;
|
A = ResCze.AdjForms ;
|
||||||
AP = ResCze.Adjective ** {isPost : Bool} ; -- {s : Gender => Number => Case => Str}
|
AP = ResCze.Adjective ** {isPost : Bool} ; -- {s : Gender => Number => Case => Str}
|
||||||
A2 = ResCze.AdjForms ** {c : ComplementCase} ;
|
A2 = ResCze.AdjForms ** {c : ComplementCase} ;
|
||||||
|
|
||||||
AdA = {s : Str} ;
|
AdA = {s : Str} ;
|
||||||
|
|
||||||
N = ResCze.NounForms ;
|
N = ResCze.NounForms ;
|
||||||
CN = ResCze.Noun ; -- {s : Number => Case => Str ; g : Gender}
|
CN = ResCze.Noun ; -- {s : Number => Case => Str ; g : Gender}
|
||||||
NP = {s,clit,prep : Case => Str ; a : Agr ; hasClit : Bool} ; -- clit,prep differ for pronouns
|
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
|
Det = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ; -- can contain a numeral, therefore NumSize
|
||||||
Quant = {s : Gender => Number => Case => Str} ; -- same as AP
|
Quant = {s : Gender => Number => Case => Str} ; -- same as AP
|
||||||
Num = Determiner ;
|
Num = Determiner ;
|
||||||
Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ;
|
Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ;
|
||||||
Pron = PronForms ;
|
Pron = PronForms ;
|
||||||
|
|
||||||
Adv = {s : Str} ;
|
Adv = {s : Str} ;
|
||||||
@@ -46,9 +46,9 @@ concrete CatCze of Cat =
|
|||||||
Conj = {s1,s2 : Str} ; ---- may need a number
|
Conj = {s1,s2 : Str} ; ---- may need a number
|
||||||
|
|
||||||
Pol = {s : Str ; p : Bool} ;
|
Pol = {s : Str ; p : Bool} ;
|
||||||
Temp = {s : Str ; t : CTense} ;
|
Temp = {s : Str ; t : CTense} ;
|
||||||
Tense = {s : Str ; t : CTense} ;
|
Tense = {s : Str ; t : CTense} ;
|
||||||
Ant = {s : Str ; t : CTense} ;
|
Ant = {s : Str ; t : CTense} ;
|
||||||
|
|
||||||
PConj = {s : Str} ;
|
PConj = {s : Str} ;
|
||||||
Voc = {s : Str} ;
|
Voc = {s : Str} ;
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdjCN ap cn = {
|
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
|
g = cn.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -77,21 +77,21 @@ lin
|
|||||||
s = \\n,c => cn.s ! n ! c ++ adv.s ;
|
s = \\n,c => cn.s ! n ! c ++ adv.s ;
|
||||||
g = cn.g
|
g = cn.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvNP np adv = {
|
AdvNP np adv = {
|
||||||
s,clit = \\c => np.s ! c ++ adv.s ;
|
s,clit = \\c => np.s ! c ++ adv.s ;
|
||||||
prep = \\c => np.prep ! c ++ adv.s ;
|
prep = \\c => np.prep ! c ++ adv.s ;
|
||||||
a = np.a ;
|
a = np.a ;
|
||||||
hasClit = False ;
|
hasClit = False ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UseN n = nounFormsNoun n ;
|
UseN n = nounFormsNoun n ;
|
||||||
|
|
||||||
ApposCN cn np = {
|
ApposCN cn np = {
|
||||||
s = \\n,c => cn.s ! n ! c ++ np.s ! c ; ---- TODO check apposition order
|
s = \\n,c => cn.s ! n ! c ++ np.s ! c ; ---- TODO check apposition order
|
||||||
g = cn.g
|
g = cn.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
NumCard c = c ;
|
NumCard c = c ;
|
||||||
NumDigits ds = ds ** {s = \\_,_ => ds.s} ;
|
NumDigits ds = ds ** {s = \\_,_ => ds.s} ;
|
||||||
NumNumeral nu = nu ;
|
NumNumeral nu = nu ;
|
||||||
|
|||||||
Reference in New Issue
Block a user