1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/romance/AdjectiveRomance.gf
2021-10-20 10:57:40 +02:00

64 lines
1.7 KiB
Plaintext

incomplete concrete AdjectiveRomance of Adjective =
CatRomance ** open CommonRomance, ResRomance, Prelude in {
flags coding=utf8;
lin
PositA a = a ; -- A is a subtype of AP: we lose the fields isDeg and compar
ComparA a np = a ** {
s = \\af =>
let compar : Str = case a.isDeg of {
True => a.compar ! af2compar af ; -- bueno, mejor
False => piuComp ++ a.s ! af } ; -- cher, plus cher
in compar ++ conjThan ++ (np.s ! Nom).ton ;
isPre = False ;
} ;
CAdvAP ad ap np = ap ** {
s = \\af => ad.s ++ ap.s ! af ++ ad.p ++ (np.s ! Nom).ton ;
isPre = False ;
} ;
UseComparA a = a ** {
s = \\af => case a.isDeg of {
True => a.compar ! af2compar af ;
False => piuComp ++ a.s ! af }
} ;
AdjOrd ord = {
s = \\af => ord.s ! aform2aagr af ; ----
isPre = False ; ----
copTyp = serCopula
} ;
-- $SuperlA$ belongs to determiner syntax in $Noun$.
ComplA2 adj np = adj ** {
s = \\af => adj.s ! af ++ appCompl adj.c2 np ;
isPre = False ;
} ;
ReflA2 adj = adj ** {
s = \\af =>
adj.s ! af ++
adj.c2.s ++ prepCase adj.c2.c ++ reflPron Sg P3 Nom ; --- agr
isPre = False ;
} ;
SentAP ap sc = ap ** {
s = \\a => ap.s ! a ++ sc.s ! dative ; -- prête à dormir --- mood
isPre = False ;
} ;
AdAP ada ap = ap ** {
s = \\a => ada.s ++ ap.s ! a ;
} ;
UseA2 a = a ** {
isPre = False ; ---- A2 has no isPre
} ; -- other than that, AP is a subtype of A2
AdvAP ap adv = ap ** {
s = \\a => ap.s ! a ++ adv.s ;
isPre = False ;
} ;
}