-#line 2 "surf/surfxml.c"
-#line 4 "surf/surfxml.c"
+
+#include "portable.h"
+#include "surf/surfxml.h"
+
+#line 3 "surf/surfxml.c"
#define YY_INT_ALIGNED short int
#define YY_MORE_ADJ 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.
*
* ------
*
* 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:
* by the author of or contributors to FleXML.
*
*/
-#line 48 "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>
+
+#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
+# ifndef _STRICT_ANSI_
+# include <io.h>
+# include <process.h>
+# include <stdio.h>
+# endif
+#else
+# include <unistd.h>
+#endif
+
#include <stdio.h>
#include <string.h>
#include <assert.h>
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;
}
#ifdef FLEXML_HasMixed
-static void pushbuffer(char* p)
+static void pushbuffer(const char* p)
{
BufferLast* l = (BufferLast*)next;
assert(next < limit);
last = l;
}
-static char* popbuffer(void)
+static const char* popbuffer(void)
{
BufferLast* l = last;
assert(last != (BufferLast*)0);
* IMPOSSIBLE dummy to permit disabling rules; must be last
*/
-
-
-
-
-
-
-
-
-
-#line 240 "surf/surfxml.l"
/* State names. */
const char* *surfxml_statenames=NULL;
-#line 1964 "surf/surfxml.c"
#define INITIAL 0
#define PROLOG 1
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 244 "surf/surfxml.l"
-
-
/* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
SET(PROLOG);
/* FleXML_init */
/* COMMENTS and PIs: handled uniformly for efficiency. */
-#line 2222 "surf/surfxml.c"
-
if ( (yy_init) )
{
(yy_init) = 0;
case 1:
YY_RULE_SETUP
-#line 300 "surf/surfxml.l"
ENTER(INCOMMENT);
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 301 "surf/surfxml.l"
ENTER(INPI);
YY_BREAK
-
case 3:
YY_RULE_SETUP
-#line 304 "surf/surfxml.l"
LEAVE;
YY_BREAK
case 4:
-#line 306 "surf/surfxml.l"
case 5:
-#line 307 "surf/surfxml.l"
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 307 "surf/surfxml.l"
SKIP;
YY_BREAK
case YY_STATE_EOF(INCOMMENT):
-#line 308 "surf/surfxml.l"
FAIL("EOF in comment.");
YY_BREAK
-
case 7:
YY_RULE_SETUP
-#line 311 "surf/surfxml.l"
LEAVE;
YY_BREAK
case 8:
-#line 313 "surf/surfxml.l"
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 313 "surf/surfxml.l"
SKIP;
YY_BREAK
case YY_STATE_EOF(INPI):
-#line 314 "surf/surfxml.l"
FAIL("EOF in PI (processing instruction).");
YY_BREAK
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 319 "surf/surfxml.l"
SKIP;
YY_BREAK
/* PROLOG: determine root element and process it. */
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 324 "surf/surfxml.l"
SET(DOCTYPE);
YY_BREAK
case 12:
/* rule 12 can match eol */
YY_RULE_SETUP
-#line 325 "surf/surfxml.l"
FAIL("Bad declaration %s.",surf_parse_text);
YY_BREAK
-
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-#line 329 "surf/surfxml.l"
SET(ROOT_surfxml_argument);
YY_BREAK
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 330 "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"
SET(ROOT_surfxml_cpu);
YY_BREAK
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
-#line 332 "surf/surfxml.l"
SET(ROOT_surfxml_include);
YY_BREAK
case 17:
/* rule 17 can match eol */
YY_RULE_SETUP
-#line 333 "surf/surfxml.l"
SET(ROOT_surfxml_route);
YY_BREAK
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
-#line 334 "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"
SET(ROOT_surfxml_network_link);
YY_BREAK
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
-#line 336 "surf/surfxml.l"
SET(ROOT_surfxml_process);
YY_BREAK
case 21:
/* rule 21 can match eol */
YY_RULE_SETUP
-#line 337 "surf/surfxml.l"
FAIL("Bad declaration %s.",surf_parse_text);
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 338 "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"
FAIL("EOF in prolog.");
YY_BREAK
case 23:
/* rule 23 can match eol */
YY_RULE_SETUP
-#line 346 "surf/surfxml.l"
{
A_surfxml_platform_description_version = "0.0";
ENTER(AL_surfxml_platform_description);
case 24:
/* rule 24 can match eol */
YY_RULE_SETUP
-#line 352 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_platform_description_version);
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 355 "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"
{
LEAVE; STag_surfxml_platform_description(); surfxml_pcdata = NULL; ETag_surfxml_platform_description();
switch (YY_START) {
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 364 "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"
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"
FAIL("EOF in attribute list of `platform_description' element.");
YY_BREAK
-
case 30:
/* rule 30 can match eol */
YY_RULE_SETUP
-#line 370 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_platform_description();
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
-#line 377 "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"
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"
FAIL("Premature EOF: `</platform_description>' expected.");
YY_BREAK
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
-#line 382 "surf/surfxml.l"
{
A_surfxml_include_file = NULL;
ENTER(AL_surfxml_include);
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
-#line 388 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_include_file);
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 391 "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);
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 395 "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();
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 404 "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"
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"
FAIL("EOF in attribute list of `include' element.");
YY_BREAK
-
case 40:
/* rule 40 can match eol */
YY_RULE_SETUP
-#line 410 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_include();
case 41:
/* rule 41 can match eol */
YY_RULE_SETUP
-#line 419 "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"
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"
FAIL("Premature EOF: `</include>' expected.");
YY_BREAK
case 43:
/* rule 43 can match eol */
YY_RULE_SETUP
-#line 424 "surf/surfxml.l"
{
A_surfxml_cpu_name = NULL;
A_surfxml_cpu_power = NULL;
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#line 439 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_name);
YY_BREAK
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 442 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_power);
YY_BREAK
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
-#line 445 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability);
YY_BREAK
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#line 448 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability_file);
YY_BREAK
case 52:
/* rule 52 can match eol */
-#line 452 "surf/surfxml.l"
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 452 "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"
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
-#line 454 "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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 471 "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.");
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 476 "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.");
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 486 "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"
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"
FAIL("EOF in attribute list of `cpu' element.");
YY_BREAK
-
case 70:
/* rule 70 can match eol */
YY_RULE_SETUP
-#line 492 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_cpu();
case 71:
/* rule 71 can match eol */
YY_RULE_SETUP
-#line 501 "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"
FAIL("Unexpected character `%c': `</cpu>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(E_surfxml_cpu):
-#line 503 "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"
{
A_surfxml_network_link_name = NULL;
A_surfxml_network_link_bandwidth = NULL;
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
-#line 519 "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"
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"
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"
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"
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"
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"
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"
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"
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"
ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency_file);
YY_BREAK
case 84:
/* rule 84 can match eol */
-#line 535 "surf/surfxml.l"
case 85:
/* rule 85 can match eol */
YY_RULE_SETUP
-#line 535 "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"
case 87:
/* rule 87 can match eol */
YY_RULE_SETUP
-#line 537 "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"
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"
ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_state_file);
YY_BREAK
case 90:
/* rule 90 can match eol */
-#line 543 "surf/surfxml.l"
case 91:
/* rule 91 can match eol */
YY_RULE_SETUP
-#line 543 "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"
case 93:
/* rule 93 can match eol */
YY_RULE_SETUP
-#line 545 "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"
{
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.");
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 552 "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.");
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 562 "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"
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"
FAIL("EOF in attribute list of `network_link' element.");
YY_BREAK
-
case 98:
/* rule 98 can match eol */
YY_RULE_SETUP
-#line 568 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_network_link();
case 99:
/* rule 99 can match eol */
YY_RULE_SETUP
-#line 577 "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"
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"
FAIL("Premature EOF: `</network_link>' expected.");
YY_BREAK
case 101:
/* rule 101 can match eol */
YY_RULE_SETUP
-#line 582 "surf/surfxml.l"
{
A_surfxml_route_src = NULL;
A_surfxml_route_dst = NULL;
case 102:
/* rule 102 can match eol */
YY_RULE_SETUP
-#line 593 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_src);
YY_BREAK
case 104:
/* rule 104 can match eol */
YY_RULE_SETUP
-#line 596 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_dst);
YY_BREAK
case 106:
/* rule 106 can match eol */
YY_RULE_SETUP
-#line 599 "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"
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"
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"
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"
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"
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"
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"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 611 "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.");
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 616 "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.");
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 626 "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"
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"
FAIL("EOF in attribute list of `route' element.");
YY_BREAK
-
case 118:
/* rule 118 can match eol */
YY_RULE_SETUP
-#line 632 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_route();
case 119:
/* rule 119 can match eol */
YY_RULE_SETUP
-#line 641 "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"
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"
FAIL("Premature EOF: `</route>' expected.");
YY_BREAK
case 121:
/* rule 121 can match eol */
YY_RULE_SETUP
-#line 646 "surf/surfxml.l"
{
A_surfxml_route_element_name = NULL;
ENTER(AL_surfxml_route_element);
case 122:
/* rule 122 can match eol */
YY_RULE_SETUP
-#line 652 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_element_name);
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 655 "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);
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 659 "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();
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 667 "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"
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"
FAIL("EOF in attribute list of `route_element' element.");
YY_BREAK
-
case 128:
/* rule 128 can match eol */
YY_RULE_SETUP
-#line 673 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_route_element();
case 129:
/* rule 129 can match eol */
YY_RULE_SETUP
-#line 681 "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"
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"
FAIL("Premature EOF: `</route_element>' expected.");
YY_BREAK
case 131:
/* rule 131 can match eol */
YY_RULE_SETUP
-#line 686 "surf/surfxml.l"
{
A_surfxml_process_host = NULL;
A_surfxml_process_function = NULL;
case 132:
/* rule 132 can match eol */
YY_RULE_SETUP
-#line 695 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_host);
YY_BREAK
case 134:
/* rule 134 can match eol */
YY_RULE_SETUP
-#line 698 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_function);
YY_BREAK
case 136:
/* rule 136 can match eol */
YY_RULE_SETUP
-#line 701 "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"
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"
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"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_kill_time);
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 707 "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.");
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 712 "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.");
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 722 "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"
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"
FAIL("EOF in attribute list of `process' element.");
YY_BREAK
-
case 144:
/* rule 144 can match eol */
YY_RULE_SETUP
-#line 728 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_process();
case 145:
/* rule 145 can match eol */
YY_RULE_SETUP
-#line 737 "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"
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"
FAIL("Premature EOF: `</process>' expected.");
YY_BREAK
case 147:
/* rule 147 can match eol */
YY_RULE_SETUP
-#line 742 "surf/surfxml.l"
{
A_surfxml_argument_value = NULL;
ENTER(AL_surfxml_argument);
case 148:
/* rule 148 can match eol */
YY_RULE_SETUP
-#line 748 "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"
ENTER(VALUE2); BUFFERSET(A_surfxml_argument_value);
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 751 "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);
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 755 "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();
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 763 "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"
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"
FAIL("EOF in attribute list of `argument' element.");
YY_BREAK
-
case 154:
/* rule 154 can match eol */
YY_RULE_SETUP
-#line 769 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_argument();
case 155:
/* rule 155 can match eol */
YY_RULE_SETUP
-#line 777 "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"
FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(E_surfxml_argument):
-#line 779 "surf/surfxml.l"
FAIL("Premature EOF: `</argument>' expected.");
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 785 "surf/surfxml.l"
{SET(PROLOG); yyless(0); CLEANUP; return -1;}
YY_BREAK
case YY_STATE_EOF(EPILOG):
-#line 786 "surf/surfxml.l"
SUCCEED;
YY_BREAK
/* Non-defined standard entities... */
case 158:
YY_RULE_SETUP
-#line 793 "surf/surfxml.l"
BUFFERPUTC('&');
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 794 "surf/surfxml.l"
BUFFERPUTC('<');
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 795 "surf/surfxml.l"
BUFFERPUTC('>');
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 796 "surf/surfxml.l"
BUFFERPUTC('\'');
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 797 "surf/surfxml.l"
BUFFERPUTC('"');
YY_BREAK
/* Character entities. */
case 163:
YY_RULE_SETUP
-#line 800 "surf/surfxml.l"
BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 801 "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"
case 166:
/* rule 166 can match eol */
-#line 807 "surf/surfxml.l"
case 167:
/* rule 167 can match eol */
-#line 808 "surf/surfxml.l"
case 168:
/* rule 168 can match eol */
YY_RULE_SETUP
-#line 808 "surf/surfxml.l"
BUFFERPUTC('\n');
YY_BREAK
-
case 169:
YY_RULE_SETUP
-#line 812 "surf/surfxml.l"
ENTER(CDATA);
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 813 "surf/surfxml.l"
FAIL("Unexpected `]""]>' in character data.");
YY_BREAK
-
case 171:
YY_RULE_SETUP
-#line 817 "surf/surfxml.l"
BUFFERDONE; LEAVE;
YY_BREAK
case YY_STATE_EOF(VALUE1):
-#line 818 "surf/surfxml.l"
FAIL("EOF in literal (\"'\" expected).");
YY_BREAK
-
case 172:
YY_RULE_SETUP
-#line 822 "surf/surfxml.l"
BUFFERDONE; LEAVE;
YY_BREAK
case YY_STATE_EOF(VALUE2):
-#line 823 "surf/surfxml.l"
FAIL("EOF in literal (`\"' expected).");
YY_BREAK
-
case 173:
/* rule 173 can match eol */
YY_RULE_SETUP
-#line 827 "surf/surfxml.l"
BUFFERPUTC(surf_parse_text[0]);
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 828 "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"
LEAVE;
YY_BREAK
/* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
case 176:
YY_RULE_SETUP
-#line 834 "surf/surfxml.l"
BUFFERPUTC(surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(CDATA):
-#line 835 "surf/surfxml.l"
FAIL("EOF in CDATA section.");
YY_BREAK
case 177:
/* rule 177 can match eol */
YY_RULE_SETUP
-#line 842 "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"
ECHO;
YY_BREAK
-#line 3653 "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):
}
#ifndef __cplusplus
+#ifndef _WIN32
extern int isatty (int );
+#endif
#endif /* __cplusplus */
/* Initializes or reinitializes a buffer.
#undef YY_DECL_IS_OURS
#undef YY_DECL
#endif
-#line 845 "surf/surfxml.l"
-
-
/* Element context stack lookup. */
int surfxml_element_context(int i)
flexml_err_msg[0] = '\0';
}
-
static void cleanup(void)
{
if (surfxml_statenames) {
}
}
-
static int fail(const char* fmt, ...)
{
int chars_left, used;