Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Generation with flex-1.5.3
[simgrid.git] / src / surf / surfxml.c
index b6b555b..e156eaa 100644 (file)
@@ -1746,12 +1746,13 @@ int surf_parse__flex_debug = 0;
 #define YY_RESTORE_YY_MORE_OFFSET
 char *surf_parse_text;
 #line 1 "surf/surfxml.l"
-/* Validating XML processor for surfxml.dtd.
- * Generated 2006/05/29 23:03:05.
+/* Validating XML processor for surf/surfxml.dtd.
+ * Generated 2006/07/18 21:02:15.
  *
  * 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.48 2006/03/21 13:09:12 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.53 2006/07/18 12:12:06 mquinson Exp).
  * 
  * There are two, intertwined parts to this program, part A and part B.
  *
@@ -1759,8 +1760,8 @@ char *surf_parse_text;
  * ------
  * 
  * 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:
@@ -1791,13 +1792,13 @@ char *surf_parse_text;
  * by the author of or contributors to FleXML.
  * 
  */
-#line 48 "surf/surfxml.l"
+#line 49 "surf/surfxml.l"
 
 /* Version strings. */
 const char rcs_surfxml_flexml_skeleton[] =
- "$" "Id: skel,v 1.28 2006/03/21 12:04:13 legranda Exp $";
+ "$" "Id: skel,v 1.31 2006/07/18 18:21:13 mquinson Exp $";
 const char rcs_surfxml_flexml[] =
- "$" "Id: flexml.pl,v 1.48 2006/03/21 13:09:12 mquinson Exp $";
+ "$" "Id: flexml.pl,v 1.53 2006/07/18 12:12:06 mquinson Exp $";
 
 /* ANSI headers. */
 #include <unistd.h>
@@ -1877,7 +1878,7 @@ static void cleanup(void);
 static char bufferstack[FLEXML_BUFFERSTACKSIZE];
 static char* limit = bufferstack + FLEXML_BUFFERSTACKSIZE;
 typedef struct BufferLast_s {
-  struct BufferLast_s *old; char* saved; char new1[1];
+  struct BufferLast_s *old; const char* saved; char new1[1];
 } BufferLast;
 #ifdef FLEXML_HasMixed
 static BufferLast* last = (BufferLast*)0;
@@ -1901,7 +1902,7 @@ static void bufferliteral(char c, const char** pp, char* text)
 }
 
 #ifdef FLEXML_HasMixed
-static void pushbuffer(char* p)
+static void pushbuffer(const char* p)
 {
   BufferLast* l = (BufferLast*)next;
   assert(next < limit);
@@ -1911,7 +1912,7 @@ static void pushbuffer(char* p)
   last = l;
 }
 
