forked from GitHub/gf-rgl
fix problem with rcl
This commit is contained in:
@@ -29,7 +29,7 @@ concrete CatLat of Cat = CommonX-[Adv] ** open ResLat, ParamX, Prelude in {
|
|||||||
--
|
--
|
||||||
---- Relative
|
---- Relative
|
||||||
--
|
--
|
||||||
RCl = Gender => Number => Clause ;
|
RCl = { s : Gender => Number => Clause };
|
||||||
-- s : ResLat.Tense => Anteriority => CPolarity => Agr => Str ;
|
-- s : ResLat.Tense => Anteriority => CPolarity => Agr => Str ;
|
||||||
-- c : Case
|
-- c : Case
|
||||||
-- } ;
|
-- } ;
|
||||||
|
|||||||
@@ -58,24 +58,24 @@ concrete ExtraLat of ExtraLatAbs =
|
|||||||
UttS_VInS s = { s = combineSentence s ! SAPreS ! APreV ! DPostN ! VInS ! CPostV ! SVO } ;
|
UttS_VInS s = { s = combineSentence s ! SAPreS ! APreV ! DPostN ! VInS ! CPostV ! SVO } ;
|
||||||
|
|
||||||
TestRCl t p cl = {
|
TestRCl t p cl = {
|
||||||
s = \\g,n => combineSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ;
|
s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- UseRCl_OSV : Temp -> Pol -> RCl -> RS ;
|
-- UseRCl_OSV : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl_OSV t p cl = {
|
UseRCl_OSV t p cl = {
|
||||||
s = \\g,n => combineSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OSV ;
|
s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OSV ;
|
||||||
} ;
|
} ;
|
||||||
-- UseRCl_OVS : Temp -> Pol -> RCl -> RS ;
|
-- UseRCl_OVS : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl_OVS t p cl = {
|
UseRCl_OVS t p cl = {
|
||||||
s = \\g,n => combineSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OVS ; -- SAPreO APreV DPreN VReg CPostV OVS
|
s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreO ! APreV ! DPreN ! VReg ! CPostV ! OVS ; -- SAPreO APreV DPreN VReg CPostV OVS
|
||||||
} ;
|
} ;
|
||||||
-- UseRCl_SOV : Temp -> Pol -> RCl -> RS ;
|
-- UseRCl_SOV : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl_SOV t p cl = {
|
UseRCl_SOV t p cl = {
|
||||||
s = \\g,n => combineSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SOV ;
|
s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SOV ;
|
||||||
} ;
|
} ;
|
||||||
-- UseRCl_SVO : Temp -> Pol -> RCl -> RS ;
|
-- UseRCl_SVO : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl_SVO t p cl = {
|
UseRCl_SVO t p cl = {
|
||||||
s = \\g,n => combineSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SVO ;
|
s = \\g,n => combineSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SAPreS ! APreV ! DPreN ! VReg ! CPostV ! SVO ;
|
||||||
} ;
|
} ;
|
||||||
-- PrepNP_DPostN : Prep -> NP -> Adv ; -- in the house
|
-- PrepNP_DPostN : Prep -> NP -> Adv ; -- in the house
|
||||||
PrepNP_DPostN prep np =
|
PrepNP_DPostN prep np =
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ concrete RelativeLat of Relative = CatLat ** open ResLat in {
|
|||||||
-- c = Nom
|
-- c = Nom
|
||||||
-- } ;
|
-- } ;
|
||||||
--
|
--
|
||||||
RelVP rp vp = \\g,n => mkClause (emptyNP ** { s = \\_,c => rp.s ! (Ag g n c) ; g = g ; n = n } ) vp ;
|
RelVP rp vp = { s = \\g,n => mkClause (emptyNP ** { s = \\_,c => rp.s ! (Ag g n c) ; g = g ; n = n } ) vp };
|
||||||
-- s = \\t,ant,b,ag =>
|
-- s = \\t,ant,b,ag =>
|
||||||
-- let
|
-- let
|
||||||
-- agr = case rp.a of {
|
-- agr = case rp.a of {
|
||||||
@@ -27,7 +27,7 @@ concrete RelativeLat of Relative = CatLat ** open ResLat in {
|
|||||||
---- "we are looking at").
|
---- "we are looking at").
|
||||||
--
|
--
|
||||||
-- RelSlash : RP -> ClSlash -> RCl ;
|
-- RelSlash : RP -> ClSlash -> RCl ;
|
||||||
RelSlash rp slash = \\g,n => slash ** { adv = rp.s ! Ag g n Gen } ; -- abuse adverbs again
|
RelSlash rp slash = { s = \\g,n => slash ** { adv = rp.s ! Ag g n Gen } } ; -- abuse adverbs again
|
||||||
-- s = \\t,a,p,agr =>
|
-- s = \\t,a,p,agr =>
|
||||||
-- slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! ODir ;
|
-- slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! ODir ;
|
||||||
-- c = Acc
|
-- c = Acc
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ concrete SentenceLat of Sentence = CatLat ** open Prelude, ResLat in {
|
|||||||
} ;
|
} ;
|
||||||
-- UseRCl : Temp -> Pol -> RCl -> RS ;
|
-- UseRCl : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl t p cl = {
|
UseRCl t p cl = {
|
||||||
s = \\g,n => defaultSentence (combineClause (cl ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SOV ;
|
s = \\g,n => defaultSentence (combineClause (cl.s ! g ! n) (lin Tense t) t.a (lin Pol p) VQFalse) ! SOV ;
|
||||||
-- s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ;
|
-- s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ;
|
||||||
-- c = cl.c
|
-- c = cl.c
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user