ndp.lua

changeset 5
3eee607e57e8
parent 1
29a492373a7c
child 6
a8bbbfdd12db
equal deleted inserted replaced
4:305e9dd7fc34 5:3eee607e57e8
27 'thursday', 'friday', 'saturday', 'sunday'} 27 'thursday', 'friday', 'saturday', 'sunday'}
28 28
29 local month_name = lpeg.one_of {'january', 'february', 'march', 'april', 'may', 'june', 29 local month_name = lpeg.one_of {'january', 'february', 'march', 'april', 'may', 'june',
30 'july', 'august', 'september', 'october', 'november', 'december' } 30 'july', 'august', 'september', 'october', 'november', 'december' }
31 31
32 local year = (lpeg.R("09")^4)^-4 32 local year = lpeg.R("09") * lpeg.R("09") * lpeg.R("09") * lpeg.R("09");
33 33
34 local unit_of_time = lpeg.one_of { 'second', 'minute', 'hour', 'day', 'week', 'month', 'year' } 34 local unit_of_time = lpeg.one_of { 'second', 'minute', 'hour', 'day', 'week', 'month', 'year' }
35 35
36 local time_of_day = lpeg.one_of { 'morning', 'noon', 'afternoon', 'evening', 'night', 'midnight' } 36 local time_of_day = lpeg.one_of { 'morning', 'noon', 'afternoon', 'evening', 'night', 'midnight' }
37 local time_of_days = { morning = 09, noon = 12, afternoon = 13, evening = 17, night = 21, midnight = 00 } 37 local time_of_days = { morning = 09, noon = 12, afternoon = 13, evening = 17, night = 21, midnight = 00 }
106 end }; 106 end };
107 { P"next year" / 107 { P"next year" /
108 function () 108 function ()
109 time = adjust_time(time, "year", get_time_part(time, "year") + 1); 109 time = adjust_time(time, "year", get_time_part(time, "year") + 1);
110 end }; 110 end };
111 { P"on "^0 * day_name / 111 { year /
112 function (day_name) 112 function (year)
113 time = find_next_day_by_name(time, day_name:match("%S+$")); 113 time = adjust_time(time, "year", tonumber(year));
114 end }; 114 end };
115 { P"in "^0 * month_name / 115 { P"in "^0 * month_name /
116 function (month_name) 116 function (month_name)
117 time = find_next_month_by_name(time, month_name:match("%S+$")); 117 time = find_next_month_by_name(time, month_name:match("%S+$"));
118 end }; 118 end };

mercurial