<!doctype html>
<html>
<head>
<link rel="stylesheet" href="lib/style.css">
</head>
<body>
<h1>asm2blueqat</h1>
<textarea id="src" rows="10" cols="20">
make 4
in 0 1
out 2 3
and 0 1 3
xor 0 1 2
</textarea>
<input type="submit" value="run" onclick="run()"><br>
<textarea id="out" rows="10" cols="80">
</textarea>
<script src="lib/script.js"></script>
</body>
</html>
/* Add your styles here */
var src = document.getElementById("src");
var out = document.getElementById("out");
function run() {
var in0 = "";
var make0 = "";
var u = "";
var str = src.value;
var codes = str.split("\n");
var len = codes.length;
var i;
for (i = 0; i < len; i++)
{
var code = codes[i].split(" ");
switch (code[0])
{
case "out":
break;
case "wire":
break;
case "make":
make0 = "Circuit(";
var a = parseInt(code[1]);
make0 += a + ")";
break;
case "in":
in0 = "";
var b = parseInt(code[2]);
b++;
in0 += ".h[ : " + b + "]";
break;
case "xor":
var a = parseInt(code[1]);
var b = parseInt(code[2]);
var c = parseInt(code[3]);
u += ".ccx[" + a + ", " + b + ", " + c + "]";
break;
case "and":
var a = parseInt(code[1]);
var b = parseInt(code[2]);
var c = parseInt(code[3]);
u += ".cx[" + a + ", " + c + "].cx[" + b + ", " + c + "]";
break;
case "or":
var a = parseInt(code[1]);
var b = parseInt(code[2]);
var c = parseInt(code[3]);
u += ".ccx[" + a + ", " + b + ", " + c + "].cx[" + a + ", " + c + "].cx[" + b + ", " + c + "]";
break;
case "":
break;
default:
alert(code[0]);
break;
}
}
out.value = "from blueqat import Circuit\n\nprint ("
+ make0
+ in0
+ u
+ ".m[ : ].run(shots = 1000))\n";
}