📄 tst1200.mal
字号:
# Mil compiler Version 1.0)# Copyright (c) 1993-2001, CWI. All rights reserved.# Predefined code segment###line 531 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"#module(monettime,alarm);###lzone:= mtime.timezone("GMT+1");mtime.timezone_local(lzone);##line 535 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create rules rule_jan:= mtime.rule("1st MON from start of JAN@01:15");#var rule_jan := mtime.rule("1st MON from start of JAN@01:15"); rule_mar:= mtime.rule("first WEDNE on or after march 10@01:15");#var rule_mar := mtime.rule("first WEDNE on or after march 10@01:15"); rule_apr:= mtime.rule("last THU on or before aPr 1@01:15");#var rule_apr := mtime.rule("last THU on or before aPr 1@01:15"); rule_may:= mtime.rule("MAY 26@01:15");#var rule_may := mtime.rule("MAY 26@01:15"); rule_jun:= mtime.rule("2nd TUE from end of june@01:15");#var rule_jun := mtime.rule("2nd TUE from end of june@01:15"); rule_jul:= mtime.rule(7,1,1,75);#var rule_jul := mtime.rule(7,1,1,75); rule_aug:= mtime.rule(8,-1,1,75);#var rule_aug := mtime.rule(8,-1,1,75); rule_sep:= mtime.rule(9,-10,3,75);#var rule_sep := mtime.rule(9,-10,3,75); rule_oct:= mtime.rule(10,31,0,75);#var rule_oct := mtime.rule(10,31,0,75); rule_nov:= mtime.rule(11,-10,-4,75);#var rule_nov := mtime.rule(11,-10,-4,75);## nil rules rule_dec:= mtime.rule(12,-31,0,75);#var rule_dec := mtime.rule(12,-31,0,75); rule_feb:= mtime.rule("first fRiDaY on or after february 30@01:15");#var rule_feb := mtime.rule("first fRiDaY on or after february 30@01:15");# rule_bat:= bat.new(:str,:zrule,10);#var rule_bat := bat.new(str,rule,10); bat.insert(rule_bat,"jan",rule_jan); bat.insert(rule_bat,"feb",rule_feb); bat.insert(rule_bat,"mar",rule_mar); bat.insert(rule_bat,"apr",rule_apr);#rule_bat.bat.insert("jan",rule_jan).insert("feb",rule_feb).insert("mar",rule_mar).insert("apr",rule_apr); bat.insert(rule_bat,"may",rule_may); bat.insert(rule_bat,"jun",rule_jun); bat.insert(rule_bat,"jul",rule_jul); bat.insert(rule_bat,"aug",rule_aug);#rule_bat.bat.insert("may",rule_may).insert("jun",rule_jun).insert("jul",rule_jul).insert("aug",rule_aug); bat.insert(rule_bat,"sep",rule_sep); bat.insert(rule_bat,"oct",rule_oct); bat.insert(rule_bat,"nov",rule_nov); bat.insert(rule_bat,"dec",rule_dec);#rule_bat.bat.insert("sep",rule_sep).insert("oct",rule_oct).insert("nov",rule_nov).insert("dec",rule_dec);### test the operations on rules ma_a := bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"), na_a:bat[:str,:int] := optimizer.multiplex("mtime","month",rule_bat); oa_a := bat.setColumn(na_a,"month");# [month](rule_bat).bat.setColumn("month"), pa_a:bat[:str,:int] := optimizer.multiplex("mtime","weekday",rule_bat); qa_a := bat.setColumn(pa_a,"weekday");# [weekday](rule_bat).bat.setColumn("weekday"), ra_a:bat[:str,:int] := optimizer.multiplex("mtime","day",rule_bat); sa_a := bat.setColumn(ra_a,"day");# [day](rule_bat).bat.setColumn("day"), ta_a:bat[:str,:int] := optimizer.multiplex("mtime","minutes",rule_bat); ua_a := bat.setColumn(ta_a,"minutes");io.print("rule_bat,na_a,pa_a,ra_a,ta_a"); va_a := io.print(rule_bat,na_a,pa_a,ra_a,ta_a);# [minutes](rule_bat).bat.setColumn("minutes"));# bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"), xa_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,2001); ya_a := bat.setColumn(xa_a,"2001");# [compute](rule_bat, 2001).bat.setColumn("2001"), ab_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,2001); bb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",ab_a); cb_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",bb_a); bat.setColumn(cb_a,"2001");# [dayname]([dayofweek]([compute](rule_bat, 2001))).bat.setColumn("2001"), eb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1999); bat.setColumn(eb_a,"1999");# [compute](rule_bat, 1999).bat.setColumn("1999"), gb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1999); hb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",gb_a); ib_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",hb_a); bat.setColumn(ib_a,"1999");# [dayname]([dayofweek]([compute](rule_bat, 1999))).bat.setColumn("1999"), kb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1992); bat.setColumn(kb_a,"1992");# [compute](rule_bat, 1992).bat.setColumn("1992"), mb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1992); nb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",mb_a); ob_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",nb_a); bat.setColumn(ob_a,"1992");io.print("rule_bat,xa_a,cb_a,eb_a,ib_a,kb_a,ob_a"); qb_a := io.print(rule_bat,xa_a,cb_a,eb_a,ib_a,kb_a,ob_a);# [dayname]([dayofweek]([compute](rule_bat, 1992))).bat.setColumn("1992"));# rb_a := bat.setColumn(rule_bat,"rule");#io.print(rule_bat.bat.setColumn("rule"), sb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1572); tb_a := bat.setColumn(sb_a,"1572");# [compute](rule_bat, 1572).bat.setColumn("1572"), ub_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1572); vb_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",ub_a); wb_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",vb_a); xb_a := bat.setColumn(wb_a,"1572");# [dayname]([dayofweek]([compute](rule_bat, 1572))).bat.setColumn("1572"), yb_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1); ac_a := bat.setColumn(yb_a,"1");# [compute](rule_bat, 1).bat.setColumn("1"), bc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,1); cc_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",bc_a); dc_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",cc_a); ec_a := bat.setColumn(dc_a,"1");# [dayname]([dayofweek]([compute](rule_bat, 1))).bat.setColumn("1"), fc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,-2000); gc_a := bat.setColumn(fc_a,"-2000");# [compute](rule_bat, -2000).bat.setColumn("-2000"), hc_a:bat[:str,:date] := optimizer.multiplex("mtime","compute",rule_bat,-2000); ic_a:bat[:str,:int] := optimizer.multiplex("mtime","dayofweek",hc_a); jc_a:bat[:str,:str] := optimizer.multiplex("mtime","dayname",ic_a); kc_a := bat.setColumn(jc_a,"-2000");io.print("rule_bat,sb_a,wb_a,yb_a,dc_a,fc_a,jc_a"); lc_a := io.print(rule_bat,sb_a,wb_a,yb_a,dc_a,fc_a,jc_a);# [dayname]([dayofweek]([compute](rule_bat, -2000))).bat.setColumn("-2000"));#####line 580 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create timezones, using some of the above created rules tzone_00:= mtime.timezone("GMT");#var tzone_00 := mtime.timezone("GMT"); tzone_01:= mtime.timezone("GMT+01:00");#var tzone_01 := mtime.timezone("GMT+01:00"); tzone_02:= mtime.timezone("GMT+0100");#var tzone_02 := mtime.timezone("GMT+0100"); tzone_03:= mtime.timezone(60,rule_oct,rule_mar);#var tzone_03 := mtime.timezone(60, rule_oct, rule_mar); tzone_04:= mtime.timezone(0,rule_jan,rule_aug);#var tzone_04 := mtime.timezone(0, rule_jan, rule_aug); tzone_05:= mtime.timezone(-97,rule_oct,rule_apr);#var tzone_05 := mtime.timezone(-97, rule_oct, rule_apr); tzone_06:= mtime.timezone(-97,rule_may,rule_sep);#var tzone_06 := mtime.timezone(-97, rule_may, rule_sep); mc_a := calc.*(23,60); tzone_07:= mtime.timezone(mc_a,rule_apr,rule_nov);#var tzone_07 := mtime.timezone(23*60, rule_apr, rule_nov); nc_a := calc.*(-23,59); oc_a := calc.-(nc_a,59); tzone_08:= mtime.timezone(oc_a);#var tzone_08 := mtime.timezone((-23*59) - 59); tzone_09:= mtime.timezone(0);#var tzone_09 := mtime.timezone(0); tzone_10:= mtime.timezone(-60);#var tzone_10 := mtime.timezone(-60); pc_a := calc.*(23,60); qc_a := calc.+(pc_a,59); tzone_11:= mtime.timezone(qc_a);#var tzone_11 := mtime.timezone((23*60)+59); tzone_12:= mtime.timezone(60);#var tzone_12 := mtime.timezone(60);## nil tzones tzone_13:= mtime.timezone(60,rule_feb,rule_dec);#var tzone_13 := mtime.timezone(60, rule_feb, rule_dec); rc_a := calc.*(24,60); tzone_15:= mtime.timezone(rc_a,rule_apr,rule_nov);#var tzone_15 := mtime.timezone(24*60, rule_apr, rule_nov);## tzone_bat:= bat.new(:oid,:timezone);#var tzone_bat := bat.new(oid,tzone); bat.insert(tzone_bat,0@0,tzone_00); bat.insert(tzone_bat,1@0,tzone_01); bat.insert(tzone_bat,2@0,tzone_02);#tzone_bat.bat.insert(0@0, tzone_00).insert(1@0, tzone_01).insert(2@0, tzone_02); bat.insert(tzone_bat,3@0,tzone_03); bat.insert(tzone_bat,4@0,tzone_04); bat.insert(tzone_bat,5@0,tzone_05);#tzone_bat.bat.insert(3@0, tzone_03).insert(4@0, tzone_04).insert(5@0, tzone_05); bat.insert(tzone_bat,6@0,tzone_06); bat.insert(tzone_bat,7@0,tzone_07); bat.insert(tzone_bat,8@0,tzone_08);#tzone_bat.bat.insert(6@0, tzone_06).insert(7@0, tzone_07).insert(8@0, tzone_08); bat.insert(tzone_bat,9@0,tzone_09); bat.insert(tzone_bat,10@0,tzone_10); bat.insert(tzone_bat,11@0,tzone_11);#tzone_bat.bat.insert(9@0, tzone_09).insert(10@0, tzone_10).insert(11@0, tzone_11); bat.insert(tzone_bat,12@0,tzone_12); bat.insert(tzone_bat,13@0,tzone_13); bat.insert(tzone_bat,15@0,tzone_15);#tzone_bat.bat.insert(12@0, tzone_12).insert(13@0, tzone_13).insert(15@0, tzone_15);### test the operations on tzones bat.setName(tzone_bat,"timezone");#io.print(tzone_bat);#io.print("start error"); #x:= getRefCount(tzone_bat);#io.print(x); #jd_a := io.print(tzone_bat);#io.print("end");#io.print(x); #x:= getRefCount(tzone_bat);io.print("tzone_bat"); io.print(tzone_bat);#io.print(tzone_bat.bat.setColumn("tzone")); kd_a:bat[:oid,:int] := optimizer.multiplex("mtime","minutes",tzone_bat); bat.setColumn(kd_a,"minutes");#io.print([minutes](tzone_bat).bat.setColumn("minutes"), md_a:bat[:oid,:zrule] := optimizer.multiplex("mtime","start_dst",tzone_bat); bat.setColumn(md_a,"start_dst");# [start_dst](tzone_bat).bat.setColumn("start_dst"), od_a:bat[:oid,:zrule] := optimizer.multiplex("mtime","end_dst",tzone_bat); bat.setColumn(od_a,"end_dst");io.print("print(kd_a,md_a,od_a)"); qd_a := io.print(kd_a,md_a,od_a);# [end_dst](tzone_bat).bat.setColumn("end_dst"));#####line 614 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways to create dates date_00:= mtime.date(2000,01,01);#var date_00 := date(2000,01,01); date_01:= mtime.date("5000-JAN-01");#var date_01 := date("5000-JAN-01"); date_02:= mtime.date("1968-FEBR-29");#var date_02 := date("1968-FEBR-29"); date_03:= mtime.date("1-MARCH-01");#var date_03 := date("1-MARCH-01"); date_04:= mtime.date("-5867411-JAN-1");#var date_04 := date("-5867411-JAN-1"); date_05:= mtime.date("-768/octobe/01");#var date_05 := date("-768/octobe/01"); date_06:= mtime.date("5000\\novembe\\01");#var date_06 := date("5000\\novembe\\01"); date_07:= mtime.date("-1999/jun/01");#var date_07 := date("-1999/jun/01"); date_08:= mtime.date("2000-jul-14");#var date_08 := date("2000-jul-14"); date_09:= mtime.date("1999-sept-01");#var date_09 := date("1999-sept-01"); date_10:= mtime.date("1998-decemBeR-01");#var date_10 := date("1998-decemBeR-01"); date_11:= mtime.date("1953 may 01");#var date_11 := date("1953 may 01"); date_12:= mtime.date("5867411-DEC-31");#var date_12 := date("5867411-DEC-31");## nil dates date_13:= mtime.date(1996,13,1);#var date_13 := date(1996,13,1); date_14:= mtime.date("999999999999999999999-01-01");#var date_14 := date("999999999999999999999-01-01"); date_15:= mtime.date("1999-JANUARI-01");#var date_15 := date("1999-JANUARI-01"); date_16:= mtime.date("1999-FEBR-29");#var date_16 := date("1999-FEBR-29"); date_17:= mtime.date("-1-DECEMBER-0");#var date_17 := date("-1-DECEMBER-0"); date_18:= mtime.date("5000\novembe\31");#var date_18 := date("5000\novembe\31"); date_19:= mtime.date("nil");#var date_19 := date("nil"); date_20:= mtime.date("1999-sept-31");#var date_20 := date("1999-sept-31");# date_bat:= bat.new(:oid,:date);#var date_bat := bat.new(oid,date); bat.insert(date_bat,0@0,date_00); bat.insert(date_bat,1@0,date_01); bat.insert(date_bat,2@0,date_02);#date_bat.bat.insert(0@0, date_00).insert(1@0, date_01).insert(2@0, date_02); bat.insert(date_bat,3@0,date_03); bat.insert(date_bat,4@0,date_04); bat.insert(date_bat,5@0,date_05);#date_bat.bat.insert(3@0, date_03).insert(4@0, date_04).insert(5@0, date_05); bat.insert(date_bat,6@0,date_06); bat.insert(date_bat,7@0,date_07); bat.insert(date_bat,8@0,date_08);#date_bat.bat.insert(6@0, date_06).insert(7@0, date_07).insert(8@0, date_08); bat.insert(date_bat,9@0,date_09); bat.insert(date_bat,10@0,date_10); bat.insert(date_bat,11@0,date_11);#date_bat.bat.insert(9@0, date_09).insert(10@0, date_10).insert(11@0, date_11); bat.insert(date_bat,12@0,date_12); bat.insert(date_bat,13@0,date_13); bat.insert(date_bat,14@0,date_14);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -