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
Allow direct injection of C Code into QASM with the syntax:
CBLOCK { body }
Allow recursion in gates with the syntax:
rgate name(params) qargs {
<body>
if (<cond>) exit
}
Handle if statements with syntax:
if (cond) op ;
Handle conditionals with the syntax:
if(creg==int) qop;
or
if(creg==int) {body}
Handle barriers with syntax:
barrier qargs
Apply gates with parameters to qubits
U(theta,phi,lambda) <qubit|qreg>;
Handle re-initialising qubit registers into |0>
state
reset qubit|qreg;
Make all funcs,cargs,qargs,vars listed in one place and decompose by type.
Handle QASM Comments:
// comment text
Verbose should print a comment of the input QASM line for double checking accuracy
Add ability to alias registers (quantum or otherwise) with the syntax:
alias a[1:5] -> b[3:8]
Handle inclusion of other QASM files with syntax:
include '<filename>'
Add ability to partition a register into subregisters with the syntax:
partition a[:] -> x[5], y[5], z[:]
Create gates without a body which perform "operations"
opaque name(params) qargs;
Add an option to translate QASM into a "module" to be included
Parse register creation and handle associated syntax tree:
qreg a[4]
creg b[4]
Handle measurement of gates into real registers
measure qubit|qreg -> bit|creg;
Handle parsing of files with versioned QASM and supported versioning with the syntax
OPENQASM <maj>.<min>;
OAQEQASM <maj>.<min>;
Allow direct injection of Python code into QASM with syntax:
PYBLOCK {body}
Add a define constants function. Constants can be functions of other things but never redeclared with a syntax:
let x = 5
Add ability to create quantum gates with the syntax:
gate name(params) qargs { body }
Limit the depth to which recursive gates can recurse somehow
Handle inline comments properly with syntax:
op // Comment
Add parsing for loop in syntax:
for i in [a:b] do {
<block>
}
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.