forked from GitHub/gf-rgl
(Pes) Add word order argument OV/VO to showVPH + use VO in Extend.ByVP
Co-Authored-By: Nasrin M <Nasrin63@users.noreply.github.com>
This commit is contained in:
@@ -40,7 +40,7 @@ lin
|
|||||||
AdvIsNP adv np = mkClause (indeclNP adv.s ** {a = np.a}) (UseComp (CompNP np)) ;
|
AdvIsNP adv np = mkClause (indeclNP adv.s ** {a = np.a}) (UseComp (CompNP np)) ;
|
||||||
|
|
||||||
-- : VP -> Adv ; -- by publishing the document
|
-- : VP -> Adv ; -- by publishing the document
|
||||||
ByVP vp = lin Adv {s = with_Prep.s ++ showVPH Inf defaultAgr vp} ;
|
ByVP vp = lin Adv {s = with_Prep.s ++ showVPH' VO False VVPres Inf defaultAgr vp } ;
|
||||||
|
|
||||||
-- : VP -> Adv ; -- (in order) to publish the document
|
-- : VP -> Adv ; -- (in order) to publish the document
|
||||||
InOrderToVP vp = lin Adv {s = for_Prep.s ++ showVPH PerfStem defaultAgr vp} ;
|
InOrderToVP vp = lin Adv {s = for_Prep.s ++ showVPH PerfStem defaultAgr vp} ;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ resource ResPes = MorphoPes ** open Prelude,Predef in {
|
|||||||
CardOrd = NCard | NOrd ;
|
CardOrd = NCard | NOrd ;
|
||||||
RAgr = RNoAg | RAg Agr ;
|
RAgr = RNoAg | RAg Agr ;
|
||||||
RelPron = Ance | Ke ; -- https://en.wiktionary.org/wiki/%D8%A2%D9%86%DA%86%D9%87
|
RelPron = Ance | Ke ; -- https://en.wiktionary.org/wiki/%D8%A2%D9%86%DA%86%D9%87
|
||||||
|
WordOrder = OV | VO ; -- for showVPH
|
||||||
|
|
||||||
oper
|
oper
|
||||||
CN : Type = Noun ** {
|
CN : Type = Noun ** {
|
||||||
@@ -102,18 +103,22 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
showVPH = overload {
|
showVPH = overload {
|
||||||
showVPH : VerbForm -> Agr -> VPH -> Str = showVPH' False VVPres ;
|
showVPH : VerbForm -> Agr -> VPH -> Str = showVPH' OV False VVPres ;
|
||||||
showVPH : VVTense -> VerbForm -> Agr -> VPH -> Str = showVPH' False
|
showVPH : VVTense -> VerbForm -> Agr -> VPH -> Str = showVPH' OV False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
showVPH' : Bool -> VVTense -> VerbForm -> Agr -> VPH -> Str =
|
showVPH' : WordOrder -> Bool -> VVTense -> VerbForm -> Agr -> VPH -> Str =
|
||||||
\showImpPref,ant,vf,agr,vp ->
|
\wo,showImpPref,ant,vf,agr,vp ->
|
||||||
let impPref = case showImpPref of {
|
let impPref = case showImpPref of {
|
||||||
True => vp.s ! ImpPrefix Pos ;
|
True => vp.s ! ImpPrefix Pos ;
|
||||||
False => [] }
|
False => [] }
|
||||||
in vp.ad ++ vp.comp ! agr ++ vp.obj
|
in case wo of {
|
||||||
++ vp.prefix ++ impPref ++ vp.s ! vf
|
OV => vp.ad ++ vp.comp ! agr ++ vp.obj
|
||||||
++ vp.vComp ! agr ! ant ++ vp.embComp ;
|
++ vp.prefix ++ impPref ++ vp.s ! vf
|
||||||
|
++ vp.vComp ! agr ! ant ++ vp.embComp ;
|
||||||
|
VO => vp.prefix ++ vp.s ! vf ++ vp.ad
|
||||||
|
++ vp.comp ! agr ++ vp.obj ++ impPref
|
||||||
|
++ vp.vComp ! agr ! ant ++ vp.embComp } ;
|
||||||
|
|
||||||
Compl : Type = {s : Str ; ra : Str ; mod : Mod} ;
|
Compl : Type = {s : Str ; ra : Str ; mod : Mod} ;
|
||||||
|
|
||||||
@@ -189,7 +194,7 @@ oper
|
|||||||
\\agr,ant => if_then_Str vv.isAux conjThat [] ++
|
\\agr,ant => if_then_Str vv.isAux conjThat [] ++
|
||||||
case <ant,vv.isDef,vv.compl> of {
|
case <ant,vv.isDef,vv.compl> of {
|
||||||
-- Auxiliaries with defective inflection: complement inflects in tense
|
-- Auxiliaries with defective inflection: complement inflects in tense
|
||||||
<VVPast Indic,True,> => showVPH' True VVPres (VPast Pos agr) agr vp ;
|
<VVPast Indic,True,> => showVPH' OV True VVPres (VPast Pos agr) agr vp ;
|
||||||
<VVPast Indic,_,_> => showVPH (VPast Pos agr) agr vp ;
|
<VVPast Indic,_,_> => showVPH (VPast Pos agr) agr vp ;
|
||||||
<VVPast Subj> => showVPH PerfStem agr vp ++ subjAux Pos agr ;
|
<VVPast Subj> => showVPH PerfStem agr vp ++ subjAux Pos agr ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user