pos-neg and ExistCN in Finnish

This commit is contained in:
Aarne Ranta
2017-11-08 14:47:33 +01:00
parent 72b257b9b7
commit 9c762efcb4
2 changed files with 31 additions and 2 deletions

View File

@@ -1,7 +1,10 @@
--# -path=.:../common:../abstract --# -path=.:../common:../abstract
concrete ExtendFin of Extend = concrete ExtendFin of Extend =
CatFin ** ExtendFunctor - [VPI2,VPS2,MkVPS2,ConjVPS2,ComplVPS2,MkVPI2,ConjVPI2,ComplVPI2,ComplVPIVV] CatFin ** ExtendFunctor - [
VPI2,VPS2,MkVPS2,ConjVPS2,ComplVPS2,MkVPI2,ConjVPI2,ComplVPI2,ComplVPIVV
,ExistCN, ExistMassCN
]
with with
(Grammar = GrammarFin) ** (Grammar = GrammarFin) **
@@ -15,6 +18,26 @@ concrete ExtendFin of Extend =
MorphoFin, MorphoFin,
ParadigmsFin in { ParadigmsFin in {
lin
ExistCN cn =
let
pos = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ;
neg = ExistNP (partCN cn) ;
in posNegClause pos neg ;
ExistMassCN cn = ExistNP (partCN cn) ;
oper
partCN : CN -> GrammarFin.NP ;
partCN cn =
let
acn = DetCN (DetQuant IndefArt NumSg) cn
in acn ** {
s = table {
NPCase Nom | NPAcc => acn.s ! NPCase ResFin.Part ;
c => acn.s ! c
}
} ;
lincat lincat
VPS = {s : Agr => Str } ; VPS = {s : Agr => Str } ;

View File

@@ -305,7 +305,13 @@ oper
glueTok : Str -> Str = \s -> "&+" ++ s ; glueTok : Str -> Str = \s -> "&+" ++ s ;
-- for pos/neg variation other than just negation word, e.g. case in "on ongelma"/"ei ole ongelmaa"
posNegClause : Clause -> Clause -> Clause = \pos,neg -> {
s = \\t,a,b,o => case b of {
Pos => pos.s ! t ! a ! b ! o ;
_ => neg.s ! t ! a ! b ! o
}
} ;
-- This is used for subjects of passives: therefore isFin in False. -- This is used for subjects of passives: therefore isFin in False.
subjForm : NP -> SubjCase -> Polarity -> Str = \np,sc,b -> subjForm : NP -> SubjCase -> Polarity -> Str = \np,sc,b ->