49 #define YYBISON_VERSION "2.4.1"
52 #define YYSKELETON_NAME "yacc.c"
64 #define YYLSP_NEEDED 0
67 #define yyparse netlist_parse
68 #define yylex netlist_lex
69 #define yyerror netlist_error
70 #define yylval netlist_lval
71 #define yychar netlist_char
72 #define yydebug netlist_debug
73 #define yynerrs netlist_nerrs
79 #line 3 "parse_netlist.y"
113 #define YYERROR_VERBOSE 42
115 #define YYMAXDEPTH 1000000
125 #line 126 "parse_netlist.cpp"
133 #ifdef YYERROR_VERBOSE
134 # undef YYERROR_VERBOSE
135 # define YYERROR_VERBOSE 1
137 # define YYERROR_VERBOSE 0
141 #ifndef YYTOKEN_TABLE
142 # define YYTOKEN_TABLE 0
179 #define InvalidCharacter 258
180 #define Identifier 259
182 #define ScaleOrUnit 261
190 #define Character 269
196 #define GreaterOrEqual 275
197 #define LessOrEqual 276
207 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
212 #line 76 "parse_netlist.y"
236 #line 237 "parse_netlist.cpp"
238 # define YYSTYPE_IS_TRIVIAL 1
239 # define yystype YYSTYPE
240 # define YYSTYPE_IS_DECLARED 1
248 #line 249 "parse_netlist.cpp"
262 #elif (defined __STDC__ || defined __C99__FUNC__ \
263 || defined __cplusplus || defined _MSC_VER)
282 # ifdef __SIZE_TYPE__
283 # define YYSIZE_T __SIZE_TYPE__
284 # elif defined size_t
285 # define YYSIZE_T size_t
286 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
287 || defined __cplusplus || defined _MSC_VER)
289 # define YYSIZE_T size_t
291 # define YYSIZE_T unsigned int
295 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
300 # include <libintl.h>
301 # define YY_(msgid) dgettext ("bison-runtime", msgid)
305 # define YY_(msgid) msgid
310 #if ! defined lint || defined __GNUC__
311 # define YYUSE(e) ((void) (e))
320 #if (defined __STDC__ || defined __C99__FUNC__ \
321 || defined __cplusplus || defined _MSC_VER)
334 #if ! defined yyoverflow || YYERROR_VERBOSE
338 # ifdef YYSTACK_USE_ALLOCA
339 # if YYSTACK_USE_ALLOCA
341 # define YYSTACK_ALLOC __builtin_alloca
342 # elif defined __BUILTIN_VA_ARG_INCR
345 # define YYSTACK_ALLOC __alloca
346 # elif defined _MSC_VER
348 # define alloca _alloca
350 # define YYSTACK_ALLOC alloca
351 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
352 || defined __cplusplus || defined _MSC_VER)
362 # ifdef YYSTACK_ALLOC
364 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
365 # ifndef YYSTACK_ALLOC_MAXIMUM
370 # define YYSTACK_ALLOC_MAXIMUM 4032
373 # define YYSTACK_ALLOC YYMALLOC
374 # define YYSTACK_FREE YYFREE
375 # ifndef YYSTACK_ALLOC_MAXIMUM
376 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
378 # if (defined __cplusplus && ! defined _STDLIB_H \
379 && ! ((defined YYMALLOC || defined malloc) \
380 && (defined YYFREE || defined free)))
387 # define YYMALLOC malloc
388 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
389 || defined __cplusplus || defined _MSC_VER)
395 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
396 || defined __cplusplus || defined _MSC_VER)
404 #if (! defined yyoverflow \
405 && (! defined __cplusplus \
406 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
416 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
420 # define YYSTACK_BYTES(N) \
421 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
422 + YYSTACK_GAP_MAXIMUM)
427 # if defined __GNUC__ && 1 < __GNUC__
428 # define YYCOPY(To, From, Count) \
429 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
431 # define YYCOPY(To, From, Count) \
435 for (yyi = 0; yyi < (Count); yyi++) \
436 (To)[yyi] = (From)[yyi]; \
447 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
450 YYSIZE_T yynewbytes; \
451 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
452 Stack = &yyptr->Stack_alloc; \
453 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
454 yyptr += yynewbytes / sizeof (*yyptr); \
472 #define YYNSTATES 164
476 #define YYMAXUTOK 281
478 #define YYTRANSLATE(YYX) \
479 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
484 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
485 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
486 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
487 2, 2, 2, 2, 37, 2, 2, 31, 2, 2,
488 41, 42, 29, 28, 43, 27, 36, 30, 2, 2,
489 2, 2, 2, 2, 2, 2, 2, 2, 18, 40,
490 2, 16, 2, 17, 2, 2, 2, 2, 2, 2,
491 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
492 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
493 2, 38, 2, 39, 35, 2, 2, 2, 2, 2,
494 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
495 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
496 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
497 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
499 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
500 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
501 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
502 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
503 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
504 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
505 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
507 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
508 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
509 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
510 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
511 15, 19, 20, 21, 22, 23, 24, 25, 26, 32,
520 0, 0, 3, 5, 6, 9, 11, 13, 15, 17,
521 19, 26, 33, 35, 37, 39, 41, 42, 45, 46,
522 50, 54, 55, 58, 60, 64, 66, 69, 73, 75,
523 77, 81, 85, 86, 88, 92, 99, 100, 103, 108,
524 110, 112, 114, 118, 122, 126, 129, 130, 134, 136,
525 138, 139, 143, 148, 150, 152, 154, 156, 158, 162,
526 165, 168, 170, 172, 177, 182, 186, 190, 194, 198,
527 202, 205, 208, 212, 218, 222, 226, 230, 234, 238,
528 242, 245, 249, 253, 254, 256, 258, 262, 266, 270,
529 276, 277, 280, 283, 285, 287, 289
535 45, 0, -1, 46, -1, -1, 47, 46, -1, 75,
536 -1, 59, -1, 48, -1, 49, -1, 7, -1, 36,
537 4, 18, 50, 53, 7, -1, 4, 18, 50, 52,
538 53, 7, -1, 4, -1, 6, -1, 4, -1, 6,
539 -1, -1, 51, 52, -1, -1, 5, 55, 53, -1,
540 5, 54, 53, -1, -1, 37, 37, -1, 57, -1,
541 37, 57, 37, -1, 11, -1, 11, 6, -1, 11,
542 6, 6, -1, 56, -1, 50, -1, 38, 50, 39,
543 -1, 38, 58, 39, -1, -1, 56, -1, 56, 40,
544 58, -1, 8, 18, 50, 61, 60, 7, -1, -1,
545 61, 60, -1, 5, 37, 62, 37, -1, 70, -1,
546 72, -1, 73, -1, 41, 62, 42, -1, 38, 66,
547 39, -1, 38, 69, 39, -1, 62, 64, -1, -1,
548 43, 62, 64, -1, 63, -1, 65, -1, -1, 40,
549 63, 67, -1, 63, 40, 63, 67, -1, 68, -1,
550 11, -1, 12, -1, 14, -1, 15, -1, 62, 18,
551 62, -1, 18, 62, -1, 62, 18, -1, 18, -1,
552 4, -1, 4, 41, 74, 42, -1, 72, 38, 74,
553 39, -1, 62, 28, 62, -1, 62, 27, 62, -1,
554 62, 29, 62, -1, 62, 30, 62, -1, 62, 31,
555 62, -1, 28, 62, -1, 27, 62, -1, 62, 35,
556 62, -1, 62, 17, 62, 18, 62, -1, 62, 26,
557 62, -1, 62, 25, 62, -1, 62, 23, 62, -1,
558 62, 24, 62, -1, 62, 21, 62, -1, 62, 22,
559 62, -1, 32, 62, -1, 62, 20, 62, -1, 62,
560 19, 62, -1, -1, 62, -1, 71, -1, 62, 43,
561 74, -1, 71, 43, 74, -1, 76, 77, 78, -1,
562 9, 50, 52, 53, 7, -1, -1, 79, 77, -1,
563 10, 7, -1, 49, -1, 59, -1, 75, -1, 7,
570 0, 120, 120, 125, 126, 137, 140, 141, 142, 143,
571 149, 160, 172, 173, 177, 178, 181, 182, 189, 190,
572 196, 209, 210, 214, 217, 223, 227, 232, 241, 244,
573 248, 252, 257, 258, 262, 269, 283, 284, 291, 299,
574 302, 305, 308, 311, 314, 320, 326, 327, 334, 338,
575 346, 347, 357, 368, 377, 381, 385, 389, 396, 403,
576 412, 421, 435, 442, 448, 455, 462, 469, 476, 483,
577 490, 496, 502, 509, 517, 524, 531, 538, 545, 552,
578 559, 565, 572, 581, 582, 585, 588, 592, 599, 607,
579 619, 620, 632, 636, 640, 644, 645
583 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
586 static const char *
const yytname[] =
588 "$end",
"error",
"$undefined",
"InvalidCharacter",
"Identifier",
589 "Assign",
"ScaleOrUnit",
"Eol",
"Eqn",
"DefSub",
"EndSub",
"REAL",
590 "IMAG",
"COMPLEX",
"Character",
"STRING",
"'='",
"'?'",
"':'",
"Or",
591 "And",
"Equal",
"NotEqual",
"GreaterOrEqual",
"LessOrEqual",
"Greater",
592 "Less",
"'-'",
"'+'",
"'*'",
"'/'",
"'%'",
"Not",
"NEG",
"POS",
"'^'",
593 "'.'",
"'\"'",
"'['",
"']'",
"';'",
"'('",
"')'",
"','",
"$accept",
594 "Input",
"InputList",
"InputLine",
"ActionLine",
"DefinitionLine",
595 "InstanceIdentifier",
"NodeIdentifier",
"NodeList",
"PairList",
596 "NoneValue",
"Value",
"PropertyReal",
"PropertyValue",
"ValueList",
597 "EquationLine",
"EquationList",
"Equation",
"Expression",
598 "ExpressionCol",
"ExpressionColList",
"ExpressionVector",
"Vector",
599 "ExpressionRowList",
"ExpressionMatrix",
"Matrix",
"Constant",
"Range",
600 "Reference",
"Application",
"ExpressionList",
"SubcircuitBody",
601 "DefBegin",
"DefBody",
"DefEnd",
"DefBodyLine", 0
610 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
611 265, 266, 267, 268, 269, 270, 61, 63, 58, 271,
612 272, 273, 274, 275, 276, 277, 278, 45, 43, 42,
613 47, 37, 279, 280, 281, 94, 46, 34, 91, 93,
621 0, 44, 45, 46, 46, 47, 47, 47, 47, 47,
622 48, 49, 50, 50, 51, 51, 52, 52, 53, 53,
623 53, 54, 54, 55, 55, 56, 56, 56, 57, 57,
624 57, 57, 58, 58, 58, 59, 60, 60, 61, 62,
625 62, 62, 62, 62, 62, 63, 64, 64, 65, 66,
626 67, 67, 68, 69, 70, 70, 70, 70, 71, 71,
627 71, 71, 72, 73, 73, 73, 73, 73, 73, 73,
628 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
629 73, 73, 73, 74, 74, 74, 74, 74, 75, 76,
630 77, 77, 78, 79, 79, 79, 79
636 0, 2, 1, 0, 2, 1, 1, 1, 1, 1,
637 6, 6, 1, 1, 1, 1, 0, 2, 0, 3,
638 3, 0, 2, 1, 3, 1, 2, 3, 1, 1,
639 3, 3, 0, 1, 3, 6, 0, 2, 4, 1,
640 1, 1, 3, 3, 3, 2, 0, 3, 1, 1,
641 0, 3, 4, 1, 1, 1, 1, 1, 3, 2,
642 2, 1, 1, 4, 4, 3, 3, 3, 3, 3,
643 2, 2, 3, 5, 3, 3, 3, 3, 3, 3,
644 2, 3, 3, 0, 1, 1, 3, 3, 3, 5,
653 3, 0, 9, 0, 0, 0, 0, 2, 3, 7,
654 8, 6, 5, 90, 0, 0, 12, 13, 16, 0,
655 1, 4, 96, 93, 94, 95, 0, 90, 16, 0,
656 14, 15, 16, 18, 0, 0, 88, 91, 18, 0,
657 36, 17, 21, 0, 18, 92, 0, 0, 0, 36,
658 25, 0, 32, 29, 18, 18, 28, 23, 89, 0,
659 11, 62, 54, 55, 56, 57, 0, 0, 0, 0,
660 0, 0, 39, 40, 41, 35, 37, 26, 22, 0,
661 0, 33, 0, 20, 19, 10, 83, 71, 70, 80,
662 46, 48, 49, 0, 53, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 38, 83, 27, 24, 30, 32, 31, 61,
665 84, 85, 0, 0, 45, 0, 43, 44, 42, 0,
666 82, 81, 78, 79, 76, 77, 75, 74, 66, 65,
667 67, 68, 69, 72, 0, 34, 59, 60, 83, 83,
668 63, 46, 50, 0, 64, 58, 86, 87, 47, 0,
675 -1, 6, 7, 8, 9, 10, 53, 32, 33, 43,
676 54, 55, 56, 57, 82, 11, 48, 49, 120, 91,
677 124, 92, 93, 160, 94, 95, 72, 121, 73, 74,
678 122, 12, 13, 26, 36, 27
683 #define YYPACT_NINF -118
686 81, -4, -118, 15, 98, 39, 44, -118, 81, -118,
687 -118, -118, -118, 107, 98, 98, -118, -118, 99, 30,
688 -118, -118, -118, -118, -118, -118, 58, 107, 99, 65,
689 -118, -118, 99, 66, 98, 42, -118, -118, 66, 49,
690 65, -118, 0, 72, 66, -118, 80, 69, 91, 65,
691 131, 71, 63, -118, 66, 66, -118, -118, -118, 106,
692 -118, 97, -118, -118, -118, -118, 69, 69, 69, 69,
693 69, 175, -118, 102, -118, -118, -118, 135, -118, 105,
694 119, 120, 123, -118, -118, -118, -2, 124, 124, 124,
695 126, 125, -118, 127, -118, 128, 151, 69, 69, 69,
696 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
697 69, 69, -118, -2, -118, -118, -118, 152, -118, 69,
698 101, 121, 141, 69, -118, 69, -118, -118, -118, 196,
699 229, 244, 257, 257, 64, 64, 64, 64, 104, 104,
700 124, 124, 124, 124, 145, -118, 213, 69, -2, -2,
701 -118, 126, 147, 69, -118, 213, -118, -118, -118, 69,
708 -118, -118, 177, -118, -118, 2, 13, -118, -25, -20,
709 -118, -118, -51, 137, 73, 18, 140, 162, -47, -117,
710 56, -118, -118, 46, -118, -118, -118, -118, -118, -118,
711 -108, 19, -118, 182, -118, -118
718 #define YYTABLE_NINF -1
721 71, 81, 61, 38, 16, 144, 17, 41, 152, 62,
722 63, 50, 64, 65, 14, 23, 119, 18, 46, 87,
723 88, 89, 90, 96, 59, 66, 67, 28, 29, 23,
724 68, 24, 25, 15, 83, 84, 69, 51, 52, 70,
725 156, 157, 162, 19, 20, 24, 25, 44, 34, 45,
726 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
727 139, 140, 141, 142, 143, 80, 81, 16, 35, 17,
728 39, 42, 146, 61, 50, 16, 151, 17, 90, 58,
729 62, 63, 50, 64, 65, 1, 47, 60, 2, 3,
730 4, 106, 107, 108, 109, 110, 66, 67, 75, 111,
731 155, 68, 16, 30, 17, 31, 161, 69, 78, 52,
732 70, 1, 90, 85, 22, 3, 4, 5, 97, 147,
733 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
734 108, 109, 110, 108, 109, 110, 111, 77, 86, 111,
735 113, 114, 115, 97, 148, 98, 99, 100, 101, 102,
736 103, 104, 105, 106, 107, 108, 109, 110, 116, 111,
737 117, 111, 118, 50, 149, 125, 126, 127, 97, 123,
738 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
739 108, 109, 110, 150, 154, 21, 111, 159, 79, 76,
740 145, 40, 97, 128, 98, 99, 100, 101, 102, 103,
741 104, 105, 106, 107, 108, 109, 110, 158, 163, 37,
742 111, 0, 112, 97, 153, 98, 99, 100, 101, 102,
743 103, 104, 105, 106, 107, 108, 109, 110, 0, 0,
744 97, 111, 98, 99, 100, 101, 102, 103, 104, 105,
745 106, 107, 108, 109, 110, 0, 0, 0, 111, 99,
746 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
747 110, 0, 0, 0, 111, 100, 101, 102, 103, 104,
748 105, 106, 107, 108, 109, 110, 0, 0, 0, 111,
749 102, 103, 104, 105, 106, 107, 108, 109, 110, 0,
755 47, 52, 4, 28, 4, 113, 6, 32, 125, 11,
756 12, 11, 14, 15, 18, 13, 18, 4, 38, 66,
757 67, 68, 69, 70, 44, 27, 28, 14, 15, 27,
758 32, 13, 13, 18, 54, 55, 38, 37, 38, 41,
759 148, 149, 159, 4, 0, 27, 27, 34, 18, 7,
760 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
761 107, 108, 109, 110, 111, 52, 117, 4, 10, 6,
762 5, 5, 119, 4, 11, 4, 123, 6, 125, 7,
763 11, 12, 11, 14, 15, 4, 37, 7, 7, 8,
764 9, 27, 28, 29, 30, 31, 27, 28, 7, 35,
765 147, 32, 4, 4, 6, 6, 153, 38, 37, 38,
766 41, 4, 159, 7, 7, 8, 9, 36, 17, 18,
767 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
768 29, 30, 31, 29, 30, 31, 35, 6, 41, 35,
769 38, 6, 37, 17, 43, 19, 20, 21, 22, 23,
770 24, 25, 26, 27, 28, 29, 30, 31, 39, 35,
771 40, 35, 39, 11, 43, 40, 39, 39, 17, 43,
772 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
773 29, 30, 31, 42, 39, 8, 35, 40, 51, 49,
774 117, 29, 17, 42, 19, 20, 21, 22, 23, 24,
775 25, 26, 27, 28, 29, 30, 31, 151, 162, 27,
776 35, -1, 37, 17, 18, 19, 20, 21, 22, 23,
777 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
778 17, 35, 19, 20, 21, 22, 23, 24, 25, 26,
779 27, 28, 29, 30, 31, -1, -1, -1, 35, 20,
780 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
781 31, -1, -1, -1, 35, 21, 22, 23, 24, 25,
782 26, 27, 28, 29, 30, 31, -1, -1, -1, 35,
783 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
791 0, 4, 7, 8, 9, 36, 45, 46, 47, 48,
792 49, 59, 75, 76, 18, 18, 4, 6, 50, 4,
793 0, 46, 7, 49, 59, 75, 77, 79, 50, 50,
794 4, 6, 51, 52, 18, 10, 78, 77, 52, 5,
795 61, 52, 5, 53, 50, 7, 53, 37, 60, 61,
796 11, 37, 38, 50, 54, 55, 56, 57, 7, 53,
797 7, 4, 11, 12, 14, 15, 27, 28, 32, 38,
798 41, 62, 70, 72, 73, 7, 60, 6, 37, 57,
799 50, 56, 58, 53, 53, 7, 41, 62, 62, 62,
800 62, 63, 65, 66, 68, 69, 62, 17, 19, 20,
801 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
802 31, 35, 37, 38, 6, 37, 39, 40, 39, 18,
803 62, 71, 74, 43, 64, 40, 39, 39, 42, 62,
804 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
805 62, 62, 62, 62, 74, 58, 62, 18, 43, 43,
806 42, 62, 63, 18, 39, 62, 74, 74, 64, 40,
810 #define yyerrok (yyerrstatus = 0)
811 #define yyclearin (yychar = YYEMPTY)
815 #define YYACCEPT goto yyacceptlab
816 #define YYABORT goto yyabortlab
817 #define YYERROR goto yyerrorlab
824 #define YYFAIL goto yyerrlab
826 #define YYRECOVERING() (!!yyerrstatus)
828 #define YYBACKUP(Token, Value) \
830 if (yychar == YYEMPTY && yylen == 1) \
834 yytoken = YYTRANSLATE (yychar); \
840 yyerror (YY_("syntax error: cannot back up")); \
847 #define YYERRCODE 256
854 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
855 #ifndef YYLLOC_DEFAULT
856 # define YYLLOC_DEFAULT(Current, Rhs, N) \
860 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
861 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
862 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
863 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
867 (Current).first_line = (Current).last_line = \
868 YYRHSLOC (Rhs, 0).last_line; \
869 (Current).first_column = (Current).last_column = \
870 YYRHSLOC (Rhs, 0).last_column; \
880 #ifndef YY_LOCATION_PRINT
881 # if YYLTYPE_IS_TRIVIAL
882 # define YY_LOCATION_PRINT(File, Loc) \
883 fprintf (File, "%d.%d-%d.%d", \
884 (Loc).first_line, (Loc).first_column, \
885 (Loc).last_line, (Loc).last_column)
887 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
895 # define YYLEX yylex (YYLEX_PARAM)
897 # define YYLEX yylex ()
905 # define YYFPRINTF fprintf
908 # define YYDPRINTF(Args) \
914 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
918 YYFPRINTF (stderr, "%s ", Title); \
919 yy_symbol_print (stderr, \
921 YYFPRINTF (stderr, "\n"); \
931 #if (defined __STDC__ || defined __C99__FUNC__ \
932 || defined __cplusplus || defined _MSC_VER)
937 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
947 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
963 #if (defined __STDC__ || defined __C99__FUNC__ \
964 || defined __cplusplus || defined _MSC_VER)
966 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
969 yy_symbol_print (yyoutput, yytype, yyvaluep)
972 YYSTYPE const * const yyvaluep;
976 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
978 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
980 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
989 #if (defined __STDC__ || defined __C99__FUNC__ \
990 || defined __cplusplus || defined _MSC_VER)
995 yy_stack_print (yybottom, yytop)
1003 int yybot = *yybottom;
1009 # define YY_STACK_PRINT(Bottom, Top) \
1012 yy_stack_print ((Bottom), (Top)); \
1020 #if (defined __STDC__ || defined __C99__FUNC__ \
1021 || defined __cplusplus || defined _MSC_VER)
1026 yy_reduce_print (yyvsp, yyrule)
1031 int yynrhs = yyr2[
yyrule];
1034 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1037 for (yyi = 0; yyi < yynrhs; yyi++)
1040 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1041 &(yyvsp[(yyi + 1) - (yynrhs)])
1047 # define YY_REDUCE_PRINT(Rule) \
1050 yy_reduce_print (yyvsp, Rule); \
1057 # define YYDPRINTF(Args)
1058 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1059 # define YY_STACK_PRINT(Bottom, Top)
1060 # define YY_REDUCE_PRINT(Rule)
1066 # define YYINITDEPTH 200
1077 # define YYMAXDEPTH 10000
1085 # if defined __GLIBC__ && defined _STRING_H
1086 # define yystrlen strlen
1089 #if (defined __STDC__ || defined __C99__FUNC__ \
1090 || defined __cplusplus || defined _MSC_VER)
1092 yystrlen (
const char *yystr)
1100 for (yylen = 0; yystr[
yylen]; yylen++)
1108 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1109 # define yystpcpy stpcpy
1113 #if (defined __STDC__ || defined __C99__FUNC__ \
1114 || defined __cplusplus || defined _MSC_VER)
1116 yystpcpy (
char *yydest,
const char *
yysrc)
1119 yystpcpy (yydest, yysrc)
1127 while ((*yyd++ = *yys++) !=
'\0')
1144 yytnamerr (
char *yyres,
const char *yystr)
1149 char const *yyp = yystr;
1156 goto do_not_strip_quotes;
1160 goto do_not_strip_quotes;
1173 do_not_strip_quotes: ;
1177 return yystrlen (yystr);
1179 return yystpcpy (yyres, yystr) - yyres;
1191 yysyntax_error (
char *yyresult,
int yystate,
int yychar)
1193 int yyn = yypact[yystate];
1200 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1203 int yysize_overflow = 0;
1204 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1205 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1211 YY_(
"syntax error, unexpected %s");
1212 YY_(
"syntax error, unexpected %s, expecting %s");
1213 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1214 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1215 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1219 static char const yyunexpected[] =
"syntax error, unexpected %s";
1220 static char const yyexpecting[] =
", expecting %s";
1221 static char const yyor[] =
" or %s";
1222 char yyformat[
sizeof yyunexpected
1223 +
sizeof yyexpecting - 1
1224 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1225 * (
sizeof yyor - 1))];
1226 char const *yyprefix = yyexpecting;
1230 int yyxbegin = yyn < 0 ? -yyn : 0;
1233 int yychecklim =
YYLAST - yyn + 1;
1237 yyarg[0] = yytname[
yytype];
1238 yyfmt = yystpcpy (yyformat, yyunexpected);
1240 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1241 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
1243 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1247 yyformat[
sizeof yyunexpected - 1] =
'\0';
1250 yyarg[yycount++] = yytname[yyx];
1251 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1252 yysize_overflow |= (yysize1 < yysize);
1254 yyfmt = yystpcpy (yyfmt, yyprefix);
1258 yyf =
YY_(yyformat);
1259 yysize1 = yysize + yystrlen (yyf);
1260 yysize_overflow |= (yysize1 < yysize);
1263 if (yysize_overflow)
1271 char *yyp = yyresult;
1273 while ((*yyp = *yyf) !=
'\0')
1275 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
1277 yyp += yytnamerr (yyp, yyarg[yyi++]);
1298 #if (defined __STDC__ || defined __C99__FUNC__ \
1299 || defined __cplusplus || defined _MSC_VER)
1301 yydestruct (
const char *yymsg,
int yytype,
YYSTYPE *yyvaluep)
1304 yydestruct (yymsg, yytype, yyvaluep)
1325 #ifdef YYPARSE_PARAM
1326 #if defined __STDC__ || defined __cplusplus
1327 int yyparse (
void *YYPARSE_PARAM);
1332 #if defined __STDC__ || defined __cplusplus
1355 #ifdef YYPARSE_PARAM
1356 #if (defined __STDC__ || defined __C99__FUNC__ \
1357 || defined __cplusplus || defined _MSC_VER)
1363 void *YYPARSE_PARAM;
1366 #if (defined __STDC__ || defined __C99__FUNC__ \
1367 || defined __cplusplus || defined _MSC_VER)
1413 char *yymsg = yymsgbuf;
1414 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1417 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1428 YYDPRINTF ((stderr,
"Starting parse\n"));
1455 if (yyss + yystacksize - 1 <= yyssp)
1458 YYSIZE_T yysize = yyssp - yyss + 1;
1472 yyoverflow (
YY_(
"memory exhausted"),
1473 &yyss1, yysize *
sizeof (*yyssp),
1474 &yyvs1, yysize *
sizeof (*yyvsp),
1481 # ifndef YYSTACK_RELOCATE
1482 goto yyexhaustedlab;
1486 goto yyexhaustedlab;
1496 goto yyexhaustedlab;
1499 # undef YYSTACK_RELOCATE
1506 yyssp = yyss + yysize - 1;
1507 yyvsp = yyvs + yysize - 1;
1509 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1510 (
unsigned long int) yystacksize));
1512 if (yyss + yystacksize - 1 <= yyssp)
1516 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1532 yyn = yypact[yystate];
1541 YYDPRINTF ((stderr,
"Reading a token: "));
1545 if (yychar <=
YYEOF)
1547 yychar = yytoken =
YYEOF;
1548 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1559 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1591 yyn = yydefact[yystate];
1612 yyval = yyvsp[1-
yylen];
1621 #line 120 "parse_netlist.y"
1630 #line 125 "parse_netlist.y"
1637 #line 126 "parse_netlist.y"
1639 if ((yyvsp[(1) - (2)].definition)) {
1640 (yyvsp[(1) - (2)].
definition)->next = (yyvsp[(2) - (2)].definition);
1641 (yyval.
definition) = (yyvsp[(1) - (2)].definition);
1643 (yyval.
definition) = (yyvsp[(2) - (2)].definition);
1651 #line 137 "parse_netlist.y"
1653 (yyval.
definition) = (yyvsp[(1) - (1)].subcircuit);
1660 #line 143 "parse_netlist.y"
1669 #line 149 "parse_netlist.y"
1673 (yyval.
definition)->type = (yyvsp[(2) - (6)].ident);
1674 (yyval.
definition)->instance = (yyvsp[(4) - (6)].ident);
1683 #line 160 "parse_netlist.y"
1687 (yyval.
definition)->type = (yyvsp[(1) - (6)].ident);
1688 (yyval.
definition)->instance = (yyvsp[(3) - (6)].ident);
1698 #line 172 "parse_netlist.y"
1699 { (yyval.
ident) = (yyvsp[(1) - (1)].ident); }
1705 #line 173 "parse_netlist.y"
1706 { (yyval.
ident) = (yyvsp[(1) - (1)].str); }
1712 #line 177 "parse_netlist.y"
1713 { (yyval.
ident) = (yyvsp[(1) - (1)].ident); }
1719 #line 178 "parse_netlist.y"
1720 { (yyval.
ident) = (yyvsp[(1) - (1)].str); }
1726 #line 181 "parse_netlist.y"
1727 { (yyval.
node) = NULL; }
1733 #line 182 "parse_netlist.y"
1736 (yyval.
node)->
node = (yyvsp[(1) - (2)].ident);
1737 (yyval.
node)->next = (yyvsp[(2) - (2)].
node);
1744 #line 189 "parse_netlist.y"
1745 { (yyval.
pair) = NULL; }
1751 #line 190 "parse_netlist.y"
1754 (yyval.
pair)->key = (yyvsp[(1) - (3)].ident);
1755 (yyval.
pair)->value = (yyvsp[(2) - (3)].value);
1756 (yyval.
pair)->next = (yyvsp[(3) - (3)].
pair);
1763 #line 196 "parse_netlist.y"
1767 (yyval.
pair)->key = (yyvsp[(1) - (3)].ident);
1768 (yyval.
pair)->value = NULL;
1769 (yyval.
pair)->next = (yyvsp[(3) - (3)].
pair);
1771 free ((yyvsp[(1) - (3)].ident));
1772 (yyval.
pair) = (yyvsp[(3) - (3)].
pair);
1780 #line 209 "parse_netlist.y"
1787 #line 210 "parse_netlist.y"
1794 #line 214 "parse_netlist.y"
1796 (yyval.
value) = (yyvsp[(1) - (1)].value);
1803 #line 217 "parse_netlist.y"
1805 (yyval.
value) = (yyvsp[(2) - (3)].value);
1812 #line 223 "parse_netlist.y"
1815 (yyval.
value)->value = (yyvsp[(1) - (1)].d);
1822 #line 227 "parse_netlist.y"
1825 (yyval.
value)->value = (yyvsp[(1) - (2)].d);
1826 (yyval.
value)->scale = (yyvsp[(2) - (2)].str);
1833 #line 232 "parse_netlist.y"
1836 (yyval.
value)->value = (yyvsp[(1) - (3)].d);
1837 (yyval.
value)->scale = (yyvsp[(2) - (3)].str);
1838 (yyval.
value)->unit = (yyvsp[(3) - (3)].str);
1845 #line 241 "parse_netlist.y"
1847 (yyval.
value) = (yyvsp[(1) - (1)].value);
1854 #line 244 "parse_netlist.y"
1857 (yyval.
value)->ident = (yyvsp[(1) - (1)].ident);
1864 #line 248 "parse_netlist.y"
1867 (yyval.
value)->ident = (yyvsp[(2) - (3)].ident);
1874 #line 252 "parse_netlist.y"
1876 (yyval.
value) = (yyvsp[(2) - (3)].value);
1883 #line 257 "parse_netlist.y"
1884 { (yyval.
value) = NULL; }
1890 #line 258 "parse_netlist.y"
1892 (yyvsp[(1) - (1)].
value)->next = NULL;
1893 (yyval.
value) = (yyvsp[(1) - (1)].value);
1900 #line 262 "parse_netlist.y"
1902 (yyvsp[(1) - (3)].
value)->next = (yyvsp[(3) - (3)].value);
1903 (yyval.
value) = (yyvsp[(1) - (3)].value);
1910 #line 269 "parse_netlist.y"
1915 (yyval.
definition)->instance = (yyvsp[(3) - (6)].ident);
1918 (yyvsp[(4) - (6)].
assign)->setInstance ((yyvsp[(3) - (6)].ident));
1919 (yyvsp[(4) - (6)].
assign)->setNext ((yyvsp[(5) - (6)].
eqn));
1920 (yyvsp[(4) - (6)].
assign)->applyInstance ();
1921 (yyval.
definition)->eqns = (yyvsp[(4) - (6)].assign);
1928 #line 283 "parse_netlist.y"
1929 { (yyval.
eqn) = NULL; }
1935 #line 284 "parse_netlist.y"
1937 (yyvsp[(1) - (2)].
assign)->setNext ((yyvsp[(2) - (2)].
eqn));
1938 (yyval.
eqn) = (yyvsp[(1) - (2)].assign);
1945 #line 291 "parse_netlist.y"
1948 (yyval.
assign)->result = (yyvsp[(1) - (4)].ident);
1949 (yyval.
assign)->body = (yyvsp[(3) - (4)].
eqn);
1956 #line 299 "parse_netlist.y"
1958 (yyval.
eqn) = (yyvsp[(1) - (1)].con);
1965 #line 302 "parse_netlist.y"
1967 (yyval.
eqn) = (yyvsp[(1) - (1)].ref);
1974 #line 305 "parse_netlist.y"
1976 (yyval.
eqn) = (yyvsp[(1) - (1)].app);
1983 #line 308 "parse_netlist.y"
1985 (yyval.
eqn) = (yyvsp[(2) - (3)].
eqn);
1992 #line 311 "parse_netlist.y"
1994 (yyval.
eqn) = (yyvsp[(2) - (3)].app);
2001 #line 314 "parse_netlist.y"
2003 (yyval.
eqn) = (yyvsp[(2) - (3)].app);
2010 #line 320 "parse_netlist.y"
2012 (yyvsp[(1) - (2)].
eqn)->appendNodes ((yyvsp[(2) - (2)].
eqn));
2013 (yyval.
eqn) = (yyvsp[(1) - (2)].
eqn);
2020 #line 326 "parse_netlist.y"
2021 { (yyval.
eqn) = NULL; }
2027 #line 327 "parse_netlist.y"
2029 (yyvsp[(2) - (3)].
eqn)->appendNodes ((yyvsp[(3) - (3)].
eqn));
2030 (yyval.
eqn) = (yyvsp[(2) - (3)].
eqn);
2037 #line 338 "parse_netlist.y"
2040 (yyval.
app)->
n = strdup (
"vector");
2041 (yyval.
app)->nargs = (yyvsp[(1) - (1)].
eqn)->count ();
2042 (yyval.
app)->args = (yyvsp[(1) - (1)].
eqn);
2049 #line 346 "parse_netlist.y"
2050 { (yyval.
eqn) = NULL; }
2056 #line 347 "parse_netlist.y"
2061 (yyvsp[(2) - (3)].
eqn)->appendNodes ((yyvsp[(3) - (3)].
eqn));
2069 #line 357 "parse_netlist.y"
2074 (yyvsp[(3) - (4)].
eqn)->appendNodes ((yyvsp[(4) - (4)].
eqn));
2075 (yyvsp[(1) - (4)].
eqn)->appendNodes (c);
2076 (yyval.
eqn) = (yyvsp[(1) - (4)].
eqn);
2083 #line 368 "parse_netlist.y"
2086 (yyval.
app)->
n = strdup (
"matrix");
2087 (yyval.
app)->nargs = (yyvsp[(1) - (1)].
eqn)->count ();
2088 (yyval.
app)->args = (yyvsp[(1) - (1)].
eqn);
2095 #line 377 "parse_netlist.y"
2098 (yyval.
con)->d = (yyvsp[(1) - (1)].d);
2105 #line 381 "parse_netlist.y"
2115 #line 385 "parse_netlist.y"
2118 (yyval.
con)->chr = (yyvsp[(1) - (1)].chr);
2125 #line 389 "parse_netlist.y"
2128 (yyval.
con)->
s = (yyvsp[(1) - (1)].str);
2135 #line 396 "parse_netlist.y"
2138 (yyval.
app)->
n = strdup (
"range");
2139 (yyval.
app)->nargs = 2;
2140 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2141 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2148 #line 403 "parse_netlist.y"
2151 (yyval.
app)->
n = strdup (
"range");
2152 (yyval.
app)->nargs = 2;
2156 (yyval.
app)->args = c;
2163 #line 412 "parse_netlist.y"
2166 (yyval.
app)->
n = strdup (
"range");
2167 (yyval.
app)->nargs = 2;
2170 (yyvsp[(1) - (2)].
eqn)->append (c);
2171 (yyval.
app)->args = (yyvsp[(1) - (2)].
eqn);
2178 #line 421 "parse_netlist.y"
2181 (yyval.
app)->
n = strdup (
"range");
2182 (yyval.
app)->nargs = 2;
2188 (yyval.
app)->args = c1;
2195 #line 435 "parse_netlist.y"
2198 (yyval.
ref)->
n = (yyvsp[(1) - (1)].ident);
2205 #line 442 "parse_netlist.y"
2208 (yyval.
app)->
n = (yyvsp[(1) - (4)].ident);
2209 (yyval.
app)->nargs = (yyvsp[(3) - (4)].
eqn)->count ();
2210 (yyval.
app)->args = (yyvsp[(3) - (4)].
eqn);
2217 #line 448 "parse_netlist.y"
2220 (yyval.
app)->
n = strdup (
"array");
2221 (yyval.
app)->nargs = 1 + (yyvsp[(3) - (4)].
eqn)->count ();
2222 (yyvsp[(1) - (4)].
ref)->setNext ((yyvsp[(3) - (4)].
eqn));
2223 (yyval.
app)->args = (yyvsp[(1) - (4)].ref);
2230 #line 455 "parse_netlist.y"
2233 (yyval.
app)->
n = strdup (
"+");
2234 (yyval.
app)->nargs = 2;
2235 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2236 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2243 #line 462 "parse_netlist.y"
2246 (yyval.
app)->
n = strdup (
"-");
2247 (yyval.
app)->nargs = 2;
2248 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2249 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2256 #line 469 "parse_netlist.y"
2259 (yyval.
app)->
n = strdup (
"*");
2260 (yyval.
app)->nargs = 2;
2261 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2262 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2269 #line 476 "parse_netlist.y"
2272 (yyval.
app)->
n = strdup (
"/");
2273 (yyval.
app)->nargs = 2;
2274 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2275 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2282 #line 483 "parse_netlist.y"
2285 (yyval.
app)->
n = strdup (
"%");
2286 (yyval.
app)->nargs = 2;
2287 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2288 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2295 #line 490 "parse_netlist.y"
2298 (yyval.
app)->
n = strdup (
"+");
2299 (yyval.
app)->nargs = 1;
2300 (yyval.
app)->args = (yyvsp[(2) - (2)].
eqn);
2307 #line 496 "parse_netlist.y"
2310 (yyval.
app)->
n = strdup (
"-");
2311 (yyval.
app)->nargs = 1;
2312 (yyval.
app)->args = (yyvsp[(2) - (2)].
eqn);
2319 #line 502 "parse_netlist.y"
2322 (yyval.
app)->
n = strdup (
"^");
2323 (yyval.
app)->nargs = 2;
2324 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2325 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2332 #line 509 "parse_netlist.y"
2335 (yyval.
app)->
n = strdup (
"?:");
2336 (yyval.
app)->nargs = 3;
2337 (yyvsp[(1) - (5)].
eqn)->append ((yyvsp[(3) - (5)].
eqn));
2338 (yyvsp[(1) - (5)].
eqn)->append ((yyvsp[(5) - (5)].
eqn));
2339 (yyval.
app)->args = (yyvsp[(1) - (5)].
eqn);
2346 #line 517 "parse_netlist.y"
2349 (yyval.
app)->
n = strdup (
"<");
2350 (yyval.
app)->nargs = 2;
2351 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2352 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2359 #line 524 "parse_netlist.y"
2362 (yyval.
app)->
n = strdup (
">");
2363 (yyval.
app)->nargs = 2;
2364 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2365 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2372 #line 531 "parse_netlist.y"
2375 (yyval.
app)->
n = strdup (
">=");
2376 (yyval.
app)->nargs = 2;
2377 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2378 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2385 #line 538 "parse_netlist.y"
2388 (yyval.
app)->
n = strdup (
"<=");
2389 (yyval.
app)->nargs = 2;
2390 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2391 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2398 #line 545 "parse_netlist.y"
2401 (yyval.
app)->
n = strdup (
"==");
2402 (yyval.
app)->nargs = 2;
2403 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2404 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2411 #line 552 "parse_netlist.y"
2414 (yyval.
app)->
n = strdup (
"!=");
2415 (yyval.
app)->nargs = 2;
2416 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2417 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2424 #line 559 "parse_netlist.y"
2427 (yyval.
app)->
n = strdup (
"!");
2428 (yyval.
app)->nargs = 1;
2429 (yyval.
app)->args = (yyvsp[(2) - (2)].
eqn);
2436 #line 565 "parse_netlist.y"
2439 (yyval.
app)->
n = strdup (
"&&");
2440 (yyval.
app)->nargs = 2;
2441 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2442 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2449 #line 572 "parse_netlist.y"
2452 (yyval.
app)->
n = strdup (
"||");
2453 (yyval.
app)->nargs = 2;
2454 (yyvsp[(1) - (3)].
eqn)->append ((yyvsp[(3) - (3)].
eqn));
2455 (yyval.
app)->args = (yyvsp[(1) - (3)].
eqn);
2462 #line 581 "parse_netlist.y"
2463 { (yyval.
eqn) = NULL; }
2469 #line 582 "parse_netlist.y"
2471 (yyval.
eqn) = (yyvsp[(1) - (1)].
eqn);
2478 #line 585 "parse_netlist.y"
2480 (yyval.
eqn) = (yyvsp[(1) - (1)].app);
2487 #line 588 "parse_netlist.y"
2489 (yyvsp[(1) - (3)].
eqn)->setNext ((yyvsp[(3) - (3)].
eqn));
2490 (yyval.
eqn) = (yyvsp[(1) - (3)].
eqn);
2497 #line 592 "parse_netlist.y"
2499 (yyvsp[(1) - (3)].
app)->setNext ((yyvsp[(3) - (3)].
eqn));
2500 (yyval.
eqn) = (yyvsp[(1) - (3)].app);
2507 #line 599 "parse_netlist.y"
2509 (yyvsp[(1) - (3)].
subcircuit)->sub = (yyvsp[(2) - (3)].definition);
2510 (yyval.
subcircuit) = (yyvsp[(1) - (3)].subcircuit);
2518 #line 607 "parse_netlist.y"
2523 (yyval.
subcircuit)->instance = (yyvsp[(2) - (5)].ident);
2534 #line 619 "parse_netlist.y"
2541 #line 620 "parse_netlist.y"
2543 if ((yyvsp[(1) - (2)].definition)) {
2544 (yyvsp[(1) - (2)].
definition)->next = (yyvsp[(2) - (2)].definition);
2545 (yyval.
definition) = (yyvsp[(1) - (2)].definition);
2548 (yyval.
definition) = (yyvsp[(2) - (2)].definition);
2556 #line 632 "parse_netlist.y"
2563 #line 636 "parse_netlist.y"
2566 (yyval.
definition) = (yyvsp[(1) - (1)].definition);
2573 #line 640 "parse_netlist.y"
2576 (yyval.
definition) = (yyvsp[(1) - (1)].definition);
2583 #line 644 "parse_netlist.y"
2590 #line 645 "parse_netlist.y"
2599 #line 2600 "parse_netlist.cpp"
2616 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
2617 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2618 yystate = yytable[yystate];
2633 #if ! YYERROR_VERBOSE
2637 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
2643 if (yymsg != yymsgbuf)
2651 yymsg_alloc =
sizeof yymsgbuf;
2655 if (0 < yysize && yysize <= yymsg_alloc)
2657 (void) yysyntax_error (yymsg, yystate, yychar);
2664 goto yyexhaustedlab;
2672 if (yyerrstatus == 3)
2677 if (yychar <=
YYEOF)
2680 if (yychar ==
YYEOF)
2685 yydestruct (
"Error: discarding",
2724 yyn = yypact[yystate];
2741 yydestruct (
"Error: popping",
2742 yystos[yystate], yyvsp);
2772 #if !defined(yyoverflow) || YYERROR_VERBOSE
2784 yydestruct (
"Cleanup: discarding lookahead",
2790 while (yyssp != yyss)
2792 yydestruct (
"Cleanup: popping",
2793 yystos[*yyssp], yyvsp);
2801 if (yymsg != yymsgbuf)
2805 return YYID (yyresult);
2811 #line 651 "parse_netlist.y"