mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-27 03:46:29 -06:00
verbal morphology is not syntactic. added negation
This commit is contained in:
+65
-31
@@ -1,8 +1,8 @@
|
||||
concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur in {
|
||||
|
||||
lin
|
||||
UseV v = lin VP (v ** {compl = []}) ;
|
||||
SlashV2a v = v ** {compl = []} ;
|
||||
UseV v = {s = mkVerbForms v; compl = []} ;
|
||||
SlashV2a v = {s = mkVerbForms v; compl = []; c = v.c} ;
|
||||
|
||||
Slash2V3 v = variants {} ;
|
||||
Slash3V3 v = variants {} ;
|
||||
@@ -18,9 +18,9 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
} ;
|
||||
|
||||
-- TODO: test this and fix.
|
||||
ComplVS vs s = vs ** {
|
||||
ComplVS vs s = variants {} ; {- vs ** {
|
||||
compl = s.subord
|
||||
} ;
|
||||
} ; -}
|
||||
|
||||
ComplVA _ _ = variants {} ;
|
||||
ComplVV _ _ = variants {} ;
|
||||
@@ -29,37 +29,62 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
UseComp comp = comp ** {compl = []} ;
|
||||
CompCN _ = variants {} ;
|
||||
|
||||
CompNP ap = lin VP {
|
||||
CompNP np = {
|
||||
s = table {
|
||||
VPres agr => ap.s ! Nom ++
|
||||
case agr of {
|
||||
{n=Sg; p=P3} => [] ;
|
||||
_ => suffixStr ap.h (verbSuffixes ! agr)
|
||||
} ;
|
||||
VProg agr => ap.s ! Nom ;
|
||||
VPast agr => ap.s ! Nom ++
|
||||
suffixStr ap.h (alethicCopulaSuffixes ! agr);
|
||||
VFuture agr => ap.s ! Nom ++
|
||||
addSuffix "olacağ" (mkHar I_Har (SCon Hard)) (verbSuffixes ! agr) ;
|
||||
VInfinitive => ap.s ! Nom ++ "olmak" ;
|
||||
_ => "TODO"
|
||||
}
|
||||
VFin Pres p agr => np.s ! Nom ++
|
||||
case <agr,p> of {
|
||||
<{n=Sg; p=P3},Pos> => [] ;
|
||||
<{n=Sg; p=P3},Neg> => BIND ++ suffixStr np.h negativeSuffix ;
|
||||
<_, Pos> => BIND ++ suffixStr np.h (verbSuffixes ! agr) ;
|
||||
<_, Neg> => BIND ++ suffixStr np.h negativeSuffix +
|
||||
(let negHar = mkHar (case np.h.vow of {
|
||||
I_Har | U_Har => I_Har ;
|
||||
Ih_Har | Uh_Har => Ih_Har
|
||||
}) SVow
|
||||
in suffixStr negHar (verbSuffixes ! agr))
|
||||
} ;
|
||||
VFin Past p agr => np.s ! Nom ++ BIND ++
|
||||
case p of {
|
||||
Pos => [] ;
|
||||
Neg => suffixStr np.h negativeSuffix
|
||||
} +
|
||||
suffixStr np.h (alethicCopulaSuffixes ! agr) ;
|
||||
vform => np.s ! Nom ++
|
||||
mkVerbForms olmak_V ! vform
|
||||
} ;
|
||||
compl = []
|
||||
} ;
|
||||
|
||||
CompAP ap = lin VP {
|
||||
CompAP ap = {
|
||||
s = table {
|
||||
VPres agr => case agr.p of {
|
||||
P3 => ap.s ! Sg ! Nom ;
|
||||
_ => ap.s ! agr.n ! Nom ++ suffixStr ap.h (verbSuffixes ! agr)
|
||||
} ;
|
||||
VProg agr => ap.s ! agr.n ! Nom ;
|
||||
VPast agr => ap.s ! agr.n ! Nom ++
|
||||
suffixStr ap.h (alethicCopulaSuffixes ! agr);
|
||||
VFuture agr => ap.s ! agr.n ! Nom ++
|
||||
addSuffix "olacağ" (mkHar I_Har (SCon Hard)) (verbSuffixes ! agr) ;
|
||||
VInfinitive => ap.s ! Sg ! Nom ++ "olmak" ;
|
||||
_ => "TODO"
|
||||
}
|
||||
VInf p => ap.s ! Sg ! Nom ++
|
||||
mkVerbForms olmak_V ! (VInf p) ;
|
||||
VImp p n => ap.s ! n ! Nom ++
|
||||
mkVerbForms olmak_V ! (VImp p n) ;
|
||||
VFin Pres p agr => ap.s ! agr.n ! Nom ++
|
||||
case <agr,p> of {
|
||||
<{n=Sg; p=P3},Pos> => [] ;
|
||||
<{n=Sg; p=P3},Neg> => BIND ++ suffixStr ap.h negativeSuffix ;
|
||||
<_, Pos> => BIND ++ suffixStr ap.h (verbSuffixes ! agr) ;
|
||||
<_, Neg> => BIND ++ suffixStr ap.h negativeSuffix +
|
||||
(let negHar = {vow = case ap.h.vow of {
|
||||
I_Har | U_Har => I_Har ;
|
||||
Ih_Har | Uh_Har => Ih_Har
|
||||
} ;
|
||||
con = SVow
|
||||
}
|
||||
in suffixStr negHar (verbSuffixes ! agr))
|
||||
} ;
|
||||
VFin Past p agr => ap.s ! agr.n ! Nom ++ BIND ++
|
||||
case p of {
|
||||
Pos => [] ;
|
||||
Neg => suffixStr ap.h negativeSuffix
|
||||
} +
|
||||
suffixStr ap.h (alethicCopulaSuffixes ! agr) ;
|
||||
VFin t p agr => ap.s ! agr.n ! Nom ++
|
||||
mkVerbForms olmak_V ! (VFin t p agr)
|
||||
} ;
|
||||
compl = []
|
||||
} ;
|
||||
|
||||
CompAdv _ = variants {} ;
|
||||
@@ -75,4 +100,13 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
} ;
|
||||
|
||||
PassV2 = variants {} ;
|
||||
|
||||
oper
|
||||
olmak_V : V = lin V {
|
||||
s = "olmak" ;
|
||||
stems = \\_ => "ol" ;
|
||||
aoristType = SgSylConIrreg ;
|
||||
h = mkHar U_Har (SCon Soft)
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user