From 1b8197ce5fde1b5f0fe9b440cf163cc6dfe18639 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Sun, 27 Sep 2026 13:50:30 +0200 Subject: [PATCH] added NamesPes.gf --- src/persian/GrammarPes.gf | 2 +- src/persian/NamesPes.gf | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/persian/NamesPes.gf diff --git a/src/persian/GrammarPes.gf b/src/persian/GrammarPes.gf index 42603e11..f30d1430 100644 --- a/src/persian/GrammarPes.gf +++ b/src/persian/GrammarPes.gf @@ -10,7 +10,7 @@ QuestionPes, RelativePes, ConjunctionPes, - + NamesPes, PhrasePes, TextPes, StructuralPes, diff --git a/src/persian/NamesPes.gf b/src/persian/NamesPes.gf new file mode 100644 index 00000000..db817d3b --- /dev/null +++ b/src/persian/NamesPes.gf @@ -0,0 +1,22 @@ +concrete NamesPes of Names = CatPes ** open Prelude, ResPes in { + + lin + GivenName gn = nameNP Animate Sg gn.s ; + MaleSurname sn = nameNP Animate Sg sn.s ; + FemaleSurname sn = nameNP Animate Sg sn.s ; + PlSurname sn = nameNP Animate Pl sn.s ; + FullName gn sn = nameNP Animate Sg (gn.s ++ sn.s) ; + + UseLN ln = nameNP Inanimate Sg ln.s ; + PlainLN ln = nameNP Inanimate Sg ln.s ; + InLN ln = {s = "در" ++ ln.s} ; + AdjLN ap ln = {s = runtimeKasre ln.s ++ ap.s ! Bare} ; + + oper + nameNP : Animacy -> Number -> Str -> NP = \animacy,number,s -> + emptyNP ** { + s = \\_ => s ; + a = agrP3 number ; + animacy = animacy + } ; +}