oerc0122 / quest Goto Github PK
View Code? Open in Web Editor NEWThis project forked from quest-kit/quest
License: MIT License
This project forked from quest-kit/quest
License: MIT License
Handle parsing of files with versioned QASM and supported versioning with the syntax
OPENQASM <maj>.<min>;
OAQEQASM <maj>.<min>;
Handle inline comments properly with syntax:
op // Comment
Allow direct injection of Python code into QASM with syntax:
PYBLOCK {body}
Make all funcs,cargs,qargs,vars listed in one place and decompose by type.
Handle measurement of gates into real registers
measure qubit|qreg -> bit|creg;
Add a define constants function. Constants can be functions of other things but never redeclared with a syntax:
let x = 5
Handle QASM Comments:
// comment text
Add ability to create quantum gates with the syntax:
gate name(params) qargs { body }
Add parsing for loop in syntax:
for i in [a:b] do {
<block>
}
Handle barriers with syntax:
barrier qargs
Add ability to alias registers (quantum or otherwise) with the syntax:
alias a[1:5] -> b[3:8]
Allow recursion in gates with the syntax:
rgate name(params) qargs {
<body>
if (<cond>) exit
}
Handle re-initialising qubit registers into |0>
state
reset qubit|qreg;
Limit the depth to which recursive gates can recurse somehow
Verbose should print a comment of the input QASM line for double checking accuracy
Create gates without a body which perform "operations"
opaque name(params) qargs;
Handle if statements with syntax:
if (cond) op ;
Parse register creation and handle associated syntax tree:
qreg a[4]
creg b[4]
Handle inclusion of other QASM files with syntax:
include '<filename>'
Allow direct injection of C Code into QASM with the syntax:
CBLOCK { body }
Handle conditionals with the syntax:
if(creg==int) qop;
or
if(creg==int) {body}
Add an option to translate QASM into a "module" to be included
Apply gates with parameters to qubits
U(theta,phi,lambda) <qubit|qreg>;
Add ability to partition a register into subregisters with the syntax:
partition a[:] -> x[5], y[5], z[:]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.