mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-10-30 10:33:18 -06:00
refactoring
This commit is contained in:
1 parent
7a01a8f924
commit
16a8e0e893
7 files changed
+45
-46
No files matched your search
@@ -52,7 +52,7 @@ concrete ExtendTel of Extend =
|
|||||||
MkVPS temp pol vp = {
|
MkVPS temp pol vp = {
|
||||||
s = \\agr => let f = vp.s ! pol.p !
|
s = \\agr => let f = vp.s ! pol.p !
|
||||||
VPTense (tenseVPH temp.t temp.a) agr
|
VPTense (tenseVPH temp.t temp.a) agr
|
||||||
in vp.obj.s ++ vp.comp ! agr ++ f.neg ++ f.inf ++ f.fin
|
in vp.obj.s ++ vp.comp ! agr ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
BaseVPS first second = {s1 = first.s ; s2 = second.s} ;
|
BaseVPS first second = {s1 = first.s ; s2 = second.s} ;
|
||||||
@@ -66,7 +66,7 @@ concrete ExtendTel of Extend =
|
|||||||
PredVPS np vps = {s = np.s ! NPC Dir ++ vps.s ! np.a} ;
|
PredVPS np vps = {s = np.s ! NPC Dir ++ vps.s ! np.a} ;
|
||||||
|
|
||||||
MkVPI vp = {s = let f = vp.s ! Pos ! VPInf in
|
MkVPI vp = {s = let f = vp.s ! Pos ! VPInf in
|
||||||
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.inf ++ f.fin} ;
|
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.fin} ;
|
||||||
BaseVPI first second = {s1 = first.s ; s2 = second.s} ;
|
BaseVPI first second = {s1 = first.s ; s2 = second.s} ;
|
||||||
ConsVPI first rest = {s1 = first.s ++ "," ++ rest.s1 ; s2 = rest.s2} ;
|
ConsVPI first rest = {s1 = first.s ++ "," ++ rest.s1 ; s2 = rest.s2} ;
|
||||||
ConjVPI conj vpi = {s = vpi.s1 ++ conj.s2 ++ vpi.s2} ;
|
ConjVPI conj vpi = {s = vpi.s1 ++ conj.s2 ++ vpi.s2} ;
|
||||||
@@ -106,40 +106,40 @@ concrete ExtendTel of Extend =
|
|||||||
|
|
||||||
PresPartAP vp = {
|
PresPartAP vp = {
|
||||||
s = \\g,n,_ => let f = vp.s ! Pos ! VPPresPart in
|
s = \\g,n,_ => let f = vp.s ! Pos ! VPPresPart in
|
||||||
vp.obj.s ++ vp.comp ! Ag g n P3 ++ f.neg ++ f.inf ++ f.fin
|
vp.obj.s ++ vp.comp ! Ag g n P3 ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PastPartAP vps = {
|
PastPartAP vps = {
|
||||||
s = \\g,n,_ => let f = vps.passive ! Pos ! VPPastPart in
|
s = \\g,n,_ => let f = vps.passive ! Pos ! VPPastPart in
|
||||||
vps.obj.s ++ vps.comp ! Ag g n P3 ++ f.neg ++ f.inf ++ f.fin
|
vps.obj.s ++ vps.comp ! Ag g n P3 ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PastPartAgentAP vps np = {
|
PastPartAgentAP vps np = {
|
||||||
s = \\g,n,_ => let f = vps.passive ! Pos ! VPPastPart in
|
s = \\g,n,_ => let f = vps.passive ! Pos ! VPPastPart in
|
||||||
np.s ! NPC Obl ++ "చేత" ++ vps.obj.s ++ vps.comp ! Ag g n P3 ++
|
np.s ! NPC Obl ++ "చేత" ++ vps.obj.s ++ vps.comp ! Ag g n P3 ++
|
||||||
f.neg ++ f.inf ++ f.fin
|
f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
GerundCN vp = {
|
GerundCN vp = {
|
||||||
s = \\_,_ => let f = vp.s ! Pos ! VPInf in
|
s = \\_,_ => let f = vp.s ! Pos ! VPInf in
|
||||||
vp.obj.s ++ vp.comp ! defaultAgr ++ f.inf ++ f.fin ;
|
vp.obj.s ++ vp.comp ! defaultAgr ++ f.fin ;
|
||||||
g = Neutr
|
g = Neutr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
GerundNP vp = {
|
GerundNP vp = {
|
||||||
s = \\_ => let f = vp.s ! Pos ! VPInf in
|
s = \\_ => let f = vp.s ! Pos ! VPInf in
|
||||||
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.inf ++ f.fin ;
|
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.fin ;
|
||||||
a = defaultAgr
|
a = defaultAgr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
GerundAdv vp = {
|
GerundAdv vp = {
|
||||||
s = let f = vp.s ! Pos ! VPInf in
|
s = let f = vp.s ! Pos ! VPInf in
|
||||||
vp.obj.s ++ vp.comp ! defaultAgr ++ f.inf ++ f.fin
|
vp.obj.s ++ vp.comp ! defaultAgr ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ByVP vp = {
|
ByVP vp = {
|
||||||
s = let f = vp.s ! Pos ! VPInf in
|
s = let f = vp.s ! Pos ! VPInf in
|
||||||
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.inf ++ f.fin ++ "ద్వారా"
|
vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.fin ++ "ద్వారా"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ApposNP first second = {
|
ApposNP first second = {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ concrete IdiomTel of Idiom = CatTel ** open Prelude, ResTel in {
|
|||||||
|
|
||||||
ImpPl1 vp = {
|
ImpPl1 vp = {
|
||||||
s = let f = vp.s ! Pos ! VPHort in
|
s = let f = vp.s ! Pos ! VPHort in
|
||||||
vp.obj.s ++ vp.comp ! (Ag Masc Pl P1) ++ f.neg ++ f.inf ++ f.fin
|
vp.obj.s ++ vp.comp ! (Ag Masc Pl P1) ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ImpersCl vp = mkClause {
|
ImpersCl vp = mkClause {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ concrete PhraseTel of Phrase = CatTel ** open Prelude, ResTel in {
|
|||||||
UttNP np = {s = np.s ! NPC Dir} ;
|
UttNP np = {s = np.s ! NPC Dir} ;
|
||||||
UttCN cn = {s = cn.s ! Sg ! Dir} ;
|
UttCN cn = {s = cn.s ! Sg ! Dir} ;
|
||||||
UttAP ap = {s = ap.s ! Masc ! Sg ! Dir} ;
|
UttAP ap = {s = ap.s ! Masc ! Sg ! Dir} ;
|
||||||
UttVP vp = {s = let f = vp.s ! Pos ! VPInf in f.inf ++ f.fin} ;
|
UttVP vp = {s = let f = vp.s ! Pos ! VPInf in f.fin} ;
|
||||||
UttAdv adv = adv ;
|
UttAdv adv = adv ;
|
||||||
UttIP ip = {s = ip.s ! Dir} ;
|
UttIP ip = {s = ip.s ! Dir} ;
|
||||||
UttCard card = {s = card.s ! Neutr} ;
|
UttCard card = {s = card.s ! Neutr} ;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ concrete RelativeTel of Relative = CatTel ** open ResTel in {
|
|||||||
VPGenPres => VPRelPresent ;
|
VPGenPres => VPRelPresent ;
|
||||||
VPFut => VPRelPresent ;
|
VPFut => VPRelPresent ;
|
||||||
_ => VPPastPart
|
_ => VPPastPart
|
||||||
} in vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.inf ++ f.fin
|
} in vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
RelSlash rp slash = {
|
RelSlash rp slash = {
|
||||||
s = \\t,p => slash.s ! t ! p ++ rp.s ++ slash.c2.s
|
s = \\t,p => slash.s ! t ! p ++ rp.s ++ slash.c2.s
|
||||||
|
|||||||
+31
-31
@@ -252,7 +252,7 @@ resource ResTel = ParamX ** open Prelude in {
|
|||||||
Neg => {fin = case tense of {
|
Neg => {fin = case tense of {
|
||||||
VPGenPres => negativeCopula agr ;
|
VPGenPres => negativeCopula agr ;
|
||||||
_ => "కాలేదు"
|
_ => "కాలేదు"
|
||||||
} ; inf = [] ; neg = []} ;
|
} ; neg = []} ;
|
||||||
Pos => {fin = case tense of {
|
Pos => {fin = case tense of {
|
||||||
VPGenPres => [] ;
|
VPGenPres => [] ;
|
||||||
VPContPres => [] ;
|
VPContPres => [] ;
|
||||||
@@ -263,17 +263,17 @@ resource ResTel = ParamX ** open Prelude in {
|
|||||||
VPPerfPast => copulaPast agr ;
|
VPPerfPast => copulaPast agr ;
|
||||||
VPSubj => futureFinite "అవు" Pos agr ;
|
VPSubj => futureFinite "అవు" Pos agr ;
|
||||||
VPFut => futureFinite "అవు" Pos agr
|
VPFut => futureFinite "అవు" Pos agr
|
||||||
} ; inf = [] ; neg = []}
|
} ; neg = []}
|
||||||
} ;
|
} ;
|
||||||
VPInf => {fin = "అవడం" ; inf = [] ; neg = []} ;
|
VPInf => {fin = "అవడం" ; neg = []} ;
|
||||||
VPStem => {fin = "అవు" ; inf = [] ; neg = []} ;
|
VPStem => {fin = "అవు" ; neg = []} ;
|
||||||
VPPresPart => {fin = "అవుతున్న" ; inf = [] ; neg = []} ;
|
VPPresPart => {fin = "అవుతున్న" ; neg = []} ;
|
||||||
VPRelPresent => {fin = "అయ్యే" ; inf = [] ; neg = []} ;
|
VPRelPresent => {fin = "అయ్యే" ; neg = []} ;
|
||||||
VPPastPart => {fin = "అయిన" ; inf = [] ; neg = []} ;
|
VPPastPart => {fin = "అయిన" ; neg = []} ;
|
||||||
VPHort => {fin = "అవుదాం" ; inf = [] ; neg = []} ;
|
VPHort => {fin = "అవుదాం" ; neg = []} ;
|
||||||
VPImp Sg => {fin = "అవు" ; inf = [] ; neg = []} ;
|
VPImp Sg => {fin = "అవు" ; neg = []} ;
|
||||||
VPImp Pl => {fin = "అవండి" ; inf = [] ; neg = []} ;
|
VPImp Pl => {fin = "అవండి" ; neg = []} ;
|
||||||
VPReqFut => {fin = "అవండి" ; inf = [] ; neg = []}
|
VPReqFut => {fin = "అవండి" ; neg = []}
|
||||||
} ;
|
} ;
|
||||||
passive = verbForms (regVerb "అవు") ;
|
passive = verbForms (regVerb "అవు") ;
|
||||||
obj = {s = [] ; a = defaultAgr} ;
|
obj = {s = [] ; a = defaultAgr} ;
|
||||||
@@ -351,7 +351,7 @@ resource ResTel = ParamX ** open Prelude in {
|
|||||||
_ => NPC Obl
|
_ => NPC Obl
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
FiniteForm : Type = {fin, inf, neg : Str} ;
|
FiniteForm : Type = {fin, neg : Str} ;
|
||||||
|
|
||||||
VPH : Type = {
|
VPH : Type = {
|
||||||
s, passive : Polarity => VPHForm => FiniteForm ;
|
s, passive : Polarity => VPHForm => FiniteForm ;
|
||||||
@@ -368,30 +368,30 @@ resource ResTel = ParamX ** open Prelude in {
|
|||||||
case vh of {
|
case vh of {
|
||||||
VPTense tense agr => case b of {
|
VPTense tense agr => case b of {
|
||||||
Neg => case tense of {
|
Neg => case tense of {
|
||||||
VPFut => {fin = finiteFuture Neg verb agr ; inf = [] ; neg = []} ;
|
VPFut => {fin = finiteFuture Neg verb agr ; neg = []} ;
|
||||||
_ => {fin = verb.s ! VNegFinite ; inf = [] ; neg = []}
|
_ => {fin = verb.s ! VNegFinite ; neg = []}
|
||||||
} ;
|
} ;
|
||||||
Pos => case tense of {
|
Pos => case tense of {
|
||||||
VPGenPres => {fin = finiteFuture Pos verb agr ; inf = [] ; neg = []} ;
|
VPGenPres => {fin = finiteFuture Pos verb agr ; neg = []} ;
|
||||||
VPImpPast => {fin = finitePast verb agr ; inf = [] ; neg = []} ;
|
VPImpPast => {fin = finitePast verb agr ; neg = []} ;
|
||||||
VPContPres => {fin = finitePresent verb agr ; inf = [] ; neg = []} ;
|
VPContPres => {fin = finitePresent verb agr ; neg = []} ;
|
||||||
VPContPast => {fin = finitePast verb agr ; inf = [] ; neg = []} ;
|
VPContPast => {fin = finitePast verb agr ; neg = []} ;
|
||||||
VPPerf => {fin = finitePast verb agr ; inf = [] ; neg = []} ;
|
VPPerf => {fin = finitePast verb agr ; neg = []} ;
|
||||||
VPPerfPres => {fin = finitePast verb agr ; inf = [] ; neg = []} ;
|
VPPerfPres => {fin = finitePast verb agr ; neg = []} ;
|
||||||
VPPerfPast => {fin = finitePast verb agr ; inf = [] ; neg = []} ;
|
VPPerfPast => {fin = finitePast verb agr ; neg = []} ;
|
||||||
VPSubj => {fin = finiteFuture Pos verb agr ; inf = [] ; neg = []} ;
|
VPSubj => {fin = finiteFuture Pos verb agr ; neg = []} ;
|
||||||
VPFut => {fin = finiteFuture Pos verb agr ; inf = [] ; neg = []}
|
VPFut => {fin = finiteFuture Pos verb agr ; neg = []}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
{- The finite cases above deliberately precede the legacy form
|
{- The finite cases above deliberately precede the legacy form
|
||||||
table. The latter remains part of the public paradigms API. -}
|
table. The latter remains part of the public paradigms API. -}
|
||||||
VPInf => {fin = verb.s ! VInf ; inf = [] ; neg = na} ;
|
VPInf => {fin = verb.s ! VInf ; neg = na} ;
|
||||||
VPStem => {fin = verb.s ! VStem ; inf = [] ; neg = na} ;
|
VPStem => {fin = verb.s ! VStem ; neg = na} ;
|
||||||
VPPresPart => {fin = verb.s ! VPresentPart ; inf = [] ; neg = na} ;
|
VPPresPart => {fin = verb.s ! VPresentPart ; neg = na} ;
|
||||||
VPRelPresent => {fin = verb.s ! VRelativePresent ; inf = [] ; neg = na} ;
|
VPRelPresent => {fin = verb.s ! VRelativePresent ; neg = na} ;
|
||||||
VPPastPart => {fin = verb.s ! VPastPart ; inf = [] ; neg = na} ;
|
VPPastPart => {fin = verb.s ! VPastPart ; neg = na} ;
|
||||||
VPHort => {fin = verb.s ! VHortative ; inf = [] ; neg = na} ;
|
VPHort => {fin = verb.s ! VHortative ; neg = na} ;
|
||||||
VPImp n => {fin = verb.s ! VImp n b ; inf = [] ; neg = []}
|
VPImp n => {fin = verb.s ! VImp n b ; neg = []}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
predV : Verb -> VPH = \verb -> {
|
predV : Verb -> VPH = \verb -> {
|
||||||
@@ -475,7 +475,7 @@ resource ResTel = ParamX ** open Prelude in {
|
|||||||
agr = np.a ;
|
agr = np.a ;
|
||||||
vps = vp.s ! b ! VPTense vt agr ;
|
vps = vp.s ! b ! VPTense vt agr ;
|
||||||
in
|
in
|
||||||
np.s ! subj ++ vp.obj.s ++ vp.comp ! np.a ++ vps.neg ++ vps.inf ++ vps.fin
|
np.s ! subj ++ vp.obj.s ++ vp.comp ! np.a ++ vps.neg ++ vps.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ concrete SentenceTel of Sentence = CatTel ** open Prelude, ResTel in {
|
|||||||
ImpVP vp = {
|
ImpVP vp = {
|
||||||
s = \\pol,num =>
|
s = \\pol,num =>
|
||||||
let f = vp.s ! pol ! VPImp num
|
let f = vp.s ! pol ! VPImp num
|
||||||
in vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.inf ++ f.fin
|
in vp.obj.s ++ vp.comp ! defaultAgr ++ f.neg ++ f.fin
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvImp adv imp = {s = \\pol,num => adv.s ++ imp.s ! pol ! num} ;
|
AdvImp adv imp = {s = \\pol,num => adv.s ++ imp.s ! pol ! num} ;
|
||||||
|
|||||||
@@ -36,8 +36,7 @@ concrete VerbTel of Verb = CatTel ** open ResTel, Prelude in {
|
|||||||
ComplSlash vp np = insertObject np vp ;
|
ComplSlash vp np = insertObject np vp ;
|
||||||
|
|
||||||
ComplVV v vp = predV v ** {
|
ComplVV v vp = predV v ** {
|
||||||
comp = \\agr => let f = vp.s ! Pos ! VPInf in
|
comp = \\agr => let f = vp.s ! Pos ! VPInf in f.fin
|
||||||
f.inf ++ f.fin
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ComplVS v s = predV v ** {comp = \\_ => s.s ++ "అని"} ;
|
ComplVS v s = predV v ** {comp = \\_ => s.s ++ "అని"} ;
|
||||||
|
|||||||
Reference in new issue
Block a user