From bfc0a89f9912e5db7567c955e0114437643c6eeb Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Fri, 25 Sep 2026 08:57:09 +0200 Subject: [PATCH] forgot the Irreg modules --- src/persian/IrregPes.gf | 76 ++++++++++++++++++++++++++++++++++++++ src/persian/IrregPesAbs.gf | 64 ++++++++++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 src/persian/IrregPes.gf create mode 100644 src/persian/IrregPesAbs.gf diff --git a/src/persian/IrregPes.gf b/src/persian/IrregPes.gf new file mode 100644 index 00000000..803dbe45 --- /dev/null +++ b/src/persian/IrregPes.gf @@ -0,0 +1,76 @@ +--# -path=.:../abstract:../common:../prelude + +concrete IrregPes of IrregPesAbs = CatPes ** + open ParadigmsPes, (M=MorphoPes) in { + + flags + optimize=values ; + coding=utf8 ; + + lin + -- Reusable light verbs and stems. + kardan_V = lin V M.doVerb ; + shodan_V = lin V M.becomeVerb ; + dashtan_V = lin V M.haveVerb ; + budan_V = lin V M.beVerb ; + + amadan_V = lin V (M.mkVerb "آمدن" "آی") ; + avardan_V = mkV "آوردن" ; + istadan_V = mkV "ایستادن" ; + afkandan_V = mkV "افکندن" ; + afrashtan_V = lin V (M.mkVerb "افراشتن" "افراز") ; + amukhtan_V = lin V (M.mkVerb "آموختن" "آموز") ; + bastan_V = lin V (M.mkVerb "بستن" "بند") ; + bordan_V = mkV "بردن" ; + paziroftan_V = lin V (M.mkVerb "پذیرفتن" "پذیر") ; + pokhtan_V = lin V (M.mkVerb "پختن" "پز") ; + pardakhtan_V = lin V (M.mkVerb "پرداختن" "پرداز") ; + peyvastan_V = lin V (M.mkVerb "پیوستن" "پیوند") ; + tavanestan_V = lin V (M.mkVerb "توانستن" "توان") ; + jostan_V = lin V (M.mkVerb "جستن" "جو") ; + khordan_V = mkV "خوردن" ; + dadan_V = lin V (M.mkVerb "دادن" "ده") ; + danestan_V = lin V (M.mkVerb "دانستن" "دان") ; + didan_V = lin V (M.mkVerb "دیدن" "بین") ; + randan_V = mkV "راندن" ; + raftan_V = lin V (M.mkVerb "رفتن" "رو") ; + rikhtan_V = lin V (M.mkVerb "ریختن" "ریز") ; + sepordan_V = lin V (M.mkVerb "سپردن" "سپار") ; + zadan_V = lin V (M.mkVerb "زدن" "زن") ; + zistan_V = lin V (M.mkVerb "زیستن" "زی") ; + sakhtan_V = lin V (M.mkVerb "ساختن" "ساز") ; + shenakhtan_V = lin V (M.mkVerb "شناختن" "شناس") ; + shenidan_V = lin V (M.mkVerb "شنیدن" "شنو") ; + shomordan_V = lin V (M.mkVerb "شمردن" "شمار") ; + shekastan_V = lin V (M.mkVerb "شکستن" "شکن") ; + gozaashtan_V = lin V (M.mkVerb "گذاشتن" "گذار") ; + gozashtan_V = lin V (M.mkVerb "گذشتن" "گذر") ; + gereftan_V = lin V (M.mkVerb "گرفتن" "گیر") ; + gorikhtan_V = lin V (M.mkVerb "گریختن" "گریز") ; + gashtan_V = lin V (M.mkVerb "گشتن" "گرد") ; + goftan_V = lin V (M.mkVerb "گفتن" "گو") ; + kastan_V = lin V (M.mkVerb "کاستن" "کاه") ; + koshtan_V = mkV "کشتن" ; + kandan_V = mkV "کندن" ; + mordan_V = lin V (M.mkVerb "مردن" "میر") ; + mandan_V = mkV "ماندن" ; + neshastan_V = lin V (M.mkVerb "نشستن" "نشین") ; + navakhtan_V = lin V (M.mkVerb "نواختن" "نواز") ; + nahadan_V = mkV "نهادن" ; + neveshtan_V = lin V (M.mkVerb "نوشتن" "نویس") ; + oftadan_V = mkV "افتادن" ; + andakhtan_V = lin V (M.mkVerb "انداختن" "انداز") ; + afzudan_V = lin V (M.mkVerb "افزودن" "افزا") ; + forukhtan_V = lin V (M.mkVerb "فروختن" "فروش") ; + afrukhtan_V = lin V (M.mkVerb "افروختن" "افروز") ; + goshudan_V = lin V (M.mkVerb "گشودن" "گشا") ; + khastan_V = lin V (M.mkVerb "خواستن" "خواه") ; + khabidan_V = mkV "خوابیدن" ; + yaftan_V = lin V (M.mkVerb "یافتن" "یاب") ; + robudan_V = lin V (M.mkVerb "ربودن" "ربای") ; + + oper + -- Preserve malformed or non-inflecting legacy dictionary entries without + -- weakening the productive regV paradigm with a catch-all case. + invarV : Str -> V = \s -> lin V (M.invarV s) ; +} diff --git a/src/persian/IrregPesAbs.gf b/src/persian/IrregPesAbs.gf new file mode 100644 index 00000000..6ed41933 --- /dev/null +++ b/src/persian/IrregPesAbs.gf @@ -0,0 +1,64 @@ +-- Irregular Persian verbs and verb stems used to build compounds. +-- A regular suffix base is listed only once; prefixed and multiword verbs are +-- built from it with compoundV in the concrete lexicon. +abstract IrregPesAbs = Cat ** { + fun + kardan_V : V ; + shodan_V : V ; + dashtan_V : V ; + budan_V : V ; + amadan_V : V ; + avardan_V : V ; + istadan_V : V ; + afkandan_V : V ; + afrashtan_V : V ; + amukhtan_V : V ; + bastan_V : V ; + bordan_V : V ; + paziroftan_V : V ; + pokhtan_V : V ; + pardakhtan_V : V ; + peyvastan_V : V ; + tavanestan_V : V ; + jostan_V : V ; + khordan_V : V ; + dadan_V : V ; + danestan_V : V ; + didan_V : V ; + randan_V : V ; + raftan_V : V ; + rikhtan_V : V ; + sepordan_V : V ; + zadan_V : V ; + zistan_V : V ; + sakhtan_V : V ; + shenakhtan_V : V ; + shenidan_V : V ; + shomordan_V : V ; + shekastan_V : V ; + gozaashtan_V : V ; + gozashtan_V : V ; + gereftan_V : V ; + gorikhtan_V : V ; + gashtan_V : V ; + goftan_V : V ; + kastan_V : V ; + koshtan_V : V ; + kandan_V : V ; + mordan_V : V ; + mandan_V : V ; + neshastan_V : V ; + navakhtan_V : V ; + nahadan_V : V ; + neveshtan_V : V ; + oftadan_V : V ; + andakhtan_V : V ; + afzudan_V : V ; + forukhtan_V : V ; + afrukhtan_V : V ; + goshudan_V : V ; + khastan_V : V ; + khabidan_V : V ; + yaftan_V : V ; + robudan_V : V ; +}