📄 no.165.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("# \n");# io.print("# >Number: 165\n");# io.print("# >Category: Module_libgdk\n");# io.print("# >Synopsis: mark(BAT) fails\n");# io.print("# >Confidential: no\n");# io.print("# >Severity: serious\n");# io.print("# >Priority: medium\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 Aug 12 15:18:26 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("# any\n");# io.print("# >Description:\n");# io.print("# mark(BAT) fails with\n");# io.print("# !ERROR: CMDmark_default: returned BAT has unexpected head.\n");# io.print("# \n");# io.print("# ========\n");# io.print("# test script\n");# io.print("# --------\n");# io.print("# b:= bat.new(str,int);\n");# io.print("# b.insert(\"the\",1);\n");# io.print("# b.insert(\"quick\",20);\n");# io.print("# b.insert(\"brown\",30);\n");# io.print("# b.insert(\"fox\",40);\n");# io.print("# b.insert(\"jumps\",50);\n");# io.print("# b.insert(\"over\",60);\n");# io.print("# b.insert(\"lazy\",70);\n");# io.print("# b.insert(\"dog\",80);\n");# io.print("# b.insert(str(nil),90);\n");# io.print("# b.insert(\".\",100);\n");# io.print("# b.insert(\"\",int(nil));\n");# io.print("# b.insert(str(nil),int(nil));\n");# io.print("# b.print;\n");# io.print("# \n");# io.print("# c:= mark(b);\n");# io.print("# bat.print(c);\n");# io.print("# quit;\n");# io.print("# \n");# io.print("# ========\n");# io.print("# output\n");# io.print("# --------\n");# io.print("# [...]\n");# io.print("# b.print;\n");# io.print("# #-------------------------#\n");# io.print("# # BAT: tmp_23 #\n");# io.print("# # (str) (int) #\n");# io.print("# #-------------------------#\n");# io.print("# [ \"the\", 1 ]\n");# io.print("# [ \"quick\", 20 ]\n");# io.print("# [ \"brown\", 30 ]\n");# io.print("# [ \"fox\", 40 ]\n");# io.print("# [ \"jumps\", 50 ]\n");# io.print("# [ \"over\", 60 ]\n");# io.print("# [ \"lazy\", 70 ]\n");# io.print("# [ \"dog\", 80 ]\n");# io.print("# [ nil, 90 ]\n");# io.print("# [ \".\", 100 ]\n");# io.print("# [ \"\", nil ]\n");# io.print("# [ nil, nil ]\n");# io.print("# \n");# io.print("# c:= mark(b);\n");# io.print("# !ERROR: CMDmark_default: returned BAT has unexpected head.\n");# io.print("# bat.print(c);\n");# io.print("# !WARNING: BATdescriptor: range error\n");# io.print("# !ERROR: interpret operator: 1nd param: invalid BAT.\n");# io.print("# quit;\n");# io.print("# \n");# io.print("# ========\n");# io.print("setoid(oid(20000000));"); aa_a := calc.oid(20000000); ba_a := calc.setoid(aa_a);# 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\",20);"); da_a := bat.insert(b,"quick",20);# io.print("b.insert(\"brown\",30);"); ea_a := bat.insert(b,"brown",30);# io.print("b.insert(\"fox\",40);"); fa_a := bat.insert(b,"fox",40);# io.print("b.insert(\"jumps\",50);"); ga_a := bat.insert(b,"jumps",50);# io.print("b.insert(\"over\",60);"); ha_a := bat.insert(b,"over",60);# io.print("b.insert(\"lazy\",70);"); ia_a := bat.insert(b,"lazy",70);# io.print("b.insert(\"dog\",80);"); ja_a := bat.insert(b,"dog",80);# io.print("b.insert(str(nil),90);"); ka_a := calc.str(nil); la_a := bat.insert(b,ka_a,90);# io.print("b.insert(\".\",100);"); ma_a := bat.insert(b,".",100);# 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("var c:= mark(b,oid(20000050));"); ta_a := calc.oid(20000050); c := algebra.markT(b,ta_a);# io.print("print(c);"); ua_a := io.print(c);# io.print("quit();"); va_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -