mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -89,6 +89,7 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
|||||||
V2, V2A = ResAra.Verb ** {c2 : Str} ;
|
V2, V2A = ResAra.Verb ** {c2 : Str} ;
|
||||||
V2V, V2S, V2Q = ResAra.Verb ** {c2 : Str} ; --- AR
|
V2V, V2S, V2Q = ResAra.Verb ** {c2 : Str} ; --- AR
|
||||||
V3 = ResAra.Verb ** {c2, c3 : Str} ;
|
V3 = ResAra.Verb ** {c2, c3 : Str} ;
|
||||||
|
VV = ResAra.Verb ** {isAux : Bool} ; --- IL
|
||||||
-- VV = {s : VVForm => Str ; isAux : Bool} ;
|
-- VV = {s : VVForm => Str ; isAux : Bool} ;
|
||||||
|
|
||||||
A = ResAra.Adj ;
|
A = ResAra.Adj ;
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ oper ComplN3 : N3 -> NP -> N2 = notYet "ComplN3" ;
|
|||||||
oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ;
|
oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ;
|
||||||
oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ;
|
oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ;
|
||||||
oper ComplVS : VS -> S -> VP = notYet "ComplVS" ;
|
oper ComplVS : VS -> S -> VP = notYet "ComplVS" ;
|
||||||
oper ComplVV : VV -> VP -> VP = notYet "ComplVV" ;
|
|
||||||
oper ConjAP : Conj -> ListAP -> AP = notYet "ConjAP" ;
|
oper ConjAP : Conj -> ListAP -> AP = notYet "ConjAP" ;
|
||||||
oper ConjAdv : Conj -> ListAdv -> Adv = notYet "ConjAdv" ;
|
oper ConjAdv : Conj -> ListAdv -> Adv = notYet "ConjAdv" ;
|
||||||
oper ConjNP : Conj -> ListNP -> NP = notYet "ConjNP" ;
|
oper ConjNP : Conj -> ListNP -> NP = notYet "ConjNP" ;
|
||||||
@@ -94,7 +93,6 @@ oper UttImpPl : Pol -> Imp -> Utt = notYet "UttImpPl" ;
|
|||||||
oper UttImpPol : Pol -> Imp -> Utt = notYet "UttImpPol" ;
|
oper UttImpPol : Pol -> Imp -> Utt = notYet "UttImpPol" ;
|
||||||
oper UttVP : VP -> Utt = notYet "UttVP" ;
|
oper UttVP : VP -> Utt = notYet "UttVP" ;
|
||||||
oper VocNP : NP -> Voc = notYet "VocNP" ;
|
oper VocNP : NP -> Voc = notYet "VocNP" ;
|
||||||
oper it_Pron : Pron = notYet "it_Pron" ;
|
|
||||||
oper pot3plus : Sub1000 -> Sub1000 -> Sub1000000 = notYet "pot3plus" ;
|
oper pot3plus : Sub1000 -> Sub1000 -> Sub1000000 = notYet "pot3plus" ;
|
||||||
oper which_IQuant : IQuant = notYet "which_IQuant" ;
|
oper which_IQuant : IQuant = notYet "which_IQuant" ;
|
||||||
|
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ resource ParadigmsAra = open
|
|||||||
mkV0 : V -> V0 ;
|
mkV0 : V -> V0 ;
|
||||||
mkVS : V -> VS ;
|
mkVS : V -> VS ;
|
||||||
mkV2S : V -> Str -> V2S ;
|
mkV2S : V -> Str -> V2S ;
|
||||||
-- mkVV : V -> VV ;
|
mkVV : V -> VV ;
|
||||||
mkV2V : V -> Str -> Str -> V2V ;
|
mkV2V : V -> Str -> Str -> V2V ;
|
||||||
mkVA : V -> VA ;
|
mkVA : V -> VA ;
|
||||||
mkV2A : V -> Str -> V2A ;
|
mkV2A : V -> Str -> V2A ;
|
||||||
@@ -507,6 +507,8 @@ resource ParadigmsAra = open
|
|||||||
mkVS v = v ** {lock_VS = <>} ;
|
mkVS v = v ** {lock_VS = <>} ;
|
||||||
mkVQ v = v ** {lock_VQ = <>} ;
|
mkVQ v = v ** {lock_VQ = <>} ;
|
||||||
|
|
||||||
|
mkVV v = lin VV v ** {isAux = False} ;
|
||||||
|
|
||||||
V0 : Type = V ;
|
V0 : Type = V ;
|
||||||
---- V2S, V2V, V2Q, V2A : Type = V2 ;
|
---- V2S, V2V, V2Q, V2A : Type = V2 ;
|
||||||
AS, A2S, AV : Type = A ;
|
AS, A2S, AV : Type = A ;
|
||||||
|
|||||||
@@ -12,10 +12,14 @@ concrete PhraseAra of Phrase = CatAra ** open
|
|||||||
UttIAdv s = {s = \\g => s.s} ; ---- OK? AR
|
UttIAdv s = {s = \\g => s.s} ; ---- OK? AR
|
||||||
|
|
||||||
UttQS qs = {s = \\g => qs.s ! QDir} ;
|
UttQS qs = {s = \\g => qs.s ! QDir} ;
|
||||||
UttImpSg pol imp = {s = \\g => imp.s ! pol.p ! g ! ResAra.Sg} ;
|
UttImpSg pol imp = {s = \\g => imp.s ! pol.p ! g ! ResAra.Sg ++ pol.s} ;
|
||||||
-- UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! Pl} ;
|
UttImpPl,UttImpPol = \pol,imp -> {s = \\g => imp.s ! pol.p ! g ! ResAra.Pl ++ pol.s} ;
|
||||||
--
|
--
|
||||||
UttIP ip = {s = \\_ => ip.s} ; ---- AR
|
UttIP ip = {s = \\_ => ip.s} ; ---- AR
|
||||||
|
|
||||||
|
-- AP = { s : Species => Gender => Number => State => Case => Str } ;
|
||||||
|
UttAP ap = {s = \\g => ap.s ! NoHum ! g ! Sg ! Def ! Nom } ; ---- OK? IL
|
||||||
|
|
||||||
-- UttIAdv iadv = iadv ;
|
-- UttIAdv iadv = iadv ;
|
||||||
UttNP np = {s = \\_ => np.s ! Nom} ;
|
UttNP np = {s = \\_ => np.s ! Nom} ;
|
||||||
-- UttVP vp = {s = infVP False vp (agrP3 Sg)} ;
|
-- UttVP vp = {s = infVP False vp (agrP3 Sg)} ;
|
||||||
|
|||||||
@@ -1035,6 +1035,12 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
s2 : Str
|
s2 : Str
|
||||||
};
|
};
|
||||||
|
|
||||||
|
linVP : VP -> Str = \vp -> --used for the first dummy implementation of ComplVV --IL
|
||||||
|
vp.s ! Per3 Masc Sg ! VPPerf ++ vp.s2 ++
|
||||||
|
case vp.isPred of {
|
||||||
|
True => vp.pred.s ! {g=Masc ; n=Sg} ! Acc ;
|
||||||
|
False => vp.obj.s } ;
|
||||||
|
|
||||||
predV : Verb -> VP = \v ->
|
predV : Verb -> VP = \v ->
|
||||||
{ s = \\pgn,vf =>
|
{ s = \\pgn,vf =>
|
||||||
let gn = pgn2gn pgn in
|
let gn = pgn2gn pgn in
|
||||||
@@ -1061,29 +1067,16 @@ patHollowImp : (_,_ :Str) -> Gender => Number => Str =\xaf,xAf ->
|
|||||||
_ => pgn
|
_ => pgn
|
||||||
};
|
};
|
||||||
|
|
||||||
insertObj : NP -> VP -> VP = \np,vp ->
|
insertObj : NP -> VP -> VP = \np,vp -> vp **
|
||||||
{ s = vp.s;
|
{ obj = {s = np.s ! Acc ; a = np.a} };
|
||||||
obj = {s = np.s ! Acc ; a = np.a};
|
|
||||||
s2 = vp.s2;
|
|
||||||
pred = vp.pred;
|
|
||||||
isPred = vp.isPred
|
|
||||||
};
|
|
||||||
|
|
||||||
insertPred : {s : AAgr => Case => Str} -> VP -> VP = \p,vp ->
|
insertPred : {s : AAgr => Case => Str} -> VP -> VP = \p,vp -> vp **
|
||||||
{ s = vp.s;
|
{ pred = p;
|
||||||
obj = vp.obj;
|
|
||||||
s2 = vp.s2;
|
|
||||||
pred = p;
|
|
||||||
isPred = True
|
isPred = True
|
||||||
};
|
};
|
||||||
|
|
||||||
insertStr : Str -> VP -> VP = \str,vp ->
|
insertStr : Str -> VP -> VP = \str,vp -> vp **
|
||||||
{ s = vp.s;
|
{ s2 = str };
|
||||||
obj = vp.obj;
|
|
||||||
s2 = str;
|
|
||||||
pred = vp.pred;
|
|
||||||
isPred = vp.isPred
|
|
||||||
};
|
|
||||||
|
|
||||||
kaan : {s : AAgr => Case => Str} -> VP = \xabar ->
|
kaan : {s : AAgr => Case => Str} -> VP = \xabar ->
|
||||||
insertPred xabar (predV (v1hollow {f = "ك"; c = "و" ; l = "ن"} u) );
|
insertPred xabar (predV (v1hollow {f = "ك"; c = "و" ; l = "ن"} u) );
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ concrete StructuralAra of Structural = CatAra **
|
|||||||
in8front_Prep = ss "مُقَابِلَ" ;
|
in8front_Prep = ss "مُقَابِلَ" ;
|
||||||
i_Pron = mkPron "أَنَا" "نِي" "ِي" (Per1 Sing);
|
i_Pron = mkPron "أَنَا" "نِي" "ِي" (Per1 Sing);
|
||||||
in_Prep = ss "فِي" ;
|
in_Prep = ss "فِي" ;
|
||||||
-- it_Pron = mkPron "ِت" "ِت" "ِتس" Sg P3 ;
|
it_Pron = mkPron "ِت" "ِت" "ِتس" (Per3 Masc Sg); -- IL: check
|
||||||
-- less_CAdv = ss "لسّ" ;
|
-- less_CAdv = ss "لسّ" ;
|
||||||
many_Det = mkDet "جَمِيع" Pl Const ;
|
many_Det = mkDet "جَمِيع" Pl Const ;
|
||||||
-- more_CAdv = ss "مْري" ;
|
-- more_CAdv = ss "مْري" ;
|
||||||
|
|||||||
@@ -5,18 +5,20 @@ concrete VerbAra of Verb = CatAra ** open Prelude, ResAra in {
|
|||||||
lin
|
lin
|
||||||
UseV = predV ;
|
UseV = predV ;
|
||||||
|
|
||||||
|
SlashVV vv vps = vps ** predV vv ; ---- totally wrong /IL
|
||||||
SlashV2a v = predV v ** {c2 = v.c2};
|
SlashV2a v = predV v ** {c2 = v.c2};
|
||||||
Slash3V3 v np = insertObj np (predV v) ** {c2 = v.c2};
|
Slash3V3 v np = insertObj np (predV v) ** {c2 = v.c2};
|
||||||
|
|
||||||
ComplSlash vp np = insertObj np vp ;
|
ComplSlash vp np = insertObj np vp ;
|
||||||
|
|
||||||
-- ComplV3 v np np2 = insertObj np2 (insertObj np (predV v)) ;
|
-- Complv3 v np np2 = insertObj np2 (insertObj np (predV v)) ;
|
||||||
|
|
||||||
{-{s = \\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc ;
|
{-{s = \\_ => v.c2 ++ np.s ! Acc ++ v.c3 ++ np2.s ! Acc ;
|
||||||
a = {pgn = Per3 Masc Sg ; isPron = False} } --FIXME
|
a = {pgn = Per3 Masc Sg ; isPron = False} } --FIXME
|
||||||
(predV v) ;-}
|
(predV v) ;-}
|
||||||
--
|
|
||||||
-- ComplVV v vp = insertObj (\\a => infVP v.isAux vp a) (predVV v) ;
|
-- First dummy implementation / IL 2018-09-06
|
||||||
|
ComplVV v vp = insertStr (linVP vp) (predV v) ;
|
||||||
--
|
--
|
||||||
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
||||||
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||||
|
|||||||
@@ -6,4 +6,7 @@ concrete AllEng of AllEngAbs =
|
|||||||
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
|
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
|
||||||
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
|
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
|
||||||
ExtendEng
|
ExtendEng
|
||||||
** {} ;
|
**
|
||||||
|
open ExtraEng --- to force compilation since this module is used in many places
|
||||||
|
in
|
||||||
|
{} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user