📄 no.162.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: 162\n");# io.print("# >Category: Mserver\n");# io.print("# >Synopsis: ghost BUN in join result\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: Wed Jul 15 16:13:00 1998\n");# io.print("# >Originator: windhouw@cwi.nl\n");# io.print("# >Organization:\n");# io.print("# CWI\n");# io.print("# >Release: 980101\n");# io.print("# >Environment:\n");# io.print("# \n");# io.print("# >Description:\n");# io.print("# A ghost BUN appears in the following script:\n");# io.print("# \n");# io.print("# script\n");# io.print("# 8<-----\n");# io.print("# VAR left := bat.new(int,int);\n");# io.print("# left.insert(4,-3);\n");# io.print("# left.insert(3,-2);\n");# io.print("# left.insert(2,-1);\n");# io.print("# left.insert(1,0);\n");# io.print("# \n");# io.print("# VAR right := bat.new(int,str);\n");# io.print("# right.insert(-3,\"vier\");\n");# io.print("# right.insert(-2,\"drie\");\n");# io.print("# right.insert(-1,\"twee\");\n");# io.print("# right.insert(0,\"een\");\n");# io.print("# \n");# io.print("# algebra.join(left,right).print;\n");# io.print("# \n");# io.print("# 8<-----\n");# io.print("# output\n");# io.print("# 8<-----\n");# io.print("# >join(left,right).print;\n");# io.print("# #-----------------#\n");# io.print("# # BAT: tmp_37 #\n");# io.print("# # (int) (str) #\n");# io.print("# #-----------------#\n");# io.print("# [ 4, \"vier\" ]\n");# io.print("# [ 3, \"drie\" ]\n");# io.print("# [ 2, \"twee\" ]\n");# io.print("# [ 1, \"een\" ]\n");# io.print("# [ 1, \"\" ]\n");# io.print("setoid(oid(20000000));"); aa_a := calc.oid(20000000); ba_a := calc.setoid(aa_a);# io.print("VAR left := bat.new(int,int);"); left := bat.new(nil:int,nil:int);# io.print("left.insert(4,-3);"); ca_a := bat.insert(left,4,-3);# io.print("left.insert(3,-2);"); da_a := bat.insert(left,3,-2);# io.print("left.insert(2,-1);"); ea_a := bat.insert(left,2,-1);# io.print("left.insert(1,0);"); fa_a := bat.insert(left,1,0);# io.print("VAR right := bat.new(int,str);"); right := bat.new(nil:int,nil:str);# io.print("right.insert(-3,\"vier\");"); ga_a := bat.insert(right,-3,"vier");# io.print("right.insert(-2,\"drie\");"); ha_a := bat.insert(right,-2,"drie");# io.print("right.insert(-1,\"twee\");"); ia_a := bat.insert(right,-1,"twee");# io.print("right.insert(0,\"een\");"); ja_a := bat.insert(right,0,"een");# io.print("join(left,right).print();"); ka_a := algebra.join(left,right); la_a := io.print(ka_a);# io.print("quit();"); ma_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -