1
0
forked from GitHub/gf-rgl
This commit is contained in:
Thomas Hallgren
2017-08-21 13:15:46 +02:00
4 changed files with 735 additions and 0 deletions

48
src/chunk/ChunkUrd.gf Normal file
View File

@@ -0,0 +1,48 @@
concrete ChunkUrd of Chunk = CatUrd, ExtensionsUrd [VPS,VPI] **
ChunkFunctor - [Adv_Chunk, Prep_Chunk]
with (Syntax = SyntaxUrd), (Extensions = ExtensionsUrd) **
open
SyntaxUrd, (E = ExtensionsUrd), Prelude, CommonHindustani,
(R = ResUrd), (P = ParadigmsUrd) in {
lin
Adv_Chunk adv = mkUtt adv ;
Prep_Chunk prep = pss (prep.s ! Masc) ; ----
oper
emptyNP = mkNP (P.mkPN []) ;
pss = Prelude.ss ;
lin
NP_Acc_Chunk np = mkUtt np ;
NP_Gen_Chunk np = mkUtt (mkAdv possess_Prep np) ;
---- VPI_Chunk vpi = vpi ;
copula_inf_Chunk = pss " है " ;
refl_SgP1_Chunk,
refl_SgP2_Chunk,
refl_SgP3_Chunk,
refl_PlP1_Chunk,
refl_PlP2_Chunk,
refl_PlP3_Chunk = pss " आप " ; ----
neg_Chunk = pss " नहीं " ;
copula_Chunk = pss " है " ;
copula_neg_Chunk = pss " नहीं है " ;
past_copula_Chunk = pss " था " ;
past_copula_neg_Chunk = pss " नहीं था " ;
future_Chunk = pss " हीं होगा " ;
future_neg_Chunk = pss " नहीं होगा " ;
cond_Chunk = pss " हीं होगा " ; ---- same as future
cond_neg_Chunk = pss " नहीं होगा " ;
perfect_Chunk = pss " है " ;
perfect_neg_Chunk = pss " नहीं " ;
past_perfect_Chunk = pss " था " ;
past_perfect_neg_Chunk = pss " नहीं " ;
}

View File

