📄 no.073_s00.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: 73\n");# io.print("# >Category: Mserver\n");# io.print("# >Synopsis: original BAT unknown after renamed reverse BAT\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 Nov 5 13:03:07 1997\n");# io.print("# >Originator: windhouw\n");# io.print("# >Organization:\n");# io.print("# >Release: 971007\n");# io.print("# >Environment:\n");# io.print("# \n");# io.print("# >Description:\n");# io.print("# example:\n");# io.print("# - creating a persisten BAT with name ab;\n");# io.print("# - naming the reverse to ba;\n");# io.print("# - restart the server;\n");# io.print("# - trying to access the original ab gives the following error:\n");# io.print("# >!ERROR: GDKload: can not access ab.desc\n");# io.print("# >No such file or directory!ERROR: BATprintf: BAT expected\n");# io.print("# - access to the reverse ba succeeds;\n");# io.print("# - access to the original ab is now succesfull.\n");# io.print("# ======\n");# io.print("# OUTPUT\n");# io.print("# ======\n");# io.print("# (windhouw@mamba 33) Mserver\n");# io.print("# # Monet Database Server V4.00\n");# io.print("# # Copyright (c) 1993-1997, CWI & SION.All rights reserved.\n");# io.print("# \n");# io.print("# loaded;\n");# io.print("# #-----------------------------------------#\n");# io.print("# # module | owner | usage_count #\n");# io.print("# #-----------------------------------------#\n");# io.print("# [ \"kernel\", \"adm\", 1 ]\n");# io.print("# [ \"arith\", \"adm\", 1 ]\n");# io.print("# [ \"bat\", \"adm\", 1 ]\n");# io.print("# [ \"algebra\", \"adm\", 1 ]\n");# io.print("# [ \"sys\", \"adm\", 1 ]\n");# io.print("# \n");# io.print("# Try: modules; - for other modules.\n");# io.print("# ls; - for persistent bat listing.\n");# io.print("# sigs(\"<module>\") - for available commands per module.\n");# io.print("# help(\"<command>\") - for help one-liner for a command.\n");# io.print("# \n");# io.print("# #You are system administrator (adm)!\n");# io.print("# >ab := bbp.new(int,str);\n");# io.print("# >ab.rename(\"ab\");\n");# io.print("# >ab.persists(true);\n");# io.print("# >ab.commit;\n");# io.print("# >ba := ab.reverse;\n");# io.print("# >ba.rename(\"ba\");\n");# io.print("# >ba.persists(true);\n");# io.print("# >ba.commit;\n");# io.print("# >ab.insert(1,\"een\");\n");# io.print("# >ba.insert(\"twee\",2);\n");# io.print("# >ab.print;\n");# io.print("# #-----------------#\n");# io.print("# # int | ba #\n");# io.print("# #-----------------#\n");# io.print("# [ 1, \"een\" ]\n");# io.print("# [ 2, \"twee\" ]\n");# io.print("# >ba.print;\n");# io.print("# #-----------------#\n");# io.print("# # str | ba #\n");# io.print("# #-----------------#\n");# io.print("# [ \"een\", 1 ]\n");# io.print("# [ \"twee\", 2 ]\n");# io.print("# >commit;\n");# io.print("# >quit;\n");# io.print("# (windhouw@mamba 34) Mserver\n");# io.print("# # Monet Database Server V4.00\n");# io.print("# # Copyright (c) 1993-1997, CWI & SION.All rights reserved.\n");# io.print("# \n");# io.print("# loaded;\n");# io.print("# #-----------------------------------------#\n");# io.print("# # module | owner | usage_count #\n");# io.print("# #-----------------------------------------#\n");# io.print("# [ \"kernel\", \"adm\", 1 ]\n");# io.print("# [ \"arith\", \"adm\", 1 ]\n");# io.print("# [ \"bat\", \"adm\", 1 ]\n");# io.print("# [ \"algebra\", \"adm\", 1 ]\n");# io.print("# [ \"sys\", \"adm\", 1 ]\n");# io.print("# \n");# io.print("# Try: modules; - for other modules.\n");# io.print("# ls; - for persistent bat listing.\n");# io.print("# sigs(\"<module>\") - for available commands per module.\n");# io.print("# help(\"<command>\") - for help one-liner for a command.\n");# io.print("# \n");# io.print("# #You are system administrator (adm)!\n");# io.print("# >ab.print;\n");# io.print("# !ERROR: GDKload: can not access ab.desc\n");# io.print("# No such file or directory!ERROR: BATprintf: BAT expected>\n");# io.print("# >ba.print;\n");# io.print("# #-----------------#\n");# io.print("# # str | ba #\n");# io.print("# #-----------------#\n");# io.print("# [ \"een\", 1 ]\n");# io.print("# [ \"twee\", 2 ]\n");# io.print("# >ab.print;\n");# io.print("# #-----------------#\n");# io.print("# # int | ba #\n");# io.print("# #-----------------#\n");# io.print("# [ 1, \"een\" ]\n");# io.print("# [ 2, \"twee\" ]\n");# io.print("var ab := bbp.new(int,str);"); ab := bbp.new(nil:int,nil:str);# io.print("ab.rename(\"ab\");"); aa_a := bat.setName(ab,"ab");# io.print("ab.persists(true);"); ba_a := persists(ab,true);# io.print("ab.commit();"); ca_a := commit(ab);# io.print("var ba := ab.reverse();"); ba := bat.reverse(ab);# io.print("ba.rename(\"ba\");"); da_a := bat.setName(ba,"ba");# io.print("ba.persists(true);"); ea_a := persists(ba,true);# io.print("ba.commit();"); fa_a := commit(ba);# io.print("ab.insert(1,\"een\");"); ga_a := bat.insert(ab,1,"een");# io.print("ba.insert(\"twee\",2);"); ha_a := bat.insert(ba,"twee",2);# io.print("ab.print();"); ia_a := bat.print(ab);# io.print("ba.print();"); ja_a := bat.print(ba);# io.print("commit();"); ka_a := commit();# io.print("quit();"); la_a := clients.quit();#Identifer 'rename' mapped to 'bat.setName'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -