mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-30 10:28:53 -06:00
pos-neg and ExistCN in Finnish
This commit is contained in:
@@ -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 } ;
|
||||||
|
|||||||
@@ -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 ->
|
||||||
|
|||||||
Reference in New Issue
Block a user