separate independent (NP without CN) forms of IndefArt and DefArt in Romance languages. The choice of words was unsure in some cases, but at least this eliminates the problem of empty NP's translating to "ones".

This commit is contained in:
aarne
2014-09-12 11:59:50 +00:00
parent 6b47126c8c
commit 7ddf965061
8 changed files with 66 additions and 34 deletions

View File

@@ -70,8 +70,8 @@ interface DiffRomance = open CommonRomance, Prelude in {
partitive : Gender -> Case -> Str ;
artDef : Gender -> Number -> Case -> Str ;
artIndef : Gender -> Number -> Case -> Str ;
artDef : Bool -> Gender -> Number -> Case -> Str ;
artIndef : Bool -> Gender -> Number -> Case -> Str ; -- True = used as NP, False = used as Det
-- This is the definite article in Italian, $prepCase c$ in French and Spanish.

View File

@@ -101,15 +101,15 @@ incomplete concrete NounRomance of Noun =
---- could be discontinuous: la terza città più grande
DefArt = {
s = \\_,n,g,c => artDef g n c ;
sp = \\n,g,c => artDef g n c ; ---- not for Fre
s = \\_,n,g,c => artDef False g n c ;
sp = \\n,g,c => artDef True g n c ;
s2 = [] ;
isNeg = False
} ;
IndefArt = {
s = \\b,n,g,c => if_then_Str b (prepCase c) (artIndef g n c) ;
sp = \\n,g,c => artIndef g n c ; ---- not for Fre
s = \\b,n,g,c => if_then_Str b (prepCase c) (artIndef False g n c) ;
sp = \\n,g,c => artIndef True g n c ;
s2 = [] ;
isNeg = False
} ;
@@ -118,7 +118,7 @@ incomplete concrete NounRomance of Noun =
g = cn.g ;
n = Sg
in heavyNP {
s = table {Nom => artDef g n Nom ++ cn.s ! n ; c => partitive g c ++ cn.s ! n} ; -- le vin est bon ; je bois du vin
s = table {Nom => artDef False g n Nom ++ cn.s ! n ; c => partitive g c ++ cn.s ! n} ; -- le vin est bon ; je bois du vin
a = agrP3 g n ;
hasClit = False ;
isNeg = False

View File

@@ -18,7 +18,7 @@ lin
hasClit = False
} ;
CNNumNP cn i = heavyNP {
s = \\c => artDef cn.g Sg c ++ cn.s ! Sg ++ i.s ! Masc ;
s = \\c => artDef False cn.g Sg c ++ cn.s ! Sg ++ i.s ! Masc ;
a = agrP3 cn.g Sg ;
hasClit = False
} ;

View File

@@ -94,7 +94,7 @@ incomplete concrete VerbRomance of Verb =
CompAP ap = {s = \\ag => let agr = complAgr ag in ap.s ! AF agr.g agr.n} ;
CompCN cn = { s = \\ag =>
let agr = complAgr ag in
artIndef cn.g agr.n Nom ++ cn.s ! agr.n
artIndef False cn.g agr.n Nom ++ cn.s ! agr.n
}; --- RE 7/12/2010 -- AR added indef 2/8/2011
CompNP np = {s = \\_ => (np.s ! Nom).ton} ;
CompAdv a = {s = \\_ => a.s} ;