X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/df683c7a96702e432d272face6679f856c90d2b6..2c5c14ffd2b2af540f201434bd4d32f9c197507f:/src/xbt/graphxml.c diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index 9338fd60c1..c3353c3761 100644 --- a/src/xbt/graphxml.c +++ b/src/xbt/graphxml.c @@ -1,5 +1,5 @@ -#line 3 "xbt/graphxml.c" +#line 3 "src/xbt/graphxml.c" #define YY_INT_ALIGNED short int @@ -27,7 +27,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 34 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -72,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 @@ -103,6 +102,8 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -159,7 +160,15 @@ 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. @@ -210,13 +219,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). - * Given that the standard has decreed that size_t exists since 1989, - * I guess we can afford to depend on it. Manoj. - */ - #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; @@ -1051,13 +1053,12 @@ int xbt_graph_parse__flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *xbt_graph_parse_text; -/* Validating XML processor for xbt/graphxml.dtd. - * Generated 2007/12/19 15:09:56. +/* Validating XML processor for src/xbt/graphxml.dtd. * * 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.63 2007/10/11 14:46:08 mquinson Exp). + * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved. + * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp). * * There are two, intertwined parts to this program, part A and part B. * @@ -1066,7 +1067,7 @@ char *xbt_graph_parse_text; * * 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-2011 Martin Quinson. All rights reserved. * * You can redistribute, use, perform, display and/or modify "Part A" * provided the following two conditions hold: @@ -1102,7 +1103,7 @@ char *xbt_graph_parse_text; 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.63 2007/10/11 14:46:08 mquinson Exp $"; + "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $"; /* ANSI headers. */ #include /* for realloc() -- needed here when using flex 2.5.4 */ @@ -1112,7 +1113,7 @@ const char rcs_graphxml_flexml[] = #include #include -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) +#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) # ifndef __STRICT_ANSI__ # include # include @@ -1139,28 +1140,40 @@ 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) +short int graphxml_node_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_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_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_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_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_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_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_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; /* XML state. */ #ifdef FLEX_DEBUG @@ -1330,7 +1343,7 @@ 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. */ -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) +#if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__) # ifndef __STRICT_ANSI__ # include # include @@ -1346,6 +1359,35 @@ const char* *graphxml_statenames=NULL; 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 ); + +int 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. */ @@ -1386,7 +1428,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. */ @@ -1394,7 +1441,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 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, @@ -1405,7 +1452,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( xbt_graph_parse_in )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1729,6 +1776,7 @@ case 19: YY_RULE_SETUP { AX_graphxml_graph_isDirected = A_graphxml_graph_isDirected_true; + graphxml_graph_isDirected_isset = 0; ENTER(AL_graphxml_graph); pushbuffer(0); } YY_BREAK @@ -1819,10 +1867,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; + 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 @@ -1830,52 +1883,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 @@ -1950,11 +2003,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 @@ -1962,62 +2021,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 @@ -2925,8 +2984,8 @@ YY_BUFFER_STATE xbt_graph_parse__scan_string (yyconst char * 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. */