X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f783ed4680c6862a1b7543237e89d1221334bae0..e9f0018b823e34405847177b25a85d3facc30ae1:/src/xbt/graphxml.c diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index 59d9895d55..0df74b0354 100644 --- a/src/xbt/graphxml.c +++ b/src/xbt/graphxml.c @@ -27,7 +27,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 +#define YY_FLEX_SUBMINOR_VERSION 39 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -52,7 +52,7 @@ #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. + * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 @@ -69,7 +69,7 @@ typedef uint32_t flex_uint32_t; typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; +typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; @@ -180,7 +180,12 @@ typedef unsigned int flex_uint32_t; 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; @@ -190,7 +195,7 @@ extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires * access to the local variable yy_act. Since yyless() is a macro, it would break - * existing scanners that call yyless() from OUTSIDE xbt_graph_parse_lex. + * 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. @@ -202,7 +207,14 @@ extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; 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) \ do \ @@ -219,11 +231,6 @@ extern FILE *xbt_graph_parse_in, *xbt_graph_parse_out; #define unput(c) yyunput( c, (yytext_ptr) ) -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -241,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 @@ -264,7 +271,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -311,8 +318,8 @@ 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; @@ -340,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 ); @@ -372,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; @@ -474,8 +481,8 @@ 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, 13, 0, 0, 14, - 0, 15, 0 + 0, 0, 0, 0, 0, 0, 14, 0, 0, 15, + 0, 13, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -1033,10 +1040,10 @@ static yyconst flex_int16_t yy_chk[1642] = /* Table of booleans, true if rule could match eol. */ 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, +0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, }; static yy_state_type yy_last_accepting_state; @@ -1057,17 +1064,17 @@ char *xbt_graph_parse_text; * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. - * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved. - * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp). - * + * 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. * * Part A * ------ - * - * Some parts, here collectively called "Part A", are found in the + * + * Some parts, here collectively called "Part A", are found in the * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose - * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved. + * 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: @@ -1083,27 +1090,24 @@ char *xbt_graph_parse_text; * Notice that these are explicit rights granted to you for files * generated by the FleXML system. For your rights in connection with * the FleXML system itself please consult the GNU General Public License. - * + * * Part B * ------ - * - * The other parts, here collectively called "Part B", and which came - * from the DTD used by FleXML to generate this program, can be + * + * The other parts, here collectively called "Part B", and which came + * from the DTD used by FleXML to generate this program, can be * distributed (or not, as the case may be) under the terms of whoever - * wrote them, provided these terms respect and obey the two conditions + * wrote them, provided these terms respect and obey the two conditions * above under the heading "Part A". * * The author of and contributors to FleXML specifically disclaim - * any copyright interest in "Part B", unless "Part B" was written + * any copyright interest in "Part B", unless "Part B" was written * by the author of or contributors to FleXML. - * + * */ /* Version strings. */ -const char rcs_graphxml_flexml_skeleton[] = - "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $"; -const char rcs_graphxml_flexml[] = - "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $"; +const char graphxml_flexml_version[] = "1.9.6"; /* ANSI headers. */ #include /* for realloc() -- needed here when using flex 2.5.4 */ @@ -1112,7 +1116,7 @@ const char rcs_graphxml_flexml[] = #include #include #include - + #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) # ifndef __STRICT_ANSI__ # include @@ -1121,7 +1125,7 @@ const char rcs_graphxml_flexml[] = #else # include #endif - + #ifndef FLEXML_INDEXSTACKSIZE #define FLEXML_INDEXSTACKSIZE 1000 #endif @@ -1138,30 +1142,42 @@ const char rcs_graphxml_flexml[] = int graphxml_pcdata_ix; extern char *graphxml_bufferstack; #define graphxml_pcdata (graphxml_bufferstack + graphxml_pcdata_ix) -AT_graphxml_node_name AX_graphxml_node_name; -#define A_graphxml_node_name (graphxml_bufferstack + AX_graphxml_node_name) -AT_graphxml_edge_source AX_graphxml_edge_source; -#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source) -AT_graphxml_node_position_y AX_graphxml_node_position_y; -#define A_graphxml_node_position_y (graphxml_bufferstack + AX_graphxml_node_position_y) -AT_graphxml_node_position_x AX_graphxml_node_position_x; -#define A_graphxml_node_position_x (graphxml_bufferstack + AX_graphxml_node_position_x) -AT_graphxml_edge_data AX_graphxml_edge_data; -#define A_graphxml_edge_data (graphxml_bufferstack + AX_graphxml_edge_data) -AT_graphxml_edge_target AX_graphxml_edge_target; -#define A_graphxml_edge_target (graphxml_bufferstack + AX_graphxml_edge_target) +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; +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_graph_isDirected AX_graphxml_graph_isDirected; #define A_graphxml_graph_isDirected AX_graphxml_graph_isDirected +short int graphxml_graph_isDirected_isset; AT_graphxml_node_label AX_graphxml_node_label; #define A_graphxml_node_label (graphxml_bufferstack + AX_graphxml_node_label) -AT_graphxml_node_data AX_graphxml_node_data; -#define A_graphxml_node_data (graphxml_bufferstack + AX_graphxml_node_data) -AT_graphxml_edge_label AX_graphxml_edge_label; -#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label) +short int graphxml_node_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_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_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_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_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_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_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; /* XML state. */ #ifdef FLEX_DEBUG @@ -1245,13 +1261,24 @@ static int ck_ilimit() #ifdef FLEXML_NEED_BUFFERLIT static void graphxml_bufferliteral(char c, int* pp, const char* text) { - const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c); - assert(s <= e); BUFFERSET(*pp); - while (++s' expected.",xbt_graph_parse_text[0]); YY_BREAK -case YY_STATE_EOF(S_graphxml_graph_1): +case YY_STATE_EOF(S_graphxml_graph): 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): +case YY_STATE_EOF(S_graphxml_graph_1): FAIL("Premature EOF: `' expected."); YY_BREAK @@ -1854,10 +1884,15 @@ case 32: YY_RULE_SETUP { AX_graphxml_node_label = 0; + graphxml_node_label_isset = 0; AX_graphxml_node_name = 0; + graphxml_node_name_isset = 0; AX_graphxml_node_data = 0; - AX_graphxml_node_position_x = 1; - AX_graphxml_node_position_y = 6; + graphxml_node_data_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 @@ -1865,52 +1900,52 @@ YY_RULE_SETUP case 33: /* rule 33 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_node_label); +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 34: /* rule 34 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_node_label); +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 35: /* rule 35 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_node_name); +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 36: /* rule 36 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_node_name); +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 37: /* rule 37 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_node_data); +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 38: /* rule 38 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_node_data); +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 39: /* rule 39 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_node_position_x); +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 40: /* rule 40 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_node_position_x); +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 41: /* rule 41 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_node_position_y); +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 42: /* rule 42 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_node_position_y); +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 43: YY_RULE_SETUP @@ -1925,7 +1960,7 @@ YY_RULE_SETUP 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_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break; + case S_graphxml_graph: case S_graphxml_graph_2: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break; case ROOT_graphxml_node: SET(EPILOG); break; } } @@ -1950,7 +1985,7 @@ YY_RULE_SETUP ETag_graphxml_node(); popbuffer(); /* attribute */ switch (YY_START) { - case S_graphxml_graph_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break; + case S_graphxml_graph: case S_graphxml_graph_2: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break; case ROOT_graphxml_node: SET(EPILOG); break; } } @@ -1985,11 +2020,17 @@ case 51: YY_RULE_SETUP { AX_graphxml_edge_label = 0; + graphxml_edge_label_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; AX_graphxml_edge_length = 11; + graphxml_edge_length_isset = 0; AX_graphxml_edge_data = 0; + graphxml_edge_data_isset = 0; ENTER(AL_graphxml_edge); pushbuffer(0); } YY_BREAK @@ -1997,62 +2038,62 @@ YY_RULE_SETUP case 52: /* rule 52 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_label); +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 53: /* rule 53 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_label); +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 54: /* rule 54 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_name); +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 55: /* rule 55 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_name); +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 56: /* rule 56 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_source); +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 57: /* rule 57 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_source); +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 case 58: /* rule 58 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_target); +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 59: /* rule 59 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_target); +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 60: /* rule 60 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_length); +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 61: /* rule 61 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_length); +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 62: /* rule 62 can match eol */ YY_RULE_SETUP -ENTER(VALUE1); BUFFERSET(AX_graphxml_edge_data); +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 63: /* rule 63 can match eol */ YY_RULE_SETUP -ENTER(VALUE2); BUFFERSET(AX_graphxml_edge_data); +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 64: YY_RULE_SETUP @@ -2069,8 +2110,8 @@ YY_RULE_SETUP 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 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 S_graphxml_graph_5: case S_graphxml_graph_4: case S_graphxml_graph_1: case S_graphxml_graph: case S_graphxml_graph_3: SET(S_graphxml_graph_5); break; } } YY_BREAK @@ -2094,8 +2135,8 @@ YY_RULE_SETUP ETag_graphxml_edge(); 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 S_graphxml_graph_5: case S_graphxml_graph_4: case S_graphxml_graph_1: case S_graphxml_graph: case S_graphxml_graph_3: SET(S_graphxml_graph_5); break; } } YY_BREAK @@ -2365,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 @@ -2376,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] ) @@ -2420,21 +2462,21 @@ static int yy_get_next_buffer (void) else { - int 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; @@ -2465,7 +2507,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); + (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2510,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; @@ -2542,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; @@ -2560,7 +2602,7 @@ static int yy_get_next_buffer (void) yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 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 @@ -2572,7 +2614,7 @@ static int yy_get_next_buffer (void) { int c; - + *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) @@ -2587,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( ) ) @@ -2634,7 +2676,7 @@ static int yy_get_next_buffer (void) (yy_hold_char) = *++(yy_c_buf_p); if ( c == '\n' ) - + xbt_graph_parse_lineno++; ; @@ -2644,12 +2686,12 @@ static int yy_get_next_buffer (void) /** Immediately switch to a different input stream. * @param input_file A readable stream. - * + * * @note This function does not reset the start condition to @c INITIAL . */ void xbt_graph_parse_restart (FILE * input_file ) { - + if ( ! YY_CURRENT_BUFFER ){ xbt_graph_parse_ensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = @@ -2662,11 +2704,11 @@ static int yy_get_next_buffer (void) /** Switch to a different input buffer. * @param new_buffer The new input buffer. - * + * */ void xbt_graph_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer ) { - + /* TODO. We should be able to replace this entire function body * with * xbt_graph_parse_pop_buffer_state(); @@ -2706,13 +2748,13 @@ static void xbt_graph_parse__load_buffer_state (void) /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * + * * @return the allocated buffer state. */ YY_BUFFER_STATE xbt_graph_parse__create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; - + b = (YY_BUFFER_STATE) xbt_graph_parse_alloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in xbt_graph_parse__create_buffer()" ); @@ -2735,11 +2777,11 @@ static void xbt_graph_parse__load_buffer_state (void) /** Destroy the buffer. * @param b a buffer created with xbt_graph_parse__create_buffer() - * + * */ void xbt_graph_parse__delete_buffer (YY_BUFFER_STATE b ) { - + if ( ! b ) return; @@ -2752,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. @@ -2764,7 +2802,7 @@ extern int isatty (int ); { int oerrno = errno; - + xbt_graph_parse__flush_buffer(b ); b->yy_input_file = file; @@ -2780,13 +2818,13 @@ extern int isatty (int ); } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; - + errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * + * */ void xbt_graph_parse__flush_buffer (YY_BUFFER_STATE b ) { @@ -2815,7 +2853,7 @@ extern int isatty (int ); * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. - * + * */ void xbt_graph_parse_push_buffer_state (YY_BUFFER_STATE new_buffer ) { @@ -2845,7 +2883,7 @@ void xbt_graph_parse_push_buffer_state (YY_BUFFER_STATE new_buffer ) /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. - * + * */ void xbt_graph_parse_pop_buffer_state (void) { @@ -2868,8 +2906,8 @@ 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)) { /* First allocation is just for 2 elements, since we don't know if this @@ -2882,9 +2920,9 @@ static void xbt_graph_parse_ensure_buffer_stack (void) ); 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; (yy_buffer_stack_top) = 0; return; @@ -2912,13 +2950,13 @@ static void xbt_graph_parse_ensure_buffer_stack (void) /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. + * + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE xbt_graph_parse__scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; - + if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) @@ -2947,14 +2985,14 @@ 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 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 * yystr ) { - + return xbt_graph_parse__scan_bytes(yystr,strlen(yystr) ); } @@ -2962,16 +3000,16 @@ YY_BUFFER_STATE xbt_graph_parse__scan_string (yyconst char * yystr ) * scan from a @e copy of @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 * yybytes, int _yybytes_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 = _yybytes_len + 2; buf = (char *) xbt_graph_parse_alloc(n ); @@ -3057,16 +3095,16 @@ static void yy_fatal_error (yyconst char* msg ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. - * + * */ int xbt_graph_parse_get_lineno (void) { - + return xbt_graph_parse_lineno; } /** Get the input stream. - * + * */ FILE *xbt_graph_parse_get_in (void) { @@ -3074,7 +3112,7 @@ FILE *xbt_graph_parse_get_in (void) } /** Get the output stream. - * + * */ FILE *xbt_graph_parse_get_out (void) { @@ -3082,15 +3120,15 @@ 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; } /** Get the current token. - * + * */ char *xbt_graph_parse_get_text (void) @@ -3100,18 +3138,18 @@ char *xbt_graph_parse_get_text (void) /** Set the current line number. * @param line_number - * + * */ void xbt_graph_parse_set_lineno (int line_number ) { - + xbt_graph_parse_lineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. - * + * * @see xbt_graph_parse__switch_to_buffer */ void xbt_graph_parse_set_in (FILE * in_str ) @@ -3142,7 +3180,7 @@ static int yy_init_globals (void) /* 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; @@ -3172,7 +3210,7 @@ static int yy_init_globals (void) /* xbt_graph_parse_lex_destroy is for both reentrant and non-reentrant scanners. */ int xbt_graph_parse_lex_destroy (void) { - + /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ xbt_graph_parse__delete_buffer(YY_CURRENT_BUFFER ); @@ -3202,7 +3240,7 @@ 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; + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -3211,7 +3249,7 @@ 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; + int n; for ( n = 0; s[n]; ++n ) ;