Romancs reflexives and passives

This commit is contained in:
aarne
2006-01-24 09:59:20 +00:00
parent a9191c404f
commit c8a52e297c
5 changed files with 51 additions and 20 deletions

View File

@@ -18,13 +18,13 @@ incomplete concrete AdjectiveRomance of Adjective =
s = \\af => adj.s ! Posit ! af ++ appCompl adj.c2 np.s ;
isPre = False
} ;
{-
ReflA2 a = {
s = \\ap => a.s ! AF (APosit ap) Nom ++ a.c2 ++
reflPron (agrP3 Utr Sg) ; ----
ReflA2 adj = {
s = \\af =>
adj.s ! Posit ! af ++ adj.c2.s ++ reflPron ! Sg ! P3 ! adj.c2.c ; --- agr
isPre = False
} ;
-}
SentAP ap sc = {
s = \\a => ap.s ! a ++ sc.s ; --- mood
isPre = False

View File

@@ -1,6 +1,5 @@
interface DiffRomance = open CommonRomance, Prelude in {
--2 Constants whose definitions depend on language.
-- Prepositions that fuse with the article vary.
@@ -19,8 +18,6 @@ oper
partitive : Gender -> Case -> Str ;
reflPron : Number -> Person -> Str ;
artDef : Gender -> Number -> Case -> Str ;
artIndef : Gender -> Number -> Case -> Str ;
@@ -40,7 +37,15 @@ oper
partQIndir : Str ; -- ce, ciò
-- These needed above.
reflPron : Number => Person => Case => Str ;
vRefl : VType ;
isVRefl : VType -> Bool ;
auxPassive : Verb ;
-- These are needed above.
param
Case = Nom | Acc | CPrep Prep ;

View File

@@ -51,7 +51,8 @@ oper
vpart : AAgr -> Str = \a -> verb.s ! VPart a.g a.n ;
vinf = verb.s ! VInfin ;
aux = auxVerb verb.vtyp ;
typ = verb.vtyp ;
aux = auxVerb typ ;
habet : TMood -> Agr -> Str = \tm,a -> aux ! VFin tm a.n a.p ;
habere : Str = aux ! VInfin ;
@@ -73,9 +74,12 @@ oper
VPInfinit Simul => vf (\_ -> []) (\_ -> vinf) ;
VPInfinit Anter => vf (\_ -> []) (\a -> habere ++ vpart a)
} ;
agr = partAgr verb.vtyp ;
agr = partAgr typ ;
neg = negation ;
clit1 = \\a => [] ; ----
clit1 = \\a => case isVRefl typ of {
True => reflPron ! a.n ! a.p ! Acc ;
_ => []
} ;
clit2 = [] ;
comp = \\a => [] ;
ext = \\p => []

View File

@@ -1,5 +1,5 @@
incomplete concrete VerbRomance of Verb =
CatRomance ** open CommonRomance, ResRomance in {
CatRomance ** open Prelude, CommonRomance, ResRomance in {
flags optimize=all_subs ;
@@ -31,14 +31,13 @@ incomplete concrete VerbRomance of Verb =
AdvVP vp adv = insertAdv adv.s vp ;
AdVVP adv vp = insertAdv adv.s vp ;
{-
ReflV2 v = insertObj (\\a => v.c2 ++ reflPron a) (predV v) ;
ReflV2 v = case v.c2.isDir of {
True => predV {s = v.s ; vtyp = vRefl} ;
False => insertComplement
(\\a => v.c2.s ++ reflPron ! a.n ! a.p ! v.c2.c) (predV v)
} ;
PassV2 v =
insertObj
(\\a => v.s ! VI (VPtPret (agrAdj a.gn DIndef) Nom))
(predV verbBecome) ;
-}
PassV2 v = insertComplement (\\a => v.s ! VPart a.g a.n) (predV auxPassive) ;
UseVS, UseVQ = \vv -> {s = vv.s ; c2 = complAcc ; vtyp = vv.vtyp} ;