@@ -0,0 +1,497 @@
-- Hindi lexicon for GF, produced from:
-- Pushpak Bhattacharyya's Hindi WordNet
-- GF version generated by hdict2gf, Shafqat Virk March 2012
concrete DictionaryUrd of Dictionary = CatUrd ** open ParadigmsUrd, (P=ParadigmsUrd), Prelude, (S = StructuralUrd), NounUrd,ParamX,MorphoUrd,CommonHindustani in {
flags
coding=utf8 ;
-- initializing with StructuralUrd and LexiconUrd
-- concrete StructuralUrd of Structural = CatUrd **
-- open MorphoUrd, ParadigmsUrd, Prelude, NounUrd,ParamX,CommonHindustani in {
lin
above_Prep = mkPrep ["کے اوپر"] ["کے اوپر"] ;
after_Prep = mkPrep ["کے بعد"] ["کے بعد"] ;
all_Predet = ss "تمام" ;
almost_AdA, almost_AdN = mkAdN "تقریبا" ;
although_Subj = ss "اگرچہ" ;
always_AdV = ss "ہمیشہ" ;
and_Conj = sd2 [] "اور" ** {n = Pl} ;
because_Subj = ss "کیونکہ" ;
before_Prep = mkPrep ["سے پہلے"] ["سے پہلے"] ;
behind_Prep = mkPrep ["کے پیچھے"] ["کے پیچھے"] ;
between_Prep = mkPrep "درمیاں" "درمیاں" ;
both7and_DConj = sd2 "دونوں" "اور" ** {n = Pl} ;
but_PConj = ss "لیکن" ;
by8agent_Prep = mkPrep "سے" "" ;
by8means_Prep = mkPrep "پر" "" ;
can8know_VV,can_VV = mkV "سکنا" ** { isAux = True} ;
during_Prep = mkPrep ["کے درمیاں"] ["کے درمیاں"] ;
either7or_DConj = sd2 "کوی ایک" "یا" ** {n = Sg} ;
everybody_NP = MassNP (UseN (P.mkN "ہر کوی" "ہر کوی" "ہر کوی" "ہر کوی" "ہر کوی" "ہر کوی" Masc )); -- not a good way coz need to include NounUrd
every_Det = mkDet "ہر" "ہر" "ہر" "ہر" Sg;
everything_NP = MassNP (UseN (P.mkN "ہر چیز" "ہر چیز" "ہر چیزو" "سب چیزیں" "سب چیزوں" "سب چیزو" Masc ));
everywhere_Adv = mkAdv "ہر جگہ" ;
few_Det = mkDet "چند" "چند" "چند" "چند" Pl ;
first_Ord = {s = "پعہلا" ; n = Sg} ; --DEPRECATED
for_Prep = mkPrep "کیلیے" "کیلیے" ;
from_Prep = mkPrep "سے" "سے" ;
he_Pron = personalPN "وہ" "اس" "" ["اس کا"] ["اس کی"] ["اس کے"] ["اس کی"] Sg Masc Pers3_Distant ;
here_Adv = mkAdv "یہاں" ;
here7to_Adv = mkAdv ["یہاں پر"] ;
here7from_Adv = mkAdv ["یہاں سے"] ;
how_IAdv = ss "کیسے" ;
how8many_IDet = makeIDet "کتنے" "کتنی" Pl ;
how8much_IAdv = ss "کتنا" ;
if_Subj = ss "اگر" ;
in8front_Prep = mkPrep ["کے سامنے"] ["کے سامنے"] ;
i_Pron = personalPN "میں" "مجھ" "" "میرا" "میری" "میرے" "میری" Sg Masc Pers1;
in_Prep = mkPrep "میں" "میں" ;
it_Pron = personalPN "یہ" "اس" "اس" ["اس کا"] ["اس کی"] ["اس کے"] ["اس کی"] Sg Masc Pers3_Near;
less_CAdv = {s = "کم" ; p = ""} ;
many_Det = mkDet "بہت زیادہ" "بہت زیادہ" "بہت زیادہ" "بہت زیادہ" Pl ;
more_CAdv = {s = "زیادہ" ; p = "سے" } ;
most_Predet = ss "زیادہ تر" ;
much_Det = mkDet "بہت" "بہت" "بہت" "بہت" Sg ;
-- must_VV = {
-- s = table {
-- VVF VInf => ["ہاvع تo"] ;
-- VVF VPres => "مuست" ;
-- VVF VPPart => ["ہاد تo"] ;
-- VVF VPresPart => ["ہاviنگ تo"] ;
-- VVF VPast => ["ہاد تo"] ; --# notpresent
-- VVPastNeg => ["ہادn'ت تo"] ; --# notpresent
-- VVPresNeg => "مuستn'ت"
-- } ;
-- isAux = True
-- } ;
-----b no_Phr = ss "نo" ;
no_Utt = ss "نہیں" ;
on_Prep = mkPrep "پر" "پر" ;
-- one_Quant = demoPN "ایک" "ایک" "ایک" ; -- DEPRECATED
only_Predet = ss "صرف" ;
or_Conj = sd2 [] "یا" ** {n = Sg} ;
otherwise_PConj = ss "یا پھر" ;
part_Prep = mkPrep "" "" ;
please_Voc = ss "مہربانی" ;
possess_Prep = mkPrep "کا" "کی" ;
-- quite_Adv = ss "خاموش" ;
she_Pron = personalPN "وہ" "اس" "وہ" ["اس کی"] ["اس کی"] ["اس کے"] ["اس کی"] Sg Fem Pers3_Distant ;
so_AdA = ss "اس لیے" ;
somebody_NP = MassNP (UseN (P.mkN "کوی" "کوی" "کوی" "کوی" "کوی" "کوی" Masc ));
someSg_Det = mkDet "کچھ" "کچھ" "کچھ" "کچھ" Sg ;
somePl_Det = mkDet "کچھ" "کچھ" "کچھ" "کچھ" Pl ;
something_NP = MassNP (UseN (P.mkN "کوی چیز" "کوی چیز" "کوی چیز" "کھ چیزیں" "کھ چیزوں" "کھ چیزو" Masc ));
somewhere_Adv = mkAdv ["کہیں پر"] ;
that_Quant = demoPN "وہ" "اس" "ان" ;
that_Subj = ss "کہ";
there_Adv = mkAdv "وہاں" ;
there7to_Adv = mkAdv ["وہاں پر"] ;
there7from_Adv = mkAdv ["وہاں سے"] ;
therefore_PConj = ss "اس لیے" ;
they_Pron = personalPN "وہ" "وہ" "وہ" ["ان کا"] ["ان کی"] ["ان کے"] ["ان کی"] Pl Masc Pers3_Distant ; ----
this_Quant = demoPN "یہ" "اس" "ان";
through_Prep = mkPrep ["میں سے"] ["میں سے"] ;
too_AdA = ss "بہت" ;
to_Prep = mkPrep "کو" "کو" ; -- ** {lock_Prep = <>};
under_Prep = mkPrep "کے نیچے" "کے نیچے" ; -- ** {lock_Prep = <>};
very_AdA = ss "بہت" ;
want_VV = mkV "چاہنا" ** { isAux = False} ;
we_Pron = personalPN "ہم" "ہم" "ہم" "ہمارا" "ہماری" "ہمارے" "ہماری" Pl Masc Pers1 ;
whatSg_IP = mkIP "کیا" "کس" "کس" Sg Masc ;
whatPl_IP = mkIP "کیا" "کن" "کن" Pl Masc ;
when_IAdv = ss "کب" ;
when_Subj = ss "جب" ;
where_IAdv = ss "کہاں" ;
-- which_IQuant = {s = \\_ => "کون سی"} ;
which_IQuant = mkIQuant "کون" ;
-- whichPl_IDet = makeDet "کون سا" "کون سی" "کون سے" "کون سی" ;
-- whichSg_IDet = makeDet "کون سا" "کون سی" "کون سے" "کون سی" ;
whoSg_IP = mkIP "کون" "کس" "کس" Sg Masc ;
whoPl_IP = mkIP "کون" "کن" "کنہوں" Pl Masc ;
why_IAdv = ss "کیوں" ;
without_Prep = mkPrep ["کے بغیر"] ["کے بغیر"] ;
with_Prep = mkPrep ["کے ساتھ"] ["کے ساتھ"] ;
-- yes_Phr = ss "ہاں" ;
yes_Utt = ss "ہاں" ;
youSg_Pron = personalPN "تو" "تو" "تو" "تیرا" "تیری" "تیرے" "تیری" Sg Masc Pers2_Casual ;
youPl_Pron = personalPN "تم" "تم" "تم" "تمھارا" "تمھاری" "تمھارے" "تمھاری" Pl Masc Pers2_Casual ;
youPol_Pron = personalPN "آپ" "آپ" "آپ" ["آپ کا"] ["آپ کی"] ["آپ کے"] ["آپ کی"] Pl Masc Pers2_Respect ;
no_Quant = demoPN " کوی نہیں" "کوی نہیں" "کوی نہیں" ;
not_Predet = {s="نہیں"} ;
if_then_Conj = sd2 "اگر" "تو" ** {n = Sg} ;
at_least_AdN = mkAdN ["کم از کم"] ;
at_most_AdN = mkAdN ["زیادہ سے زیادہ"];
nothing_NP = MassNP (UseN (P.mkN "کوی چیز نہیں" "کوی چیز نہیں" "کوی چیز نہیں" "کوی چیز نہیں" "کوی چیز نہیں" "کوی چیز نہیں" Masc ));
except_Prep = mkPrep "کے سواے" "کے سواے" ;
nobody_NP = MassNP (UseN (P.mkN "کوی نہیں" "کوی نہیں" "کوی نہیں" "کوی نہیں" "کوی نہیں" "کوی نہیں" Masc ));
as_CAdv = {s = "اتنا" ; p = "جتنا"} ;
have_V2 = mkV2 (mkV "رکھنا") "" ;
language_title_Utt = ss "اردو" ;
--concrete LexiconUrd of Lexicon = CatUrd **
--open ResUrd, ParadigmsUrd, Prelude in {
lin
airplane_N = P.mkN "جہاز" ;
answer_V2S = mkV2 (compoundV "جواب" (mkV "دینا")) ;
apartment_N = P.mkN "کمرہ" ;
apple_N = P.mkN "سیب" ;
art_N = P.mkN "فن" ;
ask_V2Q = mkV2 (mkV "پوچھنا") ;
baby_N = P.mkN "بچہ" ;
bad_A = mkA "برا" ;
bank_N = P.mkN "بینک" ;
beautiful_A = mkA "خوبصورت" ;
become_VA = mkV "بننا";
beer_N = P.mkN "بییر" ;
beg_V2V = mkV2V (compoundV "التجا" (mkV "کرنا")) "سے" "کہ" False;
big_A = mkA "بڑا" ;
bike_N = P.mkN "سایکل" feminine ;
bird_N = P.mkN "پرندہ" ;
black_A = mkA "کالا" ;
blue_A = mkA "نیلا" ;
boat_N = P.mkN "کشتی" ;
book_N = P.mkN "کتاب" feminine ;
boot_N = P.mkN "جوتا" ;
boss_N = P.mkN "صاحب" ;
boy_N = P.mkN "لڑکا" ;
bread_N = P.mkN "روٹی" ;
break_V2 = mkV2 (mkV "توڑنا") ;
broad_A = mkA "کھلا" ;
brother_N2 = mkN2 (P.mkN "بھای") (mkPrep "کا" "کا") "کے" ; --not correct
brown_A = mkA "نسواری" ;
butter_N = P.mkN "مکھن" ;
buy_V2 = mkV2 (mkV "خریدنا") "کو";
camera_N = P.mkN "کیمرہ" ;
cap_N = P.mkN "ٹوپی" ;
car_N = P.mkN "گاڑی" ;
carpet_N = P.mkN "تپائی" ;
cat_N = P.mkN "بلی" ;
ceiling_N = P.mkN "چھت" feminine ;
chair_N = P.mkN "کرسی" ;
cheese_N = P.mkN "پنیر" feminine ;
child_N = P.mkN "بچہ" ;
church_N = mkCmpdNoun "گرجا" (P.mkN "گھر") ;
city_N = P.mkN "شہر" ;
clean_A = mkA "صاف" ;
clever_A = mkA "ہوشیار" ;
close_V2 = mkV2 (compoundV "بند" do_V2);
coat_N = P.mkN "کوٹ" ;
cold_A = mkA "ٹھنڈا" ;
come_V = mkV "آنا" ;
computer_N = P.mkN "کمپیوٹر" ;
country_N = P.mkN "ملک" ;
cousin_N = mkCmpdNoun "چچا" (P.mkN "زاد") ; -- a compund noun made of two nouns
cow_N = P.mkN "گاے" feminine ;
die_V = mkV "مرنا" ;
dirty_A = mkA "گندا" ;
distance_N3 = mkN3 (P.mkN "فاصلہ") (mkPrep "کا" "کا") "کے" "سے" ;
doctor_N = P.mkN "معالج" ;
dog_N = P.mkN "کتا" ;
door_N = P.mkN "دروازہ" ;
drink_V2 = mkV2 (mkV "پینا");
easy_A2V = mkA "آسان" "" ;
eat_V2 = mkV2 (mkV "کھانا") "" ;
empty_A = mkA "خالی" ;
enemy_N = P.mkN "دشمن" ;
factory_N = P.mkN "کارخانہ" ;
father_N2 = mkN2 (P.mkN "ابا") (mkPrep "کا" "کا") "کے" ;
fear_VS = mkV "ڈرنا";
find_V2 = mkV2 (mkV "پانا") ;
fish_N = P.mkN "مچھلی" ;
floor_N = P.mkN "فرش" ;
forget_V2 = mkV2 (mkV "بھولنا") ;
fridge_N = P.mkN "فریج" ;
friend_N = P.mkN "دوست" masculine ;
fruit_N = P.mkN "پھل" ;
-- fun_AV = mkAV (regA "f?ن") ;
garden_N = P.mkN "باغ" ;
girl_N = P.mkN "لڑکی" ;
glove_N = P.mkN "دستانہ" ;
gold_N = P.mkN "سونا" ;
good_A = mkA "اچھا" ;
go_V = mkV "جانا" ;
green_A = mkA "سبز" ;
harbour_N = mkCmpdNoun "بندر" (P.mkN "گاہ") ;
hate_V2 = mkV2 (compoundV "نفرت" do_V2) ;
hat_N = P.mkN "ٹوپی" ;
-- have_V2 = dirV2 (mk5V "ہa?ع" "ہاس" "ہاد" "ہاد" "ہa??نگ") ;
hear_V2 = mkV2 (mkV "سننا") ;
hill_N = P.mkN "پہاڑی" ;
hope_VS = (compoundV "امید" do_V2);
horse_N = P.mkN "گھوڑا" ;
hot_A = mkA "گرم" ;
house_N = P.mkN "گھر" ;
important_A = mkA "اہم" ;
industry_N = P.mkN "صنعت" feminine ;
iron_N = P.mkN "لوہا" ;
king_N = P.mkN "بادشاہ" ;
know_V2 = mkV2 (mkV "جاننا") ;
know_VS = (mkV "جاننا") ;
know_VQ = (mkV "جاننا") ;
lake_N = P.mkN "جھیل" feminine ;
lamp_N = P.mkN "لیمپ" ;
learn_V2 = mkV2 (mkV "سیکھنا") ;
leather_N = P.mkN "چمڑا" ;
leave_V2 = mkV2 (mkV "جانا") ;
like_V2 = mkV2 (compoundV "پسند" do_V2) "کو";
listen_V2 = mkV2 (mkV "سننا") ;
live_V = mkV "رہنا" ; ---- touch
long_A = mkA "لمبا" ;
lose_V2 = mkV2 (compoundV "کھو" do_V2) ;
love_N = P.mkN "محبت" ;
love_V2 = mkV2 (compoundV "پیار" do_V2) "کو";
man_N = P.mkN "آدمی" "آدمی" "آدمی" "آدمی" "آدمیوں" "آدمیو" masculine ;
married_A2 = mkA "شادی شدہ" "سے" ;
meat_N = P.mkN "گوشت" ;
milk_N = P.mkN "دودھ" ;
moon_N = P.mkN "چاند" ;
mother_N2 = mkN2 (P.mkN "ماں") (mkPrep "کی" "کی") "کے"; -- not covered need to be discussed
mountain_N = P.mkN "پہاڑی" ;
music_N = P.mkN "موسیقی" ;
narrow_A = mkA "باریک" ;
new_A = mkA "نیا" ;
newspaper_N = P.mkN "اخبار" ;
oil_N = P.mkN "تیل" ;
old_A = mkA "بوڑھا" ;
open_V2 = mkV2 (mkV "کھولنا") ;
paint_V2A = mkV2 (compoundV "رنگ" do_V2) ;
paper_N = P.mkN "کاغز" ;
paris_PN = mkPN "پیرس" ;
peace_N = P.mkN "امن" ;
pen_N = P.mkN "پنسل" ;
planet_N = P.mkN "سیارہ" ;
plastic_N = P.mkN "پلاسٹک" ;
play_V2 = mkV2 (mkV "کھیلنا") ;
policeman_N = mkCmpdNoun "پولیس" (P.mkN "والا") ;
priest_N = (P.mkN "پیغمبر") ;
-- probable_AS = mkAS (regA "پr?بابلع") ;
queen_N = P.mkN "شہزادی" ;
radio_N = P.mkN "ریڈیو" ;
rain_V0 = compoundV "بارش" (mkV "ہونا" ) ;
read_V2 = mkV2 (mkV "پڑھنا");
red_A = mkA "لال" ;
religion_N = P.mkN "مزہب" ;
restaurant_N = P.mkN "ہوٹل" ;
-- river_N = P.mkN "دریا" masculine ;
rock_N = P.mkN "چٹان" ;
-- roof_N = P.mkN "چھت" masculine ;
rubber_N = P.mkN "ربڑ" ;
run_V = mkV "دوڑنا" ;
say_VS = mkV "کہنا" ;
school_N = P.mkN "سکول" ;
science_N = P.mkN "سانس" ;
sea_N = P.mkN "سمندر" ;
seek_V2 = mkV2 (compoundV "تلاش" do_V2) ;
see_V2 = mkV2 (mkV "دیکھنا") ;
sell_V3 = mkV3 (mkV "بیچنا") "کو" "";
send_V3 = mkV3 (mkV "بھیجنا") "کو" "";
sheep_N = P.mkN "بھیڑ" feminine ;
ship_N = P.mkN "جہاز" ;
shirt_N = P.mkN "قمیص" feminine;
shoe_N = P.mkN "جوتا" ;
shop_N = P.mkN "دوکان" feminine ;
short_A = mkA "چھوٹا" ;
silver_N = P.mkN "چاندی" ;
sister_N = P.mkN "بہن" feminine ;
sleep_V = mkV "سونا" ;
small_A = mkA "چھوٹا" ;
snake_N = P.mkN "سانپ" ;
sock_N = P.mkN "جراب" feminine ;
speak_V2 = mkV2 (mkV "بولنا") ;
star_N = P.mkN "ستارا" ;
steel_N = P.mkN "سٹیل" ;
stone_N = P.mkN "پتھر" ;
stove_N = P.mkN "چولہا" ;
student_N = mkCmpdNoun "طالب" (P.mkN "علم") ;
stupid_A = mkA "احمق" ;
sun_N = P.mkN "سورج" ;
switch8off_V2 = mkV2 (mkV "چلانا") ;
switch8on_V2 = mkV2 (compoundV "بند" do_V2) ;
table_N = P.mkN "میز" feminine ;
talk_V3 = mkV3 (mkV "بولنا") "سے" "[کے بارے میN]";
teacher_N = P.mkN "استاد" ;
teach_V2 = mkV2 (mkV "پڑھنا") ;
television_N = P.mkN "تیلیویژن" ;
thick_A = mkA "موٹا" ;
thin_A = mkA "پتلا" ;
train_N = P.mkN "گاڑی" ;
travel_V = (compoundV "سفر" do_V2) ;
-- tree_N = P.mkN "درخت" masculine ;
-- ---- trousers_N = P.mkN "تr??سعرس" ;
ugly_A = mkA "بدصورت" ;
understand_V2 = mkV2 (mkV "سمجھنا") ;
university_N = P.mkN "یونیورسٹی" ;
village_N = P.mkN "گاوں" ;
wait_V2 = mkV2 (compoundV "انتظار" do_V2) ;
walk_V = mkV "چلنا" ;
warm_A = mkA "گرم" ;
war_N = P.mkN "جنگ" ;
watch_V2 = mkV2 (mkV "دیکھنا") ;
water_N = P.mkN "پانی" ; -- not covered masculine ending with y
white_A = mkA "سفید" ;
window_N = P.mkN "کھڑکی" ;
wine_N = P.mkN "شراب" feminine ;
win_V2 = mkV2 (mkV "جیتنا") ;
woman_N = P.mkN "عورت" feminine ;
wonder_VQ = compoundV "حیران" (mkV "ہونا") ;
wood_N = P.mkN "لکڑی" ;
write_V2 = mkV2 (mkV "لکھنا") ;
yellow_A = mkA "پیلا" ;
young_A = mkA "جوان" ;
do_V2 = mkV2 (mkV "کرنا") ;
now_Adv = mkAdv "اب" ;
already_Adv = mkAdv "[پہلے ہy]" ;
song_N = P.mkN "گانا" ;
add_V3 = mkV3 (compoundV "اضافہ" do_V2) "" "" ;
number_N = P.mkN "ہندسہ" ;
put_V2 = mkV2 (mkV "ڈالنا") ;
stop_V = mkV "رکنا" ;
jump_V = mkV "چھلانگنا" ;
left_Ord = {s = "بایاں" ; n = singular};
right_Ord = {s= "دایاں" ; n = singular};
far_Adv = mkAdv "دور" ;
correct_A = mkA "صیح" ;
dry_A = mkA "خشک" ;
dull_A = mkA "نالایق" ;
full_A = mkA "مکمل" ;
heavy_A = mkA "بھاری" ;
near_A = mkA "قریبی" ;
rotten_A = mkA "خراب" ;
round_A = mkA "گول" ;
sharp_A = mkA "تیز" ;
smooth_A = mkA "ہموار" ;
straight_A = mkA "سیدھا" ;
wet_A = mkA "گیلا" ; ----
wide_A = mkA "کھلا" ;
animal_N = P.mkN "جانور" ;
ashes_N = P.mkN "راکھ" feminine; -- FIXME: plural only?
back_N = P.mkN "قمر" feminine ;
bark_N = P.mkN "بارک" ;
belly_N = P.mkN "دھنی" ;
blood_N = P.mkN "خون" ;
bone_N = P.mkN "ہڈی" ;
breast_N = P.mkN "چھاتی" ;
cloud_N = P.mkN "بادل" ;
day_N = P.mkN "دن" ;
dust_N = P.mkN "دھول" ;
ear_N = P.mkN "کان" ;
earth_N = P.mkN "زمین" feminine ;
egg_N = P.mkN "انڈہ" ;
eye_N = P.mkN "آنکھ" feminine ;
fat_N = P.mkN "موٹا" ;
feather_N = P.mkN "پر" ;
fingernail_N = P.mkN "ناخن" ;
fire_N = P.mkN "آگ" feminine ;
flower_N = P.mkN "پھول" ;
fog_N = P.mkN "دھند" feminine ;
foot_N = P.mkN "پاوں" ; -- not properly covered need to be discussed
forest_N = P.mkN "جنگل" ;
grass_N = P.mkN "گھاس" feminine ;
guts_N = P.mkN "گٹ" ; -- FIXME: no singular
hair_N = P.mkN "بال" ;
hand_N = P.mkN "ہاتھ" ;
head_N = P.mkN "سر" ;
heart_N = P.mkN "دل" ;
horn_N = P.mkN "گھنٹی" ;
husband_N = P.mkN "شوہر" ;
ice_N = P.mkN "برف" feminine ;
knee_N = P.mkN "کہنی" ;
leaf_N = P.mkN "پتہ" ;
leg_N = P.mkN "ٹانگ" feminine ;
liver_N = P.mkN "جگر" ;
louse_N = P.mkN "گھر" ;
mouth_N = P.mkN "منہ" ;
name_N = P.mkN "نام" ;
neck_N = P.mkN "گردن" feminine ;
night_N = P.mkN "رات" feminine ;
nose_N = P.mkN "ناک" ;
person_N = P.mkN "شخص" ;
rain_N = P.mkN "بارش" feminine ;
road_N = P.mkN "سڑک" ;
root_N = P.mkN "جڑ" feminine ;
rope_N = P.mkN "رسی" ;
salt_N = P.mkN "نمک" feminine ;
sand_N = P.mkN "ریت" feminine ;
seed_N = P.mkN "بیج" ;
skin_N = P.mkN "جلد" feminine ;
sky_N = P.mkN "آسمان" ;
smoke_N = P.mkN "دھواں"; -- singular masc nouns ending with aN,wN yet to be implemented
snow_N = P.mkN "برف" feminine ;
stick_N = P.mkN "چھڑی" ;
tail_N = P.mkN "دم" ;
tongue_N = P.mkN "زبان" feminine ;
-- tooth_N = P.mkN "دانت" masculine;
wife_N = P.mkN "بیوی" ;
wind_N = P.mkN "آندھی" ;
wing_N = P.mkN "پر" ;
worm_N = P.mkN "گرم" ;
year_N = P.mkN "سال" ;
blow_V = mkV "چلنا" ;
breathe_V = compoundV "سانس" (mkV "لینا" ) ;
burn_V = mkV "جلنا" ;
dig_V = mkV "کھودنا" ;
fall_V = mkV "گرنا" ;
float_V = mkV "تیرنا" ;
flow_V = mkV "بہنا" ;
fly_V = mkV "اڑنا" ;
freeze_V = mkV "جمنا";
give_V3 = mkV3 (mkV "دینا") "کو" "";
laugh_V = mkV "ہنسنا" ;
-- lie_N = P.mkN "جھوت" masculine ;
lie_V = compoundV "جھوٹ" (mkV "بولنا" );
play_V = mkV "کھیلنا" ;
sew_V = mkV "سینا" ;
sing_V = mkV "گانا" ;
sit_V = mkV "بیٹھنا" ;
smell_V = mkV "سونگنا" ;
spit_V = mkV "تھوکنا" ;
stand_V = compoundV "کھڑے" (mkV "ہونا" );
swell_V = mkV "سوجھنا" ;
swim_V = mkV "تیرنا" ;
think_V = mkV "سوچنا" ;
turn_V = mkV "مڑنا";
vomit_V = compoundV "التی" (mkV "کرنا") ;
bite_V2 = mkV2 (mkV "کاٹنا") ;
count_V2 = mkV2 (mkV "گننا") ;
cut_V2 = mkV2 (mkV "کاتنا") ;
fear_V2 = mkV2 (mkV "ڈرنا") ;
fight_V2 = mkV2 (mkV "لڑنا") ;
hit_V2 = mkV2 (compoundV "ٹھوکر" (mkV "مارنا" ));
hold_V2 = mkV2 (mkV "پکڑنا") ;
hunt_V2 = mkV2 (compoundV "شکار" do_V2);
kill_V2 = mkV2 (compoundV "مار" (mkV "ڈالنا" )) ;
pull_V2 = mkV2 (mkV "کھنچنا");
push_V2 = mkV2 (mkV "دھکیلنا") "کو" ;
rub_V2 = mkV2 (mkV "رگڑنا") ;
scratch_V2 = mkV2 (mkV "کھرچنا") "کو" ;
split_V2 = mkV2 (mkV "بانٹنا") "کو" ;
-- squeeze_V2 = dirV2 (regV "سq?ععزع") ;
-- stab_V2 = dirV2 (regDuplV "ستاب") ;
suck_V2 = mkV2 (mkV "چوسنا") ;
throw_V2 = mkV2 (mkV "پھینکنا") ;
tie_V2 = mkV2 (mkV "باندھنا") ;
wash_V2 = mkV2 (mkV "دھونا") ;
wipe_V2 = mkV2 (compoundV "صاف" (mkV "کرنا" ));
---- other_A = regA "؟تہعر" ;
grammar_N = P.mkN "گردان" ;
language_N = P.mkN "زبان" feminine ;
rule_N = P.mkN "اصول" ;
---- added 4/6/2007
john_PN = mkPN "جان" ;
question_N = P.mkN "سوال" ;
ready_A = mkA "تیار" ;
reason_N = P.mkN "وجہ" feminine ;
today_Adv = mkAdv "آج" ;
uncertain_A = mkA ["غیریقینی"] ;
}

View File

@@ -0,0 +1,154 @@
--# -path=.:../abstract
concrete ExtensionsUrd of Extensions =
CatUrd ** open MorphoUrd, ResUrd, ParadigmsUrd, CommonHindustani, (E = ExtraUrd), Prelude in {
flags coding = utf8 ;
lincat
---- VPI = E.VPI ;
---- ListVPI = E.ListVPI ;
VPS = E.VPS ;
ListVPS = E.ListVPS ;
lin
---- MkVPI = E.MkVPI ;
---- ConjVPI = E.ConjVPI ;
---- ComplVPIVV = E.ComplVPIVV ;
MkVPS = E.MkVPS ;
ConjVPS = E.ConjVPS ;
PredVPS = E.PredVPS ;
---- BaseVPI = E.BaseVPI ;
---- ConsVPI = E.ConsVPI ;
BaseVPS = E.BaseVPS ;
ConsVPS = E.ConsVPS ;
GenNP = E.GenNP ;
---- GenIP = E.GenIP ;
---- GenRP = E.GenRP ;
---- PassVPSlash = E.PassVPSlash ;
---- PassAgentVPSlash = E.PassAgentVPSlash ;
---- EmptyRelSlash = E.EmptyRelSlash ;
lin
CompoundN noun cn = {
s = \\n,c => cn.s ! Sg ! Dir ++ noun.s ! n ! c;
g = cn.g
} ;
GerundN v = {
s = \\n,c => v.cvp ++ v.s ! Inf ; -- v.s ! VF Imperf Pers2_Casual n Masc ++ hwa (Ag Masc n Pers2_Casual) ; --the main verb of compound verbs
g = Masc
} ;
GerundAP v = {
s = \\n,g,_,_ => v.cvp ++ v.s ! VF Imperf Pers2_Casual n g ++ hwa (Ag g n Pers2_Casual) ;
} ;
---- PastPartAP v = {
---- s = \\n,g,_,_ => v.cvp ++ v.s ! VF Imperf Pers2_Casual n g ; -- the main verb of compound versb needs to be attached here
---- } ;
OrdCompar a = {s = a.s ! Sg ! Masc ! Dir ! Compar ; n = Sg } ;
PositAdVAdj a = {s = a.s ! Sg ! Masc ! Dir ! Posit} ;
---------------
--SlashV2V v p vp = insertVV (infV2V v.isAux vp) (predV v) vp.embComp ** {c2 = {s = sE ; c = VTrans}}; -- changed from VTransPost
ComplVV v a p vp = insertTrans (insertVV (infVV v.isAux vp) (predV v) vp.embComp ) VTrans; -- changed from VTransPost
---------------
UseQuantPN q pn = {s = \\c => q.s ! Sg ! pn.g ! Dir ++ pn.s ! Dir ; a = agrP3 pn.g Sg} ;
PredVPosv np vp = mkClause np vp ; --{
{- s = \\t,a,b,o =>
let
verb = vp.s ! t ! a ! b ! o ! np.a ;
compl = vp.s2 ! np.a
in
case o of {
ODir => compl ++ "," ++ np.s ! npNom ++ verb.aux ++ vp.ad ++ verb.fin ++ verb.adv ++ verb.inf ;
OQuest => verb.aux ++ compl ++ "," ++ np.s ! npNom ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf
}
} ;
-}
PredVPovs np vp = mkClause np vp ; --{
{- s = \\t,a,b,o =>
let
verb = vp.s ! t ! a ! b ! o ! np.a ;
compl = vp.s2 ! np.a
in
case o of {
ODir => compl ++ verb.aux ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf ++ np.s ! npNom ;
OQuest => verb.aux ++ compl ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf ++ np.s ! npNom
}
} ;
-}
{-
SlashV2V v p vp = insertObjc (\\a => p.s ++ case p.p of {CPos => ""; _ => "not"} ++
v.c3 ++
infVP v.typ vp a)
(predVc v) ;
ComplPredVP np vp = {
s = \\t,a,b,o =>
let
verb = vp.s ! t ! a ! b ! o ! np.a ;
compl = vp.s2 ! np.a
in
case o of {
ODir => compl ++ "," ++ np.s ! npNom ++ verb.aux ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf ;
OQuest => verb.aux ++ compl ++ "," ++ np.s ! npNom ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf
}
} ;
-}
CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
infVP False vp a} ; -- check for vp.isAux
that_RP = {
s = \\_,_ => "कि" ;
a = RNoAg
} ;
--no_RP = {
-- s = \\_,_ => "" ;
-- a = RNoAg
-- } ;
CompS s = {s = \\_ => "कि" ++ s.s} ;
-- CompVP vp = {s = \\a => infVP VVInf vp a} ;
lin
PPos = {s = [] ; p = Pos} ;
PNeg = {s = [] ; p = Neg} ; -- contracted: don't
UncNeg = {s = [] ; p = Neg} ;
VPSlashPrep vp p = vp ** {c2 = {s = p.s!Masc ; c = VTrans}} ;
PastPartRS ant pol vps = {
s = \\agr => (vps.s!VPTense VPPast agr).inf ;
c = Dir
} ;
PresPartRS ant pol vp = {
s = \\agr => (vp.s!VPTense VPPres agr).inf ;
c = Dir
} ;
ApposNP np1 np2 = {
s = \\c => np1.s!NPC Dir ++ "," ++ np2.s ! c ;
a = np2.a
} ;
AdAdV = cc2 ;
UttAdV adv = adv;
}

View File

@@ -0,0 +1,36 @@
--# -path=.:../chunk:alltenses
concrete TranslateUrd of Translate =
TenseX - [AdN,Adv,SC],
CatUrd,
NounUrd - [PPartNP],
AdjectiveUrd,
NumeralUrd,
SymbolUrd [
PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP
],
ConjunctionUrd,
VerbUrd - [
UseCopula,
PassV2 -- generalized in Extensions
],
AdverbUrd,
PhraseUrd,
SentenceUrd,
QuestionUrd,
RelativeUrd,
IdiomUrd,
---- ConstructionUrd,
---- DocumentationUrd,
ChunkUrd,
ExtensionsUrd [ ListVPS,BaseVPS,ConsVPS,ConjVPS,ListVPI,BaseVPI,ConsVPI,ConjVPI,
CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash],
DictionaryUrd **
open MorphoUrd, ResUrd, ParadigmsUrd, SyntaxUrd, CommonScand, (E = ExtraUrd), Prelude in {
flags
literal=Symb ;
}