📄 test_05.mal
字号:
# Monet Mil to Mal compiler# Copyright (c) 2001-2004, CWI. All rights reserved.#Predefined code segment#The compiler can not guarantee an accurate compilation,#because MIL unlike MAL is a dynamically typed language.#A few guidelines to maximize usefullness.#- make the type of variables explicit, in particular 'nil'#- upon advice of M2m to remap identifiers, change it in your program directly#use the "mil_schema" for additional support routines# io.print("setoid(oid(20000000));"); aa_a := calc.oid(20000000); ba_a := calc.setoid(aa_a);# io.print("#test basic functionality of the BAT library.\n");# io.print("#focussed on float\n");# io.print("#it includes bat.insertions,deletions,selections, and joins.\n");# io.print("print(3.147);"); ca_a := io.print(3.147);# io.print("var b:= bat.new(flt,flt);"); b := bat.new(nil:flt,nil:flt);# io.print("b.insert(1.2, 15.6);"); da_a := bat.insert(b,1.2,15.6);# io.print("b.insert(2.3, 4.5);"); ea_a := bat.insert(b,2.3,4.5);# io.print("b.insert(3.0, calc.flt(nil));"); fa_a := calc.flt(nil); ga_a := bat.insert(b,3.0,fa_a);# io.print("b.insert(4.5, 16.7);"); ha_a := bat.insert(b,4.5,16.7);# io.print("b.insert(5.6, 25.6);"); ia_a := bat.insert(b,5.6,25.6);# io.print("b.insert(6.6, 36.7);"); ja_a := bat.insert(b,6.6,36.7);# io.print("b.insert(7.8, 49.0);"); ka_a := bat.insert(b,7.8,49.0);# io.print("b.insert(8.9, 64.5);"); la_a := bat.insert(b,8.9,64.5);# io.print("b.insert(9.0, calc.flt(nil));"); ma_a := calc.flt(nil); na_a := bat.insert(b,9.0,ma_a);# io.print("b.insert(flt(nil),flt(nil));"); oa_a := calc.flt(nil); pa_a := calc.flt(nil); qa_a := bat.insert(b,oa_a,pa_a);# io.print("b.insert(flt(nil),81.2);"); ra_a := calc.flt(nil); sa_a := bat.insert(b,ra_a,81.2);# io.print("b.print();"); ta_a := io.print(b);# io.print("# Testing simple retrievals\n"); ua_a := algebra.find(b,1.2); va_a := io.print(ua_a);# io.print("b.find(4.5).print();"); wa_a := algebra.find(b,4.5); xa_a := io.print(wa_a);# io.print("b.find(flt(nil)).print();"); ya_a := calc.flt(nil); ab_a := algebra.find(b,ya_a); bb_a := io.print(ab_a);# io.print("# This should cause an error\n");#ignore cb_a := algebra.find(b,10.1);#ignore db_a := io.print(cb_a);# io.print("# Can we delete them and re-insert them later on\n"); eb_a := bat.delete(b,4.5,16.7);# io.print("b.delete(1.2, 15.6);"); fb_a := bat.delete(b,1.2,15.6);# io.print("b.delete(flt(nil),81.2);"); gb_a := calc.flt(nil); hb_a := bat.delete(b,gb_a,81.2);# io.print("b.print();"); ib_a := io.print(b);# io.print("b.insert(4.5, 16.7);"); jb_a := bat.insert(b,4.5,16.7);# io.print("b.insert(1.2, 15.6);"); kb_a := bat.insert(b,1.2,15.6);# io.print("b.insert(flt(nil),81.2);"); lb_a := calc.flt(nil); mb_a := bat.insert(b,lb_a,81.2);# io.print("b.count().print();"); nb_a := aggr.count(b); ob_a := io.print(nb_a);# io.print("# Lets cut out a few sections\n"); pb_a := algebra.select(b,25.6,64.5); qb_a := io.print(pb_a);# io.print("b.select(4.5,15.6).print();"); rb_a := algebra.select(b,4.5,15.6); sb_a := io.print(rb_a);# io.print("b.select(4.5,4.5).print();"); tb_a := algebra.select(b,4.5,4.5); ub_a := io.print(tb_a);# io.print("# This should cause an error\n"); vb_a := algebra.select(b,4.5,3.4); wb_a := io.print(vb_a);# io.print("b.select(81.2,flt(nil)).print();"); xb_a := calc.flt(nil); yb_a := algebra.select(b,81.2,xb_a); ac_a := io.print(yb_a);# io.print("b.select(flt(nil),flt(nil)).print();"); bc_a := calc.flt(nil); cc_a := calc.flt(nil); dc_a := algebra.select(b,bc_a,cc_a); ec_a := io.print(dc_a);# io.print("# A 2-dimensional cut\n"); bn := algebra.fragment(b,1.2,5.6,4.5,15.6); fc_a := io.print(bn);# io.print("b.fragment(1.2,5.6,16.2,flt(nil)).print();"); gc_a := calc.flt(nil); hc_a := algebra.fragment(b,1.2,5.6,16.2,gc_a); ic_a := io.print(hc_a);# io.print("b.fragment(1.2,flt(nil),16.2,flt(nil)).print();"); jc_a := calc.flt(nil); kc_a := calc.flt(nil); lc_a := algebra.fragment(b,1.2,jc_a,16.2,kc_a); mc_a := io.print(lc_a);# io.print("b.fragment(flt(nil),flt(nil),16.2,flt(nil)).print();"); nc_a := calc.flt(nil); oc_a := calc.flt(nil); pc_a := calc.flt(nil); qc_a := algebra.fragment(b,nc_a,oc_a,16.2,pc_a); rc_a := io.print(qc_a);# io.print("var b1:= b.join(bn.reverse());"); sc_a := bat.reverse(bn); b1 := algebra.join(b,sc_a);# io.print("b1.print();"); tc_a := io.print(b1);# io.print("var b2:= b.semijoin(b1);"); b2 := algebra.semijoin(b,b1);# io.print("b2.print();"); uc_a := io.print(b2);# io.print("# band join experiment\n"); c := algebra.copy(b);# io.print("bandjoin(b,c,4.5,4.5).print();"); vc_a := algebra.bandjoin(b,c,4.5,4.5); wc_a := io.print(vc_a);# io.print("quit();"); xc_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -