mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-12 20:52:50 -06:00
Romance clitics almost OK ; bug fix in tb -c
This commit is contained in:
@@ -4,6 +4,7 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud
|
||||
|
||||
param
|
||||
Prep = P_di | P_a | P_da | P_in | P_su | P_con ;
|
||||
NPForm = Ton Case | Aton Case | PreClit | Poss {g : Gender ; n : Number} ; --- AAgr
|
||||
VType = VHabere | VEsse | VRefl ;
|
||||
|
||||
oper
|
||||
@@ -76,6 +77,15 @@ instance DiffIta of DiffRomance = open CommonRomance, PhonoIta, BeschIta, Prelud
|
||||
vpAgrClit : Agr -> VPAgr = \a ->
|
||||
vpAgrNone ;
|
||||
|
||||
--- This assumes that Acc clitics are in place before Dat.
|
||||
|
||||
placeNewClitic = \ci,c,pro,isc,old ->
|
||||
case <ci.p1,c,isc> of {
|
||||
<Acc,CPrep P_a, True> => pro.s ! PreClit ++ old ; -- there is an old clitic
|
||||
{p3 = True} => pro.s ! Aton c ; -- no old but a new
|
||||
_ => [] -- no clitics
|
||||
} ;
|
||||
|
||||
negation : Polarity => (Str * Str) = table {
|
||||
Pos => <[],[]> ;
|
||||
Neg => <"non",[]>
|
||||
|
||||
@@ -132,9 +132,9 @@ oper
|
||||
-- The use of "ne" as atonic genitive is debatable.
|
||||
-- We follow the rule that the atonic nominative is empty.
|
||||
|
||||
mkPronoun : (_,_,_,_,_,_,_,_ : Str) ->
|
||||
Gender -> Number -> Person -> ClitType -> Pronoun =
|
||||
\il,le,lui,Lui,son,sa,ses,see,g,n,p,c ->
|
||||
mkPronoun : (_,_,_,_,_,_,_,_,_ : Str) ->
|
||||
Gender -> Number -> Person -> Pronoun =
|
||||
\il,le,lui,glie,Lui,son,sa,ses,see,g,n,p ->
|
||||
{s = table {
|
||||
Ton Nom => il ;
|
||||
Ton x => prepCase x ++ Lui ;
|
||||
@@ -142,14 +142,15 @@ oper
|
||||
Aton Acc => le ;
|
||||
Aton (CPrep P_di) => "ne" ; --- hmm
|
||||
Aton (CPrep P_a) => lui ;
|
||||
Aton q => prepCase q ++ Lui ; ---- GF bug with c or p!
|
||||
Aton q => prepCase q ++ Lui ; ---- GF bug with c or p!
|
||||
PreClit => glie ;
|
||||
Poss {n = Sg ; g = Masc} => son ;
|
||||
Poss {n = Sg ; g = Fem} => sa ;
|
||||
Poss {n = Pl ; g = Masc} => ses ;
|
||||
Poss {n = Pl ; g = Fem} => see
|
||||
} ;
|
||||
a = {g = g ; n = n ; p = p} ;
|
||||
c = c
|
||||
hasClit = True
|
||||
} ;
|
||||
|
||||
--2 Determiners
|
||||
|
||||
@@ -299,7 +299,7 @@ oper
|
||||
mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
|
||||
|
||||
mkPN x g = {s = x ; g = g} ** {lock_PN = <>} ;
|
||||
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; c = Clit0} ** {lock_NP = <>} ;
|
||||
mkNP x g n = {s = (pn2np (mkPN x g)).s; a = agrP3 g n ; hasClit = False} ** {lock_NP = <>} ;
|
||||
|
||||
mkA a b c d e =
|
||||
compADeg {s = \\_ => (mkAdj a b c d e).s ; isPre = False ; lock_A = <>} ;
|
||||
|
||||
@@ -35,8 +35,8 @@ lin
|
||||
from_Prep = complGen ; ---
|
||||
he_Pron =
|
||||
mkPronoun
|
||||
"lui" "lo" "gli" "lui" "suo" "sua" "suoi" "sue"
|
||||
Masc Sg P3 Clit2 ;
|
||||
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
|
||||
Masc Sg P3 ;
|
||||
here7from_Adv = ss ["da quì"] ;
|
||||
here7to_Adv = ss "quì" ;
|
||||
here_Adv = ss "quì" ;
|
||||
@@ -46,13 +46,13 @@ lin
|
||||
in8front_Prep = mkPreposition "davanti" ;
|
||||
i_Pron =
|
||||
mkPronoun
|
||||
"io" "mi" "mi" "me" "mio" "mia" "miei" "mie"
|
||||
Fem Sg P1 Clit1 ;
|
||||
"io" "mi" "mi" "me" "me" "mio" "mia" "miei" "mie"
|
||||
Fem Sg P1 ;
|
||||
in_Prep = {s = [] ; c = CPrep P_in} ;
|
||||
it_Pron =
|
||||
mkPronoun
|
||||
"lui" "lo" "gli" "lui" "suo" "sua" "suoi" "sue"
|
||||
Masc Sg P3 Clit2 ;
|
||||
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
|
||||
Masc Sg P3 ;
|
||||
less_CAdv = ss "meno" ;
|
||||
many_Det = {s = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ; n = Pl} ;
|
||||
more_CAdv = ss "più" ;
|
||||
@@ -71,8 +71,8 @@ lin
|
||||
quite_Adv = ss "assai" ;
|
||||
she_Pron =
|
||||
mkPronoun
|
||||
"lei" "la" "le" "lei" "suo" "sua" "suoi" "sue"
|
||||
Fem Sg P3 Clit2 ;
|
||||
"lei" "la" "le" "glie" "lei" "suo" "sua" "suoi" "sue"
|
||||
Fem Sg P3 ;
|
||||
so_AdA = ss "così" ;
|
||||
somebody_NP = pn2np (mkPN ["qualcuno"] Masc) ;
|
||||
somePl_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Pl} ;
|
||||
@@ -92,8 +92,8 @@ lin
|
||||
therefore_PConj = ss "quindi" ;
|
||||
these_NP = mkNP ["queste"] Fem Pl ;
|
||||
they_Pron = mkPronoun
|
||||
"loro" "loro" "li" "loro" "loro" "loro" "loro" "loro"
|
||||
Fem Pl P3 Clit1 ;
|
||||
"loro" "loro" "li" "glie" "loro" "loro" "loro" "loro" "loro"
|
||||
Fem Pl P3 ;
|
||||
this_Quant = {
|
||||
s = table {
|
||||
Sg => \\g,c => prepCase c ++ genForms "questo" "questa" ! g ;
|
||||
@@ -109,8 +109,8 @@ lin
|
||||
very_AdA = ss "molto" ;
|
||||
want_VV = mkVV (verboV (volere_96 "volere")) ;
|
||||
we_Pron =
|
||||
mkPronoun "noi" "ci" "ci" "noi" "nostro" "nostra" "nostri" "nostre"
|
||||
Fem Pl P1 Clit3 ;
|
||||
mkPronoun "noi" "ci" "ci" "ce" "noi" "nostro" "nostra" "nostri" "nostre"
|
||||
Fem Pl P1 ;
|
||||
whatSg_IP = {s = \\c => prepCase c ++ ["che cosa"] ; a = aagr Fem Sg} ;
|
||||
whatPl_IP = {s = \\c => prepCase c ++ ["che cose"] ; a = aagr Fem Pl} ; ---
|
||||
when_IAdv = ss "quando" ;
|
||||
@@ -125,16 +125,16 @@ lin
|
||||
with_Prep = {s = [] ; c = CPrep P_con} ;
|
||||
yes_Phr = ss "sì" ;
|
||||
youSg_Pron = mkPronoun
|
||||
"tu" "ti" "ti" "te" "tuo" "tua" "tuoi" "tue"
|
||||
Fem Sg P2 Clit1 ;
|
||||
"tu" "ti" "ti" "te" "te" "tuo" "tua" "tuoi" "tue"
|
||||
Fem Sg P2 ;
|
||||
youPl_Pron =
|
||||
mkPronoun
|
||||
"voi" "vi" "vi" "voi" "vostro" "vostra" "vostri" "vostre"
|
||||
Fem Pl P2 Clit3 ;
|
||||
"voi" "vi" "vi" "ve" "voi" "vostro" "vostra" "vostri" "vostre"
|
||||
Fem Pl P2 ;
|
||||
youPol_Pron =
|
||||
mkPronoun
|
||||
"Lei" "La" "Le" "Lei" "Suo" "Sua" "Suoi" "Sue"
|
||||
Fem Sg P3 Clit2 ;
|
||||
"Lei" "La" "Le" "Glie" "Lei" "Suo" "Sua" "Suoi" "Sue"
|
||||
Fem Sg P3 ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user