mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-25 10:48:54 -06:00
some Ger corrections by Erzsébet
This commit is contained in:
@@ -51,6 +51,7 @@ oper
|
|||||||
inAcc_Case : Case ; -- preposition "in" accusative with contraction "ins" --%
|
inAcc_Case : Case ; -- preposition "in" accusative with contraction "ins" --%
|
||||||
inDat_Case : Case ; -- preposition "in" dative with contraction "am" --%
|
inDat_Case : Case ; -- preposition "in" dative with contraction "am" --%
|
||||||
zuDat_Case : Case ; -- preposition "zu" dative with contractions "zum", "zur" --%
|
zuDat_Case : Case ; -- preposition "zu" dative with contractions "zum", "zur" --%
|
||||||
|
vonDat_Case : Case ;
|
||||||
|
|
||||||
-- To abstract over number names, we define the following.
|
-- To abstract over number names, we define the following.
|
||||||
|
|
||||||
@@ -308,6 +309,7 @@ mkV2 : overload {
|
|||||||
inAcc_Case = NPP CInAcc ;
|
inAcc_Case = NPP CInAcc ;
|
||||||
inDat_Case = NPP CInDat ;
|
inDat_Case = NPP CInDat ;
|
||||||
zuDat_Case = NPP CZuDat ;
|
zuDat_Case = NPP CZuDat ;
|
||||||
|
vonDat_Case = NPP CVonDat ;
|
||||||
|
|
||||||
singular = Sg ;
|
singular = Sg ;
|
||||||
plural = Pl ;
|
plural = Pl ;
|
||||||
@@ -401,7 +403,8 @@ mkV2 : overload {
|
|||||||
accPrep = mkPrep [] accusative ;
|
accPrep = mkPrep [] accusative ;
|
||||||
datPrep = mkPrep [] dative ;
|
datPrep = mkPrep [] dative ;
|
||||||
genPrep = mkPrep [] genitive ;
|
genPrep = mkPrep [] genitive ;
|
||||||
von_Prep = mkPrep "von" dative ;
|
--von_Prep = mkPrep "von" dative ;
|
||||||
|
von_Prep = mkPrep [] vonDat_Case ;
|
||||||
zu_Prep = mkPrep [] zuDat_Case ;
|
zu_Prep = mkPrep [] zuDat_Case ;
|
||||||
anDat_Prep = mkPrep [] anDat_Case ;
|
anDat_Prep = mkPrep [] anDat_Case ;
|
||||||
inDat_Prep = mkPrep [] inDat_Case ;
|
inDat_Prep = mkPrep [] inDat_Case ;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
-- Case of $NP$ extended to deal with contractions like "zur", "im".
|
-- Case of $NP$ extended to deal with contractions like "zur", "im".
|
||||||
|
|
||||||
PCase = NPC Case | NPP CPrep ;
|
PCase = NPC Case | NPP CPrep ;
|
||||||
CPrep = CAnDat | CInAcc | CInDat | CZuDat ;
|
CPrep = CAnDat | CInAcc | CInDat | CZuDat | CVonDat ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
NPNom : PCase = NPC Nom ;
|
NPNom : PCase = NPC Nom ;
|
||||||
@@ -45,7 +45,9 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
NPP CAnDat => {s = "an" ; c = Dat} ;
|
NPP CAnDat => {s = "an" ; c = Dat} ;
|
||||||
NPP CInAcc => {s = "in" ; c = Acc} ;
|
NPP CInAcc => {s = "in" ; c = Acc} ;
|
||||||
NPP CInDat => {s = "in" ; c = Dat} ;
|
NPP CInDat => {s = "in" ; c = Dat} ;
|
||||||
NPP CZuDat => {s = "zu" ; c = Dat}
|
NPP CZuDat => {s = "zu" ; c = Dat} ;
|
||||||
|
NPP CVonDat => {s = "von" ; c = Dat}
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
usePrepC : PCase -> (Case -> Str) -> Str = \c,fs ->
|
usePrepC : PCase -> (Case -> Str) -> Str = \c,fs ->
|
||||||
@@ -392,6 +394,7 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
<CZuDat, GSg Masc> => "zum" ;
|
<CZuDat, GSg Masc> => "zum" ;
|
||||||
<CZuDat, GSg Neutr> => "zum" ;
|
<CZuDat, GSg Neutr> => "zum" ;
|
||||||
<CZuDat, GSg Fem> => "zur" ;
|
<CZuDat, GSg Fem> => "zur" ;
|
||||||
|
<CVonDat, GSg (Masc | Neutr)> => "vom" ;
|
||||||
_ => let sp = prepC np in sp.s ++ artDef ! gn ! sp.c
|
_ => let sp = prepC np in sp.s ++ artDef ! gn ! sp.c
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
@@ -641,6 +644,9 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
s : Mood => Tense => Anteriority => Polarity => Order => Str
|
s : Mood => Tense => Anteriority => Polarity => Order => Str
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
-- Erzsébet Galgóczy 15/5/2012
|
||||||
mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> let vps = useVP vp in {
|
mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> let vps = useVP vp in {
|
||||||
s = \\m,t,a,b,o =>
|
s = \\m,t,a,b,o =>
|
||||||
let
|
let
|
||||||
@@ -652,7 +658,32 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
neg = vp.a1 ! b ;
|
neg = vp.a1 ! b ;
|
||||||
obj0 = vp.n0 ! agr ;
|
obj0 = vp.n0 ! agr ;
|
||||||
obj = vp.n2 ! agr ;
|
obj = vp.n2 ! agr ;
|
||||||
compl = obj0 ++ neg ++ obj ++ vp.a2 ;
|
compl = obj0 ++ obj ++ neg ++ vp.a2 ;
|
||||||
|
inf = vp.inf ++ verb.inf ;
|
||||||
|
extra = vp.ext ;
|
||||||
|
inffin = inf ++ verb.fin ;
|
||||||
|
--# notpresent
|
||||||
|
in
|
||||||
|
case o of {
|
||||||
|
Main => subj ++ verb.fin ++ compl ++ extra ++ inf;
|
||||||
|
Inv => verb.fin ++ subj ++ compl ++ extra ++ inf ;
|
||||||
|
Sub => subj ++ compl ++ extra ++ inffin
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
-}
|
||||||
|
-- before 15/5/2012
|
||||||
|
mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> let vps = useVP vp in {
|
||||||
|
s = \\m,t,a,b,o =>
|
||||||
|
let
|
||||||
|
ord = case o of {
|
||||||
|
Sub => True ; -- glue prefix to verb
|
||||||
|
_ => False
|
||||||
|
} ;
|
||||||
|
verb = vps.s ! ord ! agr ! VPFinite m t a ;
|
||||||
|
neg = vp.a1 ! b ;
|
||||||
|
obj0 = vp.n0 ! agr ;
|
||||||
|
obj = vp.n2 ! agr ;
|
||||||
|
compl = obj0 ++ obj ++ neg ++ vp.a2 ; -- from EG 15/5
|
||||||
inf = vp.inf ++ verb.inf ;
|
inf = vp.inf ++ verb.inf ;
|
||||||
extra = vp.ext ;
|
extra = vp.ext ;
|
||||||
inffin =
|
inffin =
|
||||||
@@ -669,6 +700,7 @@ resource ResGer = ParamX ** open Prelude in {
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
infVP : Bool -> VP -> ((Agr => Str) * Str * Str) = \isAux, vp -> let vps = useVP vp in
|
infVP : Bool -> VP -> ((Agr => Str) * Str * Str) = \isAux, vp -> let vps = useVP vp in
|
||||||
<
|
<
|
||||||
\\agr => vp.n0 ! agr ++ vp.n2 ! agr ++ vp.a2,
|
\\agr => vp.n0 ! agr ++ vp.n2 ! agr ++ vp.a2,
|
||||||
|
|||||||
@@ -68,9 +68,9 @@ concrete StructuralGer of Structural = CatGer **
|
|||||||
on_Prep = mkPrep "auf" P.dative ;
|
on_Prep = mkPrep "auf" P.dative ;
|
||||||
or_Conj = {s1 = [] ; s2 = "oder" ; n = Sg} ;
|
or_Conj = {s1 = [] ; s2 = "oder" ; n = Sg} ;
|
||||||
otherwise_PConj = ss "sonst" ;
|
otherwise_PConj = ss "sonst" ;
|
||||||
part_Prep = mkPrep "von" P.dative ;
|
part_Prep = P.von_Prep ; -- mkPrep "von" P.dative ;
|
||||||
please_Voc = ss "bitte" ;
|
please_Voc = ss "bitte" ;
|
||||||
possess_Prep = mkPrep "von" P.dative ;
|
possess_Prep = P.von_Prep ;-- mkPrep "von" P.dative ;
|
||||||
quite_Adv = ss "ziemlich" ;
|
quite_Adv = ss "ziemlich" ;
|
||||||
she_Pron = mkPronPers "sie" "sie" "ihr" "ihrer" "ihr" Fem Sg P3 ;
|
she_Pron = mkPronPers "sie" "sie" "ihr" "ihrer" "ihr" Fem Sg P3 ;
|
||||||
so_AdA = ss "so" ;
|
so_AdA = ss "so" ;
|
||||||
@@ -80,7 +80,8 @@ concrete StructuralGer of Structural = CatGer **
|
|||||||
s,sp = \\g,c =>
|
s,sp = \\g,c =>
|
||||||
usePrepC c (\k -> "ein" + pronEnding ! GSg g ! k) ; ---- einer,eines
|
usePrepC c (\k -> "ein" + pronEnding ! GSg g ! k) ; ---- einer,eines
|
||||||
n = Sg ;
|
n = Sg ;
|
||||||
a = Strong
|
a = Strong ;
|
||||||
|
hasNum = True
|
||||||
} ;
|
} ;
|
||||||
something_NP = nameNounPhrase {s = \\_ => "etwas"} ;
|
something_NP = nameNounPhrase {s = \\_ => "etwas"} ;
|
||||||
somewhere_Adv = ss "irgendwo" ;
|
somewhere_Adv = ss "irgendwo" ;
|
||||||
|
|||||||
Reference in New Issue
Block a user