49 #define YYBISON_VERSION "2.4.1"
52 #define YYSKELETON_NAME "yacc.c"
64 #define YYLSP_NEEDED 0
67 #define yyparse vcd_parse
69 #define yyerror vcd_error
70 #define yylval vcd_lval
71 #define yychar vcd_char
72 #define yydebug vcd_debug
73 #define yynerrs vcd_nerrs
115 #define YYERROR_VERBOSE 42
117 #define YYMAXDEPTH 10000000
124 #line 125 "parse_vcd.cpp"
132 #ifdef YYERROR_VERBOSE
133 # undef YYERROR_VERBOSE
134 # define YYERROR_VERBOSE 1
136 # define YYERROR_VERBOSE 0
140 #ifndef YYTOKEN_TABLE
141 # define YYTOKEN_TABLE 0
213 #define t_COMMENT 259
215 #define t_ENDDEFINITIONS 261
217 #define t_TIMESCALE 263
218 #define t_UPSCOPE 264
220 #define t_VERSION 266
221 #define t_DUMPALL 267
222 #define t_DUMPOFF 268
224 #define t_DUMPVARS 270
227 #define s_FUNCTION 273
247 #define PARAMETER 293
264 #define PositiveInteger 310
265 #define PositiveHugeInteger 311
266 #define Identifier 312
267 #define IdentifierCode 313
268 #define Reference 314
269 #define InvalidCharacter 315
274 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
279 #line 79 "parse_vcd.y"
296 #line 297 "parse_vcd.cpp"
298 # define YYSTYPE_IS_TRIVIAL 1
299 # define yystype YYSTYPE
300 # define YYSTYPE_IS_DECLARED 1
308 #line 309 "parse_vcd.cpp"
322 #elif (defined __STDC__ || defined __C99__FUNC__ \
323 || defined __cplusplus || defined _MSC_VER)
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 && (defined __STDC__ || defined __C99__FUNC__ \
347 || defined __cplusplus || defined _MSC_VER)
349 # define YYSIZE_T size_t
351 # define YYSIZE_T unsigned int
355 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
360 # include <libintl.h>
361 # define YY_(msgid) dgettext ("bison-runtime", msgid)
365 # define YY_(msgid) msgid
370 #if ! defined lint || defined __GNUC__
371 # define YYUSE(e) ((void) (e))
380 #if (defined __STDC__ || defined __C99__FUNC__ \
381 || defined __cplusplus || defined _MSC_VER)
394 #if ! defined yyoverflow || YYERROR_VERBOSE
398 # ifdef YYSTACK_USE_ALLOCA
399 # if YYSTACK_USE_ALLOCA
401 # define YYSTACK_ALLOC __builtin_alloca
402 # elif defined __BUILTIN_VA_ARG_INCR
405 # define YYSTACK_ALLOC __alloca
406 # elif defined _MSC_VER
408 # define alloca _alloca
410 # define YYSTACK_ALLOC alloca
411 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
412 || defined __cplusplus || defined _MSC_VER)
422 # ifdef YYSTACK_ALLOC
424 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
425 # ifndef YYSTACK_ALLOC_MAXIMUM
430 # define YYSTACK_ALLOC_MAXIMUM 4032
433 # define YYSTACK_ALLOC YYMALLOC
434 # define YYSTACK_FREE YYFREE
435 # ifndef YYSTACK_ALLOC_MAXIMUM
436 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
438 # if (defined __cplusplus && ! defined _STDLIB_H \
439 && ! ((defined YYMALLOC || defined malloc) \
440 && (defined YYFREE || defined free)))
447 # define YYMALLOC malloc
448 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
449 || defined __cplusplus || defined _MSC_VER)
455 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
456 || defined __cplusplus || defined _MSC_VER)
464 #if (! defined yyoverflow \
465 && (! defined __cplusplus \
466 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
476 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
480 # define YYSTACK_BYTES(N) \
481 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
482 + YYSTACK_GAP_MAXIMUM)
487 # if defined __GNUC__ && 1 < __GNUC__
488 # define YYCOPY(To, From, Count) \
489 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
491 # define YYCOPY(To, From, Count) \
495 for (yyi = 0; yyi < (Count); yyi++) \
496 (To)[yyi] = (From)[yyi]; \
507 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
510 YYSIZE_T yynewbytes; \
511 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
512 Stack = &yyptr->Stack_alloc; \
513 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
514 yyptr += yynewbytes / sizeof (*yyptr); \
532 #define YYNSTATES 111
536 #define YYMAXUTOK 315
538 #define YYTRANSLATE(YYX) \
539 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
544 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
547 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
548 64, 65, 2, 2, 2, 2, 2, 2, 2, 2,
549 2, 2, 2, 2, 2, 2, 2, 2, 63, 2,
550 2, 2, 2, 2, 2, 2, 66, 2, 2, 2,
551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
552 2, 2, 67, 2, 2, 2, 2, 2, 2, 2,
553 2, 61, 2, 62, 2, 2, 2, 2, 2, 2,
554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
555 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
559 2, 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, 2, 2, 2, 2, 2, 2, 2,
563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
570 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
571 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
572 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
573 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
574 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
575 55, 56, 57, 58, 59, 60
583 0, 0, 3, 6, 7, 10, 13, 16, 19, 23,
584 27, 30, 33, 37, 40, 42, 44, 46, 48, 50,
585 53, 55, 57, 59, 61, 63, 65, 67, 69, 71,
586 77, 78, 82, 88, 92, 94, 96, 98, 100, 102,
587 104, 106, 108, 110, 112, 114, 116, 118, 120, 122,
588 124, 126, 128, 129, 132, 136, 140, 144, 148, 150,
589 153, 156, 157, 160, 162, 164, 167, 169, 171, 173,
596 69, 0, -1, 70, 81, -1, -1, 71, 70, -1,
597 4, 3, -1, 5, 3, -1, 6, 3, -1, 7,
598 72, 3, -1, 8, 74, 3, -1, 9, 3, -1,
599 11, 3, -1, 10, 77, 3, -1, 73, 57, -1,
600 16, -1, 17, -1, 18, -1, 20, -1, 19, -1,
601 75, 76, -1, 21, -1, 28, -1, 29, -1, 34,
602 -1, 35, -1, 31, -1, 32, -1, 30, -1, 33,
603 -1, 79, 80, 58, 59, 78, -1, -1, 61, 55,
604 62, -1, 61, 55, 63, 55, 62, -1, 64, 55,
605 65, -1, 36, -1, 37, -1, 38, -1, 39, -1,
606 40, -1, 41, -1, 42, -1, 43, -1, 44, -1,
607 45, -1, 46, -1, 47, -1, 48, -1, 49, -1,
608 50, -1, 51, -1, 52, -1, 55, -1, -1, 82,
609 81, -1, 12, 85, 3, -1, 13, 85, 3, -1,
610 14, 85, 3, -1, 15, 85, 3, -1, 83, -1,
611 84, 85, -1, 25, 56, -1, -1, 86, 85, -1,
612 87, -1, 89, -1, 88, 58, -1, 24, -1, 21,
613 -1, 26, -1, 23, -1, 66, 54, 58, -1, 67,
620 0, 108, 108, 111, 112, 116, 117, 118, 119, 135,
621 136, 145, 146, 162, 170, 171, 172, 173, 174, 178,
622 185, 186, 187, 191, 192, 193, 194, 195, 196, 200,
623 210, 211, 216, 221, 229, 231, 233, 236, 238, 240,
624 242, 244, 246, 248, 250, 252, 254, 256, 258, 260,
625 262, 267, 270, 271, 275, 276, 277, 278, 281, 288,
626 296, 301, 302, 308, 309, 313, 321, 322, 323, 324,
631 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
634 static const char *
const yytname[] =
636 "$end",
"error",
"$undefined",
"t_END",
"t_COMMENT",
"t_DATE",
637 "t_ENDDEFINITIONS",
"t_SCOPE",
"t_TIMESCALE",
"t_UPSCOPE",
"t_VAR",
638 "t_VERSION",
"t_DUMPALL",
"t_DUMPOFF",
"t_DUMPON",
"t_DUMPVARS",
639 "s_MODULE",
"s_TASK",
"s_FUNCTION",
"s_FORK",
"s_BEGIN",
"ONE",
"B",
"Z",
640 "ZERO",
"HASHMARK",
"X",
"R",
"TEN",
"HUNDRET",
"PICO",
"MICRO",
"NANO",
641 "FEMTO",
"SECOND",
"MILLI",
"EVENT",
"INTEGER",
"PARAMETER",
"REAL",
642 "REG",
"SUPPLY0",
"SUPPLY1",
"TIME",
"TRI",
"TRIAND",
"TRIOR",
"TRIREG",
643 "TRI0",
"TRI1",
"WAND",
"WIRE",
"WOR",
"Real",
"Binary",
644 "PositiveInteger",
"PositiveHugeInteger",
"Identifier",
"IdentifierCode",
645 "Reference",
"InvalidCharacter",
"'['",
"']'",
"':'",
"'('",
"')'",
646 "'B'",
"'R'",
"$accept",
"ValueChangeDumpDefinitions",
"DeclarationList",
647 "Declaration",
"ScopeDeclaration",
"ScopeType",
"TimeScaleDeclaration",
648 "TimeScale",
"TimeUnit",
"VarDeclaration",
"BitSelect",
"VarType",
649 "Size",
"SimulationCommandList",
"SimulationCommand",
"ValueChangeset",
650 "SimulationTime",
"ValueChangeList",
"ValueChange",
"ScalarValueChange",
651 "Value",
"VectorValueChange", 0
660 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
661 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
662 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
663 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
664 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
665 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
666 315, 91, 93, 58, 40, 41, 66, 82
673 0, 68, 69, 70, 70, 71, 71, 71, 71, 71,
674 71, 71, 71, 72, 73, 73, 73, 73, 73, 74,
675 75, 75, 75, 76, 76, 76, 76, 76, 76, 77,
676 78, 78, 78, 78, 79, 79, 79, 79, 79, 79,
677 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
678 79, 80, 81, 81, 82, 82, 82, 82, 82, 83,
679 84, 85, 85, 86, 86, 87, 88, 88, 88, 88,
686 0, 2, 2, 0, 2, 2, 2, 2, 3, 3,
687 2, 2, 3, 2, 1, 1, 1, 1, 1, 2,
688 1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
689 0, 3, 5, 3, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 1, 0, 2, 3, 3, 3, 3, 1, 2,
692 2, 0, 2, 1, 1, 2, 1, 1, 1, 1,
701 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 52, 3, 5, 6, 7, 14, 15, 16, 18, 17,
703 0, 0, 20, 21, 22, 0, 0, 10, 34, 35,
704 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
705 46, 47, 48, 49, 50, 0, 0, 11, 1, 61,
706 61, 61, 61, 0, 2, 52, 58, 61, 4, 8,
707 13, 9, 27, 25, 26, 28, 23, 24, 19, 12,
708 51, 0, 67, 69, 66, 68, 0, 0, 0, 61,
709 63, 0, 64, 0, 0, 0, 60, 53, 59, 0,
710 0, 0, 54, 62, 65, 55, 56, 57, 30, 70,
711 71, 0, 0, 29, 0, 0, 31, 0, 33, 0,
718 -1, 9, 10, 11, 20, 21, 25, 26, 68, 45,
719 103, 46, 71, 54, 55, 56, 57, 78, 79, 80,
725 #define YYPACT_NINF -54
728 32, -2, 56, 57, 37, -17, 59, -22, 60, 64,
729 19, 32, -54, -54, -54, -54, -54, -54, -54, -54,
730 62, 9, -54, -54, -54, 65, 17, -54, -54, -54,
731 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
732 -54, -54, -54, -54, -54, 66, 12, -54, -54, -21,
733 -21, -21, -21, 14, -54, 19, -54, -21, -54, -54,
734 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
735 -54, 13, -54, -54, -54, -54, 18, 20, 71, -21,
736 -54, 21, -54, 72, 73, 74, -54, -54, -54, 22,
737 24, 25, -54, -54, -54, -54, -54, -54, -3, -54,
738 -54, 23, 29, -54, -53, 15, -54, 30, -54, 26,
745 -54, -54, 75, -54, -54, -54, -54, -54, -54, -54,
746 -54, -54, -54, 34, -54, -54, -54, -44, -54, -54,
754 #define YYTABLE_NINF -1
757 72, 12, 73, 74, 22, 75, 83, 84, 85, 106,
758 107, 23, 24, 88, 28, 29, 30, 31, 32, 33,
759 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
760 44, 49, 50, 51, 52, 93, 1, 2, 3, 4,
761 5, 6, 7, 8, 53, 76, 77, 62, 63, 64,
762 65, 66, 67, 15, 16, 17, 18, 19, 101, 13,
763 14, 102, 27, 47, 48, 59, 60, 70, 61, 69,
764 86, 89, 90, 91, 92, 95, 96, 97, 104, 94,
765 108, 98, 99, 100, 105, 109, 58, 0, 110, 87
770 21, 3, 23, 24, 21, 26, 50, 51, 52, 62,
771 63, 28, 29, 57, 36, 37, 38, 39, 40, 41,
772 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
773 52, 12, 13, 14, 15, 79, 4, 5, 6, 7,
774 8, 9, 10, 11, 25, 66, 67, 30, 31, 32,
775 33, 34, 35, 16, 17, 18, 19, 20, 61, 3,
776 3, 64, 3, 3, 0, 3, 57, 55, 3, 3,
777 56, 58, 54, 53, 3, 3, 3, 3, 55, 58,
778 65, 59, 58, 58, 55, 55, 11, -1, 62, 55
785 0, 4, 5, 6, 7, 8, 9, 10, 11, 69,
786 70, 71, 3, 3, 3, 16, 17, 18, 19, 20,
787 72, 73, 21, 28, 29, 74, 75, 3, 36, 37,
788 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
789 48, 49, 50, 51, 52, 77, 79, 3, 0, 12,
790 13, 14, 15, 25, 81, 82, 83, 84, 70, 3,
791 57, 3, 30, 31, 32, 33, 34, 35, 76, 3,
792 55, 80, 21, 23, 24, 26, 66, 67, 85, 86,
793 87, 88, 89, 85, 85, 85, 56, 81, 85, 58,
794 54, 53, 3, 85, 58, 3, 3, 3, 59, 58,
795 58, 61, 64, 78, 55, 55, 62, 63, 65, 55,
799 #define yyerrok (yyerrstatus = 0)
800 #define yyclearin (yychar = YYEMPTY)
804 #define YYACCEPT goto yyacceptlab
805 #define YYABORT goto yyabortlab
806 #define YYERROR goto yyerrorlab
813 #define YYFAIL goto yyerrlab
815 #define YYRECOVERING() (!!yyerrstatus)
817 #define YYBACKUP(Token, Value) \
819 if (yychar == YYEMPTY && yylen == 1) \
823 yytoken = YYTRANSLATE (yychar); \
829 yyerror (YY_("syntax error: cannot back up")); \
836 #define YYERRCODE 256
843 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
844 #ifndef YYLLOC_DEFAULT
845 # define YYLLOC_DEFAULT(Current, Rhs, N) \
849 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
850 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
851 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
852 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
856 (Current).first_line = (Current).last_line = \
857 YYRHSLOC (Rhs, 0).last_line; \
858 (Current).first_column = (Current).last_column = \
859 YYRHSLOC (Rhs, 0).last_column; \
869 #ifndef YY_LOCATION_PRINT
870 # if YYLTYPE_IS_TRIVIAL
871 # define YY_LOCATION_PRINT(File, Loc) \
872 fprintf (File, "%d.%d-%d.%d", \
873 (Loc).first_line, (Loc).first_column, \
874 (Loc).last_line, (Loc).last_column)
876 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
884 # define YYLEX yylex (YYLEX_PARAM)
886 # define YYLEX yylex ()
894 # define YYFPRINTF fprintf
897 # define YYDPRINTF(Args) \
903 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
907 YYFPRINTF (stderr, "%s ", Title); \
908 yy_symbol_print (stderr, \
910 YYFPRINTF (stderr, "\n"); \
920 #if (defined __STDC__ || defined __C99__FUNC__ \
921 || defined __cplusplus || defined _MSC_VER)
926 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
936 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
952 #if (defined __STDC__ || defined __C99__FUNC__ \
953 || defined __cplusplus || defined _MSC_VER)
955 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
958 yy_symbol_print (yyoutput, yytype, yyvaluep)
961 YYSTYPE const * const yyvaluep;
965 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
967 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
969 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
978 #if (defined __STDC__ || defined __C99__FUNC__ \
979 || defined __cplusplus || defined _MSC_VER)
984 yy_stack_print (yybottom, yytop)
990 for (; yybottom <=
yytop; yybottom++)
992 int yybot = *yybottom;
998 # define YY_STACK_PRINT(Bottom, Top) \
1001 yy_stack_print ((Bottom), (Top)); \
1009 #if (defined __STDC__ || defined __C99__FUNC__ \
1010 || defined __cplusplus || defined _MSC_VER)
1015 yy_reduce_print (yyvsp, yyrule)
1020 int yynrhs = yyr2[
yyrule];
1023 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1026 for (yyi = 0; yyi < yynrhs; yyi++)
1029 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
1030 &(yyvsp[(yyi + 1) - (yynrhs)])
1036 # define YY_REDUCE_PRINT(Rule) \
1039 yy_reduce_print (yyvsp, Rule); \
1046 # define YYDPRINTF(Args)
1047 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1048 # define YY_STACK_PRINT(Bottom, Top)
1049 # define YY_REDUCE_PRINT(Rule)
1055 # define YYINITDEPTH 200
1066 # define YYMAXDEPTH 10000
1074 # if defined __GLIBC__ && defined _STRING_H
1075 # define yystrlen strlen
1078 #if (defined __STDC__ || defined __C99__FUNC__ \
1079 || defined __cplusplus || defined _MSC_VER)
1081 yystrlen (
const char *yystr)
1089 for (yylen = 0; yystr[
yylen]; yylen++)
1097 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1098 # define yystpcpy stpcpy
1102 #if (defined __STDC__ || defined __C99__FUNC__ \
1103 || defined __cplusplus || defined _MSC_VER)
1105 yystpcpy (
char *yydest,
const char *
yysrc)
1108 yystpcpy (yydest, yysrc)
1116 while ((*yyd++ = *yys++) !=
'\0')
1133 yytnamerr (
char *yyres,
const char *yystr)
1138 char const *yyp = yystr;
1145 goto do_not_strip_quotes;
1149 goto do_not_strip_quotes;
1162 do_not_strip_quotes: ;
1166 return yystrlen (yystr);
1168 return yystpcpy (yyres, yystr) - yyres;
1180 yysyntax_error (
char *yyresult,
int yystate,
int yychar)
1182 int yyn = yypact[yystate];
1189 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1192 int yysize_overflow = 0;
1193 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1194 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1200 YY_(
"syntax error, unexpected %s");
1201 YY_(
"syntax error, unexpected %s, expecting %s");
1202 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1203 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1204 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1208 static char const yyunexpected[] =
"syntax error, unexpected %s";
1209 static char const yyexpecting[] =
", expecting %s";
1210 static char const yyor[] =
" or %s";
1211 char yyformat[
sizeof yyunexpected
1212 +
sizeof yyexpecting - 1
1213 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1214 * (
sizeof yyor - 1))];
1215 char const *yyprefix = yyexpecting;
1219 int yyxbegin = yyn < 0 ? -yyn : 0;
1222 int yychecklim =
YYLAST - yyn + 1;
1226 yyarg[0] = yytname[
yytype];
1227 yyfmt = yystpcpy (yyformat, yyunexpected);
1229 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1230 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
1232 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1236 yyformat[
sizeof yyunexpected - 1] =
'\0';
1239 yyarg[yycount++] = yytname[yyx];
1240 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1241 yysize_overflow |= (yysize1 < yysize);
1243 yyfmt = yystpcpy (yyfmt, yyprefix);
1247 yyf =
YY_(yyformat);
1248 yysize1 = yysize + yystrlen (yyf);
1249 yysize_overflow |= (yysize1 < yysize);
1252 if (yysize_overflow)
1260 char *yyp = yyresult;
1262 while ((*yyp = *yyf) !=
'\0')
1264 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
1266 yyp += yytnamerr (yyp, yyarg[yyi++]);
1287 #if (defined __STDC__ || defined __C99__FUNC__ \
1288 || defined __cplusplus || defined _MSC_VER)
1290 yydestruct (
const char *yymsg,
int yytype,
YYSTYPE *yyvaluep)
1293 yydestruct (yymsg, yytype, yyvaluep)
1314 #ifdef YYPARSE_PARAM
1315 #if defined __STDC__ || defined __cplusplus
1316 int yyparse (
void *YYPARSE_PARAM);
1321 #if defined __STDC__ || defined __cplusplus
1344 #ifdef YYPARSE_PARAM
1345 #if (defined __STDC__ || defined __C99__FUNC__ \
1346 || defined __cplusplus || defined _MSC_VER)
1352 void *YYPARSE_PARAM;
1355 #if (defined __STDC__ || defined __C99__FUNC__ \
1356 || defined __cplusplus || defined _MSC_VER)
1402 char *yymsg = yymsgbuf;
1403 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1406 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1417 YYDPRINTF ((stderr,
"Starting parse\n"));
1444 if (yyss + yystacksize - 1 <= yyssp)
1447 YYSIZE_T yysize = yyssp - yyss + 1;
1461 yyoverflow (
YY_(
"memory exhausted"),
1462 &yyss1, yysize *
sizeof (*yyssp),
1463 &yyvs1, yysize *
sizeof (*yyvsp),
1470 # ifndef YYSTACK_RELOCATE
1471 goto yyexhaustedlab;
1475 goto yyexhaustedlab;
1485 goto yyexhaustedlab;
1488 # undef YYSTACK_RELOCATE
1495 yyssp = yyss + yysize - 1;
1496 yyvsp = yyvs + yysize - 1;
1498 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1499 (
unsigned long int) yystacksize));
1501 if (yyss + yystacksize - 1 <= yyssp)
1505 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1521 yyn = yypact[yystate];
1530 YYDPRINTF ((stderr,
"Reading a token: "));
1534 if (yychar <=
YYEOF)
1536 yychar = yytoken =
YYEOF;
1537 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1548 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1580 yyn = yydefact[yystate];
1601 yyval = yyvsp[1-
yylen];
1610 #line 119 "parse_vcd.y"
1632 #line 136 "parse_vcd.y"
1638 fprintf (stderr,
"vcd notice, unnecessary $upscope in line %d\n",
1647 #line 146 "parse_vcd.y"
1666 #line 162 "parse_vcd.y"
1669 (yyval.
scope)->
type = (yyvsp[(1) - (2)].stype);
1677 #line 170 "parse_vcd.y"
1684 #line 171 "parse_vcd.y"
1691 #line 172 "parse_vcd.y"
1698 #line 173 "parse_vcd.y"
1705 #line 174 "parse_vcd.y"
1712 #line 178 "parse_vcd.y"
1722 #line 185 "parse_vcd.y"
1729 #line 186 "parse_vcd.y"
1736 #line 187 "parse_vcd.y"
1743 #line 191 "parse_vcd.y"
1744 { (yyval.
real) = 1; }
1750 #line 192 "parse_vcd.y"
1751 { (yyval.
real) = 1
e-3; }
1757 #line 193 "parse_vcd.y"
1758 { (yyval.
real) = 1
e-6; }
1764 #line 194 "parse_vcd.y"
1765 { (yyval.
real) = 1
e-9; }
1771 #line 195 "parse_vcd.y"
1772 { (yyval.
real) = 1
e-12; }
1778 #line 196 "parse_vcd.y"
1779 { (yyval.
real) = 1
e-15; }
1785 #line 200 "parse_vcd.y"
1788 (yyval.
vardef)->
type = (yyvsp[(1) - (5)].vtype);
1789 (yyval.
vardef)->size = (yyvsp[(2) - (5)].integer);
1799 #line 210 "parse_vcd.y"
1800 { (yyval.
range) = NULL; }
1806 #line 211 "parse_vcd.y"
1809 (yyval.
range)->l = -1;
1810 (yyval.
range)->h = (yyvsp[(2) - (3)].integer);
1817 #line 216 "parse_vcd.y"
1820 (yyval.
range)->l = (yyvsp[(2) - (5)].integer);
1821 (yyval.
range)->h = (yyvsp[(4) - (5)].integer);
1828 #line 221 "parse_vcd.y"
1831 (yyval.
range)->l = (yyvsp[(2) - (3)].integer);
1832 (yyval.
range)->h = -1;
1839 #line 229 "parse_vcd.y"
1847 #line 231 "parse_vcd.y"
1855 #line 233 "parse_vcd.y"
1864 #line 236 "parse_vcd.y"
1872 #line 238 "parse_vcd.y"
1880 #line 240 "parse_vcd.y"
1888 #line 242 "parse_vcd.y"
1896 #line 244 "parse_vcd.y"
1904 #line 246 "parse_vcd.y"
1912 #line 248 "parse_vcd.y"
1920 #line 250 "parse_vcd.y"
1928 #line 252 "parse_vcd.y"
1936 #line 254 "parse_vcd.y"
1944 #line 256 "parse_vcd.y"
1952 #line 258 "parse_vcd.y"
1960 #line 260 "parse_vcd.y"
1968 #line 262 "parse_vcd.y"
1976 #line 278 "parse_vcd.y"
1985 #line 281 "parse_vcd.y"
1995 #line 288 "parse_vcd.y"
1999 (yyval.
changeset)->changes = (yyvsp[(2) - (2)].change);
2006 #line 296 "parse_vcd.y"
2008 (yyval.
real) = (yyvsp[(2) - (2)].
real);
2015 #line 301 "parse_vcd.y"
2016 { (yyval.
change) = NULL; }
2022 #line 302 "parse_vcd.y"
2024 (yyvsp[(1) - (2)].
change)->
next = (yyvsp[(2) - (2)].change);
2031 #line 313 "parse_vcd.y"
2034 (yyval.
change)->value = (yyvsp[(1) - (2)].value);
2042 #line 328 "parse_vcd.y"
2045 (yyval.
change)->value = (yyvsp[(2) - (3)].value);
2053 #line 333 "parse_vcd.y"
2056 (yyval.
change)->value = (yyvsp[(2) - (3)].value);
2058 (yyval.
change)->isreal = 1;
2065 #line 2066 "parse_vcd.cpp"
2082 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
2083 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
2084 yystate = yytable[yystate];
2099 #if ! YYERROR_VERBOSE
2103 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
2109 if (yymsg != yymsgbuf)
2117 yymsg_alloc =
sizeof yymsgbuf;
2121 if (0 < yysize && yysize <= yymsg_alloc)
2123 (void) yysyntax_error (yymsg, yystate, yychar);
2130 goto yyexhaustedlab;
2138 if (yyerrstatus == 3)
2143 if (yychar <=
YYEOF)
2146 if (yychar ==
YYEOF)
2151 yydestruct (
"Error: discarding",
2190 yyn = yypact[yystate];
2207 yydestruct (
"Error: popping",
2208 yystos[yystate], yyvsp);
2238 #if !defined(yyoverflow) || YYERROR_VERBOSE
2250 yydestruct (
"Cleanup: discarding lookahead",
2256 while (yyssp != yyss)
2258 yydestruct (
"Cleanup: popping",
2259 yystos[*yyssp], yyvsp);
2267 if (yymsg != yymsgbuf)
2271 return YYID (yyresult);
2277 #line 342 "parse_vcd.y"