Fin: replaced a few selections of NPCase Nom by NPSep to work properly with prodrop: pronouns should not be dropped in those cases. This moreover gave rise to lots of spurious ambiguities.

This commit is contained in:
aarne
2014-09-25 07:02:15 +00:00
parent 5cda60d36f
commit f6a9a88cef
5 changed files with 12 additions and 12 deletions

View File

@@ -12,11 +12,11 @@ concrete AdjectiveFin of Adjective = CatFin ** open ResFin, StemFin, Prelude in
let acomp = (snoun2nounSep {s = \\f => a.s ! Compar ! sAN f ; h = a.h}).s in {
s = \\isMod,af => case isMod of {
True => np.s ! NPCase Part ++ acomp ! af ; -- minua isompi
_ => acomp ! af ++ "kuin" ++ np.s ! NPCase Nom -- isompi kuin minä
_ => acomp ! af ++ "kuin" ++ np.s ! NPSep -- isompi kuin minä
}
} ;
CAdvAP ad ap np = {
s = \\m,af => ad.s ++ ap.s ! m ! af ++ ad.p ++ np.s ! NPCase Nom
s = \\m,af => ad.s ++ ap.s ! m ! af ++ ad.p ++ np.s ! NPSep
} ;
UseComparA a = {
s = \\_ => (snoun2nounSep {s = \\f => a.s ! Compar ! sAN f ; h = a.h}).s

View File

@@ -4,7 +4,7 @@ concrete AdverbFin of Adverb = CatFin ** open ResFin, Prelude, StemFin in {
lin
PositAdvAdj a = {s = a.s ! Posit ! sAAdv} ;
ComparAdvAdj cadv a np = {
s = cadv.s ++ a.s ! Posit ! sAAdv ++ cadv.p ++ np.s ! NPCase Nom
s = cadv.s ++ a.s ! Posit ! sAAdv ++ cadv.p ++ np.s ! NPSep
} ;
ComparAdvAdjS cadv a s = {
s = cadv.s ++ a.s ! Posit ! sAAdv ++ cadv.p ++ s.s

View File

@@ -82,7 +82,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
AdvExistNP adv np =
mkClause (\_ -> adv.s) np.a (insertObj
(\\_,b,_ => np.s ! NPCase Nom) (predV vpVerbOlla)) ;
(\\_,b,_ => np.s ! NPSep) (predV vpVerbOlla)) ;
RelExistNP prep rp np = {
s = \\t,ant,bo,ag =>
@@ -92,7 +92,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
(\_ -> appCompl True Pos prep (rp2np n rp))
np.a
(insertObj
(\\_,b,_ => np.s ! NPCase Nom)
(\\_,b,_ => np.s ! NPSep)
(predV vpVerbOlla)) ;
in
cl.s ! t ! ant ! bo ! SDecl ;
@@ -105,7 +105,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
ICompExistNP adv np =
let cl = mkClause (\_ -> adv.s ! np.a) np.a (insertObj
(\\_,b,_ => np.s ! NPCase Nom) (predV vpVerbOlla)) ;
(\\_,b,_ => np.s ! NPSep) (predV vpVerbOlla)) ;
in {
s = \\t,a,p => cl.s ! t ! a ! p ! SDecl
} ;
@@ -258,7 +258,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
PassAgentVPSlash vp np = {
s = {s = vp.s.s ; h = vp.s.h ; p = vp.s.p ; sc = npform2subjcase vp.c2.c} ;
s2 = \\b,p,a => np.s ! NPCase Nom ++ vp.s2 ! b ! p ! a ;
s2 = \\b,p,a => np.s ! NPSep ++ vp.s2 ! b ! p ! a ;
adv = vp.adv ;
ext = vp.ext ;
vptyp = vp.vptyp ;

View File

@@ -7,7 +7,7 @@ concrete IdiomFin of Idiom = CatFin **
ExistNP np =
let
cas : Polarity -> NPForm = \p -> case p of {
Pos => NPCase Nom ; -- on olemassa luku
Pos => NPSep ; -- on olemassa luku
Neg => NPCase Part -- ei ole olemassa lukua
}
in
@@ -27,7 +27,7 @@ concrete IdiomFin of Idiom = CatFin **
CleftNP np rs = mkClause (\_ -> "se") (agrP3 Sg)
(insertExtrapos (rs.s ! np.a)
(insertObj (\\_,_,_ => np.s ! NPCase Nom) (predV olla))) ;
(insertObj (\\_,_,_ => np.s ! NPSep) (predV olla))) ;
-- This gives the almost forbidden "se on Porissa kun Matti asuu".
@@ -76,7 +76,7 @@ concrete IdiomFin of Idiom = CatFin **
ExistNPAdv np adv =
mkClause (\_ -> adv.s) np.a (insertObj
(\\_,b,_ => np.s ! NPCase Nom) (predV vpVerbOlla)) ;
(\\_,b,_ => np.s ! NPSep) (predV vpVerbOlla)) ;
ExistIPAdv ip adv =
let

View File

@@ -234,7 +234,7 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, StemFin, Prelude in
SentCN cn sc = {s = \\nf=> cn.s ! nf ++ sc.s;
h = cn.h } ;
ApposCN cn np = {s = \\nf=> cn.s ! nf ++ np.s ! NPCase Nom ;
ApposCN cn np = {s = \\nf=> cn.s ! nf ++ np.s ! NPSep ;
h = cn.h } ; --- luvun x
PossNP cn np = {s = \\nf => np.s ! NPCase Gen ++ cn.s ! nf ;
@@ -242,7 +242,7 @@ concrete NounFin of Noun = CatFin ** open ResFin, MorphoFin, StemFin, Prelude in
} ;
PartNP cn np = {s = \\nf => cn.s ! nf ++ np.s ! NPCase Part ;
h = cn.h ---- gives "lasin viiniänsa" ; should be "lasinsa viiniä"
h = cn.h ---- gives "lasin viiniänsa" ; should be "lasinsa viiniä"
} ;