Home
This documentation describes the language specification of the cQASM quantum programming language, version 3.0-beta1. cQASM stands for common Quantum ASseMbly language, and is pronounced c-kazem.
cQASM 3.0-beta1 supersedes the cQASM 1.[012] languages and cQASM 2.0 language specification, the latter of which remains incomplete.
Note
Even though cQASM 3.0-beta1 is conceptually similar to previous language specifications, it is not a straightforward extension thereof; the syntax and grammar of cQASM 3.0-beta1 differ fundamentally from its predecessors. These changes break backwards compatibility.
In the rest of the documentation we will drop the version label of language and simply refer to it as the cQASM language.
Warning
The cQASM language is currently under active development. cQASM 3.0-beta1 serves as a minimum viable product; to be used as a baseline version for the further development of, e.g., the libQASM language parser library, OpenSquirrel quantum algorithm compiler, and QX simulator. The cQASM specification will be updated as new features are introduced to the language. Where applicable, these features are then also implemented in the aformentioned software components, in an iterative fashion.