mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
CompCN added to Ger Fin Dut Rus Pol
This commit is contained in:
@@ -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} ;
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 };
|
||||
|
||||
|
||||
@@ -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 (" самый молодой").
|
||||
|
||||
Reference in New Issue
Block a user