.. index:: pair: class; originirParser .. _doxid-classoriginir_parser: class originirParser ==================== .. toctree:: :hidden: struct_originirParser_Initializer.rst class_originirParser_Addtive_expressionContext.rst class_originirParser_Assignment_expressionContext.rst class_originirParser_Barrier_statementContext.rst class_originirParser_C_KEY_declarationContext.rst class_originirParser_Cinit_declarationContext.rst class_originirParser_ConstantContext.rst class_originirParser_Control_statementContext.rst class_originirParser_Controlbit_listContext.rst class_originirParser_Dagger_statementContext.rst class_originirParser_DeclarationContext.rst class_originirParser_Define_gate_declarationContext.rst class_originirParser_Define_gate_statementContext.rst class_originirParser_Double_gate_with_four_parameter_declarationContext.rst class_originirParser_Double_gate_with_four_parameter_typeContext.rst class_originirParser_Double_gate_with_one_parameter_declarationContext.rst class_originirParser_Double_gate_with_one_parameter_typeContext.rst class_originirParser_Double_gate_without_parameter_declarationContext.rst class_originirParser_Double_gate_without_parameter_typeContext.rst class_originirParser_Equality_expressionContext.rst class_originirParser_ExpContext.rst class_originirParser_ExplistContext.rst class_originirParser_ExpressionContext.rst class_originirParser_Expression_statementContext.rst class_originirParser_Gate_func_statementContext.rst class_originirParser_Gate_nameContext.rst class_originirParser_IdContext.rst class_originirParser_Id_listContext.rst class_originirParser_IndexContext.rst class_originirParser_Logical_and_expressionContext.rst class_originirParser_Logical_or_expressionContext.rst class_originirParser_Measure_statementContext.rst class_originirParser_Multiplicative_expressionContext.rst class_originirParser_Pri_ckeyContext.rst class_originirParser_Pri_cstContext.rst class_originirParser_Pri_exprContext.rst class_originirParser_Primary_expressionContext.rst class_originirParser_Q_KEY_declarationContext.rst class_originirParser_Qelse_statement_fragmentContext.rst class_originirParser_Qif_ifContext.rst class_originirParser_Qif_ifelseContext.rst class_originirParser_Qif_statementContext.rst class_originirParser_Qinit_declarationContext.rst class_originirParser_Quantum_gate_declarationContext.rst class_originirParser_Qwhile_statementContext.rst class_originirParser_Relational_expressionContext.rst class_originirParser_Reset_statementContext.rst class_originirParser_Single_gate_with_four_parameter_declarationContext.rst class_originirParser_Single_gate_with_four_parameter_typeContext.rst class_originirParser_Single_gate_with_one_parameter_declarationContext.rst class_originirParser_Single_gate_with_one_parameter_typeContext.rst class_originirParser_Single_gate_with_three_parameter_declarationContext.rst class_originirParser_Single_gate_with_three_parameter_typeContext.rst class_originirParser_Single_gate_with_two_parameter_declarationContext.rst class_originirParser_Single_gate_with_two_parameter_typeContext.rst class_originirParser_Single_gate_without_parameter_declarationContext.rst class_originirParser_Single_gate_without_parameter_typeContext.rst class_originirParser_StatementContext.rst class_originirParser_TranslationunitContext.rst class_originirParser_Triple_gate_without_parameter_declarationContext.rst class_originirParser_Triple_gate_without_parameter_typeContext.rst class_originirParser_Unary_expressionContext.rst .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class originirParser: public Parser { public: // enums enum { :target:`PI` = 1, :target:`QINIT_KEY` = 2, :target:`CREG_KEY` = 3, :target:`Q_KEY` = 4, :target:`C_KEY` = 5, :target:`BARRIER_KEY` = 6, :target:`QGATE_KEY` = 7, :target:`ENDQGATE_KEY` = 8, :target:`ECHO_GATE` = 9, :target:`H_GATE` = 10, :target:`X_GATE` = 11, :target:`NOT_GATE` = 12, :target:`T_GATE` = 13, :target:`S_GATE` = 14, :target:`Y_GATE` = 15, :target:`Z_GATE` = 16, :target:`X1_GATE` = 17, :target:`Y1_GATE` = 18, :target:`Z1_GATE` = 19, :target:`I_GATE` = 20, :target:`U2_GATE` = 21, :target:`RPHI_GATE` = 22, :target:`U3_GATE` = 23, :target:`U4_GATE` = 24, :target:`RX_GATE` = 25, :target:`RY_GATE` = 26, :target:`RZ_GATE` = 27, :target:`U1_GATE` = 28, :target:`CNOT_GATE` = 29, :target:`CZ_GATE` = 30, :target:`CU_GATE` = 31, :target:`ISWAP_GATE` = 32, :target:`SQISWAP_GATE` = 33, :target:`SWAPZ1_GATE` = 34, :target:`ISWAPTHETA_GATE` = 35, :target:`CR_GATE` = 36, :target:`TOFFOLI_GATE` = 37, :target:`DAGGER_KEY` = 38, :target:`ENDDAGGER_KEY` = 39, :target:`CONTROL_KEY` = 40, :target:`ENDCONTROL_KEY` = 41, :target:`QIF_KEY` = 42, :target:`ELSE_KEY` = 43, :target:`ENDIF_KEY` = 44, :target:`QWHILE_KEY` = 45, :target:`ENDQWHILE_KEY` = 46, :target:`MEASURE_KEY` = 47, :target:`RESET_KEY` = 48, :target:`ASSIGN` = 49, :target:`GT` = 50, :target:`LT` = 51, :target:`NOT` = 52, :target:`EQ` = 53, :target:`LEQ` = 54, :target:`GEQ` = 55, :target:`NE` = 56, :target:`AND` = 57, :target:`OR` = 58, :target:`PLUS` = 59, :target:`MINUS` = 60, :target:`MUL` = 61, :target:`DIV` = 62, :target:`COMMA` = 63, :target:`LPAREN` = 64, :target:`RPAREN` = 65, :target:`LBRACK` = 66, :target:`RBRACK` = 67, :target:`NEWLINE` = 68, :target:`Identifier` = 69, :target:`Integer_Literal` = 70, :target:`Double_Literal` = 71, :target:`Digit_Sequence` = 72, :target:`REALEXP` = 73, :target:`WhiteSpace` = 74, :target:`SingleLineComment` = 75, }; enum { :target:`RuleTranslationunit` = 0, :target:`RuleDeclaration` = 1, :target:`RuleQinit_declaration` = 2, :target:`RuleCinit_declaration` = 3, :target:`RuleQuantum_gate_declaration` = 4, :target:`RuleIndex` = 5, :target:`RuleC_KEY_declaration` = 6, :target:`RuleQ_KEY_declaration` = 7, :target:`RuleSingle_gate_without_parameter_declaration` = 8, :target:`RuleSingle_gate_with_one_parameter_declaration` = 9, :target:`RuleSingle_gate_with_two_parameter_declaration` = 10, :target:`RuleSingle_gate_with_three_parameter_declaration` = 11, :target:`RuleSingle_gate_with_four_parameter_declaration` = 12, :target:`RuleDouble_gate_without_parameter_declaration` = 13, :target:`RuleDouble_gate_with_one_parameter_declaration` = 14, :target:`RuleDouble_gate_with_four_parameter_declaration` = 15, :target:`RuleTriple_gate_without_parameter_declaration` = 16, :target:`RuleDefine_gate_declaration` = 17, :target:`RuleSingle_gate_without_parameter_type` = 18, :target:`RuleSingle_gate_with_one_parameter_type` = 19, :target:`RuleSingle_gate_with_two_parameter_type` = 20, :target:`RuleSingle_gate_with_three_parameter_type` = 21, :target:`RuleSingle_gate_with_four_parameter_type` = 22, :target:`RuleDouble_gate_without_parameter_type` = 23, :target:`RuleDouble_gate_with_one_parameter_type` = 24, :target:`RuleDouble_gate_with_four_parameter_type` = 25, :target:`RuleTriple_gate_without_parameter_type` = 26, :target:`RulePrimary_expression` = 27, :target:`RuleUnary_expression` = 28, :target:`RuleMultiplicative_expression` = 29, :target:`RuleAddtive_expression` = 30, :target:`RuleRelational_expression` = 31, :target:`RuleEquality_expression` = 32, :target:`RuleLogical_and_expression` = 33, :target:`RuleLogical_or_expression` = 34, :target:`RuleAssignment_expression` = 35, :target:`RuleExpression` = 36, :target:`RuleControlbit_list` = 37, :target:`RuleStatement` = 38, :target:`RuleDagger_statement` = 39, :target:`RuleControl_statement` = 40, :target:`RuleQelse_statement_fragment` = 41, :target:`RuleQif_statement` = 42, :target:`RuleQwhile_statement` = 43, :target:`RuleMeasure_statement` = 44, :target:`RuleReset_statement` = 45, :target:`RuleBarrier_statement` = 46, :target:`RuleExpression_statement` = 47, :target:`RuleDefine_gate_statement` = 48, :target:`RuleExplist` = 49, :target:`RuleExp` = 50, :target:`RuleGate_func_statement` = 51, :target:`RuleId` = 52, :target:`RuleId_list` = 53, :target:`RuleGate_name` = 54, :target:`RuleConstant` = 55, }; // structs struct :ref:`Initializer`; // classes class :ref:`Addtive_expressionContext`; class :ref:`Assignment_expressionContext`; class :ref:`Barrier_statementContext`; class :ref:`C_KEY_declarationContext`; class :ref:`Cinit_declarationContext`; class :ref:`ConstantContext`; class :ref:`Control_statementContext`; class :ref:`Controlbit_listContext`; class :ref:`Dagger_statementContext`; class :ref:`DeclarationContext`; class :ref:`Define_gate_declarationContext`; class :ref:`Define_gate_statementContext`; class :ref:`Double_gate_with_four_parameter_declarationContext`; class :ref:`Double_gate_with_four_parameter_typeContext`; class :ref:`Double_gate_with_one_parameter_declarationContext`; class :ref:`Double_gate_with_one_parameter_typeContext`; class :ref:`Double_gate_without_parameter_declarationContext`; class :ref:`Double_gate_without_parameter_typeContext`; class :ref:`Equality_expressionContext`; class :ref:`ExpContext`; class :ref:`ExplistContext`; class :ref:`ExpressionContext`; class :ref:`Expression_statementContext`; class :ref:`Gate_func_statementContext`; class :ref:`Gate_nameContext`; class :ref:`IdContext`; class :ref:`Id_listContext`; class :ref:`IndexContext`; class :ref:`Logical_and_expressionContext`; class :ref:`Logical_or_expressionContext`; class :ref:`Measure_statementContext`; class :ref:`Multiplicative_expressionContext`; class :ref:`Pri_ckeyContext`; class :ref:`Pri_cstContext`; class :ref:`Pri_exprContext`; class :ref:`Primary_expressionContext`; class :ref:`Q_KEY_declarationContext`; class :ref:`Qelse_statement_fragmentContext`; class :ref:`Qif_ifContext`; class :ref:`Qif_ifelseContext`; class :ref:`Qif_statementContext`; class :ref:`Qinit_declarationContext`; class :ref:`Quantum_gate_declarationContext`; class :ref:`Qwhile_statementContext`; class :ref:`Relational_expressionContext`; class :ref:`Reset_statementContext`; class :ref:`Single_gate_with_four_parameter_declarationContext`; class :ref:`Single_gate_with_four_parameter_typeContext`; class :ref:`Single_gate_with_one_parameter_declarationContext`; class :ref:`Single_gate_with_one_parameter_typeContext`; class :ref:`Single_gate_with_three_parameter_declarationContext`; class :ref:`Single_gate_with_three_parameter_typeContext`; class :ref:`Single_gate_with_two_parameter_declarationContext`; class :ref:`Single_gate_with_two_parameter_typeContext`; class :ref:`Single_gate_without_parameter_declarationContext`; class :ref:`Single_gate_without_parameter_typeContext`; class :ref:`StatementContext`; class :ref:`TranslationunitContext`; class :ref:`Triple_gate_without_parameter_declarationContext`; class :ref:`Triple_gate_without_parameter_typeContext`; class :ref:`Unary_expressionContext`; // construction :target:`originirParser`(antlr4::TokenStream* input); // methods virtual std::string :target:`getGrammarFileName`() const; virtual const antlr4::atn::ATN& :target:`getATN`() const; virtual const std::vector& :target:`getTokenNames`() const; virtual const std::vector& :target:`getRuleNames`() const; virtual antlr4::dfa::Vocabulary& :target:`getVocabulary`() const; :ref:`TranslationunitContext`* :target:`translationunit`(); :ref:`DeclarationContext`* :target:`declaration`(); :ref:`Qinit_declarationContext`* :target:`qinit_declaration`(); :ref:`Cinit_declarationContext`* :target:`cinit_declaration`(); :ref:`Quantum_gate_declarationContext`* :target:`quantum_gate_declaration`(); :ref:`IndexContext`* :target:`index`(); :ref:`C_KEY_declarationContext`* :target:`c_KEY_declaration`(); :ref:`Q_KEY_declarationContext`* :target:`q_KEY_declaration`(); :ref:`Single_gate_without_parameter_declarationContext`* :target:`single_gate_without_parameter_declaration`(); :ref:`Single_gate_with_one_parameter_declarationContext`* :target:`single_gate_with_one_parameter_declaration`(); :ref:`Single_gate_with_two_parameter_declarationContext`* :target:`single_gate_with_two_parameter_declaration`(); :ref:`Single_gate_with_three_parameter_declarationContext`* :target:`single_gate_with_three_parameter_declaration`(); :ref:`Single_gate_with_four_parameter_declarationContext`* :target:`single_gate_with_four_parameter_declaration`(); :ref:`Double_gate_without_parameter_declarationContext`* :target:`double_gate_without_parameter_declaration`(); :ref:`Double_gate_with_one_parameter_declarationContext`* :target:`double_gate_with_one_parameter_declaration`(); :ref:`Double_gate_with_four_parameter_declarationContext`* :target:`double_gate_with_four_parameter_declaration`(); :ref:`Triple_gate_without_parameter_declarationContext`* :target:`triple_gate_without_parameter_declaration`(); :ref:`Define_gate_declarationContext`* :target:`define_gate_declaration`(); :ref:`Single_gate_without_parameter_typeContext`* :target:`single_gate_without_parameter_type`(); :ref:`Single_gate_with_one_parameter_typeContext`* :target:`single_gate_with_one_parameter_type`(); :ref:`Single_gate_with_two_parameter_typeContext`* :target:`single_gate_with_two_parameter_type`(); :ref:`Single_gate_with_three_parameter_typeContext`* :target:`single_gate_with_three_parameter_type`(); :ref:`Single_gate_with_four_parameter_typeContext`* :target:`single_gate_with_four_parameter_type`(); :ref:`Double_gate_without_parameter_typeContext`* :target:`double_gate_without_parameter_type`(); :ref:`Double_gate_with_one_parameter_typeContext`* :target:`double_gate_with_one_parameter_type`(); :ref:`Double_gate_with_four_parameter_typeContext`* :target:`double_gate_with_four_parameter_type`(); :ref:`Triple_gate_without_parameter_typeContext`* :target:`triple_gate_without_parameter_type`(); :ref:`Primary_expressionContext`* :target:`primary_expression`(); :ref:`Unary_expressionContext`* :target:`unary_expression`(); :ref:`Multiplicative_expressionContext`* :target:`multiplicative_expression`(); :ref:`Multiplicative_expressionContext`* :target:`multiplicative_expression`(int precedence); :ref:`Addtive_expressionContext`* :target:`addtive_expression`(); :ref:`Addtive_expressionContext`* :target:`addtive_expression`(int precedence); :ref:`Relational_expressionContext`* :target:`relational_expression`(); :ref:`Relational_expressionContext`* :target:`relational_expression`(int precedence); :ref:`Equality_expressionContext`* :target:`equality_expression`(); :ref:`Equality_expressionContext`* :target:`equality_expression`(int precedence); :ref:`Logical_and_expressionContext`* :target:`logical_and_expression`(); :ref:`Logical_and_expressionContext`* :target:`logical_and_expression`(int precedence); :ref:`Logical_or_expressionContext`* :target:`logical_or_expression`(); :ref:`Logical_or_expressionContext`* :target:`logical_or_expression`(int precedence); :ref:`Assignment_expressionContext`* :target:`assignment_expression`(); :ref:`ExpressionContext`* :target:`expression`(); :ref:`Controlbit_listContext`* :target:`controlbit_list`(); :ref:`StatementContext`* :target:`statement`(); :ref:`Dagger_statementContext`* :target:`dagger_statement`(); :ref:`Control_statementContext`* :target:`control_statement`(); :ref:`Qelse_statement_fragmentContext`* :target:`qelse_statement_fragment`(); :ref:`Qif_statementContext`* :target:`qif_statement`(); :ref:`Qwhile_statementContext`* :target:`qwhile_statement`(); :ref:`Measure_statementContext`* :target:`measure_statement`(); :ref:`Reset_statementContext`* :target:`reset_statement`(); :ref:`Barrier_statementContext`* :target:`barrier_statement`(); :ref:`Expression_statementContext`* :target:`expression_statement`(); :ref:`Define_gate_statementContext`* :target:`define_gate_statement`(); :ref:`ExplistContext`* :target:`explist`(); :ref:`ExpContext`* :target:`exp`(); :ref:`ExpContext`* :target:`exp`(int precedence); :ref:`Gate_func_statementContext`* :target:`gate_func_statement`(); :ref:`IdContext`* :target:`id`(); :ref:`Id_listContext`* :target:`id_list`(); :ref:`Gate_nameContext`* :target:`gate_name`(); :ref:`ConstantContext`* :target:`constant`(); virtual bool :target:`sempred`( antlr4::RuleContext* _localctx, size_t ruleIndex, size_t predicateIndex ); bool :target:`multiplicative_expressionSempred`( :ref:`Multiplicative_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`addtive_expressionSempred`( :ref:`Addtive_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`relational_expressionSempred`( :ref:`Relational_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`equality_expressionSempred`( :ref:`Equality_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`logical_and_expressionSempred`( :ref:`Logical_and_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`logical_or_expressionSempred`( :ref:`Logical_or_expressionContext`* _localctx, size_t predicateIndex ); bool :target:`expSempred`( :ref:`ExpContext`* _localctx, size_t predicateIndex ); };