📄 test_00.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 integers\n");# io.print("#it includes bat.insertions,deletions,selections, and algebra.joins.\n");# io.print("var b:= new(int,int);"); b := bat.new(nil:int,nil:int);# io.print("#b.roles(\"head\",\"tail\"); roles was removed from the kernel ops\n"); ca_a := io.printf("#~BeginVariableOutput~#\n"); da_a := bat.info(b); ea_a := io.print(da_a); fa_a := io.printf("#~EndVariableOutput~#\n");# io.print("b.insert(1,15);"); ga_a := bat.insert(b,1,15);# io.print("b.insert(2,4);"); ha_a := bat.insert(b,2,4);# io.print("b.insert(3,int(nil));"); ia_a := calc.int(nil); ja_a := bat.insert(b,3,ia_a);# io.print("b.insert(4,16);"); ka_a := bat.insert(b,4,16);# io.print("b.insert(5,25);"); la_a := bat.insert(b,5,25);# io.print("b.insert(6,36);"); ma_a := bat.insert(b,6,36);# io.print("b.insert(7,49);"); na_a := bat.insert(b,7,49);# io.print("b.insert(8,64);"); oa_a := bat.insert(b,8,64);# io.print("b.insert(9,int(nil));"); pa_a := calc.int(nil); qa_a := bat.insert(b,9,pa_a);# io.print("b.insert(int(nil),int(nil));"); ra_a := calc.int(nil); sa_a := calc.int(nil); ta_a := bat.insert(b,ra_a,sa_a);# io.print("b.insert(int(nil),81);"); ua_a := calc.int(nil); va_a := bat.insert(b,ua_a,81);# io.print("b.print();"); wa_a := io.print(b);# io.print("# Testing simple retrievals\n"); xa_a := algebra.find(b,1); ya_a := io.print(xa_a);# io.print("b.find(4).print();"); ab_a := algebra.find(b,4); bb_a := io.print(ab_a);# io.print("b.find(int(nil)).print();"); cb_a := calc. int(nil); db_a := algebra.find(b,cb_a); eb_a := io.print(db_a);# io.print("# This should cause an error\n");#ignore fb_a := find(b,10);#ignore gb_a := io.print(fb_a);# io.print("# Can we delete them and re-insert them later on\n"); hb_a := bat.delete(b,4,16);# io.print("b.delete(1,15);"); ib_a := bat.delete(b,1,15);# io.print("b.delete(int(nil),81);"); jb_a := calc. int(nil); kb_a := bat.delete(b,jb_a,81);# io.print("b.print();"); lb_a := io.print(b);# io.print("b.insert(4,16);"); mb_a := bat.insert(b,4,16);# io.print("b.insert(int(nil),81);"); nb_a := calc.int(nil); ob_a := bat.insert(b,nb_a,81);# io.print("b.insert(1,15);"); pb_a := bat.insert(b,1,15);# io.print("b.count().print();"); qb_a := aggr.count(b); rb_a := io.print(qb_a);# io.print("b.print();"); sb_a := io.print(b);# io.print("# Lets cut out a few sections\n"); tb_a := algebra.select(b,25,64); ub_a := io.print(tb_a);# io.print("b.select(4,15).print();"); vb_a := algebra.select(b,4,15); wb_a := io.print(vb_a);# io.print("b.select(4,4).print();"); xb_a := algebra.select(b,4,4); yb_a := io.print(xb_a);# io.print("# This should cause an error\n"); ac_a := algebra.select(b,4,3); bc_a := io.print(ac_a);# io.print("b.select(81,int(nil)).print();"); cc_a := calc.int(nil); dc_a := algebra.select(b,81,cc_a); ec_a := io.print(dc_a);# io.print("b.select(int(nil),int(nil)).print();"); fc_a := calc.int(nil); gc_a := calc.int(nil); hc_a := algebra.select(b,fc_a,gc_a); ic_a := io.print(hc_a);# io.print("# A 2-dimensional cut\n"); bn := algebra.fragment(b,1,5,4,15); jc_a := io.print(bn);# io.print("b.fragment(1,5,16,int(nil)).print();"); kc_a := calc.int(nil); lc_a := algebra.fragment(b,1,5,16,kc_a); mc_a := io.print(lc_a);# io.print("b.fragment(1,int(nil),16,int(nil)).print();"); nc_a := calc.int(nil); oc_a := calc.int(nil); pc_a := algebra.fragment(b,1,nc_a,16,oc_a); qc_a := io.print(pc_a);# io.print("b.fragment(int(nil),int(nil),16,int(nil)).print();"); rc_a := calc.int(nil); sc_a := calc.int(nil); tc_a := calc.int(nil); uc_a := algebra.fragment(b,rc_a,sc_a,16,tc_a); vc_a := io.print(uc_a);# io.print("bn:= b.join(bn.reverse());"); wc_a := bat.reverse(bn); bn := algebra.join(b,wc_a);# io.print("bn.print();"); xc_a := io.print(bn);# io.print("bn:= b.semijoin(bn.reverse());"); yc_a := bat.reverse(bn); bn := algebra.semijoin(b,yc_a);# io.print("bn.print();"); ad_a := io.print(bn);# io.print("# band algebra.join experiment\n"); c := algebra.copy(b);# io.print("bandjoin(b,c,4,4).print();"); bd_a := algebra.bandjoin(b,c,4,4); cd_a := io.print(bd_a);# io.print("#and theta algebra.joins\?\n"); LT:= -1; dd_a := calc.lng(nil); ed_a := algebra.thetajoin(b,c,LT,dd_a); fd_a := io.print(ed_a);# io.print("quit();"); gd_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -