#line 51 "parser.cc" // lalr1.cc:412
// Unqualified %code blocks.
-#line 42 "parser.yy" // lalr1.cc:413
+#line 43 "parser.yy" // lalr1.cc:413
# include "eval_context.h"
{
case 8: // "constant string"
-#line 56 "parser.yy" // lalr1.cc:636
+#line 57 "parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< std::string > (); }
#line 326 "parser.cc" // lalr1.cc:636
break;
case 9: // "option code"
-#line 56 "parser.yy" // lalr1.cc:636
+#line 57 "parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< int > (); }
#line 333 "parser.cc" // lalr1.cc:636
break;
// User initialization code.
- #line 35 "parser.yy" // lalr1.cc:745
+ #line 36 "parser.yy" // lalr1.cc:745
{
// Initialize the initial location.
yyla.location.begin.filename = yyla.location.end.filename = &ctx.file;
switch (yyn)
{
case 2:
-#line 64 "parser.yy" // lalr1.cc:859
+#line 65 "parser.yy" // lalr1.cc:859
{
TokenPtr eq(new TokenEqual());
ctx.expression.push_back(eq);
break;
case 4:
-#line 71 "parser.yy" // lalr1.cc:859
+#line 72 "parser.yy" // lalr1.cc:859
{
TokenPtr str(new TokenString(yystack_[0].value.as< std::string > ()));
ctx.expression.push_back(str);
break;
case 5:
-#line 75 "parser.yy" // lalr1.cc:859
+#line 76 "parser.yy" // lalr1.cc:859
{
TokenPtr opt(new TokenOption(yystack_[0].value.as< int > ()));
ctx.expression.push_back(opt);
break;
case 6:
-#line 79 "parser.yy" // lalr1.cc:859
+#line 80 "parser.yy" // lalr1.cc:859
{
/* push back TokenSubstring */
}
const unsigned char
EvalParser::yyrline_[] =
{
- 0, 64, 64, 68, 71, 75, 79
+ 0, 65, 65, 69, 72, 76, 80
};
// Print the state stack on the debug stream.
#line 21 "parser.yy" // lalr1.cc:1167
} } // isc::eval
#line 972 "parser.cc" // lalr1.cc:1167
-#line 83 "parser.yy" // lalr1.cc:1168
+#line 84 "parser.yy" // lalr1.cc:1168
void
isc::eval::EvalParser::error(const location_type& l,
#include <string>
#include <eval/token.h>
-class EvalContext;
+#include <eval/eval_context_decl.h>
using namespace isc::dhcp;
+using namespace isc::eval;
-#line 52 "parser.h" // lalr1.cc:392
+#line 53 "parser.h" // lalr1.cc:392
# include <cassert>
# include <cstdlib> // std::abort
#line 21 "parser.yy" // lalr1.cc:392
namespace isc { namespace eval {
-#line 129 "parser.h" // lalr1.cc:392
+#line 130 "parser.h" // lalr1.cc:392
#line 21 "parser.yy" // lalr1.cc:392
} } // isc::eval
-#line 997 "parser.h" // lalr1.cc:392
+#line 998 "parser.h" // lalr1.cc:392