📄 test_60.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("setoid(oid(20000000));"); aa_a := oid(20000000); ba_a := setoid(aa_a);# io.print("proc newid(any x, any y) : any {");function newid(x:any$1, y:any$2):any$3;# io.print("\treturn x+y;"); return ca_a :=+(x,y);end newid;# io.print("#calling a function;\n"); b := new(nil:int,nil:int,0);# io.print("b.insert(1,15);"); da_a := insert(b,1,15);# io.print("b.insert(2,4);"); ea_a := insert(b,2,4);# io.print("b.insert(3,int(nil));"); fa_a := int(nil); ga_a := insert(b,3,fa_a);# io.print("b.insert(4,16);"); ha_a := insert(b,4,16);# io.print("b.insert(5,25);"); ia_a := insert(b,5,25);# io.print("b.insert(6,36);"); ja_a := insert(b,6,36);# io.print("b.insert(7,49);"); ka_a := insert(b,7,49);# io.print("b.insert(8,64);"); la_a := insert(b,8,64);# io.print("b.insert(9,int(nil));"); ma_a := int(nil); na_a := insert(b,9,ma_a);# io.print("b.insert(int(nil),int(nil));"); oa_a := int(nil); pa_a := int(nil); qa_a := insert(b,oa_a,pa_a);# io.print("b.insert(int(nil),81);"); ra_a := int(nil); sa_a := insert(b,ra_a,81);# io.print("b.rename(\"tenk1_unique1\");"); ta_a := bat.setName(b,"tenk1_unique1");# io.print("proc dummy() : int { return 1; }");function dummy():int; return ua_a :=1;end dummy;# io.print("proc p(any B, any C) : any { ");function p(B:any$1, C:any$2):any$3;# io.print(" var local :=newid(B,C); "); local := newid(B,C);# io.print("\tprint(local);"); va_a := print(local);end p;# io.print("proc s(int low, int high) : void {");function s(low:int, high:int):void;# io.print("\tvar t := select(bat(\"tenk1_unique1\"),low,high); "); wa_a := new("tenk1_unique1"); t := select(wa_a,low,high);# io.print(" t.count().print();"); xa_a := count(t); ya_a := print(xa_a);end s;# io.print("proc echo(any x,any y) : any { ");function echo(x:any$1, y:any$2):any$3;# io.print("\tvar z:=x; "); z := x;# io.print("\treturn(z); "); return ab_a :=z;end echo;# io.print("proc New(any N,any A,any Ahsh) : void {");function New(N:any, A:any, Ahsh:any):void;# io.print(" var Nh := newid(N,\"_hsh\"); "); Nh := newid(N,"_hsh");# io.print(" var A := new(int,int,1); "); A := new(nil:int,nil:int,1);# io.print(" rename(A,N); "); bb_a := bat.setName(A,N);# io.print(" var Ahsh := new(oid,int,1); "); Ahsh := new(nil:oid,nil:int,1);# io.print(" rename(Ahsh,Nh); "); cb_a := bat.setName(Ahsh,Nh);# io.print("\tprint(bat(Nh));"); db_a := new(Nh); eb_a := print(db_a);end New;# io.print("p(\"b\",\"1\");"); fb_a := p("b","1");# io.print("# passing parameters;\n"); a := 35;# io.print("echo(a,\"hello\").print();"); gb_a := echo(a,"hello"); hb_a := print(gb_a);# io.print("New(\"r\",\"C\",\"Ch\");"); ib_a := New("r","C","Ch");# io.print("s(0,10);"); jb_a := s(0,10);# io.print("s(0,11);"); kb_a := s(0,11);# io.print("# errors !;\n"); lb_a := s(0,99);# io.print("s(0,999);"); mb_a := s(0,999);# io.print("quit();"); nb_a := quit();#Identifer 'rename' mapped to 'bat.setName'print("test dropped: it uses 4.4. catalogues");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -