-#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 surf/surfxml.dtd.
* Generated 2006/07/18 21:02:15.
*
* by the author of or contributors to FleXML.
*
*/
-#line 49 "surf/surfxml.l"
/* Version strings. */
const char rcs_surfxml_flexml_skeleton[] =
"$" "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>
* IMPOSSIBLE dummy to permit disabling rules; must be last
*/
-
-
-
-
-
-
-
-
-
-#line 241 "surf/surfxml.l"
/* State names. */
const char* *surfxml_statenames=NULL;
-#line 1965 "surf/surfxml.c"
#define INITIAL 0
#define PROLOG 1
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 245 "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 2223 "surf/surfxml.c"
-
if ( (yy_init) )
{
(yy_init) = 0;
case 1:
YY_RULE_SETUP
-#line 301 "surf/surfxml.l"
ENTER(INCOMMENT);
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 302 "surf/surfxml.l"
ENTER(INPI);
YY_BREAK
-
case 3:
YY_RULE_SETUP
-#line 305 "surf/surfxml.l"
LEAVE;
YY_BREAK
case 4:
-#line 307 "surf/surfxml.l"
case 5:
-#line 308 "surf/surfxml.l"
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 308 "surf/surfxml.l"
SKIP;
YY_BREAK
case YY_STATE_EOF(INCOMMENT):
-#line 309 "surf/surfxml.l"
FAIL("EOF in comment.");
YY_BREAK
-
case 7:
YY_RULE_SETUP
-#line 312 "surf/surfxml.l"
LEAVE;
YY_BREAK
case 8:
-#line 314 "surf/surfxml.l"
case 9:
/* rule 9 can match eol */
YY_RULE_SETUP
-#line 314 "surf/surfxml.l"
SKIP;
YY_BREAK
case YY_STATE_EOF(INPI):
-#line 315 "surf/surfxml.l"
FAIL("EOF in PI (processing instruction).");
YY_BREAK
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 320 "surf/surfxml.l"
SKIP;
YY_BREAK
/* PROLOG: determine root element and process it. */
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 325 "surf/surfxml.l"
SET(DOCTYPE);
YY_BREAK
case 12:
/* rule 12 can match eol */
YY_RULE_SETUP
-#line 326 "surf/surfxml.l"
FAIL("Bad declaration %s.",surf_parse_text);
YY_BREAK
-
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-#line 330 "surf/surfxml.l"
SET(ROOT_surfxml_argument);
YY_BREAK
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 331 "surf/surfxml.l"
SET(ROOT_surfxml_route_element);
YY_BREAK
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
-#line 332 "surf/surfxml.l"
SET(ROOT_surfxml_cpu);
YY_BREAK
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
-#line 333 "surf/surfxml.l"
SET(ROOT_surfxml_include);
YY_BREAK
case 17:
/* rule 17 can match eol */
YY_RULE_SETUP
-#line 334 "surf/surfxml.l"
SET(ROOT_surfxml_route);
YY_BREAK
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
-#line 335 "surf/surfxml.l"
SET(ROOT_surfxml_platform_description);
YY_BREAK
case 19:
/* rule 19 can match eol */
YY_RULE_SETUP
-#line 336 "surf/surfxml.l"
SET(ROOT_surfxml_network_link);
YY_BREAK
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
-#line 337 "surf/surfxml.l"
SET(ROOT_surfxml_process);
YY_BREAK
case 21:
/* rule 21 can match eol */
YY_RULE_SETUP
-#line 338 "surf/surfxml.l"
FAIL("Bad declaration %s.",surf_parse_text);
YY_BREAK
case 22:
YY_RULE_SETUP
-#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 340 "surf/surfxml.l"
FAIL("EOF in prolog.");
YY_BREAK
case 23:
/* rule 23 can match eol */
YY_RULE_SETUP
-#line 347 "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 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 354 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_platform_description_version);
YY_BREAK
case 26:
YY_RULE_SETUP
-#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 359 "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 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 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 367 "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 371 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_platform_description();
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
-#line 378 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</platform_description>' expected.",surf_parse_text);
YY_BREAK
case 32:
YY_RULE_SETUP
-#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 380 "surf/surfxml.l"
FAIL("Premature EOF: `</platform_description>' expected.");
YY_BREAK
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
-#line 383 "surf/surfxml.l"
{
A_surfxml_include_file = NULL;
ENTER(AL_surfxml_include);
case 34:
/* rule 34 can match eol */
YY_RULE_SETUP
-#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 390 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_include_file);
YY_BREAK
case 36:
YY_RULE_SETUP
-#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);
YY_BREAK
case 37:
YY_RULE_SETUP
-#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();
YY_BREAK
case 38:
YY_RULE_SETUP
-#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 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 407 "surf/surfxml.l"
FAIL("EOF in attribute list of `include' element.");
YY_BREAK
-
case 40:
/* rule 40 can match eol */
YY_RULE_SETUP
-#line 411 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_include();
case 41:
/* rule 41 can match eol */
YY_RULE_SETUP
-#line 420 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
YY_BREAK
case 42:
YY_RULE_SETUP
-#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 422 "surf/surfxml.l"
FAIL("Premature EOF: `</include>' expected.");
YY_BREAK
case 43:
/* rule 43 can match eol */
YY_RULE_SETUP
-#line 425 "surf/surfxml.l"
{
A_surfxml_cpu_name = NULL;
A_surfxml_cpu_power = NULL;
case 44:
/* rule 44 can match eol */
YY_RULE_SETUP
-#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 441 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_name);
YY_BREAK
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#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 444 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_power);
YY_BREAK
case 48:
/* rule 48 can match eol */
YY_RULE_SETUP
-#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 447 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability);
YY_BREAK
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#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 450 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_availability_file);
YY_BREAK
case 52:
/* rule 52 can match eol */
-#line 453 "surf/surfxml.l"
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 453 "surf/surfxml.l"
A_surfxml_cpu_state = A_surfxml_cpu_state_ON;
YY_BREAK
case 54:
/* rule 54 can match eol */
-#line 455 "surf/surfxml.l"
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
-#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 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 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 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 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 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 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 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 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 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 470 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_cpu_max_outgoing_rate);
YY_BREAK
case 66:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 67:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 68:
YY_RULE_SETUP
-#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 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 489 "surf/surfxml.l"
FAIL("EOF in attribute list of `cpu' element.");
YY_BREAK
-
case 70:
/* rule 70 can match eol */
YY_RULE_SETUP
-#line 493 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_cpu();
case 71:
/* rule 71 can match eol */
YY_RULE_SETUP
-#line 502 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</cpu>' expected.",surf_parse_text);
YY_BREAK
case 72:
YY_RULE_SETUP
-#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 504 "surf/surfxml.l"
FAIL("Premature EOF: `</cpu>' expected.");
YY_BREAK
case 73:
/* rule 73 can match eol */
YY_RULE_SETUP
-#line 507 "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 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 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 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 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 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 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 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 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 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 533 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_latency_file);
YY_BREAK
case 84:
/* rule 84 can match eol */
-#line 536 "surf/surfxml.l"
case 85:
/* rule 85 can match eol */
YY_RULE_SETUP
-#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 538 "surf/surfxml.l"
case 87:
/* rule 87 can match eol */
YY_RULE_SETUP
-#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 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 541 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_network_link_state_file);
YY_BREAK
case 90:
/* rule 90 can match eol */
-#line 544 "surf/surfxml.l"
case 91:
/* rule 91 can match eol */
YY_RULE_SETUP
-#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 546 "surf/surfxml.l"
case 93:
/* rule 93 can match eol */
YY_RULE_SETUP
-#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 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.");
YY_BREAK
case 95:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 96:
YY_RULE_SETUP
-#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 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 565 "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 569 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_network_link();
case 99:
/* rule 99 can match eol */
YY_RULE_SETUP
-#line 578 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</network_link>' expected.",surf_parse_text);
YY_BREAK
case 100:
YY_RULE_SETUP
-#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 580 "surf/surfxml.l"
FAIL("Premature EOF: `</network_link>' expected.");
YY_BREAK
case 101:
/* rule 101 can match eol */
YY_RULE_SETUP
-#line 583 "surf/surfxml.l"
{
A_surfxml_route_src = NULL;
A_surfxml_route_dst = NULL;
case 102:
/* rule 102 can match eol */
YY_RULE_SETUP
-#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 595 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_src);
YY_BREAK
case 104:
/* rule 104 can match eol */
YY_RULE_SETUP
-#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 598 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_dst);
YY_BREAK
case 106:
/* rule 106 can match eol */
YY_RULE_SETUP
-#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 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 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 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 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 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 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 610 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_impact_on_dst_with_other_send);
YY_BREAK
case 114:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 115:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 116:
YY_RULE_SETUP
-#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 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 629 "surf/surfxml.l"
FAIL("EOF in attribute list of `route' element.");
YY_BREAK
-
case 118:
/* rule 118 can match eol */
YY_RULE_SETUP
-#line 633 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_route();
case 119:
/* rule 119 can match eol */
YY_RULE_SETUP
-#line 642 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
YY_BREAK
case 120:
YY_RULE_SETUP
-#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 644 "surf/surfxml.l"
FAIL("Premature EOF: `</route>' expected.");
YY_BREAK
case 121:
/* rule 121 can match eol */
YY_RULE_SETUP
-#line 647 "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 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 654 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_route_element_name);
YY_BREAK
case 124:
YY_RULE_SETUP
-#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);
YY_BREAK
case 125:
YY_RULE_SETUP
-#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();
YY_BREAK
case 126:
YY_RULE_SETUP
-#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 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 670 "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 674 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_route_element();
case 129:
/* rule 129 can match eol */
YY_RULE_SETUP
-#line 682 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</route_element>' expected.",surf_parse_text);
YY_BREAK
case 130:
YY_RULE_SETUP
-#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 684 "surf/surfxml.l"
FAIL("Premature EOF: `</route_element>' expected.");
YY_BREAK
case 131:
/* rule 131 can match eol */
YY_RULE_SETUP
-#line 687 "surf/surfxml.l"
{
A_surfxml_process_host = NULL;
A_surfxml_process_function = NULL;
case 132:
/* rule 132 can match eol */
YY_RULE_SETUP
-#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 697 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_host);
YY_BREAK
case 134:
/* rule 134 can match eol */
YY_RULE_SETUP
-#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 700 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_function);
YY_BREAK
case 136:
/* rule 136 can match eol */
YY_RULE_SETUP
-#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 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 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 706 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_process_kill_time);
YY_BREAK
case 140:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 141:
YY_RULE_SETUP
-#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.");
YY_BREAK
case 142:
YY_RULE_SETUP
-#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 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 725 "surf/surfxml.l"
FAIL("EOF in attribute list of `process' element.");
YY_BREAK
-
case 144:
/* rule 144 can match eol */
YY_RULE_SETUP
-#line 729 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_process();
case 145:
/* rule 145 can match eol */
YY_RULE_SETUP
-#line 738 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
YY_BREAK
case 146:
YY_RULE_SETUP
-#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 740 "surf/surfxml.l"
FAIL("Premature EOF: `</process>' expected.");
YY_BREAK
case 147:
/* rule 147 can match eol */
YY_RULE_SETUP
-#line 743 "surf/surfxml.l"
{
A_surfxml_argument_value = NULL;
ENTER(AL_surfxml_argument);
case 148:
/* rule 148 can match eol */
YY_RULE_SETUP
-#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 750 "surf/surfxml.l"
ENTER(VALUE2); BUFFERSET(A_surfxml_argument_value);
YY_BREAK
case 150:
YY_RULE_SETUP
-#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);
YY_BREAK
case 151:
YY_RULE_SETUP
-#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();
YY_BREAK
case 152:
YY_RULE_SETUP
-#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 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 766 "surf/surfxml.l"
FAIL("EOF in attribute list of `argument' element.");
YY_BREAK
-
case 154:
/* rule 154 can match eol */
YY_RULE_SETUP
-#line 770 "surf/surfxml.l"
{
LEAVE;
ETag_surfxml_argument();
case 155:
/* rule 155 can match eol */
YY_RULE_SETUP
-#line 778 "surf/surfxml.l"
FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
YY_BREAK
case 156:
YY_RULE_SETUP
-#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 780 "surf/surfxml.l"
FAIL("Premature EOF: `</argument>' expected.");
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 786 "surf/surfxml.l"
{SET(PROLOG); yyless(0); CLEANUP; return -1;}
YY_BREAK
case YY_STATE_EOF(EPILOG):
-#line 787 "surf/surfxml.l"
SUCCEED;
YY_BREAK
/* Non-defined standard entities... */
case 158:
YY_RULE_SETUP
-#line 794 "surf/surfxml.l"
BUFFERPUTC('&');
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 795 "surf/surfxml.l"
BUFFERPUTC('<');
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 796 "surf/surfxml.l"
BUFFERPUTC('>');
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 797 "surf/surfxml.l"
BUFFERPUTC('\'');
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 798 "surf/surfxml.l"
BUFFERPUTC('"');
YY_BREAK
/* Character entities. */
case 163:
YY_RULE_SETUP
-#line 801 "surf/surfxml.l"
BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
YY_BREAK
case 164:
YY_RULE_SETUP
-#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 807 "surf/surfxml.l"
case 166:
/* rule 166 can match eol */
-#line 808 "surf/surfxml.l"
case 167:
/* rule 167 can match eol */
-#line 809 "surf/surfxml.l"
case 168:
/* rule 168 can match eol */
YY_RULE_SETUP
-#line 809 "surf/surfxml.l"
BUFFERPUTC('\n');
YY_BREAK
-
case 169:
YY_RULE_SETUP
-#line 813 "surf/surfxml.l"
ENTER(CDATA);
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 814 "surf/surfxml.l"
FAIL("Unexpected `]""]>' in character data.");
YY_BREAK
-
case 171:
YY_RULE_SETUP
-#line 818 "surf/surfxml.l"
BUFFERDONE; LEAVE;
YY_BREAK
case YY_STATE_EOF(VALUE1):
-#line 819 "surf/surfxml.l"
FAIL("EOF in literal (\"'\" expected).");
YY_BREAK
-
case 172:
YY_RULE_SETUP
-#line 823 "surf/surfxml.l"
BUFFERDONE; LEAVE;
YY_BREAK
case YY_STATE_EOF(VALUE2):
-#line 824 "surf/surfxml.l"
FAIL("EOF in literal (`\"' expected).");
YY_BREAK
-
case 173:
/* rule 173 can match eol */
YY_RULE_SETUP
-#line 828 "surf/surfxml.l"
BUFFERPUTC(surf_parse_text[0]);
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 829 "surf/surfxml.l"
FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
YY_BREAK
-
case 175:
YY_RULE_SETUP
-#line 833 "surf/surfxml.l"
LEAVE;
YY_BREAK
/* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
case 176:
YY_RULE_SETUP
-#line 835 "surf/surfxml.l"
BUFFERPUTC(surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(CDATA):
-#line 836 "surf/surfxml.l"
FAIL("EOF in CDATA section.");
YY_BREAK
case 177:
/* rule 177 can match eol */
YY_RULE_SETUP
-#line 843 "surf/surfxml.l"
FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
YY_BREAK
case 178:
YY_RULE_SETUP
-#line 846 "surf/surfxml.l"
ECHO;
YY_BREAK
-#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):
}
#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 846 "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;