libqasm
library for handling cQASM files
Namespaces | Macros | Enumerations
qasm_new_to_old.hpp File Reference

Contains the guts of the compatibility layer, parsing using Analyzer and converting the result to an old API AST. More...

Go to the source code of this file.

Namespaces

 compiler
 Namespace used for most of the original API.
 
 compiler::new_to_old
 Namespace containing the guts of the compatibility layer emulating the old API while using the guts of the new one.
 

Macros

#define REG(typ, ...)   analyzer.register_instruction_with_annotation<ParameterType>(ParameterType::typ, __VA_ARGS__)
 

Enumerations

enum  compiler::new_to_old::ParameterType {
  compiler::new_to_old::ParameterType::NoArg, compiler::new_to_old::ParameterType::SingleBit, compiler::new_to_old::ParameterType::SingleQubit, compiler::new_to_old::ParameterType::SingleQubitReal,
  compiler::new_to_old::ParameterType::SingleQubitMatrix, compiler::new_to_old::ParameterType::TwoQubit, compiler::new_to_old::ParameterType::TwoQubitReal, compiler::new_to_old::ParameterType::TwoQubitInt,
  compiler::new_to_old::ParameterType::ThreeQubit, compiler::new_to_old::ParameterType::MeasureParity, compiler::new_to_old::ParameterType::SingleInt, compiler::new_to_old::ParameterType::SingleString,
  compiler::new_to_old::ParameterType::NotGate
}
 All instruction types supported by the old API based on the types of their parameters alone. More...
 

Detailed Description

Contains the guts of the compatibility layer, parsing using Analyzer and converting the result to an old API AST.

Definition in file qasm_new_to_old.hpp.

#include "cqasm.hpp"
#include "qasm_ast.hpp"
Include dependency graph for qasm_new_to_old.hpp:
This graph shows which files directly or indirectly include this file:

Macro Definition Documentation

◆ REG

#define REG (   typ,
  ... 
)    analyzer.register_instruction_with_annotation<ParameterType>(ParameterType::typ, __VA_ARGS__)