#
# -------------------------------------------------------------------
# X-BONE
#
# http://www.isi.edu/xbone
# USC Information Sciences Institute (USC/ISI)
# Marina del Rey, California 90292, USA
# Copyright (c) 1998-2005
#
# -------------------------------------------------------------------
#
# Copyright (c) 1998-2005 by the University of Southern California.
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software and
# its documentation in source and binary forms for non-commercial
# purposes and without fee is hereby granted, provided that the above
# copyright notice appear in all copies and that both the copyright
# notice and this permission notice appear in supporting
# documentation, and that any documentation, advertising materials,
# and other materials related to such distribution and use acknowledge
# that the software was developed by the University of Southern
# California, Information Sciences Institute. The name of the
# University may not be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THE UNIVERSITY OF SOUTHERN CALIFORNIA MAKES NO REPRESENTATIONS ABOUT
# THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE IS
# PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# Other copyrights might apply to parts of this software and are so
# noted when applicable.
#
# -------------------------------------------------------------------
#
# Effort partly sponsored by the Defense Advanced Research Projects
# Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel
# Command, USAF, under agreement numbers F30602-98-1-0200 (X-Bone) and
# F30602-01-2-0529 (DynaBone). The views and conclusions contained
# herein are those of the authors and should not be interpreted as
# necessarily representing the official policies or endorsements,
# either expressed or implied, of the Defense Advanced Research
# Projects Agency (DARPA), the Air Force Research Laboratory, or the
# U.S. Government.
#
# This work was partly supported by the NSF STI-XTEND (ANI-0230789)
# and NETFS (ANI-0129689) projects. Any opinions, findings, and
# conclusions or recommendations expressed in this material are those
# of the authors and do not necessarily reflect the views of the
# National Science Foundation.
#
# -------------------------------------------------------------------
package XB_API_parser;
use Parse::RecDescent;
{ my $ERRORS;
package Parse::RecDescent::namespace000001;
use strict;
use vars qw($skip $AUTOLOAD );
$skip = '\s*';
my ($semerr) = '';
my (%classes) = ();
;
{
local $SIG{__WARN__} = sub {0};
# PRETEND TO BE IN Parse::RecDescent NAMESPACE
*Parse::RecDescent::namespace000001::AUTOLOAD = sub
{
no strict 'refs';
$AUTOLOAD =~ s/^Parse::RecDescent::namespace000001/Parse::RecDescent/;
goto &{$AUTOLOAD};
}
}
push @Parse::RecDescent::namespace000001::ISA, 'Parse::RecDescent';
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::CRITERION
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"CRITERION"};
Parse::RecDescent::_trace(q{Trying rule: [CRITERION]},
Parse::RecDescent::_tracefirst($_[1]),
q{CRITERION})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' ARGSTRING ARGSTRING ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{CRITERION})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{CRITERION});
%item = (__RULE__ => q{CRITERION});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{ARGSTRING})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ARGSTRING($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ARGSTRING]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{ARGSTRING})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ARGSTRING($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ARGSTRING]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %nc = ();
$nc{type} = $item[2];
$nc{value} = $item[3];
$return = \%nc;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' ARGSTRING ARGSTRING ')']<<},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CRITERION})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{CRITERION});
%item = (__RULE__ => q{CRITERION});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{CRITERION})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{CRITERION})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{CRITERION})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{CRITERION});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{CRITERION})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::INTERFACE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"INTERFACE"};
Parse::RecDescent::_trace(q{Trying rule: [INTERFACE]},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'interface' IF_NAME CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{INTERFACE});
%item = (__RULE__ => q{INTERFACE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['interface']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'interface'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ainterface//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [IF_NAME]},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{IF_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::IF_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [IF_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [IF_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$item{q{IF_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %if = (); my ($rv, $ix); my %pl = ();
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$if{type} = $item{IF_NAME};
$if{value} = \%pl;
$return = \%if;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'interface' IF_NAME CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{INTERFACE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{INTERFACE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{INTERFACE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{INTERFACE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NET_PART
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NET_PART"};
Parse::RecDescent::_trace(q{Trying rule: [NET_PART]},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'nodelist' NETNODE ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NET_PART});
%item = (__RULE__ => q{NET_PART});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['nodelist']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'nodelist'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anodelist//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NETNODE]},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$expectation->is(q{NETNODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NETNODE, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NETNODE]>>},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NETNODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$item{q{NETNODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %np = (); my ($rv, $ix); my %nodes = ();
$ix = 0;
while (defined $item{NETNODE}[$ix])
{
$rv = $item{NETNODE}[$ix];
$nodes{$rv->{type}} = $rv->{value};
$ix++;
}
$np{type} = 'nodes';
$np{value} = \%nodes;
$return = \%np;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'nodelist' NETNODE ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'linklist' LINK ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{NET_PART});
%item = (__RULE__ => q{NET_PART});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['linklist']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'linklist'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Alinklist//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [LINK]},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$expectation->is(q{LINK})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::LINK, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [LINK]>>},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [LINK]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$item{q{LINK}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %np = (); my ($rv, $ix); my %links = ();
$ix = 0;
while (defined $item{LINK}[$ix])
{
$rv = $item{LINK}[$ix];
$links{$rv->{type}} = $rv->{value};
$ix++;
}
$np{type} = 'links';
$np{value} = \%links;
$return = \%np;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'linklist' LINK ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'netlist' TOPO_TRIPLE ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
$text = $_[1];
my $_savetext;
@item = (q{NET_PART});
%item = (__RULE__ => q{NET_PART});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['netlist']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'netlist'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anetlist//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [TOPO_TRIPLE]},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$expectation->is(q{TOPO_TRIPLE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::TOPO_TRIPLE, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TOPO_TRIPLE]>>},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TOPO_TRIPLE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$item{q{TOPO_TRIPLE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %np = ();
$np{type} = 'netlist';
$np{value} = $item{TOPO_TRIPLE};
$return = \%np;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'netlist' TOPO_TRIPLE ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'exportlist' TOPO_ENDPOINT ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[3];
$text = $_[1];
my $_savetext;
@item = (q{NET_PART});
%item = (__RULE__ => q{NET_PART});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['exportlist']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'exportlist'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aexportlist//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [TOPO_ENDPOINT]},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$expectation->is(q{TOPO_ENDPOINT})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::TOPO_ENDPOINT, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TOPO_ENDPOINT]>>},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TOPO_ENDPOINT]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$item{q{TOPO_ENDPOINT}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %np = ();
$np{type} = 'exportlist';
$np{value} = $item{TOPO_ENDPOINT};
$return = \%np;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'exportlist' TOPO_ENDPOINT ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[4];
my $_savetext;
@item = (q{NET_PART});
%item = (__RULE__ => q{NET_PART});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PART})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PART})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NET_PART})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NET_PART});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NET_PART})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NODE_NAME
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NODE_NAME"};
Parse::RecDescent::_trace(q{Trying rule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_NAME})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[_A-Za-z0-9-]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_NAME})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NODE_NAME});
%item = (__RULE__ => q{NODE_NAME});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[_A-Za-z0-9-]+/]}, Parse::RecDescent::_tracefirst($text),
q{NODE_NAME})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[_A-Za-z0-9-]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[_A-Za-z0-9-]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{NODE_NAME})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_NAME})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NODE_NAME})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NODE_NAME});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NODE_NAME})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NET_PROPS
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NET_PROPS"};
Parse::RecDescent::_trace(q{Trying rule: [NET_PROPS]},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PROPS})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'netprops' CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PROPS})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NET_PROPS});
%item = (__RULE__ => q{NET_PROPS});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['netprops']},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'netprops'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anetprops//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \%pl;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'netprops' CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NET_PROPS})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NET_PROPS})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NET_PROPS})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NET_PROPS});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NET_PROPS})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::TUNNEL
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"TUNNEL"};
Parse::RecDescent::_trace(q{Trying rule: [TUNNEL]},
Parse::RecDescent::_tracefirst($_[1]),
q{TUNNEL})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'tunnel' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{TUNNEL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{TUNNEL});
%item = (__RULE__ => q{TUNNEL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['tunnel']},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'tunnel'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Atunnel//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %rv = (); my ($href, $clref, $result);
$semerr = "";
$clref = $item{CRITERION};
foreach $href (@$clref)
{ $rv{$href->{type}} = $href->{value}; };
$result = XB_API_GUI::XB_check_tunnel (\%rv);
if ($result)
{
$semerr = $result;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%rv; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'tunnel' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{TUNNEL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{TUNNEL});
%item = (__RULE__ => q{TUNNEL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{TUNNEL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{TUNNEL})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{TUNNEL})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{TUNNEL});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{TUNNEL})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::API
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"API"};
Parse::RecDescent::_trace(q{Trying rule: [API]},
Parse::RecDescent::_tracefirst($_[1]),
q{API})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{API})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{API});
%item = (__RULE__ => q{API});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'xbone' ARGSTRING ARGSTRING CREDENTIAL COMMAND <commit> ')' END_OF_FILE]},
Parse::RecDescent::_tracefirst($_[1]),
q{API})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{API});
%item = (__RULE__ => q{API});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['xbone']},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'xbone'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Axbone//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{ARGSTRING})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ARGSTRING($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ARGSTRING]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{ARGSTRING})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ARGSTRING($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ARGSTRING]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [CREDENTIAL]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{CREDENTIAL})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::CREDENTIAL($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [CREDENTIAL]>>},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [CREDENTIAL]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$item{q{CREDENTIAL}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [COMMAND]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{COMMAND})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::COMMAND($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [COMMAND]>>},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [COMMAND]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$item{q{COMMAND}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %api = ();
my $result = undef;
$result = \%api;
$api{protocol} = $item[3];
$api{release} = $item[4];
$api{credential} = $item{CREDENTIAL};
$api{command} = $item{COMMAND};
if ($api{protocol} !~ /^[0-9]+\.[A-Za-z0-9-]+$/)
{
$semerr =
"ERROR: language protocol number has format: number.alphanumeric\n";
goto EXIT;
};
if ($api{release} !~ /^[0-9]+\.[A-Za-z-0-9-]+$/)
{
$semerr =
"ERROR: xbone version number has format: number.alphanumeric\n";
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%api; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [END_OF_FILE]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{END_OF_FILE})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::END_OF_FILE($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [END_OF_FILE]>>},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [END_OF_FILE]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$item{q{END_OF_FILE}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'xbone' ARGSTRING ARGSTRING CREDENTIAL COMMAND <commit> ')' END_OF_FILE]<<},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{API})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{API});
%item = (__RULE__ => q{API});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{API})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{API})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{API})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{API});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{API})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::CREDENTIAL
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"CREDENTIAL"};
Parse::RecDescent::_trace(q{Trying rule: [CREDENTIAL]},
Parse::RecDescent::_tracefirst($_[1]),
q{CREDENTIAL})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CREDENTIAL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{CREDENTIAL});
%item = (__RULE__ => q{CREDENTIAL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'credential' <commit> CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{CREDENTIAL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{CREDENTIAL});
%item = (__RULE__ => q{CREDENTIAL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['credential']},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'credential'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acredential//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($chref, $clref, $key);
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
##################################
# Perform keyword existence checks
##################################
my (@credential_keys) = ( 'user_name', 'user_email', 'auth_type' );
foreach $key (@credential_keys)
{
if (!exists ($cp{$key}))
{ $semerr = "Missing $key keyword in credentials."; };
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'credential' <commit> CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CREDENTIAL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{CREDENTIAL});
%item = (__RULE__ => q{CREDENTIAL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{CREDENTIAL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{CREDENTIAL})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{CREDENTIAL})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{CREDENTIAL});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{CREDENTIAL})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NETNODE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NETNODE"};
Parse::RecDescent::_trace(q{Trying rule: [NETNODE]},
Parse::RecDescent::_tracefirst($_[1]),
q{NETNODE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'node' SIMPLE_NODE ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NETNODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NETNODE});
%item = (__RULE__ => q{NETNODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['node']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'node'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anode//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [SIMPLE_NODE]},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{SIMPLE_NODE})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::SIMPLE_NODE($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [SIMPLE_NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [SIMPLE_NODE]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$item{q{SIMPLE_NODE}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$return = $item{SIMPLE_NODE};
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'node' SIMPLE_NODE ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'node' META_NODE ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NETNODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{NETNODE});
%item = (__RULE__ => q{NETNODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['node']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'node'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anode//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [META_NODE]},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{META_NODE})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::META_NODE($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [META_NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [META_NODE]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$item{q{META_NODE}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$return = $item{META_NODE};
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'node' META_NODE ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{NETNODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{NETNODE});
%item = (__RULE__ => q{NETNODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{NETNODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NETNODE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NETNODE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NETNODE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NETNODE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::COMMAND
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"COMMAND"};
Parse::RecDescent::_trace(q{Trying rule: [COMMAND]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'create_overlay_reply' CRITERION NODE ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['create_overlay_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'create_overlay_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acreate_overlay_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NODE]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{NODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NODE, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{NODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'create_overlay_reply';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_create_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'create_overlay_reply' CRITERION NODE ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'create_overlay' CRITERION XOL_PROGRAM ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['create_overlay']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'create_overlay'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acreate_overlay//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [XOL_PROGRAM]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{XOL_PROGRAM})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::XOL_PROGRAM($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [XOL_PROGRAM]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [XOL_PROGRAM]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{XOL_PROGRAM}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$retval = undef;
$cp{command} = 'create_overlay';
$cp{xol_program} = $item{XOL_PROGRAM};
$retval = XB_API_OM::XB_check_create (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'create_overlay' CRITERION XOL_PROGRAM ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'list_overlays_reply' CRITERION ARGSTRING ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[3];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['list_overlays_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'list_overlays_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Alist_overlays_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{ARGSTRING})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::ARGSTRING, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ARGSTRING]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'list_overlays_reply';
$cp{overlays} = $item{ARGSTRING};
$retval = XB_API_GUI::XB_check_list_overlays_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'list_overlays_reply' CRITERION ARGSTRING ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'list_overlays' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[4];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['list_overlays']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'list_overlays'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Alist_overlays//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'list_overlays';
$retval = XB_API_OM::XB_check_list_overlays (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'list_overlays' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'overlay_status_reply' CRITERION NODE ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[5];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['overlay_status_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'overlay_status_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aoverlay_status_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NODE]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{NODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NODE, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{NODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'overlay_status_reply';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_overlay_status_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'overlay_status_reply' CRITERION NODE ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'overlay_status' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[6];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['overlay_status']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'overlay_status'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aoverlay_status//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'overlay_status';
$retval = XB_API_OM::XB_check_overlay_status (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'overlay_status' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'discover_daemons_reply' CRITERION NODE ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[7];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['discover_daemons_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'discover_daemons_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adiscover_daemons_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NODE]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{NODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NODE, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{NODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'discover_daemons_reply';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_discover_daemons_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'discover_daemons_reply' CRITERION NODE ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'discover_daemons' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[8];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['discover_daemons']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'discover_daemons'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adiscover_daemons//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'discover_daemons';
$retval = XB_API_OM::XB_check_discover_daemons (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'discover_daemons' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'destroy_overlay_reply' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[9];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['destroy_overlay_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'destroy_overlay_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adestroy_overlay_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'destroy_overlay_reply';
$retval = XB_API_GUI::XB_check_destroy_overlay_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'destroy_overlay_reply' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'destroy_overlay' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[10];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['destroy_overlay']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'destroy_overlay'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adestroy_overlay//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'destroy_overlay';
$retval = XB_API_OM::XB_check_destroy_overlay (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'destroy_overlay' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'destroyall_overlays_reply' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[11];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['destroyall_overlays_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'destroyall_overlays_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adestroyall_overlays_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'destroyall_overlays_reply';
$retval = XB_APU_GUI::XB_check_destroyall_overlays_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'destroyall_overlays_reply' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'destroyall_overlays' CRITERION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[12];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['destroyall_overlays']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'destroyall_overlays'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adestroyall_overlays//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'destroyall_overlays';
$retval = XB_API_OM::XB_check_destroyall_overlays (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'destroyall_overlays' CRITERION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'host_choices_reply' NODE ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[13];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['host_choices_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'host_choices_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ahost_choices_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NODE]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{NODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NODE, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{NODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'host_choices_reply';
$cp{nodes} = $item{NODE};
$retval = XB_APU_OM::XB_check_host_choices_reply (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'host_choices_reply' NODE ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'host_choices' CRITERION NODE ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[14];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['host_choices']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'host_choices'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ahost_choices//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [NODE]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{NODE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NODE, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NODE]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NODE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{NODE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'host_choices';
$cp{nodes} = $item{NODE};
$retval = XB_APU_GUI::XB_check_host_choices (\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'host_choices' CRITERION NODE ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'error_reply' CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[15];
$text = $_[1];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['error_reply']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'error_reply'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aerror_reply//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = (); my ($chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = 'error_reply';
$return = \%cp;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'error_reply' CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[16];
my $_savetext;
@item = (q{COMMAND});
%item = (__RULE__ => q{COMMAND});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{COMMAND})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{COMMAND})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{COMMAND})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{COMMAND});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{COMMAND})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::TOPO_TRIPLE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"TOPO_TRIPLE"};
Parse::RecDescent::_trace(q{Trying rule: [TOPO_TRIPLE]},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' NODE_NAME '.' IF_NAME LINK_NAME NODE_NAME '.' IF_NAME ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{TOPO_TRIPLE});
%item = (__RULE__ => q{TOPO_TRIPLE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NODE_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$item{q{NODE_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: ['.']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'.'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [IF_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{IF_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::IF_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [IF_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [IF_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$item{q{IF_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [LINK_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{LINK_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::LINK_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [LINK_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [LINK_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$item{q{LINK_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NODE_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$item{q{NODE_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: ['.']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'.'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [IF_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{IF_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::IF_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [IF_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [IF_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$item{q{IF_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING4__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %tt = ();
$tt{left_node} = $item[2];
$tt{left_if} = $item[4];
$tt{link_name} = $item{LINK_NAME};
$tt{right_node} = $item[6];
$tt{right_if} = $item[8];
$return = \%tt;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' NODE_NAME '.' IF_NAME LINK_NAME NODE_NAME '.' IF_NAME ')']<<},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{TOPO_TRIPLE});
%item = (__RULE__ => q{TOPO_TRIPLE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{TOPO_TRIPLE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{TOPO_TRIPLE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{TOPO_TRIPLE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::META_NODE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"META_NODE"};
Parse::RecDescent::_trace(q{Trying rule: [META_NODE]},
Parse::RecDescent::_tracefirst($_[1]),
q{META_NODE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{META_NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{META_NODE});
%item = (__RULE__ => q{META_NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [NODE_NAME ':' CLASS_NAME NODE_PROPS <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{META_NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{META_NODE});
%item = (__RULE__ => q{META_NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$item{q{NODE_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [':']},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{':'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\://)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [CLASS_NAME]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{CLASS_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::CLASS_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [CLASS_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [CLASS_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$item{q{CLASS_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [NODE_PROPS]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NODE_PROPS})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_PROPS($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_PROPS]>>},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_PROPS]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$item{q{NODE_PROPS}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my (%nl, %pl) = ((), ());
if (!defined ($classes{$item{CLASS_NAME}}))
{
$semerr = "Class name $item{CLASS_NAME} not previously defined";
goto EXIT;
};
$pl{props} = $item{NODE_PROPS};
$pl{props}->{class} = $item{CLASS_NAME};
$pl{interfaces} =
XB_API_SUBS::XB_meta_node_imports ($classes{$item{CLASS_NAME}});
if (!$pl{interfaces})
{
$semerr = "Class name $item{CLASS_NAME} has an empty exportlist";
goto EXIT;
};
$nl{type} = $item{NODE_NAME};
$nl{value} = \%pl;
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%nl; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [NODE_NAME ':' CLASS_NAME NODE_PROPS <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{META_NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{META_NODE});
%item = (__RULE__ => q{META_NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{META_NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{META_NODE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{META_NODE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{META_NODE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{META_NODE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NODE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NODE"};
Parse::RecDescent::_trace(q{Trying rule: [NODE]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'node' CRITERION TUNNEL ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NODE});
%item = (__RULE__ => q{NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['node']},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'node'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anode//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [TUNNEL]},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$expectation->is(q{TUNNEL})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::TUNNEL, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [TUNNEL]>>},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [TUNNEL]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$item{q{TUNNEL}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %rv = (); my ($href, $clref, $result);
$semerr = "";
$clref = $item{CRITERION};
foreach $href (@$clref)
{ $rv{$href->{type}} = $href->{value}; };
$rv{tunnels} = $item{TUNNEL};
$result = XB_API_GUI::XB_check_node (\%rv);
if ($result)
{
$semerr = $result;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%rv; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'node' CRITERION TUNNEL ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{NODE});
%item = (__RULE__ => q{NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NODE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NODE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NODE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::XOL_PROTOCOL
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"XOL_PROTOCOL"};
Parse::RecDescent::_trace(q{Trying rule: [XOL_PROTOCOL]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{XOL_PROTOCOL});
%item = (__RULE__ => q{XOL_PROTOCOL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [ARGSTRING <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{XOL_PROTOCOL});
%item = (__RULE__ => q{XOL_PROTOCOL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ARGSTRING($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ARGSTRING]>>},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ARGSTRING]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$item{q{ARGSTRING}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
if ($item{ARGSTRING} !~ /^[0-9]+\.[A-Za-z0-9-]+$/)
{
$semerr = "Protocol number has format: number.alphanumeric.";
$return = undef;
}
else
{ $return = $item{ARGSTRING}; };
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [ARGSTRING <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{XOL_PROTOCOL});
%item = (__RULE__ => q{XOL_PROTOCOL});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{XOL_PROTOCOL})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{XOL_PROTOCOL});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{XOL_PROTOCOL})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::CLASS
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"CLASS"};
Parse::RecDescent::_trace(q{Trying rule: [CLASS]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{CLASS});
%item = (__RULE__ => q{CLASS});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'class' CLASS_NAME NETWORK ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{CLASS});
%item = (__RULE__ => q{CLASS});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['class']},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'class'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aclass//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [CLASS_NAME]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{CLASS_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::CLASS_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [CLASS_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [CLASS_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$item{q{CLASS_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [NETWORK]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NETWORK})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NETWORK($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NETWORK]>>},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NETWORK]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$item{q{NETWORK}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %cp = ();
$cp{class} = $item{CLASS_NAME};
$cp{network} = $item{NETWORK};
if (!XB_API_SUBS::XB_class_consistency (\%cp, \$semerr))
{ goto EXIT };
if (defined $classes{$item{CLASS_NAME}})
{
$semerr = "Class $item{CLASS_NAME} has been defined already";
goto EXIT;
};
$classes{$item{CLASS_NAME}} = $item{NETWORK};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%cp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'class' CLASS_NAME NETWORK ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{CLASS});
%item = (__RULE__ => q{CLASS});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{CLASS})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{CLASS})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{CLASS});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{CLASS})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::SIMPLE_NODE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"SIMPLE_NODE"};
Parse::RecDescent::_trace(q{Trying rule: [SIMPLE_NODE]},
Parse::RecDescent::_tracefirst($_[1]),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [NODE_NAME NODE_PROPS INTERFACES]},
Parse::RecDescent::_tracefirst($_[1]),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{SIMPLE_NODE});
%item = (__RULE__ => q{SIMPLE_NODE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$item{q{NODE_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [NODE_PROPS]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NODE_PROPS})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_PROPS($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_PROPS]>>},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_PROPS]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$item{q{NODE_PROPS}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [INTERFACES]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{INTERFACES})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::INTERFACES($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [INTERFACES]>>},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [INTERFACES]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$item{q{INTERFACES}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %nl = (); my %pl = ();
$pl{props} = $item{NODE_PROPS};
$pl{props}->{class} = undef;
$pl{interfaces} = $item{INTERFACES};
$nl{type} = $item{NODE_NAME};
$nl{value} = \%pl;
$return = \%nl;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [NODE_NAME NODE_PROPS INTERFACES]<<},
Parse::RecDescent::_tracefirst($text),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{SIMPLE_NODE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{SIMPLE_NODE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{SIMPLE_NODE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{SIMPLE_NODE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::ARGSTRING
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"ARGSTRING"};
Parse::RecDescent::_trace(q{Trying rule: [ARGSTRING]},
Parse::RecDescent::_tracefirst($_[1]),
q{ARGSTRING})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/"[^"]+"/]},
Parse::RecDescent::_tracefirst($_[1]),
q{ARGSTRING})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{ARGSTRING});
%item = (__RULE__ => q{ARGSTRING});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/"[^"]+"/]}, Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:"[^"]+")//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $item[1] =~ s/"//g; $return = $item[1]; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [/"[^"]+"/]<<},
Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/'[^']+'/]},
Parse::RecDescent::_tracefirst($_[1]),
q{ARGSTRING})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{ARGSTRING});
%item = (__RULE__ => q{ARGSTRING});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/'[^']+'/]}, Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:'[^']+')//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $item[1] =~ s/'//g; $return = $item[1]; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [/'[^']+'/]<<},
Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[^()\\s]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{ARGSTRING})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
$text = $_[1];
my $_savetext;
@item = (q{ARGSTRING});
%item = (__RULE__ => q{ARGSTRING});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[^()\\s]+/]}, Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[^()\s]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[^()\\s]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{ARGSTRING})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{ARGSTRING})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{ARGSTRING})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{ARGSTRING});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{ARGSTRING})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::LINK
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"LINK"};
Parse::RecDescent::_trace(q{Trying rule: [LINK]},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'link' LINK_NAME CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{LINK});
%item = (__RULE__ => q{LINK});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['link']},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'link'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Alink//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [LINK_NAME]},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{LINK_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::LINK_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [LINK_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [LINK_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$item{q{LINK_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %ln = (); my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$ln{type} = $item{LINK_NAME};
$ln{value} = \%pl;
$return = \%ln;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'link' LINK_NAME CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{LINK});
%item = (__RULE__ => q{LINK});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{LINK})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{LINK})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{LINK});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{LINK})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::CLASS_NAME
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"CLASS_NAME"};
Parse::RecDescent::_trace(q{Trying rule: [CLASS_NAME]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS_NAME})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[_A-Za-z0-9-]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS_NAME})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{CLASS_NAME});
%item = (__RULE__ => q{CLASS_NAME});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[_A-Za-z0-9-]+/]}, Parse::RecDescent::_tracefirst($text),
q{CLASS_NAME})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[_A-Za-z0-9-]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[_A-Za-z0-9-]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{CLASS_NAME})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{CLASS_NAME})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{CLASS_NAME})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{CLASS_NAME});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{CLASS_NAME})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::ROOT_DECLARATION
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"ROOT_DECLARATION"};
Parse::RecDescent::_trace(q{Trying rule: [ROOT_DECLARATION]},
Parse::RecDescent::_tracefirst($_[1]),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'root' CLASS_NAME OBJECT_NAME ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{ROOT_DECLARATION});
%item = (__RULE__ => q{ROOT_DECLARATION});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['root']},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'root'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aroot//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [CLASS_NAME]},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{CLASS_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::CLASS_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [CLASS_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [CLASS_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$item{q{CLASS_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [OBJECT_NAME]},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{OBJECT_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::OBJECT_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [OBJECT_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [OBJECT_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$item{q{OBJECT_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %objref = ();
$objref{directive} = 'root';
$objref{class_name} = $item{CLASS_NAME};
$objref{object_name} = $item{OBJECT_NAME};
$return = \%objref;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'root' CLASS_NAME OBJECT_NAME ')']<<},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{ROOT_DECLARATION});
%item = (__RULE__ => q{ROOT_DECLARATION});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{ROOT_DECLARATION})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{ROOT_DECLARATION});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{ROOT_DECLARATION})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::END_OF_FILE
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"END_OF_FILE"};
Parse::RecDescent::_trace(q{Trying rule: [END_OF_FILE]},
Parse::RecDescent::_tracefirst($_[1]),
q{END_OF_FILE})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/\\Z/]},
Parse::RecDescent::_tracefirst($_[1]),
q{END_OF_FILE})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{END_OF_FILE});
%item = (__RULE__ => q{END_OF_FILE});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/\\Z/]}, Parse::RecDescent::_tracefirst($text),
q{END_OF_FILE})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\Z)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/\\Z/]<<},
Parse::RecDescent::_tracefirst($text),
q{END_OF_FILE})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{END_OF_FILE})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{END_OF_FILE})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{END_OF_FILE});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{END_OF_FILE})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::OBJECT_NAME
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"OBJECT_NAME"};
Parse::RecDescent::_trace(q{Trying rule: [OBJECT_NAME]},
Parse::RecDescent::_tracefirst($_[1]),
q{OBJECT_NAME})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[_A-Za-z0-9-.]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{OBJECT_NAME})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{OBJECT_NAME});
%item = (__RULE__ => q{OBJECT_NAME});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[_A-Za-z0-9-.]+/]}, Parse::RecDescent::_tracefirst($text),
q{OBJECT_NAME})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[_A-Za-z0-9-.]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[_A-Za-z0-9-.]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{OBJECT_NAME})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{OBJECT_NAME})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{OBJECT_NAME})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{OBJECT_NAME});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{OBJECT_NAME})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NODE_PROPS
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NODE_PROPS"};
Parse::RecDescent::_trace(q{Trying rule: [NODE_PROPS]},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_PROPS})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'nodeprops' CRITERION ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_PROPS})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NODE_PROPS});
%item = (__RULE__ => q{NODE_PROPS});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['nodeprops']},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'nodeprops'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anodeprops//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [CRITERION]},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$expectation->is(q{CRITERION})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CRITERION, 0, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CRITERION]>>},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CRITERION]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$item{q{CRITERION}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \%pl;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'nodeprops' CRITERION ')']<<},
Parse::RecDescent::_tracefirst($text),
q{NODE_PROPS})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NODE_PROPS})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NODE_PROPS})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NODE_PROPS});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NODE_PROPS})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::IF_NAME
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"IF_NAME"};
Parse::RecDescent::_trace(q{Trying rule: [IF_NAME]},
Parse::RecDescent::_tracefirst($_[1]),
q{IF_NAME})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[_A-Za-z0-9-]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{IF_NAME})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{IF_NAME});
%item = (__RULE__ => q{IF_NAME});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[_A-Za-z0-9-]+/]}, Parse::RecDescent::_tracefirst($text),
q{IF_NAME})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[_A-Za-z0-9-]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[_A-Za-z0-9-]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{IF_NAME})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{IF_NAME})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{IF_NAME})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{IF_NAME});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{IF_NAME})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::LINK_NAME
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"LINK_NAME"};
Parse::RecDescent::_trace(q{Trying rule: [LINK_NAME]},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK_NAME})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [/[_A-Za-z0-9-]+/]},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK_NAME})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{LINK_NAME});
%item = (__RULE__ => q{LINK_NAME});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/[_A-Za-z0-9-]+/]}, Parse::RecDescent::_tracefirst($text),
q{LINK_NAME})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[_A-Za-z0-9-]+)//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/[_A-Za-z0-9-]+/]<<},
Parse::RecDescent::_tracefirst($text),
q{LINK_NAME})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{LINK_NAME})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{LINK_NAME})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{LINK_NAME});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{LINK_NAME})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::NETWORK
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"NETWORK"};
Parse::RecDescent::_trace(q{Trying rule: [NETWORK]},
Parse::RecDescent::_tracefirst($_[1]),
q{NETWORK})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [NET_PROPS NET_PART]},
Parse::RecDescent::_tracefirst($_[1]),
q{NETWORK})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{NETWORK});
%item = (__RULE__ => q{NETWORK});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [NET_PROPS]},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NET_PROPS($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NET_PROPS]>>},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NET_PROPS]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$item{q{NET_PROPS}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [NET_PART]},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$expectation->is(q{NET_PART})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::NET_PART, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [NET_PART]>>},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NET_PART]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$item{q{NET_PART}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %nwp = (); my ($rv, $ix); my %pl = ();
$ix = 0;
while (defined $item{NET_PART}[$ix])
{
$rv = $item{NET_PART}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$nwp{props} = $item{NET_PROPS};
$nwp{net_parts} = \%pl;;
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%nwp; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [NET_PROPS NET_PART]<<},
Parse::RecDescent::_tracefirst($text),
q{NETWORK})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{NETWORK})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{NETWORK})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{NETWORK});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{NETWORK})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::INTERFACES
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"INTERFACES"};
Parse::RecDescent::_trace(q{Trying rule: [INTERFACES]},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACES})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'interfaces' INTERFACE ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACES})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{INTERFACES});
%item = (__RULE__ => q{INTERFACES});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['interfaces']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'interfaces'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ainterfaces//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying repeated subrule: [INTERFACE]},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$expectation->is(q{INTERFACE})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::INTERFACE, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [INTERFACE]>>},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [INTERFACE]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$item{q{INTERFACE}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %ifpl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{INTERFACE}[$ix])
{
$rv = $item{INTERFACE}[$ix];
$ifpl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \%ifpl;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'interfaces' INTERFACE ')']<<},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACES})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{INTERFACES});
%item = (__RULE__ => q{INTERFACES});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{INTERFACES})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{INTERFACES})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{INTERFACES})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{INTERFACES});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{INTERFACES})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::XOL_PROGRAM
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"XOL_PROGRAM"};
Parse::RecDescent::_trace(q{Trying rule: [XOL_PROGRAM]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [<reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{XOL_PROGRAM});
%item = (__RULE__ => q{XOL_PROGRAM});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $semerr = ""; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' 'xol' XOL_PROTOCOL CLASS ROOT_DECLARATION ')' <commit>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{XOL_PROGRAM});
%item = (__RULE__ => q{XOL_PROGRAM});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying terminal: ['xol']},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'xol'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Axol//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [XOL_PROTOCOL]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{XOL_PROTOCOL})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::XOL_PROTOCOL($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [XOL_PROTOCOL]>>},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [XOL_PROTOCOL]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$item{q{XOL_PROTOCOL}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [CLASS]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$expectation->is(q{CLASS})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::namespace000001::CLASS, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [CLASS]>>},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [CLASS]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$item{q{CLASS}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [ROOT_DECLARATION]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{ROOT_DECLARATION})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::ROOT_DECLARATION($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [ROOT_DECLARATION]>>},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [ROOT_DECLARATION]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$item{q{ROOT_DECLARATION}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = do { $commit = 1 };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %program = ();
$program{xol_protocol} = $item{XOL_PROTOCOL};
%classes = ();
$program{classes} = $item{CLASS};
$program{directive} = $item{ROOT_DECLARATION};
if (!XB_API_SUBS::XB_directives_consistency ( \%program,
\$semerr ) )
{ goto EXIT; };
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \%program; }
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' 'xol' XOL_PROTOCOL CLASS ROOT_DECLARATION ')' <commit>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
my $_savetext;
@item = (q{XOL_PROGRAM});
%item = (__RULE__ => q{XOL_PROGRAM});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{$semerr},$thisline];} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Rejecting production<< (found <reject>)},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_tok = undef;
last unless defined $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
Parse::RecDescent::_tracefirst($text),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{XOL_PROGRAM})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{XOL_PROGRAM})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{XOL_PROGRAM});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{XOL_PROGRAM})
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::namespace000001::TOPO_ENDPOINT
{
my $thisparser = $_[0];
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"TOPO_ENDPOINT"};
Parse::RecDescent::_trace(q{Trying rule: [TOPO_ENDPOINT]},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
my $err_at = @{$thisparser->{errors}};
my $score;
my $score_return;
my $_tok;
my $return = undef;
my $_matched=0;
my $commit=0;
my @item = ();
my %item = ();
my $repeating = defined($_[2]) && $_[2];
my $_noactions = defined($_[3]) && $_[3];
my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
my %arg = ($#arg & 01) ? @arg : (@arg, undef);
my $text;
my $lastsep="";
my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
$expectation->at($_[1]);
my $thisline;
tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: ['(' NODE_NAME '.' IF_NAME ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{TOPO_ENDPOINT});
%item = (__RULE__ => q{TOPO_ENDPOINT});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [NODE_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{NODE_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::NODE_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [NODE_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [NODE_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$item{q{NODE_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: ['.']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{'.'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\.//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{Trying subrule: [IF_NAME]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{IF_NAME})->at($text);
unless (defined ($_tok = Parse::RecDescent::namespace000001::IF_NAME($thisparser,$text,$repeating,$_noactions,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [IF_NAME]>>},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [IF_NAME]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$item{q{IF_NAME}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{')'})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
{
$expectation->failed();
Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING3__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my %tt = ();
$tt{node} = $item{NODE_NAME};
$tt{if} = $item{IF_NAME};
$return = \%tt;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])}, $text)
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: ['(' NODE_NAME '.' IF_NAME ')']<<},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{TOPO_ENDPOINT});
%item = (__RULE__ => q{TOPO_ENDPOINT});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$_matched = 1;
last;
}
unless ( $_matched || defined($return) || defined($score) )
{
$_[1] = $text; # NOT SURE THIS IS NEEDED
Parse::RecDescent::_trace(q{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{TOPO_ENDPOINT})
if defined $::RD_TRACE;
$return = $score_return;
}
splice @{$thisparser->{errors}}, $err_at;
$return = $item[$#item] unless defined $return;
if (defined $::RD_TRACE)
{
Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
$return . q{])}, "",
q{TOPO_ENDPOINT});
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{TOPO_ENDPOINT})
}
$_[1] = $text;
return $return;
}
}
package XB_API_parser; sub new { my $self = bless( {
'_AUTOTREE' => undef,
'localvars' => '',
'startcode' => '',
'_check' => {
'thisoffset' => '',
'itempos' => '',
'prevoffset' => '',
'prevline' => '',
'prevcolumn' => '',
'thiscolumn' => ''
},
'namespace' => 'Parse::RecDescent::namespace000001',
'_AUTOACTION' => undef,
'rules' => {
'CRITERION' => bless( {
'impcount' => 0,
'calls' => [
'ARGSTRING'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 2,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 932
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'ARGSTRING',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 932
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'ARGSTRING',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 932
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING2__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 932
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 933,
'code' => '{
my %nc = ();
$nc{type} = $item[2];
$nc{value} = $item[3];
$return = \\%nc;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 940
}, 'Parse::RecDescent::Error' )
],
'line' => 940
}, 'Parse::RecDescent::Production' )
],
'name' => 'CRITERION',
'vars' => '',
'changed' => 0,
'line' => 932
}, 'Parse::RecDescent::Rule' ),
'INTERFACE' => bless( {
'impcount' => 0,
'calls' => [
'IF_NAME',
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 849
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'interface',
'hashname' => '__STRING2__',
'description' => '\'interface\'',
'lookahead' => 0,
'line' => 849
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'IF_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 849
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 849
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 849
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 850,
'code' => '{
my %if = (); my ($rv, $ix); my %pl = ();
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$if{type} = $item{IF_NAME};
$if{value} = \\%pl;
$return = \\%if;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'INTERFACE',
'vars' => '',
'changed' => 0,
'line' => 849
}, 'Parse::RecDescent::Rule' ),
'NET_PART' => bless( {
'impcount' => 0,
'calls' => [
'NETNODE',
'LINK',
'TOPO_TRIPLE',
'TOPO_ENDPOINT'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 686
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'nodelist',
'hashname' => '__STRING2__',
'description' => '\'nodelist\'',
'lookahead' => 0,
'line' => 686
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'NETNODE',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 686
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 686
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 687,
'code' => '{
my %np = (); my ($rv, $ix); my %nodes = ();
$ix = 0;
while (defined $item{NETNODE}[$ix])
{
$rv = $item{NETNODE}[$ix];
$nodes{$rv->{type}} = $rv->{value};
$ix++;
}
$np{type} = \'nodes\';
$np{value} = \\%nodes;
$return = \\%np;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 706
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'linklist',
'hashname' => '__STRING2__',
'description' => '\'linklist\'',
'lookahead' => 0,
'line' => 706
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'LINK',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 706
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 706
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 707,
'code' => '{
my %np = (); my ($rv, $ix); my %links = ();
$ix = 0;
while (defined $item{LINK}[$ix])
{
$rv = $item{LINK}[$ix];
$links{$rv->{type}} = $rv->{value};
$ix++;
}
$np{type} = \'links\';
$np{value} = \\%links;
$return = \\%np;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 706
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 726
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'netlist',
'hashname' => '__STRING2__',
'description' => '\'netlist\'',
'lookahead' => 0,
'line' => 726
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'TOPO_TRIPLE',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 726
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 726
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 727,
'code' => '{
my %np = ();
$np{type} = \'netlist\';
$np{value} = $item{TOPO_TRIPLE};
$return = \\%np;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 726
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '3',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 737
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'exportlist',
'hashname' => '__STRING2__',
'description' => '\'exportlist\'',
'lookahead' => 0,
'line' => 737
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'TOPO_ENDPOINT',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 737
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 737
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 738,
'code' => '{
my %np = ();
$np{type} = \'exportlist\';
$np{value} = $item{TOPO_ENDPOINT};
$return = \\%np;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 737
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '4',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 747
}, 'Parse::RecDescent::Error' )
],
'line' => 747
}, 'Parse::RecDescent::Production' )
],
'name' => 'NET_PART',
'vars' => '',
'changed' => 0,
'line' => 686
}, 'Parse::RecDescent::Rule' ),
'NODE_NAME' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[_A-Za-z0-9-]+/',
'rdelim' => '/',
'pattern' => '[_A-Za-z0-9-]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 968
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'NODE_NAME',
'vars' => '',
'changed' => 0,
'line' => 968
}, 'Parse::RecDescent::Rule' ),
'NET_PROPS' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 669
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'netprops',
'hashname' => '__STRING2__',
'description' => '\'netprops\'',
'lookahead' => 0,
'line' => 669
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 669
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 669
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 670,
'code' => '{
my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \\%pl;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'NET_PROPS',
'vars' => '',
'changed' => 0,
'line' => 669
}, 'Parse::RecDescent::Rule' ),
'TUNNEL' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 562
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'tunnel',
'hashname' => '__STRING2__',
'description' => '\'tunnel\'',
'lookahead' => 0,
'line' => 562
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 562
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 562
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 562,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 563,
'code' => '{
my %rv = (); my ($href, $clref, $result);
$semerr = "";
$clref = $item{CRITERION};
foreach $href (@$clref)
{ $rv{$href->{type}} = $href->{value}; };
$result = XB_API_GUI::XB_check_tunnel (\\%rv);
if ($result)
{
$semerr = $result;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%rv; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 585
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 585
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 585
}, 'Parse::RecDescent::Production' )
],
'name' => 'TUNNEL',
'vars' => '',
'changed' => 0,
'line' => 562
}, 'Parse::RecDescent::Rule' ),
'API' => bless( {
'impcount' => 0,
'calls' => [
'ARGSTRING',
'CREDENTIAL',
'COMMAND',
'END_OF_FILE'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 8,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 8
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'xbone',
'hashname' => '__STRING2__',
'description' => '\'xbone\'',
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'ARGSTRING',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'ARGSTRING',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'CREDENTIAL',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'COMMAND',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 10
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 10,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 11,
'code' => '{
my %api = ();
my $result = undef;
$result = \\%api;
$api{protocol} = $item[3];
$api{release} = $item[4];
$api{credential} = $item{CREDENTIAL};
$api{command} = $item{COMMAND};
if ($api{protocol} !~ /^[0-9]+\\.[A-Za-z0-9-]+$/)
{
$semerr =
"ERROR: language protocol number has format: number.alphanumeric\\n";
goto EXIT;
};
if ($api{release} !~ /^[0-9]+\\.[A-Za-z-0-9-]+$/)
{
$semerr =
"ERROR: xbone version number has format: number.alphanumeric\\n";
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%api; }
}'
}, 'Parse::RecDescent::Action' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 42
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'END_OF_FILE',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 42
}, 'Parse::RecDescent::Subrule' )
],
'line' => 10
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 44
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 44
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 44
}, 'Parse::RecDescent::Production' )
],
'name' => 'API',
'vars' => '',
'changed' => 0,
'line' => 8
}, 'Parse::RecDescent::Rule' ),
'CREDENTIAL' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 47,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 47
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 49
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'credential',
'hashname' => '__STRING2__',
'description' => '\'credential\'',
'lookahead' => 0,
'line' => 49
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 49,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 49
}, 'Parse::RecDescent::Repetition' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 50,
'code' => '{
my %cp = (); my ($chref, $clref, $key);
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
##################################
# Perform keyword existence checks
##################################
my (@credential_keys) = ( \'user_name\', \'user_email\', \'auth_type\' );
foreach $key (@credential_keys)
{
if (!exists ($cp{$key}))
{ $semerr = "Missing $key keyword in credentials."; };
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 76
}, 'Parse::RecDescent::Literal' )
],
'line' => 49
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 78
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 78
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 78
}, 'Parse::RecDescent::Production' )
],
'name' => 'CREDENTIAL',
'vars' => '',
'changed' => 0,
'line' => 47
}, 'Parse::RecDescent::Rule' ),
'NETNODE' => bless( {
'impcount' => 0,
'calls' => [
'SIMPLE_NODE',
'META_NODE'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 750
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'node',
'hashname' => '__STRING2__',
'description' => '\'node\'',
'lookahead' => 0,
'line' => 750
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'SIMPLE_NODE',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 750
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 750
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 751,
'code' => '{
$return = $item{SIMPLE_NODE};
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 754
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'node',
'hashname' => '__STRING2__',
'description' => '\'node\'',
'lookahead' => 0,
'line' => 754
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'META_NODE',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 754
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 754
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 755,
'code' => '{
$return = $item{META_NODE};
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 754
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 759
}, 'Parse::RecDescent::Error' )
],
'line' => 759
}, 'Parse::RecDescent::Production' )
],
'name' => 'NETNODE',
'vars' => '',
'changed' => 0,
'line' => 750
}, 'Parse::RecDescent::Rule' ),
'COMMAND' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION',
'NODE',
'XOL_PROGRAM',
'ARGSTRING'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 83,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 83
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 85
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'create_overlay_reply',
'hashname' => '__STRING2__',
'description' => '\'create_overlay_reply\'',
'lookahead' => 0,
'line' => 85
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 85
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'NODE',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 85
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 85
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 85,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 86,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'create_overlay_reply\';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_create_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 85
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'create_overlay',
'hashname' => '__STRING2__',
'description' => '\'create_overlay\'',
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'XOL_PROGRAM',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 116,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 117,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$retval = undef;
$cp{command} = \'create_overlay\';
$cp{xol_program} = $item{XOL_PROGRAM};
$retval = XB_API_OM::XB_check_create (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 116
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '3',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 147
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'list_overlays_reply',
'hashname' => '__STRING2__',
'description' => '\'list_overlays_reply\'',
'lookahead' => 0,
'line' => 147
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 147
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'ARGSTRING',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 147
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 147
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 147,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 148,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'list_overlays_reply\';
$cp{overlays} = $item{ARGSTRING};
$retval = XB_API_GUI::XB_check_list_overlays_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 147
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '4',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 178
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'list_overlays',
'hashname' => '__STRING2__',
'description' => '\'list_overlays\'',
'lookahead' => 0,
'line' => 178
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 178
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 178
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 178,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 179,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'list_overlays\';
$retval = XB_API_OM::XB_check_list_overlays (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 178
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '5',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 208
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'overlay_status_reply',
'hashname' => '__STRING2__',
'description' => '\'overlay_status_reply\'',
'lookahead' => 0,
'line' => 208
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 208
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'NODE',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 208
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 208
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 208,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 209,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'overlay_status_reply\';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_overlay_status_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 208
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '6',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 239
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'overlay_status',
'hashname' => '__STRING2__',
'description' => '\'overlay_status\'',
'lookahead' => 0,
'line' => 239
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 239
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 239
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 239,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 240,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'overlay_status\';
$retval = XB_API_OM::XB_check_overlay_status (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 239
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '7',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 269
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'discover_daemons_reply',
'hashname' => '__STRING2__',
'description' => '\'discover_daemons_reply\'',
'lookahead' => 0,
'line' => 269
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 269
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'NODE',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 269
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 269
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 269,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 270,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'discover_daemons_reply\';
$cp{nodes} = $item{NODE};
$retval = XB_API_GUI::XB_check_discover_daemons_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 269
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '8',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 300
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'discover_daemons',
'hashname' => '__STRING2__',
'description' => '\'discover_daemons\'',
'lookahead' => 0,
'line' => 300
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 300
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 300
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 300,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 301,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'discover_daemons\';
$retval = XB_API_OM::XB_check_discover_daemons (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 300
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '9',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 330
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'destroy_overlay_reply',
'hashname' => '__STRING2__',
'description' => '\'destroy_overlay_reply\'',
'lookahead' => 0,
'line' => 330
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 330
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 330
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 330,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 331,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'destroy_overlay_reply\';
$retval = XB_API_GUI::XB_check_destroy_overlay_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 330
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '10',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 360
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'destroy_overlay',
'hashname' => '__STRING2__',
'description' => '\'destroy_overlay\'',
'lookahead' => 0,
'line' => 360
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 360
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 360
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 360,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 361,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'destroy_overlay\';
$retval = XB_API_OM::XB_check_destroy_overlay (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 360
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '11',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 390
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'destroyall_overlays_reply',
'hashname' => '__STRING2__',
'description' => '\'destroyall_overlays_reply\'',
'lookahead' => 0,
'line' => 390
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 390
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 390
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 390,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 391,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'destroyall_overlays_reply\';
$retval = XB_APU_GUI::XB_check_destroyall_overlays_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 390
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '12',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 420
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'destroyall_overlays',
'hashname' => '__STRING2__',
'description' => '\'destroyall_overlays\'',
'lookahead' => 0,
'line' => 420
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 420
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 420
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 420,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 421,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'destroyall_overlays\';
$retval = XB_API_OM::XB_check_destroyall_overlays (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 420
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '13',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 450
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'host_choices_reply',
'hashname' => '__STRING2__',
'description' => '\'host_choices_reply\'',
'lookahead' => 0,
'line' => 450
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'NODE',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 450
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 450
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 450,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 451,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'host_choices_reply\';
$cp{nodes} = $item{NODE};
$retval = XB_APU_OM::XB_check_host_choices_reply (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 450
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '14',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 481
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'host_choices',
'hashname' => '__STRING2__',
'description' => '\'host_choices\'',
'lookahead' => 0,
'line' => 481
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 481
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'NODE',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 481
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 481
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 481,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 482,
'code' => '{
my %cp = (); my ($retval, $chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'host_choices\';
$cp{nodes} = $item{NODE};
$retval = XB_APU_GUI::XB_check_host_choices (\\%cp);
if ($retval)
{
$semerr = $retval;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 481
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '15',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 512
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'error_reply',
'hashname' => '__STRING2__',
'description' => '\'error_reply\'',
'lookahead' => 0,
'line' => 512
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 512
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 512
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 513,
'code' => '{
my %cp = (); my ($chref, $clref);
###################################
# Gather CRITERION name/value pairs
###################################
$semerr = "";
$clref = $item{CRITERION};
foreach $chref (@$clref)
{ $cp{$chref->{type}} = $chref->{value}; };
$cp{command} = \'error_reply\';
$return = \\%cp;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 512
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '16',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 530
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 530
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 530
}, 'Parse::RecDescent::Production' )
],
'name' => 'COMMAND',
'vars' => '',
'changed' => 0,
'line' => 83
}, 'Parse::RecDescent::Rule' ),
'TOPO_TRIPLE' => bless( {
'impcount' => 0,
'calls' => [
'NODE_NAME',
'IF_NAME',
'LINK_NAME'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 4,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'NODE_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => '.',
'hashname' => '__STRING2__',
'description' => '\'.\'',
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'IF_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'LINK_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'NODE_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => '.',
'hashname' => '__STRING3__',
'description' => '\'.\'',
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'IF_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING4__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 890
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 891,
'code' => '{
my %tt = ();
$tt{left_node} = $item[2];
$tt{left_if} = $item[4];
$tt{link_name} = $item{LINK_NAME};
$tt{right_node} = $item[6];
$tt{right_if} = $item[8];
$return = \\%tt;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 903
}, 'Parse::RecDescent::Error' )
],
'line' => 903
}, 'Parse::RecDescent::Production' )
],
'name' => 'TOPO_TRIPLE',
'vars' => '',
'changed' => 0,
'line' => 890
}, 'Parse::RecDescent::Rule' ),
'META_NODE' => bless( {
'impcount' => 0,
'calls' => [
'NODE_NAME',
'CLASS_NAME',
'NODE_PROPS'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 777,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 777
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 1,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'NODE_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 779
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ':',
'hashname' => '__STRING1__',
'description' => '\':\'',
'lookahead' => 0,
'line' => 779
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CLASS_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 779
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'NODE_PROPS',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 779
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 779,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 780,
'code' => '{
my (%nl, %pl) = ((), ());
if (!defined ($classes{$item{CLASS_NAME}}))
{
$semerr = "Class name $item{CLASS_NAME} not previously defined";
goto EXIT;
};
$pl{props} = $item{NODE_PROPS};
$pl{props}->{class} = $item{CLASS_NAME};
$pl{interfaces} =
XB_API_SUBS::XB_meta_node_imports ($classes{$item{CLASS_NAME}});
if (!$pl{interfaces})
{
$semerr = "Class name $item{CLASS_NAME} has an empty exportlist";
goto EXIT;
};
$nl{type} = $item{NODE_NAME};
$nl{value} = \\%pl;
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%nl; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 779
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 810
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 810
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 810
}, 'Parse::RecDescent::Production' )
],
'name' => 'META_NODE',
'vars' => '',
'changed' => 0,
'line' => 777
}, 'Parse::RecDescent::Rule' ),
'NODE' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION',
'TUNNEL'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 533
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'node',
'hashname' => '__STRING2__',
'description' => '\'node\'',
'lookahead' => 0,
'line' => 533
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 533
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'TUNNEL',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 533
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 533
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 533,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 534,
'code' => '{
my %rv = (); my ($href, $clref, $result);
$semerr = "";
$clref = $item{CRITERION};
foreach $href (@$clref)
{ $rv{$href->{type}} = $href->{value}; };
$rv{tunnels} = $item{TUNNEL};
$result = XB_API_GUI::XB_check_node (\\%rv);
if ($result)
{
$semerr = $result;
goto EXIT;
};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%rv; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 559
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 559
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 559
}, 'Parse::RecDescent::Production' )
],
'name' => 'NODE',
'vars' => '',
'changed' => 0,
'line' => 533
}, 'Parse::RecDescent::Rule' ),
'XOL_PROTOCOL' => bless( {
'impcount' => 0,
'calls' => [
'ARGSTRING'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 943,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 943
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'ARGSTRING',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 945
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 945,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 946,
'code' => '{
if ($item{ARGSTRING} !~ /^[0-9]+\\.[A-Za-z0-9-]+$/)
{
$semerr = "Protocol number has format: number.alphanumeric.";
$return = undef;
}
else
{ $return = $item{ARGSTRING}; };
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 945
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 956
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 956
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 956
}, 'Parse::RecDescent::Production' )
],
'name' => 'XOL_PROTOCOL',
'vars' => '',
'changed' => 0,
'line' => 943
}, 'Parse::RecDescent::Rule' ),
'CLASS' => bless( {
'impcount' => 0,
'calls' => [
'CLASS_NAME',
'NETWORK'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 615,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 615
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 617
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'class',
'hashname' => '__STRING2__',
'description' => '\'class\'',
'lookahead' => 0,
'line' => 617
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CLASS_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 617
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'NETWORK',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 617
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 617
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 617,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 618,
'code' => '{
my %cp = ();
$cp{class} = $item{CLASS_NAME};
$cp{network} = $item{NETWORK};
if (!XB_API_SUBS::XB_class_consistency (\\%cp, \\$semerr))
{ goto EXIT };
if (defined $classes{$item{CLASS_NAME}})
{
$semerr = "Class $item{CLASS_NAME} has been defined already";
goto EXIT;
};
$classes{$item{CLASS_NAME}} = $item{NETWORK};
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%cp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 617
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 642
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 642
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 642
}, 'Parse::RecDescent::Production' )
],
'name' => 'CLASS',
'vars' => '',
'changed' => 0,
'line' => 615
}, 'Parse::RecDescent::Rule' ),
'SIMPLE_NODE' => bless( {
'impcount' => 0,
'calls' => [
'NODE_NAME',
'NODE_PROPS',
'INTERFACES'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'NODE_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 762
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'NODE_PROPS',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 762
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'INTERFACES',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 762
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 763,
'code' => '{
my %nl = (); my %pl = ();
$pl{props} = $item{NODE_PROPS};
$pl{props}->{class} = undef;
$pl{interfaces} = $item{INTERFACES};
$nl{type} = $item{NODE_NAME};
$nl{value} = \\%pl;
$return = \\%nl;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'SIMPLE_NODE',
'vars' => '',
'changed' => 0,
'line' => 762
}, 'Parse::RecDescent::Rule' ),
'ARGSTRING' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 1,
'items' => [
bless( {
'description' => '/"[^"]+"/',
'rdelim' => '/',
'pattern' => '"[^"]+"',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 959
}, 'Parse::RecDescent::Token' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 959,
'code' => '{ $item[1] =~ s/"//g; $return = $item[1]; }'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 1,
'items' => [
bless( {
'description' => '/\'[^\']+\'/',
'rdelim' => '/',
'pattern' => '\'[^\']+\'',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 961
}, 'Parse::RecDescent::Token' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 962,
'code' => '{ $item[1] =~ s/\'//g; $return = $item[1]; }'
}, 'Parse::RecDescent::Action' )
],
'line' => 961
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[^()\\\\s]+/',
'rdelim' => '/',
'pattern' => '[^()\\s]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 963
}, 'Parse::RecDescent::Token' )
],
'line' => 963
}, 'Parse::RecDescent::Production' )
],
'name' => 'ARGSTRING',
'vars' => '',
'changed' => 0,
'line' => 959
}, 'Parse::RecDescent::Rule' ),
'LINK' => bless( {
'impcount' => 0,
'calls' => [
'LINK_NAME',
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 868
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'link',
'hashname' => '__STRING2__',
'description' => '\'link\'',
'lookahead' => 0,
'line' => 868
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'LINK_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 868
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 868
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 868
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 869,
'code' => '{
my %ln = (); my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$ln{type} = $item{LINK_NAME};
$ln{value} = \\%pl;
$return = \\%ln;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 887
}, 'Parse::RecDescent::Error' )
],
'line' => 887
}, 'Parse::RecDescent::Production' )
],
'name' => 'LINK',
'vars' => '',
'changed' => 0,
'line' => 868
}, 'Parse::RecDescent::Rule' ),
'CLASS_NAME' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[_A-Za-z0-9-]+/',
'rdelim' => '/',
'pattern' => '[_A-Za-z0-9-]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 966
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'CLASS_NAME',
'vars' => '',
'changed' => 0,
'line' => 963
}, 'Parse::RecDescent::Rule' ),
'ROOT_DECLARATION' => bless( {
'impcount' => 0,
'calls' => [
'CLASS_NAME',
'OBJECT_NAME'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 919
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'root',
'hashname' => '__STRING2__',
'description' => '\'root\'',
'lookahead' => 0,
'line' => 919
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CLASS_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 919
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'OBJECT_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 919
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 919
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 920,
'code' => '{
my %objref = ();
$objref{directive} = \'root\';
$objref{class_name} = $item{CLASS_NAME};
$objref{object_name} = $item{OBJECT_NAME};
$return = \\%objref;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 929
}, 'Parse::RecDescent::Error' )
],
'line' => 929
}, 'Parse::RecDescent::Production' )
],
'name' => 'ROOT_DECLARATION',
'vars' => '',
'changed' => 0,
'line' => 919
}, 'Parse::RecDescent::Rule' ),
'END_OF_FILE' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/\\\\Z/',
'rdelim' => '/',
'pattern' => '\\Z',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 973
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'END_OF_FILE',
'vars' => '',
'changed' => 0,
'line' => 973
}, 'Parse::RecDescent::Rule' ),
'OBJECT_NAME' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[_A-Za-z0-9-.]+/',
'rdelim' => '/',
'pattern' => '[_A-Za-z0-9-.]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 970
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'OBJECT_NAME',
'vars' => '',
'changed' => 0,
'line' => 970
}, 'Parse::RecDescent::Rule' ),
'NODE_PROPS' => bless( {
'impcount' => 0,
'calls' => [
'CRITERION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 813
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'nodeprops',
'hashname' => '__STRING2__',
'description' => '\'nodeprops\'',
'lookahead' => 0,
'line' => 813
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'CRITERION',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's?',
'lookahead' => 0,
'line' => 813
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 813
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 814,
'code' => '{
my %pl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{CRITERION}[$ix])
{
$rv = $item{CRITERION}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \\%pl;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'NODE_PROPS',
'vars' => '',
'changed' => 0,
'line' => 813
}, 'Parse::RecDescent::Rule' ),
'IF_NAME' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[_A-Za-z0-9-]+/',
'rdelim' => '/',
'pattern' => '[_A-Za-z0-9-]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 967
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'IF_NAME',
'vars' => '',
'changed' => 0,
'line' => 967
}, 'Parse::RecDescent::Rule' ),
'LINK_NAME' => bless( {
'impcount' => 0,
'calls' => [],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'description' => '/[_A-Za-z0-9-]+/',
'rdelim' => '/',
'pattern' => '[_A-Za-z0-9-]+',
'hashname' => '__PATTERN1__',
'lookahead' => 0,
'ldelim' => '/',
'mod' => '',
'line' => 969
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'LINK_NAME',
'vars' => '',
'changed' => 0,
'line' => 969
}, 'Parse::RecDescent::Rule' ),
'NETWORK' => bless( {
'impcount' => 0,
'calls' => [
'NET_PROPS',
'NET_PART'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'NET_PROPS',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 645
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'NET_PART',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 645
}, 'Parse::RecDescent::Repetition' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 646,
'code' => '{
my %nwp = (); my ($rv, $ix); my %pl = ();
$ix = 0;
while (defined $item{NET_PART}[$ix])
{
$rv = $item{NET_PART}[$ix];
$pl{$rv->{type}} = $rv->{value};
$ix++;
}
$nwp{props} = $item{NET_PROPS};
$nwp{net_parts} = \\%pl;;
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%nwp; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'NETWORK',
'vars' => '',
'changed' => 0,
'line' => 645
}, 'Parse::RecDescent::Rule' ),
'INTERFACES' => bless( {
'impcount' => 0,
'calls' => [
'INTERFACE'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 830
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'interfaces',
'hashname' => '__STRING2__',
'description' => '\'interfaces\'',
'lookahead' => 0,
'line' => 830
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'INTERFACE',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 830
}, 'Parse::RecDescent::Repetition' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 830
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 831,
'code' => '{
my %ifpl = (); my ($rv, $ix);
$ix = 0;
while (defined $item{INTERFACE}[$ix])
{
$rv = $item{INTERFACE}[$ix];
$ifpl{$rv->{type}} = $rv->{value};
$ix++;
}
$return = \\%ifpl;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 846
}, 'Parse::RecDescent::Error' )
],
'line' => 846
}, 'Parse::RecDescent::Production' )
],
'name' => 'INTERFACES',
'vars' => '',
'changed' => 0,
'line' => 830
}, 'Parse::RecDescent::Rule' ),
'XOL_PROGRAM' => bless( {
'impcount' => 0,
'calls' => [
'XOL_PROTOCOL',
'CLASS',
'ROOT_DECLARATION'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 588,
'code' => '{ $semerr = ""; }'
}, 'Parse::RecDescent::Action' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 588
}, 'Parse::RecDescent::UncondReject' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 3,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Literal' ),
bless( {
'pattern' => 'xol',
'hashname' => '__STRING2__',
'description' => '\'xol\'',
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'XOL_PROTOCOL',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'CLASS',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'ROOT_DECLARATION',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 590
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__DIRECTIVE1__',
'name' => '<commit>',
'lookahead' => 0,
'line' => 590,
'code' => '$commit = 1'
}, 'Parse::RecDescent::Directive' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 591,
'code' => '{
my %program = ();
$program{xol_protocol} = $item{XOL_PROTOCOL};
%classes = ();
$program{classes} = $item{CLASS};
$program{directive} = $item{ROOT_DECLARATION};
if (!XB_API_SUBS::XB_directives_consistency ( \\%program,
\\$semerr ) )
{ goto EXIT; };
EXIT:
if ($semerr)
{ $return = undef; }
else
{ $return = \\%program; }
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 590
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 2,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '$semerr',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '?',
'lookahead' => 0,
'line' => 612
}, 'Parse::RecDescent::Error' ),
bless( {
'hashname' => '__DIRECTIVE2__',
'name' => '<reject>',
'lookahead' => 0,
'line' => 612
}, 'Parse::RecDescent::UncondReject' )
],
'line' => 612
}, 'Parse::RecDescent::Production' )
],
'name' => 'XOL_PROGRAM',
'vars' => '',
'changed' => 0,
'line' => 588
}, 'Parse::RecDescent::Rule' ),
'TOPO_ENDPOINT' => bless( {
'impcount' => 0,
'calls' => [
'NODE_NAME',
'IF_NAME'
],
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 3,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 906
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'NODE_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 906
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => '.',
'hashname' => '__STRING2__',
'description' => '\'.\'',
'lookahead' => 0,
'line' => 906
}, 'Parse::RecDescent::Literal' ),
bless( {
'subrule' => 'IF_NAME',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 906
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING3__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 906
}, 'Parse::RecDescent::Literal' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 907,
'code' => '{
my %tt = ();
$tt{node} = $item{NODE_NAME};
$tt{if} = $item{IF_NAME};
$return = \\%tt;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 916
}, 'Parse::RecDescent::Error' )
],
'line' => 916
}, 'Parse::RecDescent::Production' )
],
'name' => 'TOPO_ENDPOINT',
'vars' => '',
'changed' => 0,
'line' => 906
}, 'Parse::RecDescent::Rule' )
}
}, 'Parse::RecDescent' );
}
syntax highlighted by Code2HTML, v. 0.9.1