X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ab42ffba4267e119a471925a0e8b361a1b22786..fa45f2acc4946349e99256a79b5d45b51462f404:/src/surf/simgrid_dtd.l diff --git a/src/surf/simgrid_dtd.l b/src/surf/simgrid_dtd.l index e002824718..0a4ae88de7 100644 --- a/src/surf/simgrid_dtd.l +++ b/src/surf/simgrid_dtd.l @@ -1,5 +1,4 @@ /* Validating XML processor for src/surf/simgrid.dtd. - * Generated 2010/12/01 17:15:43. * * This program was generated with the FleXML XML processor generator. * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved. @@ -98,8 +97,12 @@ AT_surfxml_host_id AX_surfxml_host_id; #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id) AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical; #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical +AT_surfxml_peer_lat AX_surfxml_peer_lat; +#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat) AT_surfxml_link_latency_file AX_surfxml_link_latency_file; #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file) +AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file; +#define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file) AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction; #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction AT_surfxml_host_state AX_surfxml_host_state; @@ -126,6 +129,10 @@ AT_surfxml_random_min AX_surfxml_random_min; #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min) AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id; #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id) +AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out; +#define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out) +AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file; +#define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file) 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_cluster_bb_bw AX_surfxml_cluster_bb_bw; @@ -142,6 +149,8 @@ AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth; #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth) AT_surfxml_cluster_id AX_surfxml_cluster_id; #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id) +AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in; +#define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in) AT_surfxml_random_mean AX_surfxml_random_mean; #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean) AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat; @@ -150,10 +159,12 @@ AT_surfxml_link_latency AX_surfxml_link_latency; #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency) AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind; #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind +AT_surfxml_random_seed AX_surfxml_random_seed; +#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed) +AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file; +#define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file) AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file; #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file) -AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi; -#define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi) AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical; #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical AT_surfxml_random_id AX_surfxml_random_id; @@ -172,10 +183,18 @@ AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity; #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity) AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy; #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy +AT_surfxml_router_coordinates AX_surfxml_router_coordinates; +#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates) +AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates; +#define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates) +AT_surfxml_peer_state_file AX_surfxml_peer_state_file; +#define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file) AT_surfxml_prop_value AX_surfxml_prop_value; #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value) AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst; #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst) +AT_surfxml_random_radical AX_surfxml_random_radical; +#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical) AT_surfxml_link_state_file AX_surfxml_link_state_file; #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file) AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace; @@ -184,10 +203,16 @@ AT_surfxml_cluster_power AX_surfxml_cluster_power; #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power) AT_surfxml_process_function AX_surfxml_process_function; #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function) +AT_surfxml_peer_id AX_surfxml_peer_id; +#define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id) +AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id; +#define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id) AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy; #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst; #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst) +AT_surfxml_host_core AX_surfxml_host_core; +#define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core) AT_surfxml_host_availability AX_surfxml_host_availability; #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability) AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src; @@ -196,16 +221,24 @@ AT_surfxml_route_src AX_surfxml_route_src; #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src) AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst; #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst) +AT_surfxml_host_coordinates AX_surfxml_host_coordinates; +#define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates) AT_surfxml_trace_id AX_surfxml_trace_id; #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id) +AT_surfxml_peer_power AX_surfxml_peer_power; +#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power) AT_surfxml_cluster_radical AX_surfxml_cluster_radical; #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical) AT_surfxml_config_id AX_surfxml_config_id; #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id) -AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation; -#define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation) AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src; #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src) +AT_surfxml_cluster_core AX_surfxml_cluster_core; +#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core) +AT_surfxml_include_file AX_surfxml_include_file; +#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file) +AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation; +#define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation) AT_surfxml_host_state_file AX_surfxml_host_state_file; #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file) AT_surfxml_route_dst AX_surfxml_route_dst; @@ -375,13 +408,15 @@ Literal \'[^'']*\'|\"[^""]*\" * IMPOSSIBLE dummy to permit disabling rules; must be last */ %x PROLOG DOCTYPE EPILOG INCOMMENT INPI VALUE1 VALUE2 CDATA -%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 S_surfxml_platform_6 E_surfxml_platform +%x ROOT_surfxml_platform AL_surfxml_platform S_surfxml_platform S_surfxml_platform_1 S_surfxml_platform_2 S_surfxml_platform_3 S_surfxml_platform_4 S_surfxml_platform_5 S_surfxml_platform_6 S_surfxml_platform_7 S_surfxml_platform_8 E_surfxml_platform +%x AL_surfxml_include E_surfxml_include %x AL_surfxml_trace IN_trace %x AL_surfxml_random S_surfxml_random S_surfxml_random_1 S_surfxml_random_2 E_surfxml_random %x AL_surfxml_trace_connect E_surfxml_trace_connect %x AL_surfxml_AS S_surfxml_AS S_surfxml_AS_1 S_surfxml_AS_2 S_surfxml_AS_3 S_surfxml_AS_4 S_surfxml_AS_5 S_surfxml_AS_6 S_surfxml_AS_7 S_surfxml_AS_8 S_surfxml_AS_9 S_surfxml_AS_10 S_surfxml_AS_11 S_surfxml_AS_12 S_surfxml_AS_13 E_surfxml_AS %x AL_surfxml_host S_surfxml_host S_surfxml_host_1 S_surfxml_host_2 E_surfxml_host %x AL_surfxml_cluster E_surfxml_cluster +%x AL_surfxml_peer E_surfxml_peer %x AL_surfxml_router E_surfxml_router %x AL_surfxml_link S_surfxml_link S_surfxml_link_1 S_surfxml_link_2 E_surfxml_link %x AL_surfxml_route S_surfxml_route S_surfxml_route_1 S_surfxml_route_2 E_surfxml_route @@ -422,8 +457,10 @@ const char* *surfxml_statenames=NULL; /* FleXML_init */ bnext = inext = 1; surfxml_bufferliteral('\0', &bnext, "0.0"); + surfxml_bufferliteral('\0', &bnext, "2147483647"); + surfxml_bufferliteral('\0', &bnext, "1"); surfxml_bufferliteral('\0', &bnext, "1.0"); - surfxml_bufferliteral('\0', &bnext, "0 0 0"); + surfxml_bufferliteral('\0', &bnext, "1"); surfxml_bufferliteral('\0', &bnext, "0.0"); surfxml_bufferliteral('\0', &bnext, "-1.0"); surfxml_bufferliteral('\0', &bnext, "-1.0"); @@ -445,7 +482,11 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[S_surfxml_platform_4] = "platform"; surfxml_statenames[S_surfxml_platform_5] = "platform"; surfxml_statenames[S_surfxml_platform_6] = "platform"; + surfxml_statenames[S_surfxml_platform_7] = "platform"; + surfxml_statenames[S_surfxml_platform_8] = "platform"; surfxml_statenames[E_surfxml_platform] = "platform"; + surfxml_statenames[AL_surfxml_include] = NULL; + surfxml_statenames[E_surfxml_include] = "include"; surfxml_statenames[AL_surfxml_trace] = NULL; surfxml_statenames[IN_trace] = "trace"; surfxml_statenames[AL_surfxml_random] = NULL; @@ -478,6 +519,8 @@ const char* *surfxml_statenames=NULL; surfxml_statenames[E_surfxml_host] = "host"; surfxml_statenames[AL_surfxml_cluster] = NULL; surfxml_statenames[E_surfxml_cluster] = "cluster"; + surfxml_statenames[AL_surfxml_peer] = NULL; + surfxml_statenames[E_surfxml_peer] = "peer"; surfxml_statenames[AL_surfxml_router] = NULL; surfxml_statenames[E_surfxml_router] = "router"; surfxml_statenames[AL_surfxml_link] = NULL; @@ -520,7 +563,7 @@ const char* *surfxml_statenames=NULL; /* COMMENTS and PIs: handled uniformly for efficiency. */ -{ +{ " */ -" is not allowed here."); +" is not allowed here."); "> FAIL("EOF in attribute list of `platform' element."); } -{ +{ "" { LEAVE; ETag_surfxml_platform(); @@ -599,9 +642,54 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); + +"{ + "file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file); + "file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file); + + ">" { + if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element."); + LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_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_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of include element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `include' element start tag.",yytext); + <> FAIL("EOF in attribute list of `include' element."); +} -"{ + "" { + LEAVE; + ETag_surfxml_include(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_5: SET(S_surfxml_platform_6); break; + case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} + +" is not allowed here."); + +"> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" { if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element."); @@ -710,7 +810,7 @@ const char* *surfxml_statenames=NULL; if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element."); LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_config: SET(E_surfxml_config); break; + case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break; } } . FAIL("Unexpected character `%c' in attribute list of random element.", yytext[0]); @@ -724,7 +824,7 @@ const char* *surfxml_statenames=NULL; ETag_surfxml_random(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_config: SET(E_surfxml_config); break; + case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -732,9 +832,9 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -850,16 +950,17 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "" { if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element."); @@ -919,20 +1023,24 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" { if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element."); if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element."); @@ -984,8 +1104,6 @@ const char* *surfxml_statenames=NULL; if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element."); if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element."); if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element."); - if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element."); - if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element."); LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster); } "/>" { @@ -996,12 +1114,10 @@ const char* *surfxml_statenames=NULL; if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element."); if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element."); if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element."); - if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element."); - if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element."); LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break; - case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break; + case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; } } . FAIL("Unexpected character `%c' in attribute list of cluster element.", yytext[0]); @@ -1016,7 +1132,7 @@ const char* *surfxml_statenames=NULL; popbuffer(); /* attribute */ switch (YY_START) { case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break; - case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break; + case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1024,10 +1140,90 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); + +"{ + "id"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id); + "id"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id); + + "power"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power); + "power"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power); + + "bw_in"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in); + "bw_in"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in); + + "bw_out"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out); + "bw_out"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out); + + "lat"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat); + "lat"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat); + + "coordinates"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates); + "coordinates"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates); + + "availability_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file); + "availability_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file); + + "state_file"{Eq}\' ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file); + "state_file"{Eq}\" ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file); + + ">" { + if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element."); + if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element."); + if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element."); + if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element."); + if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element."); + LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer); + } + "/>" { + if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element."); + if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element."); + if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element."); + if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element."); + if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element."); + LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; + } + } + . FAIL("Unexpected character `%c' in attribute list of peer element.", yytext[0]); + {Name} FAIL("Bad attribute `%s' in `peer' element start tag.",yytext); + <> FAIL("EOF in attribute list of `peer' element."); +} + +{ + "" { + LEAVE; + ETag_surfxml_peer(); + popbuffer(); /* attribute */ + switch (YY_START) { + case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break; + case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break; + } + } + "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); + . FAIL("Unexpected character `%c': `' expected.",yytext[0]); + <> FAIL("Premature EOF: `' expected."); +} + +" is not allowed here."); "" { if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element."); LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router); @@ -1065,13 +1264,13 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1429,7 +1628,7 @@ const char* *surfxml_statenames=NULL; <> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); "> FAIL("Premature EOF: `' expected."); } -" is not allowed here."); +" is not allowed here."); -""" { LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform: SET(S_surfxml_platform_1); break; + case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break; } } . FAIL("Unexpected character `%c' in attribute list of config element.", yytext[0]); @@ -1501,7 +1700,7 @@ const char* *surfxml_statenames=NULL; ETag_surfxml_config(); popbuffer(); /* attribute */ switch (YY_START) { - case S_surfxml_platform: SET(S_surfxml_platform_1); break; + case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break; } } "" FAIL("Unexpected end-tag `%s': `' expected.",yytext); @@ -1512,7 +1711,7 @@ const char* *surfxml_statenames=NULL; /* * */ -" is not allowed here."); +" is not allowed here."); "