.. index:: pair: class; QPanda::QASMToQProg .. _doxid-class_q_panda_1_1_q_a_s_m_to_q_prog: class QPanda::QASMToQProg ========================= .. toctree:: :hidden: Overview ~~~~~~~~ QASM instruction sets convert to quantum program. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class QASMToQProg: public :ref:`qasmBaseVisitor` { public: // construction :target:`QASMToQProg`( :ref:`QuantumMachine`* qvm, :ref:`QVec`& qv, std::vector<:ref:`ClassicalCondition`>& cv ); // methods virtual antlrcpp::Any :ref:`visitMainprogram`(:ref:`qasmParser::MainprogramContext`* ctx); virtual antlrcpp::Any :target:`visitHead_decl`(:ref:`qasmParser::Head_declContext`* ctx); virtual antlrcpp::Any :target:`visitVersion_decl`(:ref:`qasmParser::Version_declContext`* ctx); virtual antlrcpp::Any :target:`visitInclude_decl`(:ref:`qasmParser::Include_declContext`* ctx); virtual antlrcpp::Any :target:`visitStatement`(:ref:`qasmParser::StatementContext`* ctx); virtual antlrcpp::Any :target:`visitReg_decl`(:ref:`qasmParser::Reg_declContext`* ctx); virtual antlrcpp::Any :target:`visitOpaque_decl`(:ref:`qasmParser::Opaque_declContext`* ctx); virtual antlrcpp::Any :target:`visitIf_decl`(:ref:`qasmParser::If_declContext`* ctx); virtual antlrcpp::Any :target:`visitBarrier_decl`(:ref:`qasmParser::Barrier_declContext`* ctx); virtual antlrcpp::Any :target:`visitGate_decl`(:ref:`qasmParser::Gate_declContext`* ctx); virtual antlrcpp::Any :target:`visitGoplist`(:ref:`qasmParser::GoplistContext`* ctx); virtual antlrcpp::Any :target:`visitBop`(:ref:`qasmParser::BopContext`* ctx); virtual antlrcpp::Any :target:`visitQop`(:ref:`qasmParser::QopContext`* ctx); virtual antlrcpp::Any :target:`visitUop`(:ref:`qasmParser::UopContext`* ctx); virtual antlrcpp::Any :target:`visitAnylist`(:ref:`qasmParser::AnylistContext`* ctx); virtual antlrcpp::Any :target:`visitIdlist`(:ref:`qasmParser::IdlistContext`* ctx); virtual antlrcpp::Any :target:`visitArgument`(:ref:`qasmParser::ArgumentContext`* ctx); virtual antlrcpp::Any :target:`visitId_index`(:ref:`qasmParser::Id_indexContext`* ctx); virtual antlrcpp::Any :target:`visitExplist`(:ref:`qasmParser::ExplistContext`* ctx); virtual antlrcpp::Any :target:`visitExp`(:ref:`qasmParser::ExpContext`* ctx); virtual antlrcpp::Any :target:`visitId`(:ref:`qasmParser::IdContext`* ctx); virtual antlrcpp::Any :target:`visitInteger`(:ref:`qasmParser::IntegerContext`* ctx); virtual antlrcpp::Any :target:`visitReal`(:ref:`qasmParser::RealContext`* ctx); virtual antlrcpp::Any :target:`visitDecimal`(:ref:`qasmParser::DecimalContext`* ctx); virtual antlrcpp::Any :target:`visitFilename`(:ref:`qasmParser::FilenameContext`* ctx); :ref:`QVec` :target:`find_qvec_map_value`(std::string str_key); std::vector<:ref:`ClassicalCondition`> :target:`find_cvec_map_value`(std::string str_key); void :target:`execute_gate_function`( :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_zero_param_single_gate`( :ref:`QASMGateType` type, bool is_dagger, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_one_param_single_gate`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_two_param_single_gate_func`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_three_param_single_gate`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_zero_param_double_gate`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_zero_param_triple_gate`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_zero_param_double_circuit`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_one_param_double_circuit`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_three_param_double_circuit`( :ref:`QASMGateType` type, :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); void :target:`build_qprog`( :ref:`GateOperationInfo` op_info, :ref:`QProg`& prog ); :ref:`QProg` :ref:`get_qprog`(); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods virtual antlrcpp::Any :ref:`visitMainprogram`(:ref:`qasmParser::MainprogramContext`* context) = 0; virtual antlrcpp::Any :ref:`visitHead_decl`(:ref:`qasmParser::Head_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitVersion_decl`(:ref:`qasmParser::Version_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitInclude_decl`(:ref:`qasmParser::Include_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitStatement`(:ref:`qasmParser::StatementContext`* context) = 0; virtual antlrcpp::Any :ref:`visitReg_decl`(:ref:`qasmParser::Reg_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitOpaque_decl`(:ref:`qasmParser::Opaque_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitIf_decl`(:ref:`qasmParser::If_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitBarrier_decl`(:ref:`qasmParser::Barrier_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitGate_decl`(:ref:`qasmParser::Gate_declContext`* context) = 0; virtual antlrcpp::Any :ref:`visitGoplist`(:ref:`qasmParser::GoplistContext`* context) = 0; virtual antlrcpp::Any :ref:`visitBop`(:ref:`qasmParser::BopContext`* context) = 0; virtual antlrcpp::Any :ref:`visitQop`(:ref:`qasmParser::QopContext`* context) = 0; virtual antlrcpp::Any :ref:`visitUop`(:ref:`qasmParser::UopContext`* context) = 0; virtual antlrcpp::Any :ref:`visitAnylist`(:ref:`qasmParser::AnylistContext`* context) = 0; virtual antlrcpp::Any :ref:`visitIdlist`(:ref:`qasmParser::IdlistContext`* context) = 0; virtual antlrcpp::Any :ref:`visitId_index`(:ref:`qasmParser::Id_indexContext`* context) = 0; virtual antlrcpp::Any :ref:`visitArgument`(:ref:`qasmParser::ArgumentContext`* context) = 0; virtual antlrcpp::Any :ref:`visitExplist`(:ref:`qasmParser::ExplistContext`* context) = 0; virtual antlrcpp::Any :ref:`visitExp`(:ref:`qasmParser::ExpContext`* context) = 0; virtual antlrcpp::Any :ref:`visitId`(:ref:`qasmParser::IdContext`* context) = 0; virtual antlrcpp::Any :ref:`visitReal`(:ref:`qasmParser::RealContext`* context) = 0; virtual antlrcpp::Any :ref:`visitInteger`(:ref:`qasmParser::IntegerContext`* context) = 0; virtual antlrcpp::Any :ref:`visitDecimal`(:ref:`qasmParser::DecimalContext`* context) = 0; virtual antlrcpp::Any :ref:`visitFilename`(:ref:`qasmParser::FilenameContext`* context) = 0; virtual antlrcpp::Any :ref:`visitMainprogram`(:ref:`qasmParser::MainprogramContext`* context); virtual antlrcpp::Any :ref:`visitHead_decl`(:ref:`qasmParser::Head_declContext`* ctx); virtual antlrcpp::Any :ref:`visitVersion_decl`(:ref:`qasmParser::Version_declContext`* ctx); virtual antlrcpp::Any :ref:`visitInclude_decl`(:ref:`qasmParser::Include_declContext`* ctx); virtual antlrcpp::Any :ref:`visitStatement`(:ref:`qasmParser::StatementContext`* ctx); virtual antlrcpp::Any :ref:`visitReg_decl`(:ref:`qasmParser::Reg_declContext`* ctx); virtual antlrcpp::Any :ref:`visitOpaque_decl`(:ref:`qasmParser::Opaque_declContext`* ctx); virtual antlrcpp::Any :ref:`visitIf_decl`(:ref:`qasmParser::If_declContext`* ctx); virtual antlrcpp::Any :ref:`visitBarrier_decl`(:ref:`qasmParser::Barrier_declContext`* ctx); virtual antlrcpp::Any :ref:`visitGate_decl`(:ref:`qasmParser::Gate_declContext`* ctx); virtual antlrcpp::Any :ref:`visitGoplist`(:ref:`qasmParser::GoplistContext`* ctx); virtual antlrcpp::Any :ref:`visitBop`(:ref:`qasmParser::BopContext`* ctx); virtual antlrcpp::Any :ref:`visitQop`(:ref:`qasmParser::QopContext`* ctx); virtual antlrcpp::Any :ref:`visitUop`(:ref:`qasmParser::UopContext`* ctx); virtual antlrcpp::Any :ref:`visitAnylist`(:ref:`qasmParser::AnylistContext`* ctx); virtual antlrcpp::Any :ref:`visitIdlist`(:ref:`qasmParser::IdlistContext`* ctx); virtual antlrcpp::Any :ref:`visitId_index`(:ref:`qasmParser::Id_indexContext`* ctx); virtual antlrcpp::Any :ref:`visitArgument`(:ref:`qasmParser::ArgumentContext`* ctx); virtual antlrcpp::Any :ref:`visitExplist`(:ref:`qasmParser::ExplistContext`* ctx); virtual antlrcpp::Any :ref:`visitExp`(:ref:`qasmParser::ExpContext`* ctx); virtual antlrcpp::Any :ref:`visitId`(:ref:`qasmParser::IdContext`* ctx); virtual antlrcpp::Any :ref:`visitReal`(:ref:`qasmParser::RealContext`* ctx); virtual antlrcpp::Any :ref:`visitInteger`(:ref:`qasmParser::IntegerContext`* ctx); virtual antlrcpp::Any :ref:`visitDecimal`(:ref:`qasmParser::DecimalContext`* ctx); virtual antlrcpp::Any :ref:`visitFilename`(:ref:`qasmParser::FilenameContext`* ctx); .. _details-class_q_panda_1_1_q_a_s_m_to_q_prog: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ QASM instruction sets convert to quantum program. Methods ------- .. index:: pair: function; visitMainprogram .. _doxid-class_q_panda_1_1_q_a_s_m_to_q_prog_1add797f9d6d6899e2d19b01dfca31d22b: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual antlrcpp::Any visitMainprogram(:ref:`qasmParser::MainprogramContext`* ctx) They are abstract visitors for a parse tree produced by :ref:`qasmParser `. .. index:: pair: function; get_qprog .. _doxid-class_q_panda_1_1_q_a_s_m_to_q_prog_1a2ea30745e5651e63e9904303352c5bb9: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`QProg` get_qprog() get converted quantum programs .. rubric:: Returns: :ref:`QProg `