mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-21 09:02:50 -06:00
middle polarity for French in Romance (for "personne ne dort")
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
--# -path=.:../romance:../common:../abstract:../common:prelude
|
||||
|
||||
concrete CatFre of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond]
|
||||
concrete CatFre of Cat = CommonX - [SC,Temp,TTAnt,Tense,TPres,TPast,TFut,TCond,Pol]
|
||||
** CatRomance with
|
||||
(ResRomance = ResFre) ;
|
||||
|
||||
@@ -90,11 +90,11 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
-- Positive polarity is used in the imperative: stressed for 1st and
|
||||
-- 2nd persons.
|
||||
|
||||
pronArgGen : Polarity -> Number -> Person -> CAgr -> CAgr -> Str * Str =
|
||||
pronArgGen : RPolarity -> Number -> Person -> CAgr -> CAgr -> Str * Str =
|
||||
\b,n,p,acc,dat ->
|
||||
let
|
||||
cas : Person -> Case -> Case = \pr,c -> case <pr,b> of {
|
||||
<P1 | P2, Pos> => CPrep P_de ; --- encoding in argPron
|
||||
<P1 | P2, RPos> => CPrep P_de ; --- encoding in argPron
|
||||
_ => c
|
||||
} ;
|
||||
pacc = case acc of {
|
||||
@@ -126,15 +126,16 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
compl = vp.comp ! agr ++ vp.ext ! pol
|
||||
in
|
||||
case pol of {
|
||||
Pos => verb ++ if_then_Str clpr.p2 "-" [] ++ clpr.p1 ++ compl ;
|
||||
Neg => neg.p1 ++ clpr.p1 ++ verb ++ neg.p2 ++ compl
|
||||
RPos => verb ++ if_then_Str clpr.p2 "-" [] ++ clpr.p1 ++ compl ;
|
||||
RNeg _ => neg.p1 ++ clpr.p1 ++ verb ++ neg.p2 ++ compl
|
||||
} ;
|
||||
---- TODO: vois-le vs. vois-moi vs. ne me vois pas
|
||||
|
||||
|
||||
negation : Polarity => (Str * Str) = table {
|
||||
Pos => <[],[]> ;
|
||||
Neg => <elisNe,"pas">
|
||||
negation : RPolarity => (Str * Str) = table {
|
||||
RPos => <[],[]> ;
|
||||
RNeg True => <elisNe,[]> ;
|
||||
RNeg False => <elisNe,"pas">
|
||||
} ;
|
||||
|
||||
conjThan = elisQue ;
|
||||
|
||||
@@ -67,4 +67,6 @@ concrete ExtraFre of ExtraFreAbs = ExtraRomanceFre **
|
||||
s2 = []
|
||||
} ;
|
||||
|
||||
PNegNe = {s = [] ; p = RNeg True} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -35,4 +35,8 @@ abstract ExtraFreAbs = ExtraRomanceAbs - [ProDrop] ** {
|
||||
|
||||
tout_Det : Det ;
|
||||
|
||||
-- Polarity "ne" without "pas"
|
||||
|
||||
PNegNe : Pol ;
|
||||
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@ concrete GrammarFre of Grammar =
|
||||
RelativeFre,
|
||||
ConjunctionFre,
|
||||
PhraseFre,
|
||||
TextX - [SC,Temp,Tense],
|
||||
TextX - [SC,Temp,Tense,Pol,PPos,PNeg],
|
||||
IdiomFre,
|
||||
StructuralFre,
|
||||
TenseFre
|
||||
** {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||
flags startcat = Phr ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -34,12 +34,12 @@ concrete IdiomFre of Idiom = CatFre **
|
||||
(predV copula) ;
|
||||
|
||||
ImpPl1 vp = {
|
||||
s = mkImperative False P1 vp ! Pos ! Masc ! Pl --- fem
|
||||
s = mkImperative False P1 vp ! RPos ! Masc ! Pl --- fem
|
||||
} ;
|
||||
|
||||
ImpP3 np vp = {
|
||||
s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s
|
||||
! DInv ! RPres ! Simul ! Pos ! Conjunct
|
||||
! DInv ! RPres ! Simul ! RPos ! Conjunct
|
||||
} ;
|
||||
|
||||
oper
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
concrete TenseFre of Tense = CatFre, TenseX [Ant,Pol,AAnter,ASimul,PNeg,PPos] **
|
||||
concrete TenseFre of Tense = CatFre, TenseX [Ant,AAnter,ASimul] **
|
||||
TenseRomance with
|
||||
(ResRomance = ResFre) ;
|
||||
|
||||
Reference in New Issue
Block a user