1
0
forked from GitHub/gf-rgl

romance ImpPlP1 corrected

This commit is contained in:
aarne
2006-06-21 07:51:44 +00:00
parent e326e16db8
commit 0e312b48e0
8 changed files with 24 additions and 19 deletions

View File

@@ -113,11 +113,14 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
_ => <pdat ++ pacc, []> _ => <pdat ++ pacc, []>
} ; } ;
mkImperative vp = { mkImperative p vp = {
s = \\pol,aag => s = \\pol,aag =>
let let
agr = aag ** {p = P2} ; agr = aag ** {p = p} ;
verb = (vp.s ! VPImperat).fin ! agr ; verb = case p of {
P1 => (vp.s ! VPFinite (VPres Indic) Simul).fin ! agr ;
_ => (vp.s ! VPImperat).fin ! agr --- P2 only
} ;
neg = vp.neg ! pol ; neg = vp.neg ! pol ;
clpr = pronArgGen pol agr.n agr.p vp.clAcc vp.clDat ; clpr = pronArgGen pol agr.n agr.p vp.clAcc vp.clDat ;
compl = neg.p2 ++ clpr.p2 ++ vp.comp ! agr ++ vp.ext ! pol compl = neg.p2 ++ clpr.p2 ++ vp.comp ! agr ++ vp.ext ! pol

View File

@@ -32,7 +32,7 @@ concrete IdiomFre of Idiom = CatFre **
(predV copula) ; (predV copula) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic (mkImperative P1 vp).s ! Pos ! {n = Pl ; g = Masc} --- fem
} ; } ;
oper oper

View File

@@ -101,12 +101,13 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud
in in
<pdat ++ pacc, []> ; <pdat ++ pacc, []> ;
mkImperative vp = { mkImperative p vp = {
s = \\pol,aag => s = \\pol,aag =>
let let
agr = aag ** {p = P2} ; agr = aag ** {p = p} ;
verb = case <aag.n, pol> of { verb = case <aag.n, pol,p> of {
<Sg,Neg> => (vp.s ! VPInfinit Simul).inf ! aag ; <_,_, P1> => (vp.s ! VPFinite (VPres Indic) Simul).fin ! agr ;
<Sg,Neg,P2> => (vp.s ! VPInfinit Simul).inf ! aag ;
_ => (vp.s ! VPImperat).fin ! agr _ => (vp.s ! VPImperat).fin ! agr
} ; } ;
neg = vp.neg ! pol ; neg = vp.neg ! pol ;

View File

@@ -41,7 +41,7 @@ concrete IdiomIta of Idiom = CatIta **
(predV (essereV (verboV (stare_16 "stare")))) ; (predV (essereV (verboV (stare_16 "stare")))) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic (mkImperative P1 vp).s ! Pos ! {n = Pl ; g = Masc} --- fem
} ; } ;
} }

View File

@@ -47,7 +47,7 @@ interface DiffRomance = open CommonRomance, Prelude in {
-- To render imperatives (with their clitics etc). -- To render imperatives (with their clitics etc).
oper mkImperative : CommonRomance.VP -> {s : Polarity => AAgr => Str} ; oper mkImperative : Person -> CommonRomance.VP -> {s : Polarity => AAgr => Str} ;
--2 Constants that must derivatively depend on language --2 Constants that must derivatively depend on language

View File

@@ -8,7 +8,7 @@ incomplete concrete SentenceRomance of Sentence =
PredSCVP sc vp = mkClause sc.s (agrP3 Masc Sg) vp ; PredSCVP sc vp = mkClause sc.s (agrP3 Masc Sg) vp ;
ImpVP = mkImperative ; ImpVP = mkImperative P2 ;
SlashV2 np v2 = SlashV2 np v2 =
{s = \\ag =>case <v2.c2.c,v2.c2.isDir> of { {s = \\ag =>case <v2.c2.c,v2.c2.isDir> of {

View File

@@ -74,12 +74,13 @@ instance DiffSpa of DiffRomance = open CommonRomance, PhonoSpa, BeschSpa, Prelud
-- <Sg,P2,CRefl,CPron {n = Sg ; p = P1}> => <"te" ++ "me", []> ; -- <Sg,P2,CRefl,CPron {n = Sg ; p = P1}> => <"te" ++ "me", []> ;
-- <_,_,CPron {n = Sg ; p = P2},CPron {n = Sg ; p = P1}> => <"te" ++ "me", []> ; -- <_,_,CPron {n = Sg ; p = P2},CPron {n = Sg ; p = P1}> => <"te" ++ "me", []> ;
mkImperative vp = { mkImperative p vp = {
s = \\pol,aag => s = \\pol,aag =>
let let
agr = aag ** {p = P2} ; agr = aag ** {p = p} ;
verb = case <aag.n, pol> of { verb = case <aag.n, pol,p> of {
<Sg,Neg> => (vp.s ! VPFinite (VPres Conjunct) Simul).fin ! agr ; <_,_, P1> => (vp.s ! VPFinite (VPres Conjunct) Simul).fin ! agr ;
<Sg,Neg,P2> => (vp.s ! VPFinite (VPres Conjunct) Simul).fin ! agr ;
_ => (vp.s ! VPImperat).fin ! agr _ => (vp.s ! VPImperat).fin ! agr
} ; } ;
neg = vp.neg ! pol ; neg = vp.neg ! pol ;

View File

@@ -37,7 +37,7 @@ concrete IdiomSpa of Idiom = CatSpa **
(predV (verboV (estar_2 "estar"))) ; (predV (verboV (estar_2 "estar"))) ;
ImpPl1 vp = {s = ImpPl1 vp = {s =
(mkClause [] {g = Fem ; n = Pl ; p = P1} vp).s ! RPres ! Simul ! Pos ! Indic (mkImperative P1 vp).s ! Pos ! {n = Pl ; g = Masc} --- fem
} ; } ;
} }