-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
114 lines (108 loc) · 3.58 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
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://unpkg.com/@picocss/pico@latest/css/pico.min.css">
<link rel="stylesheet" href="./index.css">
<title>Rise JVM Demo</title>
</head>
<body>
<main class="container">
<div class="container" id="top-bar">
<h1>Rise JVM</h1>
<p>
A minimal Java Virtual Machine on WASM
</p>
<p id="navi">
<a role="button" class="secondary" href="#try">Try it now!</a>
<a role="button" class="contrast outline" href="https://github.com/AmazingRise/rise-jvm" >GitHub</a>
</p>
</div>
<p>
Rise JVM runs Java Byte Code directly in your browser, no server needed.
</p>
<p>Traffic: 576.0kB WASM Binary + 15.9kB JavaScript </p>
<div class="two-columns">
<div class="left-column">
<h3 id="try">Try it</h3>
<div id="control">
<div id="demo">
<select id="demo-select" oninput="load_demo()">
<option value="" disabled selected>Select...</option>
<option value="Add">Add.class</option>
<option value="Obj">Obj.class</option>
<option value="For">For.class</option>
</select>
<label id="demo-switch" for="switch">
<input type="checkbox" id="switch" name="switch" role="switch" oninput="toggle_src()">
View source
</label>
<!-- <a id="demo-src" href="#" onclick="" class="outline">Load Demo</a>-->
</div>
<hr>
<div id="upload">
or upload a custom .class file:
<input type="file" id="file-selector" accept=".class">
</div>
</div>
<progress id="progress"> </progress>
</div>
<div class="right-column">
<article id="console">
<p id="text">👈Select a .class file</p>
<pre id="src">Please select a demo program.</pre>
</article>
</div>
</div>
<!--<script src="./wasm_exec.js"></script>-->
<script src="index.js"></script>
<h3>Supported Features</h3>
<p>
A detailed list of supported opcode can be found <a href="https://github.com/AmazingRise/rise-jvm-core/blob/main/jvm/opcode.go">here</a>.
</p>
<p>
<table style="width:50%">
<thead>
<tr>
<th scope="col">Features</th>
<th scope="col">Supported?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Simple Integer Arithmetic</td>
<td>Yes</td>
</tr>
<tr>
<td>Calling functions</td>
<td>Yes</td>
</tr>
<tr>
<td>System.out.println</td>
<td>Yes</td>
</tr>
<tr>
<td>Standard Input</td>
<td>No</td>
</tr>
<tr>
<td>Creating Objects</td>
<td>Yes</td>
</tr>
<tr>
<td>Looping</td>
<td>Yes</td>
</tr>
<tr>
<td>Polymorphism</td>
<td>No</td>
</tr>
</tbody>
</table>
</p>
<h3>Acknowledgement</h3>
<p><a href="https://github.com/picocss/pico">Pico.css</a></p>
</main>
</body>
</html>