47 #define YYBISON_VERSION "3.0" 50 #define YYSKELETON_NAME "yacc.c" 62 #line 29 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 68 #define ADD_SOURCE_LOCATION(v) \ 69 v->set_annotation(cqasm::annotations::SourceLocation( \ 83 ADD_SOURCE_LOCATION(v) 95 auto *loc = t->get_annotation_ptr<cqasm::annotations::SourceLocation>(); \ 97 ADD_SOURCE_LOCATION(t); \ 99 loc->expand_to_include(yyloc.first_line, yyloc.first_column); \ 100 loc->expand_to_include(yyloc.last_line, yyloc.last_column); \ 105 #line 106 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 107 #define YYSTYPE CQASM_V1STYPE 108 #define YYLTYPE CQASM_V1LTYPE 110 #define yyparse cqasm_v1parse 111 #define yylex cqasm_v1lex 112 #define yyerror cqasm_v1error 113 #define yydebug cqasm_v1debug 114 #define yynerrs cqasm_v1nerrs 119 #line 120 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 122 # if defined __cplusplus && 201103L <= __cplusplus 123 # define YY_NULL nullptr 130 #ifdef YYERROR_VERBOSE 131 # undef YYERROR_VERBOSE 132 # define YYERROR_VERBOSE 1 134 # define YYERROR_VERBOSE 1 139 #ifndef YY_CQASM_V1_HOME_DOCS_CHECKOUTS_READTHEDOCS_ORG_USER_BUILDS_LIBQASM_CHECKOUTS_LATEST_CBUILD_SRC_CQASM_CQASM_V1_PARSER_HPP_INCLUDED 140 # define YY_CQASM_V1_HOME_DOCS_CHECKOUTS_READTHEDOCS_ORG_USER_BUILDS_LIBQASM_CHECKOUTS_LATEST_CBUILD_SRC_CQASM_CQASM_V1_PARSER_HPP_INCLUDED 142 #ifndef CQASM_V1DEBUG 145 # define CQASM_V1DEBUG 1 147 # define CQASM_V1DEBUG 0 150 # define CQASM_V1DEBUG 0 154 extern int cqasm_v1debug;
157 #line 5 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 172 #define YYSTYPE CQASM_V1STYPE 173 #define YYLTYPE CQASM_V1LTYPE 176 #line 177 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 179 #ifndef CQASM_V1TOKENTYPE 180 # define CQASM_V1TOKENTYPE 232 #if ! defined CQASM_V1STYPE && ! defined CQASM_V1STYPE_IS_DECLARED 236 #line 76 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 276 #line 277 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 278 # define CQASM_V1STYPE_IS_TRIVIAL 1 279 # define CQASM_V1STYPE_IS_DECLARED 1 283 #if ! defined CQASM_V1LTYPE && ! defined CQASM_V1LTYPE_IS_DECLARED 292 # define CQASM_V1LTYPE_IS_DECLARED 1 293 # define CQASM_V1LTYPE_IS_TRIVIAL 1 304 #line 305 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 306 #line 24 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 311 #line 312 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 342 # ifdef __SIZE_TYPE__ 343 # define YYSIZE_T __SIZE_TYPE__ 344 # elif defined size_t 345 # define YYSIZE_T size_t 346 # elif ! defined YYSIZE_T 348 # define YYSIZE_T size_t 350 # define YYSIZE_T unsigned int 354 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 357 # if defined YYENABLE_NLS && YYENABLE_NLS 359 # include <libintl.h> 360 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 364 # define YY_(Msgid) Msgid 368 #ifndef __attribute__ 370 # if (! defined __GNUC__ || __GNUC__ < 2 \ 371 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) 372 # define __attribute__(Spec) 377 #if ! defined lint || defined __GNUC__ 378 # define YYUSE(E) ((void) (E)) 383 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 385 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 386 _Pragma ("GCC diagnostic push") \ 387 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 388 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 389 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 390 _Pragma ("GCC diagnostic pop") 392 # define YY_INITIAL_VALUE(Value) Value 394 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 395 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 396 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 398 #ifndef YY_INITIAL_VALUE 399 # define YY_INITIAL_VALUE(Value) 403 #if ! defined yyoverflow || YYERROR_VERBOSE 407 # ifdef YYSTACK_USE_ALLOCA 408 # if YYSTACK_USE_ALLOCA 410 # define YYSTACK_ALLOC __builtin_alloca 411 # elif defined __BUILTIN_VA_ARG_INCR 414 # define YYSTACK_ALLOC __alloca 415 # elif defined _MSC_VER 417 # define alloca _alloca 419 # define YYSTACK_ALLOC alloca 420 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 423 # ifndef EXIT_SUCCESS 424 # define EXIT_SUCCESS 0 431 # ifdef YYSTACK_ALLOC 433 # define YYSTACK_FREE(Ptr) do { ; } while (0) 434 # ifndef YYSTACK_ALLOC_MAXIMUM 439 # define YYSTACK_ALLOC_MAXIMUM 4032 442 # define YYSTACK_ALLOC YYMALLOC 443 # define YYSTACK_FREE YYFREE 444 # ifndef YYSTACK_ALLOC_MAXIMUM 445 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 447 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 448 && ! ((defined YYMALLOC || defined malloc) \ 449 && (defined YYFREE || defined free))) 451 # ifndef EXIT_SUCCESS 452 # define EXIT_SUCCESS 0 456 # define YYMALLOC malloc 457 # if ! defined malloc && ! defined EXIT_SUCCESS 463 # if ! defined free && ! defined EXIT_SUCCESS 471 #if (! defined yyoverflow \ 472 && (! defined __cplusplus \ 473 || (defined CQASM_V1LTYPE_IS_TRIVIAL && CQASM_V1LTYPE_IS_TRIVIAL \ 474 && defined CQASM_V1STYPE_IS_TRIVIAL && CQASM_V1STYPE_IS_TRIVIAL))) 485 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 489 # define YYSTACK_BYTES(N) \ 490 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 491 + 2 * YYSTACK_GAP_MAXIMUM) 493 # define YYCOPY_NEEDED 1 500 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 503 YYSIZE_T yynewbytes; \ 504 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 505 Stack = &yyptr->Stack_alloc; \ 506 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 507 yyptr += yynewbytes / sizeof (*yyptr); \ 513 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 517 # if defined __GNUC__ && 1 < __GNUC__ 518 # define YYCOPY(Dst, Src, Count) \ 519 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 521 # define YYCOPY(Dst, Src, Count) \ 525 for (yyi = 0; yyi < (Count); yyi++) \ 526 (Dst)[yyi] = (Src)[yyi]; \ 545 #define YYNSTATES 328 550 #define YYMAXUTOK 302 552 #define YYTRANSLATE(YYX) \ 553 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 559 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
562 2, 2, 2, 67, 2, 2, 2, 57, 50, 2,
563 61, 65, 55, 53, 45, 54, 68, 56, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 46, 2,
565 52, 69, 51, 47, 63, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 62, 2, 64, 49, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 70, 48, 71, 66, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
585 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
586 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
587 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
588 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
596 0, 251, 251, 252, 256, 257, 261, 265, 269, 270,
597 273, 274, 279, 280, 281, 285, 289, 293, 297, 298,
598 302, 305, 308, 309, 312, 313, 316, 319, 323, 324,
599 325, 328, 329, 330, 331, 332, 333, 334, 335, 336,
600 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
601 347, 348, 349, 352, 357, 358, 359, 362, 363, 364,
602 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
603 375, 376, 377, 378, 379, 380, 381, 382, 385, 389,
604 390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
605 400, 401, 404, 405, 406, 407, 408, 409, 410, 411,
606 412, 413, 414, 415, 416, 420, 421, 424, 425, 429,
607 432, 433, 434, 439, 444, 449, 457, 463, 469, 480,
608 481, 485, 486, 490, 491, 495, 496, 500, 501, 504,
609 508, 509, 513, 514, 517, 520, 521, 524, 530, 536,
610 545, 555, 565, 568, 571, 574, 578, 579, 580, 581,
611 582, 583, 584, 585, 586, 587, 588, 589, 590, 597,
612 598, 602, 603, 607, 608, 612, 613, 617, 620, 625,
617 #if CQASM_V1DEBUG || YYERROR_VERBOSE || 1 620 static const char *
const yytname[] =
622 "$end",
"error",
"$undefined",
"NEWLINE",
"VERSION",
"QUBITS",
"MAP",
623 "VAR",
"CDASH",
"COND",
"IF",
"ELSE",
"FOR",
"FOREACH",
"WHILE",
624 "REPEAT",
"UNTIL",
"CONTINUE",
"BREAK",
"SET",
"INT_LITERAL",
625 "FLOAT_LITERAL",
"BAD_NUMBER",
"STRING_OPEN",
"STRING_CLOSE",
626 "JSON_OPEN",
"JSON_CLOSE",
"STRBUILD_APPEND",
"STRBUILD_ESCAPE",
627 "IDENTIFIER",
"POWER",
"INT_DIV",
"LOGIC_OR",
"LOGIC_AND",
"LOGIC_XOR",
628 "CMP_GE",
"CMP_LE",
"CMP_EQ",
"CMP_NE",
"SHL",
"ARITH_SHR",
"LOGIC_SHR",
629 "ELLIPSIS",
"BAD_CHARACTER",
"END_OF_FILE",
"','",
"':'",
"'?'",
"'|'",
630 "'^'",
"'&'",
"'>'",
"'<'",
"'+'",
"'-'",
"'*'",
"'/'",
"'%'",
"UMINUS",
631 "UCOMP",
"UNOT",
"'('",
"'['",
"'@'",
"']'",
"')'",
"'~'",
"'!'",
"'.'",
632 "'='",
"'{'",
"'}'",
"$accept",
"Newline",
"OptNewline",
633 "IntegerLiteral",
"FloatLiteral",
"MatrixRows",
"MatrixLiteral",
634 "StringBuilder",
"StringLiteral",
"JsonLiteral",
"Identifier",
635 "FunctionCall",
"IndexItem",
"IndexRange",
"IndexEntry",
"IndexList",
636 "Index",
"IndexNP",
"UnaryOp",
"BinaryOp",
"TernaryOp",
"UnaryOpNP",
637 "BinaryOpNP",
"TernaryOpNP",
"Expression",
"ExpressionNP",
638 "ExpressionList",
"ExpressionListNP",
"AnnotationName",
"AnnotationData",
639 "Instruction",
"AnnotInstr",
"SLParInstrList",
"CBParInstrList",
640 "Mapping",
"VariableBody",
"Variable",
"Subcircuit",
"SubStatements",
641 "Assignment",
"OptAssignment",
"IfElse",
"ForLoop",
"ForeachLoop",
642 "WhileLoop",
"RepeatUntilLoop",
"Continue",
"Break",
"Statement",
643 "AnnotStatement",
"StatementList",
"Statements",
"Version",
"Program",
653 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
654 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
655 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
656 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
657 295, 296, 297, 298, 299, 44, 58, 63, 124, 94,
658 38, 62, 60, 43, 45, 42, 47, 37, 300, 301,
659 302, 40, 91, 64, 93, 41, 126, 33, 46, 61,
664 #define YYPACT_NINF -239 666 #define yypact_value_is_default(Yystate) \ 667 (!!((Yystate) == (-239))) 669 #define YYTABLE_NINF -137 671 #define yytable_value_is_error(Yytable_value) \ 678 78, -239, -239, 11, 13, -239, 30, -239, 15, -239,
679 -239, -239, 9, 15, 773, -239, -239, -239, -239, 951,
680 951, 21, 21, -17, 3, 19, 23, 34, 29, -239,
681 -239, 1002, -239, 21, 71, 592, -239, 35, 76, -239,
682 -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
683 68, 71, -239, -239, -239, -239, 951, 951, 71, 951,
684 951, -239, -239, -239, -239, -239, 72, -239, -239, -239,
685 -239, -239, 1040, -33, 1520, 46, -239, 1002, 951, 951,
686 4, 951, 951, 71, 60, -239, 1002, 951, 1002, 1002,
687 -239, -239, -239, -239, -239, 72, -239, -239, -239, -239,
688 -239, 1192, 73, 210, 1751, 80, 21, 210, 21, 129,
689 -239, 28, 62, 83, 1232, 417, 83, 83, 647, 951,
690 951, 951, 951, 951, 951, 951, 951, 951, 951, 951,
691 951, 951, 951, 951, 951, 951, 951, 951, 951, 951,
692 951, 951, 951, 797, -239, 951, 21, 21, 21, 1652,
693 1268, 1304, 1112, -239, 137, 1152, 1340, 872, 88, 93,
694 1376, 93, 93, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
695 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
696 1002, 1002, 1002, 1002, 1002, 951, 1002, 951, 76, 71,
697 1002, 89, 95, -239, 35, -239, 68, -239, -239, -239,
698 -239, -239, -239, 71, 1685, 115, -239, -39, -20, -20,
699 1781, 1839, 471, 569, 569, 2035, 2035, -8, -8, -8,
700 1553, 1895, 281, 1979, 569, 569, 176, 176, -20, -20,
701 -20, -239, -239, -239, -32, 1586, 1685, -239, -239, -239,
702 1002, 21, 29, 951, 951, 951, 29, -239, 71, 951,
703 -239, -11, -11, 1811, 1923, 1867, 793, 793, 2063, 2063,
704 97, 97, 97, 1718, 1951, 2007, 793, 793, 180, 180,
705 -11, -11, -11, -30, 1751, 1412, 64, 90, 1751, 21,
706 925, 220, 98, 951, -239, 951, 951, -239, 951, 80,
707 1002, 152, 1685, 1079, 1619, -239, 96, 1448, 1002, -239,
708 -239, 76, -239, -239, -239, -34, 115, -239, 1685, 1685,
709 -239, 1685, 80, -1, 935, 951, -239, -239, 1751, -239,
710 -239, -239, 104, 1484, 29, 29, -239, -239
718 0, 170, 3, 4, 0, 169, 0, 2, 0, 1,
719 6, 166, 5, 0, 0, 164, 168, 165, 158, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
721 145, 0, 17, 0, 5, 0, 120, 122, 149, 146,
722 147, 148, 151, 152, 153, 154, 155, 156, 157, 160,
723 162, 5, 91, 7, 14, 14, 0, 0, 5, 0,
724 0, 79, 80, 81, 82, 83, 84, 85, 86, 87,
725 88, 89, 5, 84, 0, 0, 129, 0, 0, 0,
726 0, 0, 0, 5, 0, 104, 0, 0, 0, 0,
727 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
728 102, 0, 130, 0, 108, 114, 0, 0, 0, 0,
729 163, 0, 0, 28, 0, 0, 29, 30, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 167, 0, 0, 0, 0, 116,
733 0, 0, 0, 135, 0, 0, 0, 0, 0, 54,
734 0, 55, 56, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 124, 5,
737 0, 0, 110, 119, 121, 159, 161, 15, 12, 13,
738 16, 90, 11, 5, 106, 9, 18, 0, 31, 34,
739 52, 50, 51, 44, 46, 41, 42, 38, 39, 40,
740 0, 49, 48, 47, 43, 45, 36, 37, 32, 33,
741 35, 22, 23, 25, 0, 20, 126, 125, 128, 127,
742 0, 0, 0, 0, 0, 0, 0, 133, 5, 0,
743 103, 57, 60, 77, 75, 76, 70, 72, 67, 68,
744 64, 65, 66, 0, 74, 73, 69, 71, 62, 63,
745 58, 59, 61, 0, 115, 0, 4, 0, 107, 0,
746 0, 0, 0, 0, 19, 0, 0, 26, 0, 117,
747 0, 137, 134, 0, 0, 142, 0, 0, 0, 27,
748 131, 123, 150, 109, 111, 0, 8, 10, 105, 53,
749 24, 21, 118, 0, 0, 0, 132, 143, 78, 112,
750 139, 138, 0, 0, 0, 0, 140, 141
756 -239, 6, 222, 8, 215, -239, 371, 146, 399, 555,
757 182, 585, -239, -239, -81, -15, -239, -239, -239, -239,
758 -239, -239, -239, -239, -19, 741, -116, -237, -239, 100,
759 -239, 105, -83, -239, -239, 67, -239, -239, -238, -239,
760 -98, -93, -239, -239, -239, -239, -239, -239, -239, 118,
761 77, 156, -239, -239, -239
767 -1, 3, 15, 61, 62, 203, 63, 111, 64, 65,
768 66, 67, 231, 232, 233, 234, 68, 97, 69, 70,
769 71, 98, 99, 100, 204, 104, 205, 105, 192, 193,
770 36, 37, 38, 189, 39, 76, 40, 41, 84, 153,
771 154, 42, 43, 44, 45, 46, 47, 48, 49, 50,
780 72, 74, 207, 289, 291, 52, 283, -136, 295, 24,
781 119, 283, 2, 286, 7, 286, 11, 8, 14, 163,
782 188, 17, 119, 120, 10, 53, 284, 54, 118, 55,
783 9, 319, 287, 32, 299, 10, 145, 113, 114, 90,
784 116, 117, 142, 90, 78, 137, 138, 139, 140, 141,
785 32, 185, 197, 312, 142, 198, 199, 109, 56, 150,
786 151, 152, 155, 156, 79, 57, 58, 7, 160, 83,
787 59, 60, 22, 23, 2, 320, 158, 13, 143, 1,
788 80, 2, -5, 31, 81, 90, 326, 327, 200, 198,
789 199, 147, 148, 32, 90, 82, 90, 90, 106, 83,
790 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
791 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
792 228, 229, 230, 235, 107, 190, 236, 163, 164, -4,
793 18, 108, 7, 118, 187, 20, 21, 22, 23, 24,
794 244, 25, 26, 27, 28, 142, 29, 30, 31, 249,
795 180, 181, 182, 183, 184, 185, 280, 279, 32, 185,
796 283, 302, 307, 313, 305, 306, 235, 316, 275, 324,
797 273, 90, 90, 90, 90, 90, 90, 90, 90, 90,
798 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
799 90, 90, 90, 301, 90, 276, 35, 33, 90, 34,
800 -4, 112, 73, 75, 77, 310, 119, 120, 195, 281,
801 163, 164, 194, 95, 238, 102, 322, 95, 22, 23,
802 321, 52, 4, 7, 292, 293, 294, 196, 144, 31,
803 297, 139, 140, 141, 248, 182, 183, 184, 142, 32,
804 10, 53, 185, 54, 0, 55, 91, 0, 90, 32,
805 91, 0, 0, 0, 109, 0, 103, 0, 0, 95,
806 0, 0, 0, 0, 308, 0, 309, 235, 95, 311,
807 95, 95, 0, 110, 56, 0, 0, 0, 0, 0,
808 115, 57, 58, 0, -4, 35, 59, 60, 191, 35,
809 191, 35, 91, 0, 0, 152, 323, 0, 90, 0,
810 0, 91, 0, 91, 91, 157, 90, 0, 0, 0,
811 0, 119, 120, 0, 0, 0, 124, 125, 126, 127,
812 128, 129, 130, 0, 0, 35, 0, 0, 237, 75,
813 239, 134, 135, 136, 137, 138, 139, 140, 141, 35,
814 0, 0, 0, 142, 0, 95, 95, 95, 95, 95,
815 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
816 95, 95, 95, 95, 95, 95, 95, 0, 95, 0,
817 0, 0, 95, 0, 0, 0, 0, 0, 91, 91,
818 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
819 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
820 0, 91, 92, 0, 0, 91, 92, 0, 0, 0,
821 0, 277, 0, 0, 0, 0, 0, 0, 52, 0,
822 0, 0, 95, 290, 0, 282, 0, 0, 0, 0,
823 93, 0, 0, 0, 93, 0, 0, 10, 53, 0,
824 54, 0, 55, 0, 0, 0, 32, 0, 92, 0,
825 0, 0, 0, 0, 0, 91, 0, 92, 35, 92,
826 92, 303, 0, 0, 0, 0, 0, 0, 0, 0,
827 296, 56, 95, 0, 0, 0, 93, 0, 57, 58,
828 95, 202, 0, 59, 60, 93, 0, 93, 93, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 119, 120, 0, 122, 91, 124, 125, 126, 127,
831 128, 129, 130, 91, 0, 0, 0, 0, 0, 132,
832 133, 134, 135, 136, 137, 138, 139, 140, 141, 0,
833 0, 0, 0, 142, 92, 92, 92, 92, 92, 92,
834 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
835 92, 92, 92, 92, 92, 92, 0, 92, 0, 0,
836 0, 92, 93, 93, 93, 93, 93, 93, 93, 93,
837 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
838 93, 93, 93, 93, 0, 93, 94, 0, 0, 93,
839 94, 0, -113, 85, 0, -113, 0, 0, 0, 119,
840 120, 0, 0, 0, 0, 0, 0, 0, 128, 129,
841 130, 92, 10, 53, 0, 54, 96, 55, 0, 0,
842 96, 32, 137, 138, 139, 140, 141, 0, 0, 0,
843 0, 142, 94, 0, 0, 0, 0, 0, 0, 93,
844 -113, 94, 0, 94, 94, 0, 86, 0, 52, 0,
845 0, 0, 0, 87, 58, -113, 0, 0, 88, 89,
846 0, 92, 96, -113, 0, 0, 0, 10, 53, 92,
847 54, 96, 55, 96, 96, 0, 32, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
849 0, 0, 0, 0, 0, 0, 0, 93, 0, 0,
850 0, 56, 0, 0, 0, 0, 0, 0, 57, 58,
851 0, 0, 206, 59, 60, 0, 0, 0, 94, 94,
852 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
853 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
854 0, 94, 0, 0, 0, 94, 0, 0, 96, 96,
855 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
856 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
857 0, 96, 101, -4, 18, 96, 7, 0, 19, 20,
858 21, 22, 23, 24, 0, 25, 26, 27, 28, 0,
859 29, 30, 31, 0, 0, 94, 0, -4, 18, 0,
860 7, 0, 32, 20, 21, 22, 23, 24, 0, 25,
861 26, 27, 28, 0, 29, 30, 31, 0, 149, 0,
862 0, 0, 0, 163, 164, 96, 32, 159, 0, 161,
863 162, 0, 172, 173, 174, 0, 0, 0, 0, 0,
864 0, 33, 0, 34, 0, 94, 180, 181, 182, 183,
865 184, 0, 0, 94, 0, 185, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 33, 0, 34, 0, 0,
867 0, 0, 0, 18, 0, 96, 0, 0, 20, 21,
868 22, 23, 24, 96, 25, 26, 27, 28, 0, 29,
869 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 32, 0, 0, 251, 252, 253, 254, 255, 256,
871 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
872 267, 268, 269, 270, 271, 272, 52, 274, 0, 0,
873 0, 278, 0, 0, 0, 0, 52, 0, 0, 0,
874 33, 0, 34, 247, 0, 10, 53, 0, 54, 0,
875 55, 0, 52, 0, 32, 10, 53, 0, 54, 0,
876 55, 0, 0, 0, 32, 0, 0, 0, 0, 0,
877 0, 10, 53, 0, 54, 0, 55, 0, 0, 56,
878 32, 0, 0, 0, 0, 0, 57, 58, 0, 56,
879 304, 59, 60, 0, 0, 0, 57, 58, 0, 0,
880 -136, 59, 60, 85, 0, 56, 0, 0, 0, 0,
881 0, 0, 57, 58, 0, 0, 0, 59, 60, 0,
882 0, 0, 10, 53, 0, 54, 0, 55, 0, 0,
883 0, 32, 0, 0, 0, 0, 0, 0, 0, 318,
884 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 86, 0, 0, 0,
886 0, 0, 0, 87, 58, 0, 0, 0, 88, 89,
887 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
888 129, 130, 314, 0, 0, 0, 0, 131, 132, 133,
889 134, 135, 136, 137, 138, 139, 140, 141, 0, 0,
890 0, 0, 142, 0, 0, 0, 0, 0, 0, 119,
891 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
892 130, 0, 0, 0, 0, 0, 131, 132, 133, 134,
893 135, 136, 137, 138, 139, 140, 141, 0, 0, 0,
894 0, 142, 119, 120, 121, 122, 123, 124, 125, 126,
895 127, 128, 129, 130, 0, 0, 0, 0, 0, 131,
896 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
897 0, 0, 0, 0, 142, 0, 0, 0, 0, 0,
898 0, 243, 119, 120, 121, 122, 123, 124, 125, 126,
899 127, 128, 129, 130, 0, 0, 0, 0, 0, 131,
900 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
901 0, 0, 0, 0, 142, 0, 0, 0, 0, 0,
902 0, 245, 163, 164, 165, 166, 167, 168, 169, 170,
903 171, 172, 173, 174, 0, 0, 0, 0, 0, 175,
904 0, 176, 177, 178, 179, 180, 181, 182, 183, 184,
905 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
906 0, 186, 119, 120, 121, 122, 123, 124, 125, 126,
907 127, 128, 129, 130, 0, 0, 0, 0, 0, 131,
908 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
909 0, 0, 0, 0, 142, 0, 0, 201, 119, 120,
910 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
911 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
912 136, 137, 138, 139, 140, 141, 0, 0, 0, 0,
913 142, 0, 0, 241, 119, 120, 121, 122, 123, 124,
914 125, 126, 127, 128, 129, 130, 0, 0, 0, 0,
915 0, 131, 132, 133, 134, 135, 136, 137, 138, 139,
916 140, 141, 0, 0, 0, 0, 142, 0, 0, 242,
917 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
918 129, 130, 0, 0, 0, 0, 0, 131, 132, 133,
919 134, 135, 136, 137, 138, 139, 140, 141, 0, 0,
920 0, 0, 142, 0, 0, 246, 119, 120, 121, 122,
921 123, 124, 125, 126, 127, 128, 129, 130, 0, 0,
922 0, 0, 0, 131, 132, 133, 134, 135, 136, 137,
923 138, 139, 140, 141, 0, 0, 0, 0, 142, 0,
924 0, 250, 119, 120, 121, 122, 123, 124, 125, 126,
925 127, 128, 129, 130, 0, 0, 0, 0, 0, 131,
926 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
927 0, 0, 0, 0, 142, 0, 0, 300, 119, 120,
928 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
929 0, 0, 0, 0, 0, 131, 132, 133, 134, 135,
930 136, 137, 138, 139, 140, 141, 0, 0, 0, 0,
931 142, 0, 0, 317, 119, 120, 121, 122, 123, 124,
932 125, 126, 127, 128, 129, 130, 0, 0, 0, 0,
933 0, 131, 132, 133, 134, 135, 136, 137, 138, 139,
934 140, 141, 0, 0, 0, 0, 142, 0, 0, 325,
935 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
936 129, 130, 0, 0, 0, 146, 0, 131, 132, 133,
937 134, 135, 136, 137, 138, 139, 140, 141, 0, 0,
938 0, 0, 142, 119, 120, 121, 122, 123, 124, 125,
939 126, 127, 128, 129, 130, 0, 0, 0, 0, 285,
940 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
941 141, 0, 0, 0, 0, 142, 119, 120, 121, 122,
942 123, 124, 125, 126, 127, 128, 129, 130, 0, 0,
943 0, 0, 288, 131, 132, 133, 134, 135, 136, 137,
944 138, 139, 140, 141, 0, 0, 0, 0, 142, 119,
945 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
946 130, 315, 0, 0, 0, 0, 131, 132, 133, 134,
947 135, 136, 137, 138, 139, 140, 141, 0, 0, 0,
948 0, 142, 163, 164, 165, 166, 167, 168, 169, 170,
949 171, 172, 173, 174, 0, 0, 0, 240, 0, 175,
950 0, 176, 177, 178, 179, 180, 181, 182, 183, 184,
951 0, 0, 0, 0, 185, 119, 120, 121, 122, 123,
952 124, 125, 126, 127, 128, 129, 130, 0, 0, 0,
953 0, 0, 131, 132, 133, 134, 135, 136, 137, 138,
954 139, 140, 141, 0, 0, 0, 0, 142, 163, 164,
955 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
956 0, 0, 0, 0, 298, 175, 0, 176, 177, 178,
957 179, 180, 181, 182, 183, 184, 0, 0, 0, 0,
958 185, 163, 164, 165, 166, 167, 168, 169, 170, 171,
959 172, 173, 174, 0, 0, 0, 0, 0, 175, 0,
960 176, 177, 178, 179, 180, 181, 182, 183, 184, 0,
961 0, 119, 120, 185, 122, 123, 124, 125, 126, 127,
962 128, 129, 130, 0, 0, 0, 0, 0, 0, 132,
963 133, 134, 135, 136, 137, 138, 139, 140, 141, 0,
964 0, 163, 164, 142, 166, 167, 168, 169, 170, 171,
965 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
966 176, 177, 178, 179, 180, 181, 182, 183, 184, 119,
967 120, 0, 0, 185, 124, 125, 126, 127, 128, 129,
968 130, 0, 0, 0, 0, 0, 0, 132, 133, 134,
969 135, 136, 137, 138, 139, 140, 141, 163, 164, 0,
970 166, 142, 168, 169, 170, 171, 172, 173, 174, 0,
971 0, 0, 0, 0, 0, 0, 176, 177, 178, 179,
972 180, 181, 182, 183, 184, 119, 120, 0, 0, 185,
973 124, 125, 126, 127, 128, 129, 130, 0, 0, 0,
974 0, 0, 0, 0, 133, 134, 135, 136, 137, 138,
975 139, 140, 141, 163, 164, 0, 0, 142, 168, 169,
976 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
977 0, 0, 176, 177, 178, 179, 180, 181, 182, 183,
978 184, 163, 164, 0, 0, 185, 168, 169, 170, 171,
979 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
980 0, 177, 178, 179, 180, 181, 182, 183, 184, 119,
981 120, 0, 0, 185, 124, 125, 126, 127, 128, 129,
982 130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 135, 136, 137, 138, 139, 140, 141, 163, 164, 0,
984 0, 142, 168, 169, 170, 171, 172, 173, 174, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 178, 179,
986 180, 181, 182, 183, 184, 119, 120, 0, 0, 185,
987 124, 125, 0, 0, 128, 129, 130, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 135, 136, 137, 138,
989 139, 140, 141, 163, 164, 0, 0, 142, 168, 169,
990 0, 0, 172, 173, 174, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 178, 179, 180, 181, 182, 183,
997 19, 20, 118, 240, 242, 1, 45, 3, 246, 10,
998 30, 45, 3, 45, 3, 45, 8, 4, 12, 30,
999 103, 13, 30, 31, 20, 21, 65, 23, 61, 25,
1000 0, 65, 64, 29, 64, 20, 69, 56, 57, 31,
1001 59, 60, 62, 35, 61, 53, 54, 55, 56, 57,
1002 29, 62, 24, 290, 62, 27, 28, 51, 54, 78,
1003 79, 80, 81, 82, 61, 61, 62, 3, 87, 70,
1004 66, 67, 8, 9, 3, 313, 16, 68, 72, 1,
1005 61, 3, 4, 19, 61, 77, 324, 325, 26, 27,
1006 28, 45, 46, 29, 86, 61, 88, 89, 63, 70,
1007 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1008 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1009 139, 140, 141, 142, 48, 45, 145, 30, 31, 0,
1010 1, 63, 3, 61, 61, 6, 7, 8, 9, 10,
1011 3, 12, 13, 14, 15, 62, 17, 18, 19, 61,
1012 53, 54, 55, 56, 57, 62, 61, 68, 29, 62,
1013 45, 71, 64, 11, 280, 281, 185, 71, 187, 65,
1014 185, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1015 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1016 182, 183, 184, 276, 186, 189, 14, 68, 190, 70,
1017 71, 55, 20, 21, 22, 286, 30, 31, 108, 203,
1018 30, 31, 107, 31, 147, 33, 314, 35, 8, 9,
1019 313, 1, 0, 3, 243, 244, 245, 109, 72, 19,
1020 249, 55, 56, 57, 157, 55, 56, 57, 62, 29,
1021 20, 21, 62, 23, -1, 25, 31, -1, 240, 29,
1022 35, -1, -1, -1, 248, -1, 34, -1, -1, 77,
1023 -1, -1, -1, -1, 283, -1, 285, 286, 86, 288,
1024 88, 89, -1, 51, 54, -1, -1, -1, -1, -1,
1025 58, 61, 62, -1, 64, 103, 66, 67, 106, 107,
1026 108, 109, 77, -1, -1, 314, 315, -1, 290, -1,
1027 -1, 86, -1, 88, 89, 83, 298, -1, -1, -1,
1028 -1, 30, 31, -1, -1, -1, 35, 36, 37, 38,
1029 39, 40, 41, -1, -1, 143, -1, -1, 146, 147,
1030 148, 50, 51, 52, 53, 54, 55, 56, 57, 157,
1031 -1, -1, -1, 62, -1, 163, 164, 165, 166, 167,
1032 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1033 178, 179, 180, 181, 182, 183, 184, -1, 186, -1,
1034 -1, -1, 190, -1, -1, -1, -1, -1, 163, 164,
1035 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1036 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1037 -1, 186, 31, -1, -1, 190, 35, -1, -1, -1,
1038 -1, 189, -1, -1, -1, -1, -1, -1, 1, -1,
1039 -1, -1, 240, 241, -1, 203, -1, -1, -1, -1,
1040 31, -1, -1, -1, 35, -1, -1, 20, 21, -1,
1041 23, -1, 25, -1, -1, -1, 29, -1, 77, -1,
1042 -1, -1, -1, -1, -1, 240, -1, 86, 276, 88,
1043 89, 279, -1, -1, -1, -1, -1, -1, -1, -1,
1044 248, 54, 290, -1, -1, -1, 77, -1, 61, 62,
1045 298, 64, -1, 66, 67, 86, -1, 88, 89, -1,
1046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1047 -1, 30, 31, -1, 33, 290, 35, 36, 37, 38,
1048 39, 40, 41, 298, -1, -1, -1, -1, -1, 48,
1049 49, 50, 51, 52, 53, 54, 55, 56, 57, -1,
1050 -1, -1, -1, 62, 163, 164, 165, 166, 167, 168,
1051 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1052 179, 180, 181, 182, 183, 184, -1, 186, -1, -1,
1053 -1, 190, 163, 164, 165, 166, 167, 168, 169, 170,
1054 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1055 181, 182, 183, 184, -1, 186, 31, -1, -1, 190,
1056 35, -1, 0, 1, -1, 3, -1, -1, -1, 30,
1057 31, -1, -1, -1, -1, -1, -1, -1, 39, 40,
1058 41, 240, 20, 21, -1, 23, 31, 25, -1, -1,
1059 35, 29, 53, 54, 55, 56, 57, -1, -1, -1,
1060 -1, 62, 77, -1, -1, -1, -1, -1, -1, 240,
1061 48, 86, -1, 88, 89, -1, 54, -1, 1, -1,
1062 -1, -1, -1, 61, 62, 63, -1, -1, 66, 67,
1063 -1, 290, 77, 71, -1, -1, -1, 20, 21, 298,
1064 23, 86, 25, 88, 89, -1, 29, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
1066 -1, -1, -1, -1, -1, -1, -1, 298, -1, -1,
1067 -1, 54, -1, -1, -1, -1, -1, -1, 61, 62,
1068 -1, -1, 65, 66, 67, -1, -1, -1, 163, 164,
1069 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1070 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1071 -1, 186, -1, -1, -1, 190, -1, -1, 163, 164,
1072 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1073 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1074 -1, 186, 31, 0, 1, 190, 3, -1, 5, 6,
1075 7, 8, 9, 10, -1, 12, 13, 14, 15, -1,
1076 17, 18, 19, -1, -1, 240, -1, 0, 1, -1,
1077 3, -1, 29, 6, 7, 8, 9, 10, -1, 12,
1078 13, 14, 15, -1, 17, 18, 19, -1, 77, -1,
1079 -1, -1, -1, 30, 31, 240, 29, 86, -1, 88,
1080 89, -1, 39, 40, 41, -1, -1, -1, -1, -1,
1081 -1, 68, -1, 70, -1, 290, 53, 54, 55, 56,
1082 57, -1, -1, 298, -1, 62, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, 68, -1, 70, -1, -1,
1084 -1, -1, -1, 1, -1, 290, -1, -1, 6, 7,
1085 8, 9, 10, 298, 12, 13, 14, 15, -1, 17,
1086 18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
1087 -1, 29, -1, -1, 163, 164, 165, 166, 167, 168,
1088 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1089 179, 180, 181, 182, 183, 184, 1, 186, -1, -1,
1090 -1, 190, -1, -1, -1, -1, 1, -1, -1, -1,
1091 68, -1, 70, 71, -1, 20, 21, -1, 23, -1,
1092 25, -1, 1, -1, 29, 20, 21, -1, 23, -1,
1093 25, -1, -1, -1, 29, -1, -1, -1, -1, -1,
1094 -1, 20, 21, -1, 23, -1, 25, -1, -1, 54,
1095 29, -1, -1, -1, -1, -1, 61, 62, -1, 54,
1096 65, 66, 67, -1, -1, -1, 61, 62, -1, -1,
1097 65, 66, 67, 1, -1, 54, -1, -1, -1, -1,
1098 -1, -1, 61, 62, -1, -1, -1, 66, 67, -1,
1099 -1, -1, 20, 21, -1, 23, -1, 25, -1, -1,
1100 -1, 29, -1, -1, -1, -1, -1, -1, -1, 298,
1101 -1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
1102 -1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
1103 -1, -1, -1, 61, 62, -1, -1, -1, 66, 67,
1104 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1105 40, 41, 3, -1, -1, -1, -1, 47, 48, 49,
1106 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
1107 -1, -1, 62, -1, -1, -1, -1, -1, -1, 30,
1108 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1109 41, -1, -1, -1, -1, -1, 47, 48, 49, 50,
1110 51, 52, 53, 54, 55, 56, 57, -1, -1, -1,
1111 -1, 62, 30, 31, 32, 33, 34, 35, 36, 37,
1112 38, 39, 40, 41, -1, -1, -1, -1, -1, 47,
1113 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1114 -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
1115 -1, 69, 30, 31, 32, 33, 34, 35, 36, 37,
1116 38, 39, 40, 41, -1, -1, -1, -1, -1, 47,
1117 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1118 -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
1119 -1, 69, 30, 31, 32, 33, 34, 35, 36, 37,
1120 38, 39, 40, 41, -1, -1, -1, -1, -1, 47,
1121 -1, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1122 -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
1123 -1, 69, 30, 31, 32, 33, 34, 35, 36, 37,
1124 38, 39, 40, 41, -1, -1, -1, -1, -1, 47,
1125 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1126 -1, -1, -1, -1, 62, -1, -1, 65, 30, 31,
1127 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1128 -1, -1, -1, -1, -1, 47, 48, 49, 50, 51,
1129 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
1130 62, -1, -1, 65, 30, 31, 32, 33, 34, 35,
1131 36, 37, 38, 39, 40, 41, -1, -1, -1, -1,
1132 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1133 56, 57, -1, -1, -1, -1, 62, -1, -1, 65,
1134 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1135 40, 41, -1, -1, -1, -1, -1, 47, 48, 49,
1136 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
1137 -1, -1, 62, -1, -1, 65, 30, 31, 32, 33,
1138 34, 35, 36, 37, 38, 39, 40, 41, -1, -1,
1139 -1, -1, -1, 47, 48, 49, 50, 51, 52, 53,
1140 54, 55, 56, 57, -1, -1, -1, -1, 62, -1,
1141 -1, 65, 30, 31, 32, 33, 34, 35, 36, 37,
1142 38, 39, 40, 41, -1, -1, -1, -1, -1, 47,
1143 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1144 -1, -1, -1, -1, 62, -1, -1, 65, 30, 31,
1145 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1146 -1, -1, -1, -1, -1, 47, 48, 49, 50, 51,
1147 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
1148 62, -1, -1, 65, 30, 31, 32, 33, 34, 35,
1149 36, 37, 38, 39, 40, 41, -1, -1, -1, -1,
1150 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1151 56, 57, -1, -1, -1, -1, 62, -1, -1, 65,
1152 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1153 40, 41, -1, -1, -1, 45, -1, 47, 48, 49,
1154 50, 51, 52, 53, 54, 55, 56, 57, -1, -1,
1155 -1, -1, 62, 30, 31, 32, 33, 34, 35, 36,
1156 37, 38, 39, 40, 41, -1, -1, -1, -1, 46,
1157 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1158 57, -1, -1, -1, -1, 62, 30, 31, 32, 33,
1159 34, 35, 36, 37, 38, 39, 40, 41, -1, -1,
1160 -1, -1, 46, 47, 48, 49, 50, 51, 52, 53,
1161 54, 55, 56, 57, -1, -1, -1, -1, 62, 30,
1162 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1163 41, 42, -1, -1, -1, -1, 47, 48, 49, 50,
1164 51, 52, 53, 54, 55, 56, 57, -1, -1, -1,
1165 -1, 62, 30, 31, 32, 33, 34, 35, 36, 37,
1166 38, 39, 40, 41, -1, -1, -1, 45, -1, 47,
1167 -1, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1168 -1, -1, -1, -1, 62, 30, 31, 32, 33, 34,
1169 35, 36, 37, 38, 39, 40, 41, -1, -1, -1,
1170 -1, -1, 47, 48, 49, 50, 51, 52, 53, 54,
1171 55, 56, 57, -1, -1, -1, -1, 62, 30, 31,
1172 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1173 -1, -1, -1, -1, 46, 47, -1, 49, 50, 51,
1174 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
1175 62, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1176 39, 40, 41, -1, -1, -1, -1, -1, 47, -1,
1177 49, 50, 51, 52, 53, 54, 55, 56, 57, -1,
1178 -1, 30, 31, 62, 33, 34, 35, 36, 37, 38,
1179 39, 40, 41, -1, -1, -1, -1, -1, -1, 48,
1180 49, 50, 51, 52, 53, 54, 55, 56, 57, -1,
1181 -1, 30, 31, 62, 33, 34, 35, 36, 37, 38,
1182 39, 40, 41, -1, -1, -1, -1, -1, -1, -1,
1183 49, 50, 51, 52, 53, 54, 55, 56, 57, 30,
1184 31, -1, -1, 62, 35, 36, 37, 38, 39, 40,
1185 41, -1, -1, -1, -1, -1, -1, 48, 49, 50,
1186 51, 52, 53, 54, 55, 56, 57, 30, 31, -1,
1187 33, 62, 35, 36, 37, 38, 39, 40, 41, -1,
1188 -1, -1, -1, -1, -1, -1, 49, 50, 51, 52,
1189 53, 54, 55, 56, 57, 30, 31, -1, -1, 62,
1190 35, 36, 37, 38, 39, 40, 41, -1, -1, -1,
1191 -1, -1, -1, -1, 49, 50, 51, 52, 53, 54,
1192 55, 56, 57, 30, 31, -1, -1, 62, 35, 36,
1193 37, 38, 39, 40, 41, -1, -1, -1, -1, -1,
1194 -1, -1, 49, 50, 51, 52, 53, 54, 55, 56,
1195 57, 30, 31, -1, -1, 62, 35, 36, 37, 38,
1196 39, 40, 41, -1, -1, -1, -1, -1, -1, -1,
1197 -1, 50, 51, 52, 53, 54, 55, 56, 57, 30,
1198 31, -1, -1, 62, 35, 36, 37, 38, 39, 40,
1199 41, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1200 51, 52, 53, 54, 55, 56, 57, 30, 31, -1,
1201 -1, 62, 35, 36, 37, 38, 39, 40, 41, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, 51, 52,
1203 53, 54, 55, 56, 57, 30, 31, -1, -1, 62,
1204 35, 36, -1, -1, 39, 40, 41, -1, -1, -1,
1205 -1, -1, -1, -1, -1, -1, 51, 52, 53, 54,
1206 55, 56, 57, 30, 31, -1, -1, 62, 35, 36,
1207 -1, -1, 39, 40, 41, -1, -1, -1, -1, -1,
1208 -1, -1, -1, -1, 51, 52, 53, 54, 55, 56,
1209 57, -1, -1, -1, -1, 62
1216 0, 1, 3, 73, 74, 125, 126, 3, 4, 0,
1217 20, 75, 124, 68, 73, 74, 123, 75, 1, 5,
1218 6, 7, 8, 9, 10, 12, 13, 14, 15, 17,
1219 18, 19, 29, 68, 70, 82, 102, 103, 104, 106,
1220 108, 109, 113, 114, 115, 116, 117, 118, 119, 120,
1221 121, 122, 1, 21, 23, 25, 54, 61, 62, 66,
1222 67, 75, 76, 78, 80, 81, 82, 83, 88, 90,
1223 91, 92, 96, 82, 96, 82, 107, 82, 61, 61,
1224 61, 61, 61, 70, 110, 1, 54, 61, 66, 67,
1225 75, 76, 78, 80, 81, 82, 83, 89, 93, 94,
1226 95, 97, 82, 74, 97, 99, 63, 48, 63, 73,
1227 74, 79, 79, 96, 96, 74, 96, 96, 61, 30,
1228 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1229 41, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1230 56, 57, 62, 73, 123, 69, 45, 45, 46, 97,
1231 96, 96, 96, 111, 112, 96, 96, 74, 16, 97,
1232 96, 97, 97, 30, 31, 32, 33, 34, 35, 36,
1233 37, 38, 39, 40, 41, 47, 49, 50, 51, 52,
1234 53, 54, 55, 56, 57, 62, 69, 61, 104, 105,
1235 45, 82, 100, 101, 103, 101, 121, 24, 27, 28,
1236 26, 65, 64, 77, 96, 98, 65, 98, 96, 96,
1237 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1238 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1239 96, 84, 85, 86, 87, 96, 96, 82, 107, 82,
1240 45, 65, 65, 69, 3, 69, 65, 71, 122, 61,
1241 65, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1242 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1243 97, 97, 97, 87, 97, 96, 73, 74, 97, 68,
1244 61, 73, 74, 45, 65, 46, 45, 64, 46, 99,
1245 82, 110, 96, 96, 96, 110, 74, 96, 46, 64,
1246 65, 104, 71, 82, 65, 98, 98, 64, 96, 96,
1247 86, 96, 99, 11, 3, 42, 71, 65, 97, 65,
1248 110, 113, 112, 96, 65, 65, 110, 110
1254 0, 72, 73, 73, 74, 74, 75, 76, 77, 77,
1255 78, 78, 79, 79, 79, 80, 81, 82, 83, 83,
1256 84, 85, 86, 86, 87, 87, 88, 89, 90, 90,
1257 90, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1258 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1259 91, 91, 91, 92, 93, 93, 93, 94, 94, 94,
1260 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1261 94, 94, 94, 94, 94, 94, 94, 94, 95, 96,
1262 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
1263 96, 96, 97, 97, 97, 97, 97, 97, 97, 97,
1264 97, 97, 97, 97, 97, 98, 98, 99, 99, 100,
1265 101, 101, 101, 102, 102, 102, 102, 102, 102, 103,
1266 103, 104, 104, 105, 105, 106, 106, 107, 107, 108,
1267 109, 109, 110, 110, 111, 112, 112, 113, 113, 113,
1268 114, 115, 116, 117, 118, 119, 120, 120, 120, 120,
1269 120, 120, 120, 120, 120, 120, 120, 120, 120, 121,
1270 121, 122, 122, 123, 123, 124, 124, 125, 125, 126,
1277 0, 2, 2, 1, 1, 0, 1, 1, 3, 1,
1278 5, 3, 2, 2, 0, 3, 3, 1, 3, 4,
1279 1, 3, 1, 1, 3, 1, 4, 4, 2, 2,
1280 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1281 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1282 3, 3, 3, 5, 2, 2, 2, 3, 3, 3,
1283 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1284 3, 3, 3, 3, 3, 3, 3, 3, 5, 1,
1285 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1286 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1287 1, 1, 1, 3, 1, 3, 1, 3, 1, 3,
1288 1, 3, 4, 1, 2, 4, 3, 5, 6, 3,
1289 1, 3, 1, 3, 1, 4, 4, 3, 3, 2,
1290 2, 5, 5, 3, 3, 1, 0, 5, 7, 7,
1291 9, 9, 5, 6, 1, 1, 1, 1, 1, 1,
1292 5, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1293 1, 3, 1, 3, 1, 3, 1, 7, 4, 1,
1298 #define yyerrok (yyerrstatus = 0) 1299 #define yyclearin (yychar = YYEMPTY) 1300 #define YYEMPTY (-2) 1303 #define YYACCEPT goto yyacceptlab 1304 #define YYABORT goto yyabortlab 1305 #define YYERROR goto yyerrorlab 1308 #define YYRECOVERING() (!!yyerrstatus) 1310 #define YYBACKUP(Token, Value) \ 1312 if (yychar == YYEMPTY) \ 1316 YYPOPSTACK (yylen); \ 1322 yyerror (&yylloc, scanner, helper, YY_("syntax error: cannot back up")); \ 1329 #define YYERRCODE 256 1336 #ifndef YYLLOC_DEFAULT 1337 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 1341 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1342 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1343 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1344 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1348 (Current).first_line = (Current).last_line = \ 1349 YYRHSLOC (Rhs, 0).last_line; \ 1350 (Current).first_column = (Current).last_column = \ 1351 YYRHSLOC (Rhs, 0).last_column; \ 1356 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1364 # define YYFPRINTF fprintf 1367 # define YYDPRINTF(Args) \ 1378 #ifndef YY_LOCATION_PRINT 1379 # if defined CQASM_V1LTYPE_IS_TRIVIAL && CQASM_V1LTYPE_IS_TRIVIAL 1385 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
1388 int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
1389 if (0 <= yylocp->first_line)
1391 res += YYFPRINTF (yyo,
"%d", yylocp->first_line);
1392 if (0 <= yylocp->first_column)
1393 res += YYFPRINTF (yyo,
".%d", yylocp->first_column);
1395 if (0 <= yylocp->last_line)
1397 if (yylocp->first_line < yylocp->last_line)
1399 res += YYFPRINTF (yyo,
"-%d", yylocp->last_line);
1401 res += YYFPRINTF (yyo,
".%d", end_col);
1403 else if (0 <= end_col && yylocp->first_column < end_col)
1404 res += YYFPRINTF (yyo,
"-%d", end_col);
1409 # define YY_LOCATION_PRINT(File, Loc) \ 1410 yy_location_print_ (File, &(Loc)) 1413 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1418 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1422 YYFPRINTF (stderr, "%s ", Title); \ 1423 yy_symbol_print (stderr, \ 1424 Type, Value, Location, scanner, helper); \ 1425 YYFPRINTF (stderr, "\n"); \ 1437 FILE *yyo = yyoutput;
1439 YYUSE (yylocationp);
1446 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1459 YYFPRINTF (yyoutput,
"%s %s (",
1460 yytype <
YYNTOKENS ?
"token" :
"nterm", yytname[yytype]);
1462 YY_LOCATION_PRINT (yyoutput, *yylocationp);
1463 YYFPRINTF (yyoutput,
": ");
1464 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, scanner, helper);
1465 YYFPRINTF (yyoutput,
")");
1476 YYFPRINTF (stderr,
"Stack now");
1477 for (; yybottom <= yytop; yybottom++)
1479 int yybot = *yybottom;
1480 YYFPRINTF (stderr,
" %d", yybot);
1482 YYFPRINTF (stderr,
"\n");
1485 # define YY_STACK_PRINT(Bottom, Top) \ 1488 yy_stack_print ((Bottom), (Top)); \ 1499 unsigned long int yylno = yyrline[yyrule];
1500 int yynrhs = yyr2[yyrule];
1502 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1505 for (yyi = 0; yyi < yynrhs; yyi++)
1507 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1508 yy_symbol_print (stderr,
1509 yystos[yyssp[yyi + 1 - yynrhs]],
1510 &(yyvsp[(yyi + 1) - (yynrhs)])
1511 , &(yylsp[(yyi + 1) - (yynrhs)]) , scanner, helper);
1512 YYFPRINTF (stderr,
"\n");
1516 # define YY_REDUCE_PRINT(Rule) \ 1519 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, scanner, helper); \ 1526 # define YYDPRINTF(Args) 1527 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1528 # define YY_STACK_PRINT(Bottom, Top) 1529 # define YY_REDUCE_PRINT(Rule) 1535 # define YYINITDEPTH 200 1546 # define YYMAXDEPTH 10000 1553 # if defined __GLIBC__ && defined _STRING_H 1554 # define yystrlen strlen 1558 yystrlen (
const char *yystr)
1561 for (yylen = 0; yystr[yylen]; yylen++)
1569 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1570 # define yystpcpy stpcpy 1575 yystpcpy (
char *yydest,
const char *yysrc)
1578 const char *yys = yysrc;
1580 while ((*yyd++ = *yys++) !=
'\0')
1597 yytnamerr (
char *yyres,
const char *yystr)
1602 char const *yyp = yystr;
1609 goto do_not_strip_quotes;
1613 goto do_not_strip_quotes;
1626 do_not_strip_quotes: ;
1630 return yystrlen (yystr);
1632 return yystpcpy (yyres, yystr) - yyres;
1645 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1650 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1652 const char *yyformat =
YY_NULL;
1654 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1684 int yyn = yypact[*yyssp];
1685 yyarg[yycount++] = yytname[yytoken];
1691 int yyxbegin = yyn < 0 ? -yyn : 0;
1693 int yychecklim =
YYLAST - yyn + 1;
1697 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1698 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR 1701 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1707 yyarg[yycount++] = yytname[yyx];
1710 if (! (yysize <= yysize1
1721 # define YYCASE_(N, S) \ 1726 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1727 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1728 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1729 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1730 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1735 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1741 if (*yymsg_alloc < yysize)
1743 *yymsg_alloc = 2 * yysize;
1744 if (! (yysize <= *yymsg_alloc
1756 while ((*yyp = *yyformat) !=
'\0')
1757 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1759 yyp += yytnamerr (yyp, yyarg[yyi++]);
1780 YYUSE (yylocationp);
1814 # if defined CQASM_V1LTYPE_IS_TRIVIAL && CQASM_V1LTYPE_IS_TRIVIAL 1867 char *yymsg = yymsgbuf;
1868 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1871 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 1877 yyssp = yyss = yyssa;
1878 yyvsp = yyvs = yyvsa;
1879 yylsp = yyls = yylsa;
1882 YYDPRINTF ((stderr,
"Starting parse\n"));
1902 if (yyss + yystacksize - 1 <= yyssp)
1905 YYSIZE_T yysize = yyssp - yyss + 1;
1920 yyoverflow (
YY_(
"memory exhausted"),
1921 &yyss1, yysize *
sizeof (*yyssp),
1922 &yyvs1, yysize *
sizeof (*yyvsp),
1923 &yyls1, yysize *
sizeof (*yylsp),
1931 # ifndef YYSTACK_RELOCATE 1932 goto yyexhaustedlab;
1936 goto yyexhaustedlab;
1946 goto yyexhaustedlab;
1950 # undef YYSTACK_RELOCATE 1957 yyssp = yyss + yysize - 1;
1958 yyvsp = yyvs + yysize - 1;
1959 yylsp = yyls + yysize - 1;
1961 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1962 (
unsigned long int) yystacksize));
1964 if (yyss + yystacksize - 1 <= yyssp)
1968 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1984 yyn = yypact[yystate];
1993 YYDPRINTF ((stderr,
"Reading a token: "));
1997 if (yychar <=
YYEOF)
1999 yychar = yytoken =
YYEOF;
2000 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2011 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
2045 yyn = yydefact[yystate];
2066 yyval = yyvsp[1-yylen];
2074 #line 261 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2075 {
NEW((yyval.ilit),
IntegerLiteral); (yyval.ilit)->value = std::strtol((yyvsp[0].str),
nullptr, 0);
std::free((yyvsp[0].str)); }
2076 #line 2077 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2080 #line 265 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2081 {
NEW((yyval.flit),
FloatLiteral); (yyval.flit)->value = std::strtod((yyvsp[0].str),
nullptr);
std::free((yyvsp[0].str)); }
2082 #line 2083 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2086 #line 269 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2087 {
FROM((yyval.mat), (yyvsp[-2].mat)); (yyval.mat)->rows.add_raw((yyvsp[0].expl)); }
2088 #line 2089 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2092 #line 270 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2093 {
NEW((yyval.mat),
MatrixLiteral); (yyval.mat)->rows.add_raw((yyvsp[0].expl)); }
2094 #line 2095 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2098 #line 273 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2099 {
FROM((yyval.mat), (yyvsp[-2].mat)); }
2100 #line 2101 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2104 #line 274 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2106 #line 2107 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2110 #line 279 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2111 {
FROM((yyval.strb), (yyvsp[-1].strb)); (yyval.strb)->push_string(std::string((yyvsp[0].str)));
std::free((yyvsp[0].str)); }
2112 #line 2113 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2116 #line 280 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2117 {
FROM((yyval.strb), (yyvsp[-1].strb)); (yyval.strb)->push_escape(std::string((yyvsp[0].str)));
std::free((yyvsp[0].str)); }
2118 #line 2119 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2122 #line 281 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2124 #line 2125 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2128 #line 285 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2129 {
NEW((yyval.slit),
StringLiteral); (yyval.slit)->value = (yyvsp[-1].strb)->stream.str();
delete (yyvsp[-1].strb); }
2130 #line 2131 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2134 #line 289 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2135 {
NEW((yyval.jlit),
JsonLiteral); (yyval.jlit)->value = (yyvsp[-1].strb)->stream.str();
delete (yyvsp[-1].strb); }
2136 #line 2137 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2140 #line 293 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2141 {
NEW((yyval.idnt),
Identifier); (yyval.idnt)->name = std::string((yyvsp[0].str));
std::free((yyvsp[0].str)); }
2142 #line 2143 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2146 #line 297 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2148 #line 2149 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2152 #line 298 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2153 {
NEW((yyval.func),
FunctionCall); (yyval.func)->name.set_raw((yyvsp[-3].idnt)); (yyval.func)->arguments.set_raw((yyvsp[-1].expl)); }
2154 #line 2155 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2158 #line 302 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2159 {
NEW((yyval.idxi),
IndexItem); (yyval.idxi)->index.set_raw((yyvsp[0].expr)); }
2160 #line 2161 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2164 #line 305 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2165 {
NEW((yyval.idxr),
IndexRange); (yyval.idxr)->first.set_raw((yyvsp[-2].expr)); (yyval.idxr)->last.set_raw((yyvsp[0].expr)); }
2166 #line 2167 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2170 #line 308 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2171 {
FROM((yyval.idxe), (yyvsp[0].idxi)); }
2172 #line 2173 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2176 #line 309 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2177 {
FROM((yyval.idxe), (yyvsp[0].idxr)); }
2178 #line 2179 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2182 #line 312 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2183 {
FROM((yyval.idxl), (yyvsp[-2].idxl)); (yyval.idxl)->items.add_raw((yyvsp[0].idxe)); }
2184 #line 2185 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2188 #line 313 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2189 {
NEW((yyval.idxl),
IndexList); (yyval.idxl)->items.add_raw((yyvsp[0].idxe)); }
2190 #line 2191 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2194 #line 316 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2195 {
NEW((yyval.indx),
Index); (yyval.indx)->expr.set_raw((yyvsp[-3].expr)); (yyval.indx)->indices.set_raw((yyvsp[-1].idxl)); }
2196 #line 2197 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2200 #line 319 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2201 {
NEW((yyval.indx),
Index); (yyval.indx)->expr.set_raw((yyvsp[-3].expr)); (yyval.indx)->indices.set_raw((yyvsp[-1].idxl)); }
2202 #line 2203 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2206 #line 323 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2207 {
NEW((yyval.unop),
Negate); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2208 #line 2209 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2212 #line 324 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2213 {
NEW((yyval.unop),
BitwiseNot); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2214 #line 2215 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2218 #line 325 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2219 {
NEW((yyval.unop),
LogicalNot); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2220 #line 2221 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2224 #line 328 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2225 {
NEW((yyval.biop),
Power); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2226 #line 2227 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2230 #line 329 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2231 {
NEW((yyval.biop),
Multiply); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2232 #line 2233 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2236 #line 330 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2237 {
NEW((yyval.biop),
Divide); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2238 #line 2239 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2242 #line 331 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2243 {
NEW((yyval.biop),
IntDivide); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2244 #line 2245 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2248 #line 332 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2249 {
NEW((yyval.biop),
Modulo); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2250 #line 2251 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2254 #line 333 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2255 {
NEW((yyval.biop),
Add); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2256 #line 2257 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2260 #line 334 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2261 {
NEW((yyval.biop),
Subtract); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2262 #line 2263 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2266 #line 335 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2267 {
NEW((yyval.biop),
ShiftLeft); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2268 #line 2269 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2272 #line 336 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2273 {
NEW((yyval.biop),
ShiftRightArith); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2274 #line 2275 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2278 #line 337 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2279 {
NEW((yyval.biop),
ShiftRightLogic); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2280 #line 2281 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2284 #line 338 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2285 {
NEW((yyval.biop),
CmpEq); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2286 #line 2287 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2290 #line 339 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2291 {
NEW((yyval.biop),
CmpNe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2292 #line 2293 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2296 #line 340 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2297 {
NEW((yyval.biop),
CmpGt); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2298 #line 2299 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2302 #line 341 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2303 {
NEW((yyval.biop),
CmpGe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2304 #line 2305 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2308 #line 342 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2309 {
NEW((yyval.biop),
CmpLt); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2310 #line 2311 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2314 #line 343 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2315 {
NEW((yyval.biop),
CmpLe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2316 #line 2317 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2320 #line 344 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2321 {
NEW((yyval.biop),
BitwiseAnd); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2322 #line 2323 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2326 #line 345 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2327 {
NEW((yyval.biop),
BitwiseXor); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2328 #line 2329 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2332 #line 346 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2333 {
NEW((yyval.biop),
BitwiseOr); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2334 #line 2335 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2338 #line 347 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2339 {
NEW((yyval.biop),
LogicalAnd); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2340 #line 2341 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2344 #line 348 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2345 {
NEW((yyval.biop),
LogicalXor); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2346 #line 2347 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2350 #line 349 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2351 {
NEW((yyval.biop),
LogicalOr); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2352 #line 2353 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2356 #line 352 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2357 {
NEW((yyval.tcnd),
TernaryCond); (yyval.tcnd)->cond.set_raw((yyvsp[-4].expr)); (yyval.tcnd)->if_true.set_raw((yyvsp[-2].expr)); (yyval.tcnd)->if_false.set_raw((yyvsp[0].expr)); }
2358 #line 2359 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2362 #line 357 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2363 {
NEW((yyval.unop),
Negate); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2364 #line 2365 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2368 #line 358 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2369 {
NEW((yyval.unop),
BitwiseNot); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2370 #line 2371 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2374 #line 359 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2375 {
NEW((yyval.unop),
LogicalNot); (yyval.unop)->expr.set_raw((yyvsp[0].expr)); }
2376 #line 2377 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2380 #line 362 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2381 {
NEW((yyval.biop),
Power); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2382 #line 2383 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2386 #line 363 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2387 {
NEW((yyval.biop),
Multiply); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2388 #line 2389 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2392 #line 364 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2393 {
NEW((yyval.biop),
Divide); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2394 #line 2395 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2398 #line 365 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2399 {
NEW((yyval.biop),
IntDivide); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2400 #line 2401 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2404 #line 366 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2405 {
NEW((yyval.biop),
Modulo); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2406 #line 2407 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2410 #line 367 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2411 {
NEW((yyval.biop),
Add); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2412 #line 2413 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2416 #line 368 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2417 {
NEW((yyval.biop),
Subtract); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2418 #line 2419 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2422 #line 369 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2423 {
NEW((yyval.biop),
ShiftLeft); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2424 #line 2425 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2428 #line 370 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2429 {
NEW((yyval.biop),
ShiftRightArith); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2430 #line 2431 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2434 #line 371 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2435 {
NEW((yyval.biop),
ShiftRightLogic); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2436 #line 2437 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2440 #line 372 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2441 {
NEW((yyval.biop),
CmpEq); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2442 #line 2443 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2446 #line 373 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2447 {
NEW((yyval.biop),
CmpNe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2448 #line 2449 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2452 #line 374 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2453 {
NEW((yyval.biop),
CmpGt); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2454 #line 2455 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2458 #line 375 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2459 {
NEW((yyval.biop),
CmpGe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2460 #line 2461 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2464 #line 376 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2465 {
NEW((yyval.biop),
CmpLt); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2466 #line 2467 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2470 #line 377 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2471 {
NEW((yyval.biop),
CmpLe); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2472 #line 2473 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2476 #line 378 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2477 {
NEW((yyval.biop),
BitwiseAnd); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2478 #line 2479 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2482 #line 379 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2483 {
NEW((yyval.biop),
BitwiseXor); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2484 #line 2485 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2488 #line 380 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2489 {
NEW((yyval.biop),
LogicalAnd); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2490 #line 2491 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2494 #line 381 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2495 {
NEW((yyval.biop),
LogicalXor); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2496 #line 2497 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2500 #line 382 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2501 {
NEW((yyval.biop),
LogicalOr); (yyval.biop)->lhs.set_raw((yyvsp[-2].expr)); (yyval.biop)->rhs.set_raw((yyvsp[0].expr)); }
2502 #line 2503 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2506 #line 385 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2507 {
NEW((yyval.tcnd),
TernaryCond); (yyval.tcnd)->cond.set_raw((yyvsp[-4].expr)); (yyval.tcnd)->if_true.set_raw((yyvsp[-2].expr)); (yyval.tcnd)->if_false.set_raw((yyvsp[0].expr)); }
2508 #line 2509 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2512 #line 389 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2513 {
FROM((yyval.expr), (yyvsp[0].ilit)); }
2514 #line 2515 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2518 #line 390 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2519 {
FROM((yyval.expr), (yyvsp[0].flit)); }
2520 #line 2521 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2524 #line 391 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2525 {
FROM((yyval.expr), (yyvsp[0].mat)); }
2526 #line 2527 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2530 #line 392 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2531 {
FROM((yyval.expr), (yyvsp[0].slit)); }
2532 #line 2533 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2536 #line 393 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2537 {
FROM((yyval.expr), (yyvsp[0].jlit)); }
2538 #line 2539 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2542 #line 394 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2543 {
FROM((yyval.expr), (yyvsp[0].idnt)); }
2544 #line 2545 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2548 #line 395 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2549 {
FROM((yyval.expr), (yyvsp[0].func)); }
2550 #line 2551 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2554 #line 396 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2555 {
FROM((yyval.expr), (yyvsp[0].indx)); }
2556 #line 2557 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2560 #line 397 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2561 {
FROM((yyval.expr), (yyvsp[0].unop)); }
2562 #line 2563 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2566 #line 398 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2567 {
FROM((yyval.expr), (yyvsp[0].biop)); }
2568 #line 2569 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2572 #line 399 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2573 {
FROM((yyval.expr), (yyvsp[0].tcnd)); }
2574 #line 2575 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2578 #line 400 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2579 {
FROM((yyval.expr), (yyvsp[-1].expr)); }
2580 #line 2581 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2584 #line 401 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2586 #line 2587 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2590 #line 404 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2591 {
FROM((yyval.expr), (yyvsp[0].ilit)); }
2592 #line 2593 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2596 #line 405 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2597 {
FROM((yyval.expr), (yyvsp[0].flit)); }
2598 #line 2599 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2602 #line 406 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2603 {
FROM((yyval.expr), (yyvsp[0].mat)); }
2604 #line 2605 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2608 #line 407 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2609 {
FROM((yyval.expr), (yyvsp[0].slit)); }
2610 #line 2611 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2614 #line 408 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2615 {
FROM((yyval.expr), (yyvsp[0].jlit)); }
2616 #line 2617 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2620 #line 409 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2621 {
FROM((yyval.expr), (yyvsp[0].idnt)); }
2622 #line 2623 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2626 #line 410 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2627 {
FROM((yyval.expr), (yyvsp[0].func)); }
2628 #line 2629 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2632 #line 411 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2633 {
FROM((yyval.expr), (yyvsp[0].indx)); }
2634 #line 2635 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2638 #line 412 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2639 {
FROM((yyval.expr), (yyvsp[0].unop)); }
2640 #line 2641 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2644 #line 413 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2645 {
FROM((yyval.expr), (yyvsp[0].biop)); }
2646 #line 2647 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2650 #line 414 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2651 {
FROM((yyval.expr), (yyvsp[0].tcnd)); }
2652 #line 2653 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2656 #line 415 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2657 {
FROM((yyval.expr), (yyvsp[-1].expr)); }
2658 #line 2659 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2662 #line 416 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2664 #line 2665 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2668 #line 420 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2669 {
FROM((yyval.expl), (yyvsp[-2].expl)); (yyval.expl)->items.add_raw((yyvsp[0].expr)); }
2670 #line 2671 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2674 #line 421 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2675 {
NEW((yyval.expl),
ExpressionList); (yyval.expl)->items.add_raw((yyvsp[0].expr)); }
2676 #line 2677 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2680 #line 424 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2681 {
FROM((yyval.expl), (yyvsp[-2].expl)); (yyval.expl)->items.add_raw((yyvsp[0].expr)); }
2682 #line 2683 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2686 #line 425 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2687 {
NEW((yyval.expl),
ExpressionList); (yyval.expl)->items.add_raw((yyvsp[0].expr)); }
2688 #line 2689 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2692 #line 429 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2693 {
NEW((yyval.adat),
AnnotationData); (yyval.adat)->interface.set_raw((yyvsp[-2].idnt)); (yyval.adat)->operation.set_raw((yyvsp[0].idnt)); }
2694 #line 2695 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2698 #line 432 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2699 {
FROM((yyval.adat), (yyvsp[0].adat)); (yyval.adat)->operands.set_raw(
new ExpressionList()); }
2700 #line 2701 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2704 #line 433 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2705 {
FROM((yyval.adat), (yyvsp[-2].adat)); (yyval.adat)->operands.set_raw(
new ExpressionList()); }
2706 #line 2707 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2710 #line 434 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2711 {
FROM((yyval.adat), (yyvsp[-3].adat)); (yyval.adat)->operands.set_raw((yyvsp[-1].expl)); }
2712 #line 2713 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2716 #line 439 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2719 (yyval.inst)->name.set_raw((yyvsp[0].idnt));
2722 #line 2723 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2726 #line 444 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2729 (yyval.inst)->name.set_raw((yyvsp[-1].idnt));
2730 (yyval.inst)->operands.set_raw((yyvsp[0].expl));
2732 #line 2733 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2736 #line 449 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2739 (yyval.inst)->name.set_raw(
new Identifier());
2740 (yyval.inst)->name->name =
"set";
2742 (yyval.inst)->operands->items.add_raw((yyvsp[-2].expr));
2743 (yyval.inst)->operands->items.add_raw((yyvsp[0].expr));
2745 #line 2746 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2749 #line 457 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2752 (yyval.inst)->name.set_raw((yyvsp[-1].idnt));
2753 (yyval.inst)->condition.set_raw((yyvsp[0].expr));
2756 #line 2757 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2760 #line 463 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2763 (yyval.inst)->name.set_raw((yyvsp[-3].idnt));
2764 (yyval.inst)->condition.set_raw((yyvsp[-2].expr));
2765 (yyval.inst)->operands.set_raw((yyvsp[0].expl));
2767 #line 2768 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2771 #line 469 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2774 (yyval.inst)->name.set_raw((yyvsp[-1].idnt));
2775 (yyval.inst)->condition.set_raw((yyvsp[-3].expr));
2776 (yyval.inst)->operands.set_raw((yyvsp[0].expl));
2778 #line 2779 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2782 #line 480 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2783 {
FROM((yyval.inst), (yyvsp[-2].inst)); (yyval.inst)->annotations.add_raw((yyvsp[0].adat)); }
2784 #line 2785 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2788 #line 481 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2789 {
FROM((yyval.inst), (yyvsp[0].inst)); }
2790 #line 2791 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2794 #line 485 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2795 {
FROM((yyval.bun), (yyvsp[-2].bun)); (yyval.bun)->items.add_raw((yyvsp[0].inst)); }
2796 #line 2797 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2800 #line 486 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2801 {
NEW((yyval.bun),
Bundle); (yyval.bun)->items.add_raw((yyvsp[0].inst)); }
2802 #line 2803 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2806 #line 490 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2807 {
FROM((yyval.bun), (yyvsp[-2].bun)); (yyval.bun)->items.extend((yyvsp[0].bun)->items);
delete (yyvsp[0].bun); }
2808 #line 2809 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2812 #line 491 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2813 {
FROM((yyval.bun), (yyvsp[0].bun)); }
2814 #line 2815 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2818 #line 495 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2819 {
NEW((yyval.map),
Mapping); (yyval.map)->expr.set_raw((yyvsp[-2].expr)); (yyval.map)->alias.set_raw((yyvsp[0].idnt)); }
2820 #line 2821 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2824 #line 496 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2825 {
NEW((yyval.map),
Mapping); (yyval.map)->alias.set_raw((yyvsp[-2].idnt)); (yyval.map)->expr.set_raw((yyvsp[0].expr)); }
2826 #line 2827 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2830 #line 500 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2831 {
NEW((yyval.vars),
Variables); (yyval.vars)->names.add_raw((yyvsp[-2].idnt)); (yyval.vars)->typ.set_raw((yyvsp[0].idnt)); }
2832 #line 2833 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2836 #line 501 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2837 {
FROM((yyval.vars), (yyvsp[0].vars)); (yyval.vars)->names.add_raw((yyvsp[-2].idnt)); }
2838 #line 2839 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2842 #line 504 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2843 {
FROM((yyval.vars), (yyvsp[0].vars)); }
2844 #line 2845 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2848 #line 508 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2849 {
NEW((yyval.sub),
Subcircuit); (yyval.sub)->name.set_raw((yyvsp[0].idnt)); }
2850 #line 2851 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2854 #line 509 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2855 {
NEW((yyval.sub),
Subcircuit); (yyval.sub)->name.set_raw((yyvsp[-3].idnt)); (yyval.sub)->iterations.set_raw((yyvsp[-1].expr)); }
2856 #line 2857 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2860 #line 513 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2861 {
FROM((yyval.stms), (yyvsp[-2].stms)); }
2862 #line 2863 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2866 #line 514 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2868 #line 2869 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2872 #line 517 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2873 {
NEW((yyval.asgn),
Assignment); (yyval.asgn)->lhs.set_raw((yyvsp[-2].expr)); (yyval.asgn)->rhs.set_raw((yyvsp[0].expr)); }
2874 #line 2875 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2878 #line 520 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2879 {
FROM((yyval.asgn), (yyvsp[0].asgn)); }
2880 #line 2881 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2884 #line 521 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2885 { (yyval.asgn) =
nullptr; }
2886 #line 2887 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2890 #line 524 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2894 (yyval.ifel)->branches[0]->condition.set_raw((yyvsp[-2].expr));
2895 (yyval.ifel)->branches[0]->body.set_raw((yyvsp[0].stms));
2897 #line 2898 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2901 #line 530 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2903 FROM((yyval.ifel), (yyvsp[0].ifel));
2905 (yyval.ifel)->branches[0]->condition.set_raw((yyvsp[-4].expr));
2906 (yyval.ifel)->branches[0]->body.set_raw((yyvsp[-2].stms));
2908 #line 2909 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2912 #line 536 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2916 (yyval.ifel)->branches[0]->condition.set_raw((yyvsp[-4].expr));
2917 (yyval.ifel)->branches[0]->body.set_raw((yyvsp[-2].stms));
2918 (yyval.ifel)->otherwise.set_raw((yyvsp[0].stms));
2920 #line 2921 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2924 #line 546 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2927 if ((yyvsp[-6].asgn)) (yyval.forl)->
initialize.set_raw((yyvsp[-6].asgn));
2928 (yyval.forl)->condition.set_raw((yyvsp[-4].expr));
2929 if ((yyvsp[-2].asgn)) (yyval.forl)->update.set_raw((yyvsp[-2].asgn));
2930 (yyval.forl)->body.set_raw((yyvsp[0].stms));
2932 #line 2933 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2936 #line 556 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2939 (yyval.fore)->lhs.set_raw((yyvsp[-6].expr));
2940 (yyval.fore)->frm.set_raw((yyvsp[-4].expr));
2941 (yyval.fore)->to.set_raw((yyvsp[-2].expr));
2942 (yyval.fore)->body.set_raw((yyvsp[0].stms));
2944 #line 2945 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2948 #line 565 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2949 {
NEW((yyval.whil),
WhileLoop); (yyval.whil)->condition.set_raw((yyvsp[-2].expr)); (yyval.whil)->body.set_raw((yyvsp[0].stms)); }
2950 #line 2951 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2954 #line 568 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2955 {
NEW((yyval.repu),
RepeatUntilLoop); (yyval.repu)->body.set_raw((yyvsp[-4].stms)); (yyval.repu)->condition.set_raw((yyvsp[-1].expr)); }
2956 #line 2957 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2960 #line 571 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2962 #line 2963 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2966 #line 574 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2968 #line 2969 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2972 #line 578 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2973 {
FROM((yyval.stmt), (yyvsp[0].map)); }
2974 #line 2975 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2978 #line 579 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2979 {
FROM((yyval.stmt), (yyvsp[0].vars)); }
2980 #line 2981 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2984 #line 580 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2985 {
FROM((yyval.stmt), (yyvsp[0].sub)); }
2986 #line 2987 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2990 #line 581 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2991 {
FROM((yyval.stmt), (yyvsp[0].bun)); }
2992 #line 2993 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 2996 #line 582 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 2997 {
FROM((yyval.stmt), (yyvsp[-2].bun)); }
2998 #line 2999 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3002 #line 583 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3003 {
FROM((yyval.stmt), (yyvsp[0].ifel)); }
3004 #line 3005 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3008 #line 584 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3009 {
FROM((yyval.stmt), (yyvsp[0].forl)); }
3010 #line 3011 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3014 #line 585 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3015 {
FROM((yyval.stmt), (yyvsp[0].fore)); }
3016 #line 3017 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3020 #line 586 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3021 {
FROM((yyval.stmt), (yyvsp[0].whil)); }
3022 #line 3023 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3026 #line 587 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3027 {
FROM((yyval.stmt), (yyvsp[0].repu)); }
3028 #line 3029 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3032 #line 588 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3033 {
FROM((yyval.stmt), (yyvsp[0].cont)); }
3034 #line 3035 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3038 #line 589 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3039 {
FROM((yyval.stmt), (yyvsp[0].brk)); }
3040 #line 3041 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3044 #line 590 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3046 #line 3047 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3050 #line 597 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3051 {
FROM((yyval.stmt), (yyvsp[-2].stmt)); (yyval.stmt)->annotations.add_raw((yyvsp[0].adat)); }
3052 #line 3053 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3056 #line 598 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3057 {
FROM((yyval.stmt), (yyvsp[0].stmt)); }
3058 #line 3059 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3062 #line 602 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3063 {
FROM((yyval.stms), (yyvsp[-2].stms)); (yyval.stms)->items.add_raw((yyvsp[0].stmt)); }
3064 #line 3065 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3068 #line 603 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3069 {
NEW((yyval.stms),
StatementList); (yyval.stms)->items.add_raw((yyvsp[0].stmt)); }
3070 #line 3071 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3074 #line 607 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3075 {
FROM((yyval.stms), (yyvsp[-1].stms)); }
3076 #line 3077 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3080 #line 608 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3082 #line 3083 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3086 #line 612 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3087 {
FROM((yyval.vers), (yyvsp[-2].vers)); (yyval.vers)->items.push_back((yyvsp[0].ilit)->value);
delete (yyvsp[0].ilit); }
3088 #line 3089 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3092 #line 613 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3093 {
NEW((yyval.vers),
Version); (yyval.vers)->items.clear(); (yyval.vers)->items.push_back((yyvsp[0].ilit)->value);
delete (yyvsp[0].ilit); }
3094 #line 3095 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3098 #line 619 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3099 {
NEW((yyval.prog),
Program); (yyval.prog)->version.set_raw((yyvsp[-4].vers)); (yyval.prog)->num_qubits.set_raw((yyvsp[-1].expr)); (yyval.prog)->statements.set_raw((yyvsp[0].stms)); }
3100 #line 3101 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3104 #line 621 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3105 {
NEW((yyval.prog),
Program); (yyval.prog)->version.set_raw((yyvsp[-1].vers)); (yyval.prog)->statements.set_raw((yyvsp[0].stms)); }
3106 #line 3107 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3110 #line 625 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3111 { helper.
result.
root.set_raw((yyvsp[0].prog)); }
3112 #line 3113 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3116 #line 626 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3118 #line 3119 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3122 #line 3123 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/cbuild/src/cqasm/cqasm-v1-parser.cpp" 3151 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
3152 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
3153 yystate = yytable[yystate];
3172 #if ! YYERROR_VERBOSE 3173 yyerror (&yylloc, scanner, helper,
YY_(
"syntax error"));
3175 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 3178 char const *yymsgp =
YY_(
"syntax error");
3179 int yysyntax_error_status;
3181 if (yysyntax_error_status == 0)
3183 else if (yysyntax_error_status == 1)
3185 if (yymsg != yymsgbuf)
3191 yymsg_alloc =
sizeof yymsgbuf;
3192 yysyntax_error_status = 2;
3200 yyerror (&yylloc, scanner, helper, yymsgp);
3201 if (yysyntax_error_status == 2)
3202 goto yyexhaustedlab;
3204 # undef YYSYNTAX_ERROR 3208 yyerror_range[1] =
yylloc;
3210 if (yyerrstatus == 3)
3215 if (yychar <=
YYEOF)
3218 if (yychar ==
YYEOF)
3223 yydestruct (
"Error: discarding",
3224 yytoken, &
yylval, &yylloc, scanner, helper);
3245 yyerror_range[1] = yylsp[1-yylen];
3263 yyn = yypact[yystate];
3279 yyerror_range[1] = *yylsp;
3280 yydestruct (
"Error: popping",
3281 yystos[yystate], yyvsp, yylsp, scanner, helper);
3291 yyerror_range[2] =
yylloc;
3318 #if !defined yyoverflow || YYERROR_VERBOSE 3323 yyerror (&yylloc, scanner, helper,
YY_(
"memory exhausted"));
3334 yydestruct (
"Cleanup: discarding lookahead",
3335 yytoken, &
yylval, &yylloc, scanner, helper);
3341 while (yyssp != yyss)
3343 yydestruct (
"Cleanup: popping",
3344 yystos[*yyssp], yyvsp, yylsp, scanner, helper);
3352 if (yymsg != yymsgbuf)
3357 #line 629 "/home/docs/checkouts/readthedocs.org/user_builds/libqasm/checkouts/latest/src/cqasm/src/cqasm-v1-parser.y" 3362 std::ostringstream sb;
3364 <<
":" << yyllocp->first_line
3365 <<
":" << yyllocp->first_column
The file version identifier.
Defines the types for the cQASM abstract syntax tree, based on the classes from cqasm::tree.
A floating point literal.
Integer division operator.
Placeholder for an expression with a parse error.
#define YYSTACK_ALLOC_MAXIMUM
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
void push_error(const std::string &error)
Pushes an error.
A list of parallel instructions.
Placeholder for a statement with a parse error.
Contains annotation objects used within the trees by libqasm.
Represents a JSON literal.
Logical/unsigned shift-right operator (shifts in zero).
A mapping (alias) for an expression.
Special/temporary string builder node, used to build strings from fragments and escape sequences whil...
A single condition + block for use in an if-else chain.
#define FROM(t, s)
Moves previously constructed node s into t, where s is almost always one of bison's input locations (...
An assignment statement within a loop definition.
#define NEW(v, T)
Constructs an empty, new node of type T and places it into v.
#define __attribute__(Spec)
#define YY_INITIAL_VALUE(Value)
A list of one or more indices.
Internal helper class for parsing cQASM files.
#define yypact_value_is_default(Yystate)
Contains helper classes and objects for the lexer and parser generated by flex/bison, as well as the entry points for invoking the parser directly, in case you don't need semantic analysis.
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
unsigned char yytype_uint8
#define YYLLOC_DEFAULT(Current, Rhs, N)
One or more variable declaration for some type.
Represents a matrix literal.
A single index in an index list.
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Represents an annotation.
T initialize()
Generates a default value for the given primitive type.
Arithmetic/signed shift-right operator (shifts in sign).
#define YY_REDUCE_PRINT(Rule)
An inclusive range of indices in an index list.
An entry in an index list.
Negation operator (two's complement).
ast::One< ast::Root > root
Root node of the AST, if analysis was sufficiently successful.
#define yytable_value_is_error(Yytable_value)
Greater-than-or-equal operator.
std::string filename
Name of the file being parsed.
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_STACK_PRINT(Bottom, Top)
ParseResult result
The parse result.
Represents a string literal.
Less-than-or-equal operator.
Namespace for the abstract syntax tree node classes.
unsigned short int yytype_uint16
Represents a comma-separated list of expressions.
int cqasm_v1parse(yyscan_t scanner, cqasm::v1::parser::ParseHelper &helper)
Bitwise NOT (one's complement).
Ternary conditional operator.