49 #define YYBISON_VERSION "2.4.1" 52 #define YYSKELETON_NAME "yacc.c" 64 #define YYLSP_NEEDED 0 67 #define yyparse constexpYYparse 68 #define yylex constexpYYlex 69 #define yyerror constexpYYerror 70 #define yylval constexpYYlval 71 #define yychar constexpYYchar 72 #define yydebug constexpYYdebug 73 #define yynerrs constexpYYnerrs 88 #define YYSTYPE CPPValue 96 "preprocessing issue while doing constant expression evaluation: %s",s);
111 #ifdef YYERROR_VERBOSE 112 # undef YYERROR_VERBOSE 113 # define YYERROR_VERBOSE 1 115 # define YYERROR_VERBOSE 0 119 #ifndef YYTOKEN_TABLE 120 # define YYTOKEN_TABLE 0 164 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 166 # define YYSTYPE_IS_TRIVIAL 1 167 # define yystype YYSTYPE 168 # define YYSTYPE_IS_DECLARED 1 188 #elif (defined __STDC__ || defined __C99__FUNC__ \ 189 || defined __cplusplus || defined _MSC_VER) 208 # ifdef __SIZE_TYPE__ 209 # define YYSIZE_T __SIZE_TYPE__ 210 # elif defined size_t 211 # define YYSIZE_T size_t 212 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 213 || defined __cplusplus || defined _MSC_VER) 215 # define YYSIZE_T size_t 217 # define YYSIZE_T unsigned int 221 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 226 # include <libintl.h> 227 # define YY_(msgid) dgettext ("bison-runtime", msgid) 231 # define YY_(msgid) msgid 236 #if ! defined lint || defined __GNUC__ 237 # define YYUSE(e) ((void) (e)) 246 #if (defined __STDC__ || defined __C99__FUNC__ \ 247 || defined __cplusplus || defined _MSC_VER) 260 #if ! defined yyoverflow || YYERROR_VERBOSE 264 # ifdef YYSTACK_USE_ALLOCA 265 # if YYSTACK_USE_ALLOCA 267 # define YYSTACK_ALLOC __builtin_alloca 268 # elif defined __BUILTIN_VA_ARG_INCR 271 # define YYSTACK_ALLOC __alloca 272 # elif defined _MSC_VER 274 # define alloca _alloca 276 # define YYSTACK_ALLOC alloca 277 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 278 || defined __cplusplus || defined _MSC_VER) 288 # ifdef YYSTACK_ALLOC 290 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0)) 291 # ifndef YYSTACK_ALLOC_MAXIMUM 296 # define YYSTACK_ALLOC_MAXIMUM 4032 299 # define YYSTACK_ALLOC YYMALLOC 300 # define YYSTACK_FREE YYFREE 301 # ifndef YYSTACK_ALLOC_MAXIMUM 302 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 304 # if (defined __cplusplus && ! defined _STDLIB_H \ 305 && ! ((defined YYMALLOC || defined malloc) \ 306 && (defined YYFREE || defined free))) 313 # define YYMALLOC malloc 314 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 315 || defined __cplusplus || defined _MSC_VER) 321 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 322 || defined __cplusplus || defined _MSC_VER) 330 #if (! defined yyoverflow \ 331 && (! defined __cplusplus \ 332 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 342 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 346 # define YYSTACK_BYTES(N) \ 347 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 348 + YYSTACK_GAP_MAXIMUM) 353 # if defined __GNUC__ && 1 < __GNUC__ 354 # define YYCOPY(To, From, Count) \ 355 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 357 # define YYCOPY(To, From, Count) \ 361 for (yyi = 0; yyi < (Count); yyi++) \ 362 (To)[yyi] = (From)[yyi]; \ 373 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 376 YYSIZE_T yynewbytes; \ 377 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 378 Stack = &yyptr->Stack_alloc; \ 379 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 380 yyptr += yynewbytes / sizeof (*yyptr); \ 402 #define YYMAXUTOK 286 404 #define YYTRANSLATE(YYX) \ 405 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 410 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
411 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
412 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
413 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
414 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
418 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
419 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
426 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
435 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
436 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
437 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
438 25, 26, 27, 28, 29, 30, 31
446 0, 0, 3, 5, 7, 13, 15, 19, 21, 25,
447 27, 31, 33, 37, 39, 43, 45, 49, 53, 55,
448 59, 63, 67, 71, 73, 77, 81, 83, 87, 91,
449 93, 97, 101, 105, 107, 110, 113, 116, 119, 121,
450 125, 127, 129, 131, 133
456 33, 0, -1, 34, -1, 35, -1, 35, 3, 35,
457 4, 35, -1, 36, -1, 35, 5, 36, -1, 37,
458 -1, 36, 6, 37, -1, 38, -1, 37, 7, 38,
459 -1, 39, -1, 38, 8, 39, -1, 40, -1, 39,
460 9, 40, -1, 41, -1, 40, 11, 41, -1, 40,
461 10, 41, -1, 42, -1, 41, 12, 42, -1, 41,
462 13, 42, -1, 41, 14, 42, -1, 41, 15, 42,
463 -1, 43, -1, 42, 16, 43, -1, 42, 17, 43,
464 -1, 44, -1, 43, 18, 44, -1, 43, 19, 44,
465 -1, 45, -1, 44, 20, 45, -1, 44, 21, 45,
466 -1, 44, 22, 45, -1, 46, -1, 18, 45, -1,
467 19, 45, -1, 23, 45, -1, 24, 45, -1, 47,
468 -1, 25, 34, 26, -1, 27, -1, 28, -1, 29,
475 0, 77, 77, 81, 83, 92, 94, 100, 102, 108,
476 110, 117, 119, 125, 127, 133, 135, 139, 145, 147,
477 151, 155, 160, 167, 169, 173, 179, 181, 192, 205,
478 207, 218, 231, 239, 241, 243, 250, 254, 260, 262,
479 266, 268, 270, 272, 274
483 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 486 static const char *
const yytname[] =
488 "$end",
"error",
"$undefined",
"TOK_QUESTIONMARK",
"TOK_COLON",
489 "TOK_OR",
"TOK_AND",
"TOK_BITWISEOR",
"TOK_BITWISEXOR",
"TOK_AMPERSAND",
490 "TOK_NOTEQUAL",
"TOK_EQUAL",
"TOK_LESSTHAN",
"TOK_GREATERTHAN",
491 "TOK_LESSTHANOREQUALTO",
"TOK_GREATERTHANOREQUALTO",
"TOK_SHIFTLEFT",
492 "TOK_SHIFTRIGHT",
"TOK_PLUS",
"TOK_MINUS",
"TOK_STAR",
"TOK_DIVIDE",
493 "TOK_MOD",
"TOK_TILDE",
"TOK_NOT",
"TOK_LPAREN",
"TOK_RPAREN",
494 "TOK_OCTALINT",
"TOK_DECIMALINT",
"TOK_HEXADECIMALINT",
"TOK_CHARACTER",
495 "TOK_FLOAT",
"$accept",
"start",
"constant_expression",
496 "logical_or_expression",
"logical_and_expression",
497 "inclusive_or_expression",
"exclusive_or_expression",
"and_expression",
498 "equality_expression",
"relational_expression",
"shift_expression",
499 "additive_expression",
"multiplicative_expression",
"unary_expression",
500 "primary_expression",
"constant", 0
509 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
510 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
511 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
519 0, 32, 33, 34, 34, 35, 35, 36, 36, 37,
520 37, 38, 38, 39, 39, 40, 40, 40, 41, 41,
521 41, 41, 41, 42, 42, 42, 43, 43, 43, 44,
522 44, 44, 44, 45, 45, 45, 45, 45, 46, 46,
529 0, 2, 1, 1, 5, 1, 3, 1, 3, 1,
530 3, 1, 3, 1, 3, 1, 3, 3, 1, 3,
531 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
532 3, 3, 3, 1, 2, 2, 2, 2, 1, 3,
541 0, 0, 0, 0, 0, 0, 40, 41, 42, 43,
542 44, 0, 2, 3, 5, 7, 9, 11, 13, 15,
543 18, 23, 26, 29, 33, 38, 34, 35, 36, 37,
544 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546 0, 39, 0, 6, 8, 10, 12, 14, 17, 16,
547 19, 20, 21, 22, 24, 25, 27, 28, 30, 31,
554 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
555 20, 21, 22, 23, 24, 25
560 #define YYPACT_NINF -29 563 -13, -13, -13, -13, -13, -13, -29, -29, -29, -29,
564 -29, 13, -29, 4, 29, 1, 19, 33, 21, 7,
565 17, 18, 8, -29, -29, -29, -29, -29, -29, -29,
566 20, -29, -13, -13, -13, -13, -13, -13, -13, -13,
567 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
568 -13, -29, 34, 29, 1, 19, 33, 21, 7, 7,
569 17, 17, 17, 17, 18, 18, 8, 8, -29, -29,
576 -29, -29, 48, -28, 22, 23, 24, 25, 26, 2,
577 -17, 0, 5, -1, -29, -29
584 #define YYTABLE_NINF -1 587 26, 27, 28, 29, 52, 1, 2, 32, 35, 33,
588 3, 4, 5, 31, 6, 7, 8, 9, 10, 40,
589 41, 42, 43, 60, 61, 62, 63, 36, 48, 49,
590 50, 38, 39, 44, 45, 34, 46, 47, 71, 33,
591 58, 59, 37, 72, 64, 65, 51, 68, 69, 70,
592 33, 66, 67, 30, 0, 53, 0, 54, 0, 55,
598 1, 2, 3, 4, 32, 18, 19, 3, 7, 5,
599 23, 24, 25, 0, 27, 28, 29, 30, 31, 12,
600 13, 14, 15, 40, 41, 42, 43, 8, 20, 21,
601 22, 10, 11, 16, 17, 6, 18, 19, 4, 5,
602 38, 39, 9, 71, 44, 45, 26, 48, 49, 50,
603 5, 46, 47, 5, -1, 33, -1, 34, -1, 35,
611 0, 18, 19, 23, 24, 25, 27, 28, 29, 30,
612 31, 33, 34, 35, 36, 37, 38, 39, 40, 41,
613 42, 43, 44, 45, 46, 47, 45, 45, 45, 45,
614 34, 0, 3, 5, 6, 7, 8, 9, 10, 11,
615 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
616 22, 26, 35, 36, 37, 38, 39, 40, 41, 41,
617 42, 42, 42, 42, 43, 43, 44, 44, 45, 45,
621 #define yyerrok (yyerrstatus = 0) 622 #define yyclearin (yychar = YYEMPTY) 626 #define YYACCEPT goto yyacceptlab 627 #define YYABORT goto yyabortlab 628 #define YYERROR goto yyerrorlab 635 #define YYFAIL goto yyerrlab 637 #define YYRECOVERING() (!!yyerrstatus) 639 #define YYBACKUP(Token, Value) \ 641 if (yychar == YYEMPTY && yylen == 1) \ 645 yytoken = YYTRANSLATE (yychar); \ 651 yyerror (YY_("syntax error: cannot back up")); \ 658 #define YYERRCODE 256 665 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 666 #ifndef YYLLOC_DEFAULT 667 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 671 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 672 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 673 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 674 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 678 (Current).first_line = (Current).last_line = \ 679 YYRHSLOC (Rhs, 0).last_line; \ 680 (Current).first_column = (Current).last_column = \ 681 YYRHSLOC (Rhs, 0).last_column; \ 691 #ifndef YY_LOCATION_PRINT 692 # if YYLTYPE_IS_TRIVIAL 693 # define YY_LOCATION_PRINT(File, Loc) \ 694 fprintf (File, "%d.%d-%d.%d", \ 695 (Loc).first_line, (Loc).first_column, \ 696 (Loc).last_line, (Loc).last_column) 698 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 706 # define YYLEX yylex (YYLEX_PARAM) 708 # define YYLEX yylex () 716 # define YYFPRINTF fprintf 719 # define YYDPRINTF(Args) \ 725 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 729 YYFPRINTF (stderr, "%s ", Title); \ 730 yy_symbol_print (stderr, \ 732 YYFPRINTF (stderr, "\n"); \ 742 #if (defined __STDC__ || defined __C99__FUNC__ \ 743 || defined __cplusplus || defined _MSC_VER) 748 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
758 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
774 #if (defined __STDC__ || defined __C99__FUNC__ \ 775 || defined __cplusplus || defined _MSC_VER) 777 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
780 yy_symbol_print (yyoutput, yytype, yyvaluep)
787 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
789 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
791 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
792 YYFPRINTF (yyoutput,
")");
800 #if (defined __STDC__ || defined __C99__FUNC__ \ 801 || defined __cplusplus || defined _MSC_VER) 806 yy_stack_print (yybottom, yytop)
811 YYFPRINTF (
stderr,
"Stack now");
812 for (; yybottom <= yytop; yybottom++)
814 int yybot = *yybottom;
815 YYFPRINTF (
stderr,
" %d", yybot);
820 # define YY_STACK_PRINT(Bottom, Top) \ 823 yy_stack_print ((Bottom), (Top)); \ 831 #if (defined __STDC__ || defined __C99__FUNC__ \ 832 || defined __cplusplus || defined _MSC_VER) 834 yy_reduce_print (
YYSTYPE *yyvsp,
int yyrule)
837 yy_reduce_print (yyvsp, yyrule)
842 int yynrhs = yyr2[yyrule];
844 unsigned long int yylno = yyrline[yyrule];
845 YYFPRINTF (
stderr,
"Reducing stack by rule %d (line %lu):\n",
848 for (yyi = 0; yyi < yynrhs; yyi++)
850 YYFPRINTF (
stderr,
" $%d = ", yyi + 1);
851 yy_symbol_print (
stderr, yyrhs[yyprhs[yyrule] + yyi],
852 &(yyvsp[(yyi + 1) - (yynrhs)])
858 # define YY_REDUCE_PRINT(Rule) \ 861 yy_reduce_print (yyvsp, Rule); \ 868 # define YYDPRINTF(Args) 869 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 870 # define YY_STACK_PRINT(Bottom, Top) 871 # define YY_REDUCE_PRINT(Rule) 877 # define YYINITDEPTH 200 888 # define YYMAXDEPTH 10000 896 # if defined __GLIBC__ && defined _STRING_H 897 # define yystrlen strlen 900 #if (defined __STDC__ || defined __C99__FUNC__ \ 901 || defined __cplusplus || defined _MSC_VER) 903 yystrlen (
const char *yystr)
911 for (yylen = 0; yystr[yylen]; yylen++)
919 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 920 # define yystpcpy stpcpy 924 #if (defined __STDC__ || defined __C99__FUNC__ \ 925 || defined __cplusplus || defined _MSC_VER) 927 yystpcpy (
char *yydest,
const char *yysrc)
930 yystpcpy (yydest, yysrc)
936 const char *yys = yysrc;
938 while ((*yyd++ = *yys++) !=
'\0')
955 yytnamerr (
char *yyres,
const char *yystr)
960 char const *yyp = yystr;
967 goto do_not_strip_quotes;
971 goto do_not_strip_quotes;
984 do_not_strip_quotes: ;
988 return yystrlen (yystr);
990 return yystpcpy (yyres, yystr) - yyres;
1002 yysyntax_error (
char *yyresult,
int yystate,
int yychar)
1004 int yyn = yypact[yystate];
1011 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1014 int yysize_overflow = 0;
1015 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1016 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1022 YY_(
"syntax error, unexpected %s");
1023 YY_(
"syntax error, unexpected %s, expecting %s");
1024 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1025 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1026 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1030 static char const yyunexpected[] =
"syntax error, unexpected %s";
1031 static char const yyexpecting[] =
", expecting %s";
1032 static char const yyor[] =
" or %s";
1033 char yyformat[
sizeof yyunexpected
1034 +
sizeof yyexpecting - 1
1035 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1036 * (
sizeof yyor - 1))];
1037 char const *yyprefix = yyexpecting;
1041 int yyxbegin = yyn < 0 ? -yyn : 0;
1044 int yychecklim =
YYLAST - yyn + 1;
1048 yyarg[0] = yytname[
yytype];
1049 yyfmt = yystpcpy (yyformat, yyunexpected);
1051 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1052 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
1054 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1058 yyformat[
sizeof yyunexpected - 1] =
'\0';
1061 yyarg[yycount++] = yytname[yyx];
1062 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1063 yysize_overflow |= (yysize1 < yysize);
1065 yyfmt = yystpcpy (yyfmt, yyprefix);
1069 yyf =
YY_(yyformat);
1070 yysize1 = yysize + yystrlen (yyf);
1071 yysize_overflow |= (yysize1 < yysize);
1074 if (yysize_overflow)
1082 char *yyp = yyresult;
1084 while ((*yyp = *yyf) !=
'\0')
1086 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
1088 yyp += yytnamerr (yyp, yyarg[yyi++]);
1109 #if (defined __STDC__ || defined __C99__FUNC__ \ 1110 || defined __cplusplus || defined _MSC_VER) 1136 #ifdef YYPARSE_PARAM 1137 #if defined __STDC__ || defined __cplusplus 1138 int yyparse (
void *YYPARSE_PARAM);
1143 #if defined __STDC__ || defined __cplusplus 1166 #ifdef YYPARSE_PARAM 1167 #if (defined __STDC__ || defined __C99__FUNC__ \ 1168 || defined __cplusplus || defined _MSC_VER) 1174 void *YYPARSE_PARAM;
1177 #if (defined __STDC__ || defined __C99__FUNC__ \ 1178 || defined __cplusplus || defined _MSC_VER) 1224 char *yymsg = yymsgbuf;
1225 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1228 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1266 if (yyss + yystacksize - 1 <= yyssp)
1269 YYSIZE_T yysize = yyssp - yyss + 1;
1283 yyoverflow (
YY_(
"memory exhausted"),
1284 &yyss1, yysize *
sizeof (*yyssp),
1285 &yyvs1, yysize *
sizeof (*yyvsp),
1292 # ifndef YYSTACK_RELOCATE 1293 goto yyexhaustedlab;
1297 goto yyexhaustedlab;
1307 goto yyexhaustedlab;
1310 # undef YYSTACK_RELOCATE 1317 yyssp = yyss + yysize - 1;
1318 yyvsp = yyvs + yysize - 1;
1321 (
unsigned long int) yystacksize));
1323 if (yyss + yystacksize - 1 <= yyssp)
1343 yyn = yypact[yystate];
1356 if (yychar <=
YYEOF)
1358 yychar = yytoken =
YYEOF;
1370 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1402 yyn = yydefact[yystate];
1423 yyval = yyvsp[1-yylen];
1436 { (yyval) = (yyvsp[(1) - (1)]); ;}
1442 bool c = ((yyvsp[(1) - (5)]).isInt() ? ((long)(yyvsp[(1) - (5)]) != 0) : ((
double)(yyvsp[(1) - (5)]) != 0.0));
1443 (yyval) = c ? (yyvsp[(3) - (5)]) : (yyvsp[(5) - (5)]);
1449 { (yyval) = (yyvsp[(1) - (1)]); ;}
1455 (yyval) =
CPPValue( (
long)((long)(yyvsp[(1) - (3)]) || (long)(yyvsp[(3) - (3)])) );
1461 { (yyval) = (yyvsp[(1) - (1)]); ;}
1467 (yyval) =
CPPValue( (
long)((long)(yyvsp[(1) - (3)]) && (long)(yyvsp[(3) - (3)])) );
1473 { (yyval) = (yyvsp[(1) - (1)]); ;}
1479 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) | (
long)(yyvsp[(3) - (3)]) );
1485 { (yyval) = (yyvsp[(1) - (1)]); ;}
1491 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) ^ (
long)(yyvsp[(3) - (3)]) );
1497 { (yyval) = (yyvsp[(1) - (1)]); ;}
1503 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) & (
long)(yyvsp[(3) - (3)]) );
1509 { (yyval) = (yyvsp[(1) - (1)]); ;}
1515 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) == (double)(yyvsp[(3) - (3)])) );
1522 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) != (double)(yyvsp[(3) - (3)])) );
1528 { (yyval) = (yyvsp[(1) - (1)]); ;}
1534 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) < (double)(yyvsp[(3) - (3)])) );
1541 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) > (double)(yyvsp[(3) - (3)])) );
1548 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) <= (double)(yyvsp[(3) - (3)])) );
1555 (yyval) =
CPPValue( (
long)((double)(yyvsp[(1) - (3)]) >= (double)(yyvsp[(3) - (3)])) );
1561 { (yyval) = (yyvsp[(1) - (1)]); ;}
1567 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) << (
long)(yyvsp[(3) - (3)]) );
1574 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) >> (
long)(yyvsp[(3) - (3)]) );
1580 { (yyval) = (yyvsp[(1) - (1)]); ;}
1586 if (!(yyvsp[(1) - (3)]).isInt() || !(yyvsp[(3) - (3)]).isInt())
1588 (yyval) =
CPPValue( (
double)(yyvsp[(1) - (3)]) + (
double)(yyvsp[(3) - (3)]) );
1592 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) + (
long)(yyvsp[(3) - (3)]) );
1600 if (!(yyvsp[(1) - (3)]).isInt() || !(yyvsp[(3) - (3)]).isInt())
1602 (yyval) =
CPPValue( (
double)(yyvsp[(1) - (3)]) - (
double)(yyvsp[(3) - (3)]) );
1606 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) - (
long)(yyvsp[(3) - (3)]) );
1613 { (yyval) = (yyvsp[(1) - (1)]); ;}
1619 if (!(yyvsp[(1) - (3)]).isInt() || !(yyvsp[(3) - (3)]).isInt())
1621 (yyval) =
CPPValue( (
double)(yyvsp[(1) - (3)]) * (
double)(yyvsp[(3) - (3)]) );
1625 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) * (
long)(yyvsp[(3) - (3)]) );
1633 if (!(yyvsp[(1) - (3)]).isInt() || !(yyvsp[(3) - (3)]).isInt())
1635 (yyval) =
CPPValue( (
double)(yyvsp[(1) - (3)]) / (
double)(yyvsp[(3) - (3)]) );
1639 long value = (yyvsp[(3) - (3)]);
1640 if (value==0) value=1;
1641 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) / value );
1649 long value = (yyvsp[(3) - (3)]);
1650 if (value==0) value=1;
1651 (yyval) =
CPPValue( (
long)(yyvsp[(1) - (3)]) % value );
1657 { (yyval) = (yyvsp[(1) - (1)]); ;}
1662 { (yyval) = (yyvsp[(1) - (2)]); ;}
1668 if ((yyvsp[(2) - (2)]).isInt())
1669 (yyval) =
CPPValue(-(
long)(yyvsp[(2) - (2)]));
1671 (yyval) =
CPPValue(-(
double)(yyvsp[(2) - (2)]));
1678 (yyval) =
CPPValue(~(
long)(yyvsp[(2) - (2)]));
1685 (yyval) =
CPPValue((
long)!(long)(yyvsp[(2) - (2)]));
1691 { (yyval) = (yyvsp[(1) - (1)]); ;}
1696 { (yyval) = (yyvsp[(2) - (3)]); ;}
1742 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
1743 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
1744 yystate = yytable[yystate];
1759 #if ! YYERROR_VERBOSE 1763 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
1769 if (yymsg != yymsgbuf)
1777 yymsg_alloc =
sizeof yymsgbuf;
1781 if (0 < yysize && yysize <= yymsg_alloc)
1783 (void) yysyntax_error (yymsg, yystate, yychar);
1790 goto yyexhaustedlab;
1798 if (yyerrstatus == 3)
1803 if (yychar <=
YYEOF)
1806 if (yychar ==
YYEOF)
1850 yyn = yypact[yystate];
1868 yystos[yystate], yyvsp);
1898 #if !defined(yyoverflow) || YYERROR_VERBOSE 1916 while (yyssp != yyss)
1919 yystos[*yyssp], yyvsp);
1927 if (yymsg != yymsgbuf)
1931 return YYID (yyresult);
CPPValue parseCharacter()
static const yytype_uint8 yystos[]
unsigned char yytype_uint8
static const yytype_int8 yycheck[]
#define YY_REDUCE_PRINT(Rule)
static const yytype_uint8 yytranslate[]
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
static const yytype_uint8 yyr2[]
static const yytype_uint8 yytable[]
static const yytype_uint8 yydefact[]
void warn(const char *file, int line, const char *fmt,...)
static const yytype_int8 yypgoto[]
static const yytype_uint8 yyr1[]
#define YYSTACK_ALLOC_MAXIMUM
unsigned char yytype_uint8
int constexpYYerror(const char *s)
unsigned short int yytype_uint16
static void yydestruct(yymsg, yytype, yyvaluep) const char *yymsg
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
static const yytype_int8 yydefgoto[]
unsigned short int yytype_uint16
CPPValue parseHexadecimal()
static const yytype_int8 yypact[]
QCString g_constExpFileName
#define YY_STACK_PRINT(Bottom, Top)