X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dadcd4624c7dd4bb76062e5fe55fe5246cf348e5..2c8c164d58104acb6256b6d8efd476a6a2165b8a:/src/xbt/graphxml.c?ds=sidebyside diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index fd1bb3a84b..3a9aa36635 100644 --- a/src/xbt/graphxml.c +++ b/src/xbt/graphxml.c @@ -1,15 +1,33 @@ -#line 2 "xbt/graphxml.c" -#line 4 "xbt/graphxml.c" +#line 3 "src/xbt/graphxml.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ +#define yy_create_buffer xbt_graph_parse__create_buffer +#define yy_delete_buffer xbt_graph_parse__delete_buffer +#define yy_flex_debug xbt_graph_parse__flex_debug +#define yy_init_buffer xbt_graph_parse__init_buffer +#define yy_flush_buffer xbt_graph_parse__flush_buffer +#define yy_load_buffer_state xbt_graph_parse__load_buffer_state +#define yy_switch_to_buffer xbt_graph_parse__switch_to_buffer +#define yyin xbt_graph_parse_in +#define yyleng xbt_graph_parse_leng +#define yylex xbt_graph_parse_lex +#define yylineno xbt_graph_parse_lineno +#define yyout xbt_graph_parse_out +#define yyrestart xbt_graph_parse_restart +#define yytext xbt_graph_parse_text +#define yywrap xbt_graph_parse_wrap +#define yyalloc xbt_graph_parse_alloc +#define yyrealloc xbt_graph_parse_realloc +#define yyfree xbt_graph_parse_free + #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 31 +#define YY_FLEX_SUBMINOR_VERSION 39 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -31,7 +49,15 @@ /* C99 systems have . Non-C99 systems may or may not. */ -#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; @@ -46,7 +72,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -77,6 +102,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -86,11 +113,12 @@ typedef unsigned int flex_uint32_t; #else /* ! __cplusplus */ -#if __STDC__ +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) #define YY_USE_CONST -#endif /* __STDC__ */ +#endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST @@ -132,15 +160,32 @@ typedef unsigned int flex_uint32_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -extern int xbt_graph_parse_leng; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern yy_size_t xbt_graph_parse_leng; extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; @@ -153,15 +198,22 @@ extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; * existing scanners that call yyless() from OUTSIDE xbt_graph_parse_lex. * One obvious solution it to make yy_act a global. I tried that, and saw * a 5% performance hit in a non-xbt_graph_parse_lineno scanner, because yy_act is - * normally declared as a register variable-- so it is not worth it. + * normally declared as a variable-- so it is not worth it. */ #define YY_LESS_LINENO(n) \ do { \ - int yyl;\ + unsigned int yyl;\ for ( yyl = n; yyl < xbt_graph_parse_leng; ++yyl )\ if ( xbt_graph_parse_text[yyl] == '\n' )\ --xbt_graph_parse_lineno;\ }while(0) + #define YY_LINENO_REWIND_TO(dst) \ + do {\ + const char *p;\ + for ( p = yy_cp-1; p >= (dst); --p)\ + if ( *p == '\n' )\ + --xbt_graph_parse_lineno;\ + }while(0) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ @@ -179,16 +231,6 @@ extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; #define unput(c) yyunput( c, (yytext_ptr) ) -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef unsigned int yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -206,7 +248,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -276,12 +318,12 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when xbt_graph_parse_text is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int xbt_graph_parse_leng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t xbt_graph_parse_leng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ +static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow xbt_graph_parse_wrap()'s to do buffer switches @@ -305,7 +347,7 @@ static void xbt_graph_parse__init_buffer (YY_BUFFER_STATE b,FILE *file ); YY_BUFFER_STATE xbt_graph_parse__scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE xbt_graph_parse__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE xbt_graph_parse__scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE xbt_graph_parse__scan_bytes (yyconst char *bytes,yy_size_t len ); void *xbt_graph_parse_alloc (yy_size_t ); void *xbt_graph_parse_realloc (void *,yy_size_t ); @@ -337,7 +379,7 @@ void xbt_graph_parse_free (void * ); /* Begin user sect3 */ -#define xbt_graph_parse_wrap(n) 1 +#define xbt_graph_parse_wrap() 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -368,8 +410,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 89 -#define YY_END_OF_BUFFER 90 +#define YY_NUM_RULES 92 +#define YY_END_OF_BUFFER 93 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -377,59 +419,59 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[546] = +static yyconst flex_int16_t yy_accept[564] = { 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, - 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, + 93, 91, 17, 10, 10, 17, 17, 71, 10, 71, + 5, 6, 5, 8, 9, 8, 87, 79, 80, 88, + 85, 88, 86, 90, 79, 80, 90, 91, 34, 10, + 34, 34, 34, 32, 34, 34, 34, 34, 34, 38, + 10, 38, 91, 47, 10, 47, 47, 47, 45, 47, + + 51, 10, 51, 51, 91, 91, 51, 91, 66, 10, + 66, 66, 66, 64, 66, 66, 66, 66, 70, 10, + 70, 88, 87, 10, 0, 2, 2, 0, 4, 7, + 82, 81, 0, 0, 0, 0, 0, 0, 0, 33, + 35, 35, 35, 35, 35, 35, 35, 0, 0, 46, + 48, 48, 0, 0, 0, 0, 0, 65, 67, 67, + 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 89, 0, + 35, 35, 35, 35, 35, 35, 0, 0, 0, 48, + 0, 0, 0, 0, 0, 0, 67, 67, 67, 67, + + 0, 0, 0, 84, 0, 16, 1, 0, 0, 77, + 0, 0, 0, 74, 73, 0, 0, 35, 35, 35, + 35, 35, 35, 0, 0, 37, 0, 0, 48, 0, + 0, 50, 0, 0, 0, 0, 0, 67, 67, 67, + 67, 0, 0, 69, 0, 0, 0, 0, 78, 72, + 0, 0, 19, 0, 0, 35, 35, 0, 0, 35, + 35, 0, 0, 48, 0, 0, 53, 52, 18, 0, + 0, 67, 0, 0, 67, 0, 0, 0, 0, 0, + 12, 0, 75, 76, 19, 0, 21, 20, 0, 0, + 35, 0, 27, 26, 35, 35, 0, 40, 48, 0, + + 39, 53, 52, 18, 0, 55, 54, 0, 0, 0, + 59, 58, 67, 0, 0, 0, 0, 0, 11, 0, + 23, 22, 0, 0, 0, 0, 0, 0, 0, 36, + 40, 48, 0, 39, 0, 57, 56, 67, 0, 68, + 0, 0, 0, 0, 0, 25, 24, 0, 29, 28, + 0, 31, 30, 48, 0, 49, 67, 0, 0, 0, + 0, 48, 67, 83, 0, 0, 0, 48, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 61, 60, 0, 63, 62, 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, 12, 0, 12, 0, 0, 42, 0, + 41, 0, 0, 0, 0, 0, 0, 0, 44, 43, + 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, @@ -437,8 +479,10 @@ 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, 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, 13, 0, 0, 15, + 0, 14, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -483,508 +527,524 @@ static yyconst flex_int32_t yy_meta[56] = 5, 5, 5, 5, 5 } ; -static yyconst flex_int16_t yy_base[576] = +static yyconst flex_int16_t yy_base[594] = { 0, 0, 0, 0, 3, 6, 9, 24, 27, 11, 14, 15, 17, 29, 38, 45, 52, 59, 61, 67, 70, - 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 + 93, 0, 73, 76, 147, 150, 166, 208, 184, 187, + 190, 226, 229, 232, 249, 252, 255, 258, 273, 276, + 279, 282, 297, 300, 316, 0, 370, 373, 375, 377, + 1585, 1586, 1586, 153, 156, 47, 62, 1586, 303, 244, + 1586, 1586, 1574, 1586, 1586, 1565, 1586, 1578, 1578, 377, + 1586, 1586, 1586, 1586, 1576, 1576, 1546, 377, 1586, 306, + 1559, 0, 268, 1586, 1542, 1, 1541, 1528, 1539, 1586, + 395, 382, 383, 1586, 401, 1554, 0, 292, 1586, 1521, + + 1586, 410, 414, 417, 405, 411, 423, 387, 1586, 435, + 1552, 0, 422, 1586, 1535, 1534, 1533, 1520, 1586, 444, + 448, 1560, 1532, 462, 34, 1509, 1586, 1552, 1543, 1586, + 1586, 1586, 148, 38, 1509, 1508, 1506, 1539, 1519, 1586, + 0, 1504, 1519, 1508, 1508, 1499, 1501, 1511, 1499, 1586, + 0, 1524, 1506, 1496, 1498, 1497, 1505, 1586, 0, 1490, + 1505, 1495, 1488, 1492, 1505, 1517, 1516, 1523, 178, 1488, + 1586, 75, 0, 1484, 1484, 1514, 1513, 1481, 1586, 1486, + 1491, 1486, 1483, 1484, 1472, 1480, 467, 470, 1485, 1476, + 473, 476, 1483, 1479, 1478, 1474, 1479, 1474, 1473, 1468, + + 479, 496, 1487, 1586, 1490, 1586, 1586, 177, 1464, 1586, + 1491, 1490, 1454, 1586, 1586, 1452, 1464, 499, 1458, 1449, + 502, 1463, 1392, 506, 509, 1586, 518, 1382, 1370, 526, + 529, 1586, 535, 1369, 1375, 1372, 1365, 546, 1355, 553, + 1342, 557, 562, 1586, 569, 1288, 466, 574, 1586, 1586, + 1295, 1293, 579, 582, 592, 586, 1266, 605, 608, 1268, + 1253, 616, 1262, 1263, 621, 1259, 624, 627, 633, 638, + 641, 649, 654, 658, 1237, 670, 1245, 505, 1244, 673, + 1586, 1239, 1586, 1586, 676, 680, 1586, 1586, 690, 693, + 701, 710, 1586, 1586, 718, 721, 725, 728, 1136, 737, + + 742, 745, 748, 754, 757, 1586, 1586, 765, 768, 777, + 1586, 1586, 1097, 785, 1111, 32, 162, 226, 1586, 788, + 1586, 1586, 796, 802, 812, 815, 823, 828, 839, 1586, + 842, 1053, 845, 848, 852, 1586, 1586, 1030, 862, 1586, + 1004, 219, 252, 220, 865, 1586, 1586, 873, 1586, 1586, + 881, 1586, 1586, 943, 889, 1586, 938, 929, 892, 248, + 390, 912, 110, 1586, 895, 204, 249, 898, 901, 917, + 275, 372, 440, 254, 469, 920, 923, 939, 942, 950, + 955, 478, 400, 508, 472, 522, 966, 495, 523, 974, + 1586, 1586, 982, 1586, 1586, 595, 550, 631, 598, 990, + + 878, 824, 838, 761, 993, 561, 996, 999, 1002, 1019, + 750, 723, 694, 684, 1027, 1030, 1036, 1039, 1056, 1064, + 1082, 1114, 684, 695, 554, 516, 680, 1074, 724, 1132, + 747, 534, 1150, 1182, 455, 486, 451, 435, 523, 746, + 587, 767, 228, 389, 582, 305, 1077, 199, 1586, 192, + 1586, 603, 672, 630, 156, 68, 75, 1106, 1586, 1586, + 663, 688, 691, 5, 645, 777, 784, 1586, 1145, 810, + 1174, 1200, 1208, 1213, 744, 820, 1221, 841, 868, 382, + 804, 871, 888, 821, 860, 667, 778, 898, 913, 789, + 802, 815, 870, 896, 921, 918, 932, 948, 969, 997, + + 1000, 972, 994, 920, 955, 1008, 1009, 1018, 1051, 1093, + 1152, 1053, 1085, 1161, 1177, 272, 1189, 1190, 1202, 1210, + 1211, 1035, 1153, 1215, 1217, 1162, 1225, 628, 945, 1226, + 1227, 1075, 1088, 1109, 1110, 1156, 1222, 1124, 1223, 1224, + 1229, 1230, 1231, 1232, 1233, 1045, 1043, 1234, 1238, 1249, + 1254, 1274, 1262, 1255, 1281, 1284, 1586, 1287, 1291, 1586, + 1294, 1586, 1586, 1312, 1319, 1326, 1333, 1340, 1347, 1354, + 1361, 1368, 1375, 1382, 1387, 1392, 1397, 1404, 1407, 1410, + 1413, 1420, 1424, 1430, 1436, 1442, 1449, 1456, 1463, 1470, + 1477, 1484, 1491 + } ; -static yyconst flex_int16_t yy_def[576] = +static yyconst flex_int16_t yy_def[594] = { 0, - 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 + 564, 564, 565, 565, 565, 565, 566, 566, 567, 567, + 568, 568, 569, 569, 569, 569, 570, 570, 564, 564, + 563, 21, 571, 571, 564, 564, 572, 572, 573, 573, + 573, 573, 564, 564, 573, 573, 564, 564, 573, 573, + 573, 573, 564, 564, 563, 45, 574, 574, 569, 569, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 575, 563, 563, 575, 575, 575, 575, 575, 563, + 563, 563, 563, 563, 563, 563, 576, 563, 563, 576, + + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 577, 563, 563, 577, 577, 577, 577, 563, 563, + 563, 563, 563, 563, 578, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 575, 575, 575, 575, 575, 575, 575, 579, 563, 563, + 576, 576, 580, 563, 563, 563, 563, 563, 577, 577, + 577, 577, 577, 581, 563, 563, 582, 563, 582, 563, + 563, 563, 583, 563, 563, 563, 563, 563, 563, 563, + 575, 575, 575, 575, 575, 575, 584, 584, 563, 576, + 585, 585, 563, 563, 563, 563, 577, 577, 577, 577, + + 586, 586, 563, 563, 582, 563, 563, 582, 563, 563, + 583, 563, 563, 563, 563, 563, 563, 575, 575, 575, + 575, 575, 575, 563, 584, 563, 584, 563, 576, 563, + 585, 563, 585, 563, 563, 563, 563, 577, 577, 577, + 577, 563, 586, 563, 586, 563, 582, 587, 563, 563, + 563, 563, 563, 563, 563, 575, 575, 563, 563, 575, + 575, 584, 563, 576, 585, 563, 563, 563, 563, 563, + 563, 577, 563, 563, 577, 586, 563, 582, 587, 587, + 563, 587, 563, 563, 563, 563, 563, 563, 563, 563, + 575, 563, 563, 563, 575, 575, 584, 563, 576, 585, + + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 577, 586, 563, 582, 587, 587, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 576, 585, 563, 563, 563, 563, 577, 563, 563, + 563, 582, 587, 587, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 576, 563, 563, 577, 563, 582, 587, + 587, 576, 577, 563, 582, 587, 587, 576, 577, 577, + 582, 582, 582, 587, 587, 563, 563, 563, 563, 563, + 563, 582, 582, 582, 587, 587, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 582, 582, 582, 587, 587, + + 563, 563, 563, 563, 582, 582, 582, 587, 587, 587, + 563, 563, 563, 563, 582, 582, 582, 587, 587, 587, + 588, 589, 563, 563, 563, 563, 582, 582, 582, 587, + 590, 591, 588, 589, 563, 563, 563, 563, 582, 582, + 582, 590, 587, 592, 591, 593, 587, 563, 563, 563, + 563, 582, 582, 582, 592, 563, 593, 587, 563, 563, + 582, 582, 582, 563, 582, 582, 582, 563, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + 582, 582, 582, 582, 582, 582, 563, 582, 582, 563, + 582, 563, 0, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563 + } ; -static yyconst flex_int16_t yy_nxt[1598] = +static yyconst flex_int16_t yy_nxt[1642] = { 0, - 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 - + 563, 54, 55, 54, 54, 55, 54, 54, 55, 54, + 54, 55, 54, 62, 563, 56, 62, 65, 56, 65, + 63, 57, 468, 63, 57, 59, 55, 59, 59, 55, + 59, 68, 69, 66, 143, 66, 70, 71, 144, 60, + 68, 69, 60, 168, 72, 70, 71, 68, 69, 206, + 73, 125, 70, 72, 68, 69, 169, 73, 342, 70, + 72, 75, 76, 75, 76, 126, 125, 72, 55, 55, + 55, 55, 55, 55, 91, 55, 91, 91, 55, 91, + 127, 174, 78, 456, 175, 78, 464, 172, 92, 210, + 77, 92, 77, 79, 80, 55, 80, 79, 79, 79, + + 79, 79, 79, 79, 81, 79, 82, 79, 83, 79, + 84, 79, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 79, 79, 82, 82, 82, 82, 85, + 82, 82, 82, 82, 82, 86, 82, 87, 82, 82, + 82, 82, 88, 89, 82, 82, 82, 82, 55, 55, + 55, 55, 55, 55, 124, 124, 124, 124, 124, 124, + 172, 456, 93, 369, 370, 93, 94, 95, 55, 95, + 94, 94, 94, 94, 94, 94, 94, 96, 94, 281, + 94, 98, 94, 99, 94, 102, 55, 102, 102, 55, + 102, 102, 55, 102, 206, 206, 94, 94, 247, 103, + + 460, 173, 103, 208, 459, 104, 343, 100, 94, 95, + 55, 95, 94, 94, 94, 94, 94, 94, 94, 96, + 94, 281, 94, 98, 94, 99, 94, 102, 55, 102, + 55, 55, 55, 55, 55, 55, 206, 281, 94, 94, + 374, 104, 359, 281, 105, 281, 282, 105, 128, 100, + 102, 55, 102, 102, 55, 102, 55, 55, 55, 55, + 55, 55, 127, 344, 103, 281, 281, 103, 361, 281, + 106, 281, 128, 106, 102, 55, 102, 102, 55, 102, + 102, 55, 102, 102, 55, 102, 127, 360, 104, 206, + 375, 104, 206, 366, 107, 385, 128, 107, 55, 55, + + 55, 55, 55, 55, 124, 124, 124, 124, 124, 124, + 127, 382, 108, 456, 522, 108, 109, 110, 55, 110, + 109, 109, 109, 109, 109, 109, 109, 111, 109, 112, + 109, 113, 109, 114, 109, 112, 112, 112, 112, 112, + 112, 112, 112, 112, 112, 112, 109, 109, 112, 112, + 112, 112, 115, 112, 112, 112, 112, 112, 116, 112, + 117, 112, 118, 112, 112, 112, 112, 112, 112, 112, + 112, 120, 55, 120, 120, 55, 120, 68, 69, 68, + 69, 128, 70, 133, 70, 121, 128, 128, 121, 206, + 122, 128, 122, 148, 456, 127, 124, 124, 124, 206, + + 127, 127, 124, 124, 124, 127, 123, 281, 123, 128, + 134, 124, 124, 124, 139, 128, 135, 206, 128, 136, + 383, 128, 149, 127, 137, 153, 128, 128, 153, 127, + 486, 155, 127, 397, 153, 127, 124, 124, 124, 367, + 127, 127, 157, 451, 154, 124, 124, 124, 139, 155, + 154, 139, 128, 154, 139, 156, 154, 206, 155, 164, + 157, 156, 154, 124, 124, 124, 127, 156, 224, 224, + 224, 224, 224, 224, 230, 230, 230, 230, 230, 230, + 242, 242, 242, 206, 226, 384, 281, 226, 450, 281, + 232, 449, 448, 232, 278, 206, 244, 242, 242, 242, + + 254, 254, 254, 258, 258, 258, 227, 224, 224, 224, + 224, 224, 224, 244, 386, 255, 399, 396, 259, 224, + 224, 224, 206, 226, 233, 206, 226, 230, 230, 230, + 230, 230, 230, 401, 316, 226, 230, 230, 230, 281, + 206, 245, 443, 232, 398, 402, 232, 270, 270, 270, + 452, 446, 232, 438, 273, 273, 273, 262, 242, 242, + 242, 403, 271, 242, 242, 242, 400, 206, 265, 274, + 242, 242, 242, 404, 244, 280, 280, 280, 206, 244, + 285, 285, 285, 254, 254, 254, 244, 289, 289, 289, + 443, 281, 282, 286, 286, 286, 406, 287, 255, 446, + + 288, 416, 290, 437, 206, 276, 258, 258, 258, 292, + 292, 292, 206, 293, 454, 281, 294, 224, 224, 224, + 206, 259, 230, 230, 230, 302, 302, 302, 303, 303, + 303, 461, 405, 226, 304, 304, 304, 408, 232, 270, + 270, 270, 305, 305, 305, 206, 306, 206, 206, 307, + 308, 308, 308, 297, 271, 273, 273, 273, 463, 310, + 310, 310, 206, 311, 534, 309, 312, 300, 407, 469, + 274, 242, 242, 242, 280, 280, 280, 285, 285, 285, + 206, 286, 286, 286, 206, 287, 465, 244, 288, 206, + 281, 289, 289, 289, 320, 320, 320, 206, 321, 462, + + 492, 322, 323, 323, 323, 206, 290, 314, 206, 439, + 317, 292, 292, 292, 467, 293, 466, 324, 294, 325, + 325, 325, 327, 327, 327, 318, 329, 329, 329, 331, + 331, 331, 436, 435, 326, 426, 425, 328, 230, 230, + 230, 206, 330, 334, 334, 334, 302, 302, 302, 303, + 303, 303, 443, 441, 232, 304, 304, 304, 305, 305, + 305, 206, 306, 206, 444, 307, 308, 308, 308, 335, + 335, 335, 443, 336, 424, 453, 337, 333, 310, 310, + 310, 309, 311, 480, 444, 312, 339, 339, 339, 320, + 320, 320, 423, 321, 206, 206, 322, 323, 323, 323, + + 470, 206, 340, 345, 345, 345, 206, 346, 471, 414, + 347, 493, 324, 325, 325, 325, 348, 348, 348, 206, + 349, 206, 496, 350, 327, 327, 327, 206, 326, 351, + 351, 351, 206, 352, 473, 497, 353, 206, 206, 328, + 329, 329, 329, 331, 331, 331, 355, 355, 355, 334, + 334, 334, 487, 335, 335, 335, 330, 336, 206, 481, + 337, 498, 356, 339, 339, 339, 345, 345, 345, 490, + 346, 413, 412, 347, 348, 348, 348, 206, 349, 340, + 484, 350, 351, 351, 351, 206, 352, 206, 206, 353, + 355, 355, 355, 365, 365, 365, 365, 365, 365, 376, + + 376, 376, 378, 378, 378, 206, 356, 485, 491, 206, + 488, 411, 206, 206, 377, 206, 499, 379, 380, 380, + 380, 376, 376, 376, 387, 387, 387, 489, 388, 500, + 206, 389, 371, 381, 372, 206, 377, 206, 206, 373, + 378, 378, 378, 390, 390, 390, 494, 391, 368, 206, + 392, 380, 380, 380, 501, 379, 393, 393, 393, 364, + 394, 495, 206, 395, 502, 206, 381, 387, 387, 387, + 363, 388, 206, 510, 389, 390, 390, 390, 503, 391, + 362, 535, 392, 393, 393, 393, 206, 394, 504, 206, + 395, 409, 409, 409, 415, 415, 415, 417, 417, 417, + + 418, 418, 418, 409, 409, 409, 410, 281, 511, 505, + 206, 206, 508, 206, 206, 419, 281, 206, 410, 281, + 420, 420, 420, 358, 421, 206, 206, 422, 415, 415, + 415, 428, 428, 428, 509, 206, 281, 417, 417, 417, + 418, 418, 418, 506, 206, 528, 507, 206, 512, 513, + 552, 552, 206, 206, 427, 419, 281, 430, 430, 430, + 206, 431, 206, 429, 432, 420, 420, 420, 206, 421, + 206, 514, 422, 281, 357, 428, 428, 428, 458, 458, + 458, 281, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 206, 206, 279, 281, 282, 279, 279, 279, 281, + + 279, 440, 206, 354, 515, 206, 518, 458, 458, 458, + 206, 538, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 281, 539, 279, 206, 206, 279, 279, + 279, 281, 279, 430, 430, 430, 516, 431, 519, 341, + 432, 206, 338, 317, 279, 279, 472, 472, 472, 281, + 279, 279, 279, 279, 279, 447, 279, 279, 279, 540, + 541, 279, 206, 529, 279, 279, 279, 281, 279, 206, + 206, 332, 532, 206, 544, 474, 474, 474, 206, 206, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 447, 206, 542, 279, 206, 517, 279, 279, 279, 281, + + 279, 472, 472, 472, 520, 475, 206, 206, 476, 477, + 477, 477, 279, 279, 474, 474, 474, 206, 478, 206, + 521, 479, 477, 477, 477, 206, 482, 206, 206, 483, + 206, 523, 206, 524, 206, 533, 536, 537, 206, 206, + 206, 206, 206, 206, 206, 525, 206, 206, 206, 206, + 206, 206, 526, 527, 555, 206, 319, 530, 543, 531, + 546, 281, 555, 558, 315, 547, 206, 558, 550, 551, + 553, 206, 206, 545, 554, 556, 556, 556, 313, 206, + 548, 549, 559, 559, 559, 556, 556, 556, 561, 561, + 561, 557, 559, 559, 559, 561, 561, 561, 560, 301, + + 299, 557, 298, 296, 562, 295, 291, 284, 560, 283, + 277, 562, 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, 90, 90, 90, 90, 90, 90, 90, 97, 97, + 97, 97, 97, 97, 97, 101, 101, 101, 101, 101, + 101, 101, 119, 119, 119, 119, 119, 119, 119, 141, + 141, 141, 275, 141, 151, 151, 151, 272, 151, 159, + + 159, 159, 269, 159, 167, 167, 167, 167, 167, 268, + 167, 187, 267, 187, 191, 266, 191, 201, 264, 201, + 205, 205, 205, 205, 205, 205, 205, 211, 263, 261, + 211, 225, 225, 225, 225, 225, 225, 231, 231, 231, + 231, 231, 231, 243, 243, 243, 243, 243, 243, 279, + 279, 279, 279, 279, 279, 279, 433, 433, 433, 433, + 433, 433, 433, 434, 434, 434, 434, 434, 434, 434, + 442, 442, 442, 442, 442, 442, 442, 445, 445, 445, + 445, 445, 445, 445, 455, 455, 455, 455, 455, 455, + 455, 457, 457, 457, 457, 457, 457, 457, 260, 257, + + 256, 253, 252, 251, 250, 249, 248, 206, 246, 241, + 240, 239, 238, 237, 236, 235, 234, 229, 228, 223, + 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, + 212, 209, 207, 206, 204, 203, 202, 200, 199, 198, + 197, 196, 195, 194, 193, 192, 190, 189, 188, 186, + 185, 184, 183, 182, 181, 180, 179, 178, 177, 176, + 171, 168, 170, 166, 165, 163, 162, 161, 160, 158, + 152, 150, 147, 146, 145, 142, 140, 138, 132, 131, + 132, 131, 130, 129, 563, 51, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563 } ; -static yyconst flex_int16_t yy_chk[1598] = +static yyconst flex_int16_t yy_chk[1642] = { 0, 0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 9, 0, 3, 10, 11, 4, 12, - 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, + 9, 5, 464, 10, 6, 7, 7, 7, 8, 8, + 8, 13, 13, 11, 86, 12, 13, 13, 86, 7, + 14, 14, 8, 125, 13, 14, 14, 15, 15, 316, + 15, 56, 15, 14, 16, 16, 125, 16, 316, 16, 15, 17, 17, 18, 18, 56, 57, 16, 19, 19, 19, 20, 20, 20, 23, 23, 23, 24, 24, 24, - 57, 131, 19, 132, 439, 20, 132, 167, 23, 167, + 57, 134, 19, 457, 134, 20, 456, 172, 23, 172, 17, 24, 18, 21, 21, 21, 21, 21, 21, 21, - 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, 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, 39, 39, 39, - 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, - 44, 44, 414, 427, 41, 425, 425, 42, 430, 428, - - 43, 414, 427, 44, 45, 45, 45, 45, 45, 45, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 25, 25, + 25, 26, 26, 26, 54, 54, 54, 55, 55, 55, + 133, 455, 25, 363, 363, 26, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 317, + 27, 27, 27, 27, 27, 29, 29, 29, 30, 30, + 30, 31, 31, 31, 208, 169, 27, 27, 208, 29, + + 450, 133, 30, 169, 448, 31, 317, 27, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 366, 28, 28, 28, 28, 28, 32, 32, 32, + 33, 33, 33, 34, 34, 34, 342, 344, 28, 28, + 366, 32, 342, 318, 33, 443, 443, 34, 60, 28, + 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, + 38, 38, 60, 318, 35, 360, 367, 36, 344, 343, + 37, 374, 83, 38, 39, 39, 39, 40, 40, 40, + 41, 41, 41, 42, 42, 42, 83, 343, 39, 516, + 367, 40, 371, 360, 41, 374, 98, 42, 43, 43, + + 43, 44, 44, 44, 59, 59, 59, 80, 80, 80, + 98, 371, 43, 446, 516, 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, 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 - + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 47, 47, 47, 48, 48, 48, 49, 49, 50, + 50, 78, 49, 70, 50, 47, 92, 93, 48, 372, + 49, 108, 50, 92, 444, 78, 91, 91, 91, 480, + + 92, 93, 95, 95, 95, 108, 49, 361, 50, 105, + 70, 102, 102, 102, 78, 106, 70, 383, 103, 70, + 372, 104, 93, 105, 70, 103, 113, 107, 104, 106, + 480, 108, 103, 383, 107, 104, 110, 110, 110, 361, + 113, 107, 105, 438, 105, 120, 120, 120, 106, 105, + 106, 103, 121, 103, 104, 106, 104, 373, 103, 121, + 107, 104, 107, 124, 124, 124, 121, 107, 187, 187, + 187, 188, 188, 188, 191, 191, 191, 192, 192, 192, + 201, 201, 201, 247, 187, 373, 375, 188, 437, 385, + 191, 436, 435, 192, 247, 382, 201, 202, 202, 202, + + 218, 218, 218, 221, 221, 221, 188, 224, 224, 224, + 225, 225, 225, 202, 375, 218, 385, 382, 221, 227, + 227, 227, 278, 224, 192, 384, 225, 230, 230, 230, + 231, 231, 231, 388, 278, 227, 233, 233, 233, 386, + 439, 202, 432, 230, 384, 388, 231, 238, 238, 238, + 439, 432, 233, 426, 240, 240, 240, 227, 242, 242, + 242, 389, 238, 243, 243, 243, 386, 397, 233, 240, + 245, 245, 245, 389, 242, 248, 248, 248, 406, 243, + 253, 253, 253, 254, 254, 254, 245, 256, 256, 256, + 445, 248, 248, 255, 255, 255, 397, 255, 254, 445, + + 255, 406, 256, 425, 441, 245, 258, 258, 258, 259, + 259, 259, 396, 259, 441, 399, 259, 262, 262, 262, + 452, 258, 265, 265, 265, 267, 267, 267, 268, 268, + 268, 452, 396, 262, 269, 269, 269, 399, 265, 270, + 270, 270, 271, 271, 271, 528, 271, 454, 398, 271, + 272, 272, 272, 262, 270, 273, 273, 273, 454, 274, + 274, 274, 465, 274, 528, 272, 274, 265, 398, 465, + 273, 276, 276, 276, 280, 280, 280, 285, 285, 285, + 461, 286, 286, 286, 486, 286, 461, 276, 286, 453, + 280, 289, 289, 289, 290, 290, 290, 427, 290, 453, + + 486, 290, 291, 291, 291, 462, 289, 276, 463, 427, + 280, 292, 292, 292, 463, 292, 462, 291, 292, 295, + 295, 295, 296, 296, 296, 280, 297, 297, 297, 298, + 298, 298, 424, 423, 295, 414, 413, 296, 300, 300, + 300, 429, 297, 301, 301, 301, 302, 302, 302, 303, + 303, 303, 431, 429, 300, 304, 304, 304, 305, 305, + 305, 475, 305, 440, 431, 305, 308, 308, 308, 309, + 309, 309, 442, 309, 412, 440, 309, 300, 310, 310, + 310, 308, 310, 475, 442, 310, 314, 314, 314, 320, + 320, 320, 411, 320, 466, 487, 320, 323, 323, 323, + + 466, 467, 314, 324, 324, 324, 490, 324, 467, 404, + 324, 487, 323, 325, 325, 325, 326, 326, 326, 491, + 326, 481, 490, 326, 327, 327, 327, 470, 325, 328, + 328, 328, 492, 328, 470, 491, 328, 476, 484, 327, + 329, 329, 329, 331, 331, 331, 333, 333, 333, 334, + 334, 334, 481, 335, 335, 335, 329, 335, 478, 476, + 335, 492, 333, 339, 339, 339, 345, 345, 345, 484, + 345, 403, 402, 345, 348, 348, 348, 485, 348, 339, + 478, 348, 351, 351, 351, 479, 351, 493, 482, 351, + 355, 355, 355, 359, 359, 359, 365, 365, 365, 368, + + 368, 368, 369, 369, 369, 483, 355, 479, 485, 359, + 482, 401, 365, 494, 368, 488, 493, 369, 370, 370, + 370, 376, 376, 376, 377, 377, 377, 483, 377, 494, + 489, 377, 365, 370, 365, 496, 376, 504, 495, 365, + 378, 378, 378, 379, 379, 379, 488, 379, 362, 497, + 379, 380, 380, 380, 495, 378, 381, 381, 381, 358, + 381, 489, 529, 381, 496, 498, 380, 387, 387, 387, + 357, 387, 505, 504, 387, 390, 390, 390, 497, 390, + 354, 529, 390, 393, 393, 393, 499, 393, 498, 502, + 393, 400, 400, 400, 405, 405, 405, 407, 407, 407, + + 408, 408, 408, 409, 409, 409, 400, 400, 505, 499, + 405, 503, 502, 407, 500, 408, 408, 501, 409, 409, + 410, 410, 410, 341, 410, 506, 507, 410, 415, 415, + 415, 416, 416, 416, 503, 508, 410, 417, 417, 417, + 418, 418, 418, 500, 415, 522, 501, 416, 506, 507, + 546, 547, 522, 417, 415, 418, 418, 419, 419, 419, + 547, 419, 546, 417, 419, 420, 420, 420, 509, 420, + 512, 508, 420, 419, 338, 428, 428, 428, 447, 447, + 447, 420, 421, 421, 421, 421, 421, 421, 421, 421, + 421, 428, 532, 421, 447, 447, 421, 421, 421, 421, + + 421, 428, 513, 332, 509, 533, 512, 458, 458, 458, + 510, 532, 421, 421, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 458, 533, 422, 534, 535, 422, 422, + 422, 422, 422, 430, 430, 430, 510, 430, 513, 315, + 430, 538, 313, 458, 422, 422, 469, 469, 469, 430, + 433, 433, 433, 433, 433, 433, 433, 433, 433, 534, + 535, 433, 469, 523, 433, 433, 433, 433, 433, 511, + 523, 299, 526, 536, 538, 471, 471, 471, 514, 526, + 433, 433, 434, 434, 434, 434, 434, 434, 434, 434, + 434, 471, 536, 434, 515, 511, 434, 434, 434, 434, + + 434, 472, 472, 472, 514, 472, 517, 518, 472, 473, + 473, 473, 434, 434, 474, 474, 474, 472, 474, 519, + 515, 474, 477, 477, 477, 473, 477, 520, 521, 477, + 474, 517, 524, 518, 525, 527, 530, 531, 477, 537, + 539, 540, 527, 530, 531, 519, 541, 542, 543, 544, + 545, 548, 520, 521, 550, 549, 282, 524, 537, 525, + 540, 279, 551, 554, 277, 541, 550, 553, 544, 545, + 548, 551, 554, 539, 549, 552, 552, 552, 275, 553, + 542, 543, 555, 555, 555, 556, 556, 556, 558, 558, + 558, 552, 559, 559, 559, 561, 561, 561, 555, 266, + + 264, 556, 263, 261, 558, 260, 257, 252, 559, 251, + 246, 561, 564, 564, 564, 564, 564, 564, 564, 565, + 565, 565, 565, 565, 565, 565, 566, 566, 566, 566, + 566, 566, 566, 567, 567, 567, 567, 567, 567, 567, + 568, 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, 241, 575, 576, 576, 576, 239, 576, 577, + + 577, 577, 237, 577, 578, 578, 578, 578, 578, 236, + 578, 579, 235, 579, 580, 234, 580, 581, 229, 581, + 582, 582, 582, 582, 582, 582, 582, 583, 228, 223, + 583, 584, 584, 584, 584, 584, 584, 585, 585, 585, + 585, 585, 585, 586, 586, 586, 586, 586, 586, 587, + 587, 587, 587, 587, 587, 587, 588, 588, 588, 588, + 588, 588, 588, 589, 589, 589, 589, 589, 589, 589, + 590, 590, 590, 590, 590, 590, 590, 591, 591, 591, + 591, 591, 591, 591, 592, 592, 592, 592, 592, 592, + 592, 593, 593, 593, 593, 593, 593, 593, 222, 220, + + 219, 217, 216, 213, 212, 211, 209, 205, 203, 200, + 199, 198, 197, 196, 195, 194, 193, 190, 189, 186, + 185, 184, 183, 182, 181, 180, 178, 177, 176, 175, + 174, 170, 168, 167, 166, 165, 164, 163, 162, 161, + 160, 157, 156, 155, 154, 153, 152, 149, 148, 147, + 146, 145, 144, 143, 142, 139, 138, 137, 136, 135, + 129, 128, 126, 123, 122, 118, 117, 116, 115, 111, + 100, 96, 89, 88, 87, 85, 81, 77, 76, 75, + 69, 68, 66, 63, 51, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563, 563, 563, 563, 563, 563, 563, 563, 563, 563, + 563 } ; /* Table of booleans, true if rule could match eol. */ -static yyconst flex_int32_t yy_rule_can_match_eol[90] = +static yyconst flex_int32_t yy_rule_can_match_eol[93] = { 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, }; + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 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, 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; @@ -1000,13 +1060,12 @@ int xbt_graph_parse__flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *xbt_graph_parse_text; -#line 1 "xbt/graphxml.l" -/* Validating XML processor for graphxml.dtd. - * Generated 2006/04/22 01:36:55. +/* Validating XML processor for src/xbt/graphxml.dtd. * * This program was generated with the FleXML XML processor generator. - * FleXML is Copyright © 1999-2005 Kristoffer Rose. All rights reserved. - * (Id: flexml.pl,v 1.48 2006/03/21 13:09:12 mquinson Exp). + * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. + * FleXML is Copyright (C) 2003-2013 Martin Quinson. All rights reserved. + * (1.9.6). * * There are two, intertwined parts to this program, part A and part B. * @@ -1014,8 +1073,8 @@ char *xbt_graph_parse_text; * ------ * * Some parts, here collectively called "Part A", are found in the - * FleXML package. They are Copyright © 1999-2005 Kristoffer Rose. - * All rights reserved. + * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose + * and Copyright (C) 2003-2013 Martin Quinson. All rights reserved. * * You can redistribute, use, perform, display and/or modify "Part A" * provided the following two conditions hold: @@ -1046,41 +1105,79 @@ char *xbt_graph_parse_text; * by the author of or contributors to FleXML. * */ -#line 48 "xbt/graphxml.l" /* Version strings. */ -const char rcs_graphxml_flexml_skeleton[] = - "$" "Id: skel,v 1.28 2006/03/21 12:04:13 legranda Exp $"; -const char rcs_graphxml_flexml[] = - "$" "Id: flexml.pl,v 1.48 2006/03/21 13:09:12 mquinson Exp $"; +const char graphxml_flexml_version[] = "1.9.6"; /* ANSI headers. */ -#include +#include /* for realloc() -- needed here when using flex 2.5.4 */ #include #include #include #include #include + +#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) +# ifndef __STRICT_ANSI__ +# include +# include +# endif +#else +# include +#endif + +#ifndef FLEXML_INDEXSTACKSIZE +#define FLEXML_INDEXSTACKSIZE 1000 +#endif /* Generated definitions. */ #define FLEXML_yylineno +#ifndef FLEXML_BUFFERSTACKSIZE #define FLEXML_BUFFERSTACKSIZE 1000000 +#endif +#define FLEXML_NEED_BUFFERLIT /* XML processor api. */ /* FleXML-provided data. */ -const char* graphxml_pcdata; -AT_graphxml_node_name A_graphxml_node_name; -AT_graphxml_edge_source A_graphxml_edge_source; -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_length A_graphxml_edge_length; -AT_graphxml_edge_name A_graphxml_edge_name; +int graphxml_pcdata_ix; +extern char *graphxml_bufferstack; +#define graphxml_pcdata (graphxml_bufferstack + graphxml_pcdata_ix) +AT_graphxml_edge_data AX_graphxml_edge_data; +#define A_graphxml_edge_data (graphxml_bufferstack + AX_graphxml_edge_data) +short int graphxml_edge_data_isset; +AT_graphxml_edge_label AX_graphxml_edge_label; +#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label) +short int graphxml_edge_label_isset; +AT_graphxml_edge_length AX_graphxml_edge_length; +#define A_graphxml_edge_length (graphxml_bufferstack + AX_graphxml_edge_length) +short int graphxml_edge_length_isset; +AT_graphxml_edge_name AX_graphxml_edge_name; +#define A_graphxml_edge_name (graphxml_bufferstack + AX_graphxml_edge_name) +short int graphxml_edge_name_isset; +AT_graphxml_edge_source AX_graphxml_edge_source; +#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source) +short int graphxml_edge_source_isset; +AT_graphxml_edge_target AX_graphxml_edge_target; +#define A_graphxml_edge_target (graphxml_bufferstack + AX_graphxml_edge_target) +short int graphxml_edge_target_isset; +AT_graphxml_graph_isDirected AX_graphxml_graph_isDirected; +#define A_graphxml_graph_isDirected AX_graphxml_graph_isDirected +short int graphxml_graph_isDirected_isset; +AT_graphxml_node_data AX_graphxml_node_data; +#define A_graphxml_node_data (graphxml_bufferstack + AX_graphxml_node_data) +short int graphxml_node_data_isset; +AT_graphxml_node_label AX_graphxml_node_label; +#define A_graphxml_node_label (graphxml_bufferstack + AX_graphxml_node_label) +short int graphxml_node_label_isset; +AT_graphxml_node_name AX_graphxml_node_name; +#define A_graphxml_node_name (graphxml_bufferstack + AX_graphxml_node_name) +short int graphxml_node_name_isset; +AT_graphxml_node_position___x AX_graphxml_node_position___x; +#define A_graphxml_node_position___x (graphxml_bufferstack + AX_graphxml_node_position___x) +short int graphxml_node_position___x_isset; +AT_graphxml_node_position___y AX_graphxml_node_position___y; +#define A_graphxml_node_position___y (graphxml_bufferstack + AX_graphxml_node_position___y) +short int graphxml_node_position___y_isset; /* XML state. */ #ifdef FLEX_DEBUG @@ -1102,64 +1199,108 @@ AT_graphxml_edge_name A_graphxml_edge_name; #define FAIL return fail static int fail(const char*, ...); -const char * graphxml_parse_err_msg(void); + +enum {flexml_max_err_msg_size = 512}; +static char flexml_err_msg[flexml_max_err_msg_size]; +const char * graphxml_parse_err_msg() +{ + return flexml_err_msg; +} +static void reset_graphxml_parse_err_msg() +{ + flexml_err_msg[0] = '\0'; +} /* Cleanup */ static void cleanup(void); #define CLEANUP cleanup() /* Text buffer stack handling. */ -static char bufferstack[FLEXML_BUFFERSTACKSIZE]; -static char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE; -typedef struct BufferLast_s { - struct BufferLast_s *old; char* saved; char new1[1]; -} BufferLast; -#ifdef FLEXML_HasMixed -static BufferLast* last = (BufferLast*)0; -#endif -static char* next = bufferstack; +char *graphxml_bufferstack = NULL; +static int blimit = FLEXML_BUFFERSTACKSIZE; +static int bnext = 1; + +static int *indexstack = NULL; +static int ilimit = FLEXML_INDEXSTACKSIZE; +static int inext = 1; -#define BUFFERSET(P) (P = next) -#define BUFFERPUTC(C) (assert(next= blimit) { + blimit += FLEXML_BUFFERSTACKSIZE + 2; + { + char *temp = (char *) realloc(graphxml_bufferstack, blimit); + assert(temp); + graphxml_bufferstack = temp; + } + } + return 0; } -#ifdef FLEXML_HasMixed -static void pushbuffer(char* p) +/* after this is called, there are at least 2 slots left in the stack */ +static int ck_ilimit() { - BufferLast* l = (BufferLast*)next; - assert(next < limit); - l->old = last; - l->saved = p; - next = l->new1; - last = l; + if (inext >= ilimit) { + ilimit += FLEXML_INDEXSTACKSIZE + 2; + { + int *temp = (int *) realloc(indexstack, ilimit); + assert(temp); + indexstack = temp; + } + } + return 0; } -static char* popbuffer(void) +#ifdef FLEXML_NEED_BUFFERLIT +static void graphxml_bufferliteral(char c, int* pp, const char* text) { - BufferLast* l = last; - assert(last != (BufferLast*)0); - last = l->old; - next = (char*)l; - return l->saved; + BUFFERSET(*pp); + if (c) { + const char *s = strchr(text, c), *e = strrchr(text, c); + assert(s && e && s <= e); + ++s; + while (s < e) { + if (isspace(*s)) { + BUFFERPUTC(' '); + do ++s; while (s < e && isspace(*s)); + } else + BUFFERPUTC(*s++); + } + } else { + const char *s = text; + while (*s) + BUFFERPUTC(*s++); + } + BUFFERDONE; } #endif +static void pushbuffer(int p) +{ + ck_ilimit(); + indexstack[inext++] = p; + indexstack[inext++] = bnext; +} + +static int popbuffer(void) +{ + assert(inext >= 2); + bnext = indexstack[--inext]; + return indexstack[--inext]; +} + /* General internal entities are `unput' back onto the input stream... */ #define ENTITYTEXT(T) \ { char *s = (T), *e = s+strlen(s);\ while (--e >= s) { unput(*e); }} + /* Flex standard options. */ #define YY_NO_INPUT 1 /* Flex user-requested options. */ @@ -1183,14 +1324,8 @@ static char* popbuffer(void) * IMPOSSIBLE dummy to permit disabling rules; must be last */ - - - - -#line 215 "xbt/graphxml.l" /* State names. */ const char* *graphxml_statenames=NULL; -#line 1194 "xbt/graphxml.c" #define INITIAL 0 #define PROLOG 1 @@ -1201,21 +1336,21 @@ const char* *graphxml_statenames=NULL; #define VALUE1 6 #define VALUE2 7 #define CDATA 8 -#define ROOT_graphxml_graph 9 -#define AL_graphxml_graph 10 -#define S_graphxml_graph 11 -#define S_graphxml_graph_1 12 -#define S_graphxml_graph_2 13 -#define S_graphxml_graph_3 14 -#define S_graphxml_graph_4 15 -#define S_graphxml_graph_5 16 -#define E_graphxml_graph 17 -#define ROOT_graphxml_node 18 -#define AL_graphxml_node 19 -#define E_graphxml_node 20 -#define ROOT_graphxml_edge 21 -#define AL_graphxml_edge 22 -#define E_graphxml_edge 23 +#define ROOT_graphxml_edge 9 +#define AL_graphxml_edge 10 +#define E_graphxml_edge 11 +#define ROOT_graphxml_graph 12 +#define AL_graphxml_graph 13 +#define S_graphxml_graph 14 +#define S_graphxml_graph_1 15 +#define S_graphxml_graph_2 16 +#define S_graphxml_graph_3 17 +#define S_graphxml_graph_4 18 +#define S_graphxml_graph_5 19 +#define E_graphxml_graph 20 +#define ROOT_graphxml_node 21 +#define AL_graphxml_node 22 +#define E_graphxml_node 23 #define IMPOSSIBLE 24 #ifndef YY_NO_UNISTD_H @@ -1223,13 +1358,51 @@ const char* *graphxml_statenames=NULL; * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ -#include +#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) +# ifndef __STRICT_ANSI__ +# include +# include +# endif +#else +# include +#endif #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif +static int yy_init_globals (void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int xbt_graph_parse_lex_destroy (void ); + +int xbt_graph_parse_get_debug (void ); + +void xbt_graph_parse_set_debug (int debug_flag ); + +YY_EXTRA_TYPE xbt_graph_parse_get_extra (void ); + +void xbt_graph_parse_set_extra (YY_EXTRA_TYPE user_defined ); + +FILE *xbt_graph_parse_get_in (void ); + +void xbt_graph_parse_set_in (FILE * in_str ); + +FILE *xbt_graph_parse_get_out (void ); + +void xbt_graph_parse_set_out (FILE * out_str ); + +yy_size_t xbt_graph_parse_get_leng (void ); + +char *xbt_graph_parse_get_text (void ); + +int xbt_graph_parse_get_lineno (void ); + +void xbt_graph_parse_set_lineno (int line_number ); + /* Macros after this point can all be overridden by user definitions in * section 1. */ @@ -1262,7 +1435,7 @@ static int input (void ); static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; - static int *yy_start_stack = 0; + static int *yy_start_stack = NULL; static void yy_push_state (int new_state ); @@ -1270,7 +1443,12 @@ static int input (void ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1278,7 +1456,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO (void) fwrite( xbt_graph_parse_text, xbt_graph_parse_leng, 1, xbt_graph_parse_out ) +#define ECHO do { if (fwrite( xbt_graph_parse_text, xbt_graph_parse_leng, 1, xbt_graph_parse_out )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1367,17 +1545,61 @@ extern int xbt_graph_parse_lex (void); */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; -#line 219 "xbt/graphxml.l" + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! xbt_graph_parse_in ) + xbt_graph_parse_in = stdin; + + if ( ! xbt_graph_parse_out ) + xbt_graph_parse_out = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + xbt_graph_parse_ensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + xbt_graph_parse__create_buffer(xbt_graph_parse_in,YY_BUF_SIZE ); + } + xbt_graph_parse__load_buffer_state( ); + } + + { /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */ SET(PROLOG); + reset_graphxml_parse_err_msg(); + graphxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE); + assert(graphxml_bufferstack); + #ifdef FLEX_DEBUG + { + int i; + for (i = 0; i < blimit; i++) { + graphxml_bufferstack[i] = '\377'; + } + } + #endif + graphxml_bufferstack[0] = '\0'; + indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int)); + assert(indexstack); + indexstack[0] = 0; + /* FleXML_init */ - next = bufferstack; + bnext = inext = 1; + graphxml_bufferliteral('\0', &bnext, "-1.0"); + graphxml_bufferliteral('\0', &bnext, "-1.0"); + graphxml_bufferliteral('\0', &bnext, "-1.0"); if(!graphxml_statenames) {graphxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*)); graphxml_statenames[PROLOG] = NULL; graphxml_statenames[DOCTYPE] = NULL; @@ -1387,6 +1609,9 @@ YY_DECL graphxml_statenames[VALUE1] = NULL; graphxml_statenames[VALUE2] = NULL; graphxml_statenames[CDATA] = NULL; + graphxml_statenames[ROOT_graphxml_edge] = NULL; + graphxml_statenames[AL_graphxml_edge] = NULL; + graphxml_statenames[E_graphxml_edge] = "edge"; graphxml_statenames[ROOT_graphxml_graph] = NULL; graphxml_statenames[AL_graphxml_graph] = NULL; graphxml_statenames[S_graphxml_graph] = "graph"; @@ -1399,41 +1624,10 @@ YY_DECL graphxml_statenames[ROOT_graphxml_node] = NULL; graphxml_statenames[AL_graphxml_node] = NULL; graphxml_statenames[E_graphxml_node] = "node"; - graphxml_statenames[ROOT_graphxml_edge] = NULL; - graphxml_statenames[AL_graphxml_edge] = NULL; - graphxml_statenames[E_graphxml_edge] = "edge"; } /* COMMENTS and PIs: handled uniformly for efficiency. */ -#line 1410 "xbt/graphxml.c" - - if ( (yy_init) ) - { - (yy_init) = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! xbt_graph_parse_in ) - xbt_graph_parse_in = stdin; - - if ( ! xbt_graph_parse_out ) - xbt_graph_parse_out = stdout; - - if ( ! YY_CURRENT_BUFFER ) { - xbt_graph_parse_ensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - xbt_graph_parse__create_buffer(xbt_graph_parse_in,YY_BUF_SIZE ); - } - - xbt_graph_parse__load_buffer_state( ); - } - while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); @@ -1450,7 +1644,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1459,13 +1653,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 >= 546 ) + if ( yy_current_state >= 564 ) 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] != 1542 ); + while ( yy_base[yy_current_state] != 1586 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1480,7 +1674,7 @@ yy_find_action: if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) { - int yyl; + yy_size_t yyl; for ( yyl = 0; yyl < xbt_graph_parse_leng; ++yyl ) if ( xbt_graph_parse_text[yyl] == '\n' ) @@ -1501,52 +1695,39 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 254 "xbt/graphxml.l" ENTER(INCOMMENT); YY_BREAK case 2: YY_RULE_SETUP -#line 255 "xbt/graphxml.l" ENTER(INPI); YY_BREAK - case 3: YY_RULE_SETUP -#line 258 "xbt/graphxml.l" LEAVE; YY_BREAK case 4: -#line 260 "xbt/graphxml.l" case 5: -#line 261 "xbt/graphxml.l" case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 261 "xbt/graphxml.l" SKIP; YY_BREAK case YY_STATE_EOF(INCOMMENT): -#line 262 "xbt/graphxml.l" FAIL("EOF in comment."); YY_BREAK - case 7: YY_RULE_SETUP -#line 265 "xbt/graphxml.l" LEAVE; YY_BREAK case 8: -#line 267 "xbt/graphxml.l" case 9: /* rule 9 can match eol */ YY_RULE_SETUP -#line 267 "xbt/graphxml.l" SKIP; YY_BREAK case YY_STATE_EOF(INPI): -#line 268 "xbt/graphxml.l" FAIL("EOF in PI (processing instruction)."); YY_BREAK @@ -1554,7 +1735,6 @@ FAIL("EOF in PI (processing instruction)."); case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 273 "xbt/graphxml.l" SKIP; YY_BREAK /* PROLOG: determine root element and process it. */ @@ -1562,585 +1742,517 @@ SKIP; case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 278 "xbt/graphxml.l" SET(DOCTYPE); YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 279 "xbt/graphxml.l" FAIL("Bad declaration %s.",xbt_graph_parse_text); YY_BREAK - case 13: /* rule 13 can match eol */ YY_RULE_SETUP -#line 283 "xbt/graphxml.l" SET(ROOT_graphxml_edge); YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 284 "xbt/graphxml.l" -SET(ROOT_graphxml_node); +SET(ROOT_graphxml_graph); YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 285 "xbt/graphxml.l" -SET(ROOT_graphxml_graph); +SET(ROOT_graphxml_node); YY_BREAK case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 286 "xbt/graphxml.l" FAIL("Bad declaration %s.",xbt_graph_parse_text); YY_BREAK case 17: YY_RULE_SETUP -#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 288 "xbt/graphxml.l" FAIL("EOF in prolog."); YY_BREAK /* RULES DERIVED FROM DTD. */ -/* */ -/* isDirected (true|false) "true" +/* label CDATA "" + * name CDATA #IMPLIED + * source CDATA #REQUIRED + * target CDATA #REQUIRED + * length CDATA "-1.0" + * data CDATA "" * > */ case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 298 "xbt/graphxml.l" +FAIL("Starting tag is not allowed here."); + YY_BREAK +case 19: +/* rule 19 can match eol */ +YY_RULE_SETUP { - A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; - ENTER(AL_graphxml_graph); + AX_graphxml_edge_data = 0; + graphxml_edge_data_isset = 0; + AX_graphxml_edge_label = 0; + graphxml_edge_label_isset = 0; + AX_graphxml_edge_length = 11; + graphxml_edge_length_isset = 0; + AX_graphxml_edge_name = 0; + graphxml_edge_name_isset = 0; + AX_graphxml_edge_source = 0; + graphxml_edge_source_isset = 0; + AX_graphxml_edge_target = 0; + graphxml_edge_target_isset = 0; + ENTER(AL_graphxml_edge); pushbuffer(0); } 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; +if (graphxml_edge_data_isset != 0) {FAIL("Multiple definition of attribute data in ");} graphxml_edge_data_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_data); YY_BREAK case 21: /* rule 21 can match eol */ -#line 307 "xbt/graphxml.l" +YY_RULE_SETUP +if (graphxml_edge_data_isset != 0) {FAIL("Multiple definition of attribute data in ");} graphxml_edge_data_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_data); + YY_BREAK case 22: /* rule 22 can match eol */ YY_RULE_SETUP -#line 307 "xbt/graphxml.l" -A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_false; +if (graphxml_edge_label_isset != 0) {FAIL("Multiple definition of attribute label in ");} graphxml_edge_label_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_label); YY_BREAK case 23: +/* rule 23 can match eol */ YY_RULE_SETUP -#line 309 "xbt/graphxml.l" -{ - LEAVE; STag_graphxml_graph();graphxml_pcdata = NULL; ENTER(S_graphxml_graph); - } +if (graphxml_edge_label_isset != 0) {FAIL("Multiple definition of attribute label in ");} graphxml_edge_label_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_label); YY_BREAK case 24: +/* rule 24 can match eol */ YY_RULE_SETUP -#line 312 "xbt/graphxml.l" -{ - LEAVE; STag_graphxml_graph(); graphxml_pcdata = NULL; ETag_graphxml_graph(); - switch (YY_START) { - case ROOT_graphxml_graph: SET(EPILOG); break; - } - } +if (graphxml_edge_length_isset != 0) {FAIL("Multiple definition of attribute length in ");} graphxml_edge_length_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_length); YY_BREAK case 25: +/* rule 25 can match eol */ YY_RULE_SETUP -#line 318 "xbt/graphxml.l" -FAIL("Unexpected character `%c' in attribute list of graph element.", xbt_graph_parse_text[0]); +if (graphxml_edge_length_isset != 0) {FAIL("Multiple definition of attribute length in ");} graphxml_edge_length_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_length); YY_BREAK case 26: +/* rule 26 can match eol */ YY_RULE_SETUP -#line 319 "xbt/graphxml.l" -FAIL("Bad attribute `%s' in `graph' element start tag.",xbt_graph_parse_text); +if (graphxml_edge_name_isset != 0) {FAIL("Multiple definition of attribute name in ");} graphxml_edge_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_name); YY_BREAK -case YY_STATE_EOF(AL_graphxml_graph): -#line 320 "xbt/graphxml.l" -FAIL("EOF in attribute list of `graph' element."); - YY_BREAK - - case 27: /* rule 27 can match eol */ YY_RULE_SETUP -#line 324 "xbt/graphxml.l" -{ - LEAVE; - ETag_graphxml_graph(); - switch (YY_START) { - case ROOT_graphxml_graph: SET(EPILOG); break; - } - } +if (graphxml_edge_name_isset != 0) {FAIL("Multiple definition of attribute name in ");} graphxml_edge_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_name); YY_BREAK case 28: /* rule 28 can match eol */ YY_RULE_SETUP -#line 331 "xbt/graphxml.l" -FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); +if (graphxml_edge_source_isset != 0) {FAIL("Multiple definition of attribute source in ");} graphxml_edge_source_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_source); YY_BREAK case 29: +/* rule 29 can match eol */ YY_RULE_SETUP -#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): -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 333 "xbt/graphxml.l" -FAIL("Premature EOF: `' expected."); +if (graphxml_edge_source_isset != 0) {FAIL("Multiple definition of attribute source in ");} graphxml_edge_source_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_source); YY_BREAK - -/* label CDATA "" - * name CDATA #REQUIRED - * data CDATA "" - * position_x CDATA "-1.0" - * position_y CDATA "-1.0" - * > */ case 30: /* rule 30 can match eol */ YY_RULE_SETUP -#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); - } +if (graphxml_edge_target_isset != 0) {FAIL("Multiple definition of attribute target in ");} graphxml_edge_target_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_target); YY_BREAK - case 31: /* rule 31 can match eol */ YY_RULE_SETUP -#line 353 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_node_label); +if (graphxml_edge_target_isset != 0) {FAIL("Multiple definition of attribute target in ");} graphxml_edge_target_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_target); YY_BREAK case 32: -/* rule 32 can match eol */ YY_RULE_SETUP -#line 354 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_node_label); +{ + if (!AX_graphxml_edge_source) FAIL("Required attribute `source' not set for `edge' element."); + if (!AX_graphxml_edge_target) FAIL("Required attribute `target' not set for `edge' element."); + LEAVE; STag_graphxml_edge();graphxml_pcdata_ix = 0; ENTER(E_graphxml_edge); + } YY_BREAK case 33: -/* rule 33 can match eol */ YY_RULE_SETUP -#line 356 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_node_name); +{ + if (!AX_graphxml_edge_source) FAIL("Required attribute `source' not set for `edge' element."); + if (!AX_graphxml_edge_target) FAIL("Required attribute `target' not set for `edge' element."); + LEAVE; STag_graphxml_edge(); graphxml_pcdata_ix = 0; ETag_graphxml_edge(); popbuffer(); /* attribute */ + switch (YY_START) { + case ROOT_graphxml_edge: SET(EPILOG); break; + case S_graphxml_graph: case S_graphxml_graph_1: case S_graphxml_graph_3: case S_graphxml_graph_4: case S_graphxml_graph_5: SET(S_graphxml_graph_5); break; + } + } YY_BREAK case 34: -/* rule 34 can match eol */ YY_RULE_SETUP -#line 357 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_node_name); +FAIL("Unexpected character `%c' in attribute list of edge element.", xbt_graph_parse_text[0]); YY_BREAK case 35: -/* rule 35 can match eol */ YY_RULE_SETUP -#line 359 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_node_data); +FAIL("Bad attribute `%s' in `edge' element start tag.",xbt_graph_parse_text); + YY_BREAK +case YY_STATE_EOF(AL_graphxml_edge): +FAIL("EOF in attribute list of `edge' element."); YY_BREAK + case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 360 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_node_data); +{ + LEAVE; + ETag_graphxml_edge(); + popbuffer(); /* attribute */ + switch (YY_START) { + case ROOT_graphxml_edge: SET(EPILOG); break; + case S_graphxml_graph: case S_graphxml_graph_1: case S_graphxml_graph_3: case S_graphxml_graph_4: case S_graphxml_graph_5: SET(S_graphxml_graph_5); break; + } + } 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); +FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); 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); +FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); + YY_BREAK +case YY_STATE_EOF(E_graphxml_edge): +FAIL("Premature EOF: `' expected."); YY_BREAK + +/* */ +/* isDirected (true|false) "true" + * > */ case 39: /* rule 39 can match eol */ YY_RULE_SETUP -#line 365 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_node_position_y); +FAIL("Starting tag is not allowed here."); 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 368 "xbt/graphxml.l" { - if (!A_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); - LEAVE; STag_graphxml_node();graphxml_pcdata = NULL; ENTER(E_graphxml_node); - } + AX_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; + graphxml_graph_isDirected_isset = 0; + ENTER(AL_graphxml_graph); pushbuffer(0); + } YY_BREAK + +case 41: +/* rule 41 can match eol */ case 42: +/* rule 42 can match eol */ YY_RULE_SETUP -#line 372 "xbt/graphxml.l" -{ - if (!A_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); - LEAVE; STag_graphxml_node(); graphxml_pcdata = NULL; ETag_graphxml_node(); - switch (YY_START) { - case S_graphxml_graph_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break; - case ROOT_graphxml_node: SET(EPILOG); break; - } - } +A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; YY_BREAK case 43: -YY_RULE_SETUP -#line 380 "xbt/graphxml.l" -FAIL("Unexpected character `%c' in attribute list of node element.", xbt_graph_parse_text[0]); - YY_BREAK +/* rule 43 can match eol */ case 44: +/* rule 44 can match eol */ YY_RULE_SETUP -#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 382 "xbt/graphxml.l" -FAIL("EOF in attribute list of `node' element."); +A_graphxml_graph_isDirected = A_graphxml_graph_isDirected_false; YY_BREAK - - case 45: -/* rule 45 can match eol */ YY_RULE_SETUP -#line 386 "xbt/graphxml.l" { - LEAVE; - ETag_graphxml_node(); - switch (YY_START) { - case S_graphxml_graph_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break; - case ROOT_graphxml_node: SET(EPILOG); break; - } + LEAVE; STag_graphxml_graph();graphxml_pcdata_ix = 0; ENTER(S_graphxml_graph); } YY_BREAK case 46: -/* rule 46 can match eol */ YY_RULE_SETUP -#line 394 "xbt/graphxml.l" -FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); +{ + LEAVE; STag_graphxml_graph(); graphxml_pcdata_ix = 0; ETag_graphxml_graph(); popbuffer(); /* attribute */ + switch (YY_START) { + case ROOT_graphxml_graph: SET(EPILOG); break; + } + } YY_BREAK case 47: YY_RULE_SETUP -#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 396 "xbt/graphxml.l" -FAIL("Premature EOF: `' expected."); +FAIL("Unexpected character `%c' in attribute list of graph element.", xbt_graph_parse_text[0]); YY_BREAK - -/* label CDATA "" - * name CDATA #IMPLIED - * source CDATA #REQUIRED - * target CDATA #REQUIRED - * length CDATA "-1.0" - * data CDATA "" - * > */ case 48: -/* rule 48 can match eol */ YY_RULE_SETUP -#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 = "-1.0"; - A_graphxml_edge_data = NULL; - ENTER(AL_graphxml_edge); - } +FAIL("Bad attribute `%s' in `graph' element start tag.",xbt_graph_parse_text); + YY_BREAK +case YY_STATE_EOF(AL_graphxml_graph): +FAIL("EOF in attribute list of `graph' element."); YY_BREAK case 49: /* rule 49 can match eol */ YY_RULE_SETUP -#line 418 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_label); +{ + LEAVE; + ETag_graphxml_graph(); + popbuffer(); /* attribute */ + switch (YY_START) { + case ROOT_graphxml_graph: SET(EPILOG); break; + } + } YY_BREAK case 50: /* rule 50 can match eol */ YY_RULE_SETUP -#line 419 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_label); +FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); YY_BREAK case 51: -/* rule 51 can match eol */ YY_RULE_SETUP -#line 421 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_name); +FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); YY_BREAK +case YY_STATE_EOF(E_graphxml_graph): +case YY_STATE_EOF(S_graphxml_graph): +case YY_STATE_EOF(S_graphxml_graph_1): +case YY_STATE_EOF(S_graphxml_graph_3): +case YY_STATE_EOF(S_graphxml_graph_5): +FAIL("Premature EOF: `' expected."); + YY_BREAK + +/* label CDATA "" + * name CDATA #REQUIRED + * data CDATA "" + * position_x CDATA "-1.0" + * position_y CDATA "-1.0" + * > */ case 52: /* rule 52 can match eol */ YY_RULE_SETUP -#line 422 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_name); +FAIL("Starting tag is not allowed here."); YY_BREAK case 53: /* rule 53 can match eol */ YY_RULE_SETUP -#line 424 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_source); +{ + AX_graphxml_node_data = 0; + graphxml_node_data_isset = 0; + AX_graphxml_node_label = 0; + graphxml_node_label_isset = 0; + AX_graphxml_node_name = 0; + graphxml_node_name_isset = 0; + AX_graphxml_node_position___x = 1; + graphxml_node_position___x_isset = 0; + AX_graphxml_node_position___y = 6; + graphxml_node_position___y_isset = 0; + ENTER(AL_graphxml_node); pushbuffer(0); + } YY_BREAK + case 54: /* rule 54 can match eol */ YY_RULE_SETUP -#line 425 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_source); +if (graphxml_node_data_isset != 0) {FAIL("Multiple definition of attribute data in ");} graphxml_node_data_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_node_data); YY_BREAK case 55: /* rule 55 can match eol */ YY_RULE_SETUP -#line 427 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_target); +if (graphxml_node_data_isset != 0) {FAIL("Multiple definition of attribute data in ");} graphxml_node_data_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_node_data); YY_BREAK case 56: /* rule 56 can match eol */ YY_RULE_SETUP -#line 428 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_target); +if (graphxml_node_label_isset != 0) {FAIL("Multiple definition of attribute label in ");} graphxml_node_label_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_node_label); YY_BREAK case 57: /* rule 57 can match eol */ YY_RULE_SETUP -#line 430 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_length); +if (graphxml_node_label_isset != 0) {FAIL("Multiple definition of attribute label in ");} graphxml_node_label_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_node_label); YY_BREAK case 58: /* rule 58 can match eol */ YY_RULE_SETUP -#line 431 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_length); +if (graphxml_node_name_isset != 0) {FAIL("Multiple definition of attribute name in ");} graphxml_node_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_node_name); YY_BREAK case 59: /* rule 59 can match eol */ YY_RULE_SETUP -#line 433 "xbt/graphxml.l" -ENTER(VALUE1); BUFFERSET(A_graphxml_edge_data); +if (graphxml_node_name_isset != 0) {FAIL("Multiple definition of attribute name in ");} graphxml_node_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_node_name); YY_BREAK case 60: /* rule 60 can match eol */ YY_RULE_SETUP -#line 434 "xbt/graphxml.l" -ENTER(VALUE2); BUFFERSET(A_graphxml_edge_data); +if (graphxml_node_position___x_isset != 0) {FAIL("Multiple definition of attribute position_x in ");} graphxml_node_position___x_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_node_position___x); YY_BREAK case 61: +/* rule 61 can match eol */ +YY_RULE_SETUP +if (graphxml_node_position___x_isset != 0) {FAIL("Multiple definition of attribute position_x in ");} graphxml_node_position___x_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_node_position___x); + YY_BREAK +case 62: +/* rule 62 can match eol */ +YY_RULE_SETUP +if (graphxml_node_position___y_isset != 0) {FAIL("Multiple definition of attribute position_y in ");} graphxml_node_position___y_isset = 1; ENTER(VALUE1); BUFFERSET(AX_graphxml_node_position___y); + YY_BREAK +case 63: +/* rule 63 can match eol */ +YY_RULE_SETUP +if (graphxml_node_position___y_isset != 0) {FAIL("Multiple definition of attribute position_y in ");} graphxml_node_position___y_isset = 1; ENTER(VALUE2); BUFFERSET(AX_graphxml_node_position___y); + YY_BREAK +case 64: YY_RULE_SETUP -#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();graphxml_pcdata = NULL; ENTER(E_graphxml_edge); + if (!AX_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); + LEAVE; STag_graphxml_node();graphxml_pcdata_ix = 0; ENTER(E_graphxml_node); } YY_BREAK -case 62: +case 65: YY_RULE_SETUP -#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."); - LEAVE; STag_graphxml_edge(); graphxml_pcdata = NULL; ETag_graphxml_edge(); + if (!AX_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element."); + LEAVE; STag_graphxml_node(); graphxml_pcdata_ix = 0; ETag_graphxml_node(); popbuffer(); /* attribute */ switch (YY_START) { - case S_graphxml_graph_1: case S_graphxml_graph_3: case S_graphxml_graph_5: case S_graphxml_graph_4: case S_graphxml_graph: SET(S_graphxml_graph_5); break; - case ROOT_graphxml_edge: SET(EPILOG); break; + case ROOT_graphxml_node: SET(EPILOG); break; + case S_graphxml_graph: case S_graphxml_graph_2: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break; } } YY_BREAK -case 63: +case 66: YY_RULE_SETUP -#line 450 "xbt/graphxml.l" -FAIL("Unexpected character `%c' in attribute list of edge element.", xbt_graph_parse_text[0]); +FAIL("Unexpected character `%c' in attribute list of node element.", xbt_graph_parse_text[0]); YY_BREAK -case 64: +case 67: YY_RULE_SETUP -#line 451 "xbt/graphxml.l" -FAIL("Bad attribute `%s' in `edge' element start tag.",xbt_graph_parse_text); +FAIL("Bad attribute `%s' in `node' element start tag.",xbt_graph_parse_text); YY_BREAK -case YY_STATE_EOF(AL_graphxml_edge): -#line 452 "xbt/graphxml.l" -FAIL("EOF in attribute list of `edge' element."); +case YY_STATE_EOF(AL_graphxml_node): +FAIL("EOF in attribute list of `node' element."); YY_BREAK - -case 65: -/* rule 65 can match eol */ +case 68: +/* rule 68 can match eol */ YY_RULE_SETUP -#line 456 "xbt/graphxml.l" { LEAVE; - ETag_graphxml_edge(); + ETag_graphxml_node(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_graphxml_graph_1: case S_graphxml_graph_3: case S_graphxml_graph_5: case S_graphxml_graph_4: case S_graphxml_graph: SET(S_graphxml_graph_5); break; - case ROOT_graphxml_edge: SET(EPILOG); break; + case ROOT_graphxml_node: SET(EPILOG); break; + case S_graphxml_graph: case S_graphxml_graph_2: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break; } } YY_BREAK -case 66: -/* rule 66 can match eol */ +case 69: +/* rule 69 can match eol */ YY_RULE_SETUP -#line 464 "xbt/graphxml.l" -FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); +FAIL("Unexpected end-tag `%s': `' expected.",xbt_graph_parse_text); YY_BREAK -case 67: +case 70: YY_RULE_SETUP -#line 465 "xbt/graphxml.l" -FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); +FAIL("Unexpected character `%c': `' expected.",xbt_graph_parse_text[0]); YY_BREAK -case YY_STATE_EOF(E_graphxml_edge): -#line 466 "xbt/graphxml.l" -FAIL("Premature EOF: `' expected."); +case YY_STATE_EOF(E_graphxml_node): +FAIL("Premature EOF: `' expected."); YY_BREAK /* EPILOG: after the root element. */ -case 68: +case 71: YY_RULE_SETUP -#line 472 "xbt/graphxml.l" {SET(PROLOG); yyless(0); CLEANUP; return -1;} YY_BREAK case YY_STATE_EOF(EPILOG): -#line 473 "xbt/graphxml.l" SUCCEED; YY_BREAK /* CHARACTER DATA. */ /* Non-defined standard entities... */ -case 69: +case 72: YY_RULE_SETUP -#line 480 "xbt/graphxml.l" BUFFERPUTC('&'); YY_BREAK -case 70: +case 73: YY_RULE_SETUP -#line 481 "xbt/graphxml.l" BUFFERPUTC('<'); YY_BREAK -case 71: +case 74: YY_RULE_SETUP -#line 482 "xbt/graphxml.l" BUFFERPUTC('>'); YY_BREAK -case 72: +case 75: YY_RULE_SETUP -#line 483 "xbt/graphxml.l" BUFFERPUTC('\''); YY_BREAK -case 73: +case 76: YY_RULE_SETUP -#line 484 "xbt/graphxml.l" BUFFERPUTC('"'); YY_BREAK /* Character entities. */ -case 74: +case 77: YY_RULE_SETUP -#line 487 "xbt/graphxml.l" BUFFERPUTC((unsigned char)atoi(xbt_graph_parse_text+2)); YY_BREAK -case 75: +case 78: YY_RULE_SETUP -#line 488 "xbt/graphxml.l" BUFFERPUTC((unsigned char)strtol(xbt_graph_parse_text+3,NULL,16)); YY_BREAK - -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 */ +case 80: +/* rule 80 can match eol */ +case 81: +/* rule 81 can match eol */ +case 82: +/* rule 82 can match eol */ YY_RULE_SETUP -#line 495 "xbt/graphxml.l" BUFFERPUTC('\n'); YY_BREAK - -case 80: +case 83: YY_RULE_SETUP -#line 499 "xbt/graphxml.l" ENTER(CDATA); YY_BREAK -case 81: +case 84: YY_RULE_SETUP -#line 500 "xbt/graphxml.l" FAIL("Unexpected `]""]>' in character data."); YY_BREAK - -case 82: +case 85: YY_RULE_SETUP -#line 504 "xbt/graphxml.l" BUFFERDONE; LEAVE; YY_BREAK case YY_STATE_EOF(VALUE1): -#line 505 "xbt/graphxml.l" FAIL("EOF in literal (\"'\" expected)."); YY_BREAK - -case 83: +case 86: YY_RULE_SETUP -#line 509 "xbt/graphxml.l" BUFFERDONE; LEAVE; YY_BREAK case YY_STATE_EOF(VALUE2): -#line 510 "xbt/graphxml.l" FAIL("EOF in literal (`\"' expected)."); YY_BREAK - -case 84: -/* rule 84 can match eol */ +case 87: +/* rule 87 can match eol */ YY_RULE_SETUP -#line 514 "xbt/graphxml.l" BUFFERPUTC(xbt_graph_parse_text[0]); YY_BREAK -case 85: +case 88: YY_RULE_SETUP -#line 515 "xbt/graphxml.l" FAIL("Spurious `%c' in character data.",xbt_graph_parse_text[0]); YY_BREAK - -case 86: +case 89: YY_RULE_SETUP -#line 519 "xbt/graphxml.l" LEAVE; YY_BREAK /* "]""]" BUFFERPUTC(xbt_graph_parse_text[0]); BUFFERPUTC(xbt_graph_parse_text[1]); */ -case 87: +case 90: YY_RULE_SETUP -#line 521 "xbt/graphxml.l" BUFFERPUTC(xbt_graph_parse_text[0]); YY_BREAK case YY_STATE_EOF(CDATA): -#line 522 "xbt/graphxml.l" FAIL("EOF in CDATA section."); YY_BREAK @@ -2148,25 +2260,22 @@ 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 88: -/* rule 88 can match eol */ +case 91: +/* rule 91 can match eol */ YY_RULE_SETUP -#line 529 "xbt/graphxml.l" FAIL("Syntax error on character `%c'.", xbt_graph_parse_text[0]); YY_BREAK -case 89: +case 92: YY_RULE_SETUP -#line 532 "xbt/graphxml.l" ECHO; YY_BREAK -#line 2164 "xbt/graphxml.c" case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(ROOT_graphxml_edge): case YY_STATE_EOF(ROOT_graphxml_graph): case YY_STATE_EOF(S_graphxml_graph_2): case YY_STATE_EOF(S_graphxml_graph_4): case YY_STATE_EOF(ROOT_graphxml_node): -case YY_STATE_EOF(ROOT_graphxml_edge): case YY_STATE_EOF(IMPOSSIBLE): yyterminate(); @@ -2297,6 +2406,7 @@ case YY_STATE_EOF(IMPOSSIBLE): "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of xbt_graph_parse_lex */ /* yy_get_next_buffer - try to read in a new buffer @@ -2308,9 +2418,9 @@ case YY_STATE_EOF(IMPOSSIBLE): */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -2352,21 +2462,21 @@ static int yy_get_next_buffer (void) else { - size_t num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -2421,6 +2531,14 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) xbt_graph_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; @@ -2434,14 +2552,14 @@ static int yy_get_next_buffer (void) static yy_state_type yy_get_previous_state (void) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; yy_current_state = (yy_start); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2450,7 +2568,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 >= 546 ) + if ( yy_current_state >= 564 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2466,10 +2584,10 @@ static int yy_get_next_buffer (void) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2478,13 +2596,13 @@ 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 >= 546 ) + if ( yy_current_state >= 564 ) 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 == 545); + yy_is_jam = (yy_current_state == 563); - return yy_is_jam ? 0 : yy_current_state; + return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT @@ -2511,7 +2629,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); + yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -2676,10 +2794,6 @@ static void xbt_graph_parse__load_buffer_state (void) xbt_graph_parse_free((void *) b ); } -#ifndef __cplusplus -extern int isatty (int ); -#endif /* __cplusplus */ - /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a xbt_graph_parse_restart() or at EOF. @@ -2792,7 +2906,7 @@ void xbt_graph_parse_pop_buffer_state (void) */ static void xbt_graph_parse_ensure_buffer_stack (void) { - int num_to_alloc; + yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { @@ -2804,7 +2918,9 @@ static void xbt_graph_parse_ensure_buffer_stack (void) (yy_buffer_stack) = (struct yy_buffer_state**)xbt_graph_parse_alloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); - + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in xbt_graph_parse_ensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; @@ -2822,6 +2938,8 @@ static void xbt_graph_parse_ensure_buffer_stack (void) ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in xbt_graph_parse_ensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2866,42 +2984,42 @@ YY_BUFFER_STATE xbt_graph_parse__scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to xbt_graph_parse_lex() will * scan from a @e copy of @a str. - * @param str a NUL-terminated string to scan + * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * xbt_graph_parse__scan_bytes() instead. */ -YY_BUFFER_STATE xbt_graph_parse__scan_string (yyconst char * yy_str ) +YY_BUFFER_STATE xbt_graph_parse__scan_string (yyconst char * yystr ) { - return xbt_graph_parse__scan_bytes(yy_str,strlen(yy_str) ); + return xbt_graph_parse__scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to xbt_graph_parse_lex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE xbt_graph_parse__scan_bytes (yyconst char * bytes, int len ) +YY_BUFFER_STATE xbt_graph_parse__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - int i; + yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; + n = _yybytes_len + 2; buf = (char *) xbt_graph_parse_alloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in xbt_graph_parse__scan_bytes()" ); - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = xbt_graph_parse__scan_buffer(buf,n ); if ( ! b ) @@ -2931,8 +3049,7 @@ YY_BUFFER_STATE xbt_graph_parse__scan_bytes (yyconst char * bytes, int len ) (yy_start_stack) = (int *) xbt_graph_parse_realloc((void *) (yy_start_stack),new_size ); if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); + YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); } (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; @@ -3005,7 +3122,7 @@ FILE *xbt_graph_parse_get_out (void) /** Get the length of the current token. * */ -int xbt_graph_parse_get_leng (void) +yy_size_t xbt_graph_parse_get_leng (void) { return xbt_graph_parse_leng; } @@ -3055,6 +3172,41 @@ void xbt_graph_parse_set_debug (int bdebug ) xbt_graph_parse__flex_debug = bdebug ; } +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from xbt_graph_parse_lex_destroy(), so don't allocate here. + */ + + /* We do not touch xbt_graph_parse_lineno unless the option is enabled. */ + xbt_graph_parse_lineno = 1; + + (yy_buffer_stack) = 0; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = (char *) 0; + (yy_init) = 0; + (yy_start) = 0; + + (yy_start_stack_ptr) = 0; + (yy_start_stack_depth) = 0; + (yy_start_stack) = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + xbt_graph_parse_in = stdin; + xbt_graph_parse_out = stdout; +#else + xbt_graph_parse_in = (FILE *) 0; + xbt_graph_parse_out = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * xbt_graph_parse_lex_init() + */ + return 0; +} + /* xbt_graph_parse_lex_destroy is for both reentrant and non-reentrant scanners. */ int xbt_graph_parse_lex_destroy (void) { @@ -3074,6 +3226,10 @@ int xbt_graph_parse_lex_destroy (void) xbt_graph_parse_free((yy_start_stack) ); (yy_start_stack) = NULL; + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * xbt_graph_parse_lex() is called, initialization will occur. */ + yy_init_globals( ); + return 0; } @@ -3084,8 +3240,8 @@ int xbt_graph_parse_lex_destroy (void) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - register int i; - for ( i = 0; i < n; ++i ) + int i; + for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif @@ -3093,8 +3249,8 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { - register int n; - for ( n = 0; s[n]; ++n ) + int n; + for ( n = 0; s[n]; ++n ) ; return n; @@ -3125,22 +3281,6 @@ void xbt_graph_parse_free (void * ptr ) #define YYTABLES_NAME "yytables" -#undef YY_NEW_FILE -#undef YY_FLUSH_BUFFER -#undef yy_set_bol -#undef yy_new_buffer -#undef yy_set_interactive -#undef yytext_ptr -#undef YY_DO_BEFORE_ACTION - -#ifdef YY_DECL_IS_OURS -#undef YY_DECL_IS_OURS -#undef YY_DECL -#endif -#line 532 "xbt/graphxml.l" - - - /* Element context stack lookup. */ int graphxml_element_context(int i) { @@ -3154,19 +3294,39 @@ void print_yy_stack(char* fmt, ...) { int i = 0; va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); - for (i=1; i