X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43186d1a213aef27ac1cc3b9feb42c01333d4bcf..b3b356352e87ae00a20f737c48e19b0c8413455a:/src/xbt/graphxml.c diff --git a/src/xbt/graphxml.c b/src/xbt/graphxml.c index 4ad7a755da..0df74b0354 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 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,10 +69,9 @@ 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; -#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. @@ -171,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; @@ -181,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. @@ -193,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 \ @@ -210,18 +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). - * 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; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -239,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 @@ -262,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. */ @@ -309,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; @@ -338,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 ); @@ -370,11 +379,7 @@ void xbt_graph_parse_free (void * ); /* Begin user sect3 */ -#ifdef WIN32 #define xbt_graph_parse_wrap() 1 -#else -#define xbt_graph_parse_wrap(n) 1 -#endif #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -476,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] = @@ -1035,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; @@ -1055,22 +1060,21 @@ 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-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: @@ -1086,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.63 2007/10/11 14:46:08 mquinson Exp $"; +const char graphxml_flexml_version[] = "1.9.6"; /* ANSI headers. */ #include /* for realloc() -- needed here when using flex 2.5.4 */ @@ -1115,8 +1116,8 @@ const char rcs_graphxml_flexml[] = #include #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 @@ -1124,7 +1125,7 @@ const char rcs_graphxml_flexml[] = #else # include #endif - + #ifndef FLEXML_INDEXSTACKSIZE #define FLEXML_INDEXSTACKSIZE 1000 #endif @@ -1141,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 @@ -1248,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 # include @@ -1350,6 +1374,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 ); + +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. */ @@ -1383,14 +1436,19 @@ static int input (void ); static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = NULL; - + static void yy_push_state (int new_state ); - + static void yy_pop_state (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. */ @@ -1398,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 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, @@ -1409,7 +1467,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; \ @@ -1487,10 +1545,38 @@ 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; + + 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(); @@ -1542,32 +1628,6 @@ YY_DECL /* COMMENTS and PIs: handled uniformly for efficiency. */ - 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( ); - } - while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); @@ -1584,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; @@ -1614,10 +1674,10 @@ 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' ) - + xbt_graph_parse_lineno++; ; } @@ -1682,7 +1742,7 @@ SKIP; case 11: /* rule 11 can match eol */ YY_RULE_SETUP -SET(DOCTYPE); +SET(DOCTYPE); YY_BREAK case 12: /* rule 12 can match eol */ @@ -1693,17 +1753,17 @@ FAIL("Bad declaration %s.",xbt_graph_parse_text); case 13: /* rule 13 can match eol */ YY_RULE_SETUP -SET(ROOT_graphxml_edge); +SET(ROOT_graphxml_graph); YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP -SET(ROOT_graphxml_node); +SET(ROOT_graphxml_edge); YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -SET(ROOT_graphxml_graph); +SET(ROOT_graphxml_node); YY_BREAK case 16: /* rule 16 can match eol */ @@ -1733,6 +1793,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 @@ -1799,11 +1860,11 @@ case 30: YY_RULE_SETUP FAIL("Unexpected character `%c': `' 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 @@ -1823,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 @@ -1834,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 @@ -1894,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; } } @@ -1919,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; } } @@ -1954,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 @@ -1966,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 @@ -2038,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 @@ -2063,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 @@ -2334,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 @@ -2345,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] ) @@ -2389,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; @@ -2434,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); } @@ -2479,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; @@ -2511,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; @@ -2529,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 @@ -2541,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 ) @@ -2556,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( ) ) @@ -2603,7 +2676,7 @@ static int yy_get_next_buffer (void) (yy_hold_char) = *++(yy_c_buf_p); if ( c == '\n' ) - + xbt_graph_parse_lineno++; ; @@ -2613,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 = @@ -2631,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(); @@ -2675,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()" ); @@ -2704,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; @@ -2721,12 +2794,6 @@ static void xbt_graph_parse__load_buffer_state (void) xbt_graph_parse_free((void *) b ); } -#ifndef __cplusplus -#ifndef WIN32 -extern int isatty (int ); -#endif -#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. @@ -2735,7 +2802,7 @@ extern int isatty (int ); { int oerrno = errno; - + xbt_graph_parse__flush_buffer(b ); b->yy_input_file = file; @@ -2751,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 ) { @@ -2786,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 ) { @@ -2816,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) { @@ -2839,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 @@ -2853,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; @@ -2883,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 ) @@ -2918,31 +2985,31 @@ 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) ); } /** 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 * 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 ); @@ -3028,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) { @@ -3045,7 +3112,7 @@ FILE *xbt_graph_parse_get_in (void) } /** Get the output stream. - * + * */ FILE *xbt_graph_parse_get_out (void) { @@ -3053,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) @@ -3071,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 ) @@ -3113,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; @@ -3143,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 ); @@ -3173,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]; } @@ -3182,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 ) ;