X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b9497592e4cb9d325133bfcd29c86a02bbf31dbf..1cd1a5695d7e05cd3dd2460eee2a3eaf0cee12c7:/src/surf/surfxml.l diff --git a/src/surf/surfxml.l b/src/surf/surfxml.l index 14d69de734..c717b83ba1 100644 --- a/src/surf/surfxml.l +++ b/src/surf/surfxml.l @@ -1,9 +1,10 @@ -/* Validating XML processor for surfxml.dtd. - * Generated 2005/06/09 14:30:33. +/* Validating XML processor for surf/surfxml.dtd. + * Generated 2007/08/09 10:57:49. * * 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.44 2005/02/23 23:08:16 mquinson Exp). + * 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.61 2006/09/13 16:34:33 wdowling Exp). * * There are two, intertwined parts to this program, part A and part B. * @@ -11,8 +12,8 @@ * ------ * * 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-2006 Martin Quinson. All rights reserved. * * You can redistribute, use, perform, display and/or modify "Part A" * provided the following two conditions hold: @@ -47,10 +48,10 @@ %{ /* Version strings. */ -const char rcs_flexml_skeleton[] = - "$" "Id: skel,v 1.26 2005/02/23 22:22:20 wdowling Exp $"; -const char rcs_flexml[] = - "$" "Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp $"; +const char rcs_surfxml_flexml_skeleton[] = + "$" "Id: skel,v 1.38 2006/09/12 18:05:45 wdowling Exp $"; +const char rcs_surfxml_flexml[] = + "$" "Id: flexml.pl,v 1.61 2006/09/13 16:34:33 wdowling Exp $"; /* ANSI headers. */ #include @@ -60,43 +61,88 @@ const char rcs_flexml[] = #include #include +#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* pcdata; -AT_network_link_bandwidth A_network_link_bandwidth; -AT_cpu_name A_cpu_name; -AT_process_kill_time A_process_kill_time; -AT_network_link_state A_network_link_state; -AT_argument_value A_argument_value; -AT_cpu_availability_file A_cpu_availability_file; -AT_process_host A_process_host; -AT_route_impact_on_src A_route_impact_on_src; -AT_route_src A_route_src; -AT_network_link_latency_file A_network_link_latency_file; -AT_cpu_max_outgoing_rate A_cpu_max_outgoing_rate; -AT_route_impact_on_dst_with_other_send A_route_impact_on_dst_with_other_send; -AT_cpu_interference_send_recv A_cpu_interference_send_recv; -AT_cpu_availability A_cpu_availability; -AT_route_impact_on_dst A_route_impact_on_dst; -AT_cpu_interference_recv A_cpu_interference_recv; -AT_route_impact_on_src_with_other_recv A_route_impact_on_src_with_other_recv; -AT_network_link_name A_network_link_name; -AT_route_element_name A_route_element_name; -AT_cpu_power A_cpu_power; -AT_process_start_time A_process_start_time; -AT_include_file A_include_file; -AT_process_function A_process_function; -AT_route_dst A_route_dst; -AT_cpu_state A_cpu_state; -AT_network_link_latency A_network_link_latency; -AT_network_link_state_file A_network_link_state_file; -AT_cpu_interference_send A_cpu_interference_send; -AT_cpu_state_file A_cpu_state_file; -AT_network_link_bandwidth_file A_network_link_bandwidth_file; +int surfxml_pcdata_ix; +extern char *surfxml_bufferstack; +#define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix) +AT_surfxml_network_link_bandwidth AX_surfxml_network_link_bandwidth; +#define A_surfxml_network_link_bandwidth (surfxml_bufferstack + AX_surfxml_network_link_bandwidth) +AT_surfxml_router_name AX_surfxml_router_name; +#define A_surfxml_router_name (surfxml_bufferstack + AX_surfxml_router_name) +AT_surfxml_process_host AX_surfxml_process_host; +#define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host) +AT_surfxml_network_link_latency_file AX_surfxml_network_link_latency_file; +#define A_surfxml_network_link_latency_file (surfxml_bufferstack + AX_surfxml_network_link_latency_file) +AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send; +#define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send) +AT_surfxml_cpu_interference_send_recv AX_surfxml_cpu_interference_send_recv; +#define A_surfxml_cpu_interference_send_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_send_recv) +AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst; +#define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst) +AT_surfxml_platform_description_version AX_surfxml_platform_description_version; +#define A_surfxml_platform_description_version (surfxml_bufferstack + AX_surfxml_platform_description_version) +AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv; +#define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv) +AT_surfxml_route_element_name AX_surfxml_route_element_name; +#define A_surfxml_route_element_name (surfxml_bufferstack + AX_surfxml_route_element_name) +AT_surfxml_process_start_time AX_surfxml_process_start_time; +#define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time) +AT_surfxml_process_function AX_surfxml_process_function; +#define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function) +AT_surfxml_cpu_state AX_surfxml_cpu_state; +#define A_surfxml_cpu_state AX_surfxml_cpu_state +AT_surfxml_cpu_interference_send AX_surfxml_cpu_interference_send; +#define A_surfxml_cpu_interference_send (surfxml_bufferstack + AX_surfxml_cpu_interference_send) +AT_surfxml_network_link_bandwidth_file AX_surfxml_network_link_bandwidth_file; +#define A_surfxml_network_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_network_link_bandwidth_file) +AT_surfxml_cpu_name AX_surfxml_cpu_name; +#define A_surfxml_cpu_name (surfxml_bufferstack + AX_surfxml_cpu_name) +AT_surfxml_process_kill_time AX_surfxml_process_kill_time; +#define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time) +AT_surfxml_network_link_state AX_surfxml_network_link_state; +#define A_surfxml_network_link_state AX_surfxml_network_link_state +AT_surfxml_cpu_availability_file AX_surfxml_cpu_availability_file; +#define A_surfxml_cpu_availability_file (surfxml_bufferstack + AX_surfxml_cpu_availability_file) +AT_surfxml_argument_value AX_surfxml_argument_value; +#define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value) +AT_surfxml_route_src AX_surfxml_route_src; +#define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src) +AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src; +#define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src) +AT_surfxml_cpu_max_outgoing_rate AX_surfxml_cpu_max_outgoing_rate; +#define A_surfxml_cpu_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_cpu_max_outgoing_rate) +AT_surfxml_cpu_availability AX_surfxml_cpu_availability; +#define A_surfxml_cpu_availability (surfxml_bufferstack + AX_surfxml_cpu_availability) +AT_surfxml_cpu_interference_recv AX_surfxml_cpu_interference_recv; +#define A_surfxml_cpu_interference_recv (surfxml_bufferstack + AX_surfxml_cpu_interference_recv) +AT_surfxml_network_link_name AX_surfxml_network_link_name; +#define A_surfxml_network_link_name (surfxml_bufferstack + AX_surfxml_network_link_name) +AT_surfxml_cpu_power AX_surfxml_cpu_power; +#define A_surfxml_cpu_power (surfxml_bufferstack + AX_surfxml_cpu_power) +AT_surfxml_include_file AX_surfxml_include_file; +#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file) +AT_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy; +#define A_surfxml_network_link_sharing_policy AX_surfxml_network_link_sharing_policy +AT_surfxml_route_dst AX_surfxml_route_dst; +#define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst) +AT_surfxml_network_link_latency AX_surfxml_network_link_latency; +#define A_surfxml_network_link_latency (surfxml_bufferstack + AX_surfxml_network_link_latency) +AT_surfxml_cpu_state_file AX_surfxml_cpu_state_file; +#define A_surfxml_cpu_state_file (surfxml_bufferstack + AX_surfxml_cpu_state_file) +AT_surfxml_network_link_state_file AX_surfxml_network_link_state_file; +#define A_surfxml_network_link_state_file (surfxml_bufferstack + AX_surfxml_network_link_state_file) /* XML state. */ #ifdef FLEX_DEBUG @@ -118,62 +164,98 @@ AT_network_link_bandwidth_file A_network_link_bandwidth_file; #define FAIL return fail static int fail(const char*, ...); -const char * parse_err_msg(void); + +enum {flexml_max_err_msg_size = 512}; +static char flexml_err_msg[flexml_max_err_msg_size]; +const char * surfxml_parse_err_msg() +{ + return flexml_err_msg; +} +static void reset_surfxml_parse_err_msg() +{ + flexml_err_msg[0] = '\0'; +} /* Cleanup */ static void cleanup(void); #define CLEANUP cleanup() /* Text buffer stack handling. */ -char bufferstack[FLEXML_BUFFERSTACKSIZE]; -char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE; -typedef struct BufferLast_s { - struct BufferLast_s *old; char* saved; char new1[1]; -} BufferLast; -BufferLast* last = (BufferLast*)0; -char* next = bufferstack; - -#define BUFFERSET(P) (P = next) -#define BUFFERPUTC(C) (assert(next= blimit) { + blimit += FLEXML_BUFFERSTACKSIZE + 2; + { + char *temp = (char *) realloc(surfxml_bufferstack, blimit); + assert(temp); + surfxml_bufferstack = temp; + } + } + return 0; +} + +/* after this is called, there are at least 2 slots left in the stack */ +static int ck_ilimit() +{ + if (inext >= ilimit) { + ilimit += FLEXML_INDEXSTACKSIZE + 2; + { + int *temp = (int *) realloc(indexstack, ilimit); + assert(temp); + indexstack = temp; + } + } + return 0; +} + +#ifdef FLEXML_NEED_BUFFERLIT +static void surfxml_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 (++sold = last; - l->saved = p; - next = l->new1; - last = l; + ck_ilimit(); + indexstack[inext++] = p; + indexstack[inext++] = bnext; } -static char* popbuffer(void) +static int popbuffer(void) { - BufferLast* l = last; - assert(last != (BufferLast*)0); - last = l->old; - next = (char*)l; - return l->saved; + assert(inext >= 2); + bnext = indexstack[--inext]; + return indexstack[--inext]; } -#endif /* 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. */ @@ -215,84 +297,117 @@ Literal \'[^'']*\'|\"[^""]*\" * INPI inside an XML PI * VALUE1 inside a '...'-delimited literal * VALUE2 inside a "..."-delimited literal - * CDATA inside a section. + * CDATA inside a section. * ROOT_ expect root element * AL_ inside the attribute list for * IN_ inside a with element contents (ready for end tag) * IMPOSSIBLE dummy to permit disabling rules; must be last */ %x PROLOG DOCTYPE EPILOG INCOMMENT INPI VALUE1 VALUE2 CDATA -%x ROOT_platform_description AL_platform_description S_platform_description S_platform_description_1 S_platform_description_2 E_platform_description -%x ROOT_include AL_include S_include S_include_1 S_include_2 E_include -%x ROOT_cpu AL_cpu E_cpu -%x ROOT_network_link AL_network_link E_network_link -%x ROOT_route AL_route S_route S_route_1 S_route_2 E_route -%x ROOT_route_element AL_route_element E_route_element -%x ROOT_process AL_process S_process S_process_1 S_process_2 E_process -%x ROOT_argument AL_argument E_argument +%x ROOT_surfxml_platform_description AL_surfxml_platform_description S_surfxml_platform_description S_surfxml_platform_description_1 S_surfxml_platform_description_2 E_surfxml_platform_description +%x ROOT_surfxml_include AL_surfxml_include S_surfxml_include S_surfxml_include_1 S_surfxml_include_2 E_surfxml_include +%x ROOT_surfxml_cpu AL_surfxml_cpu E_surfxml_cpu +%x ROOT_surfxml_router AL_surfxml_router E_surfxml_router +%x ROOT_surfxml_network_link AL_surfxml_network_link E_surfxml_network_link +%x ROOT_surfxml_route AL_surfxml_route S_surfxml_route S_surfxml_route_1 S_surfxml_route_2 E_surfxml_route +%x ROOT_surfxml_route_element AL_surfxml_route_element E_surfxml_route_element +%x ROOT_surfxml_process AL_surfxml_process S_surfxml_process S_surfxml_process_1 S_surfxml_process_2 E_surfxml_process +%x ROOT_surfxml_argument AL_surfxml_argument E_surfxml_argument %x IMPOSSIBLE %{ /* State names. */ -const char* *statenames=NULL; +const char* *surfxml_statenames=NULL; %} %% /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */ SET(PROLOG); + reset_surfxml_parse_err_msg(); + surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE); + assert(surfxml_bufferstack); + #ifdef FLEX_DEBUG + { + int i; + for (i = 0; i < blimit; i++) { + surfxml_bufferstack[i] = '\377'; + } + } + #endif + surfxml_bufferstack[0] = '\0'; + indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int)); + assert(indexstack); + indexstack[0] = 0; + /* FleXML_init */ - next = bufferstack; - if(!statenames) {statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*)); - statenames[PROLOG] = NULL; - statenames[DOCTYPE] = NULL; - statenames[EPILOG] = NULL; - statenames[INCOMMENT] = NULL; - statenames[INPI] = NULL; - statenames[VALUE1] = NULL; - statenames[VALUE2] = NULL; - statenames[CDATA] = NULL; - statenames[ROOT_platform_description] = NULL; - statenames[AL_platform_description] = NULL; - statenames[S_platform_description] = "platform_description"; - statenames[S_platform_description_1] = "platform_description"; - statenames[S_platform_description_2] = "platform_description"; - statenames[E_platform_description] = "platform_description"; - statenames[ROOT_include] = NULL; - statenames[AL_include] = NULL; - statenames[S_include] = "include"; - statenames[S_include_1] = "include"; - statenames[S_include_2] = "include"; - statenames[E_include] = "include"; - statenames[ROOT_cpu] = NULL; - statenames[AL_cpu] = NULL; - statenames[E_cpu] = "cpu"; - statenames[ROOT_network_link] = NULL; - statenames[AL_network_link] = NULL; - statenames[E_network_link] = "network_link"; - statenames[ROOT_route] = NULL; - statenames[AL_route] = NULL; - statenames[S_route] = "route"; - statenames[S_route_1] = "route"; - statenames[S_route_2] = "route"; - statenames[E_route] = "route"; - statenames[ROOT_route_element] = NULL; - statenames[AL_route_element] = NULL; - statenames[E_route_element] = "route_element"; - statenames[ROOT_process] = NULL; - statenames[AL_process] = NULL; - statenames[S_process] = "process"; - statenames[S_process_1] = "process"; - statenames[S_process_2] = "process"; - statenames[E_process] = "process"; - statenames[ROOT_argument] = NULL; - statenames[AL_argument] = NULL; - statenames[E_argument] = "argument"; + bnext = inext = 1; + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "1.0"); + surfxml_bufferliteral('\0', &bnext, "1.0"); + surfxml_bufferliteral('\0', &bnext, "1.0"); + surfxml_bufferliteral('\0', &bnext, "1.0"); + surfxml_bufferliteral('\0', &bnext, "-1.0"); + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "-1.0"); + surfxml_bufferliteral('\0', &bnext, "-1.0"); + if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*)); + surfxml_statenames[PROLOG] = NULL; + surfxml_statenames[DOCTYPE] = NULL; + surfxml_statenames[EPILOG] = NULL; + surfxml_statenames[INCOMMENT] = NULL; + surfxml_statenames[INPI] = NULL; + surfxml_statenames[VALUE1] = NULL; + surfxml_statenames[VALUE2] = NULL; + surfxml_statenames[CDATA] = NULL; + surfxml_statenames[ROOT_surfxml_platform_description] = NULL; + surfxml_statenames[AL_surfxml_platform_description] = NULL; + surfxml_statenames[S_surfxml_platform_description] = "platform_description"; + surfxml_statenames[S_surfxml_platform_description_1] = "platform_description"; + surfxml_statenames[S_surfxml_platform_description_2] = "platform_description"; + surfxml_statenames[E_surfxml_platform_description] = "platform_description"; + surfxml_statenames[ROOT_surfxml_include] = NULL; + surfxml_statenames[AL_surfxml_include] = NULL; + surfxml_statenames[S_surfxml_include] = "include"; + surfxml_statenames[S_surfxml_include_1] = "include"; + surfxml_statenames[S_surfxml_include_2] = "include"; + surfxml_statenames[E_surfxml_include] = "include"; + surfxml_statenames[ROOT_surfxml_cpu] = NULL; + surfxml_statenames[AL_surfxml_cpu] = NULL; + surfxml_statenames[E_surfxml_cpu] = "cpu"; + surfxml_statenames[ROOT_surfxml_router] = NULL; + surfxml_statenames[AL_surfxml_router] = NULL; + surfxml_statenames[E_surfxml_router] = "router"; + surfxml_statenames[ROOT_surfxml_network_link] = NULL; + surfxml_statenames[AL_surfxml_network_link] = NULL; + surfxml_statenames[E_surfxml_network_link] = "network_link"; + surfxml_statenames[ROOT_surfxml_route] = NULL; + surfxml_statenames[AL_surfxml_route] = NULL; + surfxml_statenames[S_surfxml_route] = "route"; + surfxml_statenames[S_surfxml_route_1] = "route"; + surfxml_statenames[S_surfxml_route_2] = "route"; + surfxml_statenames[E_surfxml_route] = "route"; + surfxml_statenames[ROOT_surfxml_route_element] = NULL; + surfxml_statenames[AL_surfxml_route_element] = NULL; + surfxml_statenames[E_surfxml_route_element] = "route_element"; + surfxml_statenames[ROOT_surfxml_process] = NULL; + surfxml_statenames[AL_surfxml_process] = NULL; + surfxml_statenames[S_surfxml_process] = "process"; + surfxml_statenames[S_surfxml_process_1] = "process"; + surfxml_statenames[S_surfxml_process_2] = "process"; + surfxml_statenames[E_surfxml_process] = "process"; + surfxml_statenames[ROOT_surfxml_argument] = NULL; + surfxml_statenames[AL_surfxml_argument] = NULL; + surfxml_statenames[E_surfxml_argument] = "argument"; } /* COMMENTS and PIs: handled uniformly for efficiency. */ -{ +{ " */ -""{ +{ + "version"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_description_version); + "version"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_description_version); + ">" { - LEAVE; STag_platform_description();pcdata = NULL; ENTER(S_platform_description); + LEAVE; STag_surfxml_platform_description();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform_description); } "/>" { - LEAVE; STag_platform_description(); pcdata = NULL; ETag_platform_description(); + LEAVE; STag_surfxml_platform_description(); surfxml_pcdata_ix = 0; ETag_surfxml_platform_description(); popbuffer(); /* attribute */ switch (YY_START) { - case ROOT_platform_description: SET(EPILOG); break; + case ROOT_surfxml_platform_description: SET(EPILOG); break; } } . FAIL("Unexpected character `%c' in attribute list of platform_description element.", yytext[0]); @@ -358,12 +478,13 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `platform_description' element."); } -{ +{ "" { LEAVE; - ETag_platform_description(); + ETag_surfxml_platform_description(); + popbuffer(); /* attribute */ switch (YY_START) { - case ROOT_platform_description: SET(EPILOG); break; + case ROOT_surfxml_platform_description: SET(EPILOG); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -371,26 +492,26 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_include_file); - "file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_include_file); +{ + "file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file); + "file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file); ">" { - if (!A_include_file) FAIL("Required attribute `file' not set for `include' element."); - LEAVE; STag_include();pcdata = NULL; ENTER(S_include); + if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element."); + LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include); } "/>" { - if (!A_include_file) FAIL("Required attribute `file' not set for `include' element."); - LEAVE; STag_include(); pcdata = NULL; ETag_include(); + if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element."); + LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_include: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_include: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } . FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]); @@ -398,14 +519,15 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `include' element."); } -{ +{ "" { LEAVE; - ETag_include(); + ETag_surfxml_include(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_include: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_include: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -413,66 +535,66 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "name"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_name); - "name"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_name); +{ + "name"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_name); + "name"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_name); - "power"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_power); - "power"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_power); + "power"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_power); + "power"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_power); - "availability"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_availability); - "availability"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_availability); + "availability"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_availability); + "availability"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_availability); - "availability_file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_availability_file); - "availability_file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_availability_file); + "availability_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_availability_file); + "availability_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_availability_file); "state"{Eq}"'ON'" | - "state"{Eq}"\"ON\"" A_cpu_state = A_cpu_state_ON; + "state"{Eq}"\"ON\"" A_surfxml_cpu_state = A_surfxml_cpu_state_ON; "state"{Eq}"'OFF'" | - "state"{Eq}"\"OFF\"" A_cpu_state = A_cpu_state_OFF; + "state"{Eq}"\"OFF\"" A_surfxml_cpu_state = A_surfxml_cpu_state_OFF; - "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_state_file); - "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_state_file); + "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_state_file); + "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_state_file); - "interference_send"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_interference_send); - "interference_send"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_interference_send); + "interference_send"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_send); + "interference_send"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_send); - "interference_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_interference_recv); - "interference_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_interference_recv); + "interference_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_recv); + "interference_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_recv); - "interference_send_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_interference_send_recv); - "interference_send_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_interference_send_recv); + "interference_send_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_interference_send_recv); + "interference_send_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_interference_send_recv); - "max_outgoing_rate"{Eq}\' ENTER(VALUE1); BUFFERSET(A_cpu_max_outgoing_rate); - "max_outgoing_rate"{Eq}\" ENTER(VALUE2); BUFFERSET(A_cpu_max_outgoing_rate); + "max_outgoing_rate"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_cpu_max_outgoing_rate); + "max_outgoing_rate"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_cpu_max_outgoing_rate); ">" { - if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element."); - if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element."); - LEAVE; STag_cpu();pcdata = NULL; ENTER(E_cpu); + if (!AX_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element."); + if (!AX_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element."); + LEAVE; STag_surfxml_cpu();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cpu); } "/>" { - if (!A_cpu_name) FAIL("Required attribute `name' not set for `cpu' element."); - if (!A_cpu_power) FAIL("Required attribute `power' not set for `cpu' element."); - LEAVE; STag_cpu(); pcdata = NULL; ETag_cpu(); + if (!AX_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element."); + if (!AX_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element."); + LEAVE; STag_surfxml_cpu(); surfxml_pcdata_ix = 0; ETag_surfxml_cpu(); popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_cpu: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_cpu: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } . FAIL("Unexpected character `%c' in attribute list of cpu element.", yytext[0]); @@ -480,14 +602,15 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `cpu' element."); } -{ +{ "" { LEAVE; - ETag_cpu(); + ETag_surfxml_cpu(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_cpu: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_cpu: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -495,54 +618,103 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "name"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_name); - "name"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_name); +{ + "name"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_router_name); + "name"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_router_name); - "bandwidth"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth); - "bandwidth"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth); + ">" { + if (!AX_surfxml_router_name) FAIL("Required attribute `name' not set for `router' element."); + LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router); + } + "/>" { + if (!AX_surfxml_router_name) FAIL("Required attribute `name' not set for `router' element."); + LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_router: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of router element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `router' element start tag.",yytext); + <> FAIL("EOF in attribute list of `router' element."); +} + +{ + "" { + LEAVE; + ETag_surfxml_router(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_router: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} - "bandwidth_file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_bandwidth_file); - "bandwidth_file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_bandwidth_file); +"{ + "name"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_name); + "name"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_name); + + "bandwidth"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_bandwidth); + "bandwidth"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_bandwidth); + + "bandwidth_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_bandwidth_file); + "bandwidth_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_bandwidth_file); - "latency"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_latency); - "latency"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_latency); + "latency"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_latency); + "latency"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_latency); - "latency_file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_latency_file); - "latency_file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_latency_file); + "latency_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_latency_file); + "latency_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_latency_file); "state"{Eq}"'ON'" | - "state"{Eq}"\"ON\"" A_network_link_state = A_network_link_state_ON; + "state"{Eq}"\"ON\"" A_surfxml_network_link_state = A_surfxml_network_link_state_ON; "state"{Eq}"'OFF'" | - "state"{Eq}"\"OFF\"" A_network_link_state = A_network_link_state_OFF; + "state"{Eq}"\"OFF\"" A_surfxml_network_link_state = A_surfxml_network_link_state_OFF; - "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(A_network_link_state_file); - "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(A_network_link_state_file); + "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_network_link_state_file); + "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_network_link_state_file); + + "sharing_policy"{Eq}"'SHARED'" | + "sharing_policy"{Eq}"\"SHARED\"" A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED; + "sharing_policy"{Eq}"'FATPIPE'" | + "sharing_policy"{Eq}"\"FATPIPE\"" A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_FATPIPE; ">" { - if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element."); - if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element."); - LEAVE; STag_network_link();pcdata = NULL; ENTER(E_network_link); + if (!AX_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element."); + if (!AX_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element."); + LEAVE; STag_surfxml_network_link();surfxml_pcdata_ix = 0; ENTER(E_surfxml_network_link); } "/>" { - if (!A_network_link_name) FAIL("Required attribute `name' not set for `network_link' element."); - if (!A_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element."); - LEAVE; STag_network_link(); pcdata = NULL; ETag_network_link(); + if (!AX_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element."); + if (!AX_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element."); + LEAVE; STag_surfxml_network_link(); surfxml_pcdata_ix = 0; ETag_surfxml_network_link(); popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_network_link: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_network_link: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } . FAIL("Unexpected character `%c' in attribute list of network_link element.", yytext[0]); @@ -550,14 +722,15 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `network_link' element."); } -{ +{ "" { LEAVE; - ETag_network_link(); + ETag_surfxml_network_link(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_network_link: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_network_link: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -565,48 +738,48 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "src"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_src); - "src"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_src); +{ + "src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src); + "src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src); - "dst"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_dst); - "dst"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_dst); + "dst"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst); + "dst"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst); - "impact_on_src"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_impact_on_src); - "impact_on_src"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_impact_on_src); + "impact_on_src"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src); + "impact_on_src"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src); - "impact_on_dst"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst); - "impact_on_dst"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst); + "impact_on_dst"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst); + "impact_on_dst"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst); - "impact_on_src_with_other_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_impact_on_src_with_other_recv); - "impact_on_src_with_other_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_impact_on_src_with_other_recv); + "impact_on_src_with_other_recv"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv); + "impact_on_src_with_other_recv"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv); - "impact_on_dst_with_other_send"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_impact_on_dst_with_other_send); - "impact_on_dst_with_other_send"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_impact_on_dst_with_other_send); + "impact_on_dst_with_other_send"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send); + "impact_on_dst_with_other_send"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send); ">" { - if (!A_route_src) FAIL("Required attribute `src' not set for `route' element."); - if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element."); - LEAVE; STag_route();pcdata = NULL; ENTER(S_route); + if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element."); + if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element."); + LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route); } "/>" { - if (!A_route_src) FAIL("Required attribute `src' not set for `route' element."); - if (!A_route_dst) FAIL("Required attribute `dst' not set for `route' element."); - LEAVE; STag_route(); pcdata = NULL; ETag_route(); + if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element."); + if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element."); + LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_route: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_route: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } . FAIL("Unexpected character `%c' in attribute list of route element.", yytext[0]); @@ -614,14 +787,15 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `route' element."); } -{ +{ "" { LEAVE; - ETag_route(); + ETag_surfxml_route(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_route: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_route: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -629,25 +803,25 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "name"{Eq}\' ENTER(VALUE1); BUFFERSET(A_route_element_name); - "name"{Eq}\" ENTER(VALUE2); BUFFERSET(A_route_element_name); +{ + "name"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_route_element_name); + "name"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_route_element_name); ">" { - if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element."); - LEAVE; STag_route_element();pcdata = NULL; ENTER(E_route_element); + if (!AX_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element."); + LEAVE; STag_surfxml_route_element();surfxml_pcdata_ix = 0; ENTER(E_surfxml_route_element); } "/>" { - if (!A_route_element_name) FAIL("Required attribute `name' not set for `route_element' element."); - LEAVE; STag_route_element(); pcdata = NULL; ETag_route_element(); + if (!AX_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element."); + LEAVE; STag_surfxml_route_element(); surfxml_pcdata_ix = 0; ETag_surfxml_route_element(); popbuffer(); /* attribute */ switch (YY_START) { - case S_route_1: case S_route: case S_route_2: SET(S_route_2); break; - case ROOT_route_element: SET(EPILOG); break; + case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break; + case ROOT_surfxml_route_element: SET(EPILOG); break; } } . FAIL("Unexpected character `%c' in attribute list of route_element element.", yytext[0]); @@ -655,13 +829,14 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `route_element' element."); } -{ +{ "" { LEAVE; - ETag_route_element(); + ETag_surfxml_route_element(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_route_1: case S_route: case S_route_2: SET(S_route_2); break; - case ROOT_route_element: SET(EPILOG); break; + case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break; + case ROOT_surfxml_route_element: SET(EPILOG); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -669,40 +844,40 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "host"{Eq}\' ENTER(VALUE1); BUFFERSET(A_process_host); - "host"{Eq}\" ENTER(VALUE2); BUFFERSET(A_process_host); +{ + "host"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host); + "host"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host); - "function"{Eq}\' ENTER(VALUE1); BUFFERSET(A_process_function); - "function"{Eq}\" ENTER(VALUE2); BUFFERSET(A_process_function); + "function"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function); + "function"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function); - "start_time"{Eq}\' ENTER(VALUE1); BUFFERSET(A_process_start_time); - "start_time"{Eq}\" ENTER(VALUE2); BUFFERSET(A_process_start_time); + "start_time"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time); + "start_time"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time); - "kill_time"{Eq}\' ENTER(VALUE1); BUFFERSET(A_process_kill_time); - "kill_time"{Eq}\" ENTER(VALUE2); BUFFERSET(A_process_kill_time); + "kill_time"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time); + "kill_time"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time); ">" { - if (!A_process_host) FAIL("Required attribute `host' not set for `process' element."); - if (!A_process_function) FAIL("Required attribute `function' not set for `process' element."); - LEAVE; STag_process();pcdata = NULL; ENTER(S_process); + if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element."); + if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element."); + LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process); } "/>" { - if (!A_process_host) FAIL("Required attribute `host' not set for `process' element."); - if (!A_process_function) FAIL("Required attribute `function' not set for `process' element."); - LEAVE; STag_process(); pcdata = NULL; ETag_process(); + if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element."); + if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element."); + LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_process: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_process: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } . FAIL("Unexpected character `%c' in attribute list of process element.", yytext[0]); @@ -710,14 +885,15 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `process' element."); } -{ +{ "" { LEAVE; - ETag_process(); + ETag_surfxml_process(); + popbuffer(); /* attribute */ switch (YY_START) { - case S_platform_description_2: case S_platform_description_1: case S_platform_description: SET(S_platform_description_2); break; - case S_include: case S_include_2: case S_include_1: SET(S_include_2); break; - case ROOT_process: SET(EPILOG); break; + case S_surfxml_platform_description_2: case S_surfxml_platform_description_1: case S_surfxml_platform_description: SET(S_surfxml_platform_description_2); break; + case ROOT_surfxml_process: SET(EPILOG); break; + case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -725,25 +901,25 @@ const char* *statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -""{ - "value"{Eq}\' ENTER(VALUE1); BUFFERSET(A_argument_value); - "value"{Eq}\" ENTER(VALUE2); BUFFERSET(A_argument_value); +{ + "value"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value); + "value"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value); ">" { - if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element."); - LEAVE; STag_argument();pcdata = NULL; ENTER(E_argument); + if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element."); + LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument); } "/>" { - if (!A_argument_value) FAIL("Required attribute `value' not set for `argument' element."); - LEAVE; STag_argument(); pcdata = NULL; ETag_argument(); + if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element."); + LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */ switch (YY_START) { - case ROOT_argument: SET(EPILOG); break; - case S_process_1: case S_process: case S_process_2: SET(S_process_2); break; + case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; + case ROOT_surfxml_argument: SET(EPILOG); break; } } . FAIL("Unexpected character `%c' in attribute list of argument element.", yytext[0]); @@ -751,13 +927,14 @@ const char* *statenames=NULL; <> FAIL("EOF in attribute list of `argument' element."); } -{ +{ "" { LEAVE; - ETag_argument(); + ETag_surfxml_argument(); + popbuffer(); /* attribute */ switch (YY_START) { - case ROOT_argument: SET(EPILOG); break; - case S_process_1: case S_process: case S_process_2: SET(S_process_2); break; + case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break; + case ROOT_surfxml_argument: SET(EPILOG); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -831,7 +1008,7 @@ const char* *statenames=NULL; %% /* Element context stack lookup. */ -int element_context(int i) +int surfxml_element_context(int i) { return (0