OSDN Git Service

Fix no pic
[uclinux-h8/uClinux-dist.git] / user / at / timespec
1 /* 
2  * Abbreviated version of the yacc grammar used by at(1).
3  */
4
5 %token  <charval> INT
6 %token  NOW
7 %token  AM PM
8 %token  NOON MIDNIGHT TEATIME
9 %token  SUN MON TUE WED THU FRI SAT
10 %token  TODAY TOMORROW
11 %token  NEXT
12 %token  MINUTE HOUR DAY WEEK MONTH YEAR
13 %token  JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
14 %token  <charval> WORD
15
16 %type <intval> inc_period
17 %type <intval> inc_number
18 %type <intval> day_of_week
19
20 %start timespec
21 %%
22 timespec        : time
23                 | time date
24                 | time increment
25                 | time date increment
26                 | time decrement
27                 | time date decrement
28                 | nowspec
29                 ;
30
31 nowspec         : now
32                 | now increment
33                 | now decrement
34                 ;
35
36 now             : NOW 
37                 ;
38
39 time            : hr24clock_hr_min
40                 | hr24clock_hr_min timezone_name
41                 | hr24clock_hour time_sep minute
42                 | hr24clock_hour time_sep minute timezone_name
43                 | hr24clock_hour am_pm
44                 | hr24clock_hour am_pm timezone_name
45                 | hr24clock_hour time_sep minute am_pm
46                 | hr24clock_hour time_sep minute am_pm timezone_name
47                 | NOON
48                 | MIDNIGHT
49                 | TEATIME
50                 ;
51
52 date            : month_name day_number
53                 | month_name day_number ',' year_number
54                 | day_of_week
55                 | TODAY
56                 | TOMORROW
57                 | year_number '-' month_number '-' day_number
58                 | day_number '.' month_number '.' year_number
59                 | day_number '.' month_number
60                 | day_number month_name
61                 | day_number month_name year_number
62                 | month_number '/' day_number '/' year_number
63                 ;
64
65 increment       : '+' inc_number inc_period
66                 | NEXT inc_period               
67                 | NEXT day_of_week
68                 ;
69
70 decrement       : '-' inc_number inc_period
71                 ;
72
73 inc_period      : MINUTE | HOUR | DAY | WEEK | MONTH | YEAR
74                 ;
75
76 hr24clock_hr_min: INT
77                 ;
78
79 timezone_name   : WORD
80                 ;
81
82 hr24clock_hour  : hr24clock_hr_min
83                 ;
84
85 minute          : INT
86                 ;
87
88 am_pm           : AM | PM
89                 ;
90
91 month_name      : JAN | FEB | MAR | APR | MAY | JUN | JUL
92                 | AUG | SEP | OCT | NOV | DEC
93                 ;
94
95 month_number    : INT
96                 ;
97 day_number      : INT
98                 ;
99
100 year_number     : INT
101                 ;
102
103 day_of_week     : SUN | MON | TUE | WED | THU | FRI | SAT
104                 ;
105
106 inc_number      : INT
107                 ;
108
109 time_sep        : ':' | '\'' | '.' | 'h' | ','
110                 ;