forked from GitHub/gf-rgl
65 lines
3.5 KiB
Plaintext
65 lines
3.5 KiB
Plaintext
concrete ConstructionSqi of Construction = CatSqi **
|
|
open Prelude, ParamX, ResSqi, ParadigmsSqi, GrammarSqi in {
|
|
|
|
lincat
|
|
Timeunit = N ;
|
|
Hour = {s:Str} ;
|
|
Weekday = N ;
|
|
Month = N ;
|
|
Monthday = {s:Str} ;
|
|
Year = {s:Str} ;
|
|
Language = N ;
|
|
|
|
oper
|
|
adjVP : A -> VP = \a -> UseComp (CompAP (PositA a)) ;
|
|
appendVP : VP -> Str -> VP = \v,s -> v ** {
|
|
indicative=\\t,n,p,g,c=>v.indicative!t!n!p!g!c++s;
|
|
subjunctive=\\n,p,g,c=>v.subjunctive!n!p!g!c++s;
|
|
imperative=\\n,c=>v.imperative!n!c++s;
|
|
participle=\\a,c=>v.participle!a!c++s
|
|
} ;
|
|
hour : Str -> Hour = \s -> lin Hour {s=s} ;
|
|
|
|
lin
|
|
hungry_VP=adjVP (mkA "uritur"); thirsty_VP=adjVP (mkA "etur");
|
|
tired_VP=adjVP (mkA "lodhur"); scared_VP=adjVP (mkA "frikësuar");
|
|
ill_VP=adjVP (mkA "sëmurë"); ready_VP=adjVP (mkA "gatshëm");
|
|
has_age_VP c=appendVP (UseV (irregV "kam" "ke" "ka" "kemi" "keni" "kanë" "ki" "kini" "pasur")) (c.s++"vjeç");
|
|
n_units_AP c unit a={s=\\sp,k,g,n=>c.s++unit.s!Indef!Nom!Pl++(PositA a).s!sp!k!g!n};
|
|
n_units_of_NP c unit np={s=\\_=>c.s++unit.s!Indef!Nom!Pl++"nga"++np.s!Ablat;a={gn=GPl;p=P3}};
|
|
n_unit_CN c unit cn={s=\\sp,k,n=>c.s++unit.s!Indef!Nom!Sg++cn.s!sp!k!n;g=cn.g};
|
|
bottle_of_CN np={s=\\sp,k,n=>(mkN "shishe").s!sp!k!n++"me"++np.s!Acc;g=Fem};
|
|
cup_of_CN np={s=\\sp,k,n=>(mkN "filxhan").s!sp!k!n++"me"++np.s!Acc;g=Masc};
|
|
glass_of_CN np={s=\\sp,k,n=>(mkN "gotë").s!sp!k!n++"me"++np.s!Acc;g=Fem};
|
|
|
|
timeunitAdv c u={s="për"++c.s++u.s!Indef!Acc!Pl};
|
|
timeunitRange a b u={s="nga"++a.s++"deri në"++b.s++u.s!Indef!Acc!Pl};
|
|
oneHour=hour "1"; twoHour=hour "2"; threeHour=hour "3"; fourHour=hour "4";
|
|
fiveHour=hour "5"; sixHour=hour "6"; sevenHour=hour "7"; eightHour=hour "8";
|
|
nineHour=hour "9"; tenHour=hour "10"; elevenHour=hour "11"; twelveHour=hour "12";
|
|
thirteenHour=hour "13"; fourteenHour=hour "14"; fifteenHour=hour "15"; sixteenHour=hour "16";
|
|
seventeenHour=hour "17"; eighteenHour=hour "18"; nineteenHour=hour "19"; twentyHour=hour "20";
|
|
twentyOneHour=hour "21"; twentyTwoHour=hour "22"; twentyThreeHour=hour "23"; twentyFourHour=hour "24";
|
|
timeHour h={s="në orën"++h.s}; timeHourMinute h m={s="në orën"++h.s++SOFT_BIND++":"++SOFT_BIND++m.s};
|
|
|
|
weekdayPunctualAdv w={s="të"++w.s!Def!Acc!Sg};
|
|
weekdayHabitualAdv w={s="të"++w.s!Def!Acc!Pl};
|
|
weekdayLastAdv w={s="të"++w.s!Def!Acc!Sg++"e kaluar"};
|
|
weekdayNextAdv w={s="të"++w.s!Def!Acc!Sg++"e ardhshme"};
|
|
monthAdv m={s="në"++m.s!Indef!Acc!Sg}; yearAdv y={s="në"++y.s};
|
|
dayMonthAdv d m={s="më"++d.s++m.s!Indef!Acc!Sg};
|
|
monthYearAdv m y={s="në"++m.s!Indef!Acc!Sg++y.s};
|
|
dayMonthYearAdv d m y={s="më"++d.s++m.s!Indef!Acc!Sg++y.s};
|
|
intYear i={s=i.s}; intMonthday i={s=i.s};
|
|
weekdayN w=w; monthN m=m;
|
|
weekdayPN w=mkPN (w.s!Indef!Nom!Sg); monthPN m=mkPN (m.s!Indef!Nom!Sg);
|
|
|
|
second_Timeunit=mkN "sekondë"; minute_Timeunit=mkN "minutë"; hour_Timeunit=mkN "orë";
|
|
day_Timeunit=mkN "ditë"; week_Timeunit=mkN "javë"; month_Timeunit=mkN "muaj"; year_Timeunit=mkN "vit";
|
|
monday_Weekday=mkN "e hënë"; tuesday_Weekday=mkN "e martë"; wednesday_Weekday=mkN "e mërkurë";
|
|
thursday_Weekday=mkN "e enjte"; friday_Weekday=mkN "e premte"; saturday_Weekday=mkN "e shtunë"; sunday_Weekday=mkN "e diel";
|
|
january_Month=mkN "janar"; february_Month=mkN "shkurt"; march_Month=mkN "mars"; april_Month=mkN "prill";
|
|
may_Month=mkN "maj"; june_Month=mkN "qershor"; july_Month=mkN "korrik"; august_Month=mkN "gusht";
|
|
september_Month=mkN "shtator"; october_Month=mkN "tetor"; november_Month=mkN "nëntor"; december_Month=mkN "dhjetor";
|
|
}
|