mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-09-18 00:06:03 -06:00
added reflexive verbs and include the clitic in linref A
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
concrete CatSqi of Cat = CommonX ** open ParamX,Prelude,ResSqi in {
|
concrete CatSqi of Cat = CommonX ** open ParamX,Prelude,ResSqi in {
|
||||||
lincat A = Adj ;
|
lincat A = Adj ;
|
||||||
|
linref A = \a -> case a.clit of {True=>"i"; False=>[]} ++ a.s ! Nom ! Masc ! Sg ;
|
||||||
lincat A2 = Adj ** {c2 : Compl} ;
|
lincat A2 = Adj ** {c2 : Compl} ;
|
||||||
|
linref A2 = \a -> case a.clit of {True=>"i"; False=>[]} ++ a.s ! Nom ! Masc ! Sg ++ a.c2.s ;
|
||||||
lincat V, VA, VV, VS, VQ = Verb ;
|
lincat V, VA, VV, VS, VQ = Verb ;
|
||||||
lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ;
|
lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ;
|
||||||
lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
|
lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
|
||||||
|
|||||||
+268
-244
File diff suppressed because it is too large
Load Diff
@@ -1231,6 +1231,19 @@ mkV = overload {
|
|||||||
mkV : Str -> Str -> V = reg2V -- Indicative;Pres;Sg;P1 participle
|
mkV : Str -> Str -> V = reg2V -- Indicative;Pres;Sg;P1 participle
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
compoundV : V -> Str -> V = \v,adv -> lin V {
|
||||||
|
indicative = \\t,n,p => v.indicative ! t ! n ! p ++ adv ;
|
||||||
|
imperative = \\n => v.imperative ! n ++ adv ;
|
||||||
|
participle = v.participle ++ adv ;
|
||||||
|
pres_optative = \\n,p => v.pres_optative ! n ! p ++ adv ;
|
||||||
|
perf_optative = \\n,p => v.perf_optative ! n ! p ++ adv ;
|
||||||
|
pres_admirative = \\n,p => v.pres_admirative ! n ! p ++ adv ;
|
||||||
|
imperf_admirative = \\n,p => v.imperf_admirative ! n ! p ++ adv ;
|
||||||
|
vtype = v.vtype
|
||||||
|
} ;
|
||||||
|
|
||||||
|
reflV : V -> V = \v -> v ** {vtype=VRefl} ;
|
||||||
|
|
||||||
mkV2 = overload {
|
mkV2 = overload {
|
||||||
mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ;
|
mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ;
|
||||||
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ;
|
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ;
|
||||||
@@ -1283,7 +1296,12 @@ mkVoc : Str -> Voc = \s -> lin Voc {s=s} ;
|
|||||||
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
|
||||||
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
|
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
|
||||||
|
|
||||||
oper mkQuant : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Quant =
|
mkQuant = overload {
|
||||||
|
mkQuant : Str -> Quant = \s -> lin Quant {
|
||||||
|
s = \\_,_,_ => s ;
|
||||||
|
sp = Indef
|
||||||
|
} ;
|
||||||
|
mkQuant : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Quant =
|
||||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 -> lin Quant
|
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16 -> lin Quant
|
||||||
{ s = table {
|
{ s = table {
|
||||||
Nom => table {
|
Nom => table {
|
||||||
@@ -1328,9 +1346,16 @@ oper mkQuant : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Quant =
|
|||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
sp = Indef
|
sp = Indef
|
||||||
} ;
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
oper mkDet : (_,_,_,_,_,_,_,_ : Str) -> Number -> Det =
|
mkDet = overload {
|
||||||
|
mkDet : Str -> Number -> Det = \s,n -> lin Det {
|
||||||
|
s = \\_,_ => s ;
|
||||||
|
sp = Indef ;
|
||||||
|
n = n
|
||||||
|
} ;
|
||||||
|
mkDet : (_,_,_,_,_,_,_,_ : Str) -> Number -> Det =
|
||||||
\f1,f2,f3,f4,f5,f6,f7,f8,n -> lin Det
|
\f1,f2,f3,f4,f5,f6,f7,f8,n -> lin Det
|
||||||
{ s = table {
|
{ s = table {
|
||||||
Nom => table {
|
Nom => table {
|
||||||
@@ -1352,7 +1377,8 @@ oper mkDet : (_,_,_,_,_,_,_,_ : Str) -> Number -> Det =
|
|||||||
} ;
|
} ;
|
||||||
sp = Indef ;
|
sp = Indef ;
|
||||||
n = n
|
n = n
|
||||||
} ;
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
|
||||||
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Bool -> Adj =
|
|||||||
|
|
||||||
|
|
||||||
param Tense = Pres | Past | Imperfect | Aorist ;
|
param Tense = Pres | Past | Imperfect | Aorist ;
|
||||||
oper Verb = {indicative: Tense => Number => Person => Str; imperative: Number => Str; participle: Str; pres_optative: Number => Person => Str; perf_optative: Number => Person => Str; pres_admirative: Number => Person => Str; imperf_admirative: Number => Person => Str} ; -- 758
|
param VType = VNormal | VRefl ;
|
||||||
|
oper Verb = {indicative: Tense => Number => Person => Str; imperative: Number => Str; participle: Str; pres_optative: Number => Person => Str; perf_optative: Number => Person => Str; pres_admirative: Number => Person => Str; imperf_admirative: Number => Person => Str; vtype : VType} ; -- 758
|
||||||
oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
|
oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
|
||||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51 ->
|
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48,f49,f50,f51 ->
|
||||||
{ indicative = table {
|
{ indicative = table {
|
||||||
@@ -209,7 +210,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_
|
|||||||
P2 => f50 ;
|
P2 => f50 ;
|
||||||
P3 => f51
|
P3 => f51
|
||||||
}
|
}
|
||||||
}
|
} ;
|
||||||
|
vtype = VNormal
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
oper link_clitic : Species => Case => Gender => Number => Str =
|
oper link_clitic : Species => Case => Gender => Number => Str =
|
||||||
|
|||||||
Reference in New Issue
Block a user