📄 no.062.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: 62\n");# io.print("# >Category: MIL\n");# io.print("# >Synopsis: Handling of nested arithmetic expressions is inconsistent\n");# io.print("# >Confidential: no\n");# io.print("# >Severity: critical\n");# io.print("# >Priority: high\n");# io.print("# >Responsible: mk\n");# io.print("# >State: feedback\n");# io.print("# >Class: sw-bug\n");# io.print("# >Submitter-Id: unknown\n");# io.print("# >Arrival-Date: Fri Oct 24 14:09:23 1997\n");# io.print("# >Originator: mk\n");# io.print("# >Organization:\n");# io.print("# >Release: 971007\n");# io.print("# >Environment:\n");# io.print("# \n");# io.print("# >Description:\n");# io.print("# Handlin>t:= bat.new(int,int);\n");# io.print("# >t.insert(0,0);\n");# io.print("# >t.insert(1+1,0);\n");# io.print("# >t.insert(-1,-0);\n");# io.print("# >print(t);\n");# io.print("# #-----------------#\n");# io.print("# # int | tmp_32 #\n");# io.print("# #-----------------#\n");# io.print("# [ 0, 0 ]\n");# io.print("# [ 2, 0 ]\n");# io.print("# [ -1, 0 ]\n");# io.print("# ># alles zover is goed\n");# io.print("# >t.insert(-1+1,0);\n");# io.print("# >t.insert(-1 - 1,0);\n");# io.print("# !ERROR: in syntax at \"t.insert(-1 - 1,0);\"\n");# io.print("# ! ^\n");# io.print("# >t.insert(-1 -1, 0);\n");# io.print("# !ERROR: in syntax at \"t.insert(-1 -1, 0);\"\n");# io.print("# ! ^\n");# io.print("# >#not what is expected from nested expression\n");# io.print("# >t.print;\n");# io.print("# #-----------------#\n");# io.print("# # int | tmp_32 #\n");# io.print("# #-----------------#\n");# io.print("# [ 0, 0 ]\n");# io.print("# [ 2, 0 ]\n");# io.print("# [ -1, 0 ]\n");# io.print("# [ 0, 0 ]\n");# io.print("# >t.insert(0-1+ -1, 0);\n");# io.print("# !ERROR: in syntax at \"t.insert(0-1+ -1, 0);\"\n");# io.print("# \n");# io.print("# This is not what a user would expect\n");# io.print("setoid(oid(20000000));"); aa_a := calc.oid(20000000); ba_a := calc.setoid(aa_a);# io.print("var t:= bat.new(int,int);"); t := bat.new(nil:int,nil:int);# io.print("t.insert(0,0);"); ca_a := bat.insert(t,0,0);# io.print("t.insert(1+1,0);"); da_a := calc.+(1,1); ea_a := bat.insert(t,da_a,0);# io.print("t.insert(-1,-0);"); fa_a := bat.insert(t,-1,-0);# io.print("t.insert(0,0);"); ga_a := bat.insert(t,0,0);# io.print("t.insert(-1+1,0);"); ha_a := calc.+(-1,1); ia_a := bat.insert(t,ha_a,0);# io.print("print(t);"); ja_a := io.print(t);# io.print("# alles zover is goed\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -