mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-10 19:52:50 -06:00
change in Romance agreement to produce correct number for polite singular pronouns ; linking functions that involve mkClause now takes a long time and should be revised
This commit is contained in:
@@ -62,7 +62,8 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
_ => VPAgrSubj
|
||||
} ;
|
||||
|
||||
vpAgrClit : Agr -> VPAgr = \a ->
|
||||
vpAgrClit : Agr -> VPAgr = \a0 ->
|
||||
let a = complAgr a0 in
|
||||
VPAgrClit a.g a.n ;
|
||||
|
||||
---- pronArg = pronArgGen Neg ; --- takes more space and time
|
||||
@@ -118,14 +119,14 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
} ;
|
||||
|
||||
mkImperative b p vp = {
|
||||
s = \\pol,aag =>
|
||||
s = \\pol,ag =>
|
||||
let
|
||||
num = if_then_else Number b Pl aag.n ;
|
||||
agr = {g = aag.g ; n = num ; p = p} ;
|
||||
verb = vp.s.s ! vImperForm agr ;
|
||||
agr = verbAgr ag ;
|
||||
num = if_then_else Number b Pl agr.n ;
|
||||
verb = vp.s.s ! vImperForm ag ;
|
||||
neg = vp.neg ! pol ;
|
||||
clpr = <vp.clit1 ++ vp.clit2, False> ; ---- TODO: True if clit
|
||||
compl = vp.comp ! agr ++ vp.ext ! pol
|
||||
compl = vp.comp ! ag ++ vp.ext ! pol
|
||||
in
|
||||
case pol of {
|
||||
Pos => verb ++ if_then_Str clpr.p2 "-" [] ++ clpr.p1 ++ compl ;
|
||||
|
||||
@@ -42,9 +42,8 @@ concrete ExtraFre of ExtraFreAbs = ExtraRomanceFre **
|
||||
Fem Sg P2 ;
|
||||
youPl8fem_Pron,
|
||||
youPol8fem_Pron =
|
||||
mkPronoun
|
||||
"vous" "vous" "vous" "vous" "votre" "votre" "vos"
|
||||
Fem Pl P2 ;
|
||||
let vous = mkPronoun "vous" "vous" "vous" "vous" "votre" "votre" "vos" Masc Pl P2
|
||||
in {s = vous.s ; hasClit = vous.hasClit ; poss = vous.poss ; a = AgPol Fem} ;
|
||||
|
||||
oper
|
||||
prepQue : Case -> Str = \c -> case c of {
|
||||
|
||||
@@ -34,7 +34,7 @@ concrete IdiomFre of Idiom = CatFre **
|
||||
(predV copula) ;
|
||||
|
||||
ImpPl1 vp = {s =
|
||||
(mkImperative False P1 vp).s ! Pos ! {n = Pl ; g = Masc} --- fem
|
||||
(mkImperative False P1 vp).s ! Pos ! Ag Masc Pl P1 --- fem
|
||||
} ;
|
||||
|
||||
ImpP3 np vp = {
|
||||
|
||||
@@ -177,7 +177,7 @@ oper
|
||||
<Sg,Fem> => sa ;
|
||||
_ => ses
|
||||
} ;
|
||||
a = {g = g ; n = n ; p = p} ;
|
||||
a = Ag g n p ;
|
||||
hasClit = True
|
||||
} ;
|
||||
|
||||
|
||||
@@ -166,10 +166,13 @@ lin
|
||||
youSg_Pron = mkPronoun
|
||||
"tu" (elision "t") (elision "t") "toi" "ton" (elisPoss "t") "tes"
|
||||
Masc Sg P2 ;
|
||||
youPl_Pron, youPol_Pron =
|
||||
youPl_Pron =
|
||||
mkPronoun
|
||||
"vous" "vous" "vous" "vous" "votre" "votre" "vos"
|
||||
Masc Pl P2 ;
|
||||
youPol_Pron =
|
||||
let vous = mkPronoun "vous" "vous" "vous" "vous" "votre" "votre" "vos" Masc Pl P2
|
||||
in {s = vous.s ; hasClit = vous.hasClit ; poss = vous.poss ; a = AgPol Masc} ;
|
||||
|
||||
not_Predet = {s = \\a,c => prepCase c ++ "pas" ; c = Nom ; a = PNoAg} ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user