fixed a bug causing too much gluing of Ita,Spa nominal forms with their complements; should only apply to clitic pronouns. And an even worse bug in Fre, due to the use of course-of-value tables in DiffFre (instead of full explicit tables). After the present participle was added to Romance verbs, these tables lacked one form, but this was not reported by the type checker. The result was garbled linearizations and, in some cases, run-time errors in the PGF interpreter. Something to fix in the concrete syntax type checker of course.

This commit is contained in:
aarne
2014-09-27 11:17:52 +00:00
parent a4bd9998fc
commit 790e1f9ef2
5 changed files with 20 additions and 24 deletions

View File

@@ -245,7 +245,7 @@ instance DiffFre of DiffRomance - [
"fus";"fus";"fut";"fûmes";"fûtes";"furent";--# notpresent "fus";"fus";"fut";"fûmes";"fûtes";"furent";--# notpresent
"serai";"seras";"sera";"serons";"serez";"seront";--# notpresent "serai";"seras";"sera";"serons";"serez";"seront";--# notpresent
"serais";"serais";"serait";"serions";"seriez";"seraient";--# notpresent "serais";"serais";"serait";"serions";"seriez";"seraient";--# notpresent
"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VTyp VHabere False ; p = []} ; "sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant";"étant"]; vtyp=VTyp VHabere False ; p = []} ;
avoir_V : Verb = {s=table VF ["avoir";"avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait" avoir_V : Verb = {s=table VF ["avoir";"avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait"
;"ayons";"ayez";"aient"; ;"ayons";"ayez";"aient";
@@ -254,7 +254,7 @@ instance DiffFre of DiffRomance - [
"eus";"eus";"eut";"eûmes";"eûtes";"eurent";--# notpresent "eus";"eus";"eut";"eûmes";"eûtes";"eurent";--# notpresent
"aurai";"auras";"aura";"aurons";"aurez";"auront";--# notpresent "aurai";"auras";"aura";"aurons";"aurez";"auront";--# notpresent
"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";--# notpresent "aurais";"aurais";"aurait";"aurions";"auriez";"auraient";--# notpresent
"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VTyp VHabere True ; p = []} ; ---- a-t-il eut-il "aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant";"ayant"];vtyp=VTyp VHabere True ; p = []} ; ---- a-t-il eut-il
datClit = "y" ; datClit = "y" ;
genClit = "en" ; genClit = "en" ;

View File

@@ -276,18 +276,14 @@ oper
--- have a "-" with possibly a special verb form with "t": --- have a "-" with possibly a special verb form with "t":
--- "comment fera-t-il" vs. "comment fera Pierre" --- "comment fera-t-il" vs. "comment fera Pierre"
infVP : VP -> Agr -> Str = \vp -> infVP : VP -> Agr -> Str = nominalVP VInfin ;
gerVP : VP -> Agr -> Str = nominalVP (\_ -> VGer) ;
nominalVP : (Bool -> VF) -> VP -> Agr -> Str = \vf,vp,agr ->
let let
iform = orB vp.clit3.hasClit (isVRefl vp.s.vtyp) ; iform = orB vp.clit3.hasClit (isVRefl vp.s.vtyp) ;
vf = VInfin iform ; inf = vp.s.s ! vf iform ;
in
nominalVP vf iform vp ;
gerVP : VP -> Agr -> Str = nominalVP VGer True ;
nominalVP : VF -> Bool -> VP -> Agr -> Str = \vf,iform,vp,agr ->
let
inf = vp.s.s ! vf ;
neg = vp.neg ! RPos ; --- Neg not in API neg = vp.neg ! RPos ; --- Neg not in API
obj = vp.s.p ++ vp.comp ! agr ++ vp.ext ! RPos ; ---- pol obj = vp.s.p ++ vp.comp ! agr ++ vp.ext ! RPos ; ---- pol
refl = case isVRefl vp.s.vtyp of { refl = case isVRefl vp.s.vtyp of {

View File

@@ -77,16 +77,16 @@ lin
PresPartAP vp = { PresPartAP vp = {
s = table { s = table {
AF g n => nominalVP VPresPart True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPresPart) vp (agrP3 g n) ;
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPresPart) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;
PastPartAP vp = { PastPartAP vp = {
s = table { s = table {
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPart g n) vp (agrP3 g n) ;
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPart Masc Sg) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;

View File

@@ -76,16 +76,16 @@ lin
PresPartAP vp = { PresPartAP vp = {
s = table { s = table {
AF g n => nominalVP VPresPart True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPresPart) vp (agrP3 g n) ;
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPresPart) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;
PastPartAP vp = { PastPartAP vp = {
s = table { s = table {
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPart g n) vp (agrP3 g n) ;
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPart Masc Sg) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;

View File

@@ -77,16 +77,16 @@ lin
PresPartAP vp = { PresPartAP vp = {
s = table { s = table {
AF g n => nominalVP VPresPart True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPresPart) vp (agrP3 g n) ;
_ => nominalVP VPresPart True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPresPart) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;
PastPartAP vp = { PastPartAP vp = {
s = table { s = table {
AF g n => nominalVP (VPart g n) True vp (agrP3 g n) ; AF g n => nominalVP (\_ -> VPart g n) vp (agrP3 g n) ;
_ => nominalVP (VPart Masc Sg) True vp (agrP3 Masc Sg) ---- the adverb form _ => nominalVP (\_ -> VPart Masc Sg) vp (agrP3 Masc Sg) ---- the adverb form
} ; } ;
isPre = False isPre = False
} ; } ;