📄 no.161.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: 161\n");# io.print("# >Category: Mserver\n");# io.print("# >Synopsis: tostr problem when str module is loaded\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 15:24:01 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("# In the following script the string becomes different\n");# io.print("# in the inner procedure (when the str module is loaded):\n");# io.print("# \n");# io.print("# Script\n");# io.print("# 8<-----\n");# io.print("# PROC test_inner(any in) : void {\n");# io.print("# printf(\"test_inner.in: %s\\n\",str(in));\n");# io.print("# }\n");# io.print("# \n");# io.print("# PROC test_outer(any in) : void {\n");# io.print("# printf(\"test_outer.in: %s\\n\",str(in));\n");# io.print("# test_inner(in);\n");# io.print("# }\n");# io.print("# 8<-----\n");# io.print("# Output\n");# io.print("# 8<-----\n");# io.print("# >test_outer(\"chr\");\n");# io.print("# test_outer.in: chr\n");# io.print("# test_inner.in: chr\n");# io.print("# >module(str);\n");# io.print("# >test_outer(\"chr\");\n");# io.print("# test_outer.in: chr\n");# io.print("# test_inner.in: test_inner.in: %s\n");# io.print("# 8<----\n");# io.print("setoid(oid(20000000));"); aa_a := calc.oid(20000000); ba_a := calc.setoid(aa_a);# io.print("PROC test_inner(any in) : void {");function test_inner(in:str):void;# io.print(" printf(\"test_inner.in: %s\\n\",str(in));"); ca_a := calc.str(in); da_a := io.printf("test_inner.in: %s\n",ca_a);end test_inner;# io.print("PROC test_outer(any in) : void {");function test_outer(in:any_1):void;# io.print(" printf(\"test_outer.in: %s\\n\",str(in));"); ea_a := calc.str(in); fa_a := io.printf("test_outer.in: %s\n",ea_a);# io.print(" test_inner(in);"); ga_a := user.test_inner(in);end test_outer;# io.print("test_outer(\"chr\");"); ha_a := user.test_outer("chr");# io.print("test_outer(\"chr\");"); ia_a := user.test_outer("chr");# io.print("quit();"); ja_a := clients.quit();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -