From 77b02544fb91a658346f25019cbf2a21b79f9081 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 25 Feb 2011 15:44:25 +0000 Subject: simple grammar for dates --- examples/dates/Dates.gf | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 examples/dates/Dates.gf (limited to 'examples/dates/Dates.gf') diff --git a/examples/dates/Dates.gf b/examples/dates/Dates.gf new file mode 100644 index 000000000..9ac664a1c --- /dev/null +++ b/examples/dates/Dates.gf @@ -0,0 +1,32 @@ +abstract Dates = { + +flags startcat = Date ; + +cat + Date ; Year ; Month ; Day ; Time ; Hour ; Minute ; Weekday ; Ampm ; + +fun + DFull : Year -> Month -> Day -> Weekday -> Time -> Date ; + + MkYear : Int -> Year ; + + MJan, MFeb, MMar, MApr, MMay, MJun, MJul, MAug, MSep, MOct, MNov, MDec : Month ; + + MkDay : Int -> Day ; + + MkTime : Ampm -> Hour -> Minute -> Time ; + + H01, H02, H03, H04, H05, H06, H07, H08, H09, H10, H11, H12 : Hour ; + + MkMinute : Int -> Minute ; + + WSun, WMon, WTue, WWed, WThu, WFri, WSat : Weekday ; + + AM, PM : Ampm ; + +-- noncanonical ways + + DToday, DYesterday, DTomorrow : Time -> Date ; + +} + -- cgit v1.2.3