mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-25 11:06:28 -06:00
copy files over from GF-latin
This commit is contained in:
+35
-28
@@ -2,45 +2,52 @@ concrete AdjectiveLat of Adjective = CatLat ** open ResLat, Prelude in {
|
||||
|
||||
|
||||
lin
|
||||
-- PositA : A -> AP ; -- warm
|
||||
PositA a =
|
||||
{ s = \\ag => a.s ! Posit ! ag };
|
||||
|
||||
PositA a = -- A -> AP
|
||||
{
|
||||
s = table { Ag g n c => a.s ! Posit ! Ag g n c } ;
|
||||
};
|
||||
|
||||
{-
|
||||
-- ComparA : A -> NP -> AP ; -- warmer than I
|
||||
ComparA a np = {
|
||||
s = \\_ => a.s ! AAdj Compar ++ "than" ++ np.s ! Nom ;
|
||||
isPre = False
|
||||
s = \\ag => a.s ! Compar ! ag ++ "quam" ++ np.s ! Nom ;
|
||||
} ;
|
||||
|
||||
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||
|
||||
-- ComplA2 : A2 -> NP -> AP ; -- married to her
|
||||
ComplA2 a np = {
|
||||
s = \\_ => a.s ! AAdj Posit ++ a.c2 ++ np.s ! Acc ;
|
||||
isPre = False
|
||||
s = \\ag => a.s ! Posit ! ag ++ a.c.s ++ np.s ! a.c.c ;
|
||||
} ;
|
||||
|
||||
-- ReflA2 : A2 -> AP -- married to myself
|
||||
ReflA2 a = {
|
||||
s = \\ag => a.s ! AAdj Posit ++ a.c2 ++ reflPron ! ag ;
|
||||
isPre = False
|
||||
s = \\ag => a.s ! Posit ! ag ++ a.c.s ++
|
||||
table { Acc => "memet" ; _ => "egomet" } ! a.c.c;
|
||||
} ;
|
||||
|
||||
SentAP ap sc = {
|
||||
s = \\a => ap.s ! a ++ sc.s ;
|
||||
isPre = False
|
||||
} ;
|
||||
-}
|
||||
-- UseA2 : A2 -> AP ; -- married
|
||||
UseA2 = PositA ;
|
||||
|
||||
-- UseComparA : A -> AP ; -- warmer
|
||||
UseComparA a =
|
||||
{ s = \\ag => a.s ! Compar ! ag };
|
||||
|
||||
-- CAdvAP : CAdv -> AP -> NP -> AP ; -- as cool as John
|
||||
CAdvAP cadv ap np =
|
||||
{ s = \\ag => cadv.s ++ ap.s ! ag ++ cadv.p ++ np.s ! Nom } ;
|
||||
|
||||
-- The superlative use is covered in $Ord$.
|
||||
|
||||
-- AdjOrd : Ord -> AP ; -- warmest
|
||||
AdjOrd a = { s = table { Ag g n c => a.s ! g ! n ! c } } ;
|
||||
|
||||
-- SentAP : AP -> SC -> AP ; -- good that she is here
|
||||
SentAP ap sc =
|
||||
{ s = \\a => ap.s ! a ++ sc.s } ;
|
||||
|
||||
|
||||
-- AdAP : AdA -> AP -> AP ; -- very warm
|
||||
AdAP ada ap = {
|
||||
s = \\agr => ada.s ++ ap.s ! agr ;
|
||||
} ;
|
||||
|
||||
-- UseA2 : A2 -> AP
|
||||
UseA2 a = -- A2 -> AP
|
||||
{
|
||||
s = table { Ag g n c => a.s ! Posit ! Ag g n c } ;
|
||||
} ;
|
||||
AdAP ada ap =
|
||||
{ s = \\agr => ada.s ++ ap.s ! agr } ;
|
||||
|
||||
-- AdvAP : AP -> Adv -> AP ; -- warm by nature
|
||||
AdvAP ap adv =
|
||||
{ s = \\ag => ap.s ! ag ++ adv.s ! Posit} ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user