Finnish NPSep form, to avoid empty Nominative forms in wrong places in case of pro drop.

This commit is contained in:
aarne
2014-09-15 07:17:11 +00:00
parent 8b95b86b0a
commit b492666c0e
5 changed files with 11 additions and 11 deletions

View File

@@ -159,7 +159,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
IAdvAdv adv = {s = "kuinka" ++ adv.s} ;
ProDrop p = {
s = table {NPCase (Nom) => [] ; c => p.s ! c} ;
s = table {NPCase Nom => [] ; c => p.s ! c} ;
poss = [] ;
-- drop Gen only works in adjectival position: "autoni", but not in "ø täytyy mennä"
a = p.a ;
@@ -167,7 +167,7 @@ concrete ExtraFin of ExtraFinAbs = CatFin **
} ;
ProDropPoss p = {
s1 = \\_,_ => case p.a of {Ag _ P3 => p.s ! NPCase Gen ; _ => []} ; -- hänen nimensä ; minun nimeni
s1 = \\_,_ => case p.a of {Ag _ P3 => p.s ! NPCase Gen ; _ => []} ; -- hänen nimensä ; (minun) nimeni
sp = \\_,_ => p.s ! NPCase Gen ;
s2 = case p.hasPoss of {
True => table {Front => BIND ++ possSuffixFront p.a ;

View File

@@ -943,7 +943,7 @@ caseTable : Number -> CommonNoun -> Case => Str = \n,cn ->
a = Predef.dp 1 minuna
} in
{s = table {
NPCase Nom => mina ; ----- NPSep
NPCase Nom | NPSep => mina ;
NPCase Gen => minun ;
NPCase Part => minua ;
NPCase Transl => minu + "ksi" ;

View File

@@ -11,7 +11,7 @@ concrete PhraseFin of Phrase = CatFin ** open ResFin, StemFin, (P = Prelude) in
UttIP ip = {s = ip.s ! NPCase Nom} ;
UttIAdv iadv = iadv ;
UttNP np = {s = np.s ! NPAcc} ; ----NPSep} ;
UttNP np = {s = np.s ! NPSep} ;
UttVP vp = {s = infVP SCNom Pos (agrP3 Sg) vp Inf1} ;
UttAdv adv = adv ;
UttCN np = {s = np.s ! NCase Sg Nom} ;
@@ -23,6 +23,6 @@ concrete PhraseFin of Phrase = CatFin ** open ResFin, StemFin, (P = Prelude) in
PConjConj conj = {s = conj.s2} ;
NoVoc = {s = []} ;
VocNP np = {s = "," ++ np.s ! NPCase Nom} ;
VocNP np = {s = "," ++ np.s ! NPSep} ;
}

View File

@@ -97,7 +97,7 @@ oper
-- have a uniform, special accusative form ("minut", etc).
param
NPForm = NPCase Case | NPAcc ; -- | NPSep ; -- NPSep is NP used alone, e.g. in an Utt. Equals NPCase Nom except for pro-drop
NPForm = NPCase Case | NPAcc | NPSep ; -- NPSep is NP used alone, e.g. in an Utt and as complement to copula. Equals NPCase Nom except for pro-drop
oper
npform2case : Number -> NPForm -> Case = \n,f ->
@@ -105,9 +105,9 @@ oper
-- type signature: workaround for gfc bug 9/11/2007
case <<f,n> : NPForm * Number> of {
<NPCase c,_> => c ;
<NPAcc,Sg> => Gen ;-- appCompl does the job
<NPAcc,Pl> => Nom
---- <NPSep,_> => Nom
<NPAcc,Sg> => Gen ; -- appCompl does the job
<NPAcc,Pl> => Nom ;
<NPSep,_> => Nom
} ;
n2nform : NForm -> NForm = \nf -> case nf of {
@@ -559,7 +559,7 @@ oper
nsa = possSuffixFront agr
in {
s = table {
NPCase Nom => itse ! NPossNom Sg ;
NPCase Nom | NPSep => itse ! NPossNom Sg ;
NPCase Gen | NPAcc => itse ! NPossNom Sg + nsa ;
NPCase Transl => itse ! NPossTransl Sg + nsa ;
NPCase Illat => itse ! NPossIllat Sg + nsa ;

View File

@@ -123,7 +123,7 @@ concrete VerbFin of Verb = CatFin ** open Prelude, ResFin, StemFin in {
} --- definiteness of NP ?
in cn.s ! (NCase n c)
} ;
CompNP np = {s = \\_ => np.s ! NPCase Nom} ;
CompNP np = {s = \\_ => np.s ! NPSep} ;
CompAdv a = {s = \\_ => a.s} ;
VPSlashPrep vp prep = vp ** {c2 = prep} ;