mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
prebuild-bison
This commit is contained in:
parent
b020b2047a
commit
accceecf58
@ -1342,7 +1342,7 @@ YY_RULE_SETUP
|
|||||||
// An integer as part of a semicolon-delimited list.
|
// An integer as part of a semicolon-delimited list.
|
||||||
accept();
|
accept();
|
||||||
xyylval.int_list = parse_int_list(xyytext, ";");
|
xyylval.int_list = parse_int_list(xyytext, ";");
|
||||||
xyylval.u.separator_token = TOKEN_SEMICOLON;
|
xyylval.u.separator = ';';
|
||||||
|
|
||||||
return TOKEN_INTEGER_LIST;
|
return TOKEN_INTEGER_LIST;
|
||||||
}
|
}
|
||||||
@ -1354,7 +1354,7 @@ YY_RULE_SETUP
|
|||||||
// A floating-point number as part of a semicolon-delimited list.
|
// A floating-point number as part of a semicolon-delimited list.
|
||||||
accept();
|
accept();
|
||||||
xyylval.double_list = parse_double_list(xyytext, ";");
|
xyylval.double_list = parse_double_list(xyytext, ";");
|
||||||
xyylval.u.separator_token = TOKEN_SEMICOLON;
|
xyylval.u.separator = ';';
|
||||||
|
|
||||||
return TOKEN_REALNUM_LIST;
|
return TOKEN_REALNUM_LIST;
|
||||||
}
|
}
|
||||||
@ -1366,7 +1366,7 @@ YY_RULE_SETUP
|
|||||||
// An integer as part of a semicolon-delimited list.
|
// An integer as part of a semicolon-delimited list.
|
||||||
accept();
|
accept();
|
||||||
xyylval.int_list = parse_int_list(xyytext, ",");
|
xyylval.int_list = parse_int_list(xyytext, ",");
|
||||||
xyylval.u.separator_token = TOKEN_COMMA;
|
xyylval.u.separator = ',';
|
||||||
|
|
||||||
return TOKEN_INTEGER_LIST;
|
return TOKEN_INTEGER_LIST;
|
||||||
}
|
}
|
||||||
@ -1378,7 +1378,7 @@ YY_RULE_SETUP
|
|||||||
// A floating-point number as part of a semicolon-delimited list.
|
// A floating-point number as part of a semicolon-delimited list.
|
||||||
accept();
|
accept();
|
||||||
xyylval.double_list = parse_double_list(xyytext, ",");
|
xyylval.double_list = parse_double_list(xyytext, ",");
|
||||||
xyylval.u.separator_token = TOKEN_COMMA;
|
xyylval.u.separator = ',';
|
||||||
|
|
||||||
return TOKEN_REALNUM_LIST;
|
return TOKEN_REALNUM_LIST;
|
||||||
}
|
}
|
||||||
|
@ -135,8 +135,8 @@ static const short yyprhs[] =
|
|||||||
56, 58, 60, 62, 64, 66, 68, 70, 72, 74,
|
56, 58, 60, 62, 64, 66, 68, 70, 72, 74,
|
||||||
76, 78, 81, 84, 86, 89, 93, 95, 97, 99,
|
76, 78, 81, 84, 86, 89, 93, 95, 97, 99,
|
||||||
102, 104, 107, 109, 111, 113, 115, 117, 119, 123,
|
102, 104, 107, 109, 111, 113, 115, 117, 119, 123,
|
||||||
124, 132, 134, 137, 139, 141, 143, 145, 148, 150,
|
124, 132, 134, 137, 141, 143, 145, 147, 150, 152,
|
||||||
152, 154, 156, 158, 160, 165
|
154, 156, 158, 160, 162, 164, 167
|
||||||
};
|
};
|
||||||
static const short yyrhs[] =
|
static const short yyrhs[] =
|
||||||
{
|
{
|
||||||
@ -150,13 +150,13 @@ static const short yyrhs[] =
|
|||||||
28, 0, 30, 0, 31, 0, 32, 0, 45, 52,
|
28, 0, 30, 0, 31, 0, 32, 0, 45, 52,
|
||||||
0, 52, 52, 0, 48, 0, 47, 48, 0, 13,
|
0, 52, 52, 0, 48, 0, 47, 48, 0, 13,
|
||||||
49, 14, 0, 5, 0, 52, 0, 51, 0, 50,
|
49, 14, 0, 5, 0, 52, 0, 51, 0, 50,
|
||||||
51, 0, 52, 0, 52, 6, 0, 3, 0, 66,
|
51, 0, 52, 0, 52, 54, 0, 3, 0, 66,
|
||||||
0, 52, 0, 6, 0, 66, 0, 54, 0, 17,
|
0, 52, 0, 6, 0, 66, 0, 54, 0, 17,
|
||||||
17, 17, 0, 0, 52, 53, 9, 58, 55, 59,
|
17, 17, 0, 0, 52, 53, 9, 58, 55, 59,
|
||||||
10, 0, 60, 0, 59, 60, 0, 65, 0, 57,
|
10, 0, 60, 0, 59, 60, 0, 9, 65, 10,
|
||||||
0, 61, 0, 62, 0, 63, 64, 0, 64, 0,
|
0, 57, 0, 61, 0, 62, 0, 63, 64, 0,
|
||||||
7, 0, 8, 0, 4, 0, 19, 0, 18, 0,
|
64, 0, 7, 0, 8, 0, 4, 0, 19, 0,
|
||||||
9, 52, 55, 10, 0, 0
|
18, 0, 52, 0, 52, 54, 0, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -165,13 +165,13 @@ static const short yyrhs[] =
|
|||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
static const short yyrline[] =
|
static const short yyrline[] =
|
||||||
{
|
{
|
||||||
0, 104, 106, 107, 110, 110, 125, 127, 130, 132,
|
0, 106, 108, 109, 112, 112, 127, 129, 132, 134,
|
||||||
135, 140, 143, 145, 148, 150, 151, 154, 162, 166,
|
137, 142, 145, 147, 150, 152, 153, 156, 164, 168,
|
||||||
179, 184, 188, 192, 196, 200, 204, 208, 212, 216,
|
181, 186, 190, 194, 198, 202, 206, 210, 214, 218,
|
||||||
220, 226, 232, 244, 246, 249, 253, 258, 269, 273,
|
222, 228, 234, 246, 248, 251, 255, 260, 271, 275,
|
||||||
278, 288, 303, 307, 312, 315, 319, 324, 327, 331,
|
280, 290, 305, 309, 314, 317, 321, 326, 329, 333,
|
||||||
331, 353, 355, 358, 362, 365, 368, 371, 374, 379,
|
333, 361, 363, 366, 383, 391, 397, 403, 409, 417,
|
||||||
383, 387, 391, 393, 396, 400
|
421, 425, 429, 434, 440, 450, 466
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ static const short yyr1[] =
|
|||||||
45, 46, 46, 47, 47, 48, 49, 49, 50, 50,
|
45, 46, 46, 47, 47, 48, 49, 49, 50, 50,
|
||||||
51, 51, 52, 53, 53, 54, 55, 55, 56, 58,
|
51, 51, 52, 53, 53, 54, 55, 55, 56, 58,
|
||||||
57, 59, 59, 60, 60, 60, 60, 60, 60, 61,
|
57, 59, 59, 60, 60, 60, 60, 60, 60, 61,
|
||||||
62, 63, 64, 64, 65, 66
|
62, 63, 64, 64, 65, 65, 66
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||||
@ -221,8 +221,8 @@ static const short yyr2[] =
|
|||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 2, 2, 1, 2, 3, 1, 1, 1, 2,
|
1, 2, 2, 1, 2, 3, 1, 1, 1, 2,
|
||||||
1, 2, 1, 1, 1, 1, 1, 1, 3, 0,
|
1, 2, 1, 1, 1, 1, 1, 1, 3, 0,
|
||||||
7, 1, 2, 1, 1, 1, 1, 2, 1, 1,
|
7, 1, 2, 3, 1, 1, 1, 2, 1, 1,
|
||||||
1, 1, 1, 1, 4, 0
|
1, 1, 1, 1, 1, 2, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
|
||||||
@ -230,82 +230,82 @@ static const short yyr2[] =
|
|||||||
error. */
|
error. */
|
||||||
static const short yydefact[] =
|
static const short yydefact[] =
|
||||||
{
|
{
|
||||||
65, 0, 1, 42, 0, 2, 65, 3, 0, 44,
|
66, 0, 1, 42, 0, 2, 66, 3, 0, 44,
|
||||||
0, 43, 0, 49, 45, 4, 65, 65, 47, 0,
|
0, 43, 0, 49, 45, 4, 66, 66, 47, 0,
|
||||||
46, 20, 21, 22, 23, 24, 25, 26, 27, 28,
|
46, 20, 21, 22, 23, 24, 25, 26, 27, 28,
|
||||||
29, 30, 0, 0, 0, 7, 12, 14, 15, 16,
|
29, 30, 0, 0, 0, 7, 12, 14, 15, 16,
|
||||||
65, 65, 8, 61, 59, 60, 0, 63, 62, 54,
|
66, 66, 8, 61, 59, 60, 0, 63, 62, 54,
|
||||||
0, 51, 55, 56, 0, 58, 53, 0, 0, 0,
|
0, 51, 55, 56, 0, 58, 0, 0, 0, 5,
|
||||||
5, 0, 13, 0, 0, 65, 50, 52, 57, 31,
|
0, 13, 0, 0, 64, 0, 50, 52, 57, 31,
|
||||||
0, 0, 33, 32, 0, 0, 11, 38, 40, 10,
|
0, 0, 33, 32, 0, 0, 11, 38, 40, 10,
|
||||||
17, 19, 0, 36, 0, 37, 18, 34, 0, 6,
|
17, 19, 65, 53, 36, 0, 37, 18, 34, 0,
|
||||||
39, 41, 64, 35, 48, 0, 0
|
6, 39, 41, 35, 48, 0, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
static const short yydefgoto[] =
|
static const short yydefgoto[] =
|
||||||
{
|
{
|
||||||
1, 5, 17, 33, 34, 75, 35, 36, 37, 38,
|
1, 5, 17, 33, 34, 75, 35, 36, 37, 38,
|
||||||
39, 40, 58, 71, 72, 84, 76, 77, 6, 10,
|
39, 40, 57, 71, 72, 85, 76, 77, 6, 10,
|
||||||
18, 19, 79, 49, 16, 50, 51, 52, 53, 54,
|
15, 19, 79, 49, 16, 50, 51, 52, 53, 54,
|
||||||
55, 56, 11
|
55, 65, 11
|
||||||
};
|
};
|
||||||
|
|
||||||
static const short yypact[] =
|
static const short yypact[] =
|
||||||
{
|
{
|
||||||
-32768, 1,-32768,-32768, 6,-32768, 6,-32768, 9,-32768,
|
-32768, 3,-32768,-32768, 6,-32768, 6,-32768, 18,-32768,
|
||||||
18,-32768, 34,-32768,-32768,-32768, 34, 70,-32768, 26,
|
23,-32768, 34,-32768,-32768,-32768, 34, 65,-32768, 26,
|
||||||
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
|
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
|
||||||
-32768,-32768, 87, 22, 28, 56,-32768,-32768,-32768,-32768,
|
-32768,-32768, 78, 31, 30, 52,-32768,-32768,-32768,-32768,
|
||||||
6, 6,-32768,-32768,-32768,-32768, 6,-32768,-32768,-32768,
|
6, 6,-32768,-32768,-32768,-32768, 6,-32768,-32768,-32768,
|
||||||
7,-32768,-32768,-32768, 20,-32768,-32768, 6, 30, 6,
|
7,-32768,-32768,-32768, -11,-32768, 6, 33, 6,-32768,
|
||||||
-32768, 5,-32768, 27, 29, 34,-32768,-32768,-32768,-32768,
|
2,-32768, 28, 29, 34, 40,-32768,-32768,-32768,-32768,
|
||||||
2, -7,-32768,-32768, 32, 33, 6,-32768, 44,-32768,
|
19, -1,-32768,-32768, 36, 37, 6,-32768, 34,-32768,
|
||||||
-32768,-32768, 41,-32768, 38,-32768,-32768,-32768, 37,-32768,
|
-32768,-32768,-32768,-32768,-32768, 43,-32768,-32768,-32768, 41,
|
||||||
-32768,-32768,-32768,-32768,-32768, 58,-32768
|
-32768,-32768,-32768,-32768,-32768, 59,-32768
|
||||||
};
|
};
|
||||||
|
|
||||||
static const short yypgoto[] =
|
static const short yypgoto[] =
|
||||||
{
|
{
|
||||||
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 21,-32768,-32768,
|
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 25,-32768,-32768,
|
||||||
-32768, 31,-32768,-32768, -11,-32768,-32768, -15, -4, -17,
|
-32768, 32,-32768,-32768, -10,-32768,-32768, -14, -4, -2,
|
||||||
50, -1,-32768, 64,-32768,-32768, 17,-32768,-32768,-32768,
|
-15,-32768,-32768, 66,-32768,-32768, 20,-32768,-32768,-32768,
|
||||||
16,-32768, 3
|
15,-32768, 4
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define YYLAST 119
|
#define YYLAST 110
|
||||||
|
|
||||||
|
|
||||||
static const short yytable[] =
|
static const short yytable[] =
|
||||||
{
|
{
|
||||||
8, 95, 9, 2, 3, 3, 70, 83, 3, 3,
|
8, 18, 9, 95, 2, 3, 3, 47, 48, 3,
|
||||||
3, 43, 86, 41, 44, 45, 46, 66, 12, 20,
|
3, 43, 70, 41, 44, 45, 46, 66, 87, 74,
|
||||||
42, 4, 74, 63, 64, 47, 48, 13, 59, 3,
|
20, 42, 3, 4, 84, 47, 48, 12, 58, 3,
|
||||||
43, 41, 60, 44, 45, 46, 9, 9, 47, 48,
|
43, 41, 13, 44, 45, 46, 9, 9, 62, 63,
|
||||||
14, 61, 65, 70, 47, 48, 80, 89, 81, 88,
|
14, 59, 64, 60, 47, 48, 70, 80, 81, 82,
|
||||||
91, 92, 93, 69, 94, 73, 62, 78, 96, 3,
|
83, 90, 69, 89, 73, 3, 78, 93, 94, 96,
|
||||||
87, 90, 15, 57, 82, 7, 85, 67, 20, -9,
|
61, 88, 91, 92, 56, -9, 86, 7, 3, 68,
|
||||||
68, 0, 78, 3, 0, 0, 0, 21, 22, 23,
|
67, 0, 78, 21, 22, 23, 24, 25, 26, 27,
|
||||||
24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
|
28, 3, 29, 30, 31, 32, 21, 22, 23, 24,
|
||||||
3, 21, 22, 23, 24, 25, 26, 27, 28, 0,
|
25, 26, 27, 28, 0, 29, 30, 31, 32, 21,
|
||||||
29, 30, 31, 32, 0, 0, 0, 0, 21, 22,
|
22, 23, 24, 25, 26, 27, 28, 0, 29, 30,
|
||||||
23, 24, 25, 26, 27, 28, 0, 29, 30, 31
|
31
|
||||||
};
|
};
|
||||||
|
|
||||||
static const short yycheck[] =
|
static const short yycheck[] =
|
||||||
{
|
{
|
||||||
4, 0, 6, 0, 3, 3, 13, 5, 3, 3,
|
4, 16, 6, 0, 0, 3, 3, 18, 19, 3,
|
||||||
3, 4, 19, 17, 7, 8, 9, 10, 9, 16,
|
3, 4, 13, 17, 7, 8, 9, 10, 19, 17,
|
||||||
17, 20, 17, 40, 41, 18, 19, 9, 32, 3,
|
16, 17, 3, 20, 5, 18, 19, 9, 32, 3,
|
||||||
4, 35, 10, 7, 8, 9, 40, 41, 18, 19,
|
4, 35, 9, 7, 8, 9, 40, 41, 40, 41,
|
||||||
6, 13, 46, 13, 18, 19, 19, 14, 19, 17,
|
6, 10, 46, 13, 18, 19, 13, 19, 19, 64,
|
||||||
6, 10, 14, 57, 17, 59, 35, 61, 0, 3,
|
10, 14, 56, 17, 58, 3, 60, 14, 17, 0,
|
||||||
71, 76, 12, 32, 65, 1, 70, 50, 65, 13,
|
35, 71, 76, 78, 32, 13, 70, 1, 3, 54,
|
||||||
54, -1, 76, 3, -1, -1, -1, 21, 22, 23,
|
50, -1, 76, 21, 22, 23, 24, 25, 26, 27,
|
||||||
24, 25, 26, 27, 28, -1, 30, 31, 32, 33,
|
28, 3, 30, 31, 32, 33, 21, 22, 23, 24,
|
||||||
3, 21, 22, 23, 24, 25, 26, 27, 28, -1,
|
25, 26, 27, 28, -1, 30, 31, 32, 33, 21,
|
||||||
30, 31, 32, 33, -1, -1, -1, -1, 21, 22,
|
22, 23, 24, 25, 26, 27, 28, -1, 30, 31,
|
||||||
23, 24, 25, 26, 27, 28, -1, 30, 31, 32
|
32
|
||||||
};
|
};
|
||||||
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
|
||||||
#line 3 "/usr/share/bison/bison.simple"
|
#line 3 "/usr/share/bison/bison.simple"
|
||||||
@ -1015,139 +1015,139 @@ yyreduce:
|
|||||||
switch (yyn) {
|
switch (yyn) {
|
||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
#line 112 "xParser.yxx"
|
#line 114 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.node = current_node;
|
yyval.u.node = current_node;
|
||||||
XFileTemplate *templ = new XFileTemplate(yyvsp[-2].str, yyvsp[0].guid);
|
XFileTemplate *templ = new XFileTemplate(x_file, yyvsp[-2].str, yyvsp[0].guid);
|
||||||
current_node->add_child(templ);
|
current_node->add_child(templ);
|
||||||
current_node = templ;
|
current_node = templ;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
#line 119 "xParser.yxx"
|
#line 121 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.node = current_node;
|
yyval.u.node = current_node;
|
||||||
current_node = yyvsp[-2].u.node;
|
current_node = yyvsp[-2].u.node;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
#line 137 "xParser.yxx"
|
#line 139 "xParser.yxx"
|
||||||
{
|
{
|
||||||
DCAST(XFileTemplate, current_node)->set_open(true);
|
DCAST(XFileTemplate, current_node)->set_open(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 17:
|
case 17:
|
||||||
#line 156 "xParser.yxx"
|
#line 158 "xParser.yxx"
|
||||||
{
|
{
|
||||||
current_data_def = new XFileDataDef(yyvsp[-2].u.primitive_type, yyvsp[-1].str);
|
current_data_def = new XFileDataDef(x_file, yyvsp[-1].str, yyvsp[-2].u.primitive_type);
|
||||||
current_node->add_child(current_data_def);
|
current_node->add_child(current_data_def);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 19:
|
case 19:
|
||||||
#line 168 "xParser.yxx"
|
#line 170 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-2].str);
|
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-2].str);
|
||||||
if (xtemplate == (XFileTemplate *)NULL) {
|
if (xtemplate == (XFileTemplate *)NULL) {
|
||||||
yyerror("Unknown template: " + yyvsp[-2].str);
|
yyerror("Unknown template: " + yyvsp[-2].str);
|
||||||
} else {
|
} else {
|
||||||
current_data_def = new XFileDataDef(XFileDataDef::T_template, yyvsp[-1].str, xtemplate);
|
current_data_def = new XFileDataDef(x_file, yyvsp[-1].str, XFileDataDef::T_template, xtemplate);
|
||||||
current_node->add_child(current_data_def);
|
current_node->add_child(current_data_def);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 20:
|
case 20:
|
||||||
#line 181 "xParser.yxx"
|
#line 183 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_word;
|
yyval.u.primitive_type = XFileDataDef::T_word;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
#line 185 "xParser.yxx"
|
#line 187 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_dword;
|
yyval.u.primitive_type = XFileDataDef::T_dword;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 22:
|
case 22:
|
||||||
#line 189 "xParser.yxx"
|
#line 191 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_float;
|
yyval.u.primitive_type = XFileDataDef::T_float;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 23:
|
case 23:
|
||||||
#line 193 "xParser.yxx"
|
#line 195 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_double;
|
yyval.u.primitive_type = XFileDataDef::T_double;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
#line 197 "xParser.yxx"
|
#line 199 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_char;
|
yyval.u.primitive_type = XFileDataDef::T_char;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 25:
|
case 25:
|
||||||
#line 201 "xParser.yxx"
|
#line 203 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_uchar;
|
yyval.u.primitive_type = XFileDataDef::T_uchar;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 26:
|
case 26:
|
||||||
#line 205 "xParser.yxx"
|
#line 207 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_sword;
|
yyval.u.primitive_type = XFileDataDef::T_sword;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 27:
|
case 27:
|
||||||
#line 209 "xParser.yxx"
|
#line 211 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_sdword;
|
yyval.u.primitive_type = XFileDataDef::T_sdword;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 28:
|
case 28:
|
||||||
#line 213 "xParser.yxx"
|
#line 215 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_string;
|
yyval.u.primitive_type = XFileDataDef::T_string;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 29:
|
||||||
#line 217 "xParser.yxx"
|
#line 219 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_unicode;
|
yyval.u.primitive_type = XFileDataDef::T_unicode;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 30:
|
case 30:
|
||||||
#line 221 "xParser.yxx"
|
#line 223 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.u.primitive_type = XFileDataDef::T_cstring;
|
yyval.u.primitive_type = XFileDataDef::T_cstring;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 31:
|
case 31:
|
||||||
#line 228 "xParser.yxx"
|
#line 230 "xParser.yxx"
|
||||||
{
|
{
|
||||||
current_data_def = new XFileDataDef(yyvsp[-1].u.primitive_type, yyvsp[0].str);
|
current_data_def = new XFileDataDef(x_file, yyvsp[0].str, yyvsp[-1].u.primitive_type);
|
||||||
current_node->add_child(current_data_def);
|
current_node->add_child(current_data_def);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 32:
|
case 32:
|
||||||
#line 233 "xParser.yxx"
|
#line 235 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-1].str);
|
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-1].str);
|
||||||
if (xtemplate == (XFileTemplate *)NULL) {
|
if (xtemplate == (XFileTemplate *)NULL) {
|
||||||
yyerror("Unknown template: " + yyvsp[-1].str);
|
yyerror("Unknown template: " + yyvsp[-1].str);
|
||||||
} else {
|
} else {
|
||||||
current_data_def = new XFileDataDef(XFileDataDef::T_template, yyvsp[0].str, xtemplate);
|
current_data_def = new XFileDataDef(x_file, yyvsp[0].str, XFileDataDef::T_template, xtemplate);
|
||||||
current_node->add_child(current_data_def);
|
current_node->add_child(current_data_def);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 36:
|
case 36:
|
||||||
#line 255 "xParser.yxx"
|
#line 257 "xParser.yxx"
|
||||||
{
|
{
|
||||||
current_data_def->add_array_def(XFileArrayDef(yyvsp[0].u.number));
|
current_data_def->add_array_def(XFileArrayDef(yyvsp[0].u.number));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
#line 259 "xParser.yxx"
|
#line 261 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileNode *data_def = current_node->find_child(yyvsp[0].str);
|
XFileNode *data_def = current_node->find_child(yyvsp[0].str);
|
||||||
if (data_def == (XFileNode *)NULL) {
|
if (data_def == (XFileNode *)NULL) {
|
||||||
@ -1158,17 +1158,17 @@ case 37:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 38:
|
case 38:
|
||||||
#line 271 "xParser.yxx"
|
#line 273 "xParser.yxx"
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 39:
|
case 39:
|
||||||
#line 274 "xParser.yxx"
|
#line 276 "xParser.yxx"
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 40:
|
case 40:
|
||||||
#line 280 "xParser.yxx"
|
#line 282 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileTemplate *xtemplate = x_file->find_template(yyvsp[0].str);
|
XFileTemplate *xtemplate = x_file->find_template(yyvsp[0].str);
|
||||||
if (xtemplate == (XFileTemplate *)NULL) {
|
if (xtemplate == (XFileTemplate *)NULL) {
|
||||||
@ -1179,7 +1179,7 @@ case 40:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 41:
|
case 41:
|
||||||
#line 289 "xParser.yxx"
|
#line 291 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileTemplate *xtemplate = x_file->find_template(yyvsp[0].guid);
|
XFileTemplate *xtemplate = x_file->find_template(yyvsp[0].guid);
|
||||||
if (xtemplate == (XFileTemplate *)NULL) {
|
if (xtemplate == (XFileTemplate *)NULL) {
|
||||||
@ -1194,19 +1194,19 @@ case 41:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 43:
|
case 43:
|
||||||
#line 309 "xParser.yxx"
|
#line 311 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.str = string();
|
yyval.str = string();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 46:
|
case 46:
|
||||||
#line 321 "xParser.yxx"
|
#line 323 "xParser.yxx"
|
||||||
{
|
{
|
||||||
yyval.guid = WindowsGuid();
|
yyval.guid = WindowsGuid();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 49:
|
case 49:
|
||||||
#line 333 "xParser.yxx"
|
#line 335 "xParser.yxx"
|
||||||
{
|
{
|
||||||
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-2].str);
|
XFileTemplate *xtemplate = x_file->find_template(yyvsp[-2].str);
|
||||||
yyval.u.node = current_node;
|
yyval.u.node = current_node;
|
||||||
@ -1215,47 +1215,122 @@ case 49:
|
|||||||
yyerror("Unknown template: " + yyvsp[-2].str);
|
yyerror("Unknown template: " + yyvsp[-2].str);
|
||||||
} else {
|
} else {
|
||||||
XFileDataObjectTemplate *templ =
|
XFileDataObjectTemplate *templ =
|
||||||
new XFileDataObjectTemplate(xtemplate, yyvsp[-1].str);
|
new XFileDataObjectTemplate(x_file, yyvsp[-1].str, xtemplate);
|
||||||
current_node->add_child(templ);
|
current_node->add_child(templ);
|
||||||
current_node = templ;
|
current_node = templ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 50:
|
case 50:
|
||||||
#line 347 "xParser.yxx"
|
#line 349 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
if (!current_template->finalize_parse_data()) {
|
||||||
|
yyerror("Invalid data for object.");
|
||||||
|
}
|
||||||
|
|
||||||
yyval.u.node = current_node;
|
yyval.u.node = current_node;
|
||||||
current_node = yyvsp[-3].u.node;
|
current_node = yyvsp[-3].u.node;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 53:
|
case 53:
|
||||||
#line 360 "xParser.yxx"
|
#line 368 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
if (yyvsp[-1].u.node != (XFileNode *)NULL) {
|
||||||
|
if (!yyvsp[-1].u.node->is_of_type(XFileDataObjectTemplate::get_class_type())) {
|
||||||
|
// Actually, maybe you can--the docs aren't clear about this.
|
||||||
|
// But I don't think there's any real reason to.
|
||||||
|
yyerror("Can't reference primitive data type.");
|
||||||
|
} else {
|
||||||
|
XFileDataObjectTemplate *object =
|
||||||
|
DCAST(XFileDataObjectTemplate, yyvsp[-1].u.node);
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_object(object, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 54:
|
case 54:
|
||||||
#line 363 "xParser.yxx"
|
#line 384 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *object =
|
||||||
|
DCAST(XFileDataObjectTemplate, yyvsp[0].u.node);
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_object(object, false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 55:
|
case 55:
|
||||||
#line 366 "xParser.yxx"
|
#line 392 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_int(yyvsp[0].int_list, yyvsp[0].u.separator);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 56:
|
case 56:
|
||||||
#line 369 "xParser.yxx"
|
#line 398 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_double(yyvsp[0].double_list, yyvsp[0].u.separator);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 57:
|
case 57:
|
||||||
#line 372 "xParser.yxx"
|
#line 404 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_string(yyvsp[-1].str, yyvsp[0].u.separator);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 58:
|
case 58:
|
||||||
#line 375 "xParser.yxx"
|
#line 410 "xParser.yxx"
|
||||||
{
|
{
|
||||||
|
XFileDataObjectTemplate *current_template =
|
||||||
|
DCAST(XFileDataObjectTemplate, current_node);
|
||||||
|
current_template->add_parse_separator(yyvsp[0].u.separator);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 62:
|
||||||
|
#line 431 "xParser.yxx"
|
||||||
|
{
|
||||||
|
yyval.u.separator = ';';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 63:
|
||||||
|
#line 435 "xParser.yxx"
|
||||||
|
{
|
||||||
|
yyval.u.separator = ',';
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 64:
|
||||||
|
#line 442 "xParser.yxx"
|
||||||
|
{
|
||||||
|
XFileDataObject *data_object = x_file->find_data_object(yyvsp[0].str);
|
||||||
|
if (data_object == (XFileDataObject *)NULL) {
|
||||||
|
yyerror("Unknown data_object: " + yyvsp[0].str);
|
||||||
|
}
|
||||||
|
|
||||||
|
yyval.u.node = data_object;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 65:
|
||||||
|
#line 451 "xParser.yxx"
|
||||||
|
{
|
||||||
|
XFileDataObject *data_object = x_file->find_data_object(yyvsp[0].guid);
|
||||||
|
if (data_object == (XFileDataObject *)NULL) {
|
||||||
|
yyerror("Unknown data_object: " + yyvsp[-1].str);
|
||||||
|
} else {
|
||||||
|
if (data_object->get_name() != yyvsp[-1].str) {
|
||||||
|
xyywarning("GUID identifies data_object " + data_object->get_name() +
|
||||||
|
", not " + yyvsp[-1].str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
yyval.u.node = data_object;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1491,4 +1566,4 @@ yyreturn:
|
|||||||
#endif
|
#endif
|
||||||
return yyresult;
|
return yyresult;
|
||||||
}
|
}
|
||||||
#line 402 "xParser.yxx"
|
#line 468 "xParser.yxx"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user