|
|
@@ -240,21 +240,21 @@ static const short yyrhs[] =
|
|
|
static const short yyrline[] =
|
|
|
{
|
|
|
0, 147, 149, 152, 154, 155, 166, 172, 173, 176,
|
|
|
- 176, 189, 194, 200, 213, 215, 221, 223, 229, 234,
|
|
|
- 234, 241, 243, 249, 254, 260, 276, 278, 281, 288,
|
|
|
- 296, 298, 299, 307, 309, 310, 315, 322, 322, 336,
|
|
|
- 338, 341, 343, 346, 352, 352, 377, 377, 388, 392,
|
|
|
- 394, 397, 402, 410, 421, 435, 449, 475, 479, 485,
|
|
|
- 490, 497, 504, 513, 519, 525, 535, 540, 547, 554,
|
|
|
- 560, 568, 570, 576, 582, 596, 602, 612, 615, 626,
|
|
|
- 630, 634, 639, 643, 646, 656, 660, 665, 669, 673,
|
|
|
- 677, 681, 681, 689, 689, 697, 697, 705, 711, 717,
|
|
|
- 723, 731, 733, 736, 738, 741, 743, 746, 751, 755,
|
|
|
- 759, 763, 767, 771, 775, 779, 783, 787, 791, 795,
|
|
|
- 799, 803, 807, 811, 815, 819, 823, 829, 834, 838,
|
|
|
- 842, 846, 850, 854, 858, 862, 866, 872, 872, 883,
|
|
|
- 899, 906, 919, 924, 927, 927, 941, 943, 944, 945,
|
|
|
- 955, 955, 972, 977, 983
|
|
|
+ 176, 189, 194, 200, 214, 216, 222, 224, 230, 235,
|
|
|
+ 235, 242, 244, 250, 255, 261, 277, 279, 282, 289,
|
|
|
+ 297, 299, 300, 308, 310, 311, 316, 323, 323, 337,
|
|
|
+ 339, 342, 344, 347, 353, 353, 378, 378, 389, 393,
|
|
|
+ 395, 398, 403, 411, 422, 436, 450, 476, 482, 490,
|
|
|
+ 495, 502, 509, 518, 524, 530, 540, 545, 552, 559,
|
|
|
+ 565, 573, 575, 581, 587, 601, 607, 617, 620, 631,
|
|
|
+ 635, 639, 644, 648, 651, 661, 665, 670, 674, 678,
|
|
|
+ 682, 686, 686, 694, 694, 702, 702, 710, 716, 722,
|
|
|
+ 728, 736, 738, 741, 743, 746, 748, 751, 756, 760,
|
|
|
+ 764, 768, 772, 776, 780, 784, 788, 792, 796, 800,
|
|
|
+ 804, 808, 812, 816, 820, 824, 828, 834, 839, 843,
|
|
|
+ 847, 851, 855, 859, 863, 867, 871, 877, 877, 888,
|
|
|
+ 904, 911, 924, 929, 932, 932, 946, 948, 949, 950,
|
|
|
+ 960, 960, 977, 982, 988
|
|
|
};
|
|
|
#endif
|
|
|
|
|
|
@@ -1237,6 +1237,7 @@ case 13:
|
|
|
{
|
|
|
DCClass *dclass = dc_file->get_class_by_name(yyvsp[0].str);
|
|
|
if (dclass == (DCClass *)NULL) {
|
|
|
+ // Create a bogus class as a forward reference.
|
|
|
dclass = new DCClass(yyvsp[0].str, false, true);
|
|
|
dc_file->add_class(dclass);
|
|
|
}
|
|
|
@@ -1245,49 +1246,49 @@ case 13:
|
|
|
}
|
|
|
break;
|
|
|
case 15:
|
|
|
-#line 216 "dcParser.yxx"
|
|
|
+#line 217 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.str = yyvsp[-2].str + string("/") + yyvsp[0].str;
|
|
|
}
|
|
|
break;
|
|
|
case 17:
|
|
|
-#line 224 "dcParser.yxx"
|
|
|
+#line 225 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.str = yyvsp[-2].str + string(".") + yyvsp[0].str;
|
|
|
}
|
|
|
break;
|
|
|
case 18:
|
|
|
-#line 231 "dcParser.yxx"
|
|
|
+#line 232 "dcParser.yxx"
|
|
|
{
|
|
|
dc_file->add_import_module(yyvsp[0].str);
|
|
|
}
|
|
|
break;
|
|
|
case 19:
|
|
|
-#line 235 "dcParser.yxx"
|
|
|
+#line 236 "dcParser.yxx"
|
|
|
{
|
|
|
dc_file->add_import_module(yyvsp[-1].str);
|
|
|
}
|
|
|
break;
|
|
|
case 22:
|
|
|
-#line 244 "dcParser.yxx"
|
|
|
+#line 245 "dcParser.yxx"
|
|
|
{
|
|
|
dc_file->add_import_symbol("*");
|
|
|
}
|
|
|
break;
|
|
|
case 23:
|
|
|
-#line 251 "dcParser.yxx"
|
|
|
+#line 252 "dcParser.yxx"
|
|
|
{
|
|
|
dc_file->add_import_symbol(yyvsp[0].str);
|
|
|
}
|
|
|
break;
|
|
|
case 24:
|
|
|
-#line 255 "dcParser.yxx"
|
|
|
+#line 256 "dcParser.yxx"
|
|
|
{
|
|
|
dc_file->add_import_symbol(yyvsp[0].str);
|
|
|
}
|
|
|
break;
|
|
|
case 25:
|
|
|
-#line 262 "dcParser.yxx"
|
|
|
+#line 263 "dcParser.yxx"
|
|
|
{
|
|
|
DCTypedef *dtypedef = new DCTypedef(yyvsp[0].u.parameter);
|
|
|
|
|
|
@@ -1302,7 +1303,7 @@ case 25:
|
|
|
}
|
|
|
break;
|
|
|
case 28:
|
|
|
-#line 283 "dcParser.yxx"
|
|
|
+#line 284 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.dclass != (DCClass *)NULL) {
|
|
|
current_class->add_parent(yyvsp[0].u.dclass);
|
|
|
@@ -1310,7 +1311,7 @@ case 28:
|
|
|
}
|
|
|
break;
|
|
|
case 29:
|
|
|
-#line 289 "dcParser.yxx"
|
|
|
+#line 290 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.dclass != (DCClass *)NULL) {
|
|
|
current_class->add_parent(yyvsp[0].u.dclass);
|
|
|
@@ -1318,7 +1319,7 @@ case 29:
|
|
|
}
|
|
|
break;
|
|
|
case 32:
|
|
|
-#line 300 "dcParser.yxx"
|
|
|
+#line 301 "dcParser.yxx"
|
|
|
{
|
|
|
if (!current_class->add_field(yyvsp[0].u.field)) {
|
|
|
yyerror("Duplicate field name: " + yyvsp[0].u.field->get_name());
|
|
|
@@ -1326,28 +1327,28 @@ case 32:
|
|
|
}
|
|
|
break;
|
|
|
case 35:
|
|
|
-#line 311 "dcParser.yxx"
|
|
|
+#line 312 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = yyvsp[-2].u.parameter;
|
|
|
yyval.u.field->set_flags(yyvsp[-1].u.s_int);
|
|
|
}
|
|
|
break;
|
|
|
case 36:
|
|
|
-#line 316 "dcParser.yxx"
|
|
|
+#line 317 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = yyvsp[-1].u.parameter;
|
|
|
yyval.u.field->set_flags(yyvsp[0].u.s_int);
|
|
|
}
|
|
|
break;
|
|
|
case 37:
|
|
|
-#line 324 "dcParser.yxx"
|
|
|
+#line 325 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = current_atomic;
|
|
|
current_atomic = new DCAtomicField(yyvsp[-1].str);
|
|
|
}
|
|
|
break;
|
|
|
case 38:
|
|
|
-#line 329 "dcParser.yxx"
|
|
|
+#line 330 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = current_atomic;
|
|
|
current_atomic = yyvsp[-3].u.atomic;
|
|
|
@@ -1355,14 +1356,14 @@ case 38:
|
|
|
}
|
|
|
break;
|
|
|
case 43:
|
|
|
-#line 348 "dcParser.yxx"
|
|
|
+#line 349 "dcParser.yxx"
|
|
|
{
|
|
|
atomic_element = DCAtomicField::ElementType(yyvsp[0].u.parameter);
|
|
|
current_atomic->add_element(atomic_element);
|
|
|
}
|
|
|
break;
|
|
|
case 44:
|
|
|
-#line 353 "dcParser.yxx"
|
|
|
+#line 354 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer = &default_packer;
|
|
|
current_packer->clear_data();
|
|
|
@@ -1370,7 +1371,7 @@ case 44:
|
|
|
}
|
|
|
break;
|
|
|
case 45:
|
|
|
-#line 359 "dcParser.yxx"
|
|
|
+#line 360 "dcParser.yxx"
|
|
|
{
|
|
|
bool is_valid = yyvsp[-3].u.parameter->is_valid();
|
|
|
atomic_element = DCAtomicField::ElementType(yyvsp[-3].u.parameter);
|
|
|
@@ -1389,25 +1390,25 @@ case 45:
|
|
|
}
|
|
|
break;
|
|
|
case 46:
|
|
|
-#line 379 "dcParser.yxx"
|
|
|
+#line 380 "dcParser.yxx"
|
|
|
{
|
|
|
current_parameter = yyvsp[0].u.parameter;
|
|
|
}
|
|
|
break;
|
|
|
case 47:
|
|
|
-#line 383 "dcParser.yxx"
|
|
|
+#line 384 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.parameter = yyvsp[0].u.parameter;
|
|
|
}
|
|
|
break;
|
|
|
case 51:
|
|
|
-#line 399 "dcParser.yxx"
|
|
|
+#line 400 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.parameter = new DCSimpleParameter(yyvsp[0].u.subatomic);
|
|
|
}
|
|
|
break;
|
|
|
case 52:
|
|
|
-#line 403 "dcParser.yxx"
|
|
|
+#line 404 "dcParser.yxx"
|
|
|
{
|
|
|
DCSimpleParameter *simple_param = new DCSimpleParameter(yyvsp[-3].u.subatomic);
|
|
|
if (!simple_param->set_range(double_range)) {
|
|
|
@@ -1417,7 +1418,7 @@ case 52:
|
|
|
}
|
|
|
break;
|
|
|
case 53:
|
|
|
-#line 411 "dcParser.yxx"
|
|
|
+#line 412 "dcParser.yxx"
|
|
|
{
|
|
|
DCSimpleParameter *simple_param = new DCSimpleParameter(yyvsp[-2].u.subatomic);
|
|
|
if (yyvsp[0].u.s_uint == 0) {
|
|
|
@@ -1430,7 +1431,7 @@ case 53:
|
|
|
}
|
|
|
break;
|
|
|
case 54:
|
|
|
-#line 422 "dcParser.yxx"
|
|
|
+#line 423 "dcParser.yxx"
|
|
|
{
|
|
|
DCSimpleParameter *simple_param = new DCSimpleParameter(yyvsp[-5].u.subatomic);
|
|
|
if (yyvsp[-3].u.s_uint == 0) {
|
|
|
@@ -1446,7 +1447,7 @@ case 54:
|
|
|
}
|
|
|
break;
|
|
|
case 55:
|
|
|
-#line 436 "dcParser.yxx"
|
|
|
+#line 437 "dcParser.yxx"
|
|
|
{
|
|
|
DCSimpleParameter *simple_param = new DCSimpleParameter(yyvsp[-5].u.subatomic);
|
|
|
if (yyvsp[0].u.s_uint == 0) {
|
|
|
@@ -1462,7 +1463,7 @@ case 55:
|
|
|
}
|
|
|
break;
|
|
|
case 56:
|
|
|
-#line 450 "dcParser.yxx"
|
|
|
+#line 451 "dcParser.yxx"
|
|
|
{
|
|
|
DCTypedef *dtypedef = dc_file->get_typedef_by_name(yyvsp[0].str);
|
|
|
if (dtypedef == (DCTypedef *)NULL) {
|
|
|
@@ -1490,25 +1491,29 @@ case 56:
|
|
|
}
|
|
|
break;
|
|
|
case 57:
|
|
|
-#line 476 "dcParser.yxx"
|
|
|
+#line 477 "dcParser.yxx"
|
|
|
{
|
|
|
+ // This is an inline class definition.
|
|
|
+ dc_file->add_thing_to_delete(yyvsp[0].u.dclass);
|
|
|
yyval.u.parameter = new DCClassParameter(yyvsp[0].u.dclass);
|
|
|
}
|
|
|
break;
|
|
|
case 58:
|
|
|
-#line 480 "dcParser.yxx"
|
|
|
+#line 483 "dcParser.yxx"
|
|
|
{
|
|
|
+ // This is an inline switch definition.
|
|
|
+ dc_file->add_thing_to_delete(yyvsp[0].u.dswitch);
|
|
|
yyval.u.parameter = new DCSwitchParameter(yyvsp[0].u.dswitch);
|
|
|
}
|
|
|
break;
|
|
|
case 59:
|
|
|
-#line 487 "dcParser.yxx"
|
|
|
+#line 492 "dcParser.yxx"
|
|
|
{
|
|
|
double_range.clear();
|
|
|
}
|
|
|
break;
|
|
|
case 60:
|
|
|
-#line 491 "dcParser.yxx"
|
|
|
+#line 496 "dcParser.yxx"
|
|
|
{
|
|
|
double_range.clear();
|
|
|
if (!double_range.add_range(yyvsp[0].u.real, yyvsp[0].u.real)) {
|
|
|
@@ -1517,7 +1522,7 @@ case 60:
|
|
|
}
|
|
|
break;
|
|
|
case 61:
|
|
|
-#line 498 "dcParser.yxx"
|
|
|
+#line 503 "dcParser.yxx"
|
|
|
{
|
|
|
double_range.clear();
|
|
|
if (!double_range.add_range(yyvsp[-2].u.real, yyvsp[0].u.real)) {
|
|
|
@@ -1526,7 +1531,7 @@ case 61:
|
|
|
}
|
|
|
break;
|
|
|
case 62:
|
|
|
-#line 505 "dcParser.yxx"
|
|
|
+#line 510 "dcParser.yxx"
|
|
|
{
|
|
|
double_range.clear();
|
|
|
if (yyvsp[0].u.real >= 0) {
|
|
|
@@ -1537,7 +1542,7 @@ case 62:
|
|
|
}
|
|
|
break;
|
|
|
case 63:
|
|
|
-#line 514 "dcParser.yxx"
|
|
|
+#line 519 "dcParser.yxx"
|
|
|
{
|
|
|
if (!double_range.add_range(yyvsp[0].u.real, yyvsp[0].u.real)) {
|
|
|
yyerror("Overlapping range");
|
|
|
@@ -1545,7 +1550,7 @@ case 63:
|
|
|
}
|
|
|
break;
|
|
|
case 64:
|
|
|
-#line 520 "dcParser.yxx"
|
|
|
+#line 525 "dcParser.yxx"
|
|
|
{
|
|
|
if (!double_range.add_range(yyvsp[-2].u.real, yyvsp[0].u.real)) {
|
|
|
yyerror("Overlapping range");
|
|
|
@@ -1553,7 +1558,7 @@ case 64:
|
|
|
}
|
|
|
break;
|
|
|
case 65:
|
|
|
-#line 526 "dcParser.yxx"
|
|
|
+#line 531 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.real >= 0) {
|
|
|
yyerror("Syntax error");
|
|
|
@@ -1563,13 +1568,13 @@ case 65:
|
|
|
}
|
|
|
break;
|
|
|
case 66:
|
|
|
-#line 537 "dcParser.yxx"
|
|
|
+#line 542 "dcParser.yxx"
|
|
|
{
|
|
|
uint_range.clear();
|
|
|
}
|
|
|
break;
|
|
|
case 67:
|
|
|
-#line 541 "dcParser.yxx"
|
|
|
+#line 546 "dcParser.yxx"
|
|
|
{
|
|
|
uint_range.clear();
|
|
|
if (!uint_range.add_range(yyvsp[0].u.s_uint, yyvsp[0].u.s_uint)) {
|
|
|
@@ -1578,7 +1583,7 @@ case 67:
|
|
|
}
|
|
|
break;
|
|
|
case 68:
|
|
|
-#line 548 "dcParser.yxx"
|
|
|
+#line 553 "dcParser.yxx"
|
|
|
{
|
|
|
uint_range.clear();
|
|
|
if (!uint_range.add_range(yyvsp[-2].u.s_uint, yyvsp[0].u.s_uint)) {
|
|
|
@@ -1587,7 +1592,7 @@ case 68:
|
|
|
}
|
|
|
break;
|
|
|
case 69:
|
|
|
-#line 555 "dcParser.yxx"
|
|
|
+#line 560 "dcParser.yxx"
|
|
|
{
|
|
|
if (!uint_range.add_range(yyvsp[0].u.s_uint, yyvsp[0].u.s_uint)) {
|
|
|
yyerror("Overlapping range");
|
|
|
@@ -1595,7 +1600,7 @@ case 69:
|
|
|
}
|
|
|
break;
|
|
|
case 70:
|
|
|
-#line 561 "dcParser.yxx"
|
|
|
+#line 566 "dcParser.yxx"
|
|
|
{
|
|
|
if (!uint_range.add_range(yyvsp[-2].u.s_uint, yyvsp[0].u.s_uint)) {
|
|
|
yyerror("Overlapping range");
|
|
|
@@ -1603,20 +1608,20 @@ case 70:
|
|
|
}
|
|
|
break;
|
|
|
case 72:
|
|
|
-#line 571 "dcParser.yxx"
|
|
|
+#line 576 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.parameter = new DCArrayParameter(yyvsp[-3].u.parameter, uint_range);
|
|
|
}
|
|
|
break;
|
|
|
case 73:
|
|
|
-#line 578 "dcParser.yxx"
|
|
|
+#line 583 "dcParser.yxx"
|
|
|
{
|
|
|
current_parameter->set_name(yyvsp[0].str);
|
|
|
yyval.u.parameter = current_parameter;
|
|
|
}
|
|
|
break;
|
|
|
case 74:
|
|
|
-#line 583 "dcParser.yxx"
|
|
|
+#line 588 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.s_uint == 0) {
|
|
|
yyerror("Invalid divisor.");
|
|
|
@@ -1632,13 +1637,13 @@ case 74:
|
|
|
}
|
|
|
break;
|
|
|
case 75:
|
|
|
-#line 597 "dcParser.yxx"
|
|
|
+#line 602 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.parameter = new DCArrayParameter(yyvsp[-3].u.parameter, uint_range);
|
|
|
}
|
|
|
break;
|
|
|
case 76:
|
|
|
-#line 604 "dcParser.yxx"
|
|
|
+#line 609 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].str.length() != 1) {
|
|
|
yyerror("Single character required.");
|
|
|
@@ -1649,7 +1654,7 @@ case 76:
|
|
|
}
|
|
|
break;
|
|
|
case 78:
|
|
|
-#line 617 "dcParser.yxx"
|
|
|
+#line 622 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_uint = (unsigned int)yyvsp[0].u.uint64;
|
|
|
if (yyval.u.s_uint != yyvsp[0].u.uint64) {
|
|
|
@@ -1659,19 +1664,19 @@ case 78:
|
|
|
}
|
|
|
break;
|
|
|
case 81:
|
|
|
-#line 636 "dcParser.yxx"
|
|
|
+#line 641 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.real = (double)yyvsp[0].u.uint64;
|
|
|
}
|
|
|
break;
|
|
|
case 82:
|
|
|
-#line 640 "dcParser.yxx"
|
|
|
+#line 645 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.real = (double)yyvsp[0].u.int64;
|
|
|
}
|
|
|
break;
|
|
|
case 84:
|
|
|
-#line 648 "dcParser.yxx"
|
|
|
+#line 653 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].str.length() != 1) {
|
|
|
yyerror("Single character required.");
|
|
|
@@ -1682,73 +1687,73 @@ case 84:
|
|
|
}
|
|
|
break;
|
|
|
case 86:
|
|
|
-#line 662 "dcParser.yxx"
|
|
|
+#line 667 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pack_int64(yyvsp[0].u.int64);
|
|
|
}
|
|
|
break;
|
|
|
case 87:
|
|
|
-#line 666 "dcParser.yxx"
|
|
|
+#line 671 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pack_uint64(yyvsp[0].u.uint64);
|
|
|
}
|
|
|
break;
|
|
|
case 88:
|
|
|
-#line 670 "dcParser.yxx"
|
|
|
+#line 675 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pack_double(yyvsp[0].u.real);
|
|
|
}
|
|
|
break;
|
|
|
case 89:
|
|
|
-#line 674 "dcParser.yxx"
|
|
|
+#line 679 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pack_string(yyvsp[0].str);
|
|
|
}
|
|
|
break;
|
|
|
case 90:
|
|
|
-#line 678 "dcParser.yxx"
|
|
|
+#line 683 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pack_literal_value(yyvsp[0].str);
|
|
|
}
|
|
|
break;
|
|
|
case 91:
|
|
|
-#line 682 "dcParser.yxx"
|
|
|
+#line 687 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->push();
|
|
|
}
|
|
|
break;
|
|
|
case 92:
|
|
|
-#line 686 "dcParser.yxx"
|
|
|
+#line 691 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pop();
|
|
|
}
|
|
|
break;
|
|
|
case 93:
|
|
|
-#line 690 "dcParser.yxx"
|
|
|
+#line 695 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->push();
|
|
|
}
|
|
|
break;
|
|
|
case 94:
|
|
|
-#line 694 "dcParser.yxx"
|
|
|
+#line 699 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pop();
|
|
|
}
|
|
|
break;
|
|
|
case 95:
|
|
|
-#line 698 "dcParser.yxx"
|
|
|
+#line 703 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->push();
|
|
|
}
|
|
|
break;
|
|
|
case 96:
|
|
|
-#line 702 "dcParser.yxx"
|
|
|
+#line 707 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer->pop();
|
|
|
}
|
|
|
break;
|
|
|
case 97:
|
|
|
-#line 706 "dcParser.yxx"
|
|
|
+#line 711 "dcParser.yxx"
|
|
|
{
|
|
|
for (unsigned int i = 0; i < yyvsp[0].u.s_uint; i++) {
|
|
|
current_packer->pack_int64(yyvsp[-2].u.int64);
|
|
|
@@ -1756,7 +1761,7 @@ case 97:
|
|
|
}
|
|
|
break;
|
|
|
case 98:
|
|
|
-#line 712 "dcParser.yxx"
|
|
|
+#line 717 "dcParser.yxx"
|
|
|
{
|
|
|
for (unsigned int i = 0; i < yyvsp[0].u.s_uint; i++) {
|
|
|
current_packer->pack_uint64(yyvsp[-2].u.uint64);
|
|
|
@@ -1764,7 +1769,7 @@ case 98:
|
|
|
}
|
|
|
break;
|
|
|
case 99:
|
|
|
-#line 718 "dcParser.yxx"
|
|
|
+#line 723 "dcParser.yxx"
|
|
|
{
|
|
|
for (unsigned int i = 0; i < yyvsp[0].u.s_uint; i++) {
|
|
|
current_packer->pack_double(yyvsp[-2].u.real);
|
|
|
@@ -1772,7 +1777,7 @@ case 99:
|
|
|
}
|
|
|
break;
|
|
|
case 100:
|
|
|
-#line 724 "dcParser.yxx"
|
|
|
+#line 729 "dcParser.yxx"
|
|
|
{
|
|
|
for (unsigned int i = 0; i < yyvsp[0].u.s_uint; i++) {
|
|
|
current_packer->pack_literal_value(yyvsp[-2].str);
|
|
|
@@ -1780,199 +1785,199 @@ case 100:
|
|
|
}
|
|
|
break;
|
|
|
case 107:
|
|
|
-#line 748 "dcParser.yxx"
|
|
|
+#line 753 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int8;
|
|
|
}
|
|
|
break;
|
|
|
case 108:
|
|
|
-#line 752 "dcParser.yxx"
|
|
|
+#line 757 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int16;
|
|
|
}
|
|
|
break;
|
|
|
case 109:
|
|
|
-#line 756 "dcParser.yxx"
|
|
|
+#line 761 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int32;
|
|
|
}
|
|
|
break;
|
|
|
case 110:
|
|
|
-#line 760 "dcParser.yxx"
|
|
|
+#line 765 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int64;
|
|
|
}
|
|
|
break;
|
|
|
case 111:
|
|
|
-#line 764 "dcParser.yxx"
|
|
|
+#line 769 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint8;
|
|
|
}
|
|
|
break;
|
|
|
case 112:
|
|
|
-#line 768 "dcParser.yxx"
|
|
|
+#line 773 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint16;
|
|
|
}
|
|
|
break;
|
|
|
case 113:
|
|
|
-#line 772 "dcParser.yxx"
|
|
|
+#line 777 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32;
|
|
|
}
|
|
|
break;
|
|
|
case 114:
|
|
|
-#line 776 "dcParser.yxx"
|
|
|
+#line 781 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint64;
|
|
|
}
|
|
|
break;
|
|
|
case 115:
|
|
|
-#line 780 "dcParser.yxx"
|
|
|
+#line 785 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_float64;
|
|
|
}
|
|
|
break;
|
|
|
case 116:
|
|
|
-#line 784 "dcParser.yxx"
|
|
|
+#line 789 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_string;
|
|
|
}
|
|
|
break;
|
|
|
case 117:
|
|
|
-#line 788 "dcParser.yxx"
|
|
|
+#line 793 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_blob;
|
|
|
}
|
|
|
break;
|
|
|
case 118:
|
|
|
-#line 792 "dcParser.yxx"
|
|
|
+#line 797 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_blob32;
|
|
|
}
|
|
|
break;
|
|
|
case 119:
|
|
|
-#line 796 "dcParser.yxx"
|
|
|
+#line 801 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int8array;
|
|
|
}
|
|
|
break;
|
|
|
case 120:
|
|
|
-#line 800 "dcParser.yxx"
|
|
|
+#line 805 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int16array;
|
|
|
}
|
|
|
break;
|
|
|
case 121:
|
|
|
-#line 804 "dcParser.yxx"
|
|
|
+#line 809 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_int32array;
|
|
|
}
|
|
|
break;
|
|
|
case 122:
|
|
|
-#line 808 "dcParser.yxx"
|
|
|
+#line 813 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint8array;
|
|
|
}
|
|
|
break;
|
|
|
case 123:
|
|
|
-#line 812 "dcParser.yxx"
|
|
|
+#line 817 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint16array;
|
|
|
}
|
|
|
break;
|
|
|
case 124:
|
|
|
-#line 816 "dcParser.yxx"
|
|
|
+#line 821 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32array;
|
|
|
}
|
|
|
break;
|
|
|
case 125:
|
|
|
-#line 820 "dcParser.yxx"
|
|
|
+#line 825 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_uint32uint8array;
|
|
|
}
|
|
|
break;
|
|
|
case 126:
|
|
|
-#line 824 "dcParser.yxx"
|
|
|
+#line 829 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.subatomic = ST_char;
|
|
|
}
|
|
|
break;
|
|
|
case 127:
|
|
|
-#line 831 "dcParser.yxx"
|
|
|
+#line 836 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = 0;
|
|
|
}
|
|
|
break;
|
|
|
case 128:
|
|
|
-#line 835 "dcParser.yxx"
|
|
|
+#line 840 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_required;
|
|
|
}
|
|
|
break;
|
|
|
case 129:
|
|
|
-#line 839 "dcParser.yxx"
|
|
|
+#line 844 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_broadcast;
|
|
|
}
|
|
|
break;
|
|
|
case 130:
|
|
|
-#line 843 "dcParser.yxx"
|
|
|
+#line 848 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_p2p;
|
|
|
}
|
|
|
break;
|
|
|
case 131:
|
|
|
-#line 847 "dcParser.yxx"
|
|
|
+#line 852 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_ram;
|
|
|
}
|
|
|
break;
|
|
|
case 132:
|
|
|
-#line 851 "dcParser.yxx"
|
|
|
+#line 856 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_db;
|
|
|
}
|
|
|
break;
|
|
|
case 133:
|
|
|
-#line 855 "dcParser.yxx"
|
|
|
+#line 860 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_clsend;
|
|
|
}
|
|
|
break;
|
|
|
case 134:
|
|
|
-#line 859 "dcParser.yxx"
|
|
|
+#line 864 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_clrecv;
|
|
|
}
|
|
|
break;
|
|
|
case 135:
|
|
|
-#line 863 "dcParser.yxx"
|
|
|
+#line 868 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_ownsend;
|
|
|
}
|
|
|
break;
|
|
|
case 136:
|
|
|
-#line 867 "dcParser.yxx"
|
|
|
+#line 872 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.s_int = yyvsp[-1].u.s_int | DCAtomicField::F_airecv;
|
|
|
}
|
|
|
break;
|
|
|
case 137:
|
|
|
-#line 874 "dcParser.yxx"
|
|
|
+#line 879 "dcParser.yxx"
|
|
|
{
|
|
|
current_molecular = new DCMolecularField(yyvsp[-1].str);
|
|
|
}
|
|
|
break;
|
|
|
case 138:
|
|
|
-#line 878 "dcParser.yxx"
|
|
|
+#line 883 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = current_molecular;
|
|
|
}
|
|
|
break;
|
|
|
case 139:
|
|
|
-#line 885 "dcParser.yxx"
|
|
|
+#line 890 "dcParser.yxx"
|
|
|
{
|
|
|
DCField *field = current_class->get_field_by_name(yyvsp[0].str);
|
|
|
yyval.u.atomic = (DCAtomicField *)NULL;
|
|
|
@@ -1987,7 +1992,7 @@ case 139:
|
|
|
}
|
|
|
break;
|
|
|
case 140:
|
|
|
-#line 901 "dcParser.yxx"
|
|
|
+#line 906 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) {
|
|
|
current_molecular->add_atomic(yyvsp[0].u.atomic);
|
|
|
@@ -1995,7 +2000,7 @@ case 140:
|
|
|
}
|
|
|
break;
|
|
|
case 141:
|
|
|
-#line 907 "dcParser.yxx"
|
|
|
+#line 912 "dcParser.yxx"
|
|
|
{
|
|
|
if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) {
|
|
|
current_molecular->add_atomic(yyvsp[0].u.atomic);
|
|
|
@@ -2008,27 +2013,27 @@ case 141:
|
|
|
}
|
|
|
break;
|
|
|
case 142:
|
|
|
-#line 921 "dcParser.yxx"
|
|
|
+#line 926 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.str = "";
|
|
|
}
|
|
|
break;
|
|
|
case 144:
|
|
|
-#line 929 "dcParser.yxx"
|
|
|
+#line 934 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.dswitch = current_switch;
|
|
|
current_switch = new DCSwitch(yyvsp[-4].str, yyvsp[-2].u.parameter);
|
|
|
}
|
|
|
break;
|
|
|
case 145:
|
|
|
-#line 934 "dcParser.yxx"
|
|
|
+#line 939 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.dswitch = current_switch;
|
|
|
current_switch = (DCSwitch *)yyvsp[-2].u.parameter;
|
|
|
}
|
|
|
break;
|
|
|
case 149:
|
|
|
-#line 946 "dcParser.yxx"
|
|
|
+#line 951 "dcParser.yxx"
|
|
|
{
|
|
|
if (current_switch->get_num_cases() == 0) {
|
|
|
yyerror("case declaration required before first element");
|
|
|
@@ -2038,7 +2043,7 @@ case 149:
|
|
|
}
|
|
|
break;
|
|
|
case 150:
|
|
|
-#line 957 "dcParser.yxx"
|
|
|
+#line 962 "dcParser.yxx"
|
|
|
{
|
|
|
current_packer = &default_packer;
|
|
|
current_packer->clear_data();
|
|
|
@@ -2046,7 +2051,7 @@ case 150:
|
|
|
}
|
|
|
break;
|
|
|
case 151:
|
|
|
-#line 963 "dcParser.yxx"
|
|
|
+#line 968 "dcParser.yxx"
|
|
|
{
|
|
|
if (!current_packer->end_pack()) {
|
|
|
yyerror("Invalid value for switch parameter");
|
|
|
@@ -2056,13 +2061,13 @@ case 151:
|
|
|
}
|
|
|
break;
|
|
|
case 152:
|
|
|
-#line 974 "dcParser.yxx"
|
|
|
+#line 979 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = yyvsp[-1].u.parameter;
|
|
|
}
|
|
|
break;
|
|
|
case 153:
|
|
|
-#line 978 "dcParser.yxx"
|
|
|
+#line 983 "dcParser.yxx"
|
|
|
{
|
|
|
yyval.u.field = yyvsp[0].u.parameter;
|
|
|
}
|
|
|
@@ -2300,4 +2305,4 @@ yyreturn:
|
|
|
#endif
|
|
|
return yyresult;
|
|
|
}
|
|
|
-#line 986 "dcParser.yxx"
|
|
|
+#line 991 "dcParser.yxx"
|