📄 test_30.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 := calc.oid(20000000); ba_a := setoid(aa_a);# io.print("## testing transitive closure on cyclic graph;\n");# io.print("var c:= bat.new(int,int);"); c := bat.new(nil:int,nil:int);# io.print("insert(c,1,2);"); ca_a := bat.insert(c,1,2);# io.print("insert(c,2,3);"); da_a := bat.insert(c,2,3);# io.print("insert(c,2,7);"); ea_a := bat.insert(c,2,7);# io.print("insert(c,3,4);"); fa_a := bat.insert(c,3,4);# io.print("insert(c,4,5);"); ga_a := bat.insert(c,4,5);# io.print("insert(c,5,1);"); ha_a := bat.insert(c,5,1);# io.print("count(c).print();"); ia_a := aggr.count(c); ja_a := bat.print(ia_a);# io.print("var d:= closure(c);"); d := closure(c);# io.print("count(d).print();"); ka_a := aggr.count(d); la_a := bat.print(ka_a);# io.print("print(d);"); ma_a := bat.print(d);# io.print("## testing traversal on directed acyclic graph\n");# io.print("## produces the end-points only\n"); c := bat.new(nil:int,nil:int);# io.print("insert(c,1,2);"); na_a := bat.insert(c,1,2);# io.print("insert(c,2,3);"); oa_a := bat.insert(c,2,3);# io.print("insert(c,2,7);"); pa_a := bat.insert(c,2,7);# io.print("insert(c,3,4);"); qa_a := bat.insert(c,3,4);# io.print("insert(c,4,5);"); ra_a := bat.insert(c,4,5);# io.print("insert(c,3,5);"); sa_a := bat.insert(c,3,5);# io.print("count(c).print();"); ta_a := aggr.count(c); ua_a := bat.print(ta_a);# io.print("var d:= bat.new(int,int);"); d := bat.new(nil:int,nil:int);# io.print("d.insert(1,1);"); va_a := bat.insert(d,1,1);# io.print("d.traverse(c).print();"); wa_a := traverse(d,c); xa_a := bat.print(wa_a);# io.print("d.clear();"); ya_a := clear(d);# io.print("d.insert(2,3);"); ab_a := bat.insert(d,2,3);# io.print("d.traverse(c).print();"); bb_a := traverse(d,c); cb_a := bat.print(bb_a);# io.print("## The alternative is to extract a subgraph\n"); db_a := clear(d);# io.print("d.insert(2,2);"); eb_a := bat.insert(d,2,2);# io.print("printf(\"#~BeginVariableOutput~#\\n\"); time.print(); var z:=d.subgraph(c); time.print(); printf(\"#~EndVariableOutput~#\\n\");"); fb_a := printf("#~BeginVariableOutput~#\n");_t:= alarm.time(); gb_a := bat.print(_t); z := subgraph(d,c);_t:= alarm.time(); hb_a := bat.print(alarm.time); ib_a := printf("#~EndVariableOutput~#\n");# io.print("z.print();"); jb_a := bat.print(z);# io.print("d.clear();"); kb_a := clear(d);# io.print("d.insert(2,2);"); lb_a := bat.insert(d,2,2);# io.print("d.insert(3,3);"); mb_a := bat.insert(d,3,3);# io.print("printf(\"#~BeginVariableOutput~#\\n\"); time.print(); z:=d.subgraph(c); time.print(); printf(\"#~EndVariableOutput~#\\n\");"); nb_a := printf("#~BeginVariableOutput~#\n"); ob_a := bat.print(alarm.time); z := subgraph(d,c); pb_a := bat.print(alarm.time); qb_a := printf("#~EndVariableOutput~#\n");# io.print("z.print();"); rb_a := bat.print(z);# io.print("quit();"); sb_a := clients.quit();#Identifer 'time' mapped to 'alarm.time'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -