-- Time grammar Abstract syntax

abstract time = {
cat 

-- Times
Time ; 
Hour ; 
Minute ; 

fun
-- Time
hour0 : Hour ;
hour1 : Hour ;
hour2 : Hour ;
hour3 : Hour ;
hour4 : Hour ;
hour5 : Hour ;
hour6 : Hour ;
hour7 : Hour ;
hour8 : Hour ;
hour9 : Hour ;
hour10 : Hour ;
hour11 : Hour ;
hour12 : Hour ;
hour13 : Hour ;
hour14 : Hour ;
hour15 : Hour ;
hour16 : Hour ;
hour17 : Hour ;
hour18 : Hour ;
hour19 : Hour ;
hour20 : Hour ;
hour21 : Hour ;
hour22 : Hour ; 
hour23 : Hour ;

-- Minutes
minute0 : Minute ;
minute1 : Minute ;
minute2 : Minute ;
minute3 : Minute ;
minute4 : Minute ;
minute5 : Minute ;
minute6 : Minute ;
minute7 : Minute ;
minute8 : Minute ;
minute9 : Minute ;
minute10 : Minute ;
minute11 : Minute ;
minute12 : Minute ;
minute13 : Minute ;
minute14 : Minute ;
minute15 : Minute ;
minute16 : Minute ;
minute17 : Minute ;
minute18 : Minute ;
minute19 : Minute ;
minute20 : Minute ;
minute21 : Minute ;
minute22 : Minute ;
minute23 : Minute ;
minute24 : Minute ;
minute25 : Minute ;
minute26 : Minute ;
minute27 : Minute ;
minute28 : Minute ;
minute29 : Minute ;
minute30 : Minute ;
minute31 : Minute ;
minute32 : Minute ;
minute33 : Minute ;
minute34 : Minute ;
minute35 : Minute ;
minute36 : Minute ;
minute37 : Minute ;
minute38 : Minute ;
minute39 : Minute ;
minute40 : Minute ;
minute41 : Minute ;
minute42 : Minute ;
minute43 : Minute ;
minute44 : Minute ;
minute45 : Minute ;
minute46 : Minute ;
minute47 : Minute ;
minute48 : Minute ;
minute49 : Minute ;
minute50 : Minute ;
minute51 : Minute ;
minute52 : Minute ;
minute53 : Minute ;
minute54 : Minute ;
minute55 : Minute ;
minute56 : Minute ;
minute57 : Minute ;
minute58 : Minute ;
minute59 : Minute ;

-- Time expressions
--timeFormal : Hour -> Minute -> Time ;
--timeInformal : Hour -> Minute -> Time ;
time : Hour -> Minute -> Time ;


}
