Files
gf-rgl/src/japanese/ConstructionJpn.gf

101 lines
3.4 KiB
Plaintext

concrete ConstructionJpn of Construction = CatJpn **
open SyntaxJpn, ParadigmsJpn, (R=ResJpn), (L = LexiconJpn), SymbolicJpn in {
lin
hungry_VP = mkVP (mkV "お腹が空いている" R.Gr1) ;
thirsty_VP = mkVP (mkA "喉が乾いている" "渇した") ;
tired_VP = mkVP (mkA "疲れている" "疲れた") ;
scared_VP = mkVP (mkA "怖い") ;
ill_VP = mkVP (mkA "病気の") ;
ready_VP = mkVP L.ready_A ;
lincat
Timeunit = N ;
Weekday = N ;
Monthday = NP ;
Month = N ;
Year = NP ;
lin
-- : Weekday -> Adv ;
weekdayPunctualAdv w = SyntaxJpn.mkAdv in_Prep (mkNP w) ; -- on Sunday
weekdayHabitualAdv w = SyntaxJpn.mkAdv in_Prep (mkNP w) ; -- on Sundays
weekdayNextAdv w = SyntaxJpn.mkAdv in_Prep (mkNP (mkCN (mkA "次の") w)) ; -- next Sunday
weekdayLastAdv w = SyntaxJpn.mkAdv in_Prep (mkNP (mkCN (mkA "先週の") w)) ; -- last Sunday
-- : Month -> Adv ; -- in June
monthAdv m = SyntaxJpn.mkAdv in_Prep (mkNP m) ;
-- : Year -> Adv ; -- in 1976
yearAdv y = SyntaxJpn.mkAdv in_Prep y ;
-- : Monthday -> Month -> Adv ; -- on 17 May / 五月十七日に
dayMonthAdv day month =
let futsukaNi : Adv = SyntaxJpn.mkAdv in_Prep day ;
sangatsu : R.Style => Str = month.s ! R.Sg ;
in futsukaNi ** { s = \\style => sangatsu ! style ++ futsukaNi.s ! style } ;
-- : Month -> Year -> Adv ; -- in May 2013
monthYearAdv m y = SyntaxJpn.mkAdv in_Prep (mkNP (mkCN m y)) ;
-- : Monthday -> Month -> Year -> Adv ; -- on 17 May 2013
dayMonthYearAdv d m y =
let futsukaNi : Adv = SyntaxJpn.mkAdv in_Prep d ;
sangatsu2013 : R.Style => Str = \\st => y.s ! st ++ "年" ++ m.s ! R.Sg ! st;
in futsukaNi ** { s = \\style => sangatsu2013 ! style ++ futsukaNi.s ! style } ;
-- : Int -> Year ; -- (year) 1963
intYear = symb ;
-- : Int -> Monthday ; -- 31th (March)
intMonthday i = symb { s = i.s ++ "日" } ;
-- coercions to RGL categories
weekdayN w = w ;
monthN m = m ;
weekdayPN w = mkPN (w.s ! R.Sg ! R.Plain) ;
monthPN m = mkPN (m.s ! R.Sg ! R.Plain) ;
----------------------------------------------
---- lexicon of special names
-- This is pure guessing /IL 2017-07
-- second_Timeunit = mkN "second" ;
-- minute_Timeunit = mkN "minute" ;
-- hour_Timeunit = mkN "hour" ;
day_Timeunit = mkN "日" ;
week_Timeunit = mkN "週間" ;
month_Timeunit = mkN "箇月" ;
year_Timeunit = mkN "年" ;
monday_Weekday = mkN "月曜日" ; -- "getsuyoubi"
tuesday_Weekday = mkN "火曜日" ; -- "kayoubi"
wednesday_Weekday = mkN "水曜日" ; -- "suiyoubi"
thursday_Weekday = mkN "木曜日" ; -- "mokuyoubi"
friday_Weekday = mkN "金曜日" ; -- "kin'youbi"
saturday_Weekday = mkN "土曜日" ; -- "doyoubi"
sunday_Weekday = mkN "日曜日" ; -- "nichiyoubi"
january_Month = mkN "一月" ; -- ichigatsu
february_Month = mkN "二月" ; -- nigatsu
march_Month = mkN "三月" ; -- sangatsu
april_Month = mkN "四月" ; -- shigatsu
may_Month = mkN "五月" ; -- gogatsu
june_Month = mkN "六月" ; -- rokugatsu
july_Month = mkN "七月" ; -- shichigatsu
august_Month = mkN "八月" ; -- hachigatsu
september_Month = mkN "九月" ; -- kugatsu
october_Month = mkN "十月" ; -- jyuugatsu
november_Month = mkN "十一月" ; -- jyuuichigatsu
december_Month = mkN "十二月" ; -- jyuunigatsu
}