37 #line 38 "evalexpr_parser.cpp"
45 #line 46 "evalexpr_parser.cpp"
48 #line 26 "evalexpr_parser.yy"
54 #line 55 "evalexpr_parser.cpp"
58 # if defined __cplusplus && 201103L <= __cplusplus
59 # define YY_NULL nullptr
66 # if defined YYENABLE_NLS && YYENABLE_NLS
69 # define YY_(msgid) dgettext("bison-runtime", msgid)
73 # define YY_(msgid) msgid
77 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
83 # ifndef YYLLOC_DEFAULT
84 # define YYLLOC_DEFAULT(Current, Rhs, N) \
88 (Current).begin = YYRHSLOC(Rhs, 1).begin; \
89 (Current).end = YYRHSLOC(Rhs, N).end; \
93 (Current).begin = (Current).end = YYRHSLOC(Rhs, 0).end; \
101 #define YYUSE(e) ((void)(e))
107 # define YYCDEBUG if (yydebug_) (*yycdebug_)
109 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
113 *yycdebug_ << Title << ' '; \
114 yy_symbol_print_((Type), (Value), (Location)); \
115 *yycdebug_ << std::endl; \
120 # define YY_REDUCE_PRINT(Rule) \
123 yy_reduce_print_(Rule); \
127 # define YY_STACK_PRINT() \
136 # define YYCDEBUG if (false) std::cerr
137 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) YYUSE(Type)
138 # define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
139 # define YY_STACK_PRINT() static_cast<void>(0)
142 #define yyerrok (yyerrstatus_ = 0)
143 #define yyclearin (yychar = yyempty_)
145 #define YYACCEPT goto yyacceptlab
146 #define YYABORT goto yyabortlab
147 #define YYERROR goto yyerrorlab
148 #define YYRECOVERING() (!!yyerrstatus_)
151 #line 4 "evalexpr_parser.yy"
154 #line 151 "evalexpr_parser.cpp"
166 std::string yyr =
"";
167 char const *yyp = yystr;
174 goto do_not_strip_quotes;
178 goto do_not_strip_quotes;
189 do_not_strip_quotes:;
201 yycdebug_(&std::cerr),
225 std::ostream& yyoutput = yyo;
231 #line 40 "evalexpr_parser.yy"
233 yyoutput << ((*yyvaluep).sym);
236 #line 227 "evalexpr_parser.cpp"
241 #line 41 "evalexpr_parser.yy"
243 yyoutput << ((*yyvaluep).val);
246 #line 234 "evalexpr_parser.cpp"
251 #line 41 "evalexpr_parser.yy"
253 yyoutput << ((*yyvaluep).val);
256 #line 241 "evalexpr_parser.cpp"
271 << *yylocationp <<
": ";
292 #line 43 "evalexpr_parser.yy"
294 free(((*yyvaluep).sym));
297 #line 279 "evalexpr_parser.cpp"
372 int yyerrstatus_ = 0;
393 YYCDEBUG <<
"Starting parse" << std::endl;
409 YYCDEBUG <<
"Entering state " << yystate << std::endl;
435 yychar = yytoken =
yyeof_;
436 YYCDEBUG <<
"Now at end of input." << std::endl;
514 #line 49 "evalexpr_parser.yy"
522 #line 51 "evalexpr_parser.yy"
530 #line 52 "evalexpr_parser.yy"
539 #line 53 "evalexpr_parser.yy"
548 #line 54 "evalexpr_parser.yy"
556 #line 55 "evalexpr_parser.yy"
564 #line 56 "evalexpr_parser.yy"
572 #line 57 "evalexpr_parser.yy"
580 #line 58 "evalexpr_parser.yy"
588 #line 59 "evalexpr_parser.yy"
596 #line 60 "evalexpr_parser.yy"
604 #line 61 "evalexpr_parser.yy"
612 #line 562 "evalexpr_parser.cpp"
640 if ((0 <= yystate) && (yystate <=
yylast_) &&
641 (
yycheck_[yystate] == yystate_stack_[0]))
665 yyerror_range[1] = yylloc;
666 if (yyerrstatus_ == 3)
677 yydestruct_(
"Error: discarding", yytoken, &yylval, &yylloc);
704 yystate = yystate_stack_[0];
727 if (yystate_stack_.height() == 1)
735 yystate = yystate_stack_[0];
739 yyerror_range[2] = yylloc;
769 yydestruct_(
"Cleanup: discarding lookahead", yytoken, &yylval,
776 while (1 < yystate_stack_.height())
789 YYCDEBUG <<
"Exception caught: cleaning lookahead and stack"
827 YYERROR_VERBOSE_ARGS_MAXIMUM = 5
830 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
859 yyarg[yycount++] =
yytname_[yytoken];
866 int yyxbegin = yyn < 0 ? -yyn : 0;
868 int yychecklim =
yylast_ - yyn + 1;
870 for (
int yyx = yyxbegin; yyx < yyxend; ++yyx) {
874 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
885 char const *yyformat =
YY_NULL;
888 #define YYCASE_(N, S) \
893 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
894 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
895 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
896 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
897 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
903 for (
char const *yyp = yyformat; *yyp; ++yyp) {
904 if ((yyp[0] ==
'%') && (yyp[1] ==
's') && (yyi < yycount))
921 2, -10, -11, 2, 2, 2, 4, 28, 2, 8,
922 8, 10, -11, 2, 2, 2, 2, 2, 19, -11,
932 2, 5, 4, 0, 0, 0, 0, 3, 0, 12,
933 11, 0, 1, 0, 0, 0, 0, 0, 0, 14,
958 9, 10, 11, 8, 12, 18, 1, 2, 3, 4,
959 20, 21, 22, 23, 24, 5, 13, 14, 15, 16,
960 17, 0, 17, 0, 19, 13, 14, 15, 16, 0,
961 0, 17, 0, 25, 13, 14, 15, 16, 15, 16,
969 3, 4, 5, 13, 0, 8, 4, 5, 6, 7,
970 13, 14, 15, 16, 17, 13, 6, 7, 8, 9,
971 12, -1, 12, -1, 14, 6, 7, 8, 9, -1,
972 -1, 12, -1, 14, 6, 7, 8, 9, 8, 9,
981 0, 4, 5, 6, 7, 13, 16, 17, 13, 17,
982 17, 17, 0, 6, 7, 8, 9, 12, 17, 14,
983 17, 17, 17, 17, 17, 14
990 const unsigned short int
993 0, 256, 257, 258, 259, 260, 45, 43, 42, 47,
1002 0, 15, 16, 16, 17, 17, 17, 17, 17, 17,
1010 0, 2, 0, 1, 1, 1, 4, 3, 3, 3,
1020 "$end",
"error",
"$undefined",
"EOL",
"IDENTIFIER",
"NUMBER",
"'-'",
1021 "'+'",
"'*'",
"'/'",
"NEG",
"PLS",
"'^'",
"'('",
"')'",
"$accept",
1030 16, 0, -1, -1, 17, -1, 5, -1, 4, -1,
1031 4, 13, 17, 14, -1, 17, 7, 17, -1, 17,
1032 6, 17, -1, 17, 8, 17, -1, 17, 9, 17,
1033 -1, 7, 17, -1, 6, 17, -1, 17, 12, 17,
1042 0, 0, 3, 4, 6, 8, 10, 15, 19, 23,
1050 0, 48, 48, 49, 51, 52, 53, 54, 55, 56,
1071 unsigned int yylno =
yyrline_[yyrule];
1072 int yynrhs =
yyr2_[yyrule];
1075 *
yycdebug_ <<
"Reducing stack by rule " << yyrule - 1
1076 <<
" (line " << yylno <<
"):" << std::endl;
1078 for (
int yyi = 0; yyi < yynrhs; yyi++) {
1095 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1096 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1097 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1098 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1099 13, 14, 8, 7, 2, 6, 2, 9, 2, 2,
1100 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1101 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1102 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1103 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1104 2, 2, 2, 2, 12, 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 2, 2, 2, 2, 2, 2, 2, 2, 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, 2, 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, 1, 2, 3, 4,
1125 return translate_table[t];
1144 #line 4 "evalexpr_parser.yy"
1147 #line 1085 "evalexpr_parser.cpp"
1149 #line 63 "evalexpr_parser.yy"