mirror of
https://github.com/PDP-10/its.git
synced 2026-01-28 04:57:43 +00:00
164 lines
6.3 KiB
Plaintext
164 lines
6.3 KiB
Plaintext
'<PCODE "5TIMFC">
|
|
|
|
<PACKAGE "TIMFCN">
|
|
|
|
<ENTRY DAYS SECONDS SECS-DTNORM DTSECS GOOD-DTSECS TIME-STRING TIMEST REL-TIMEST
|
|
TIME-STR TIME-DIF SPDATE PTIME PDATE GOOD-DTNORM DTNORM DTADD DTADD-2NORM DTDIFF
|
|
DTPRINT SINCE60 TZDIFF TIMEZONE BEFORE? PAST? DTNOW INMONTH DAYS-BETWEEN
|
|
DATE-DOW HOLIDAY? NON-MIT-HOLIDAY? DST? ZONSTR>
|
|
|
|
<GDECL (ZONSTR) <OR STRING FALSE>>
|
|
|
|
<USE "DATIME">
|
|
|
|
<SETG BASE-YEAR 60>
|
|
|
|
<SETG SECS-P-MIN 60>
|
|
|
|
<SETG MINS-P-HOUR 60>
|
|
|
|
<SETG HOURS-P-DAY 24>
|
|
|
|
<SETG DAYS-P-YEAR 365>
|
|
|
|
<SETG SECS-P-HOUR <* ,SECS-P-MIN ,MINS-P-HOUR>>
|
|
|
|
<SETG SECS-P-DAY <* ,SECS-P-HOUR ,HOURS-P-DAY>>
|
|
|
|
<SETG SECS-P-YEAR <* ,DAYS-P-YEAR ,SECS-P-DAY>>
|
|
|
|
<SETG SECS-P-4YEAR <+ <* ,SECS-P-YEAR 4> ,SECS-P-DAY>>
|
|
|
|
<MANIFEST BASE-YEAR SECS-P-MIN MINS-P-HOUR HOURS-P-DAY DAYS-P-YEAR SECS-P-HOUR
|
|
SECS-P-DAY SECS-P-YEAR SECS-P-4YEAR>
|
|
|
|
<SETG SECONDS %<RSUBR!- '[ %<PCODE!- "5TIMFC" 0> SECONDS #DECL ("VALUE" FIX FIX
|
|
FIX FIX "OPTIONAL" FIX FIX FIX) TIMEST DAYS RTIME DATE GETTIMEZONE FIX-DATE ![0
|
|
31 60 91 121 152 182 213 244 274 305 335!] ![0 31 59 90 120 151 181 212 243 273
|
|
304 334!] ("") " " "s " " hour" "and " "" " minute" " second" T " year" " month"
|
|
" day" OUTCHAN ["JAN" "FEB" "MAR" "APR" "MAY" "JUN" "JUL" "AUG" "SEP" "OCT"
|
|
"NOV" "DEC"] "0" "/" ![0 31 59 90 120 151 181 212 243 273 304 334 365!] ![0 31
|
|
60 91 121 152 182 213 244 274 305 335 366!] (CHANNEL) %<RGLOC ZONES T>
|
|
UNKNOWN-TIME-ZONE %<RGLOC ZONSTR T> ![31 28 31 30 31 30 31 31 30 31 30 31!]
|
|
"New Year's Day" "New Year's Day observed" "Martin Luther King Day"
|
|
"Presidents' Day" "Patriots' Day" "Memorial Day" "Independence Day"
|
|
"Independence Day observed" "Labor Day" "Columbus Day" "Veterans' Day"
|
|
"Veterans' Day observed" "Thanksgiving Day" "Christmas Day"
|
|
"Christmas Day observed" "HOLIDAY" "DSK" "COMBAT" "ad-hoc holiday"
|
|
"[Setting sun is aligned with M.I.T. main corridor.]" "[Ground-hog Day]"
|
|
"[St. Valentine's Day]" "[Leap Day]" "[St. David's Day]" "[St. Patrick's Day]"
|
|
"[All Fools' Day]" "[St. George's Day]" "[May Day]" "[Mothers' Day]"
|
|
"[Childrens' Day]" "[Flag Day]" "[Fathers' Day]" "[Canadian Dominion Day]"
|
|
"[Bastille Day]" "[U.N. Childrens' Day]" "[All Hallows' Eve]" "[Election Day]"
|
|
"[St. Andrew's Day]" "[St. Nicholas's Day]" "[Mardi Gras]" "[Ash Wednesday]"
|
|
"[Palm Sunday]" "[Good Friday]" "[Easter Sunday]" "[Whitsunday]" ((74 1 6) (1 0
|
|
0) "EST") ((74 10 1) (1 0 0) "EST") ((75 2 23) (1 0 0) "EST") ((75 10 26) (1 0 0
|
|
) "EST")]>>
|
|
<AND <ASSIGNED? GLUE> .GLUE <PUT ,SECONDS PGLUE ![715915263 -1 -1 -1 -16384 0!]>
|
|
>
|
|
|
|
|
|
<SETG DAYS %<RSUBR-ENTRY '[SECONDS DAYS #DECL ("VALUE" FIX FIX FIX FIX
|
|
"OPTIONAL" FIX FIX)] 92>>
|
|
|
|
<SETG TIME-STRING %<RSUBR-ENTRY '[SECONDS TIME-STRING #DECL ("VALUE" STRING <
|
|
LIST FIX FIX FIX>)] 130>>
|
|
|
|
<SETG TIMEST %<RSUBR-ENTRY '[SECONDS TIMEST #DECL ("VALUE" STRING FIX <OR FIX
|
|
FLOAT> <OR FIX FLOAT>)] 151>>
|
|
|
|
<SETG REL-TIMEST %<RSUBR-ENTRY '[SECONDS REL-TIMEST #DECL ("VALUE" STRING <LIST
|
|
LIST <LIST [3 FIX]>>)] 315>>
|
|
|
|
<SETG TIME-STR %<RSUBR-ENTRY '[SECONDS TIME-STR #DECL ("VALUE" STRING <OR FIX
|
|
FLOAT>)] 513>>
|
|
|
|
<SETG TIME-DIF %<RSUBR-ENTRY '[SECONDS TIME-DIF #DECL ("VALUE" STRING <LIST FIX
|
|
FIX FIX> <LIST FIX FIX FIX> <LIST FIX FIX FIX> <LIST FIX FIX FIX>)] 558>>
|
|
|
|
<SETG SPDATE %<RSUBR-ENTRY '[SECONDS SPDATE #DECL ("VALUE" FIX <LIST FIX FIX FIX
|
|
> "OPTIONAL" CHANNEL)] 632>>
|
|
|
|
<SETG PTIME %<RSUBR-ENTRY '[SECONDS PTIME #DECL ("VALUE" ANY <LIST FIX FIX FIX>
|
|
"OPTIONAL" CHANNEL)] 703>>
|
|
|
|
<SETG PDATE %<RSUBR-ENTRY '[SECONDS PDATE #DECL ("VALUE" FIX <LIST FIX FIX FIX>
|
|
"OPTIONAL" CHANNEL)] 806>>
|
|
|
|
<SETG SECS-DTNORM %<RSUBR-ENTRY '[SECONDS SECS-DTNORM #DECL ("VALUE" <LIST [2 <
|
|
LIST FIX FIX FIX>] STRING> FIX "OPTIONAL" <LIST [2 <LIST FIX FIX FIX>] STRING>)]
|
|
870>>
|
|
|
|
<SETG GOOD-DTSECS %<RSUBR-ENTRY '[SECONDS GOOD-DTSECS #DECL ("VALUE" FIX <LIST [
|
|
2 <LIST FIX FIX FIX>] STRING>)] 1120>>
|
|
|
|
<SETG DTSECS %<RSUBR-ENTRY '[SECONDS DTSECS #DECL ("VALUE" FIX <LIST LIST LIST>)
|
|
] 1170>>
|
|
|
|
<SETG GOOD-DTNORM %<RSUBR-ENTRY '[SECONDS GOOD-DTNORM #DECL ("VALUE" <LIST [2 <
|
|
LIST FIX FIX FIX>] STRING> ANY "OPTIONAL" ANY)] 1307>>
|
|
|
|
<SETG DTNORM %<RSUBR-ENTRY '[SECONDS DTNORM #DECL ("VALUE" <LIST [2 <LIST FIX
|
|
FIX FIX>] STRING> <LIST <LIST [REST FIX]> <LIST [REST FIX]>> "OPTIONAL" ANY)]
|
|
1386>>
|
|
|
|
<SETG DTADD %<RSUBR-ENTRY '[SECONDS DTADD #DECL ("VALUE" <LIST [2 <LIST [3 FIX]>
|
|
] STRING> <LIST [OPTIONAL LIST]> <LIST [OPTIONAL LIST]> "OPTIONAL" <LIST [2 <
|
|
LIST [3 FIX]>]>)] 1465>>
|
|
|
|
<SETG DTADD-2NORM %<RSUBR-ENTRY '[SECONDS DTADD-2NORM #DECL ("VALUE" <LIST [2 <
|
|
LIST [3 FIX]>]> <LIST [REST LIST]> "OPTIONAL" <LIST [2 <LIST [3 FIX]>]>)] 1628>>
|
|
|
|
<SETG DTDIFF %<RSUBR-ENTRY '[SECONDS DTDIFF #DECL ("VALUE" FLOAT LIST "OPTIONAL"
|
|
LIST)] 1836>>
|
|
|
|
<SETG DTPRINT %<RSUBR-ENTRY '[SECONDS DTPRINT #DECL ("VALUE" ATOM LIST
|
|
"OPTIONAL" CHANNEL)] 1883>>
|
|
|
|
<SETG SINCE60 %<RSUBR-ENTRY '[SECONDS SINCE60 #DECL ("VALUE" FLOAT <LIST <LIST
|
|
FIX FIX FIX> <LIST FIX FIX FIX> STRING>)] 2021>>
|
|
|
|
<SETG ZONES '["GMT" 4 "AST" 0 "ADT" 1 "EST" -1 "EDT" 0 "CST" -2 "CDT" -1 "MST"
|
|
-3 "MDT" -2 "PST" -4 "PDT" -3 "YST" -5 "YDT" -4 "HST" -6 "HDT" -5 "BST" -7 "BDT"
|
|
-6 "A" 3 "B" 2 "C" 1 "D" 0 "E" -1 "F" -2 "G" -3 "H" -4 "I" -5 "K" -6 "L" -7 "M"
|
|
-8 "N" 5 "O" 6 "P" 7 "Q" 8 "R" 9 "S" 10 "T" 11 "U" 12 "V" 13 "W" 14 "X" 15 "Y"
|
|
16 "Z" 4]>
|
|
|
|
<GDECL (ZONES) <VECTOR [REST STRING FIX]>>
|
|
|
|
<SETG TZDIFF %<RSUBR-ENTRY '[SECONDS TZDIFF #DECL ("VALUE" FIX ANY "OPTIONAL"
|
|
ANY)] 2077>>
|
|
|
|
<SETG ZONSTR <>>
|
|
|
|
<SETG TIMEZONE %<RSUBR-ENTRY '[SECONDS TIMEZONE #DECL ("VALUE" STRING)] 2169>>
|
|
|
|
<SETG BEFORE? %<RSUBR-ENTRY '[SECONDS BEFORE? #DECL ("VALUE" <OR ATOM FALSE> ANY
|
|
ANY)] 2188>>
|
|
|
|
<SETG PAST? %<RSUBR-ENTRY '[SECONDS PAST? #DECL ("VALUE" <OR ATOM FALSE> ANY)]
|
|
2211>>
|
|
|
|
<SETG DTNOW %<RSUBR-ENTRY '[SECONDS DTNOW #DECL ("VALUE" <LIST [2 <LIST FIX FIX
|
|
FIX>] STRING> "OPTIONAL" <LIST LIST LIST STRING>)] 2227>>
|
|
|
|
<SETG INMONTH %<RSUBR-ENTRY '[SECONDS INMONTH #DECL ("VALUE" FIX FIX FIX)] 2322>
|
|
>
|
|
|
|
<SETG DAYS-BETWEEN %<RSUBR-ENTRY '[SECONDS DAYS-BETWEEN #DECL ("VALUE" FIX <LIST
|
|
<LIST FIX FIX FIX>> <LIST <LIST FIX FIX FIX>>)] 2368>>
|
|
|
|
<SETG DATE-DOW %<RSUBR-ENTRY '[SECONDS DATE-DOW #DECL ("VALUE" FIX "OPTIONAL" <
|
|
LIST [3 FIX]>)] 2406>>
|
|
|
|
<SETG HOLIDAY? %<RSUBR-ENTRY '[SECONDS HOLIDAY? #DECL ("VALUE" <OR FALSE STRING>
|
|
"OPTIONAL" <LIST [3 FIX]>)] 2504>>
|
|
|
|
<SETG NON-MIT-HOLIDAY? %<RSUBR-ENTRY '[SECONDS NON-MIT-HOLIDAY? #DECL ("VALUE" <
|
|
OR FALSE STRING> "OPTIONAL" <LIST [3 FIX]>)] 2770>>
|
|
|
|
<SETG DST? %<RSUBR-ENTRY '[SECONDS DST? #DECL ("VALUE" <OR ATOM FALSE>
|
|
"OPTIONAL" LIST)] 3174>>
|
|
|
|
<ENDPACKAGE>
|