Files
gf-rgl/src/persian/AdjectivePes.gf
2019-05-14 15:19:16 +02:00

55 lines
1.3 KiB
Plaintext

concrete AdjectivePes of Adjective = CatPes ** open ResPes, Prelude in {
flags coding = utf8;
lin
PositA a = a ** {s = a.s ! Positive} ;
UseComparA a = a ** {s = a.s ! Comparative} ;
ComparA a np = a ** {
s = \\m => a.s ! Comparative ! m ++ "تر" ++ "از" ++ np2str np ;
adv = a.adv ++ "تر" ++ "از" ++ np2str np ;
} ;
---- $SuperlA$ belongs to determiner syntax in $Noun$.
ComplA2 a np = a ** {
s = \\m => a.c2 ++ np2str np ++ a.s ! Positive ! m ;
adv = np2str np ++ a.c2 ++ a.adv
} ;
ReflA2 a = a ** {
s = \\m => a.s ! Positive ! m ++ reflPron ! defaultAgr ! Bare ; ---- s needs to be an inflection table from Agr to string, to choose the right reflexive pronoun
adv = a.adv ++ reflPron ! defaultAgr ! Bare
} ;
SentAP ap sc = ap ** {
s = \\m => ap.s ! m ++ sc.s ;
adv = ap.adv ++ sc.s
} ;
AdAP ada ap = ap ** {
s = \\m => ada.s ++ ap.s ! m ;
adv = ada.s ++ ap.adv ;
} ;
UseA2 = PositA ;
CAdvAP cadv ap np = ap ** {
s = \\m => cadv.s ++ np2str np ++ ap.s ! m ;
adv = cadv.s ++ ap.adv
} ;
AdjOrd ord = {
s = \\_ => ord.s ;
adv = ord.s ;
isPre = ord.isPre ;
afterPrefix = False ;
} ;
AdvAP ap adv = ap ** {
s = \\m => ap.s ! m ++ adv.s ;
adv = ap.adv ++ adv.s
} ;
}