shoot, proper fix for bison 2.4
This commit is contained in:
parent
74c56a9487
commit
ee571fa777
|
|
@ -1140,7 +1140,7 @@ static int input (void );
|
|||
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
||||
{ \
|
||||
int c = '*'; \
|
||||
int n; \
|
||||
unsigned n; \
|
||||
for ( n = 0; n < max_size && \
|
||||
(c = getc( xyyin )) != EOF && c != '\n'; ++n ) \
|
||||
buf[n] = (char) c; \
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ typedef short int yytype_int16;
|
|||
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
|
||||
|
||||
#ifndef YY_
|
||||
# if defined YYENABLE_NLS && YYENABLE_NLS
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_(msgid) dgettext ("bison-runtime", msgid)
|
||||
|
|
@ -525,14 +525,14 @@ static const yytype_int8 yyrhs[] =
|
|||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||
static const yytype_uint16 yyrline[] =
|
||||
{
|
||||
0, 108, 108, 109, 110, 111, 116, 115, 129, 130,
|
||||
134, 135, 139, 143, 147, 148, 152, 153, 154, 158,
|
||||
166, 170, 183, 187, 191, 195, 199, 203, 207, 211,
|
||||
215, 219, 223, 230, 235, 248, 249, 253, 257, 261,
|
||||
273, 276, 282, 291, 307, 311, 312, 316, 323, 327,
|
||||
331, 335, 339, 343, 348, 347, 374, 375, 379, 384,
|
||||
388, 396, 404, 412, 418, 422, 426, 430, 431, 435,
|
||||
444, 460
|
||||
0, 108, 108, 109, 110, 111, 116, 115, 130, 131,
|
||||
135, 136, 140, 144, 148, 149, 153, 154, 155, 159,
|
||||
167, 171, 184, 188, 192, 196, 200, 204, 208, 212,
|
||||
216, 220, 224, 231, 236, 249, 250, 254, 258, 262,
|
||||
274, 277, 283, 292, 308, 312, 313, 317, 324, 328,
|
||||
332, 336, 340, 344, 349, 348, 376, 377, 381, 386,
|
||||
390, 398, 406, 414, 420, 424, 428, 432, 433, 437,
|
||||
446, 462
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
@ -775,7 +775,7 @@ while (YYID (0))
|
|||
we won't break user code: when these are the locations we know. */
|
||||
|
||||
#ifndef YY_LOCATION_PRINT
|
||||
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
|
||||
# if YYLTYPE_IS_TRIVIAL
|
||||
# define YY_LOCATION_PRINT(File, Loc) \
|
||||
fprintf (File, "%d.%d-%d.%d", \
|
||||
(Loc).first_line, (Loc).first_column, \
|
||||
|
|
@ -1518,6 +1518,7 @@ yyreduce:
|
|||
case 6:
|
||||
#line 116 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.node) = current_node;
|
||||
XFileTemplate *templ = new XFileTemplate(x_file, (yyvsp[(2) - (4)].str), (yyvsp[(4) - (4)].guid));
|
||||
current_node->add_child(templ);
|
||||
current_node = templ;
|
||||
|
|
@ -1525,7 +1526,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 7:
|
||||
#line 122 "xParser.yxx"
|
||||
#line 123 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.node) = current_node;
|
||||
current_node = (yyvsp[(5) - (7)].u.node);
|
||||
|
|
@ -1533,14 +1534,14 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 12:
|
||||
#line 140 "xParser.yxx"
|
||||
#line 141 "xParser.yxx"
|
||||
{
|
||||
DCAST(XFileTemplate, current_node)->set_open(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case 19:
|
||||
#line 159 "xParser.yxx"
|
||||
#line 160 "xParser.yxx"
|
||||
{
|
||||
current_data_def = new XFileDataDef(x_file, (yyvsp[(2) - (3)].str), (yyvsp[(1) - (3)].u.primitive_type));
|
||||
current_node->add_child(current_data_def);
|
||||
|
|
@ -1548,7 +1549,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 21:
|
||||
#line 171 "xParser.yxx"
|
||||
#line 172 "xParser.yxx"
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template((yyvsp[(1) - (3)].str));
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
|
|
@ -1561,84 +1562,84 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 22:
|
||||
#line 184 "xParser.yxx"
|
||||
#line 185 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_word;
|
||||
}
|
||||
break;
|
||||
|
||||
case 23:
|
||||
#line 188 "xParser.yxx"
|
||||
#line 189 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_dword;
|
||||
}
|
||||
break;
|
||||
|
||||
case 24:
|
||||
#line 192 "xParser.yxx"
|
||||
#line 193 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_float;
|
||||
}
|
||||
break;
|
||||
|
||||
case 25:
|
||||
#line 196 "xParser.yxx"
|
||||
#line 197 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_double;
|
||||
}
|
||||
break;
|
||||
|
||||
case 26:
|
||||
#line 200 "xParser.yxx"
|
||||
#line 201 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_char;
|
||||
}
|
||||
break;
|
||||
|
||||
case 27:
|
||||
#line 204 "xParser.yxx"
|
||||
#line 205 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_uchar;
|
||||
}
|
||||
break;
|
||||
|
||||
case 28:
|
||||
#line 208 "xParser.yxx"
|
||||
#line 209 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_sword;
|
||||
}
|
||||
break;
|
||||
|
||||
case 29:
|
||||
#line 212 "xParser.yxx"
|
||||
#line 213 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_sdword;
|
||||
}
|
||||
break;
|
||||
|
||||
case 30:
|
||||
#line 216 "xParser.yxx"
|
||||
#line 217 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_string;
|
||||
}
|
||||
break;
|
||||
|
||||
case 31:
|
||||
#line 220 "xParser.yxx"
|
||||
#line 221 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_unicode;
|
||||
}
|
||||
break;
|
||||
|
||||
case 32:
|
||||
#line 224 "xParser.yxx"
|
||||
#line 225 "xParser.yxx"
|
||||
{
|
||||
(yyval.u.primitive_type) = XFileDataDef::T_cstring;
|
||||
}
|
||||
break;
|
||||
|
||||
case 33:
|
||||
#line 231 "xParser.yxx"
|
||||
#line 232 "xParser.yxx"
|
||||
{
|
||||
current_data_def = new XFileDataDef(x_file, (yyvsp[(2) - (2)].str), (yyvsp[(1) - (2)].u.primitive_type));
|
||||
current_node->add_child(current_data_def);
|
||||
|
|
@ -1646,7 +1647,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 34:
|
||||
#line 236 "xParser.yxx"
|
||||
#line 237 "xParser.yxx"
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template((yyvsp[(1) - (2)].str));
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
|
|
@ -1659,14 +1660,14 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 38:
|
||||
#line 258 "xParser.yxx"
|
||||
#line 259 "xParser.yxx"
|
||||
{
|
||||
current_data_def->add_array_def(XFileArrayDef((yyvsp[(1) - (1)].u.number)));
|
||||
}
|
||||
break;
|
||||
|
||||
case 39:
|
||||
#line 262 "xParser.yxx"
|
||||
#line 263 "xParser.yxx"
|
||||
{
|
||||
XFileNode *data_def = current_node->find_child((yyvsp[(1) - (1)].str));
|
||||
if (data_def == (XFileNode *)NULL) {
|
||||
|
|
@ -1678,19 +1679,19 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 40:
|
||||
#line 274 "xParser.yxx"
|
||||
#line 275 "xParser.yxx"
|
||||
{
|
||||
}
|
||||
break;
|
||||
|
||||
case 41:
|
||||
#line 277 "xParser.yxx"
|
||||
#line 278 "xParser.yxx"
|
||||
{
|
||||
}
|
||||
break;
|
||||
|
||||
case 42:
|
||||
#line 283 "xParser.yxx"
|
||||
#line 284 "xParser.yxx"
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template((yyvsp[(1) - (1)].str));
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
|
|
@ -1702,7 +1703,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 43:
|
||||
#line 292 "xParser.yxx"
|
||||
#line 293 "xParser.yxx"
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template((yyvsp[(2) - (2)].guid));
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
|
|
@ -1718,37 +1719,38 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 46:
|
||||
#line 313 "xParser.yxx"
|
||||
#line 314 "xParser.yxx"
|
||||
{
|
||||
(yyval.str) = (yyvsp[(1) - (2)].str) + " " + (yyvsp[(2) - (2)].str);
|
||||
}
|
||||
break;
|
||||
|
||||
case 47:
|
||||
#line 317 "xParser.yxx"
|
||||
#line 318 "xParser.yxx"
|
||||
{
|
||||
(yyval.str) = (yyvsp[(1) - (2)].str) + " " + (yyvsp[(2) - (2)].str);
|
||||
}
|
||||
break;
|
||||
|
||||
case 48:
|
||||
#line 324 "xParser.yxx"
|
||||
#line 325 "xParser.yxx"
|
||||
{
|
||||
(yyval.str) = string();
|
||||
}
|
||||
break;
|
||||
|
||||
case 51:
|
||||
#line 336 "xParser.yxx"
|
||||
#line 337 "xParser.yxx"
|
||||
{
|
||||
(yyval.guid) = WindowsGuid();
|
||||
}
|
||||
break;
|
||||
|
||||
case 54:
|
||||
#line 348 "xParser.yxx"
|
||||
#line 349 "xParser.yxx"
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template((yyvsp[(1) - (3)].str));
|
||||
(yyval.u.node) = current_node;
|
||||
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
yyerror("Unknown template: " + (yyvsp[(1) - (3)].str));
|
||||
|
|
@ -1762,7 +1764,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 55:
|
||||
#line 361 "xParser.yxx"
|
||||
#line 363 "xParser.yxx"
|
||||
{
|
||||
if (current_node->is_exact_type(XFileDataNodeTemplate::get_class_type())) {
|
||||
XFileDataNodeTemplate *current_template =
|
||||
|
|
@ -1776,7 +1778,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 58:
|
||||
#line 380 "xParser.yxx"
|
||||
#line 382 "xParser.yxx"
|
||||
{
|
||||
// nested references should be added as children too.
|
||||
current_node->add_child((yyvsp[(2) - (3)].u.node));
|
||||
|
|
@ -1784,14 +1786,14 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 59:
|
||||
#line 385 "xParser.yxx"
|
||||
#line 387 "xParser.yxx"
|
||||
{
|
||||
// nested objects are just quietly added as children.
|
||||
}
|
||||
break;
|
||||
|
||||
case 60:
|
||||
#line 389 "xParser.yxx"
|
||||
#line 391 "xParser.yxx"
|
||||
{
|
||||
if (current_node->is_exact_type(XFileDataNodeTemplate::get_class_type())) {
|
||||
XFileDataNodeTemplate *current_template =
|
||||
|
|
@ -1802,7 +1804,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 61:
|
||||
#line 397 "xParser.yxx"
|
||||
#line 399 "xParser.yxx"
|
||||
{
|
||||
if (current_node->is_exact_type(XFileDataNodeTemplate::get_class_type())) {
|
||||
XFileDataNodeTemplate *current_template =
|
||||
|
|
@ -1813,7 +1815,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 62:
|
||||
#line 405 "xParser.yxx"
|
||||
#line 407 "xParser.yxx"
|
||||
{
|
||||
if (current_node->is_exact_type(XFileDataNodeTemplate::get_class_type())) {
|
||||
XFileDataNodeTemplate *current_template =
|
||||
|
|
@ -1824,13 +1826,13 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 63:
|
||||
#line 413 "xParser.yxx"
|
||||
#line 415 "xParser.yxx"
|
||||
{
|
||||
}
|
||||
break;
|
||||
|
||||
case 69:
|
||||
#line 436 "xParser.yxx"
|
||||
#line 438 "xParser.yxx"
|
||||
{
|
||||
XFileDataNodeTemplate *data_object = x_file->find_data_object((yyvsp[(1) - (1)].str));
|
||||
if (data_object == (XFileDataObject *)NULL) {
|
||||
|
|
@ -1842,7 +1844,7 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 70:
|
||||
#line 445 "xParser.yxx"
|
||||
#line 447 "xParser.yxx"
|
||||
{
|
||||
XFileDataNodeTemplate *data_object = x_file->find_data_object((yyvsp[(2) - (2)].guid));
|
||||
if (data_object == (XFileDataObject *)NULL) {
|
||||
|
|
@ -1860,7 +1862,7 @@ yyreduce:
|
|||
|
||||
|
||||
/* Line 1267 of yacc.c. */
|
||||
#line 1864 "y.tab.c"
|
||||
#line 1866 "y.tab.c"
|
||||
default: break;
|
||||
}
|
||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ xfile:
|
|||
template:
|
||||
TOKEN_TEMPLATE singleword_name TOKEN_OBRACE class_id
|
||||
{
|
||||
$<u.node>$ = current_node;
|
||||
XFileTemplate *templ = new XFileTemplate(x_file, $2, $4);
|
||||
current_node->add_child(templ);
|
||||
current_node = templ;
|
||||
|
|
@ -347,6 +348,7 @@ object:
|
|||
singleword_name optional_multiword_name TOKEN_OBRACE
|
||||
{
|
||||
XFileTemplate *xtemplate = x_file->find_template($1);
|
||||
$<u.node>$ = current_node;
|
||||
|
||||
if (xtemplate == (XFileTemplate *)NULL) {
|
||||
yyerror("Unknown template: " + $1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue