mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
Merge pull request #219 from inariksit/spanish
Spanish/Romance: imperative, A2
This commit is contained in:
@@ -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 = {
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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}) ;
|
||||
|
||||
Reference in New Issue
Block a user