1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/german/IdiomGer.gf
2023-10-01 23:46:57 +02:00

76 lines
2.2 KiB
Plaintext

concrete IdiomGer of Idiom = CatGer **
open MorphoGer, ParadigmsGer, Prelude in {
flags optimize=all_subs ;
coding=utf8 ;
lin
ImpersCl vp = mkClause "es" (agrP3 Sg) vp ;
GenericCl vp = mkClause "man" (agrP3 Sg) vp ;
CleftNP np rs = mkClause "es" (agrP3 Sg)
(insertExtrapos (rs.s ! RGenNum (gennum (genderAgr np.a) (numberAgr np.a))) ----
(insertObj (\\_ => np.s ! False ! rs.c ++ bigNP np) (predV MorphoGer.sein_V))) ;
CleftAdv ad s = mkClause "es" (agrP3 Sg)
(insertExtrapos (conjThat ++ s.s ! Sub)
(insertObj (\\_ => ad.s) (predV MorphoGer.sein_V))) ;
ExistNP np =
mkClause "es" (agrP3 Sg)
(insertObj (\\_ => appPrep geben.c2 (np.s ! False) ++ bigNP np)
(predV geben)) ;
ExistIP ip = {
s = \\m,t,a,p =>
let
cls = (mkClause "es" (agrP3 Sg) (predV geben)).s ! m ! t ! a ! p ;
who = ip.s ! Acc
in table {
QDir => who ++ cls ! Inv ;
QIndir => who ++ cls ! Sub
}
} ;
ExistNPAdv np adv=
mkClause "es" (agrP3 Sg)
(insertAdv adv.s (insertObj (\\_ => appPrep geben.c2 (np.s ! False) ++ bigNP np)
(predV geben))) ;
ExistIPAdv ip adv = {
s = \\m,t,a,p =>
let
cls =
(mkClause "es" (agrP3 Sg) (insertAdv adv.s (predV geben))).s ! m ! t ! a ! p ;
who = ip.s ! Acc
in table {
QDir => who ++ cls ! Inv ;
QIndir => who ++ cls ! Sub
}
} ;
ProgrVP = insertAdv "eben" ; ----
ImpPl1 vp = {s =
(mkClause "wir" (AgPl P1) vp).s !
MConjunct ! Pres ! Simul ! Pos ! Inv
} ;
ImpP3 np vp = {
s = (mkClause ((mkSubject np vp.c1).s) np.a vp).s !
MConjunct ! Pres ! Simul ! Pos ! Inv
} ;
SelfAdvVP vp = insertAdv "selbst" vp ;
SelfAdVVP vp = insertAdv "selbst" vp ;
SelfNP np = np ** {
s = \\b,c => np.s ! b ! c ++ "selbst" ++ bigNP np ;
isPron = False ;
} ;
oper
geben = dirV2 (mk6V "geben" "gibt" "gib" "gab" "gäbe" "gegeben") ;
}