📄 test_01.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 strings\n");# io.print("#it includes bat.insertions,deletions,selections, and joins.\n");# io.print("var b:= bat.new(str,int);"); b := bat.new(nil:str,nil:int);# io.print("b.insert(\"the\",1);"); ca_a := bat.insert(b,"the",1);# io.print("b.insert(\"quick\",2);"); da_a := bat.insert(b,"quick",2);# io.print("b.insert(\"brown\",3);"); ea_a := bat.insert(b,"brown",3);# io.print("b.insert(\"fox\",4);"); fa_a := bat.insert(b,"fox",4);# io.print("b.insert(\"jumps\",5);"); ga_a := bat.insert(b,"jumps",5);# io.print("b.insert(\"over\",6);"); ha_a := bat.insert(b,"over",6);# io.print("b.insert(\"lazy\",7);"); ia_a := bat.insert(b,"lazy",7);# io.print("b.insert(\"dog\",8);"); ja_a := bat.insert(b,"dog",8);# io.print("b.insert(str(nil),9);"); ka_a := calc.str(nil); la_a := bat.insert(b,ka_a,9);# io.print("b.insert(\".\",10);"); ma_a := bat.insert(b,".",10);# io.print("b.insert(\"\",int(nil));"); na_a := calc.int(nil); oa_a := bat.insert(b,"",na_a);# io.print("b.insert(str(nil),int(nil));"); pa_a := calc.str(nil); qa_a := calc.int(nil); ra_a := bat.insert(b,pa_a,qa_a);# io.print("b.print();"); sa_a := io.print(b);# io.print("# Testing simple retrievals\n"); ta_a := algebra.find(b,"the"); ua_a := io.print(ta_a);# io.print("b.find(\"fox\").print();"); va_a := algebra.find(b,"fox"); wa_a := io.print(va_a);# io.print("b.find(str(nil)).print();"); xa_a := calc.str(nil); ya_a := algebra.find(b,xa_a); ab_a := io.print(ya_a);# io.print("# This should cause an error\n");#ignore bb_a := algebra. find(b,"cat");#ignore cb_a := print(bb_a);# io.print("# Can we delete them and re-insert them later on\n"); db_a := bat.delete(b,"fox",4);# io.print("b.delete(\"the\",1);"); eb_a := bat.delete(b,"the",1);# io.print("b.delete(\".\",10);"); fb_a := bat.delete(b,".",10);# io.print("b.print();"); gb_a := io.print(b);# io.print("b.insert(\"fox\",4);"); hb_a := bat.insert(b,"fox",4);# io.print("b.insert(\"the\",1);"); ib_a := bat.insert(b,"the",1);# io.print("b.insert(\".\",10);"); jb_a := bat.insert(b,".",10);# io.print("b.count().print();"); kb_a := aggr.count(b); lb_a := io.print(kb_a);# io.print("# Lets cut out a few sections\n"); mb_a := algebra.select(b,2,4); nb_a := io.print(mb_a);# io.print("b.select(7,int(nil)).print();"); ob_a := calc.int(nil); pb_a := algebra.select(b,7,ob_a); qb_a := io.print(pb_a);# io.print("b.select(int(nil),7).print();"); rb_a := calc.int(nil); sb_a := algebra.select(b,rb_a,7); tb_a := io.print(sb_a);# io.print("b.select(int(nil),int(nil)).print();"); ub_a := calc.int(nil); vb_a := calc.int(nil); wb_a := algebra.select(b,ub_a,vb_a); xb_a := io.print(wb_a);# io.print("b.reverse().select(\"fox\",\"quick\").print();"); yb_a := bat.reverse(b); ac_a := algebra.select(yb_a,"fox","quick"); bc_a := io.print(ac_a);# io.print("b.reverse().select(\"fox\",str(nil)).print();"); cc_a := calc.str(nil); dc_a := bat.reverse(b); ec_a := algebra.select(dc_a,"fox",cc_a); fc_a := io.print(ec_a);# io.print("b.reverse().select(str(nil),\"quick\").print();"); gc_a := calc.str(nil); hc_a := bat.reverse(b); ic_a := algebra. select(hc_a,gc_a,"quick"); jc_a := io.print(ic_a);# io.print("b.reverse().select(str(nil),str(nil)).print();"); kc_a := calc.str(nil); lc_a := calc.str(nil); mc_a := bat.reverse(b); nc_a := algebra.select(mc_a,kc_a,lc_a); oc_a := io.print(nc_a);# io.print("# A 2-dimensional cut\n"); bn := algebra.fragment(b,"fox","quick",1,5); pc_a := io.print(bn);# io.print("b.fragment(\"fox\",str(nil),1,5).print();"); qc_a := calc.str(nil); rc_a := algebra.fragment(b,"fox",qc_a,1,5); sc_a := io.print(rc_a);# io.print("b.fragment(str(nil),\"quick\",1,5).print();"); tc_a := calc.str(nil); uc_a := algebra.fragment(b,tc_a,"quick",1,5); vc_a := io.print(uc_a);# io.print("b.fragment(str(nil),str(nil),1,5).print();"); wc_a := calc.str(nil); xc_a := calc.str(nil); yc_a := algebra.fragment(b,wc_a,xc_a,1,5); ad_a := io.print(yc_a);# io.print("b.fragment(\"fox\",\"quick\",1,int(nil)).print();"); bd_a := calc.int(nil); cd_a := algebra.fragment(b,"fox","quick",1,bd_a); dd_a := io.print(cd_a);# io.print("b.fragment(\"fox\",\"quick\",int(nil),5).print();"); ed_a := calc.int(nil); fd_a := algebra.fragment(b,"fox","quick",ed_a,5); gd_a := io.print(fd_a);# io.print("b.fragment(\"fox\",\"quick\",int(nil),int(nil)).print();"); hd_a := calc.int(nil); id_a := calc.int(nil); jd_a := algebra.fragment(b,"fox","quick",hd_a,id_a); kd_a := io.print(jd_a);# io.print("b.fragment(\"fox\",str(nil),int(nil),int(nil)).print();"); ld_a := calc.str(nil); md_a := calc.int(nil); nd_a := calc.int(nil); od_a := algebra.fragment(b,"fox",ld_a,md_a,nd_a); pd_a := io.print(od_a);# io.print("b.fragment(str(nil),\"f\",int(nil),int(nil)).print();"); qd_a := calc.str(nil); rd_a := calc.int(nil); sd_a := calc.int(nil); td_a := algebra.fragment(b,qd_a,"f",rd_a,sd_a); ud_a := io.print(td_a);# io.print("b.reverse().fragment(int(nil),int(nil),str(nil),\"f\").print();"); vd_a := calc.int(nil); wd_a := calc.int(nil); xd_a := calc.str(nil); yd_a := bat.reverse(b); ae_a := algebra.fragment(yd_a,vd_a,wd_a,xd_a,"f"); be_a := io.print(ae_a);# io.print("var b1:= b.join(bn.reverse());"); ce_a := bat.reverse(bn); b1 := algebra.join(b,ce_a);# io.print("b1.print();"); de_a := io.print(b1);# io.print("var b2:= b.semijoin(b1.reverse());"); ee_a := bat.reverse(b1); b2 := algebra.semijoin(b,ee_a);# io.print("b2.print();"); fe_a := io.print(b2);# io.print("# testing the like command\n"); ge_a := bat.reverse(b); he_a := algebra.like(ge_a,"ox"); ie_a := io.print(he_a);# io.print("b.reverse().like(\"fo\").print();"); je_a := bat.reverse(b); ke_a := algebra.like(je_a,"fo"); le_a := io.print(ke_a);# io.print("b.reverse().like(\"fox\").print();"); me_a := bat.reverse(b); ne_a := algebra.like(me_a,"fox"); oe_a := io.print(ne_a);# io.print("b.reverse().like(\" fox\").print();"); pe_a := bat.reverse(b); qe_a := algebra.like(pe_a," fox"); re_a := io.print(qe_a);# io.print("quit();"); se_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -