mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
VPS and conjunction in Romance, by means of repeated unstressed pronouns (in Fre) or prodrop (other languages)
This commit is contained in:
@@ -178,4 +178,6 @@ oper
|
||||
|
||||
verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere} ;
|
||||
|
||||
subjPron = \_ -> [] ;
|
||||
|
||||
}
|
||||
|
||||
@@ -225,4 +225,15 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
datClit = "y" ;
|
||||
genClit = "en" ;
|
||||
|
||||
subjPron = \a -> case a of {
|
||||
{n = Sg ; p = P1} => "je" ;
|
||||
{n = Sg ; p = P2} => "tu" ;
|
||||
{n = Pl ; p = P1} => "nous" ;
|
||||
{n = Pl ; p = P2} => "vous" ;
|
||||
{n = Sg ; p = P3 ; g = Masc} => "il" ;
|
||||
{n = Sg ; p = P3 ; g = Fem} => "elle" ;
|
||||
{n = Pl ; p = P3 ; g = Masc} => "ils" ;
|
||||
{n = Pl ; p = P3 ; g = Fem} => "elles"
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -203,5 +203,6 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud
|
||||
datClit = "ci" ;
|
||||
genClit = "ne" ;
|
||||
|
||||
subjPron = \_ -> [] ;
|
||||
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ concrete GrammarIta of Grammar =
|
||||
RelativeIta,
|
||||
ConjunctionIta,
|
||||
PhraseIta,
|
||||
TextX - [SC,Temp,Tense,Pol,PPos,PNeg],
|
||||
TextX - [SC,Temp,Tense,Pol,PPos,PNeg,TPres,TPast,TFut,TCond],
|
||||
IdiomIta,
|
||||
StructuralIta,
|
||||
TenseIta
|
||||
|
||||
@@ -116,6 +116,10 @@ oper
|
||||
ext : RPolarity => Str ; -- que je dors / que je dorme
|
||||
} ;
|
||||
|
||||
-- The pronoun to be repeated in $VPS$ coordination, and also in Fre inverted questions.
|
||||
-- Empty in other languages than Fre (as a kind of prodrop).
|
||||
|
||||
subjPron : Agr -> Str ;
|
||||
|
||||
--2 Workarounds, to be eliminated
|
||||
|
||||
|
||||
@@ -37,4 +37,33 @@ incomplete concrete ExtraRomance of ExtraRomanceAbs = CatRomance **
|
||||
|
||||
PrepCN prep cn = {s = prep.s ++ prepCase prep.c ++ cn.s ! Sg} ;
|
||||
|
||||
lincat
|
||||
VPS = {s : Mood => Agr => Bool => Str} ;
|
||||
[VPS] = {s1,s2 : Mood => Agr => Bool => Str} ;
|
||||
|
||||
lin
|
||||
BaseVPS x y = {
|
||||
s1 = \\m,a,b => x.s ! m ! a ! b ;
|
||||
s2 = \\m,a,b => subjPron a ++ y.s ! m ! a ! b
|
||||
} ;
|
||||
|
||||
ConsVPS x y = {
|
||||
s1 = \\m,a,b => x.s ! m ! a ! b ;
|
||||
s2 = \\m,a,b => subjPron a ++ y.s1 ! m ! a ! b ++ y.s2 ! m ! a ! b
|
||||
} ;
|
||||
|
||||
PredVPS np vpi = {
|
||||
s = \\m => (np.s ! Nom).comp ++ vpi.s ! m ! np.a ! np.isNeg
|
||||
} ;
|
||||
|
||||
MkVPS tm p vp = {
|
||||
s = \\m,agr,isNeg =>
|
||||
tm.s ++ p.s ++
|
||||
(mkClausePol (orB isNeg vp.isNeg) [] False False agr vp).s
|
||||
! DDir ! tm.t ! tm.a ! p.p ! m
|
||||
} ;
|
||||
|
||||
ConjVPS = conjunctDistrTable3 Mood Agr Bool ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
abstract ExtraRomanceAbs = Cat, Extra[
|
||||
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,
|
||||
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,
|
||||
Temp,Pol,S,NP,
|
||||
VV,VP,Conj,Pron,ProDrop,CompIQuant,IQuant,IComp,PrepCN,CN,Prep,Adv] ** {
|
||||
|
||||
fun
|
||||
|
||||
@@ -180,4 +180,5 @@ instance DiffSpa of DiffRomance = open CommonRomance, PhonoSpa, BeschSpa, Prelud
|
||||
|
||||
verbBeschH : Verbum -> Verb = \v -> verbBesch v ** {vtyp = VHabere} ;
|
||||
|
||||
subjPron = \_ -> [] ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user