From: alegrand Date: Tue, 28 Mar 2006 10:30:55 +0000 (+0000) Subject: Extending the dtd X-Git-Tag: v3.3~3355 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/538180328b36f798ccc1e5085f6831092edadfe9 Extending the dtd git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2003 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/include/xbt/graphxml.h b/include/xbt/graphxml.h index a99ad510d8..6d173fed00 100644 --- a/include/xbt/graphxml.h +++ b/include/xbt/graphxml.h @@ -1,5 +1,5 @@ /* XML processor/application API for ../../src/xbt/graphxml.dtd. - * Generated 2006/03/21 13:43:39. + * Generated 2006/03/28 12:29:32. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved. @@ -60,28 +60,40 @@ typedef const char* AT_graphxml_node_name; #define AU_graphxml_node_name NULL typedef const char* AT_graphxml_edge_source; #define AU_graphxml_edge_source NULL -typedef enum { AU_graphxml_edge_isDirected, A_graphxml_edge_isDirected_true,A_graphxml_edge_isDirected_false } AT_graphxml_edge_isDirected; +typedef const char* AT_graphxml_node_position_y; +#define AU_graphxml_node_position_y NULL +typedef const char* AT_graphxml_node_position_x; +#define AU_graphxml_node_position_x NULL +typedef const char* AT_graphxml_edge_data; +#define AU_graphxml_edge_data NULL typedef const char* AT_graphxml_edge_target; #define AU_graphxml_edge_target NULL +typedef enum { AU_graphxml_graph_isDirected, A_graphxml_graph_isDirected_true,A_graphxml_graph_isDirected_false } AT_graphxml_graph_isDirected; typedef const char* AT_graphxml_node_label; #define AU_graphxml_node_label NULL +typedef const char* AT_graphxml_node_data; +#define AU_graphxml_node_data NULL typedef const char* AT_graphxml_edge_label; #define AU_graphxml_edge_label NULL -typedef const char* AT_graphxml_edge_name; -#define AU_graphxml_edge_name NULL typedef const char* AT_graphxml_edge_length; #define AU_graphxml_edge_length NULL +typedef const char* AT_graphxml_edge_name; +#define AU_graphxml_edge_name NULL /* FleXML-provided data. */ extern const char* pcdata; extern AT_graphxml_node_name A_graphxml_node_name; extern AT_graphxml_edge_source A_graphxml_edge_source; -extern AT_graphxml_edge_isDirected A_graphxml_edge_isDirected; +extern AT_graphxml_node_position_y A_graphxml_node_position_y; +extern AT_graphxml_node_position_x A_graphxml_node_position_x; +extern AT_graphxml_edge_data A_graphxml_edge_data; extern AT_graphxml_edge_target A_graphxml_edge_target; +extern AT_graphxml_graph_isDirected A_graphxml_graph_isDirected; extern AT_graphxml_node_label A_graphxml_node_label; +extern AT_graphxml_node_data A_graphxml_node_data; extern AT_graphxml_edge_label A_graphxml_edge_label; -extern AT_graphxml_edge_name A_graphxml_edge_name; extern AT_graphxml_edge_length A_graphxml_edge_length; +extern AT_graphxml_edge_name A_graphxml_edge_name; /* XML application utilities. */ extern int graphxml_element_context(int); diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index e4f8efaaff..68d922d5da 100644 --- a/src/xbt/graphxml.c +++ b/src/xbt/graphxml.c @@ -380,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 81 -#define YY_END_OF_BUFFER 82 +#define YY_NUM_RULES 89 +#define YY_END_OF_BUFFER 90 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -389,64 +389,68 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[507] = +static yyconst flex_int16_t yy_accept[546] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 80, 17, 10, 10, 17, 17, 60, 10, 60, - 5, 6, 5, 8, 9, 8, 76, 68, 69, 77, - 74, 77, 75, 79, 68, 69, 79, 80, 21, 10, - 21, 21, 21, 19, 25, 10, 25, 25, 80, 80, - 25, 33, 10, 33, 33, 33, 31, 33, 33, 37, - - 10, 37, 55, 10, 55, 55, 55, 53, 55, 55, - 55, 55, 55, 59, 10, 59, 77, 76, 10, 0, - 2, 2, 0, 4, 7, 71, 70, 0, 0, 0, - 0, 0, 0, 0, 20, 22, 0, 0, 0, 32, - 34, 34, 34, 0, 54, 56, 56, 56, 56, 56, - 56, 56, 0, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, - 0, 0, 0, 34, 34, 0, 0, 56, 56, 56, - 56, 56, 56, 0, 0, 0, 73, 0, 16, 1, - 0, 0, 66, 0, 0, 0, 63, 62, 0, 0, - - 0, 0, 24, 0, 0, 0, 34, 34, 0, 0, - 36, 0, 56, 56, 56, 56, 56, 56, 0, 0, - 58, 0, 0, 0, 0, 67, 61, 0, 0, 0, - 0, 38, 26, 34, 0, 0, 0, 56, 56, 56, - 0, 0, 56, 56, 0, 0, 0, 0, 0, 12, - 0, 64, 65, 18, 0, 38, 26, 0, 0, 0, - 30, 29, 0, 56, 0, 0, 56, 0, 42, 41, - 56, 56, 0, 0, 0, 0, 0, 11, 18, 0, - 0, 28, 27, 0, 35, 56, 0, 40, 39, 0, - 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, - - 0, 0, 23, 56, 0, 48, 47, 0, 44, 43, - 0, 46, 45, 0, 0, 0, 0, 56, 72, 0, - 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, + 90, 88, 17, 10, 10, 17, 17, 68, 10, 68, + 5, 6, 5, 8, 9, 8, 84, 76, 77, 85, + 82, 85, 83, 87, 76, 77, 87, 88, 25, 10, + 25, 25, 25, 23, 25, 29, 10, 29, 29, 88, + 88, 29, 43, 10, 43, 43, 43, 41, 43, 43, + + 43, 43, 47, 10, 47, 63, 10, 63, 63, 63, + 61, 63, 63, 63, 63, 63, 67, 10, 67, 85, + 84, 10, 0, 2, 2, 0, 4, 7, 79, 78, + 0, 0, 0, 0, 0, 0, 0, 24, 26, 26, + 0, 0, 0, 42, 44, 44, 44, 44, 44, 0, + 62, 64, 64, 64, 64, 64, 64, 64, 0, 0, + 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 86, 0, 26, 0, 0, 0, 0, + 44, 44, 44, 44, 0, 0, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 81, 0, 16, 1, 0, + + 0, 74, 0, 0, 0, 71, 70, 0, 0, 26, + 0, 0, 28, 0, 0, 0, 44, 44, 44, 44, + 0, 0, 46, 0, 64, 64, 64, 64, 64, 64, + 0, 0, 66, 0, 0, 0, 0, 75, 69, 0, + 0, 0, 26, 0, 48, 30, 0, 0, 44, 0, + 0, 44, 0, 0, 0, 64, 64, 0, 0, 64, + 64, 0, 0, 0, 0, 0, 12, 0, 72, 73, + 18, 26, 0, 48, 30, 0, 36, 35, 0, 0, + 0, 34, 33, 44, 0, 0, 60, 59, 0, 0, + 64, 0, 52, 51, 64, 64, 0, 0, 0, 0, + + 0, 11, 18, 26, 0, 0, 32, 31, 44, 0, + 45, 0, 50, 49, 0, 0, 0, 0, 0, 0, + 0, 65, 0, 0, 0, 0, 26, 0, 27, 44, + 0, 58, 57, 0, 54, 53, 0, 56, 55, 0, + 0, 0, 0, 26, 44, 80, 0, 0, 0, 26, + 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 37, 0, 40, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 12, 0, 12, 0, - 0, 50, 0, 49, 0, 0, 0, 0, 0, 0, - 0, 52, 51, 0, 0, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 12, 0, 12, 0, 0, + 20, 0, 19, 0, 0, 0, 0, 0, 0, 0, + 22, 21, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, - 0, 0, 14, 0, 15, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, + 0, 14, 0, 15, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -460,11 +464,11 @@ static yyconst flex_int32_t yy_ec[256] = 17, 18, 19, 1, 20, 21, 22, 23, 24, 21, 14, 14, 14, 14, 14, 14, 25, 14, 26, 27, 14, 14, 28, 29, 14, 14, 14, 14, 30, 14, - 31, 1, 32, 1, 14, 1, 33, 34, 35, 36, + 31, 1, 32, 1, 33, 1, 34, 35, 36, 37, - 37, 38, 39, 40, 41, 14, 14, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 14, 53, - 14, 14, 1, 1, 1, 1, 1, 1, 1, 1, + 38, 39, 40, 41, 42, 14, 14, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 14, 54, + 55, 14, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -481,490 +485,518 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[54] = +static yyconst flex_int32_t yy_meta[56] = { 0, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 1, 4, 5, 1, 1, 1, 6, 1, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, - 1, 1, 7, 7, 7, 7, 7, 7, 5, 5, + 1, 1, 5, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5 + 5, 5, 5, 5, 5 } ; -static yyconst flex_int16_t yy_base[537] = +static yyconst flex_int16_t yy_base[576] = { 0, 0, 0, 0, 3, 6, 9, 24, 27, 11, 14, 15, 17, 29, 38, 45, 52, 59, 61, 67, 70, - 93, 125, 73, 76, 143, 146, 149, 164, 167, 170, - 173, 188, 191, 194, 197, 212, 215, 218, 234, 0, - 286, 289, 292, 295, 311, 0, 363, 366, 368, 370, - 1447, 1448, 1448, 111, 114, 47, 62, 1448, 117, 159, - 1448, 1448, 1436, 1448, 1448, 1427, 1448, 1440, 1440, 368, - 1448, 1448, 1448, 1448, 1438, 1438, 1408, 372, 1448, 221, - 1421, 0, 183, 1448, 1448, 385, 380, 385, 375, 376, - 393, 1448, 423, 1420, 0, 207, 1448, 1404, 1403, 1448, - - 426, 404, 1448, 429, 1417, 0, 401, 1448, 1385, 2, - 1400, 1387, 1398, 1448, 432, 432, 1425, 1397, 436, 34, - 1375, 1448, 1417, 1408, 1448, 1448, 1448, 37, 39, 1375, - 1374, 1372, 1404, 1373, 1448, 0, 1381, 1383, 1373, 1448, - 0, 1383, 1373, 1371, 1448, 0, 1391, 1379, 1368, 1368, - 1359, 1361, 1371, 1376, 1388, 1387, 1394, 137, 1360, 1448, - 145, 0, 1356, 1356, 1385, 1384, 1353, 1448, 1364, 439, - 443, 1357, 1359, 1357, 1356, 446, 450, 1283, 1286, 1274, - 1273, 1259, 1265, 456, 463, 1275, 1448, 1274, 1448, 1448, - 66, 1245, 1448, 1190, 1189, 1154, 1448, 1448, 1152, 1155, - - 467, 474, 1448, 480, 1163, 1162, 1156, 484, 500, 503, - 1448, 506, 1149, 1154, 1145, 512, 1159, 1156, 523, 528, - 1448, 531, 1165, 385, 534, 1448, 1448, 1172, 1170, 1144, - 541, 552, 558, 561, 564, 570, 580, 1145, 586, 1141, - 589, 593, 1142, 1128, 605, 1156, 378, 1139, 608, 1448, - 1137, 1448, 1448, 611, 616, 625, 628, 633, 637, 645, - 1448, 1448, 655, 1117, 659, 662, 675, 678, 1448, 1448, - 686, 691, 694, 1110, 282, 143, 166, 1448, 697, 702, - 707, 1448, 1448, 715, 1448, 1085, 719, 1448, 1448, 727, - 732, 743, 746, 754, 759, 770, 1448, 1114, 161, 104, - - 163, 773, 1448, 1024, 776, 1448, 1448, 790, 1448, 1448, - 798, 1448, 1448, 997, 806, 164, 105, 930, 1448, 809, - 437, 188, 812, 444, 445, 187, 438, 472, 815, 819, - 457, 479, 504, 476, 533, 831, 473, 519, 190, 41, - 482, 532, 839, 928, 867, 872, 854, 847, 540, 856, - 859, 864, 869, 822, 803, 802, 738, 881, 886, 889, - 893, 910, 918, 936, 968, 658, 632, 551, 549, 586, - 928, 603, 986, 649, 292, 1004, 1036, 510, 522, 452, - 463, 365, 656, 557, 696, 285, 415, 530, 409, 931, - 301, 1448, 297, 1448, 576, 657, 654, 227, 211, 98, - - 960, 1448, 1448, 620, 697, 719, 5, 714, 735, 765, - 1448, 999, 780, 1028, 1054, 1062, 1067, 583, 652, 1075, - 748, 808, 706, 722, 813, 861, 733, 749, 709, 751, - 788, 821, 812, 837, 606, 607, 868, 885, 862, 880, - 746, 907, 911, 947, 941, 942, 785, 905, 978, 1007, - 961, 973, 777, 1006, 976, 980, 1016, 1032, 1044, 1056, - 1064, 1065, 1069, 1070, 1078, 1079, 1073, 1074, 1083, 1084, - 1081, 1082, 1092, 1095, 1086, 1087, 1091, 1096, 1101, 1102, - 1103, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 888, 1122, - 1114, 1115, 1009, 1127, 1159, 1136, 1140, 1162, 1165, 1448, - - 1168, 1171, 1448, 1188, 1448, 1448, 1206, 1213, 1220, 1227, - 1234, 1241, 1248, 1255, 1262, 1269, 1276, 1281, 1286, 1291, - 1298, 1301, 1304, 1307, 1314, 1318, 1324, 1330, 1336, 1343, - 1350, 1357, 1364, 1371, 1378, 1385 + 93, 135, 73, 76, 111, 114, 117, 153, 156, 159, + 176, 179, 182, 185, 200, 203, 206, 209, 225, 0, + 279, 282, 285, 288, 304, 0, 358, 361, 363, 365, + 1541, 1542, 1542, 380, 383, 47, 62, 1542, 386, 171, + 1542, 1542, 1530, 1542, 1542, 1521, 1542, 1534, 1534, 365, + 1542, 1542, 1542, 1542, 1532, 1532, 1502, 375, 1542, 389, + 1515, 0, 195, 1542, 1482, 1542, 398, 391, 399, 393, + 401, 402, 1542, 420, 1513, 0, 411, 1542, 1496, 1495, + + 1494, 1481, 1542, 423, 423, 1542, 429, 1508, 0, 429, + 1542, 1491, 1, 1490, 1477, 1488, 1542, 441, 435, 1516, + 1488, 447, 34, 1465, 1542, 1508, 1499, 1542, 1542, 1542, + 69, 40, 1465, 1464, 1462, 1495, 1463, 1542, 0, 1488, + 1470, 1472, 1462, 1542, 0, 1456, 1471, 1461, 1454, 1458, + 1542, 0, 1451, 1466, 1455, 1455, 1446, 1448, 1458, 1464, + 1476, 1475, 1482, 108, 1447, 1542, 75, 0, 1443, 1443, + 1473, 1472, 1440, 1542, 1451, 1442, 453, 456, 1443, 1445, + 1447, 1442, 1441, 1436, 459, 462, 1443, 1438, 1435, 1436, + 1424, 1432, 465, 482, 1449, 1542, 1452, 1542, 1542, 110, + + 1426, 1542, 1453, 1452, 1416, 1542, 1542, 1414, 1417, 1414, + 485, 488, 1542, 491, 1424, 1355, 494, 1349, 510, 1331, + 513, 518, 1542, 526, 530, 1336, 1325, 535, 1337, 1328, + 538, 546, 1542, 551, 1338, 423, 555, 1542, 1542, 1341, + 1259, 1232, 1233, 558, 563, 568, 575, 578, 586, 591, + 595, 1228, 607, 610, 613, 626, 1228, 629, 632, 1229, + 1215, 645, 1244, 452, 1245, 648, 1542, 1225, 1542, 1542, + 651, 1195, 654, 657, 665, 671, 1542, 1542, 685, 688, + 701, 1542, 1542, 1183, 696, 709, 1542, 1542, 717, 720, + 728, 733, 1542, 1542, 744, 747, 750, 1199, 32, 104, + + 153, 1542, 753, 1174, 756, 763, 1542, 1542, 1069, 773, + 1542, 776, 1542, 1542, 784, 790, 800, 803, 811, 816, + 827, 1542, 1055, 146, 179, 147, 1026, 830, 1542, 1013, + 833, 1542, 1542, 847, 1542, 1542, 855, 1542, 1542, 1001, + 863, 175, 428, 987, 119, 1542, 866, 181, 89, 869, + 872, 875, 435, 360, 455, 457, 458, 891, 894, 910, + 913, 921, 926, 484, 489, 508, 557, 578, 937, 567, + 625, 945, 1542, 1542, 953, 1542, 1542, 582, 176, 606, + 528, 961, 961, 901, 908, 887, 964, 621, 967, 970, + 973, 990, 856, 830, 812, 788, 998, 1001, 1007, 1010, + + 1027, 1035, 1053, 1085, 688, 687, 592, 548, 652, 1045, + 663, 1103, 678, 284, 1121, 1153, 545, 475, 381, 408, + 688, 710, 699, 765, 278, 369, 285, 291, 1048, 293, + 1542, 211, 1542, 608, 715, 744, 162, 110, 76, 1077, + 1542, 1542, 352, 752, 647, 5, 199, 661, 772, 1542, + 1116, 798, 1145, 1171, 1179, 1184, 567, 723, 1192, 771, + 803, 461, 660, 806, 820, 777, 792, 517, 766, 834, + 836, 829, 873, 780, 862, 884, 887, 913, 934, 869, + 943, 968, 971, 965, 979, 690, 790, 980, 999, 872, + 883, 844, 1064, 926, 989, 1123, 1132, 500, 902, 1148, + + 1160, 915, 1056, 1065, 1124, 1173, 1181, 1133, 1189, 603, + 916, 1194, 1195, 1005, 1059, 1060, 1080, 1095, 1127, 1092, + 1128, 1185, 1190, 1191, 1193, 1196, 1197, 1016, 1208, 1200, + 1201, 1214, 1212, 1237, 1217, 1227, 1244, 1247, 1542, 1250, + 1254, 1542, 1257, 1542, 1542, 1275, 1282, 1289, 1296, 1303, + 1310, 1317, 1324, 1331, 1338, 1345, 1350, 1355, 1360, 1367, + 1370, 1373, 1376, 1383, 1387, 1393, 1399, 1405, 1412, 1419, + 1426, 1433, 1440, 1447, 1454 } ; -static yyconst flex_int16_t yy_def[537] = +static yyconst flex_int16_t yy_def[576] = { 0, - 507, 507, 508, 508, 508, 508, 509, 509, 510, 510, - 511, 511, 512, 512, 512, 512, 513, 513, 507, 507, - 514, 514, 515, 515, 515, 515, 507, 507, 515, 515, - 507, 507, 515, 515, 515, 515, 507, 507, 506, 39, - 516, 516, 507, 507, 506, 45, 517, 517, 512, 512, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 518, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 519, 506, 506, 519, 519, 506, - - 506, 506, 506, 506, 506, 520, 506, 506, 520, 520, - 520, 520, 520, 506, 506, 506, 506, 506, 506, 521, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 518, 522, 506, 506, 506, - 519, 519, 519, 523, 506, 520, 520, 520, 520, 520, - 520, 520, 524, 506, 506, 525, 506, 525, 506, 506, - 506, 526, 506, 506, 506, 506, 506, 506, 506, 527, - 527, 506, 506, 519, 519, 528, 528, 520, 520, 520, - 520, 520, 520, 529, 529, 506, 506, 525, 506, 506, - 525, 506, 506, 526, 506, 506, 506, 506, 506, 506, - - 506, 527, 506, 527, 506, 506, 519, 519, 506, 528, - 506, 528, 520, 520, 520, 520, 520, 520, 506, 529, - 506, 529, 506, 525, 530, 506, 506, 506, 506, 506, - 527, 506, 506, 519, 506, 506, 528, 520, 520, 520, - 506, 506, 520, 520, 529, 506, 525, 530, 530, 506, - 530, 506, 506, 506, 527, 506, 506, 506, 506, 506, - 506, 506, 528, 520, 506, 506, 520, 506, 506, 506, - 520, 520, 529, 506, 525, 530, 530, 506, 506, 527, - 506, 506, 506, 506, 506, 520, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 525, 530, - - 530, 506, 506, 520, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 525, 530, 530, 520, 506, 525, - 530, 530, 520, 525, 525, 525, 530, 530, 506, 506, - 525, 525, 525, 530, 530, 506, 506, 506, 525, 525, - 525, 530, 530, 506, 506, 506, 506, 525, 525, 525, - 530, 530, 530, 506, 506, 506, 506, 525, 525, 525, - 530, 530, 530, 531, 532, 506, 506, 506, 506, 525, - 525, 525, 530, 533, 534, 531, 532, 506, 506, 506, - 506, 525, 525, 525, 533, 530, 535, 534, 536, 530, - 506, 506, 506, 506, 525, 525, 525, 535, 506, 536, - - 530, 506, 506, 525, 525, 525, 506, 525, 525, 525, - 506, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 506, - - 525, 525, 506, 525, 506, 0, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506 + 546, 546, 547, 547, 547, 547, 548, 548, 549, 549, + 550, 550, 551, 551, 551, 551, 552, 552, 546, 546, + 553, 553, 554, 554, 554, 554, 546, 546, 554, 554, + 546, 546, 554, 554, 554, 554, 546, 546, 545, 39, + 555, 555, 546, 546, 545, 45, 556, 556, 551, 551, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 557, 545, 545, 557, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 558, 545, 545, 558, 558, + + 558, 558, 545, 545, 545, 545, 545, 545, 559, 545, + 545, 559, 559, 559, 559, 559, 545, 545, 545, 545, + 545, 545, 560, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 557, 557, + 561, 545, 545, 545, 558, 558, 558, 558, 558, 562, + 545, 559, 559, 559, 559, 559, 559, 559, 563, 545, + 545, 564, 545, 564, 545, 545, 545, 565, 545, 545, + 545, 545, 545, 545, 545, 557, 566, 566, 545, 545, + 558, 558, 558, 558, 567, 567, 559, 559, 559, 559, + 559, 559, 568, 568, 545, 545, 564, 545, 545, 564, + + 545, 545, 565, 545, 545, 545, 545, 545, 545, 557, + 545, 566, 545, 566, 545, 545, 558, 558, 558, 558, + 545, 567, 545, 567, 559, 559, 559, 559, 559, 559, + 545, 568, 545, 568, 545, 564, 569, 545, 545, 545, + 545, 545, 557, 566, 545, 545, 545, 545, 558, 545, + 545, 558, 567, 545, 545, 559, 559, 545, 545, 559, + 559, 568, 545, 564, 569, 569, 545, 569, 545, 545, + 545, 557, 566, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 558, 567, 545, 545, 545, 545, 545, + 559, 545, 545, 545, 559, 559, 568, 545, 564, 569, + + 569, 545, 545, 557, 566, 545, 545, 545, 558, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 564, 569, 569, 557, 545, 545, 558, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 564, 569, 569, 557, 558, 545, 564, 569, 569, 557, + 558, 558, 564, 564, 564, 569, 569, 545, 545, 545, + 545, 545, 545, 564, 564, 564, 569, 569, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 564, 564, 564, + 569, 569, 545, 545, 545, 545, 564, 564, 564, 569, + 569, 569, 545, 545, 545, 545, 564, 564, 564, 569, + + 569, 569, 570, 571, 545, 545, 545, 545, 564, 564, + 564, 569, 572, 573, 570, 571, 545, 545, 545, 545, + 564, 564, 564, 572, 569, 574, 573, 575, 569, 545, + 545, 545, 545, 564, 564, 564, 574, 545, 575, 569, + 545, 545, 564, 564, 564, 545, 564, 564, 564, 545, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, + 564, 564, 564, 564, 564, 564, 564, 564, 545, 564, + 564, 545, 564, 545, 0, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545 } ; -static yyconst flex_int16_t yy_nxt[1502] = +static yyconst flex_int16_t yy_nxt[1598] = { 0, - 506, 54, 55, 54, 54, 55, 54, 54, 55, 54, - 54, 55, 54, 62, 506, 56, 62, 65, 56, 65, - 63, 57, 411, 63, 57, 59, 55, 59, 59, 55, - 59, 68, 69, 66, 148, 66, 70, 71, 149, 60, - 68, 69, 60, 157, 72, 70, 71, 68, 69, 161, - 73, 120, 70, 72, 68, 69, 158, 73, 189, 70, - 72, 75, 76, 75, 76, 121, 120, 72, 55, 55, - 55, 55, 55, 55, 86, 55, 86, 86, 55, 86, - 122, 163, 78, 189, 164, 78, 349, 224, 87, 162, - 77, 87, 77, 79, 80, 55, 80, 79, 79, 79, - - 79, 79, 79, 79, 81, 79, 399, 79, 83, 79, - 84, 79, 119, 119, 119, 119, 119, 119, 119, 119, - 119, 250, 250, 79, 79, 79, 80, 55, 80, 79, - 79, 79, 79, 79, 79, 79, 81, 79, 316, 79, - 83, 79, 84, 79, 86, 55, 86, 86, 55, 86, - 55, 55, 55, 322, 189, 79, 79, 161, 88, 193, - 250, 88, 191, 123, 89, 55, 55, 55, 86, 55, - 86, 86, 55, 86, 55, 55, 55, 122, 189, 89, - 250, 250, 87, 250, 315, 87, 300, 123, 90, 55, - 55, 55, 86, 55, 86, 86, 55, 86, 86, 55, - - 86, 122, 301, 90, 189, 250, 88, 189, 321, 88, - 317, 123, 91, 86, 55, 86, 55, 55, 55, 55, - 55, 55, 119, 119, 119, 122, 348, 91, 328, 407, - 89, 333, 399, 89, 92, 93, 55, 93, 92, 92, - 92, 92, 92, 92, 92, 94, 92, 95, 92, 96, - 92, 97, 92, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 92, 92, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 98, 95, 99, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 101, 55, 101, - 101, 55, 101, 55, 55, 55, 55, 55, 55, 189, - - 386, 102, 250, 251, 102, 403, 402, 90, 299, 389, - 90, 103, 104, 55, 104, 103, 103, 103, 103, 103, - 103, 103, 105, 103, 106, 103, 107, 103, 108, 103, - 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 106, 103, 103, 106, 106, 106, 106, 106, 106, 106, - 106, 109, 110, 106, 111, 106, 106, 106, 106, 112, - 113, 106, 106, 106, 115, 55, 115, 115, 55, 115, - 68, 69, 68, 69, 128, 70, 123, 70, 116, 123, - 123, 116, 189, 117, 123, 117, 119, 119, 119, 123, - 122, 137, 395, 122, 122, 189, 137, 123, 122, 118, - - 129, 118, 189, 122, 137, 123, 130, 275, 123, 131, - 134, 122, 138, 247, 132, 144, 138, 399, 139, 122, - 399, 138, 122, 139, 119, 119, 119, 119, 119, 119, - 119, 119, 119, 119, 119, 119, 123, 119, 119, 119, - 201, 201, 201, 153, 201, 201, 201, 209, 209, 209, - 122, 209, 209, 209, 250, 250, 203, 219, 219, 219, - 203, 189, 189, 211, 219, 219, 219, 211, 201, 201, - 201, 394, 327, 221, 189, 201, 201, 201, 334, 331, - 221, 201, 201, 201, 203, 235, 235, 235, 393, 250, - 204, 203, 332, 250, 212, 339, 189, 203, 222, 189, - - 236, 209, 209, 209, 209, 209, 209, 209, 209, 209, - 344, 340, 231, 241, 241, 241, 335, 211, 350, 342, - 211, 189, 345, 211, 219, 219, 219, 392, 242, 219, - 219, 219, 219, 219, 219, 249, 249, 249, 386, 341, - 221, 237, 201, 201, 201, 221, 391, 389, 221, 250, - 250, 250, 251, 256, 256, 256, 346, 189, 203, 257, - 257, 257, 258, 258, 258, 235, 235, 235, 347, 245, - 351, 260, 260, 260, 189, 261, 343, 259, 262, 359, - 236, 209, 209, 209, 397, 381, 255, 265, 265, 265, - 241, 241, 241, 189, 268, 268, 268, 211, 269, 380, - - 189, 270, 266, 189, 404, 242, 219, 219, 219, 249, - 249, 249, 279, 279, 279, 382, 263, 201, 201, 201, - 189, 423, 221, 189, 189, 250, 256, 256, 256, 257, - 257, 257, 384, 203, 258, 258, 258, 189, 281, 281, - 281, 273, 282, 408, 276, 283, 260, 260, 260, 259, - 261, 441, 442, 262, 386, 280, 284, 284, 284, 277, - 265, 265, 265, 287, 287, 287, 387, 288, 379, 189, - 289, 189, 285, 189, 189, 266, 290, 290, 290, 268, - 268, 268, 406, 269, 405, 396, 270, 292, 292, 292, - 424, 291, 294, 294, 294, 296, 296, 296, 279, 279, - - 279, 386, 293, 302, 302, 302, 378, 295, 281, 281, - 281, 297, 282, 387, 189, 283, 284, 284, 284, 303, - 287, 287, 287, 189, 288, 409, 189, 289, 290, 290, - 290, 189, 285, 305, 305, 305, 189, 306, 412, 189, - 307, 435, 410, 291, 292, 292, 292, 308, 308, 308, - 189, 309, 189, 429, 310, 294, 294, 294, 413, 293, - 311, 311, 311, 189, 312, 189, 189, 313, 189, 430, - 295, 296, 296, 296, 302, 302, 302, 305, 305, 305, - 433, 306, 189, 436, 307, 447, 427, 297, 369, 414, - 303, 308, 308, 308, 189, 309, 434, 189, 310, 311, - - 311, 311, 189, 312, 416, 189, 313, 320, 320, 320, - 320, 320, 320, 329, 329, 329, 329, 329, 329, 459, - 336, 336, 336, 189, 337, 189, 189, 338, 330, 189, - 189, 330, 336, 336, 336, 437, 337, 453, 189, 338, - 352, 352, 352, 368, 439, 324, 428, 325, 358, 358, - 358, 431, 326, 367, 189, 353, 250, 360, 360, 360, - 361, 361, 361, 366, 189, 352, 352, 352, 438, 440, - 363, 363, 363, 189, 364, 362, 250, 365, 189, 189, - 353, 250, 358, 358, 358, 189, 250, 371, 371, 371, - 360, 360, 360, 495, 361, 361, 361, 189, 189, 432, - - 443, 357, 189, 189, 356, 189, 189, 445, 370, 362, - 250, 373, 373, 373, 355, 374, 372, 444, 375, 363, - 363, 363, 189, 364, 189, 446, 365, 250, 189, 371, - 371, 371, 401, 401, 401, 250, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 189, 448, 248, 250, 251, - 248, 248, 248, 250, 248, 383, 449, 454, 189, 189, - 354, 401, 401, 401, 189, 323, 248, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 250, 189, 248, - 451, 452, 248, 248, 248, 250, 248, 373, 373, 373, - 189, 374, 450, 189, 375, 189, 276, 189, 248, 248, - - 415, 415, 415, 250, 248, 248, 248, 248, 248, 390, - 248, 248, 248, 457, 498, 248, 189, 455, 248, 248, - 248, 250, 248, 189, 189, 458, 189, 319, 461, 417, - 417, 417, 462, 189, 248, 248, 248, 248, 248, 248, - 248, 248, 248, 248, 390, 189, 456, 248, 460, 189, - 248, 248, 248, 250, 248, 415, 415, 415, 463, 418, - 318, 189, 419, 420, 420, 420, 248, 248, 417, 417, - 417, 189, 421, 189, 464, 422, 420, 420, 420, 189, - 425, 189, 189, 426, 189, 465, 189, 189, 471, 472, - 189, 189, 189, 475, 476, 189, 189, 466, 189, 189, - - 189, 189, 479, 189, 189, 480, 467, 468, 189, 189, - 469, 470, 189, 189, 473, 474, 477, 478, 189, 189, - 189, 481, 482, 189, 189, 189, 189, 189, 189, 189, - 495, 189, 189, 314, 304, 498, 485, 486, 298, 189, - 483, 501, 489, 490, 189, 484, 493, 494, 501, 496, - 497, 286, 487, 189, 278, 488, 250, 189, 491, 492, - 499, 499, 499, 502, 502, 502, 499, 499, 499, 504, - 504, 504, 502, 502, 502, 274, 500, 272, 271, 503, - 267, 264, 500, 254, 253, 505, 252, 246, 503, 504, - 504, 504, 244, 243, 240, 239, 238, 234, 233, 232, - - 230, 229, 228, 227, 226, 505, 52, 52, 52, 52, - 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, - 58, 58, 58, 58, 58, 58, 58, 61, 61, 61, - 61, 61, 61, 61, 64, 64, 64, 64, 64, 64, - 64, 67, 67, 67, 67, 67, 67, 67, 74, 74, - 74, 74, 74, 74, 74, 82, 82, 82, 82, 82, - 82, 82, 85, 85, 85, 85, 85, 85, 85, 100, - 100, 100, 100, 100, 100, 100, 114, 114, 114, 114, - 114, 114, 114, 136, 136, 136, 225, 136, 141, 141, - 141, 189, 141, 146, 146, 146, 223, 146, 156, 156, - - 156, 156, 156, 218, 156, 170, 217, 170, 176, 216, - 176, 184, 215, 184, 188, 188, 188, 188, 188, 188, - 188, 194, 214, 213, 194, 202, 202, 202, 202, 202, - 202, 210, 210, 210, 210, 210, 210, 220, 220, 220, - 220, 220, 220, 248, 248, 248, 248, 248, 248, 248, - 376, 376, 376, 376, 376, 376, 376, 377, 377, 377, - 377, 377, 377, 377, 385, 385, 385, 385, 385, 385, - 385, 388, 388, 388, 388, 388, 388, 388, 398, 398, - 398, 398, 398, 398, 398, 400, 400, 400, 400, 400, - 400, 400, 208, 207, 206, 205, 200, 199, 198, 197, - - 196, 195, 192, 190, 189, 187, 186, 185, 183, 182, - 181, 180, 179, 178, 177, 175, 174, 173, 172, 171, - 169, 168, 167, 166, 165, 160, 157, 159, 155, 154, - 152, 151, 150, 147, 145, 143, 142, 140, 135, 133, - 127, 126, 127, 126, 125, 124, 506, 51, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - - 506 + 545, 54, 55, 54, 54, 55, 54, 54, 55, 54, + 54, 55, 54, 62, 545, 56, 62, 65, 56, 65, + 63, 57, 450, 63, 57, 59, 55, 59, 59, 55, + 59, 68, 69, 66, 154, 66, 70, 71, 155, 60, + 68, 69, 60, 163, 72, 70, 71, 68, 69, 198, + 73, 123, 70, 72, 68, 69, 164, 73, 324, 70, + 72, 75, 76, 75, 76, 124, 123, 72, 55, 55, + 55, 55, 55, 55, 87, 55, 87, 87, 55, 87, + 125, 167, 78, 169, 438, 78, 170, 167, 88, 202, + 77, 88, 77, 79, 80, 55, 80, 79, 79, 79, + + 79, 79, 79, 79, 81, 79, 267, 79, 83, 79, + 84, 79, 87, 55, 87, 87, 55, 87, 55, 55, + 55, 267, 168, 79, 79, 198, 89, 198, 446, 89, + 357, 236, 90, 200, 85, 79, 80, 55, 80, 79, + 79, 79, 79, 79, 79, 79, 81, 79, 325, 79, + 83, 79, 84, 79, 55, 55, 55, 87, 55, 87, + 87, 55, 87, 198, 267, 79, 79, 438, 90, 341, + 267, 88, 351, 352, 88, 126, 85, 55, 55, 55, + 55, 55, 55, 87, 55, 87, 87, 55, 87, 125, + 326, 91, 267, 198, 91, 343, 267, 89, 267, 126, + + 89, 87, 55, 87, 87, 55, 87, 55, 55, 55, + 55, 55, 55, 125, 342, 92, 198, 356, 92, 442, + 348, 90, 388, 451, 90, 93, 94, 55, 94, 93, + 93, 93, 93, 93, 93, 93, 95, 93, 96, 93, + 97, 93, 98, 93, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 93, 93, 96, 96, 96, + 96, 99, 96, 96, 96, 96, 96, 100, 96, 101, + 96, 102, 96, 96, 96, 96, 96, 96, 96, 96, + 104, 55, 104, 104, 55, 104, 55, 55, 55, 55, + 55, 55, 425, 425, 105, 267, 268, 105, 441, 438, + + 91, 428, 428, 91, 106, 107, 55, 107, 106, 106, + 106, 106, 106, 106, 106, 108, 106, 109, 106, 110, + 106, 111, 106, 109, 109, 109, 109, 109, 109, 109, + 109, 109, 109, 109, 106, 106, 109, 109, 109, 109, + 112, 109, 109, 109, 109, 109, 113, 109, 114, 109, + 109, 109, 109, 115, 116, 109, 109, 109, 109, 118, + 55, 118, 118, 55, 118, 68, 69, 68, 69, 198, + 70, 131, 70, 119, 438, 447, 119, 198, 120, 126, + 120, 122, 122, 122, 122, 122, 122, 122, 122, 122, + 122, 122, 122, 125, 121, 126, 121, 126, 132, 122, + + 122, 122, 141, 126, 133, 126, 126, 134, 365, 125, + 141, 125, 135, 141, 137, 126, 433, 125, 432, 125, + 125, 122, 122, 122, 122, 122, 122, 126, 142, 125, + 122, 122, 122, 126, 150, 143, 142, 143, 142, 126, + 198, 125, 122, 122, 122, 267, 159, 125, 122, 122, + 122, 264, 198, 125, 211, 211, 211, 211, 211, 211, + 221, 221, 221, 221, 221, 221, 231, 231, 231, 198, + 213, 364, 198, 213, 267, 267, 223, 349, 198, 223, + 431, 299, 233, 231, 231, 231, 211, 211, 211, 211, + 211, 211, 211, 211, 211, 247, 247, 247, 367, 233, + + 366, 198, 213, 368, 214, 213, 198, 224, 213, 468, + 248, 250, 250, 250, 221, 221, 221, 198, 234, 221, + 221, 221, 379, 378, 244, 198, 251, 221, 221, 221, + 223, 254, 254, 254, 198, 223, 258, 258, 258, 231, + 231, 231, 504, 223, 380, 267, 255, 231, 231, 231, + 474, 259, 231, 231, 231, 233, 266, 266, 266, 211, + 211, 211, 253, 233, 274, 274, 274, 390, 233, 275, + 275, 275, 267, 268, 267, 213, 247, 247, 247, 276, + 276, 276, 430, 277, 198, 420, 278, 279, 279, 279, + 262, 248, 250, 250, 250, 267, 281, 281, 281, 198, + + 282, 381, 280, 283, 273, 383, 462, 251, 221, 221, + 221, 254, 254, 254, 286, 286, 286, 384, 287, 387, + 198, 288, 382, 198, 223, 198, 255, 289, 289, 289, + 258, 258, 258, 292, 292, 292, 443, 293, 198, 516, + 294, 419, 290, 389, 285, 259, 231, 231, 231, 266, + 266, 266, 303, 303, 303, 211, 211, 211, 274, 274, + 274, 398, 233, 385, 198, 267, 275, 275, 275, 198, + 449, 213, 276, 276, 276, 386, 277, 198, 198, 278, + 198, 421, 297, 425, 452, 300, 279, 279, 279, 306, + 306, 306, 423, 307, 305, 426, 308, 310, 310, 310, + + 301, 280, 281, 281, 281, 198, 282, 198, 469, 283, + 286, 286, 286, 311, 287, 434, 198, 288, 289, 289, + 289, 312, 312, 312, 418, 313, 436, 198, 314, 315, + 315, 315, 198, 290, 292, 292, 292, 417, 293, 435, + 198, 294, 444, 492, 316, 317, 317, 317, 319, 319, + 319, 321, 321, 321, 303, 303, 303, 328, 328, 328, + 318, 198, 463, 320, 306, 306, 306, 322, 307, 198, + 425, 308, 445, 329, 310, 310, 310, 312, 312, 312, + 448, 313, 426, 198, 314, 315, 315, 315, 198, 198, + 311, 331, 331, 331, 198, 332, 453, 198, 333, 475, + + 316, 317, 317, 317, 334, 334, 334, 198, 335, 198, + 466, 336, 319, 319, 319, 198, 318, 337, 337, 337, + 198, 338, 455, 198, 339, 472, 480, 320, 321, 321, + 321, 328, 328, 328, 331, 331, 331, 198, 332, 408, + 473, 333, 467, 493, 322, 470, 198, 329, 334, 334, + 334, 198, 335, 198, 407, 336, 337, 337, 337, 471, + 338, 198, 478, 339, 347, 347, 347, 347, 347, 347, + 358, 358, 358, 360, 360, 360, 362, 362, 362, 198, + 198, 406, 476, 198, 477, 359, 198, 498, 361, 198, + 198, 363, 358, 358, 358, 369, 369, 369, 405, 370, + + 198, 198, 371, 353, 198, 354, 479, 359, 481, 486, + 355, 360, 360, 360, 372, 372, 372, 482, 373, 198, + 483, 374, 362, 362, 362, 496, 361, 375, 375, 375, + 198, 376, 198, 198, 377, 396, 497, 363, 369, 369, + 369, 395, 370, 198, 505, 371, 372, 372, 372, 394, + 373, 198, 517, 374, 375, 375, 375, 508, 376, 484, + 198, 377, 391, 391, 391, 397, 397, 397, 399, 399, + 399, 400, 400, 400, 391, 391, 391, 392, 267, 500, + 485, 198, 198, 487, 198, 198, 401, 267, 198, 392, + 267, 402, 402, 402, 393, 403, 198, 198, 404, 397, + + 397, 397, 410, 410, 410, 490, 198, 267, 399, 399, + 399, 400, 400, 400, 488, 198, 198, 489, 198, 491, + 494, 534, 198, 350, 198, 409, 401, 267, 412, 412, + 412, 346, 413, 198, 411, 414, 402, 402, 402, 495, + 403, 520, 501, 404, 267, 345, 410, 410, 410, 440, + 440, 440, 267, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 198, 344, 265, 267, 268, 265, 265, 265, + 267, 265, 422, 198, 340, 510, 198, 198, 440, 440, + 440, 198, 198, 265, 265, 265, 265, 265, 265, 265, + 265, 265, 265, 265, 267, 521, 265, 198, 509, 265, + + 265, 265, 267, 265, 412, 412, 412, 499, 413, 198, + 522, 414, 198, 330, 300, 265, 265, 454, 454, 454, + 267, 265, 265, 265, 265, 265, 429, 265, 265, 265, + 523, 524, 265, 198, 511, 265, 265, 265, 267, 265, + 198, 198, 526, 514, 198, 198, 456, 456, 456, 198, + 198, 265, 265, 265, 265, 265, 265, 265, 265, 265, + 265, 429, 198, 525, 265, 198, 502, 265, 265, 265, + 267, 265, 454, 454, 454, 503, 457, 198, 527, 458, + 459, 459, 459, 265, 265, 456, 456, 456, 198, 460, + 198, 506, 461, 459, 459, 459, 198, 464, 198, 515, + + 465, 198, 198, 507, 518, 519, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 512, 534, 198, 198, 537, + 537, 528, 540, 513, 327, 198, 529, 323, 309, 198, + 304, 198, 532, 533, 198, 540, 535, 536, 538, 538, + 538, 530, 302, 531, 198, 541, 541, 541, 538, 538, + 538, 543, 543, 543, 539, 541, 541, 541, 543, 543, + 543, 542, 267, 298, 539, 296, 295, 544, 291, 284, + 272, 542, 271, 270, 544, 52, 52, 52, 52, 52, + 52, 52, 53, 53, 53, 53, 53, 53, 53, 58, + 58, 58, 58, 58, 58, 58, 61, 61, 61, 61, + + 61, 61, 61, 64, 64, 64, 64, 64, 64, 64, + 67, 67, 67, 67, 67, 67, 67, 74, 74, 74, + 74, 74, 74, 74, 82, 82, 82, 82, 82, 82, + 82, 86, 86, 86, 86, 86, 86, 86, 103, 103, + 103, 103, 103, 103, 103, 117, 117, 117, 117, 117, + 117, 117, 139, 139, 139, 269, 139, 145, 145, 145, + 263, 145, 152, 152, 152, 261, 152, 162, 162, 162, + 162, 162, 260, 162, 177, 257, 177, 185, 256, 185, + 193, 252, 193, 197, 197, 197, 197, 197, 197, 197, + 203, 249, 246, 203, 212, 212, 212, 212, 212, 212, + + 222, 222, 222, 222, 222, 222, 232, 232, 232, 232, + 232, 232, 265, 265, 265, 265, 265, 265, 265, 415, + 415, 415, 415, 415, 415, 415, 416, 416, 416, 416, + 416, 416, 416, 424, 424, 424, 424, 424, 424, 424, + 427, 427, 427, 427, 427, 427, 427, 437, 437, 437, + 437, 437, 437, 437, 439, 439, 439, 439, 439, 439, + 439, 245, 243, 242, 241, 240, 239, 238, 237, 198, + 235, 230, 229, 228, 227, 226, 225, 220, 219, 218, + 217, 216, 215, 210, 209, 208, 207, 206, 205, 204, + 201, 199, 198, 196, 195, 194, 192, 191, 190, 189, + + 188, 187, 186, 184, 183, 182, 181, 180, 179, 178, + 176, 175, 174, 173, 172, 171, 166, 163, 165, 161, + 160, 158, 157, 156, 153, 151, 149, 148, 147, 146, + 144, 140, 138, 136, 130, 129, 130, 129, 128, 127, + 545, 51, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545 + } ; -static yyconst flex_int16_t yy_chk[1502] = +static yyconst flex_int16_t yy_chk[1598] = { 0, 0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 9, 0, 3, 10, 11, 4, 12, - 9, 5, 407, 10, 6, 7, 7, 7, 8, 8, - 8, 13, 13, 11, 110, 12, 13, 13, 110, 7, - 14, 14, 8, 120, 13, 14, 14, 15, 15, 128, - 15, 56, 15, 14, 16, 16, 120, 16, 340, 16, + 9, 5, 446, 10, 6, 7, 7, 7, 8, 8, + 8, 13, 13, 11, 113, 12, 13, 13, 113, 7, + 14, 14, 8, 123, 13, 14, 14, 15, 15, 299, + 15, 56, 15, 14, 16, 16, 123, 16, 299, 16, 15, 17, 17, 18, 18, 56, 57, 16, 19, 19, 19, 20, 20, 20, 23, 23, 23, 24, 24, 24, - 57, 129, 19, 191, 129, 20, 340, 191, 23, 128, + 57, 131, 19, 132, 439, 20, 132, 167, 23, 167, 17, 24, 18, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 400, 21, 21, 21, - 21, 21, 54, 54, 54, 55, 55, 55, 59, 59, - 59, 300, 317, 21, 21, 22, 22, 22, 22, 22, + 21, 21, 21, 21, 21, 21, 349, 21, 21, 21, + 21, 21, 25, 25, 25, 26, 26, 26, 27, 27, + 27, 300, 131, 21, 21, 164, 25, 200, 438, 26, + 349, 200, 27, 164, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 300, 22, - 22, 22, 22, 22, 25, 25, 25, 26, 26, 26, - 27, 27, 27, 317, 158, 22, 22, 161, 25, 161, - 276, 26, 158, 60, 27, 28, 28, 28, 29, 29, - 29, 30, 30, 30, 31, 31, 31, 60, 299, 28, - 301, 316, 29, 277, 299, 30, 276, 83, 31, 32, - 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, - - 35, 83, 277, 32, 326, 322, 33, 339, 316, 34, - 301, 96, 35, 36, 36, 36, 37, 37, 37, 38, - 38, 38, 80, 80, 80, 96, 339, 36, 322, 399, - 37, 326, 398, 38, 39, 39, 39, 39, 39, 39, + 22, 22, 22, 22, 28, 28, 28, 29, 29, 29, + 30, 30, 30, 324, 326, 22, 22, 437, 28, 324, + 301, 29, 345, 345, 30, 60, 22, 31, 31, 31, + 32, 32, 32, 33, 33, 33, 34, 34, 34, 60, + 301, 31, 342, 379, 32, 326, 325, 33, 348, 83, + + 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, + 38, 38, 38, 83, 325, 35, 447, 348, 36, 432, + 342, 37, 379, 447, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 39, 39, 39, 39, 39, 39, 41, 41, 41, - 42, 42, 42, 43, 43, 43, 44, 44, 44, 275, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, + 44, 44, 414, 427, 41, 425, 425, 42, 430, 428, - 375, 41, 386, 386, 42, 393, 391, 43, 275, 375, - 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 43, 414, 427, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 47, 47, 47, 48, 48, 48, - 49, 49, 50, 50, 70, 49, 78, 50, 47, 89, - 90, 48, 382, 49, 87, 50, 86, 86, 86, 88, - 78, 87, 382, 89, 90, 247, 88, 91, 87, 49, - - 70, 50, 224, 88, 91, 107, 70, 247, 102, 70, - 78, 91, 90, 224, 70, 102, 87, 389, 89, 107, - 387, 88, 102, 87, 93, 93, 93, 101, 101, 101, - 104, 104, 104, 115, 115, 115, 116, 119, 119, 119, - 170, 170, 170, 116, 171, 171, 171, 176, 176, 176, - 116, 177, 177, 177, 321, 327, 170, 184, 184, 184, - 171, 324, 325, 176, 185, 185, 185, 177, 201, 201, - 201, 381, 321, 184, 331, 202, 202, 202, 327, 324, - 185, 204, 204, 204, 201, 208, 208, 208, 380, 328, - 171, 202, 325, 334, 177, 331, 332, 204, 185, 341, - - 208, 209, 209, 209, 210, 210, 210, 212, 212, 212, - 337, 332, 204, 216, 216, 216, 328, 209, 341, 334, - 210, 333, 337, 212, 219, 219, 219, 379, 216, 220, - 220, 220, 222, 222, 222, 225, 225, 225, 388, 333, - 219, 212, 231, 231, 231, 220, 378, 388, 222, 342, - 335, 225, 225, 232, 232, 232, 338, 349, 231, 233, - 233, 233, 234, 234, 234, 235, 235, 235, 338, 222, - 342, 236, 236, 236, 384, 236, 335, 234, 236, 349, - 235, 237, 237, 237, 384, 369, 231, 239, 239, 239, - 241, 241, 241, 395, 242, 242, 242, 237, 242, 368, - - 418, 242, 239, 370, 395, 241, 245, 245, 245, 249, - 249, 249, 254, 254, 254, 370, 237, 255, 255, 255, - 372, 418, 245, 435, 436, 249, 256, 256, 256, 257, - 257, 257, 372, 255, 258, 258, 258, 404, 259, 259, - 259, 245, 259, 404, 249, 259, 260, 260, 260, 258, - 260, 435, 436, 260, 374, 255, 263, 263, 263, 249, - 265, 265, 265, 266, 266, 266, 374, 266, 367, 419, - 266, 397, 263, 383, 396, 265, 267, 267, 267, 268, - 268, 268, 397, 268, 396, 383, 268, 271, 271, 271, - 419, 267, 272, 272, 272, 273, 273, 273, 279, 279, - - 279, 385, 271, 280, 280, 280, 366, 272, 281, 281, - 281, 273, 281, 385, 405, 281, 284, 284, 284, 280, - 287, 287, 287, 423, 287, 405, 429, 287, 290, 290, - 290, 408, 284, 291, 291, 291, 406, 291, 408, 424, - 291, 429, 406, 290, 292, 292, 292, 293, 293, 293, - 427, 293, 409, 423, 293, 294, 294, 294, 409, 292, - 295, 295, 295, 441, 295, 421, 428, 295, 430, 424, - 294, 296, 296, 296, 302, 302, 302, 305, 305, 305, - 427, 305, 410, 430, 305, 441, 421, 296, 357, 410, - 302, 308, 308, 308, 453, 308, 428, 413, 308, 311, - - 311, 311, 447, 311, 413, 431, 311, 315, 315, 315, - 320, 320, 320, 323, 323, 323, 329, 329, 329, 453, - 330, 330, 330, 315, 330, 422, 320, 330, 323, 433, - 425, 329, 336, 336, 336, 431, 336, 447, 432, 336, - 343, 343, 343, 356, 433, 320, 422, 320, 348, 348, - 348, 425, 320, 355, 434, 343, 343, 350, 350, 350, - 351, 351, 351, 354, 348, 352, 352, 352, 432, 434, - 353, 353, 353, 350, 353, 351, 351, 353, 426, 439, - 352, 352, 358, 358, 358, 437, 353, 359, 359, 359, - 360, 360, 360, 489, 361, 361, 361, 440, 358, 426, - - 437, 347, 438, 359, 346, 489, 360, 439, 358, 361, - 361, 362, 362, 362, 345, 362, 360, 438, 362, 363, - 363, 363, 448, 363, 442, 440, 363, 362, 443, 371, - 371, 371, 390, 390, 390, 363, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 371, 442, 364, 390, 390, - 364, 364, 364, 364, 364, 371, 443, 448, 445, 446, - 344, 401, 401, 401, 444, 318, 364, 364, 365, 365, - 365, 365, 365, 365, 365, 365, 365, 401, 451, 365, - 445, 446, 365, 365, 365, 365, 365, 373, 373, 373, - 452, 373, 444, 455, 373, 449, 401, 456, 365, 365, - - 412, 412, 412, 373, 376, 376, 376, 376, 376, 376, - 376, 376, 376, 451, 493, 376, 412, 449, 376, 376, - 376, 376, 376, 454, 450, 452, 493, 314, 455, 414, - 414, 414, 456, 457, 376, 376, 377, 377, 377, 377, - 377, 377, 377, 377, 377, 414, 450, 377, 454, 458, - 377, 377, 377, 377, 377, 415, 415, 415, 457, 415, - 304, 459, 415, 416, 416, 416, 377, 377, 417, 417, - 417, 415, 417, 460, 458, 417, 420, 420, 420, 416, - 420, 461, 462, 420, 417, 459, 463, 464, 465, 466, - 467, 468, 420, 469, 470, 465, 466, 460, 471, 472, - - 469, 470, 473, 475, 476, 474, 461, 462, 477, 473, - 463, 464, 474, 478, 467, 468, 471, 472, 479, 480, - 481, 475, 476, 482, 483, 484, 485, 486, 487, 488, - 490, 491, 492, 298, 286, 494, 479, 480, 274, 490, - 477, 496, 483, 484, 494, 478, 487, 488, 497, 491, - 492, 264, 481, 496, 251, 482, 248, 497, 485, 486, - 495, 495, 495, 498, 498, 498, 499, 499, 499, 501, - 501, 501, 502, 502, 502, 246, 495, 244, 243, 498, - 240, 238, 499, 230, 229, 501, 228, 223, 502, 504, - 504, 504, 218, 217, 215, 214, 213, 207, 206, 205, - - 200, 199, 196, 195, 194, 504, 507, 507, 507, 507, - 507, 507, 507, 508, 508, 508, 508, 508, 508, 508, - 509, 509, 509, 509, 509, 509, 509, 510, 510, 510, - 510, 510, 510, 510, 511, 511, 511, 511, 511, 511, - 511, 512, 512, 512, 512, 512, 512, 512, 513, 513, - 513, 513, 513, 513, 513, 514, 514, 514, 514, 514, - 514, 514, 515, 515, 515, 515, 515, 515, 515, 516, - 516, 516, 516, 516, 516, 516, 517, 517, 517, 517, - 517, 517, 517, 518, 518, 518, 192, 518, 519, 519, - 519, 188, 519, 520, 520, 520, 186, 520, 521, 521, - - 521, 521, 521, 183, 521, 522, 182, 522, 523, 181, - 523, 524, 180, 524, 525, 525, 525, 525, 525, 525, - 525, 526, 179, 178, 526, 527, 527, 527, 527, 527, - 527, 528, 528, 528, 528, 528, 528, 529, 529, 529, - 529, 529, 529, 530, 530, 530, 530, 530, 530, 530, - 531, 531, 531, 531, 531, 531, 531, 532, 532, 532, - 532, 532, 532, 532, 533, 533, 533, 533, 533, 533, - 533, 534, 534, 534, 534, 534, 534, 534, 535, 535, - 535, 535, 535, 535, 535, 536, 536, 536, 536, 536, - 536, 536, 175, 174, 173, 172, 169, 167, 166, 165, - - 164, 163, 159, 157, 156, 155, 154, 153, 152, 151, - 150, 149, 148, 147, 144, 143, 142, 139, 138, 137, - 134, 133, 132, 131, 130, 124, 123, 121, 118, 117, - 113, 112, 111, 109, 105, 99, 98, 94, 81, 77, - 76, 75, 69, 68, 66, 63, 51, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, - - 506 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, + 47, 47, 48, 48, 48, 49, 49, 50, 50, 443, + 49, 70, 50, 47, 426, 443, 48, 354, 49, 78, + 50, 54, 54, 54, 55, 55, 55, 59, 59, 59, + 80, 80, 80, 78, 49, 88, 50, 90, 70, 87, + + 87, 87, 88, 89, 70, 91, 92, 70, 354, 88, + 89, 90, 70, 92, 78, 97, 420, 89, 419, 91, + 92, 94, 94, 94, 104, 104, 104, 105, 88, 97, + 107, 107, 107, 110, 105, 88, 89, 90, 91, 119, + 236, 105, 118, 118, 118, 343, 119, 110, 122, 122, + 122, 236, 353, 119, 177, 177, 177, 178, 178, 178, + 185, 185, 185, 186, 186, 186, 193, 193, 193, 264, + 177, 353, 355, 178, 356, 357, 185, 343, 462, 186, + 418, 264, 193, 194, 194, 194, 211, 211, 211, 212, + 212, 212, 214, 214, 214, 217, 217, 217, 356, 194, + + 355, 364, 211, 357, 178, 212, 365, 186, 214, 462, + 217, 219, 219, 219, 221, 221, 221, 498, 194, 222, + 222, 222, 365, 364, 214, 366, 219, 224, 224, 224, + 221, 225, 225, 225, 468, 222, 228, 228, 228, 231, + 231, 231, 498, 224, 366, 381, 225, 232, 232, 232, + 468, 228, 234, 234, 234, 231, 237, 237, 237, 244, + 244, 244, 224, 232, 245, 245, 245, 381, 234, 246, + 246, 246, 237, 237, 367, 244, 247, 247, 247, 248, + 248, 248, 417, 248, 457, 408, 248, 249, 249, 249, + 234, 247, 250, 250, 250, 368, 251, 251, 251, 378, + + 251, 367, 249, 251, 244, 370, 457, 250, 253, 253, + 253, 254, 254, 254, 255, 255, 255, 370, 255, 378, + 510, 255, 368, 380, 253, 434, 254, 256, 256, 256, + 258, 258, 258, 259, 259, 259, 434, 259, 388, 510, + 259, 407, 256, 380, 253, 258, 262, 262, 262, 266, + 266, 266, 271, 271, 271, 273, 273, 273, 274, 274, + 274, 388, 262, 371, 445, 266, 275, 275, 275, 409, + 445, 273, 276, 276, 276, 371, 276, 463, 448, 276, + 411, 409, 262, 413, 448, 266, 279, 279, 279, 280, + 280, 280, 411, 280, 273, 413, 280, 285, 285, 285, + + 266, 279, 281, 281, 281, 421, 281, 486, 463, 281, + 286, 286, 286, 285, 286, 421, 423, 286, 289, 289, + 289, 290, 290, 290, 406, 290, 423, 422, 290, 291, + 291, 291, 435, 289, 292, 292, 292, 405, 292, 422, + 458, 292, 435, 486, 291, 295, 295, 295, 296, 296, + 296, 297, 297, 297, 303, 303, 303, 305, 305, 305, + 295, 436, 458, 296, 306, 306, 306, 297, 306, 444, + 424, 306, 436, 305, 310, 310, 310, 312, 312, 312, + 444, 312, 424, 469, 312, 315, 315, 315, 460, 449, + 310, 316, 316, 316, 466, 316, 449, 474, 316, 469, + + 315, 317, 317, 317, 318, 318, 318, 487, 318, 467, + 460, 318, 319, 319, 319, 452, 317, 320, 320, 320, + 461, 320, 452, 464, 320, 466, 474, 319, 321, 321, + 321, 328, 328, 328, 331, 331, 331, 465, 331, 396, + 467, 331, 461, 487, 321, 464, 472, 328, 334, 334, + 334, 470, 334, 471, 395, 334, 337, 337, 337, 465, + 337, 492, 472, 337, 341, 341, 341, 347, 347, 347, + 350, 350, 350, 351, 351, 351, 352, 352, 352, 475, + 341, 394, 470, 347, 471, 350, 480, 492, 351, 490, + 473, 352, 358, 358, 358, 359, 359, 359, 393, 359, + + 491, 476, 359, 347, 477, 347, 473, 358, 475, 480, + 347, 360, 360, 360, 361, 361, 361, 476, 361, 499, + 477, 361, 362, 362, 362, 490, 360, 363, 363, 363, + 478, 363, 502, 511, 363, 386, 491, 362, 369, 369, + 369, 385, 369, 494, 499, 369, 372, 372, 372, 384, + 372, 479, 511, 372, 375, 375, 375, 502, 375, 478, + 481, 375, 382, 382, 382, 387, 387, 387, 389, 389, + 389, 390, 390, 390, 391, 391, 391, 382, 382, 494, + 479, 387, 484, 481, 389, 482, 390, 390, 483, 391, + 391, 392, 392, 392, 383, 392, 485, 488, 392, 397, + + 397, 397, 398, 398, 398, 484, 495, 392, 399, 399, + 399, 400, 400, 400, 482, 397, 489, 483, 398, 485, + 488, 528, 514, 344, 399, 397, 400, 400, 401, 401, + 401, 340, 401, 528, 399, 401, 402, 402, 402, 489, + 402, 514, 495, 402, 401, 330, 410, 410, 410, 429, + 429, 429, 402, 403, 403, 403, 403, 403, 403, 403, + 403, 403, 410, 327, 403, 429, 429, 403, 403, 403, + 403, 403, 410, 503, 323, 504, 515, 516, 440, 440, + 440, 493, 504, 403, 403, 404, 404, 404, 404, 404, + 404, 404, 404, 404, 440, 515, 404, 517, 503, 404, + + 404, 404, 404, 404, 412, 412, 412, 493, 412, 520, + 516, 412, 518, 309, 440, 404, 404, 451, 451, 451, + 412, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 517, 518, 415, 451, 505, 415, 415, 415, 415, 415, + 496, 505, 520, 508, 519, 521, 453, 453, 453, 497, + 508, 415, 415, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 453, 519, 416, 500, 496, 416, 416, 416, + 416, 416, 454, 454, 454, 497, 454, 501, 521, 454, + 455, 455, 455, 416, 416, 456, 456, 456, 454, 456, + 506, 500, 456, 459, 459, 459, 455, 459, 507, 509, + + 459, 456, 522, 501, 512, 513, 509, 523, 524, 459, + 525, 512, 513, 526, 527, 506, 529, 530, 531, 532, + 533, 522, 535, 507, 304, 529, 523, 298, 284, 533, + 272, 532, 526, 527, 535, 536, 530, 531, 534, 534, + 534, 524, 268, 525, 536, 537, 537, 537, 538, 538, + 538, 540, 540, 540, 534, 541, 541, 541, 543, 543, + 543, 537, 265, 263, 538, 261, 260, 540, 257, 252, + 243, 541, 242, 241, 543, 546, 546, 546, 546, 546, + 546, 546, 547, 547, 547, 547, 547, 547, 547, 548, + 548, 548, 548, 548, 548, 548, 549, 549, 549, 549, + + 549, 549, 549, 550, 550, 550, 550, 550, 550, 550, + 551, 551, 551, 551, 551, 551, 551, 552, 552, 552, + 552, 552, 552, 552, 553, 553, 553, 553, 553, 553, + 553, 554, 554, 554, 554, 554, 554, 554, 555, 555, + 555, 555, 555, 555, 555, 556, 556, 556, 556, 556, + 556, 556, 557, 557, 557, 240, 557, 558, 558, 558, + 235, 558, 559, 559, 559, 230, 559, 560, 560, 560, + 560, 560, 229, 560, 561, 227, 561, 562, 226, 562, + 563, 220, 563, 564, 564, 564, 564, 564, 564, 564, + 565, 218, 216, 565, 566, 566, 566, 566, 566, 566, + + 567, 567, 567, 567, 567, 567, 568, 568, 568, 568, + 568, 568, 569, 569, 569, 569, 569, 569, 569, 570, + 570, 570, 570, 570, 570, 570, 571, 571, 571, 571, + 571, 571, 571, 572, 572, 572, 572, 572, 572, 572, + 573, 573, 573, 573, 573, 573, 573, 574, 574, 574, + 574, 574, 574, 574, 575, 575, 575, 575, 575, 575, + 575, 215, 210, 209, 208, 205, 204, 203, 201, 197, + 195, 192, 191, 190, 189, 188, 187, 184, 183, 182, + 181, 180, 179, 176, 175, 173, 172, 171, 170, 169, + 165, 163, 162, 161, 160, 159, 158, 157, 156, 155, + + 154, 153, 150, 149, 148, 147, 146, 143, 142, 141, + 140, 137, 136, 135, 134, 133, 127, 126, 124, 121, + 120, 116, 115, 114, 112, 108, 102, 101, 100, 99, + 95, 85, 81, 77, 76, 75, 69, 68, 66, 63, + 51, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545 + } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[82] = +static yyconst flex_int32_t yy_rule_can_match_eol[90] = { 0, -0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, - 1, 0, }; +0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, }; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; @@ -982,7 +1014,7 @@ int xbt_graph_parse__flex_debug = 0; char *xbt_graph_parse_text; #line 1 "xbt/graphxml.l" /* Validating XML processor for graphxml.dtd. - * Generated 2006/03/21 13:43:39. + * Generated 2006/03/28 12:29:32. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved. @@ -1051,12 +1083,16 @@ const char rcs_graphxml_flexml[] = const char* pcdata; AT_graphxml_node_name A_graphxml_node_name; AT_graphxml_edge_source A_graphxml_edge_source; -AT_graphxml_edge_isDirected A_graphxml_edge_isDirected; +AT_graphxml_node_position_y A_graphxml_node_position_y; +AT_graphxml_node_position_x A_graphxml_node_position_x; +AT_graphxml_edge_data A_graphxml_edge_data; AT_graphxml_edge_target A_graphxml_edge_target; +AT_graphxml_graph_isDirected A_graphxml_graph_isDirected; AT_graphxml_node_label A_graphxml_node_label; +AT_graphxml_node_data A_graphxml_node_data; AT_graphxml_edge_label A_graphxml_edge_label; -AT_graphxml_edge_name A_graphxml_edge_name; AT_graphxml_edge_length A_graphxml_edge_length; +AT_graphxml_edge_name A_graphxml_edge_name; /* XML state. */ #ifdef FLEX_DEBUG @@ -1163,10 +1199,10 @@ static char* popbuffer(void) -#line 211 "xbt/graphxml.l" +#line 215 "xbt/graphxml.l" /* State names. */ const char* *graphxml_statenames=NULL; -#line 1170 "xbt/graphxml.c" +#line 1206 "xbt/graphxml.c" #define INITIAL 0 #define PROLOG 1 @@ -1349,7 +1385,7 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 215 "xbt/graphxml.l" +#line 219 "xbt/graphxml.l" /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */ @@ -1384,7 +1420,7 @@ YY_DECL /* COMMENTS and PIs: handled uniformly for efficiency. */ -#line 1388 "xbt/graphxml.c" +#line 1424 "xbt/graphxml.c" if ( !(yy_init) ) { @@ -1437,13 +1473,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 507 ) + if ( yy_current_state >= 546 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1448 ); + while ( yy_base[yy_current_state] != 1542 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1479,52 +1515,52 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 250 "xbt/graphxml.l" +#line 254 "xbt/graphxml.l" ENTER(INCOMMENT); YY_BREAK case 2: YY_RULE_SETUP -#line 251 "xbt/graphxml.l" +#line 255 "xbt/graphxml.l" ENTER(INPI); YY_BREAK case 3: YY_RULE_SETUP -#line 254 "xbt/graphxml.l" +#line 258 "xbt/graphxml.l" LEAVE; YY_BREAK case 4: -#line 256 "xbt/graphxml.l" +#line 260 "xbt/graphxml.l" case 5: -#line 257 "xbt/graphxml.l" +#line 261 "xbt/graphxml.l" case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 257 "xbt/graphxml.l" +#line 261 "xbt/graphxml.l" SKIP; YY_BREAK case YY_STATE_EOF(INCOMMENT): -#line 258 "xbt/graphxml.l" +#line 262 "xbt/graphxml.l" FAIL("EOF in comment."); YY_BREAK case 7: YY_RULE_SETUP -#line 261 "xbt/graphxml.l" +#line 265 "xbt/graphxml.l" LEAVE; YY_BREAK case 8: -#line 263 "xbt/graphxml.l" +#line 267 "xbt/graphxml.l" case 9: /* rule 9 can match eol */ YY_RULE_SETUP -#line 263 "xbt/graphxml.l" +#line 267 "xbt/graphxml.l" SKIP; YY_BREAK case YY_STATE_EOF(INPI): -#line 264 "xbt/graphxml.l" +#line 268 "xbt/graphxml.l" FAIL("EOF in PI (processing instruction)."); YY_BREAK @@ -1532,7 +1568,7 @@ FAIL("EOF in PI (processing instruction)."); case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 269 "xbt/graphxml.l" +#line 273 "xbt/graphxml.l" SKIP; YY_BREAK /* PROLOG: determine root element and process it. */ @@ -1540,13 +1576,13 @@ SKIP; case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 274 "xbt/graphxml.l" +#line 278 "xbt/graphxml.l" SET(DOCTYPE); YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 275 "xbt/graphxml.l" +#line 279 "xbt/graphxml.l" FAIL("Bad declaration %s.",xbt_graph_parse_text); YY_BREAK @@ -1554,59 +1590,80 @@ FAIL("Bad declaration %s.",xbt_graph_parse_text); case 13: /* rule 13 can match eol */ YY_RULE_SETUP -#line 279 "xbt/graphxml.l" +#line 283 "xbt/graphxml.l" SET(ROOT_graphxml_edge); YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 280 "xbt/graphxml.l" +#line 284 "xbt/graphxml.l" SET(ROOT_graphxml_node); YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 281 "xbt/graphxml.l" +#line 285 "xbt/graphxml.l" SET(ROOT_graphxml_graph); YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 282 "xbt/graphxml.l" +#line 286 "xbt/graphxml.l" FAIL("Bad declaration %s.",xbt_graph_parse_text); YY_BREAK case 17: YY_RULE_SETUP -#line 283 "xbt/graphxml.l" +#line 287 "xbt/graphxml.l" FAIL("Unexpected character `%c' in prolog.", xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(PROLOG): case YY_STATE_EOF(DOCTYPE): -#line 284 "xbt/graphxml.l" +#line 288 "xbt/graphxml.l" FAIL("EOF in prolog."); YY_BREAK /* RULES DERIVED FROM DTD. */ /* */ +/* isDirected (true|false) "true" + * > */ case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 291 "xbt/graphxml.l" +#line 298 "xbt/graphxml.l" { + A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; ENTER(AL_graphxml_graph); } YY_BREAK case 19: +/* rule 19 can match eol */ +#line 305 "xbt/graphxml.l" +case 20: +/* rule 20 can match eol */ +YY_RULE_SETUP +#line 305 "xbt/graphxml.l" +A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; + YY_BREAK +case 21: +/* rule 21 can match eol */ +#line 307 "xbt/graphxml.l" +case 22: +/* rule 22 can match eol */ +YY_RULE_SETUP +#line 307 "xbt/graphxml.l" +A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_false; + YY_BREAK +case 23: YY_RULE_SETUP -#line 296 "xbt/graphxml.l" +#line 309 "xbt/graphxml.l" { LEAVE; STag_graphxml_graph();pcdata = NULL; ENTER(S_graphxml_graph); } YY_BREAK -case 20: +case 24: YY_RULE_SETUP -#line 299 "xbt/graphxml.l" +#line 312 "xbt/graphxml.l" { LEAVE; STag_graphxml_graph(); pcdata = NULL; ETag_graphxml_graph(); switch (YY_START) { @@ -1614,26 +1671,26 @@ YY_RULE_SETUP } } YY_BREAK -case 21: +case 25: YY_RULE_SETUP -#line 305 "xbt/graphxml.l" +#line 318 "xbt/graphxml.l" FAIL("Unexpected character `%c' in attribute list of graph element.", xbt_graph_parse_text[0]); YY_BREAK -case 22: +case 26: YY_RULE_SETUP -#line 306 "xbt/graphxml.l" +#line 319 "xbt/graphxml.l" FAIL("Bad attribute `%s' in `graph' element start tag.",xbt_graph_parse_text); YY_BREAK case YY_STATE_EOF(AL_graphxml_graph): -#line 307 "xbt/graphxml.l" +#line 320 "xbt/graphxml.l" FAIL("EOF in attribute list of `graph' element."); YY_BREAK -case 23: -/* rule 23 can match eol */ +case 27: +/* rule 27 can match eol */ YY_RULE_SETUP -#line 311 "xbt/graphxml.l" +#line 324 "xbt/graphxml.l" { LEAVE; ETag_graphxml_graph(); @@ -1642,15 +1699,15 @@ YY_RULE_SETUP } } YY_BREAK -case 24: -/* rule 24 can match eol */ +case 28: +/* rule 28 can match eol */ YY_RULE_SETUP -#line 318 "xbt/graphxml.l" +#line 331 "xbt/graphxml.l" FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); YY_BREAK -case 25: +case 29: YY_RULE_SETUP -#line 319 "xbt/graphxml.l" +#line 332 "xbt/graphxml.l" FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(S_graphxml_graph_1): @@ -1658,59 +1715,101 @@ case YY_STATE_EOF(E_graphxml_graph): case YY_STATE_EOF(S_graphxml_graph_3): case YY_STATE_EOF(S_graphxml_graph_5): case YY_STATE_EOF(S_graphxml_graph): -#line 320 "xbt/graphxml.l" +#line 333 "xbt/graphxml.l" FAIL("Premature EOF: `' expected."); YY_BREAK /* label CDATA "" * name CDATA #REQUIRED + * data CDATA "" + * position_x CDATA "-1.0" + * position_y CDATA "-1.0" * > */ -case 26: -/* rule 26 can match eol */ +case 30: +/* rule 30 can match eol */ YY_RULE_SETUP -#line 327 "xbt/graphxml.l" +#line 343 "xbt/graphxml.l" { A_graphxml_node_label = NULL; A_graphxml_node_name = NULL; + A_graphxml_node_data = NULL; + A_graphxml_node_position_x = "-1.0"; + A_graphxml_node_position_y = "-1.0"; ENTER(AL_graphxml_node); } YY_BREAK -case 27: -/* rule 27 can match eol */ +case 31: +/* rule 31 can match eol */ YY_RULE_SETUP -#line 334 "xbt/graphxml.l" +#line 353 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_node_label); YY_BREAK -case 28: -/* rule 28 can match eol */ +case 32: +/* rule 32 can match eol */ YY_RULE_SETUP -#line 335 "xbt/graphxml.l" +#line 354 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_node_label); YY_BREAK -case 29: -/* rule 29 can match eol */ +case 33: +/* rule 33 can match eol */ YY_RULE_SETUP -#line 337 "xbt/graphxml.l" +#line 356 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_node_name); YY_BREAK -case 30: -/* rule 30 can match eol */ +case 34: +/* rule 34 can match eol */ YY_RULE_SETUP -#line 338 "xbt/graphxml.l" +#line 357 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_node_name); YY_BREAK -case 31: +case 35: +/* rule 35 can match eol */ +YY_RULE_SETUP +#line 359 "xbt/graphxml.l" +ENTER(VALUE1); BUFFERSET(A_graphxml_node_data); + YY_BREAK +case 36: +/* rule 36 can match eol */ +YY_RULE_SETUP +#line 360 "xbt/graphxml.l" +ENTER(VALUE2); BUFFERSET(A_graphxml_node_data); + YY_BREAK +case 37: +/* rule 37 can match eol */ +YY_RULE_SETUP +#line 362 "xbt/graphxml.l" +ENTER(VALUE1); BUFFERSET(A_graphxml_node_position_x); + YY_BREAK +case 38: +/* rule 38 can match eol */ +YY_RULE_SETUP +#line 363 "xbt/graphxml.l" +ENTER(VALUE2); BUFFERSET(A_graphxml_node_position_x); + YY_BREAK +case 39: +/* rule 39 can match eol */ +YY_RULE_SETUP +#line 365 "xbt/graphxml.l" +ENTER(VALUE1); BUFFERSET(A_graphxml_node_position_y); + YY_BREAK +case 40: +/* rule 40 can match eol */ +YY_RULE_SETUP +#line 366 "xbt/graphxml.l" +ENTER(VALUE2); BUFFERSET(A_graphxml_node_position_y); + YY_BREAK +case 41: YY_RULE_SETUP -#line 340 "xbt/graphxml.l" +#line 368 "xbt/graphxml.l" { if (!A_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); LEAVE; STag_graphxml_node();pcdata = NULL; ENTER(E_graphxml_node); } YY_BREAK -case 32: +case 42: YY_RULE_SETUP -#line 344 "xbt/graphxml.l" +#line 372 "xbt/graphxml.l" { if (!A_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); LEAVE; STag_graphxml_node(); pcdata = NULL; ETag_graphxml_node(); @@ -1720,26 +1819,26 @@ YY_RULE_SETUP } } YY_BREAK -case 33: +case 43: YY_RULE_SETUP -#line 352 "xbt/graphxml.l" +#line 380 "xbt/graphxml.l" FAIL("Unexpected character `%c' in attribute list of node element.", xbt_graph_parse_text[0]); YY_BREAK -case 34: +case 44: YY_RULE_SETUP -#line 353 "xbt/graphxml.l" +#line 381 "xbt/graphxml.l" FAIL("Bad attribute `%s' in `node' element start tag.",xbt_graph_parse_text); YY_BREAK case YY_STATE_EOF(AL_graphxml_node): -#line 354 "xbt/graphxml.l" +#line 382 "xbt/graphxml.l" FAIL("EOF in attribute list of `node' element."); YY_BREAK -case 35: -/* rule 35 can match eol */ +case 45: +/* rule 45 can match eol */ YY_RULE_SETUP -#line 358 "xbt/graphxml.l" +#line 386 "xbt/graphxml.l" { LEAVE; ETag_graphxml_node(); @@ -1749,134 +1848,128 @@ YY_RULE_SETUP } } YY_BREAK -case 36: -/* rule 36 can match eol */ +case 46: +/* rule 46 can match eol */ YY_RULE_SETUP -#line 366 "xbt/graphxml.l" +#line 394 "xbt/graphxml.l" FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); YY_BREAK -case 37: +case 47: YY_RULE_SETUP -#line 367 "xbt/graphxml.l" +#line 395 "xbt/graphxml.l" FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(E_graphxml_node): -#line 368 "xbt/graphxml.l" +#line 396 "xbt/graphxml.l" FAIL("Premature EOF: `' expected."); YY_BREAK /* label CDATA "" - * name CDATA #IMPLIED - * source CDATA #REQUIRED - * target CDATA #REQUIRED - * length CDATA "0.0" - * isDirected (true|false) "true" + * name CDATA #IMPLIED + * source CDATA #REQUIRED + * target CDATA #REQUIRED + * length CDATA "-1.0" + * data CDATA "" * > */ -case 38: -/* rule 38 can match eol */ +case 48: +/* rule 48 can match eol */ YY_RULE_SETUP -#line 379 "xbt/graphxml.l" +#line 407 "xbt/graphxml.l" { A_graphxml_edge_label = NULL; A_graphxml_edge_name = NULL; A_graphxml_edge_source = NULL; A_graphxml_edge_target = NULL; - A_graphxml_edge_length = "0.0"; - A_graphxml_edge_isDirected = A_graphxml_edge_isDirected_true; + A_graphxml_edge_length = "-1.0"; + A_graphxml_edge_data = NULL; ENTER(AL_graphxml_edge); } YY_BREAK -case 39: -/* rule 39 can match eol */ +case 49: +/* rule 49 can match eol */ YY_RULE_SETUP -#line 390 "xbt/graphxml.l" +#line 418 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_edge_label); YY_BREAK -case 40: -/* rule 40 can match eol */ +case 50: +/* rule 50 can match eol */ YY_RULE_SETUP -#line 391 "xbt/graphxml.l" +#line 419 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_edge_label); YY_BREAK -case 41: -/* rule 41 can match eol */ +case 51: +/* rule 51 can match eol */ YY_RULE_SETUP -#line 393 "xbt/graphxml.l" +#line 421 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_edge_name); YY_BREAK -case 42: -/* rule 42 can match eol */ +case 52: +/* rule 52 can match eol */ YY_RULE_SETUP -#line 394 "xbt/graphxml.l" +#line 422 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_edge_name); YY_BREAK -case 43: -/* rule 43 can match eol */ +case 53: +/* rule 53 can match eol */ YY_RULE_SETUP -#line 396 "xbt/graphxml.l" +#line 424 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_edge_source); YY_BREAK -case 44: -/* rule 44 can match eol */ +case 54: +/* rule 54 can match eol */ YY_RULE_SETUP -#line 397 "xbt/graphxml.l" +#line 425 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_edge_source); YY_BREAK -case 45: -/* rule 45 can match eol */ +case 55: +/* rule 55 can match eol */ YY_RULE_SETUP -#line 399 "xbt/graphxml.l" +#line 427 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_edge_target); YY_BREAK -case 46: -/* rule 46 can match eol */ +case 56: +/* rule 56 can match eol */ YY_RULE_SETUP -#line 400 "xbt/graphxml.l" +#line 428 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_edge_target); YY_BREAK -case 47: -/* rule 47 can match eol */ +case 57: +/* rule 57 can match eol */ YY_RULE_SETUP -#line 402 "xbt/graphxml.l" +#line 430 "xbt/graphxml.l" ENTER(VALUE1); BUFFERSET(A_graphxml_edge_length); YY_BREAK -case 48: -/* rule 48 can match eol */ +case 58: +/* rule 58 can match eol */ YY_RULE_SETUP -#line 403 "xbt/graphxml.l" +#line 431 "xbt/graphxml.l" ENTER(VALUE2); BUFFERSET(A_graphxml_edge_length); YY_BREAK -case 49: -/* rule 49 can match eol */ -#line 406 "xbt/graphxml.l" -case 50: -/* rule 50 can match eol */ +case 59: +/* rule 59 can match eol */ YY_RULE_SETUP -#line 406 "xbt/graphxml.l" -A_graphxml_edge_isDirected = A_graphxml_edge_isDirected_true; +#line 433 "xbt/graphxml.l" +ENTER(VALUE1); BUFFERSET(A_graphxml_edge_data); YY_BREAK -case 51: -/* rule 51 can match eol */ -#line 408 "xbt/graphxml.l" -case 52: -/* rule 52 can match eol */ +case 60: +/* rule 60 can match eol */ YY_RULE_SETUP -#line 408 "xbt/graphxml.l" -A_graphxml_edge_isDirected = A_graphxml_edge_isDirected_false; +#line 434 "xbt/graphxml.l" +ENTER(VALUE2); BUFFERSET(A_graphxml_edge_data); YY_BREAK -case 53: +case 61: YY_RULE_SETUP -#line 410 "xbt/graphxml.l" +#line 436 "xbt/graphxml.l" { if (!A_graphxml_edge_source) FAIL("Required attribute `source' not set for `edge' element."); if (!A_graphxml_edge_target) FAIL("Required attribute `target' not set for `edge' element."); LEAVE; STag_graphxml_edge();pcdata = NULL; ENTER(E_graphxml_edge); } YY_BREAK -case 54: +case 62: YY_RULE_SETUP -#line 415 "xbt/graphxml.l" +#line 441 "xbt/graphxml.l" { if (!A_graphxml_edge_source) FAIL("Required attribute `source' not set for `edge' element."); if (!A_graphxml_edge_target) FAIL("Required attribute `target' not set for `edge' element."); @@ -1887,26 +1980,26 @@ YY_RULE_SETUP } } YY_BREAK -case 55: +case 63: YY_RULE_SETUP -#line 424 "xbt/graphxml.l" +#line 450 "xbt/graphxml.l" FAIL("Unexpected character `%c' in attribute list of edge element.", xbt_graph_parse_text[0]); YY_BREAK -case 56: +case 64: YY_RULE_SETUP -#line 425 "xbt/graphxml.l" +#line 451 "xbt/graphxml.l" FAIL("Bad attribute `%s' in `edge' element start tag.",xbt_graph_parse_text); YY_BREAK case YY_STATE_EOF(AL_graphxml_edge): -#line 426 "xbt/graphxml.l" +#line 452 "xbt/graphxml.l" FAIL("EOF in attribute list of `edge' element."); YY_BREAK -case 57: -/* rule 57 can match eol */ +case 65: +/* rule 65 can match eol */ YY_RULE_SETUP -#line 430 "xbt/graphxml.l" +#line 456 "xbt/graphxml.l" { LEAVE; ETag_graphxml_edge(); @@ -1916,152 +2009,152 @@ YY_RULE_SETUP } } YY_BREAK -case 58: -/* rule 58 can match eol */ +case 66: +/* rule 66 can match eol */ YY_RULE_SETUP -#line 438 "xbt/graphxml.l" +#line 464 "xbt/graphxml.l" FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); YY_BREAK -case 59: +case 67: YY_RULE_SETUP -#line 439 "xbt/graphxml.l" +#line 465 "xbt/graphxml.l" FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(E_graphxml_edge): -#line 440 "xbt/graphxml.l" +#line 466 "xbt/graphxml.l" FAIL("Premature EOF: `' expected."); YY_BREAK /* EPILOG: after the root element. */ -case 60: +case 68: YY_RULE_SETUP -#line 446 "xbt/graphxml.l" +#line 472 "xbt/graphxml.l" {SET(PROLOG); yyless(0); CLEANUP; return -1;} YY_BREAK case YY_STATE_EOF(EPILOG): -#line 447 "xbt/graphxml.l" +#line 473 "xbt/graphxml.l" SUCCEED; YY_BREAK /* CHARACTER DATA. */ /* Non-defined standard entities... */ -case 61: +case 69: YY_RULE_SETUP -#line 454 "xbt/graphxml.l" +#line 480 "xbt/graphxml.l" BUFFERPUTC('&'); YY_BREAK -case 62: +case 70: YY_RULE_SETUP -#line 455 "xbt/graphxml.l" +#line 481 "xbt/graphxml.l" BUFFERPUTC('<'); YY_BREAK -case 63: +case 71: YY_RULE_SETUP -#line 456 "xbt/graphxml.l" +#line 482 "xbt/graphxml.l" BUFFERPUTC('>'); YY_BREAK -case 64: +case 72: YY_RULE_SETUP -#line 457 "xbt/graphxml.l" +#line 483 "xbt/graphxml.l" BUFFERPUTC('\''); YY_BREAK -case 65: +case 73: YY_RULE_SETUP -#line 458 "xbt/graphxml.l" +#line 484 "xbt/graphxml.l" BUFFERPUTC('"'); YY_BREAK /* Character entities. */ -case 66: +case 74: YY_RULE_SETUP -#line 461 "xbt/graphxml.l" +#line 487 "xbt/graphxml.l" BUFFERPUTC((unsigned char)atoi(xbt_graph_parse_text+2)); YY_BREAK -case 67: +case 75: YY_RULE_SETUP -#line 462 "xbt/graphxml.l" +#line 488 "xbt/graphxml.l" BUFFERPUTC((unsigned char)strtol(xbt_graph_parse_text+3,NULL,16)); YY_BREAK -case 68: -/* rule 68 can match eol */ -#line 467 "xbt/graphxml.l" -case 69: -/* rule 69 can match eol */ -#line 468 "xbt/graphxml.l" -case 70: -/* rule 70 can match eol */ -#line 469 "xbt/graphxml.l" -case 71: -/* rule 71 can match eol */ +case 76: +/* rule 76 can match eol */ +#line 493 "xbt/graphxml.l" +case 77: +/* rule 77 can match eol */ +#line 494 "xbt/graphxml.l" +case 78: +/* rule 78 can match eol */ +#line 495 "xbt/graphxml.l" +case 79: +/* rule 79 can match eol */ YY_RULE_SETUP -#line 469 "xbt/graphxml.l" +#line 495 "xbt/graphxml.l" BUFFERPUTC('\n'); YY_BREAK -case 72: +case 80: YY_RULE_SETUP -#line 473 "xbt/graphxml.l" +#line 499 "xbt/graphxml.l" ENTER(CDATA); YY_BREAK -case 73: +case 81: YY_RULE_SETUP -#line 474 "xbt/graphxml.l" +#line 500 "xbt/graphxml.l" FAIL("Unexpected `]""]>' in character data."); YY_BREAK -case 74: +case 82: YY_RULE_SETUP -#line 478 "xbt/graphxml.l" +#line 504 "xbt/graphxml.l" BUFFERDONE; LEAVE; YY_BREAK case YY_STATE_EOF(VALUE1): -#line 479 "xbt/graphxml.l" +#line 505 "xbt/graphxml.l" FAIL("EOF in literal (\"'\" expected)."); YY_BREAK -case 75: +case 83: YY_RULE_SETUP -#line 483 "xbt/graphxml.l" +#line 509 "xbt/graphxml.l" BUFFERDONE; LEAVE; YY_BREAK case YY_STATE_EOF(VALUE2): -#line 484 "xbt/graphxml.l" +#line 510 "xbt/graphxml.l" FAIL("EOF in literal (`\"' expected)."); YY_BREAK -case 76: -/* rule 76 can match eol */ +case 84: +/* rule 84 can match eol */ YY_RULE_SETUP -#line 488 "xbt/graphxml.l" +#line 514 "xbt/graphxml.l" BUFFERPUTC(xbt_graph_parse_text[0]); YY_BREAK -case 77: +case 85: YY_RULE_SETUP -#line 489 "xbt/graphxml.l" +#line 515 "xbt/graphxml.l" FAIL("Spurious `%c' in character data.",xbt_graph_parse_text[0]); YY_BREAK -case 78: +case 86: YY_RULE_SETUP -#line 493 "xbt/graphxml.l" +#line 519 "xbt/graphxml.l" LEAVE; YY_BREAK /* "]""]" BUFFERPUTC(xbt_graph_parse_text[0]); BUFFERPUTC(xbt_graph_parse_text[1]); */ -case 79: +case 87: YY_RULE_SETUP -#line 495 "xbt/graphxml.l" +#line 521 "xbt/graphxml.l" BUFFERPUTC(xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(CDATA): -#line 496 "xbt/graphxml.l" +#line 522 "xbt/graphxml.l" FAIL("EOF in CDATA section."); YY_BREAK @@ -2069,19 +2162,19 @@ FAIL("EOF in CDATA section."); /* Ideally, this should be replaced by code in flexml.pl that generates just the states not covered by other rules. */ -case 80: -/* rule 80 can match eol */ +case 88: +/* rule 88 can match eol */ YY_RULE_SETUP -#line 503 "xbt/graphxml.l" +#line 529 "xbt/graphxml.l" FAIL("Syntax error on character `%c'.", xbt_graph_parse_text[0]); YY_BREAK -case 81: +case 89: YY_RULE_SETUP -#line 506 "xbt/graphxml.l" +#line 532 "xbt/graphxml.l" ECHO; YY_BREAK -#line 2085 "xbt/graphxml.c" +#line 2178 "xbt/graphxml.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(ROOT_graphxml_graph): case YY_STATE_EOF(S_graphxml_graph_2): @@ -2371,7 +2464,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 507 ) + if ( yy_current_state >= 546 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2399,11 +2492,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 507 ) + if ( yy_current_state >= 546 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 506); + yy_is_jam = (yy_current_state == 545); return yy_is_jam ? 0 : yy_current_state; } @@ -3085,7 +3178,7 @@ void xbt_graph_parse_free (void * ptr ) #define YYTABLES_NAME "yytables" -#line 506 "xbt/graphxml.l" +#line 532 "xbt/graphxml.l" diff --git a/src/xbt/graphxml.dtd b/src/xbt/graphxml.dtd index 4a60ac6304..027cad46c5 100644 --- a/src/xbt/graphxml.dtd +++ b/src/xbt/graphxml.dtd @@ -1,16 +1,23 @@ + + diff --git a/src/xbt/graphxml.l b/src/xbt/graphxml.l index 194efb8abb..849ce5010b 100644 --- a/src/xbt/graphxml.l +++ b/src/xbt/graphxml.l @@ -1,5 +1,5 @@ /* Validating XML processor for graphxml.dtd. - * Generated 2006/03/21 13:43:39. + * Generated 2006/03/28 12:29:32. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved. @@ -69,12 +69,16 @@ const char rcs_graphxml_flexml[] = const char* pcdata; AT_graphxml_node_name A_graphxml_node_name; AT_graphxml_edge_source A_graphxml_edge_source; -AT_graphxml_edge_isDirected A_graphxml_edge_isDirected; +AT_graphxml_node_position_y A_graphxml_node_position_y; +AT_graphxml_node_position_x A_graphxml_node_position_x; +AT_graphxml_edge_data A_graphxml_edge_data; AT_graphxml_edge_target A_graphxml_edge_target; +AT_graphxml_graph_isDirected A_graphxml_graph_isDirected; AT_graphxml_node_label A_graphxml_node_label; +AT_graphxml_node_data A_graphxml_node_data; AT_graphxml_edge_label A_graphxml_edge_label; -AT_graphxml_edge_name A_graphxml_edge_name; AT_graphxml_edge_length A_graphxml_edge_length; +AT_graphxml_edge_name A_graphxml_edge_name; /* XML state. */ #ifdef FLEX_DEBUG @@ -288,11 +292,20 @@ const char* *graphxml_statenames=NULL; /* */ + /* isDirected (true|false) "true" + * > */ + "{ + "isDirected"{Eq}"'true'" | + "isDirected"{Eq}"\"true\"" A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; + "isDirected"{Eq}"'false'" | + "isDirected"{Eq}"\"false\"" A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_false; + ">" { LEAVE; STag_graphxml_graph();pcdata = NULL; ENTER(S_graphxml_graph); } @@ -322,11 +335,17 @@ const char* *graphxml_statenames=NULL; /* label CDATA "" * name CDATA #REQUIRED + * data CDATA "" + * position_x CDATA "-1.0" + * position_y CDATA "-1.0" * > */ "" { if (!A_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); LEAVE; STag_graphxml_node();pcdata = NULL; ENTER(E_graphxml_node); @@ -369,11 +397,11 @@ const char* *graphxml_statenames=NULL; } /* label CDATA "" - * name CDATA #IMPLIED - * source CDATA #REQUIRED - * target CDATA #REQUIRED - * length CDATA "0.0" - * isDirected (true|false) "true" + * name CDATA #IMPLIED + * source CDATA #REQUIRED + * target CDATA #REQUIRED + * length CDATA "-1.0" + * data CDATA "" * > */ "" { if (!A_graphxml_edge_source) FAIL("Required attribute `source' not set for `edge' element.");