mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
added anteriority
This commit is contained in:
@@ -9,7 +9,7 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
|
||||
RS = {s : Agr => Str} ;
|
||||
|
||||
-- Sentence
|
||||
Cl = {s : Tense => Polarity => Str} ;
|
||||
Cl = {s : Tense => Anteriority => Polarity => Str} ;
|
||||
Imp = {s : Polarity => Number => Str} ;
|
||||
|
||||
-- Noun
|
||||
@@ -17,7 +17,7 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
|
||||
NP = {s : Case => Str ; h : Harmony; a : Agr} ;
|
||||
|
||||
-- Relative
|
||||
RCl = {s : Tense => Polarity => Agr => Str} ;
|
||||
RCl = {s : Tense => Anteriority => Polarity => Agr => Str} ;
|
||||
RP = {s : Agr => Str} ;
|
||||
|
||||
-- Verb
|
||||
|
||||
@@ -122,14 +122,14 @@ oper
|
||||
th "tekil" ++
|
||||
th "çoğul") ++
|
||||
tr (th "1." ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Sg; p=P1}) ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Pl; p=P1})) ++
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Sg; p=P1}) ++
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Pl; p=P1})) ++
|
||||
tr (th "2." ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Sg; p=P2}) ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Pl; p=P2})) ++
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Sg; p=P2}) ++
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Pl; p=P2})) ++
|
||||
tr (th "3." ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Sg; p=P3}) ++
|
||||
td (tbl ! asp ! VFin t Pos {n=Pl; p=P3}))
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Sg; p=P3}) ++
|
||||
td (tbl ! asp ! VFin t Simul Pos {n=Pl; p=P3}))
|
||||
) ;
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, ParamX,
|
||||
|
||||
PPartNP np v2 = {
|
||||
s = \\c => np.s ! c
|
||||
++ mkVerbForms v2 ! Perf ! VFin Past Pos np.a --# notpresent
|
||||
++ mkVerbForms v2 ! Perf ! VFin Past Simul Pos np.a --# notpresent
|
||||
;
|
||||
h = np.h ;
|
||||
a = np.a
|
||||
|
||||
@@ -4,11 +4,15 @@ lin
|
||||
RelCl = variants {} ;
|
||||
|
||||
RelVP rp vp = {
|
||||
s = \\t,p,agr => rp.s ! agr ++ vp.compl ++
|
||||
s = \\t,a,p,agr =>
|
||||
case a of {
|
||||
Simul => rp.s ! agr ++ vp.compl ++
|
||||
case t of {
|
||||
Fut => vp.s ! Perf ! VProspPart p ;
|
||||
_ => vp.s ! Perf ! VImperfPart p
|
||||
}
|
||||
} ;
|
||||
Anter => vp.s ! Perf ! VFin t a p agr ++ "olan"
|
||||
} ;
|
||||
} ;
|
||||
|
||||
RelSlash = variants {} ;
|
||||
|
||||
@@ -45,7 +45,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
|
||||
| VPerfPart Polarity
|
||||
| VProspPart Polarity
|
||||
| VImp Polarity Number
|
||||
| VFin Tense Polarity Agr
|
||||
| VFin Tense Anteriority Polarity Agr
|
||||
;
|
||||
|
||||
param
|
||||
@@ -168,42 +168,56 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
|
||||
suffixStr progrHar p2PlImperSuffix
|
||||
}
|
||||
} ;
|
||||
VFin t p agr =>
|
||||
let presHar = mkHar (case v.h.con of {
|
||||
SCon _ => case v.aoristType of {
|
||||
VFin t a p agr =>
|
||||
let x = case a of {
|
||||
Simul => {p=p; v=v} ;
|
||||
Anter => let part =
|
||||
v.stems ! VBase Hard ++ BIND ++
|
||||
case p of {
|
||||
Pos => suffixStr v.h perfParticipleSuffix ;
|
||||
Neg => suffixStr v.h negativeSuffix +
|
||||
suffixStr negHar perfParticipleSuffix
|
||||
}
|
||||
in {p=p; v=olmak_V ** {
|
||||
s = part ++ olmak_V.s ;
|
||||
stems = \\vf => part ++ olmak_V.stems ! vf
|
||||
}}
|
||||
} ;
|
||||
presHar = mkHar (case x.v.h.con of {
|
||||
SCon _ => case x.v.aoristType of {
|
||||
SgSylConReg => Ih_Har ;
|
||||
_ => v.h.vow
|
||||
_ => x.v.h.vow
|
||||
} ;
|
||||
SVow => v.h.vow
|
||||
SVow => x.v.h.vow
|
||||
}) (SCon Soft) ;
|
||||
pastHar = mkHar v.h.vow SVow ;
|
||||
pastHar = mkHar x.v.h.vow SVow ;
|
||||
pastIHar= mkHar U_Har SVow ;
|
||||
futSoft = (verbSuffixes ! agr).stemT ;
|
||||
futHar = mkHar (case v.h.vow of {
|
||||
futHar = mkHar (case x.v.h.vow of {
|
||||
I_Har | U_Har => I_Har ;
|
||||
Ih_Har | Uh_Har => Ih_Har
|
||||
}) (SCon futSoft) ;
|
||||
presNegHar =
|
||||
mkHar negHar.vow (SCon Soft)
|
||||
in case p of {
|
||||
in case x.p of {
|
||||
Pos => case t of {
|
||||
Pres => case asp of {
|
||||
Perf => v.stems ! VBase Soft ++ BIND ++
|
||||
suffixStr v.h (case v.aoristType of {
|
||||
SgSylConReg => aoristErSuffix ;
|
||||
_ => aoristIrSuffix
|
||||
}) +
|
||||
Perf => x.v.stems ! VBase Soft ++ BIND ++
|
||||
suffixStr x.v.h (case x.v.aoristType of {
|
||||
SgSylConReg => aoristErSuffix ;
|
||||
_ => aoristIrSuffix
|
||||
}) +
|
||||
suffixStr presHar (verbSuffixes ! agr) ;
|
||||
Imperf => v.stems ! VProg ++ BIND ++
|
||||
suffixStr v.h progrSuffix +
|
||||
Imperf => x.v.stems ! VProg ++ BIND ++
|
||||
suffixStr x.v.h progrSuffix +
|
||||
suffixStr progrHar (verbSuffixes ! agr)
|
||||
} ;
|
||||
Past => case asp of {
|
||||
Perf => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h pastSuffix +
|
||||
Perf => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h pastSuffix +
|
||||
suffixStr pastHar (verbSuffixes ! agr) ;
|
||||
Imperf => v.stems ! VProg ++ BIND ++
|
||||
suffixStr v.h progrSuffix +
|
||||
Imperf => x.v.stems ! VProg ++ BIND ++
|
||||
suffixStr x.v.h progrSuffix +
|
||||
case agr of {
|
||||
{n=Pl; p=P3} => suffixStr progrHar (verbSuffixes ! agr) +
|
||||
suffixStr (mkHar Ih_Har (SCon Soft)) pastSuffix ;
|
||||
@@ -211,49 +225,49 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
|
||||
suffixStr pastIHar (verbSuffixes ! agr)
|
||||
}
|
||||
} ;
|
||||
Fut => v.stems ! VFuture ++ BIND ++
|
||||
suffixStr v.h (case futSoft of {
|
||||
Fut => x.v.stems ! VFuture ++ BIND ++
|
||||
suffixStr x.v.h (case futSoft of {
|
||||
Soft => softFutureSuffix ;
|
||||
Hard => futureSuffix
|
||||
}) +
|
||||
suffixStr futHar (verbSuffixes ! agr) ;
|
||||
Cond => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h (condCopulaSuffixes ! agr)
|
||||
Cond => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h (condCopulaSuffixes ! agr)
|
||||
} ;
|
||||
Neg => case t of {
|
||||
Pres => case asp of {
|
||||
Perf => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h negativeSuffix +
|
||||
Perf => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h negativeSuffix +
|
||||
case agr of {
|
||||
{n=Sg; p=P1} => suffixStr negHar (verbSuffixes ! agr) ;
|
||||
{n=Pl; p=P1} => suffixStr negHar p1PlAoristSuffix ;
|
||||
_ => suffixStr negHar aoristIzSuffix + suffixStr presNegHar (verbSuffixes ! agr)
|
||||
} ;
|
||||
Imperf => v.stems ! VBase Soft ++ BIND ++
|
||||
tk 1 (suffixStr v.h negativeSuffix) +
|
||||
suffixStr v.h progrSuffix +
|
||||
Imperf => x.v.stems ! VBase Soft ++ BIND ++
|
||||
tk 1 (suffixStr x.v.h negativeSuffix) +
|
||||
suffixStr x.v.h progrSuffix +
|
||||
suffixStr progrHar (verbSuffixes ! agr)
|
||||
} ;
|
||||
Past => case asp of {
|
||||
Perf => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h negativeSuffix +
|
||||
Perf => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h negativeSuffix +
|
||||
suffixStr negHar pastSuffix +
|
||||
suffixStr negHar (verbSuffixes ! agr) ;
|
||||
Imperf => v.stems ! VBase Soft ++ BIND ++
|
||||
tk 1 (suffixStr v.h negativeSuffix) +
|
||||
suffixStr v.h progrSuffix +
|
||||
Imperf => x.v.stems ! VBase Soft ++ BIND ++
|
||||
tk 1 (suffixStr x.v.h negativeSuffix) +
|
||||
suffixStr x.v.h progrSuffix +
|
||||
suffixStr progrHar pastSuffix +
|
||||
suffixStr pastIHar (verbSuffixes ! agr)
|
||||
} ;
|
||||
Fut => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h negativeSuffix +
|
||||
Fut => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h negativeSuffix +
|
||||
suffixStr negHar (case (verbSuffixes ! agr).stemT of {
|
||||
Soft => softFutureSuffix ;
|
||||
Hard => futureSuffix
|
||||
}) +
|
||||
suffixStr futHar (verbSuffixes ! agr) ;
|
||||
Cond => v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr v.h negativeSuffix +
|
||||
Cond => x.v.stems ! VBase Hard ++ BIND ++
|
||||
suffixStr x.v.h negativeSuffix +
|
||||
suffixStr negHar (condCopulaSuffixes ! agr)
|
||||
}
|
||||
}
|
||||
@@ -325,4 +339,10 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
|
||||
{n=Pl; p=P3} => p3PlCondCopulaSuffix
|
||||
} ;
|
||||
|
||||
olmak_V : Verb = {
|
||||
s = "olmak" ;
|
||||
stems = \\_ => "ol" ;
|
||||
aoristType = SgSylConIrreg ;
|
||||
h = mkHar U_Har (SCon Soft)
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in {
|
||||
|
||||
lin
|
||||
PredVP np vp = {s = \\t,p => np.s ! Nom ++ vp.compl ++ vp.s ! Perf ! VFin t p np.a} ;
|
||||
PredVP np vp = {s = \\t,a,p => np.s ! Nom ++ vp.compl ++ vp.s ! Perf ! VFin t a p np.a} ;
|
||||
|
||||
PredSCVP sc vp = variants {} ;
|
||||
|
||||
-- TODO: Check how correct this is.
|
||||
EmbedVP vp = variants {} ; -- {s = (vp.s ! Gerund Sg Acc)} ;
|
||||
|
||||
UseCl temp pol cl = {s = temp.s ++ pol.s ++ cl.s ! temp.t ! pol.p} ;
|
||||
UseCl temp pol cl = {s = temp.s ++ pol.s ++ cl.s ! temp.t ! temp.a ! pol.p} ;
|
||||
|
||||
UseQCl _ _ = variants {} ;
|
||||
|
||||
UseRCl temp pol cl = {s = \\agr => temp.s ++ pol.s ++ cl.s ! temp.t ! pol.p ! agr} ;
|
||||
UseRCl temp pol cl = {s = \\agr => temp.s ++ pol.s ++ cl.s ! temp.t ! temp.a ! pol.p ! agr} ;
|
||||
|
||||
SlashVP _ _ = variants {} ;
|
||||
AdvSlash _ _ = variants {} ;
|
||||
@@ -25,8 +25,10 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in {
|
||||
ImpVP vp = {s = \\p,n => vp.compl ++ vp.s ! Perf ! VImp p n
|
||||
} ;
|
||||
|
||||
AdvS _ _ = variants {} ;
|
||||
|
||||
AdvS adv s = {
|
||||
s = adv.s ++ s.s
|
||||
} ;
|
||||
|
||||
UseSlash _ = variants {} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
CompNP np = {
|
||||
s = \\asp,vform =>
|
||||
case <asp,vform> of {
|
||||
<Perf,VFin Pres p agr>
|
||||
<Perf,VFin Pres Simul p agr>
|
||||
=> np.s ! Nom ++
|
||||
case <agr,p> of {
|
||||
<{n=Sg; p=P3},Pos> => [] ;
|
||||
@@ -46,7 +46,7 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
}) SVow
|
||||
in suffixStr negHar (verbSuffixes ! agr))
|
||||
} ;
|
||||
<Perf,VFin Past p agr>
|
||||
<Perf,VFin Past Simul p agr>
|
||||
=> np.s ! Nom ++ BIND ++
|
||||
case p of {
|
||||
Pos => [] ;
|
||||
@@ -64,7 +64,7 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
case <asp,vform> of {
|
||||
<_,VImp p n> => ap.s ! n ! Nom ++
|
||||
mkVerbForms olmak_V ! asp ! (VImp p n) ;
|
||||
<Perf,VFin Pres p agr> =>
|
||||
<Perf,VFin Pres Simul p agr> =>
|
||||
ap.s ! agr.n ! Nom ++
|
||||
case <agr,p> of {
|
||||
<{n=Sg; p=P3},Pos> => [] ;
|
||||
@@ -79,16 +79,16 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
}
|
||||
in suffixStr negHar (verbSuffixes ! agr))
|
||||
} ;
|
||||
<Perf,VFin Past p agr> =>
|
||||
<Perf,VFin Past Simul 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> =>
|
||||
<_,VFin t a p agr> =>
|
||||
ap.s ! agr.n ! Nom ++
|
||||
mkVerbForms olmak_V ! asp ! (VFin t p agr) ;
|
||||
mkVerbForms olmak_V ! asp ! vform ;
|
||||
_ => ap.s ! Sg ! Nom ++
|
||||
mkVerbForms olmak_V ! asp ! vform
|
||||
} ;
|
||||
@@ -129,12 +129,4 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
|
||||
compl = []
|
||||
} ;
|
||||
|
||||
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