forked from GitHub/gf-rgl
89 lines
2.3 KiB
Plaintext
89 lines
2.3 KiB
Plaintext
--# -path=.:abstract:prelude:api:common
|
|
concrete ConstructionPes of Construction = CatPes ** open
|
|
Prelude,
|
|
ParadigmsPes,
|
|
(P=ParadigmsPes),
|
|
SyntaxPes,
|
|
(S=SyntaxPes),
|
|
SymbolicPes,
|
|
StructuralPes,
|
|
(E=ExtendPes),
|
|
(R=ResPes),
|
|
(L=LexiconPes) in {
|
|
|
|
lincat
|
|
Timeunit = N ;
|
|
Weekday = N ;
|
|
Monthday = NP ;
|
|
Month = N ;
|
|
Year = NP ;
|
|
Language = N ;
|
|
|
|
|
|
lin
|
|
weekdayN w = w ;
|
|
monthN m = m ;
|
|
|
|
-- weekdayPN w = mkPN w ;
|
|
-- monthPN m = mkPN m ;
|
|
|
|
timeunitAdv n time =
|
|
let n_card : Card = n ;
|
|
n_hours_NP : NP = mkNP n_card time ;
|
|
in S.mkAdv during_Prep n_hours_NP ; ---- /IL
|
|
|
|
weekdayPunctualAdv w = lin Adv (S.mkUtt (mkNP w)) ; -- on Sunday
|
|
-- TODO
|
|
weekdayHabitualAdv, -- on Sundays
|
|
weekdayNextAdv, -- next Sunday
|
|
weekdayLastAdv = weekdayPunctualAdv ; -- last Sunday
|
|
|
|
monthAdv january =
|
|
let january_NP : NP = mkNP january ;
|
|
in S.mkAdv in_Prep january_NP ;
|
|
|
|
yearAdv y = S.mkAdv in_Prep y ;
|
|
|
|
intYear = symb ;
|
|
intMonthday = symb ;
|
|
|
|
languageCN l = mkCN l ;
|
|
languageNP l = mkNP l ;
|
|
|
|
InLanguage l = S.mkAdv in_Prep (mkNP l) ;
|
|
|
|
english_Language = mkLanguage "انگلیسی" ;
|
|
finnish_Language = mkLanguage "فنلاند" ;
|
|
swedish_Language = mkLanguage "سوئدی" ;
|
|
arabicLanguage = mkLanguage "عربی" ;
|
|
finnishLanguage = mkLanguage "فنلاندی" ;
|
|
frenchLanguage = mkLanguage "فرانسوی" ;
|
|
persianLanguage = mkLanguage "فارسی" ;
|
|
romanianLanguage = mkLanguage "رومانیایی" ;
|
|
polishLanguage = mkLanguage "لهستانی" ;
|
|
bulgarianLanguage = mkLanguage "بلغاری" ;
|
|
somaliLanguage = mkLanguage "سومالیایی" ;
|
|
turkishLanguage = mkLanguage "ترکی" ;
|
|
kurdishLanguage = mkLanguage "کردی" ;
|
|
|
|
-- : Card -> CN -> A -> AP
|
|
n_units_AP card cn a =
|
|
let ap = mkAP a in ap ** {
|
|
s = \\ez =>
|
|
ap.s ! ez
|
|
++ (mkUtt (mkNP card cn)).s ---- just guessing /IL
|
|
} ;
|
|
|
|
hungry_VP = mkVP (mkA "گرسنه") ;
|
|
thirsty_VP = mkVP (mkA "تشنه") ;
|
|
have_name_Cl p n = mkCl (mkNP (E.GenNP p) L.name_N) n ;
|
|
what_name_QCl p = mkQCl what_IAdv (mkNP (E.GenNP p) L.name_N) ;
|
|
|
|
how_old_QCl p = mkQCl howMuchAge_IAdv (mkNP (mkNP (E.GenNP p)) (P.mkAdv "سال")) ;
|
|
|
|
oper
|
|
howMuchAge_IAdv = lin IAdv {s = "چند"} ;
|
|
what_IAdv = lin IAdv {s = "چه چیزی"} ;
|
|
mkLanguage : Str -> N = mkN ;
|
|
}
|