void yyerror(YYLTYPE *locp, ConfigCompiler *context, const char *err)
{
stringstream message;
-
- message << "in " << locp->Path << ": "
- << locp->FirstLine << ":" << locp->FirstColumn
- << "-"
- << locp->LastLine << ":" << locp->LastColumn
- << ": " << err << endl;
-
+ message << *locp;
throw runtime_error(message.str());
}
/* Line 264 of yacc.c */
-#line 245 "config_parser.cc"
+#line 239 "config_parser.cc"
#ifdef short
# undef short
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 101, 101, 102, 105, 105, 108, 114, 119, 114,
- 139, 140, 143, 147, 153, 154, 157, 164, 165, 169,
- 168, 180, 181, 183, 184, 185, 188, 196, 210, 219,
- 220, 221, 222, 223, 229, 234, 238, 244, 245, 246,
- 253, 252, 264, 270, 271, 273, 275, 276
+ 0, 95, 95, 96, 99, 99, 102, 108, 113, 108,
+ 133, 134, 137, 141, 147, 148, 151, 158, 159, 163,
+ 162, 174, 175, 177, 178, 179, 182, 190, 204, 213,
+ 214, 215, 216, 217, 223, 228, 232, 238, 239, 240,
+ 247, 246, 258, 264, 265, 267, 269, 270
};
#endif
case 6:
/* Line 1455 of yacc.c */
-#line 109 "config_parser.yy"
+#line 103 "config_parser.yy"
{
context->HandleInclude((yyvsp[(2) - (2)].text));
}
case 7:
/* Line 1455 of yacc.c */
-#line 114 "config_parser.yy"
+#line 108 "config_parser.yy"
{
m_Abstract = false;
m_Local = false;
case 8:
/* Line 1455 of yacc.c */
-#line 119 "config_parser.yy"
+#line 113 "config_parser.yy"
{
m_Item = boost::make_shared<ConfigItemBuilder>(yylloc);
m_Item->SetType((yyvsp[(4) - (5)].text));
case 9:
/* Line 1455 of yacc.c */
-#line 125 "config_parser.yy"
+#line 119 "config_parser.yy"
{
Object::Ptr exprl_object = *(yyvsp[(8) - (8)].variant);
delete (yyvsp[(8) - (8)].variant);
case 12:
/* Line 1455 of yacc.c */
-#line 144 "config_parser.yy"
+#line 138 "config_parser.yy"
{
m_Abstract = true;
}
case 13:
/* Line 1455 of yacc.c */
-#line 148 "config_parser.yy"
+#line 142 "config_parser.yy"
{
m_Local = true;
}
case 16:
/* Line 1455 of yacc.c */
-#line 158 "config_parser.yy"
+#line 152 "config_parser.yy"
{
m_Item->AddParent((yyvsp[(1) - (1)].text));
free((yyvsp[(1) - (1)].text));
case 19:
/* Line 1455 of yacc.c */
-#line 169 "config_parser.yy"
+#line 163 "config_parser.yy"
{
m_ExpressionLists.push(boost::make_shared<ExpressionList>());
}
case 20:
/* Line 1455 of yacc.c */
-#line 174 "config_parser.yy"
+#line 168 "config_parser.yy"
{
(yyval.variant) = new Variant(m_ExpressionLists.top());
m_ExpressionLists.pop();
case 26:
/* Line 1455 of yacc.c */
-#line 189 "config_parser.yy"
+#line 183 "config_parser.yy"
{
Expression expr((yyvsp[(1) - (3)].text), (yyvsp[(2) - (3)].op), *(yyvsp[(3) - (3)].variant), yylloc);
free((yyvsp[(1) - (3)].text));
case 27:
/* Line 1455 of yacc.c */
-#line 197 "config_parser.yy"
+#line 191 "config_parser.yy"
{
Expression subexpr((yyvsp[(3) - (6)].text), (yyvsp[(5) - (6)].op), *(yyvsp[(6) - (6)].variant), yylloc);
free((yyvsp[(3) - (6)].text));
case 28:
/* Line 1455 of yacc.c */
-#line 211 "config_parser.yy"
+#line 205 "config_parser.yy"
{
Expression expr((yyvsp[(1) - (1)].text), OperatorSet, (yyvsp[(1) - (1)].text), yylloc);
free((yyvsp[(1) - (1)].text));
case 33:
/* Line 1455 of yacc.c */
-#line 224 "config_parser.yy"
+#line 218 "config_parser.yy"
{
(yyval.op) = (yyvsp[(1) - (1)].op);
}
case 34:
/* Line 1455 of yacc.c */
-#line 230 "config_parser.yy"
+#line 224 "config_parser.yy"
{
(yyval.variant) = new Variant((yyvsp[(1) - (1)].text));
free((yyvsp[(1) - (1)].text));
case 35:
/* Line 1455 of yacc.c */
-#line 235 "config_parser.yy"
+#line 229 "config_parser.yy"
{
(yyval.variant) = new Variant((yyvsp[(1) - (1)].num));
}
case 36:
/* Line 1455 of yacc.c */
-#line 239 "config_parser.yy"
+#line 233 "config_parser.yy"
{
(yyval.variant) = new Variant();
}
case 39:
/* Line 1455 of yacc.c */
-#line 247 "config_parser.yy"
+#line 241 "config_parser.yy"
{
(yyval.variant) = (yyvsp[(1) - (1)].variant);
}
case 40:
/* Line 1455 of yacc.c */
-#line 253 "config_parser.yy"
+#line 247 "config_parser.yy"
{
m_Array = boost::make_shared<Dictionary>();
}
case 41:
/* Line 1455 of yacc.c */
-#line 258 "config_parser.yy"
+#line 252 "config_parser.yy"
{
(yyval.variant) = new Variant(m_Array);
m_Array.reset();
case 42:
/* Line 1455 of yacc.c */
-#line 265 "config_parser.yy"
+#line 259 "config_parser.yy"
{
m_Array->AddUnnamedProperty(*(yyvsp[(1) - (1)].variant));
delete (yyvsp[(1) - (1)].variant);
/* Line 1455 of yacc.c */
-#line 1747 "config_parser.cc"
+#line 1741 "config_parser.cc"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
/* Line 1675 of yacc.c */
-#line 278 "config_parser.yy"
+#line 272 "config_parser.yy"