enabled some gerunds and participles in Translate, implemented for Eng and Swe. Commented out which_N, a source of errors.

This commit is contained in:
aarne
2014-09-25 17:56:22 +00:00
parent 591b56a7e2
commit b4104b90e1
6 changed files with 40 additions and 13 deletions

View File

@@ -138,6 +138,13 @@ oper
gennumAgr : Agr -> GenNum = \a -> gennum a.g a.n ;
aformpos2agr : AFormPos -> Agr = \af -> case af of {
Strong (GSg g) => {p = P3 ; n = Sg ; g = g} ;
Strong GPl => {p = P3 ; n = Pl ; g = Utr} ; -- loss of gender does not matter in Pl
Weak n => {p = P3 ; n = n ; g = Utr} ---- loss of gender: *det stor blivande huset
} ;
-- Used in $DiffScand.predV$.
vFin : STense -> Voice -> VForm = \t,v -> case t of {
@@ -333,6 +340,11 @@ oper
infVPPlus : VP -> Agr -> Anteriority -> Polarity -> Str = \vp,a,ant,pol ->
vp.a1 ! pol ! a ++ (vp.s ! Act ! VPInfinit ant).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1
partVPPlus : VP -> PartForm -> Agr -> Polarity -> Str = \vp,pf,a,pol ->
vp.a1 ! pol ! a ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ++ vp.sp ! pf ; -- verb final: i sängen liggande
partVPPlusPost : VP -> PartForm -> Agr -> Polarity -> Str = \vp,pf,a,pol ->
vp.a1 ! pol ! a ++ vp.sp ! pf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; -- verb first: liggande i sängen
-- For $Sentence$.

View File

@@ -64737,7 +64737,7 @@ fun whether_Subj : Subj ;
fun whetstone_N : N ;
fun whey_N : N ;
fun which_IQuant : IQuant ;
fun which_N : N ;
--fun which_N : N ; ---- what is this? creates spurious parses. AR 25/9/2014
fun whichever_A : A ;
fun whichever_Quant : Quant ;
fun whichsoever_A : A ;

View File

@@ -47,16 +47,30 @@ lin
isPre = True
} ;
GerundN v = {
s = \\n,d,c => v.s ! VI (VPtPres n d c) ;
g = Neutr ;
co = v.s ! VI (VPtPres Sg Indef Nom) ;
} ;
GerundNP vp = { -- infinitive: att dricka öl, att vara glad
s = \\_ => "att" ++ infVP vp {g = Utr ; n = Sg ; p = P3} ;
a = {g = Neutr ; n = Sg ; p = P3}
} ;
GerundAdv vp = {
s = partVPPlusPost vp (PartPres Sg Indef (Nom|Gen)) {g = Utr ; n = Sg ; p = P3} Pos -- sovande(s) i sängen
} ;
PresPartAP vp = {
s = \\_ => v.s ! VI (VPtPres Sg Indef Nom) ;
s = \\af => partVPPlus vp (PartPres Sg Indef Nom) (aformpos2agr af) Pos ;
isPre = True
} ;
} ;
PastPartAP vp = {
s = \\af => partVPPlus vp (PartPret af Nom) (aformpos2agr af) Pos ;
isPre = True
} ;
PastPartAgentAP vp np = {
s = \\af => "av" ++ np.s ! accusative ++ partVPPlus vp (PartPret af Nom) (aformpos2agr af) Pos ; ---- agent and other advs before;
isPre = True ---- the right choice in attributive but not predicative position
} ;
---- PastPartAP vp

View File

@@ -26,7 +26,7 @@ abstract Translate =
Extensions [
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP,
DirectComplVS, DirectComplVQ, FocusObjS
---- , PastPartAP, PastPartAgentAP, PresPartAP ---- not yet available for all languages
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv ---- not yet available for all languages
],
Dictionary,
Documentation

View File

@@ -36,8 +36,7 @@ concrete TranslateEng of Translate =
ChunkEng,
ExtensionsEng [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP,
DirectComplVS, DirectComplVQ, FocusObjS
---- , PastPartAP, PastPartAgentAP, PresPartAP
, PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
],
DictionaryEng **
open MorphoEng, ResEng, ParadigmsEng, (G = GrammarEng), (E = ExtraEng), Prelude in {

View File

@@ -24,7 +24,9 @@ concrete TranslateSwe of Translate =
ChunkSwe,
ExtensionsSwe [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP,
DirectComplVS, DirectComplVQ, FocusObjS],
DirectComplVS, DirectComplVQ, FocusObjS
,PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv
],
DictionarySwe **
open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in {