-static char* popbuffer(void)
+static const char* popbuffer(void)
 {
   BufferLast* l = last;
   assert(last != (BufferLast*)0);
@@ -1957,10 +1958,10 @@ static char* popbuffer(void)
 
 
 
-#line 240 "surf/surfxml.l"
+#line 241 "surf/surfxml.l"
 /* State names. */
 const char* *surfxml_statenames=NULL;
-#line 1964 "surf/surfxml.c"
+#line 1965 "surf/surfxml.c"
 
 #define INITIAL 0
 #define PROLOG 1
@@ -2162,7 +2163,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
     
-#line 244 "surf/surfxml.l"
+#line 245 "surf/surfxml.l"
 
 
  /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
@@ -2218,7 +2219,7 @@ YY_DECL
 
  /* COMMENTS and PIs: handled uniformly for efficiency. */
 
-#line 2222 "surf/surfxml.c"
+#line 2223 "surf/surfxml.c"
 
        if ( (yy_init) )
                {
@@ -2313,52 +2314,52 @@ do_action:      /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 300 "surf/surfxml.l"
+#line 301 "surf/surfxml.l"
 ENTER(INCOMMENT);
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 301 "surf/surfxml.l"
+#line 302 "surf/surfxml.l"
 ENTER(INPI);
        YY_BREAK
 
 
 case 3:
 YY_RULE_SETUP
-#line 304 "surf/surfxml.l"
+#line 305 "surf/surfxml.l"
 LEAVE;
        YY_BREAK
 case 4:
-#line 306 "surf/surfxml.l"
-case 5:
 #line 307 "surf/surfxml.l"
+case 5:
+#line 308 "surf/surfxml.l"
 case 6:
 /* rule 6 can match eol */
 YY_RULE_SETUP
-#line 307 "surf/surfxml.l"
+#line 308 "surf/surfxml.l"
 SKIP;
        YY_BREAK
 case YY_STATE_EOF(INCOMMENT):
-#line 308 "surf/surfxml.l"
+#line 309 "surf/surfxml.l"
 FAIL("EOF in comment.");
        YY_BREAK
 
 
 case 7:
 YY_RULE_SETUP
-#line 311 "surf/surfxml.l"
+#line 312 "surf/surfxml.l"
 LEAVE;
        YY_BREAK
 case 8:
-#line 313 "surf/surfxml.l"
+#line 314 "surf/surfxml.l"
 case 9:
 /* rule 9 can match eol */
 YY_RULE_SETUP
-#line 313 "surf/surfxml.l"
+#line 314 "surf/surfxml.l"
 SKIP;
        YY_BREAK
 case YY_STATE_EOF(INPI):
-#line 314 "surf/surfxml.l"
+#line 315 "surf/surfxml.l"
 FAIL("EOF in PI (processing instruction).");
        YY_BREAK
 
@@ -2366,7 +2367,7 @@ FAIL("EOF in PI (processing instruction).");
 case 10:
 /* rule 10 can match eol */
 YY_RULE_SETUP
-#line 319 "surf/surfxml.l"
+#line 320 "surf/surfxml.l"
 SKIP;
        YY_BREAK
 /* PROLOG: determine root element and process it. */
@@ -2374,13 +2375,13 @@ SKIP;
 case 11:
 /* rule 11 can match eol */
 YY_RULE_SETUP
-#line 324 "surf/surfxml.l"
+#line 325 "surf/surfxml.l"
 SET(DOCTYPE); 
        YY_BREAK
 case 12:
 /* rule 12 can match eol */
 YY_RULE_SETUP
-#line 325 "surf/surfxml.l"
+#line 326 "surf/surfxml.l"
 FAIL("Bad declaration %s.",surf_parse_text);
        YY_BREAK
 
@@ -2388,65 +2389,65 @@ FAIL("Bad declaration %s.",surf_parse_text);
 case 13:
 /* rule 13 can match eol */
 YY_RULE_SETUP
-#line 329 "surf/surfxml.l"
+#line 330 "surf/surfxml.l"
 SET(ROOT_surfxml_argument);
        YY_BREAK
 case 14:
 /* rule 14 can match eol */
 YY_RULE_SETUP
-#line 330 "surf/surfxml.l"
+#line 331 "surf/surfxml.l"
 SET(ROOT_surfxml_route_element);
        YY_BREAK
 case 15:
 /* rule 15 can match eol */
 YY_RULE_SETUP
-#line 331 "surf/surfxml.l"
+#line 332 "surf/surfxml.l"
 SET(ROOT_surfxml_cpu);
        YY_BREAK
 case 16:
 /* rule 16 can match eol */
 YY_RULE_SETUP
-#line 332 "surf/surfxml.l"
+#line 333 "surf/surfxml.l"
 SET(ROOT_surfxml_include);
        YY_BREAK
 case 17:
 /* rule 17 can match eol */
 YY_RULE_SETUP
-#line 333 "surf/surfxml.l"
+#line 334 "surf/surfxml.l"
 SET(ROOT_surfxml_route);
        YY_BREAK
 case 18:
 /* rule 18 can match eol */
 YY_RULE_SETUP
-#line 334 "surf/surfxml.l"
+#line 335 "surf/surfxml.l"
 SET(ROOT_surfxml_platform_description);
        YY_BREAK
 case 19:
 /* rule 19 can match eol */
 YY_RULE_SETUP
-#line 335 "surf/surfxml.l"
+#line 336 "surf/surfxml.l"
 SET(ROOT_surfxml_network_link);
        YY_BREAK
 case 20:
 /* rule 20 can match eol */
 YY_RULE_SETUP
-#line 336 "surf/surfxml.l"
+#line 337 "surf/surfxml.l"
 SET(ROOT_surfxml_process);
        YY_BREAK
 case 21:
 /* rule 21 can match eol */
 YY_RULE_SETUP
-#line 337 "surf/surfxml.l"
+#line 338 "surf/surfxml.l"
 FAIL("Bad declaration %s.",surf_parse_text);
        YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 338 "surf/surfxml.l"
+#line 339 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(PROLOG):
 case YY_STATE_EOF(DOCTYPE):
-#line 339 "surf/surfxml.l"
+#line 340 "surf/surfxml.l"
 FAIL("EOF in prolog.");
        YY_BREAK
 
@@ -2455,7 +2456,7 @@ FAIL("EOF in prolog.");
 case 23:
 /* rule 23 can match eol */
 YY_RULE_SETUP
-#line 346 "surf/surfxml.l"
+#line 347 "surf/surfxml.l"
 {
   A_surfxml_platform_description_version = "0.0";
   ENTER(AL_surfxml_platform_description);
@@ -2465,25 +2466,25 @@ YY_RULE_SETUP
 case 24:
 /* rule 24 can match eol */
 YY_RULE_SETUP
-#line 352 "surf/surfxml.l"
+#line 353 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_platform_description_version);
        YY_BREAK
 case 25:
 /* rule 25 can match eol */
 YY_RULE_SETUP
-#line 353 "surf/surfxml.l"
+#line 354 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_platform_description_version);
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 355 "surf/surfxml.l"
+#line 356 "surf/surfxml.l"
 {
   LEAVE; STag_surfxml_platform_description();surfxml_pcdata = NULL; ENTER(S_surfxml_platform_description);
  }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 358 "surf/surfxml.l"
+#line 359 "surf/surfxml.l"
 {
   LEAVE; STag_surfxml_platform_description(); surfxml_pcdata = NULL; ETag_surfxml_platform_description();
   switch (YY_START) {
@@ -2493,16 +2494,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 364 "surf/surfxml.l"
+#line 365 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of platform_description element.", surf_parse_text[0]);
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 365 "surf/surfxml.l"
+#line 366 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `platform_description' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_platform_description):
-#line 366 "surf/surfxml.l"
+#line 367 "surf/surfxml.l"
 FAIL("EOF in attribute list of `platform_description' element.");
        YY_BREAK
 
@@ -2510,7 +2511,7 @@ FAIL("EOF in attribute list of `platform_description' element.");
 case 30:
 /* rule 30 can match eol */
 YY_RULE_SETUP
-#line 370 "surf/surfxml.l"
+#line 371 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_platform_description();
@@ -2522,25 +2523,25 @@ YY_RULE_SETUP
 case 31:
 /* rule 31 can match eol */
 YY_RULE_SETUP
-#line 377 "surf/surfxml.l"
+#line 378 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 378 "surf/surfxml.l"
+#line 379 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</platform_description>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_platform_description):
 case YY_STATE_EOF(S_surfxml_platform_description_2):
 case YY_STATE_EOF(S_surfxml_platform_description):
-#line 379 "surf/surfxml.l"
+#line 380 "surf/surfxml.l"
 FAIL("Premature EOF: `</platform_description>' expected.");
        YY_BREAK
 
 case 33:
 /* rule 33 can match eol */
 YY_RULE_SETUP
-#line 382 "surf/surfxml.l"
+#line 383 "surf/surfxml.l"
 {
   A_surfxml_include_file = NULL;
   ENTER(AL_surfxml_include);
@@ -2550,18 +2551,18 @@ YY_RULE_SETUP
 case 34:
 /* rule 34 can match eol */
 YY_RULE_SETUP
-#line 388 "surf/surfxml.l"
+#line 389 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_include_file);
        YY_BREAK
 case 35:
 /* rule 35 can match eol */
 YY_RULE_SETUP
-#line 389 "surf/surfxml.l"
+#line 390 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_include_file);
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 391 "surf/surfxml.l"
+#line 392 "surf/surfxml.l"
 {
   if (!A_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
   LEAVE; STag_surfxml_include();surfxml_pcdata = NULL; ENTER(S_surfxml_include);
@@ -2569,7 +2570,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 395 "surf/surfxml.l"
+#line 396 "surf/surfxml.l"
 {
   if (!A_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
   LEAVE; STag_surfxml_include(); surfxml_pcdata = NULL; ETag_surfxml_include();
@@ -2582,16 +2583,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 404 "surf/surfxml.l"
+#line 405 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 405 "surf/surfxml.l"
+#line 406 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_include):
-#line 406 "surf/surfxml.l"
+#line 407 "surf/surfxml.l"
 FAIL("EOF in attribute list of `include' element.");
        YY_BREAK
 
@@ -2599,7 +2600,7 @@ FAIL("EOF in attribute list of `include' element.");
 case 40:
 /* rule 40 can match eol */
 YY_RULE_SETUP
-#line 410 "surf/surfxml.l"
+#line 411 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_include();
@@ -2613,25 +2614,25 @@ YY_RULE_SETUP
 case 41:
 /* rule 41 can match eol */
 YY_RULE_SETUP
-#line 419 "surf/surfxml.l"
+#line 420 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 420 "surf/surfxml.l"
+#line 421 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_include):
 case YY_STATE_EOF(S_surfxml_include):
 case YY_STATE_EOF(S_surfxml_include_2):
-#line 421 "surf/surfxml.l"
+#line 422 "surf/surfxml.l"
 FAIL("Premature EOF: `</include>' expected.");
        YY_BREAK
 
 case 43:
 /* rule 43 can match eol */
 YY_RULE_SETUP
-#line 424 "surf/surfxml.l"
+#line 425 "surf/surfxml.l"
 {
   A_surfxml_cpu_name = NULL;
   A_surfxml_cpu_power = NULL;
@@ -2650,132 +2651,132 @@ YY_RULE_SETUP
 case 44:
 /* rule 44 can match eol */
 YY_RULE_SETUP
-#line 439 "surf/surfxml.l"
+#line 440 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_name);
        YY_BREAK
 case 45:
 /* rule 45 can match eol */
 YY_RULE_SETUP
-#line 440 "surf/surfxml.l"
+#line 441 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_name);
        YY_BREAK
 case 46:
 /* rule 46 can match eol */
 YY_RULE_SETUP
-#line 442 "surf/surfxml.l"
+#line 443 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_power);
        YY_BREAK
 case 47:
 /* rule 47 can match eol */
 YY_RULE_SETUP
-#line 443 "surf/surfxml.l"
+#line 444 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_power);
        YY_BREAK
 case 48:
 /* rule 48 can match eol */
 YY_RULE_SETUP
-#line 445 "surf/surfxml.l"
+#line 446 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_availability);
        YY_BREAK
 case 49:
 /* rule 49 can match eol */
 YY_RULE_SETUP
-#line 446 "surf/surfxml.l"
+#line 447 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability);
        YY_BREAK
 case 50:
 /* rule 50 can match eol */
 YY_RULE_SETUP
-#line 448 "surf/surfxml.l"
+#line 449 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_availability_file);
        YY_BREAK
 case 51:
 /* rule 51 can match eol */
 YY_RULE_SETUP
-#line 449 "surf/surfxml.l"
+#line 450 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability_file);
        YY_BREAK
 case 52:
 /* rule 52 can match eol */
-#line 452 "surf/surfxml.l"
+#line 453 "surf/surfxml.l"
 case 53:
 /* rule 53 can match eol */
 YY_RULE_SETUP
-#line 452 "surf/surfxml.l"
+#line 453 "surf/surfxml.l"
 A_surfxml_cpu_state = A_surfxml_cpu_state_ON;
        YY_BREAK
 case 54:
 /* rule 54 can match eol */
-#line 454 "surf/surfxml.l"
+#line 455 "surf/surfxml.l"
 case 55:
 /* rule 55 can match eol */
 YY_RULE_SETUP
-#line 454 "surf/surfxml.l"
+#line 455 "surf/surfxml.l"
 A_surfxml_cpu_state = A_surfxml_cpu_state_OFF;
        YY_BREAK
 case 56:
 /* rule 56 can match eol */
 YY_RULE_SETUP
-#line 456 "surf/surfxml.l"
+#line 457 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_state_file);
        YY_BREAK
 case 57:
 /* rule 57 can match eol */
 YY_RULE_SETUP
-#line 457 "surf/surfxml.l"
+#line 458 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_state_file);
        YY_BREAK
 case 58:
 /* rule 58 can match eol */
 YY_RULE_SETUP
-#line 459 "surf/surfxml.l"
+#line 460 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_send);
        YY_BREAK
 case 59:
 /* rule 59 can match eol */
 YY_RULE_SETUP
-#line 460 "surf/surfxml.l"
+#line 461 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_send);
        YY_BREAK
 case 60:
 /* rule 60 can match eol */
 YY_RULE_SETUP
-#line 462 "surf/surfxml.l"
+#line 463 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_recv);
        YY_BREAK
 case 61:
 /* rule 61 can match eol */
 YY_RULE_SETUP
-#line 463 "surf/surfxml.l"
+#line 464 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_recv);
        YY_BREAK
 case 62:
 /* rule 62 can match eol */
 YY_RULE_SETUP
-#line 465 "surf/surfxml.l"
+#line 466 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_interference_send_recv);
        YY_BREAK
 case 63:
 /* rule 63 can match eol */
 YY_RULE_SETUP
-#line 466 "surf/surfxml.l"
+#line 467 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_interference_send_recv);
        YY_BREAK
 case 64:
 /* rule 64 can match eol */
 YY_RULE_SETUP
-#line 468 "surf/surfxml.l"
+#line 469 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
        YY_BREAK
 case 65:
 /* rule 65 can match eol */
 YY_RULE_SETUP
-#line 469 "surf/surfxml.l"
+#line 470 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 471 "surf/surfxml.l"
+#line 472 "surf/surfxml.l"
 {
   if (!A_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
   if (!A_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
@@ -2784,7 +2785,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 476 "surf/surfxml.l"
+#line 477 "surf/surfxml.l"
 {
   if (!A_surfxml_cpu_name) FAIL("Required attribute `name' not set for `cpu' element.");
   if (!A_surfxml_cpu_power) FAIL("Required attribute `power' not set for `cpu' element.");
@@ -2798,16 +2799,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 486 "surf/surfxml.l"
+#line 487 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of cpu element.", surf_parse_text[0]);
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 487 "surf/surfxml.l"
+#line 488 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `cpu' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_cpu):
-#line 488 "surf/surfxml.l"
+#line 489 "surf/surfxml.l"
 FAIL("EOF in attribute list of `cpu' element.");
        YY_BREAK
 
@@ -2815,7 +2816,7 @@ FAIL("EOF in attribute list of `cpu' element.");
 case 70:
 /* rule 70 can match eol */
 YY_RULE_SETUP
-#line 492 "surf/surfxml.l"
+#line 493 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_cpu();
@@ -2829,23 +2830,23 @@ YY_RULE_SETUP
 case 71:
 /* rule 71 can match eol */
 YY_RULE_SETUP
-#line 501 "surf/surfxml.l"
+#line 502 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 502 "surf/surfxml.l"
+#line 503 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_cpu):
-#line 503 "surf/surfxml.l"
+#line 504 "surf/surfxml.l"
 FAIL("Premature EOF: `</cpu>' expected.");
        YY_BREAK
 
 case 73:
 /* rule 73 can match eol */
 YY_RULE_SETUP
-#line 506 "surf/surfxml.l"
+#line 507 "surf/surfxml.l"
 {
   A_surfxml_network_link_name = NULL;
   A_surfxml_network_link_bandwidth = NULL;
@@ -2862,114 +2863,114 @@ YY_RULE_SETUP
 case 74:
 /* rule 74 can match eol */
 YY_RULE_SETUP
-#line 519 "surf/surfxml.l"
+#line 520 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_name);
        YY_BREAK
 case 75:
 /* rule 75 can match eol */
 YY_RULE_SETUP
-#line 520 "surf/surfxml.l"
+#line 521 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_name);
        YY_BREAK
 case 76:
 /* rule 76 can match eol */
 YY_RULE_SETUP
-#line 522 "surf/surfxml.l"
+#line 523 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_bandwidth);
        YY_BREAK
 case 77:
 /* rule 77 can match eol */
 YY_RULE_SETUP
-#line 523 "surf/surfxml.l"
+#line 524 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_bandwidth);
        YY_BREAK
 case 78:
 /* rule 78 can match eol */
 YY_RULE_SETUP
-#line 525 "surf/surfxml.l"
+#line 526 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_bandwidth_file);
        YY_BREAK
 case 79:
 /* rule 79 can match eol */
 YY_RULE_SETUP
-#line 526 "surf/surfxml.l"
+#line 527 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_bandwidth_file);
        YY_BREAK
 case 80:
 /* rule 80 can match eol */
 YY_RULE_SETUP
-#line 528 "surf/surfxml.l"
+#line 529 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_latency);
        YY_BREAK
 case 81:
 /* rule 81 can match eol */
 YY_RULE_SETUP
-#line 529 "surf/surfxml.l"
+#line 530 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency);
        YY_BREAK
 case 82:
 /* rule 82 can match eol */
 YY_RULE_SETUP
-#line 531 "surf/surfxml.l"
+#line 532 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_latency_file);
        YY_BREAK
 case 83:
 /* rule 83 can match eol */
 YY_RULE_SETUP
-#line 532 "surf/surfxml.l"
+#line 533 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency_file);
        YY_BREAK
 case 84:
 /* rule 84 can match eol */
-#line 535 "surf/surfxml.l"
+#line 536 "surf/surfxml.l"
 case 85:
 /* rule 85 can match eol */
 YY_RULE_SETUP
-#line 535 "surf/surfxml.l"
+#line 536 "surf/surfxml.l"
 A_surfxml_network_link_state = A_surfxml_network_link_state_ON;
        YY_BREAK
 case 86:
 /* rule 86 can match eol */
-#line 537 "surf/surfxml.l"
+#line 538 "surf/surfxml.l"
 case 87:
 /* rule 87 can match eol */
 YY_RULE_SETUP
-#line 537 "surf/surfxml.l"
+#line 538 "surf/surfxml.l"
 A_surfxml_network_link_state = A_surfxml_network_link_state_OFF;
        YY_BREAK
 case 88:
 /* rule 88 can match eol */
 YY_RULE_SETUP
-#line 539 "surf/surfxml.l"
+#line 540 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_network_link_state_file);
        YY_BREAK
 case 89:
 /* rule 89 can match eol */
 YY_RULE_SETUP
-#line 540 "surf/surfxml.l"
+#line 541 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_state_file);
        YY_BREAK
 case 90:
 /* rule 90 can match eol */
-#line 543 "surf/surfxml.l"
+#line 544 "surf/surfxml.l"
 case 91:
 /* rule 91 can match eol */
 YY_RULE_SETUP
-#line 543 "surf/surfxml.l"
+#line 544 "surf/surfxml.l"
 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_SHARED;
        YY_BREAK
 case 92:
 /* rule 92 can match eol */
-#line 545 "surf/surfxml.l"
+#line 546 "surf/surfxml.l"
 case 93:
 /* rule 93 can match eol */
 YY_RULE_SETUP
-#line 545 "surf/surfxml.l"
+#line 546 "surf/surfxml.l"
 A_surfxml_network_link_sharing_policy = A_surfxml_network_link_sharing_policy_FATPIPE;
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 547 "surf/surfxml.l"
+#line 548 "surf/surfxml.l"
 {
   if (!A_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
   if (!A_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
@@ -2978,7 +2979,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 552 "surf/surfxml.l"
+#line 553 "surf/surfxml.l"
 {
   if (!A_surfxml_network_link_name) FAIL("Required attribute `name' not set for `network_link' element.");
   if (!A_surfxml_network_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `network_link' element.");
@@ -2992,16 +2993,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 562 "surf/surfxml.l"
+#line 563 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of network_link element.", surf_parse_text[0]);
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 563 "surf/surfxml.l"
+#line 564 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `network_link' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_network_link):
-#line 564 "surf/surfxml.l"
+#line 565 "surf/surfxml.l"
 FAIL("EOF in attribute list of `network_link' element.");
        YY_BREAK
 
@@ -3009,7 +3010,7 @@ FAIL("EOF in attribute list of `network_link' element.");
 case 98:
 /* rule 98 can match eol */
 YY_RULE_SETUP
-#line 568 "surf/surfxml.l"
+#line 569 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_network_link();
@@ -3023,23 +3024,23 @@ YY_RULE_SETUP
 case 99:
 /* rule 99 can match eol */
 YY_RULE_SETUP
-#line 577 "surf/surfxml.l"
+#line 578 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 578 "surf/surfxml.l"
+#line 579 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</network_link>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_network_link):
-#line 579 "surf/surfxml.l"
+#line 580 "surf/surfxml.l"
 FAIL("Premature EOF: `</network_link>' expected.");
        YY_BREAK
 
 case 101:
 /* rule 101 can match eol */
 YY_RULE_SETUP
-#line 582 "surf/surfxml.l"
+#line 583 "surf/surfxml.l"
 {
   A_surfxml_route_src = NULL;
   A_surfxml_route_dst = NULL;
@@ -3054,78 +3055,78 @@ YY_RULE_SETUP
 case 102:
 /* rule 102 can match eol */
 YY_RULE_SETUP
-#line 593 "surf/surfxml.l"
+#line 594 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_src);
        YY_BREAK
 case 103:
 /* rule 103 can match eol */
 YY_RULE_SETUP
-#line 594 "surf/surfxml.l"
+#line 595 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_src);
        YY_BREAK
 case 104:
 /* rule 104 can match eol */
 YY_RULE_SETUP
-#line 596 "surf/surfxml.l"
+#line 597 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_dst);
        YY_BREAK
 case 105:
 /* rule 105 can match eol */
 YY_RULE_SETUP
-#line 597 "surf/surfxml.l"
+#line 598 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_dst);
        YY_BREAK
 case 106:
 /* rule 106 can match eol */
 YY_RULE_SETUP
-#line 599 "surf/surfxml.l"
+#line 600 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_src);
        YY_BREAK
 case 107:
 /* rule 107 can match eol */
 YY_RULE_SETUP
-#line 600 "surf/surfxml.l"
+#line 601 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_src);
        YY_BREAK
 case 108:
 /* rule 108 can match eol */
 YY_RULE_SETUP
-#line 602 "surf/surfxml.l"
+#line 603 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_dst);
        YY_BREAK
 case 109:
 /* rule 109 can match eol */
 YY_RULE_SETUP
-#line 603 "surf/surfxml.l"
+#line 604 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst);
        YY_BREAK
 case 110:
 /* rule 110 can match eol */
 YY_RULE_SETUP
-#line 605 "surf/surfxml.l"
+#line 606 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_src_with_other_recv);
        YY_BREAK
 case 111:
 /* rule 111 can match eol */
 YY_RULE_SETUP
-#line 606 "surf/surfxml.l"
+#line 607 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_src_with_other_recv);
        YY_BREAK
 case 112:
 /* rule 112 can match eol */
 YY_RULE_SETUP
-#line 608 "surf/surfxml.l"
+#line 609 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
        YY_BREAK
 case 113:
 /* rule 113 can match eol */
 YY_RULE_SETUP
-#line 609 "surf/surfxml.l"
+#line 610 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 611 "surf/surfxml.l"
+#line 612 "surf/surfxml.l"
 {
   if (!A_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
   if (!A_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
@@ -3134,7 +3135,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 616 "surf/surfxml.l"
+#line 617 "surf/surfxml.l"
 {
   if (!A_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
   if (!A_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
@@ -3148,16 +3149,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 626 "surf/surfxml.l"
+#line 627 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 627 "surf/surfxml.l"
+#line 628 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_route):
-#line 628 "surf/surfxml.l"
+#line 629 "surf/surfxml.l"
 FAIL("EOF in attribute list of `route' element.");
        YY_BREAK
 
@@ -3165,7 +3166,7 @@ FAIL("EOF in attribute list of `route' element.");
 case 118:
 /* rule 118 can match eol */
 YY_RULE_SETUP
-#line 632 "surf/surfxml.l"
+#line 633 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_route();
@@ -3179,25 +3180,25 @@ YY_RULE_SETUP
 case 119:
 /* rule 119 can match eol */
 YY_RULE_SETUP
-#line 641 "surf/surfxml.l"
+#line 642 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 642 "surf/surfxml.l"
+#line 643 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(S_surfxml_route):
 case YY_STATE_EOF(S_surfxml_route_2):
 case YY_STATE_EOF(E_surfxml_route):
-#line 643 "surf/surfxml.l"
+#line 644 "surf/surfxml.l"
 FAIL("Premature EOF: `</route>' expected.");
        YY_BREAK
 
 case 121:
 /* rule 121 can match eol */
 YY_RULE_SETUP
-#line 646 "surf/surfxml.l"
+#line 647 "surf/surfxml.l"
 {
   A_surfxml_route_element_name = NULL;
   ENTER(AL_surfxml_route_element);
@@ -3207,18 +3208,18 @@ YY_RULE_SETUP
 case 122:
 /* rule 122 can match eol */
 YY_RULE_SETUP
-#line 652 "surf/surfxml.l"
+#line 653 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_route_element_name);
        YY_BREAK
 case 123:
 /* rule 123 can match eol */
 YY_RULE_SETUP
-#line 653 "surf/surfxml.l"
+#line 654 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_route_element_name);
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 655 "surf/surfxml.l"
+#line 656 "surf/surfxml.l"
 {
   if (!A_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
   LEAVE; STag_surfxml_route_element();surfxml_pcdata = NULL; ENTER(E_surfxml_route_element);
@@ -3226,7 +3227,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 659 "surf/surfxml.l"
+#line 660 "surf/surfxml.l"
 {
   if (!A_surfxml_route_element_name) FAIL("Required attribute `name' not set for `route_element' element.");
   LEAVE; STag_surfxml_route_element(); surfxml_pcdata = NULL; ETag_surfxml_route_element();
@@ -3238,16 +3239,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 667 "surf/surfxml.l"
+#line 668 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of route_element element.", surf_parse_text[0]);
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 668 "surf/surfxml.l"
+#line 669 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `route_element' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_route_element):
-#line 669 "surf/surfxml.l"
+#line 670 "surf/surfxml.l"
 FAIL("EOF in attribute list of `route_element' element.");
        YY_BREAK
 
@@ -3255,7 +3256,7 @@ FAIL("EOF in attribute list of `route_element' element.");
 case 128:
 /* rule 128 can match eol */
 YY_RULE_SETUP
-#line 673 "surf/surfxml.l"
+#line 674 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_route_element();
@@ -3268,23 +3269,23 @@ YY_RULE_SETUP
 case 129:
 /* rule 129 can match eol */
 YY_RULE_SETUP
-#line 681 "surf/surfxml.l"
+#line 682 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 682 "surf/surfxml.l"
+#line 683 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</route_element>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_route_element):
-#line 683 "surf/surfxml.l"
+#line 684 "surf/surfxml.l"
 FAIL("Premature EOF: `</route_element>' expected.");
        YY_BREAK
 
 case 131:
 /* rule 131 can match eol */
 YY_RULE_SETUP
-#line 686 "surf/surfxml.l"
+#line 687 "surf/surfxml.l"
 {
   A_surfxml_process_host = NULL;
   A_surfxml_process_function = NULL;
@@ -3297,54 +3298,54 @@ YY_RULE_SETUP
 case 132:
 /* rule 132 can match eol */
 YY_RULE_SETUP
-#line 695 "surf/surfxml.l"
+#line 696 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_process_host);
        YY_BREAK
 case 133:
 /* rule 133 can match eol */
 YY_RULE_SETUP
-#line 696 "surf/surfxml.l"
+#line 697 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_process_host);
        YY_BREAK
 case 134:
 /* rule 134 can match eol */
 YY_RULE_SETUP
-#line 698 "surf/surfxml.l"
+#line 699 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_process_function);
        YY_BREAK
 case 135:
 /* rule 135 can match eol */
 YY_RULE_SETUP
-#line 699 "surf/surfxml.l"
+#line 700 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_process_function);
        YY_BREAK
 case 136:
 /* rule 136 can match eol */
 YY_RULE_SETUP
-#line 701 "surf/surfxml.l"
+#line 702 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_process_start_time);
        YY_BREAK
 case 137:
 /* rule 137 can match eol */
 YY_RULE_SETUP
-#line 702 "surf/surfxml.l"
+#line 703 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_process_start_time);
        YY_BREAK
 case 138:
 /* rule 138 can match eol */
 YY_RULE_SETUP
-#line 704 "surf/surfxml.l"
+#line 705 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_process_kill_time);
        YY_BREAK
 case 139:
 /* rule 139 can match eol */
 YY_RULE_SETUP
-#line 705 "surf/surfxml.l"
+#line 706 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_process_kill_time);
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 707 "surf/surfxml.l"
+#line 708 "surf/surfxml.l"
 {
   if (!A_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
   if (!A_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
@@ -3353,7 +3354,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 712 "surf/surfxml.l"
+#line 713 "surf/surfxml.l"
 {
   if (!A_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
   if (!A_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
@@ -3367,16 +3368,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 722 "surf/surfxml.l"
+#line 723 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 723 "surf/surfxml.l"
+#line 724 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_process):
-#line 724 "surf/surfxml.l"
+#line 725 "surf/surfxml.l"
 FAIL("EOF in attribute list of `process' element.");
        YY_BREAK
 
@@ -3384,7 +3385,7 @@ FAIL("EOF in attribute list of `process' element.");
 case 144:
 /* rule 144 can match eol */
 YY_RULE_SETUP
-#line 728 "surf/surfxml.l"
+#line 729 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_process();
@@ -3398,25 +3399,25 @@ YY_RULE_SETUP
 case 145:
 /* rule 145 can match eol */
 YY_RULE_SETUP
-#line 737 "surf/surfxml.l"
+#line 738 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
        YY_BREAK
 case 146:
 YY_RULE_SETUP
-#line 738 "surf/surfxml.l"
+#line 739 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(S_surfxml_process):
 case YY_STATE_EOF(E_surfxml_process):
 case YY_STATE_EOF(S_surfxml_process_2):
-#line 739 "surf/surfxml.l"
+#line 740 "surf/surfxml.l"
 FAIL("Premature EOF: `</process>' expected.");
        YY_BREAK
 
 case 147:
 /* rule 147 can match eol */
 YY_RULE_SETUP
-#line 742 "surf/surfxml.l"
+#line 743 "surf/surfxml.l"
 {
   A_surfxml_argument_value = NULL;
   ENTER(AL_surfxml_argument);
@@ -3426,18 +3427,18 @@ YY_RULE_SETUP
 case 148:
 /* rule 148 can match eol */
 YY_RULE_SETUP
-#line 748 "surf/surfxml.l"
+#line 749 "surf/surfxml.l"
 ENTER(VALUE1); BUFFERSET(A_surfxml_argument_value);
        YY_BREAK
 case 149:
 /* rule 149 can match eol */
 YY_RULE_SETUP
-#line 749 "surf/surfxml.l"
+#line 750 "surf/surfxml.l"
 ENTER(VALUE2); BUFFERSET(A_surfxml_argument_value);
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 751 "surf/surfxml.l"
+#line 752 "surf/surfxml.l"
 {
   if (!A_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
   LEAVE; STag_surfxml_argument();surfxml_pcdata = NULL; ENTER(E_surfxml_argument);
@@ -3445,7 +3446,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 755 "surf/surfxml.l"
+#line 756 "surf/surfxml.l"
 {
   if (!A_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
   LEAVE; STag_surfxml_argument(); surfxml_pcdata = NULL; ETag_surfxml_argument();
@@ -3457,16 +3458,16 @@ YY_RULE_SETUP
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 763 "surf/surfxml.l"
+#line 764 "surf/surfxml.l"
 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 764 "surf/surfxml.l"
+#line 765 "surf/surfxml.l"
 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
        YY_BREAK
 case YY_STATE_EOF(AL_surfxml_argument):
-#line 765 "surf/surfxml.l"
+#line 766 "surf/surfxml.l"
 FAIL("EOF in attribute list of `argument' element.");
        YY_BREAK
 
@@ -3474,7 +3475,7 @@ FAIL("EOF in attribute list of `argument' element.");
 case 154:
 /* rule 154 can match eol */
 YY_RULE_SETUP
-#line 769 "surf/surfxml.l"
+#line 770 "surf/surfxml.l"
 {
   LEAVE;
   ETag_surfxml_argument();
@@ -3487,16 +3488,16 @@ YY_RULE_SETUP
 case 155:
 /* rule 155 can match eol */
 YY_RULE_SETUP
-#line 777 "surf/surfxml.l"
+#line 778 "surf/surfxml.l"
 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 778 "surf/surfxml.l"
+#line 779 "surf/surfxml.l"
 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(E_surfxml_argument):
-#line 779 "surf/surfxml.l"
+#line 780 "surf/surfxml.l"
 FAIL("Premature EOF: `</argument>' expected.");
        YY_BREAK
 
@@ -3504,11 +3505,11 @@ FAIL("Premature EOF: `</argument>' expected.");
 
 case 157:
 YY_RULE_SETUP
-#line 785 "surf/surfxml.l"
+#line 786 "surf/surfxml.l"
 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
        YY_BREAK
 case YY_STATE_EOF(EPILOG):
-#line 786 "surf/surfxml.l"
+#line 787 "surf/surfxml.l"
 SUCCEED;
        YY_BREAK
 
@@ -3517,89 +3518,89 @@ SUCCEED;
 /* Non-defined standard entities... */
 case 158:
 YY_RULE_SETUP
-#line 793 "surf/surfxml.l"
+#line 794 "surf/surfxml.l"
 BUFFERPUTC('&');
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 794 "surf/surfxml.l"
+#line 795 "surf/surfxml.l"
 BUFFERPUTC('<');
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 795 "surf/surfxml.l"
+#line 796 "surf/surfxml.l"
 BUFFERPUTC('>');
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 796 "surf/surfxml.l"
+#line 797 "surf/surfxml.l"
 BUFFERPUTC('\'');
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 797 "surf/surfxml.l"
+#line 798 "surf/surfxml.l"
 BUFFERPUTC('"');
        YY_BREAK
 /* Character entities. */
 case 163:
 YY_RULE_SETUP
-#line 800 "surf/surfxml.l"
+#line 801 "surf/surfxml.l"
 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
        YY_BREAK
 case 164:
 YY_RULE_SETUP
-#line 801 "surf/surfxml.l"
+#line 802 "surf/surfxml.l"
 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
        YY_BREAK
 
 
 case 165:
 /* rule 165 can match eol */
-#line 806 "surf/surfxml.l"
+#line 807 "surf/surfxml.l"
 case 166:
 /* rule 166 can match eol */
-#line 807 "surf/surfxml.l"
+#line 808 "surf/surfxml.l"
 case 167:
 /* rule 167 can match eol */
-#line 808 "surf/surfxml.l"
+#line 809 "surf/surfxml.l"
 case 168:
 /* rule 168 can match eol */
 YY_RULE_SETUP
-#line 808 "surf/surfxml.l"
+#line 809 "surf/surfxml.l"
 BUFFERPUTC('\n');
        YY_BREAK
 
 
 case 169:
 YY_RULE_SETUP
-#line 812 "surf/surfxml.l"
+#line 813 "surf/surfxml.l"
 ENTER(CDATA);
        YY_BREAK
 case 170:
 YY_RULE_SETUP
-#line 813 "surf/surfxml.l"
+#line 814 "surf/surfxml.l"
 FAIL("Unexpected `]""]>' in character data.");
        YY_BREAK
 
 
 case 171:
 YY_RULE_SETUP
-#line 817 "surf/surfxml.l"
+#line 818 "surf/surfxml.l"
 BUFFERDONE; LEAVE;
        YY_BREAK
 case YY_STATE_EOF(VALUE1):
-#line 818 "surf/surfxml.l"
+#line 819 "surf/surfxml.l"
 FAIL("EOF in literal (\"'\" expected).");
        YY_BREAK
 
 
 case 172:
 YY_RULE_SETUP
-#line 822 "surf/surfxml.l"
+#line 823 "surf/surfxml.l"
 BUFFERDONE; LEAVE;
        YY_BREAK
 case YY_STATE_EOF(VALUE2):
-#line 823 "surf/surfxml.l"
+#line 824 "surf/surfxml.l"
 FAIL("EOF in literal (`\"' expected).");
        YY_BREAK
 
@@ -3607,29 +3608,29 @@ FAIL("EOF in literal (`\"' expected).");
 case 173:
 /* rule 173 can match eol */
 YY_RULE_SETUP
-#line 827 "surf/surfxml.l"
+#line 828 "surf/surfxml.l"
 BUFFERPUTC(surf_parse_text[0]);
        YY_BREAK
 case 174:
 YY_RULE_SETUP
-#line 828 "surf/surfxml.l"
+#line 829 "surf/surfxml.l"
 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
        YY_BREAK
 
 
 case 175:
 YY_RULE_SETUP
-#line 832 "surf/surfxml.l"
+#line 833 "surf/surfxml.l"
 LEAVE;
        YY_BREAK
 /* "]""]"              BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
 case 176:
 YY_RULE_SETUP
-#line 834 "surf/surfxml.l"
+#line 835 "surf/surfxml.l"
 BUFFERPUTC(surf_parse_text[0]);
        YY_BREAK
 case YY_STATE_EOF(CDATA):
-#line 835 "surf/surfxml.l"
+#line 836 "surf/surfxml.l"
 FAIL("EOF in CDATA section.");
        YY_BREAK
 
@@ -3640,16 +3641,16 @@ FAIL("EOF in CDATA section.");
 case 177:
 /* rule 177 can match eol */
 YY_RULE_SETUP
-#line 842 "surf/surfxml.l"
+#line 843 "surf/surfxml.l"
 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
        YY_BREAK
 
 case 178:
 YY_RULE_SETUP
-#line 845 "surf/surfxml.l"
+#line 846 "surf/surfxml.l"
 ECHO;
        YY_BREAK
-#line 3653 "surf/surfxml.c"
+#line 3654 "surf/surfxml.c"
 case YY_STATE_EOF(INITIAL):
 case YY_STATE_EOF(ROOT_surfxml_platform_description):
 case YY_STATE_EOF(S_surfxml_platform_description_1):
@@ -4633,7 +4634,7 @@ void surf_parse_free (void * ptr )
 #undef YY_DECL_IS_OURS
 #undef YY_DECL
 #endif
-#line 845 "surf/surfxml.l"
+#line 846 "surf/surfxml.l"