Romance clitics almost OK ; bug fix in tb -c

This commit is contained in:
aarne
2006-02-14 20:42:36 +00:00
parent a8d99d9571
commit 87ff64e0fc
19 changed files with 165 additions and 250 deletions

View File

@@ -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",[]>

View File

@@ -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

View File

@@ -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 = <>} ;

View File

@@ -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 ;
}