41 #line 38 "evalexpr_parser.cpp"
49 #line 46 "evalexpr_parser.cpp"
52 #line 26 "evalexpr_parser.yy"
58 #line 55 "evalexpr_parser.cpp"
62 # if defined __cplusplus && 201103L <= __cplusplus
63 # define YY_NULL nullptr
70 # if defined YYENABLE_NLS && YYENABLE_NLS
73 # define YY_(msgid) dgettext("bison-runtime", msgid)
77 # define YY_(msgid) msgid
81 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
87 # ifndef YYLLOC_DEFAULT
88 # define YYLLOC_DEFAULT(Current, Rhs, N) \
92 (Current).begin = YYRHSLOC(Rhs, 1).begin; \
93 (Current).end = YYRHSLOC(Rhs, N).end; \
97 (Current).begin = (Current).end = YYRHSLOC(Rhs, 0).end; \
105 #define YYUSE(e) ((void)(e))
111 # define YYCDEBUG if (yydebug_) (*yycdebug_)
113 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
117 *yycdebug_ << Title << ' '; \
118 yy_symbol_print_((Type), (Value), (Location)); \
119 *yycdebug_ << std::endl; \
124 # define YY_REDUCE_PRINT(Rule) \
127 yy_reduce_print_ (Rule); \
131 # define YY_STACK_PRINT() \
140 # define YYCDEBUG if (false) std::cerr
141 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) YYUSE(Type)
142 # define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
143 # define YY_STACK_PRINT() static_cast<void>(0)
146 #define yyerrok (yyerrstatus_ = 0)
147 #define yyclearin (yychar = yyempty_)
149 #define YYACCEPT goto yyacceptlab
150 #define YYABORT goto yyabortlab
151 #define YYERROR goto yyerrorlab
152 #define YYRECOVERING() (!!yyerrstatus_)
155 #line 4 "evalexpr_parser.yy"
158 #line 151 "evalexpr_parser.cpp"
170 std::string yyr =
"";
171 char const *yyp = yystr;
178 goto do_not_strip_quotes;
182 goto do_not_strip_quotes;
193 do_not_strip_quotes:;
205 yycdebug_(&std::cerr),
229 std::ostream& yyoutput = yyo;
235 #line 40 "evalexpr_parser.yy"
237 yyoutput << ((*yyvaluep).sym);
240 #line 227 "evalexpr_parser.cpp"
245 #line 41 "evalexpr_parser.yy"
247 yyoutput << ((*yyvaluep).val);
250 #line 234 "evalexpr_parser.cpp"
255 #line 41 "evalexpr_parser.yy"
257 yyoutput << ((*yyvaluep).val);
260 #line 241 "evalexpr_parser.cpp"
275 << *yylocationp <<
": ";
296 #line 43 "evalexpr_parser.yy"
298 free(((*yyvaluep).sym));
301 #line 279 "evalexpr_parser.cpp"
376 int yyerrstatus_ = 0;
399 YYCDEBUG <<
"Starting parse" << std::endl;
415 YYCDEBUG <<
"Entering state " << yystate << std::endl;
441 yychar = yytoken =
yyeof_;
442 YYCDEBUG <<
"Now at end of input." << std::endl;
520 #line 49 "evalexpr_parser.yy"
528 #line 51 "evalexpr_parser.yy"
536 #line 52 "evalexpr_parser.yy"
545 #line 53 "evalexpr_parser.yy"
554 #line 54 "evalexpr_parser.yy"
562 #line 55 "evalexpr_parser.yy"
570 #line 56 "evalexpr_parser.yy"
578 #line 57 "evalexpr_parser.yy"
586 #line 58 "evalexpr_parser.yy"
594 #line 59 "evalexpr_parser.yy"
602 #line 60 "evalexpr_parser.yy"
610 #line 61 "evalexpr_parser.yy"
618 #line 562 "evalexpr_parser.cpp"
646 if ((0 <= yystate) && (yystate <=
yylast_) &&
671 yyerror_range[1] = yylloc;
672 if (yyerrstatus_ == 3)
683 yydestruct_(
"Error: discarding", yytoken, &yylval, &yylloc);
745 yyerror_range[2] = yylloc;
775 yydestruct_(
"Cleanup: discarding lookahead", yytoken, &yylval,
796 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack"
835 YYERROR_VERBOSE_ARGS_MAXIMUM = 5
838 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
867 yyarg[yycount++] =
yytname_[yytoken];
874 int yyxbegin = yyn < 0 ? -yyn : 0;
876 int yychecklim =
yylast_ - yyn + 1;
878 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx) {
882 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
893 char const *yyformat =
YY_NULL;
896 #define YYCASE_(N, S) \
901 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
902 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
903 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
904 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
905 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
911 for (
char const *yyp = yyformat; *yyp; ++yyp) {
912 if ((yyp[0] ==
'%') && (yyp[1] ==
's') && (yyi < yycount))
929 2, -10, -11, 2, 2, 2, 4, 28, 2, 8,
930 8, 10, -11, 2, 2, 2, 2, 2, 19, -11,
940 2, 5, 4, 0, 0, 0, 0, 3, 0, 12,
941 11, 0, 1, 0, 0, 0, 0, 0, 0, 14,
966 9, 10, 11, 8, 12, 18, 1, 2, 3, 4,
967 20, 21, 22, 23, 24, 5, 13, 14, 15, 16,
968 17, 0, 17, 0, 19, 13, 14, 15, 16, 0,
969 0, 17, 0, 25, 13, 14, 15, 16, 15, 16,
977 3, 4, 5, 13, 0, 8, 4, 5, 6, 7,
978 13, 14, 15, 16, 17, 13, 6, 7, 8, 9,
979 12, -1, 12, -1, 14, 6, 7, 8, 9, -1,
980 -1, 12, -1, 14, 6, 7, 8, 9, 8, 9,
989 0, 4, 5, 6, 7, 13, 16, 17, 13, 17,
990 17, 17, 0, 6, 7, 8, 9, 12, 17, 14,
991 17, 17, 17, 17, 17, 14
998 const unsigned short int
1001 0, 256, 257, 258, 259, 260, 45, 43, 42, 47,
1002 261, 262, 94, 40, 41
1010 0, 15, 16, 16, 17, 17, 17, 17, 17, 17,
1018 0, 2, 0, 1, 1, 1, 4, 3, 3, 3,
1028 "$end",
"error",
"$undefined",
"EOL",
"IDENTIFIER",
"NUMBER",
"'-'",
1029 "'+'",
"'*'",
"'/'",
"NEG",
"PLS",
"'^'",
"'('",
"')'",
"$accept",
1038 16, 0, -1, -1, 17, -1, 5, -1, 4, -1,
1039 4, 13, 17, 14, -1, 17, 7, 17, -1, 17,
1040 6, 17, -1, 17, 8, 17, -1, 17, 9, 17,
1041 -1, 7, 17, -1, 6, 17, -1, 17, 12, 17,
1050 0, 0, 3, 4, 6, 8, 10, 15, 19, 23,
1058 0, 48, 48, 49, 51, 52, 53, 54, 55, 56,
1079 unsigned int yylno =
yyrline_[yyrule];
1080 int yynrhs =
yyr2_[yyrule];
1083 *
yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
1084 <<
" (line " << yylno <<
"):" << std::endl;
1086 for (
int yyi = 0; yyi < yynrhs; yyi++) {
1103 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1104 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1106 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 13, 14, 8, 7, 2, 6, 2, 9, 2, 2,
1108 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 2, 2, 2, 12, 2, 2, 2, 2, 2,
1113 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1119 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1133 return translate_table[t];
1152 #line 4 "evalexpr_parser.yy"
1155 #line 1085 "evalexpr_parser.cpp"
1157 #line 63 "evalexpr_parser.yy"