CompCN added to Ger Fin Dut Rus Pol

This commit is contained in:
aarne
2010-12-07 20:23:57 +00:00
parent ff23d6db76
commit 1c2b1828b1
6 changed files with 71 additions and 3 deletions

View File

@@ -63,7 +63,8 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
insertObj (\\_ => appPrep v.c2 np.s) (
predVv v)))) ** {c2 = v.c2} ;
UseComp comp = insertAdv (comp.s ! agrP3 Sg) (predV zijn_V) ; -- agr not used
UseComp comp = insertObj comp.s (predV zijn_V) ; -- agr not used
CompCN cn = {s = \\a => cn.s ! Strong ! NF a.n Nom} ;
CompAP ap = {s = \\_ => ap.s ! APred} ;
CompNP np = {s = \\_ => np.s ! NPNom} ;
CompAdv a = {s = \\_ => a.s} ;

View File

@@ -99,6 +99,16 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin in {
} --- definiteness of NP ?
in ap.s ! False ! (NCase n c)
} ;
CompCN cn = {
s = \\agr =>
let
n = complNumAgr agr ;
c = case n of {
Sg => Nom ; -- minä olen iso ; te olette iso
Pl => Part -- me olemme isoja ; te olette isoja
} --- definiteness of NP ?
in cn.s ! (NCase n c)
} ;
CompNP np = {s = \\_ => np.s ! NPCase Nom} ;
CompAdv a = {s = \\_ => a.s} ;

View File

@@ -63,14 +63,18 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer in {
insertObj (\\_ => appPrep v.c2 np.s) (
predV v)))) ** {c2 = v.c2} ;
UseComp comp = insertAdv (comp.s ! agrP3 Sg) (predV sein_V) ; -- agr not used
UseComp comp = insertObj comp.s (predV sein_V) ; -- agr not used
-- we want to say "ich liebe sie nicht" but not "ich bin alt nicht"
CompAP ap = {s = \\_ => ap.s ! APred} ;
CompNP np = {s = \\_ => np.s ! NPC Nom} ;
CompAdv a = {s = \\_ => a.s} ;
-- CompCN cn
CompCN cn = {s = \\a => case numberAgr a of {
Sg => "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ;
Pl => cn.s ! Strong ! Pl ! Nom
}
} ;
AdvVP vp adv = insertAdv adv.s vp ;
AdVVP adv vp = insertAdV adv.s vp ;

View File

@@ -221,6 +221,12 @@
-- possible problem: dzieci ,ktorych piecioro bawilo sie... / okna, ktorych piec stalo opartych o sciane...
param GenNum = MascPersSg | MascAniSg | MascInaniSg | FemSg | NeutSg | MascPersPl | OthersPl;
--- AR 7/12/2010 for VerbPol.CompCN
oper numGenNum : GenNum -> Number = \n -> case n of {
MascPersPl | OthersPl => Pl ;
_ => Sg
} ;
param MaybeGenNum = NoGenNum | JustGenNum GenNum;
oper

View File

@@ -40,6 +40,8 @@ lin
-- CompAP : AP -> Comp ; -- (be) small
CompAP ap = { s = \\gn => ap.s ! AF gn Nom };
CompCN cn = { s = \\gn => cn.s ! numGenNum gn ! Nom }; --- AR 7/12/2010
-- CompNP : NP -> Comp ; -- (be) a man
CompNP np = { s = \\gn => np.dep !InstrC };

View File

@@ -82,6 +82,51 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
s3 = \\g,n=> ""
} ;
-- AR 7/12/2010 --- hmmm
CompCN zloj ={
s= \\clf,gn,p =>
let num = numGenNum gn ;
zlojsg = zloj.s ! NF Sg Nom ;
zlojpl = zloj.s ! NF Pl Nom
in
case clf of {
-- person is ignored !
ClInfinit => "быть" ++ zloj.s ! NF Sg Inst ;
ClImper => case gn of
{ (GSg _) => "будь" ++ zloj.s ! NF Sg Inst ;
GPl => "будьте" ++ zloj.s ! NF Pl Inst
};
-- infinitive does not save GenNum,
-- but indicative does for the sake of adjectival predication !
ClIndic Present _ => zloj.s ! NF num Nom ;
ClIndic PastRus _ => case gn of
{ (GSg Fem) => "была" ++ zlojsg ;
(GSg Masc) => "был" ++ zlojsg ;
(GSg Neut) => "был" ++ zlojsg ;
GPl => "были" ++ zlojpl
};
ClIndic Future _ => case gn of
{ GPl => case p of
{ P3 => "будут" ++ zlojpl ;
P2 => "будете" ++ zlojpl ;
P1 => "будем" ++ zlojpl
} ;
(GSg _) => case p of
{P3 => "будет" ++ zlojsg ;
P2 => "будешь"++ zlojsg ;
P1=> "буду" ++ zlojsg
}
};
ClCondit => ""
} ;
asp = Imperfective ;
w = Act;
negBefore = True;
s2 = "";
s3 = \\g,n=> ""
} ;
-- Verb phrases can also be formed from adjectives (" молод"),
-- common nouns (" человек"), and noun phrases (" самый молодой").