⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 no.171.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 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("# >Number:         171\n");#	io.print("# >Category:       MIL\n");#	io.print("# >Synopsis:       X.reverse().select() fails after X.sort()\n");#	io.print("# >Confidential:   no\n");#	io.print("# >Severity:       critical\n");#	io.print("# >Priority:       high\n");#	io.print("# >Responsible:    boncz (Peter Boncz)\n");#	io.print("# >State:          open\n");#	io.print("# >Class:          sw-bug\n");#	io.print("# >Submitter-Id:   unknown\n");#	io.print("# >Arrival-Date:   Thu Dec 10 22:54:12 1998\n");#	io.print("# >Originator:     manegold@cwi.nl\n");#	io.print("# >Organization:\n");#	io.print("# CWI\n");#	io.print("# >Release:        980101\n");#	io.print("# >Environment:\n");#	io.print("# IRIX\n");#	io.print("# >Description:\n");#	io.print("# a select on an bat.reverse()d BAT returns incorrect result\n");#	io.print("# when a sort has been done on the same BAT before.\n");#	io.print("#\n");#	io.print("# sample script:\n");#	io.print("# ========\n");#	io.print("# s:=new(int,int);\n");#	io.print("# bat.insert(s,5,5);\n");#	io.print("# bat.insert(s,3,3);\n");#	io.print("# bat.insert(s,4,2);\n");#	io.print("# bat.insert(s,2,1);\n");#	io.print("# bat.insert(s,1,1);\n");#	io.print("# bat.insert(s,4,2);\n");#	io.print("# bat.insert(s,4,3);\n");#	io.print("# s.sort.print();\n");#	io.print("# s.reverse().select(2).print();\n");#	io.print("# ========\n");#	io.print("#\n");#	io.print("# incorrect output of the last select:\n");#	io.print("# ========\n");#	io.print("# s.reverse().select(2).print();\n");#	io.print("# #-----------------#\n");#	io.print("# # BAT:    tmp_24  #\n");#	io.print("# # (int)   (int)   #\n");#	io.print("# #-----------------#\n");#	io.print("# [ 1,      1       ]\n");#	io.print("# [ 1,      2       ]\n");#	io.print("# ========\n");#	io.print("#\n");#	io.print("# correct output of the last select:\n");#	io.print("# ========\n");#	io.print("# s.reverse().select(2).print();\n");#	io.print("# #-----------------#\n");#	io.print("# # BAT:    tmp_24  #\n");#	io.print("# # (int)   (int)   #\n");#	io.print("# #-----------------#\n");#	io.print("# [ 1,      2       ]\n");#	io.print("# ========\n");#	io.print("#\n");#	io.print("# for a detailed test script see \n");#	io.print("# tests/BugReports/Tests/no.171.*\n");#	io.print("# in the Monet source repository.\n");#	io.print("#\n");#	io.print("#         stefan\n");#	io.print("var s:=new(int,int);");	s := bat.new(nil:int,nil:int);#	io.print("insert(s,5,5);");	aa_a := bat.insert(s,5,5);#	io.print("insert(s,3,3);");	ba_a := bat.insert(s,3,3);#	io.print("insert(s,4,2);");	ca_a := bat.insert(s,4,2);#	io.print("insert(s,2,1);");	da_a := bat.insert(s,2,1);#	io.print("insert(s,1,1);");	ea_a := bat.insert(s,1,1);#	io.print("insert(s,4,2);");	fa_a := bat.insert(s,4,2);#	io.print("insert(s,4,3);");	ga_a := bat.insert(s,4,3);#	io.print("s.print();");	ha_a := io.print(s);#	io.print("s.select(1).print();");	ia_a := algebra.select(s,1);	ja_a := io.print(ia_a);#	io.print("s.select(2).print();");	ka_a := algebra.select(s,2);	la_a := io.print(ka_a);#	io.print("s.select(3).print();");	ma_a := algebra.select(s,3);	na_a := io.print(ma_a);#	io.print("s.select(4).print();");	oa_a := algebra.select(s,4);	pa_a := io.print(oa_a);#	io.print("s.select(5).print();");	qa_a := algebra.select(s,5);	ra_a := io.print(qa_a);#	io.print("s.reverse().print();");	sa_a := bat.reverse(s);	ta_a := io.print(sa_a);#	io.print("s.reverse().select(1).print();");	ua_a := bat.reverse(s);	va_a := algebra.select(ua_a,1);	wa_a := io.print(va_a);#	io.print("s.reverse().select(2).print();");	xa_a := bat.reverse(s);	ya_a := algebra.select(xa_a,2);	ab_a := io.print(ya_a);#	io.print("s.reverse().select(3).print();");	bb_a := bat.reverse(s);	cb_a := algebra.select(bb_a,3);	db_a := io.print(cb_a);#	io.print("s.reverse().select(4).print();");	eb_a := bat.reverse(s);	fb_a := algebra.select(eb_a,4);	gb_a := io.print(fb_a);#	io.print("s.reverse().select(5).print();");	hb_a := bat.reverse(s);	ib_a := algebra.select(hb_a,5);	jb_a := io.print(ib_a);#	io.print("printf(\"#~BeginVariableOutput~#\\n\");");	kb_a := io.printf("#~BeginVariableOutput~#\n");#	io.print("s.sort().print();");	lb_a := algebra.sort(s);	mb_a := io.print(lb_a);#	io.print("printf(\"#~EndVariableOutput~#\\n\");");	nb_a := io.printf("#~EndVariableOutput~#\n");#	io.print("s.sortHT().print();");	ob_a := algebra.sortHT(s);	pb_a := io.print(ob_a);#	io.print("s.select(1).print();");	qb_a := algebra.select(s,1);	rb_a := io.print(qb_a);#	io.print("s.select(2).print();");	sb_a := algebra.select(s,2);	tb_a := io.print(sb_a);#	io.print("s.select(3).print();");	ub_a := algebra.select(s,3);	vb_a := io.print(ub_a);#	io.print("s.select(4).print();");	wb_a := algebra.select(s,4);	xb_a := io.print(wb_a);#	io.print("s.select(5).print();");	yb_a := algebra.select(s,5);	ac_a := io.print(yb_a);#	io.print("s.reverse().print();");	bc_a := bat.reverse(s);	cc_a := io.print(bc_a);#	io.print("s.reverse().select(1).print();");	dc_a := bat.reverse(s);	ec_a := algebra.select(dc_a,1);	fc_a := io.print(ec_a);#	io.print("s.reverse().select(2).print();");	gc_a := bat.reverse(s);	hc_a := algebra.select(gc_a,2);	ic_a := io.print(hc_a);#	io.print("s.reverse().select(3).print();");	jc_a := bat.reverse(s);	kc_a := algebra.select(jc_a,3);	lc_a := io.print(kc_a);#	io.print("s.reverse().select(4).print();");	mc_a := bat.reverse(s);	nc_a := algebra.select(mc_a,4);	oc_a := io.print(nc_a);#	io.print("s.reverse().select(4).sortHT().print();");	pc_a := bat.reverse(s);	qc_a := algebra.select(pc_a,4);	rc_a := algebra.sortHT(qc_a);	sc_a := io.print(rc_a);#	io.print("s.reverse().select(5).print();");	tc_a := bat.reverse(s);	uc_a := algebra.select(tc_a,5);	vc_a := io.print(uc_a);#	io.print("printf(\"#~BeginVariableOutput~#\\n\");");	wc_a := io.printf("#~BeginVariableOutput~#\n");#	io.print("s.reverse().sort().print();");	xc_a := bat.reverse(s);	yc_a := algebra.sort(xc_a);	ad_a := io.print(yc_a);#	io.print("printf(\"#~EndVariableOutput~#\\n\");");	bd_a := io.printf("#~EndVariableOutput~#\n");#	io.print("s.reverse().sortHT().print();");	cd_a := bat.reverse(s);	dd_a := algebra.sortHT(cd_a);	ed_a := io.print(dd_a);#	io.print("s.reverse().select(1).print();");	fd_a := bat.reverse(s);	gd_a := algebra.select(fd_a,1);	hd_a := io.print(gd_a);#	io.print("s.reverse().select(2).print();");	id_a := bat.reverse(s);	jd_a := algebra.select(id_a,2);	kd_a := io.print(jd_a);#	io.print("s.reverse().select(3).print();");	ld_a := bat.reverse(s);	md_a := algebra.select(ld_a,3);	nd_a := io.print(md_a);#	io.print("s.reverse().select(4).print();");	od_a := bat.reverse(s);	pd_a := algebra.select(od_a,4);	qd_a := io.print(pd_a);#	io.print("s.reverse().select(4).sortHT().print();");	rd_a := bat.reverse(s);	sd_a := algebra.select(rd_a,4);	td_a := algebra.sortHT(sd_a);	ud_a := io.print(td_a);#	io.print("s.reverse().select(5).print();");	vd_a := bat.reverse(s);	wd_a := algebra.select(vd_a,5);	xd_a := io.print(wd_a);#	io.print("quit();");	yd_a := clients.quit();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -