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

📄 no.051.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:         51\n");#	io.print("# >Category:       MIL\n");#	io.print("# >Synopsis:       returns from within a batloop\n");#	io.print("# >Confidential:   no\n");#	io.print("# >Severity:       serious\n");#	io.print("# >Priority:       medium\n");#	io.print("# >Responsible:    boncz\n");#	io.print("# >State:          closed\n");#	io.print("# >Class:          sw-bug\n");#	io.print("# >Submitter-Id:   unknown\n");#	io.print("# >Arrival-Date:   Wed Oct 15 13:50:27 1997\n");#	io.print("# >Originator:     niels\n");#	io.print("# >Organization:\n");#	io.print("# >Release:        971007\n");#	io.print("# >Environment:\n");#	io.print("# SOLARIS 2.5.1\n");#	io.print("# >Description:\n");#	io.print("# When a bat is returned from with a batloop the return value\n");#	io.print("# is incorrect. \n");#	io.print("# proc create(b) : bat {\n");#	io.print("#         var a := new (oid,flt);\n");#	io.print("#         b@batloop(){\n");#	io.print("#                 if (a.count = 0)\n");#	io.print("#                         return a;\n");#	io.print("#         }\n");#	io.print("#         return a;\n");#	io.print("# }\n");#	io.print("# \n");#	io.print("# b := new (oid,flt);\n");#	io.print("# b.insert(oid(1),flt(2));\n");#	io.print("# var c := create(b);\n");#	io.print("# b.semijoin(c).print;\n");#	io.print("# #output\n");#	io.print("# !WARNING: BATdescriptor: range error\n");#	io.print("# !ERROR: interpret command/proc: 2nd param: invalid BAT.\n");#	io.print("# [ nil ]\n");#	io.print("proc create(bat b) : bat {");function create(b:bat[:any_1,:any_2]):bat[:any_1,:any_2];#	io.print("        var a := new (oid,flt);");	a := bat.new(nil:oid,nil:flt);#	io.print("        b@batloop(){");barrier	(aa_a,aa_aH,aa_aT) := bat.newIterator(b);#	io.print("                if (a.count() = 0)");	ba_a := aggr.count(a);barrier	ca_a := calc.==(ba_a,0);#	io.print("                        return a;");	return da_a :=a;#	io.print("        }");exit	ca_a;redo	(aa_a,aa_aH,aa_aT) := bat.hasMoreElements(b);exit	(aa_a,aa_aH,aa_aT) ;#	io.print("        return a;");	return ea_a :=a;end create;#	io.print("var b := new (oid,flt);");	b := bat.new(nil:oid,nil:flt);#	io.print("b.insert(oid(1),flt(2));");	fa_a := calc.oid(1);	ga_a := calc.flt(2);	ha_a := bat.insert(b,fa_a,ga_a);#	io.print("b.print();");	ia_a := io.print(b);#	io.print("var c := create(b);");	c := user.create(b);#	io.print("b.print();");	ja_a := io.print(b);#	io.print("c.print();");	ka_a := io.print(c);#	io.print("b.semijoin(c).print();");	la_a := algebra.semijoin(b,c);	ma_a := io.print(la_a);#	io.print("quit();");	na_a := clients.quit();

⌨️ 快捷键说明

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