added ChunkRus.gf

This commit is contained in:
krasimir
2016-05-26 13:38:57 +00:00
parent 277800b505
commit 124128d8fd
2 changed files with 56 additions and 2 deletions

View File

@@ -66,4 +66,4 @@ oper
allNumber = Sg | Pl ;
allPerson = P1 | P2 | P3 ;
}
}

View File

@@ -1,3 +1,57 @@
concrete ChunkRus of Chunk = CatRus, ExtensionsRus [VPS,VPI] ** {
concrete ChunkRus of Chunk = CatRus, ExtensionsRus [VPS,VPI] **
ChunkFunctor - [
CN_Pl_Chunk, CN_Sg_Chunk, Conj_Chunk, IP_Chunk, Numeral_Nom_Chunk, Predet_Chunk, Prep_Chunk, VPS_Chunk, UseVC, emptyNP
]
with (Syntax = SyntaxRus), (Extensions = ExtensionsRus) **
open
SyntaxRus, (E = ExtensionsRus), Prelude,
ResRus, (P = ParadigmsRus) in {
lin VPI_Chunk vpi = {s = vpi.s} ;
lin CN_Pl_Chunk, CN_Pl_Gen_Chunk = \cn -> {s = cn.s ! NF Pl allCases allSizes} ;
lin CN_Sg_Chunk, CN_Sg_Gen_Chunk = \cn -> {s = cn.s ! NF Sg allCases allSizes} ;
lin Conj_Chunk c = {s = c.s1 | c.s2 };
lin IP_Chunk ip = {s = ip.s ! (PF allCases allAfterPrep allPossessive)};
lin Predet_Chunk predet = {s = predet.s ! AF allCases allAnimacy allGenNum};
lin Numeral_Nom_Chunk, Numeral_Gen_Chunk = \num -> {s = num.s ! allGender ! allAnimacy ! allCases };
lin Prep_Chunk prep = { s = prep.s };
lin NP_Acc_Chunk np = { s = np.s ! PF Acc allAfterPrep allPossessive } ;
lin NP_Gen_Chunk np = { s = np.s ! PF Acc allAfterPrep allPossessive } ;
oper
emptyNP : NP = lin NP {s = \\_ => ""; n = allNumber; p = allPerson; g=PNoGen; anim = allAnimacy; pron=False} ;
lin refl_SgP1_Chunk, refl_SgP2_Chunk, refl_SgP3_Chunk, refl_PlP1_Chunk,
refl_PlP2_Chunk, refl_PlP3_Chunk =
{s = sam.s ! allCases};
lin neg_Chunk = variants {};
lin copula_Chunk = { s = "является" | "являются" | "являешься" | "являемся" | "являемся" | "являетесь"} ;
lin copula_neg_Chunk = { s = "не является" | "не являются" | "не являешься" | "не являемся" | "не являемся" | "не являетесь"} ;
lin copula_inf_Chunk = variants {} ;
lin past_copula_Chunk = { s = "был" | "были" | "была" | "было" } ;
lin past_copula_neg_Chunk = { s = "не был" | "не были" | "не была" | "не было" } ;
lin future_Chunk = { s = "буду" | "будем" | "будешь" | "будете" | "будет" | "будут" } ;
lin future_neg_Chunk = { s = "не буду" | "не будем" | "не будешь" | "не будете" | "не будет" | "не будут" } ;
lin cond_Chunk = variants {} ;
lin cond_neg_Chunk = variants {} ;
lin perfect_Chunk = variants {} ;
lin perfect_neg_Chunk = variants {} ;
lin past_perfect_Chunk = variants {} ;
lin past_perfect_neg_Chunk = variants {} ;
oper
allGender = Masc | Fem | Neut ;
allCases = Nom | Gen | Dat | Acc | Inst | Prepos PrepOther ;
allQForm = QDir | QIndir ;
allAnimacy = Animate | Inanimate ;
allGenNum = GSg allGender | GPl ;
allNumber = Sg | Pl ;
allPerson = P1 | P2 | P3 ;
allSizes = nom | nompl | sgg | plg ;
allAfterPrep = Yes | No ;
allPossessive = NonPoss | Poss (GSg allGender | GPl) ;
}