-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathdemo.html
85 lines (81 loc) · 2.95 KB
/
demo.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GrassMudMonkey Console</title>
<link href="console.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="box">
<div class="wrap">
<textarea id="code"></textarea>
</div>
<div id="toolbar">
<input type="button" id="runbtn" value="Run" />
<input type="button" id="exambtn" value="Example" />
<input type="button" id="cmtbtn" value="Example With Comments" />
<input type="button" id="typebtn" value="Language -> Whitespace" />
<!--<input type="button" id="debugbtn" value="Debug Mode: Off" />-->
</div>
<div class="wrap" id="console">
<textarea id="output" readonly="readonly"></textarea>
</div>
</div>
<textarea id="example">
1 草-草 草泥马 //数字1压栈
2 马-草草 草泥草草草草泥泥马 //在这里设置一个循环开始的标识
3 草-马草 //复制栈顶元素
4 泥马-草泥 //输出当前值
5 草草 草泥草泥草马 //换行(10)压栈
6 泥马-草草 //输出字符10
7 草草 草泥马 //1压栈
8 泥草-草草 //相加栈内两个元素
9 草-马草 //复制栈顶以便比较
10 草-草 草泥草泥泥马 //11压栈
11 泥草- 草泥 //相减
12 马-泥草 草泥草草草泥草泥马 //如果是0,跳到最后
13 马-草马 草泥草草草草泥泥马 //跳到开始
14 马-草草 草泥草草草泥草泥马 //设置一个标签标识循环结束
15 草-马马 //清空堆栈,打扫卫生,整理整顿
</textarea>
<script type="text/javascript" src="grassmudmonkey.js"></script>
<script type="text/javascript">
var elm = function(e){
return document.getElementById(e);
};
var output = elm('output');
GrassMudMonkey.print = function(str){
output.value = output.value + str.toString().replace('\n', '\n>>> ');
};
elm('code').value = elm('example').value;
output.value = '>>> Welcome to GrassMudMonkey Console!\n>>> ';
elm('runbtn').onclick = function(){
output.value = ">>> Welcome to GrassMudMonkey Console!\n>>> ";
GrassMudMonkey.eval(elm('code').value);
};
elm('typebtn').onclick = function(){
this.value = this.value.replace(/(\->\s*)(\w+)/, function(a, b, c){
var old = GrassMudMonkey.type;
GrassMudMonkey.type = c;
return b + old;
});
};
/*
elm('debugbtn').onclick = function(){
if (GrassMudMonkey.debugEnable) {
GrassMudMonkey.debugEnable = false;
this.value = "Debug Mode: Off";
} else {
GrassMudMonkey.debugEnable = true;
this.value = "Debug Mode: On";
}
};
*/
elm('cmtbtn').onclick = function(){
elm('code').value = elm('example').value;
};
elm('exambtn').onclick = function(){
elm('code').value = elm('example').value.replace(/[^\u8349\u6CE5\u9A6C]/g, '');
};
</script>
</body>
</html>