-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
242 lines (235 loc) · 46.3 KB
/
index.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Theta Playground</title>
<link
href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap"
rel="stylesheet"
/>
<style>
:root {
--background: #282a36;
--current-line: #44475a;
--selection: #44475a;
--foreground: #f8f8f2;
--comment: #6272a4;
--cyan: #8be9fd;
--green: #50fa7b;
--orange: #ffb86c;
--pink: #ff79c6;
--purple: #bd93f9;
--red: #ff5555;
--yellow: #f1fa8c;
}
body {
font-family: "Roboto", sans-serif;
background-color: var(--background);
color: var(--foreground);
padding: 20px;
margin: 0;
display: flex;
justify-content: center;
overflow: hidden;
}
.background {
position: absolute;
width: 200%;
height: 200%;
left: -50%;
top: -54%;
z-index: -1;
transform: rotate(45deg);
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100"><image width="50" height="50" xlink:href="data:image/png;base64,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" /></svg>');
}
.container {
width: 50%;
padding: 20px;
background: var(--current-line);
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
overflow: auto;
max-height: 850px;
}
h1, h2 {
font-size: 2rem;
font-weight: 700;
color: var(--pink);
display: flex;
align-items: center;
margin-bottom: 20px;
}
h1 img, h2 img {
width: 40px;
height: 40px;
margin-right: 10px;
}
#output,
#console,
#hexdump,
#memoryView {
margin-top: 20px;
padding: 15px;
border-radius: 4px;
font-family: "Roboto Mono", monospace;
}
#output,
#hexdump,
#memoryView {
border: 1px solid var(--selection);
background-color: var(--background);
font-size: 1rem;
color: var(--foreground);
}
#hexdump {
max-height: 300px;
overflow: auto;
}
#memoryView {
height: 85%;
overflow: auto;
}
#console::-webkit-scrollbar,
#hexdump::-webkit-scrollbar,
#memoryView::-webkit-scrollbar {
width: 8px;
height: 8px;
}
#console::-webkit-scrollbar-track,
#hexdump::-webkit-scrollbar-track,
#memoryView::-webkit-scrollbar-track {
background: #282a36;
}
#console::-webkit-scrollbar-thumb,
#hexdump::-webkit-scrollbar-thumb,
#memoryView::-webkit-scrollbar-thumb {
background-color: #6272a4;
border-radius: 10px;
border: 2px solid #282a36;
}
#console::-webkit-scrollbar-thumb:hover,
#hexdump::-webkit-scrollbar-thumb:hover,
#memoryView::-webkit-scrollbar-thumb:hover {
background: #ff79c6;
}
#console {
border: 1px solid var(--selection);
background-color: var(--background);
color: var(--green);
height: 200px;
overflow-y: auto;
font-size: 0.9rem;
}
.hex-line-number {
color: var(--cyan);
margin-right: 8px;
}
</style>
<script type="application/javascript">
function initializePlayground() {
const outputElement = document.getElementById("output");
const consoleElement = document.getElementById("console");
const hexdumpElement = document.getElementById("hexdump");
const memoryViewElement = document.getElementById("memoryView");
// Redirect console output to the #console div
(function () {
const oldLog = console.log;
console.log = function (...args) {
oldLog.apply(console, args);
const message = args
.map((arg) =>
typeof arg === "object"
? JSON.stringify(arg)
: arg,
)
.join(" ");
consoleElement.innerHTML += message + "<br/>";
consoleElement.scrollTop = consoleElement.scrollHeight;
};
})();
fetch("wasmSource.json")
.then((response) => response.json())
.then((json) => {
const wasmFile = json.wasm;
return fetch(wasmFile);
})
.then((response) => response.arrayBuffer())
.then((buffer) => {
// Display hexdump
const byteArray = new Uint8Array(buffer);
let hexString = "";
for (let i = 0; i < byteArray.length; i++) {
if (i % 16 === 0) {
hexString += `<span class="hex-line-number">${i.toString(16).padStart(8, "0")}</span>`;
}
hexString +=
byteArray[i].toString(16).padStart(2, "0") +
" ";
if ((i + 1) % 16 === 0) {
hexString += "<br/>";
} else if ((i + 1) % 8 === 0) {
hexString += " ";
}
}
hexdumpElement.innerHTML = hexString.trim();
// Instantiate the WebAssembly module
return WebAssembly.instantiate(buffer, {});
})
.then((obj) => {
console.log("Exported from module:", Object.keys(obj.instance.exports));
const res = obj.instance.exports["main0"]()
document.getElementById("output").innerHTML = `Result: ${res}`
if (obj.instance.exports.memory) {
const memData = new DataView(obj.instance.exports.memory.buffer);
let memoryOutput = "";
for (let i = 0; i < obj.instance.exports.memory.buffer.byteLength / 4; i += 4) {
if (i % 16 === 0) {
memoryOutput += `<span class="hex-line-number">${i.toString(16).padStart(8, "0")}</span>`;
}
memoryOutput += memData.getUint32(i, true).toString(16).padStart(8, "0") + " ";
if ((i + 4) % 16 === 0) {
memoryOutput += "<br/>";
} else if ((i + 4) % 8 === 0) {
memoryOutput += " ";
}
}
memoryViewElement.innerHTML = memoryOutput;
} else {
console.log("No memory exported by the WASM module.");
memoryViewElement.innerHTML = "No memory exported by the WASM module.";
}
})
.catch((error) => {
outputElement.textContent =
"Error loading wasm module: " + error.message;
});
}
</script>
</head>
<body onload="initializePlayground()">
<div class="background"></div>
<div class="container" style="margin-right: 20px;">
<h1>
<img
src="https://raw.githubusercontent.com/alexdovzhanyn/ThetaLanguageSupport-VSCode/master/icons/file-icon.png"
alt="Theta Logo"
/>Theta Playground
</h1>
<div id="output">Loading...</div>
<h2>JavaScript Console</h2>
<div id="console"></div>
<h2>WASM Hexdump</h2>
<div id="hexdump"></div>
</div>
<div class="container">
<h2>
<img
src="https://raw.githubusercontent.com/alexdovzhanyn/ThetaLanguageSupport-VSCode/master/icons/file-icon.png"
alt="Theta Logo"
/>WASM Memory View
</h2>
<div id="memoryView"></div>
</div>
</body>
</html>