Merge pull request #219 from inariksit/spanish

Spanish/Romance: imperative, A2
This commit is contained in:
Inari Listenmaa
2019-04-08 15:30:35 +02:00
committed by GitHub
4 changed files with 43 additions and 25 deletions

View File

@@ -34,7 +34,7 @@ incomplete concrete AdjectiveRomance of Adjective =
ComplA2 adj np = {
s = \\af => adj.s ! Posit ! af ++ appCompl adj.c2 np ;
isPre = False ;
copTyp = serCopula
copTyp = adj.copTyp
} ;
ReflA2 adj = {
@@ -42,7 +42,7 @@ incomplete concrete AdjectiveRomance of Adjective =
adj.s ! Posit ! af ++
adj.c2.s ++ prepCase adj.c2.c ++ reflPron Sg P3 Nom ; --- agr
isPre = False ;
copTyp = serCopula
copTyp = adj.copTyp
} ;
SentAP ap sc = {
@@ -60,7 +60,7 @@ incomplete concrete AdjectiveRomance of Adjective =
UseA2 a = {
s = a.s ! Posit ;
isPre = False ; ---- A2 has no isPre
copTyp = serCopula ---- A2 has no copTyp (yet)
copTyp = a.copTyp
} ;
AdvAP ap adv = {

View File

@@ -106,7 +106,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol]
VS = Verb ** {m : RPolarity => Mood} ;
A = {s : Degree => AForm => Str ; isPre : Bool ; copTyp : CopulaType} ;
A2 = {s : Degree => AForm => Str ; c2 : Compl} ;
A2 = {s : Degree => AForm => Str ; c2 : Compl ; copTyp : CopulaType} ;
N = Noun ;
N2 = Noun ** {c2 : Compl} ;

View File

@@ -116,14 +116,15 @@ instance DiffSpa of DiffRomance - [iAdvQuestionInv,otherInv,partAgr,stare_V,vpAg
mkImperative isPol p vp =
\\pol,g,n => case pol of {
RPos => neg.p1 ++ imper ++ bindIf refl.isRefl ++ refl.pron
++ bindIf hasClit ++ clit ++ compl ;
RNeg _ => neg.p1 ++ refl.pron ++ clit ++ subj ++ compl
++ bindIf hasClit ++ clit ++ particle ++ compl ;
RNeg _ => neg.p1 ++ refl.pron ++ clit ++ subj ++ particle ++ compl
} where {
pe = case isPol of {True => P3 ; _ => p} ;
refl = case vp.s.vtyp of {
VRefl => {pron = reflPron n pe Acc ; isRefl = True} ;
_ => {pron = [] ; isRefl = False}
} ;
particle = vp.s.p ;
clit = vp.clit1 ++ vp.clit2 ;
hasClit = vp.clit3.hasClit ;
imper = vp.s.s ! vImper n pe ;

View File

@@ -436,6 +436,23 @@ oper
_ => verboV (regAlternVEr x y)
} ;
-- hack for verbs like parecer.
-- NB. doesn't work properly for gustar, which agrees with the object.
dativeV : V -> V = \parecer -> parecer ** {
s = table {
VFin m n p => case <n,p> of {
<Sg,P1> => "me" ;
<Sg,P2> => "te" ;
<Sg,P3> => "le" ;
<Pl,P1> => "nos" ;
<Pl,P2> => "os" ;
<Pl,P3> => "les" } ++ parecer.s ! VFin m Sg P3 ;
VImper n => case n of {
SgP2 => "que te" ;
PlP1 => "que nos" ;
PlP2 => "que os" } ++ parecer.s ! VFin (VPres Conjunct) Sg P3 ;
x => parecer.s ! x }
} ;
mk2V2 v p = lin V2 (v ** {c2 = p}) ;