mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
parametrized participle-clitic agreement
This commit is contained in:
@@ -49,10 +49,13 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||
} ;
|
||||
|
||||
partAgr : VType -> VPAgr = \vtyp -> case vtyp of {
|
||||
VHabere => VPAgrNone ;
|
||||
VHabere => vpAgrNone ;
|
||||
_ => VPAgrSubj
|
||||
} ;
|
||||
|
||||
vpAgrClit : Agr -> VPAgr = \a ->
|
||||
VPAgrClit (aagr a.g a.n) ; --- subty
|
||||
|
||||
negation : Polarity => (Str * Str) = table {
|
||||
Pos => <[],[]> ;
|
||||
Neg => <elisNe,"pas">
|
||||
|
||||
@@ -40,16 +40,16 @@ resource CommonRomance = ParamRomance ** open Prelude in {
|
||||
|
||||
appVPAgr : VPAgr -> AAgr -> AAgr = \vp,agr ->
|
||||
case vp of {
|
||||
VPAgrNone => aagr Masc Sg ;
|
||||
VPAgrSubj => agr ;
|
||||
VPAgrClit a => a
|
||||
} ;
|
||||
|
||||
vpAgrNone : VPAgr = VPAgrClit (aagr Masc Sg) ;
|
||||
|
||||
param
|
||||
VPAgr =
|
||||
VPAgrNone -- elle a dormi
|
||||
| VPAgrSubj -- elle est partie, elle s'est vue
|
||||
| VPAgrClit -- elle les a vues
|
||||
VPAgrSubj -- elle est partie, elle s'est vue
|
||||
| VPAgrClit -- elle a dormi; elle les a vues
|
||||
{g : Gender ; n : Number} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,19 +1,44 @@
|
||||
interface DiffRomance = open CommonRomance, Prelude in {
|
||||
|
||||
--2 Constants whose definitions depend on language.
|
||||
--2 Constants whose definitions fundamentally depend on language
|
||||
|
||||
-- Prepositions that fuse with the article vary.
|
||||
-- Prepositions that fuse with the article
|
||||
-- (Fre, Spa "de", "a"; Ita also "in", "con").
|
||||
|
||||
param
|
||||
param Prep ;
|
||||
|
||||
Prep ;
|
||||
VType ;
|
||||
-- Which types of verbs exist, in terms of auxiliaries.
|
||||
-- (Fre, Ita "avoir", "être", and refl; Spa only "haber" and refl).
|
||||
|
||||
oper
|
||||
param VType ;
|
||||
|
||||
-- Derivatively, if/when the participle agrees to the subject.
|
||||
-- (Fre "elle est partie", Ita "lei è partita", Spa not)
|
||||
|
||||
oper partAgr : VType -> VPAgr ;
|
||||
|
||||
-- Whether participle agrees to foregoing clitic.
|
||||
-- (Fre "je l'ai vue", Ita "io la ho visto")
|
||||
|
||||
oper vpAgrClit : Agr -> VPAgr ;
|
||||
|
||||
-- Whether a preposition is repeated in conjunction
|
||||
-- (Fre "la somme de 3 et de 4", Ita "la somma di 3 e 4").
|
||||
|
||||
oper conjunctCase : NPForm -> NPForm ;
|
||||
|
||||
|
||||
--2 Constants that must derivatively depend on language
|
||||
|
||||
dative : Case ;
|
||||
genitive : Case ;
|
||||
|
||||
vRefl : VType ;
|
||||
isVRefl : VType -> Bool ;
|
||||
|
||||
|
||||
--2 Strings
|
||||
|
||||
prepCase : Case -> Str ;
|
||||
|
||||
partitive : Gender -> Case -> Str ;
|
||||
@@ -21,17 +46,10 @@ oper
|
||||
artDef : Gender -> Number -> Case -> Str ;
|
||||
artIndef : Gender -> Number -> Case -> Str ;
|
||||
|
||||
-- This regulates whether a preposition is repeated in conjunction
|
||||
-- (Fre "la somme de 3 et de 4", Ita "la somma di 3 e 4").
|
||||
|
||||
conjunctCase : NPForm -> NPForm ;
|
||||
|
||||
auxVerb : VType -> (VF => Str) ;
|
||||
negation : Polarity => (Str * Str) ;
|
||||
copula : Verb ;
|
||||
|
||||
partAgr : VType -> VPAgr ;
|
||||
|
||||
conjThan : Str ;
|
||||
conjThat : Str ;
|
||||
|
||||
@@ -44,13 +62,10 @@ oper
|
||||
|
||||
reflPron : Number => Person => Case => Str ;
|
||||
|
||||
vRefl : VType ;
|
||||
isVRefl : VType -> Bool ;
|
||||
|
||||
auxPassive : Verb ;
|
||||
|
||||
|
||||
-- These are needed above.
|
||||
--2 Contants needed in type signatures above
|
||||
|
||||
param
|
||||
Case = Nom | Acc | CPrep Prep ;
|
||||
|
||||
@@ -86,7 +86,7 @@ oper
|
||||
cc : Str * Str * VPAgr = case <c.isDir, c.c, np.c> of {
|
||||
<False,_,_> |
|
||||
<_,_,Clit0> => <[], c.s ++ np.s ! Ton c.c, vp.agr> ;
|
||||
<_,Acc,_> => <np.s ! Aton c.c, [], VPAgrClit (aagr np.a.g np.a.n)> ; --- subty
|
||||
<_,Acc,_> => <np.s ! Aton c.c, [], vpAgrClit np.a> ;
|
||||
_ => <np.s ! Aton c.c, [], vp.agr>
|
||||
} ;
|
||||
high = case np.c of { -- whether the new clitic comes closer to verb
|
||||
|
||||
Reference in New Issue
Block a user