package XML::XSH::Parser; use Parse::RecDescent; { my $ERRORS; package Parse::RecDescent::XML::XSH::Parser; use strict; use vars qw($skip $AUTOLOAD ); $skip = '(\s|\n|#[^\n]*)*'; { local $SIG{__WARN__} = sub {0}; # PRETEND TO BE IN Parse::RecDescent NAMESPACE *Parse::RecDescent::XML::XSH::Parser::AUTOLOAD = sub { no strict 'refs'; $AUTOLOAD =~ s/^Parse::RecDescent::XML::XSH::Parser/Parse::RecDescent/; goto &{$AUTOLOAD}; } } push @Parse::RecDescent::XML::XSH::Parser::ISA, 'Parse::RecDescent'; # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::shell { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"shell"}; Parse::RecDescent::_trace(q{Trying rule: [shell]}, Parse::RecDescent::_tracefirst($_[1]), q{shell}, $tracelevel) 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: [/!\\s*/ /.*/]}, Parse::RecDescent::_tracefirst($_[1]), q{shell}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{shell}); %item = (__RULE__ => q{shell}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/!\\s*/]}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying terminal: [/.*/]}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) 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{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [[\&XML::XSH::Functions::sh,$item[3]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/!\\s*/ /.*/]<<}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: [ ]}, Parse::RecDescent::_tracefirst($_[1]), q{shell}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{shell}); %item = (__RULE__ => q{shell}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{Parse error near: "! }.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Rejecting production<< (found )}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) if defined $::RD_TRACE; undef $return; $_tok = undef; last unless defined $_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ]<<}, Parse::RecDescent::_tracefirst($text), q{shell}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{shell}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{shell}, $tracelevel) 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{shell}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{shell}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::validation_scheme { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"validation_scheme"}; Parse::RecDescent::_trace(q{Trying rule: [validation_scheme]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) 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: ['DTD' public_dtd system_dtd]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['DTD']}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\ADTD//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: [public_dtd]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{public_dtd})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::public_dtd($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [public_dtd]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{public_dtd}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [system_dtd]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{system_dtd})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::system_dtd($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [system_dtd]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{system_dtd}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['DTD','FILE',$item[2],$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['DTD' public_dtd system_dtd]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['DTD' public_dtd]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['DTD']}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\ADTD//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: [public_dtd]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{public_dtd})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::public_dtd($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [public_dtd]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{public_dtd}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['DTD','FILE',$item[2],undef] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['DTD' public_dtd]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['DTD' system_dtd]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['DTD']}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\ADTD//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: [system_dtd]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{system_dtd})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::system_dtd($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [system_dtd]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{system_dtd}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['DTD','FILE',undef,$item[2]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['DTD' system_dtd]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['DTD' 'STRING' expression]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['DTD']}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\ADTD//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: ['STRING']}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'STRING'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\ASTRING//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: [expression]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['DTD','STRING',$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['DTD' 'STRING' expression]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RNG|RelaxNG|RELAXNG/ /FILE|STRING|DOC/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/RNG|RelaxNG|RELAXNG/]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:RNG|RelaxNG|RELAXNG)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 terminal: [/FILE|STRING|DOC/]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FILE|STRING|DOC/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FILE|STRING|DOC)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['RNG',@item[2,3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/RNG|RelaxNG|RELAXNG/ /FILE|STRING|DOC/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/Schema|SCHEMA|XSD/ /FILE|STRING|DOC/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{validation_scheme}); %item = (__RULE__ => q{validation_scheme}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/Schema|SCHEMA|XSD/]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:Schema|SCHEMA|XSD)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 terminal: [/FILE|STRING|DOC/]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/FILE|STRING|DOC/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:FILE|STRING|DOC)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['XSD',@item[2,3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/Schema|SCHEMA|XSD/ /FILE|STRING|DOC/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{validation_scheme}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{validation_scheme}, $tracelevel) 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{validation_scheme}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{validation_scheme}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::def { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"def"}; Parse::RecDescent::_trace(q{Trying rule: [def]}, Parse::RecDescent::_tracefirst($_[1]), q{def}, $tracelevel) 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: [/(def|define)\\s/ ID typedvariable block]}, Parse::RecDescent::_tracefirst($_[1]), q{def}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{def}); %item = (__RULE__ => q{def}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(def|define)\\s/]}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(def|define)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [typedvariable]}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{typedvariable})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::typedvariable, 0, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [typedvariable]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $item{q{typedvariable(s?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{block})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::block, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [block]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $item{q{block(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { &XML::XSH::Functions::def($item[3],$item[5],$item[4]); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(def|define)\\s/ ID typedvariable block]<<}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: [ ]}, Parse::RecDescent::_tracefirst($_[1]), q{def}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{def}); %item = (__RULE__ => q{def}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{Parse error near: "}.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Rejecting production<< (found )}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; undef $return; $_tok = undef; last unless defined $_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ]<<}, Parse::RecDescent::_tracefirst($text), q{def}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{def}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{def}, $tracelevel) 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{def}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{def}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::startrule { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"startrule"}; Parse::RecDescent::_trace(q{Trying rule: [startrule]}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) 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: [shell eof]}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{startrule}); %item = (__RULE__ => q{startrule}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [shell]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shell($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shell]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{shell}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [eof]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{eof})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::eof($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [eof]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{eof}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { XML::XSH::Functions::run_commands($item[1],1) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [shell eof]<<}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [statement_or_command eof]}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{startrule}); %item = (__RULE__ => q{startrule}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [statement_or_command]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::statement_or_command, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [statement_or_command]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{statement_or_command(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [eof]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{eof})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::eof($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [eof]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $item{q{eof}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { XML::XSH::Functions::run_commands($item[1],1) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [statement_or_command eof]<<}, Parse::RecDescent::_tracefirst($text), q{startrule}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{startrule}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{startrule}, $tracelevel) 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{startrule}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{startrule}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpsimple { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpsimple"}; Parse::RecDescent::_trace(q{Trying rule: [xpsimple]}, Parse::RecDescent::_tracefirst($_[1]), q{xpsimple}, $tracelevel) 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{xpsimple}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpsimple}); %item = (__RULE__ => q{xpsimple}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[^]\}|"' [();]+/]}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) 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{<>}, 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: [/[^]\}|"' [();]+/]<<}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xpbrackets]}, Parse::RecDescent::_tracefirst($_[1]), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{xpsimple}); %item = (__RULE__ => q{xpsimple}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpbrackets]}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpbrackets($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpbrackets]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; $item{q{xpbrackets}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpbrackets]<<}, Parse::RecDescent::_tracefirst($text), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpsimple}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpsimple}, $tracelevel) 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{xpsimple}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpsimple}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::statement_or_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"statement_or_command"}; Parse::RecDescent::_trace(q{Trying rule: [statement_or_command]}, Parse::RecDescent::_tracefirst($_[1]), q{statement_or_command}, $tracelevel) 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: [def]}, Parse::RecDescent::_tracefirst($_[1]), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{statement_or_command}); %item = (__RULE__ => q{statement_or_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [def]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::def($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [def]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $item{q{def}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [def]<<}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [undef]}, Parse::RecDescent::_tracefirst($_[1]), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{statement_or_command}); %item = (__RULE__ => q{statement_or_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [undef]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::undef($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [undef]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $item{q{undef}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [undef]<<}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [complex_command]}, Parse::RecDescent::_tracefirst($_[1]), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{statement_or_command}); %item = (__RULE__ => q{statement_or_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [complex_command]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::complex_command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [complex_command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $item{q{complex_command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [complex_command]<<}, Parse::RecDescent::_tracefirst($text), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{statement_or_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{statement_or_command}, $tracelevel) 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{statement_or_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{statement_or_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xslt_params { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xslt_params"}; Parse::RecDescent::_trace(q{Trying rule: [xslt_params]}, Parse::RecDescent::_tracefirst($_[1]), q{xslt_params}, $tracelevel) 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: [/(params|parameters)\\s/ param]}, Parse::RecDescent::_tracefirst($_[1]), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xslt_params}); %item = (__RULE__ => q{xslt_params}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(params|parameters)\\s/]}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(params|parameters)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 repeated subrule: [param]}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{param})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::param, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [param]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; $item{q{param(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(params|parameters)\\s/ param]<<}, Parse::RecDescent::_tracefirst($text), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xslt_params}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xslt_params}, $tracelevel) 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{xslt_params}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xslt_params}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::id_or_var { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"id_or_var"}; Parse::RecDescent::_trace(q{Trying rule: [id_or_var]}, Parse::RecDescent::_tracefirst($_[1]), q{id_or_var}, $tracelevel) 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: [ID]}, Parse::RecDescent::_tracefirst($_[1]), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{id_or_var}); %item = (__RULE__ => q{id_or_var}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [ID]<<}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [variable]}, Parse::RecDescent::_tracefirst($_[1]), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{id_or_var}); %item = (__RULE__ => q{id_or_var}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [variable]<<}, Parse::RecDescent::_tracefirst($text), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{id_or_var}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{id_or_var}, $tracelevel) 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{id_or_var}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{id_or_var}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::condition { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"condition"}; Parse::RecDescent::_trace(q{Trying rule: [condition]}, Parse::RecDescent::_tracefirst($_[1]), q{condition}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{condition}); %item = (__RULE__ => q{condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; $_tok = do { Text::Balanced::extract_codeblock($text,undef,$skip,'{}'); }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{condition}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{condition}); %item = (__RULE__ => q{condition}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpath]<<}, Parse::RecDescent::_tracefirst($text), q{condition}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{condition}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{condition}, $tracelevel) 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{condition}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{condition}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::optional_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"optional_expression"}; Parse::RecDescent::_trace(q{Trying rule: [optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expression}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [ ws expression]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{optional_expression}); %item = (__RULE__ => q{optional_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ws]}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ws})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ws($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ws]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{ws}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[3] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ws expression]<<}, Parse::RecDescent::_tracefirst($text), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{optional_expression}, $tracelevel) 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{optional_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{optional_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::anyvariable { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"anyvariable"}; Parse::RecDescent::_trace(q{Trying rule: [anyvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{anyvariable}, $tracelevel) 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: [variable]}, Parse::RecDescent::_tracefirst($_[1]), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{anyvariable}); %item = (__RULE__ => q{anyvariable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['$',$item[1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [variable]<<}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [nodelistvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{anyvariable}); %item = (__RULE__ => q{anyvariable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [nodelistvariable]}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodelistvariable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodelistvariable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $item{q{nodelistvariable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['%',$item[1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [nodelistvariable]<<}, Parse::RecDescent::_tracefirst($text), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{anyvariable}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{anyvariable}, $tracelevel) 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{anyvariable}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{anyvariable}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::statement { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"statement"}; Parse::RecDescent::_trace(q{Trying rule: [statement]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) 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: [/\\s*[\}\{;]/ ]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\s*[\}\{;]/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\s*[}{;])//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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__}=$&; $text = $_savetext; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Rejecting production<< (found )}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; undef $return; $_tok = undef; last unless defined $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/\\s*[\}\{;]/ ]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(if)\\s/ condition block elsif_block else_block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(if)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(if)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [elsif_block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{elsif_block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::elsif_block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [elsif_block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{elsif_block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [else_block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{else_block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::else_block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [else_block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{else_block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::if_statement,[$item[3],$item[4]],@{$item[5]},@{$item[6]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(if)\\s/ condition block elsif_block else_block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(unless)\\s/ condition block else_block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(unless)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(unless)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [else_block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{else_block})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::else_block, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [else_block]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{else_block(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::unless_statement,$item[3],$item[4],@{$item[5]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(unless)\\s/ condition block else_block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(while)\\s/ condition block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(while)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(while)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::while_statement,$item[3],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(while)\\s/ condition block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(foreach|for)\\s/ condition block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(foreach|for)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(foreach|for)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::foreach_statement,$item[3],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(foreach|for)\\s/ condition block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(try)\\s/ block 'catch' local_var block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(try)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(try)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['catch']}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'catch'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acatch//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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 repeated subrule: [local_var]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{local_var})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::local_var, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [local_var]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{local_var(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::try_catch,$item[3],$item[6],@{$item[5]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(try)\\s/ block 'catch' local_var block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(iterate)\\s/ xpstep block]}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{statement}); %item = (__RULE__ => q{statement}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(iterate)\\s/]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(iterate)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpstep]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpstep})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpstep($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpstep]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{xpstep}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::iterate,$item[4],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(iterate)\\s/ xpstep block]<<}, Parse::RecDescent::_tracefirst($text), q{statement}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{statement}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{statement}, $tracelevel) 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{statement}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{statement}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::shline_inter { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"shline_inter"}; Parse::RecDescent::_trace(q{Trying rule: [shline_inter]}, Parse::RecDescent::_tracefirst($_[1]), q{shline_inter}, $tracelevel) 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{shline_inter}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{shline_inter}); %item = (__RULE__ => q{shline_inter}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/([^()\\\\"']|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\')*/]}, Parse::RecDescent::_tracefirst($text), q{shline_inter}, $tracelevel) 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{<>}, 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: [/([^()\\\\"']|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\')*/]<<}, Parse::RecDescent::_tracefirst($text), q{shline_inter}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{shline_inter}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{shline_inter}, $tracelevel) 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{shline_inter}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{shline_inter}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::stream_select { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"stream_select"}; Parse::RecDescent::_trace(q{Trying rule: [stream_select]}, Parse::RecDescent::_tracefirst($_[1]), q{stream_select}, $tracelevel) 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: [/select\\s/ xp block]}, Parse::RecDescent::_tracefirst($_[1]), q{stream_select}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{stream_select}); %item = (__RULE__ => q{stream_select}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/select\\s/]}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:select\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [xp]}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xp})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xp($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xp]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $item{q{xp}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [$item[2],$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/select\\s/ xp block]<<}, Parse::RecDescent::_tracefirst($text), q{stream_select}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{stream_select}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{stream_select}, $tracelevel) 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{stream_select}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{stream_select}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::perl_code { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"perl_code"}; Parse::RecDescent::_trace(q{Trying rule: [perl_code]}, Parse::RecDescent::_tracefirst($_[1]), q{perl_code}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{perl_code}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{perl_code}); %item = (__RULE__ => q{perl_code}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; $_tok = do { Text::Balanced::extract_codeblock($text,undef,$skip,'{}'); }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [perl_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{perl_code}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{perl_code}); %item = (__RULE__ => q{perl_code}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [perl_expression]}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [perl_expression]<<}, Parse::RecDescent::_tracefirst($text), q{perl_code}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{perl_code}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{perl_code}, $tracelevel) 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{perl_code}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{perl_code}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::optional_expressions { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"optional_expressions"}; Parse::RecDescent::_trace(q{Trying rule: [optional_expressions]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expressions}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [ ws expression]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{optional_expressions}); %item = (__RULE__ => q{optional_expressions}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ws]}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ws})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ws($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ws]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $item{q{ws}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[3] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ws expression]<<}, Parse::RecDescent::_tracefirst($text), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{optional_expressions}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{optional_expressions}, $tracelevel) 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{optional_expressions}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{optional_expressions}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::enc_string { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"enc_string"}; Parse::RecDescent::_trace(q{Trying rule: [enc_string]}, Parse::RecDescent::_tracefirst($_[1]), q{enc_string}, $tracelevel) 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: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{enc_string}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{enc_string}); %item = (__RULE__ => q{enc_string}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{enc_string}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{enc_string}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{enc_string}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{enc_string}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{enc_string}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{enc_string}, $tracelevel) 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{enc_string}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{enc_string}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::exp_part { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"exp_part"}; Parse::RecDescent::_trace(q{Trying rule: [exp_part]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) 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: [STRING]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{exp_part}); %item = (__RULE__ => q{exp_part}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [STRING]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::STRING($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [STRING]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $item{q{STRING}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [STRING]<<}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [exp_inline_count]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{exp_part}); %item = (__RULE__ => q{exp_part}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [exp_inline_count]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::exp_inline_count($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [exp_inline_count]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $item{q{exp_inline_count}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [exp_inline_count]<<}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [single_quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{exp_part}); %item = (__RULE__ => q{exp_part}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [single_quoted_string]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::single_quoted_string($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [single_quoted_string]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $item{q{single_quoted_string}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [single_quoted_string]<<}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [double_quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{exp_part}); %item = (__RULE__ => q{exp_part}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [double_quoted_string]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::double_quoted_string($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [double_quoted_string]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $item{q{double_quoted_string}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [double_quoted_string]<<}, Parse::RecDescent::_tracefirst($text), q{exp_part}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{exp_part}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{exp_part}, $tracelevel) 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{exp_part}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{exp_part}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::filename { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"filename"}; Parse::RecDescent::_trace(q{Trying rule: [filename]}, Parse::RecDescent::_tracefirst($_[1]), q{filename}, $tracelevel) 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: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{filename}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{filename}); %item = (__RULE__ => q{filename}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{filename}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{filename}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{filename}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{filename}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{filename}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{filename}, $tracelevel) 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{filename}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{filename}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpaxis { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpaxis"}; Parse::RecDescent::_trace(q{Trying rule: [xpaxis]}, Parse::RecDescent::_tracefirst($_[1]), q{xpaxis}, $tracelevel) 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-z]+::/]}, Parse::RecDescent::_tracefirst($_[1]), q{xpaxis}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpaxis}); %item = (__RULE__ => q{xpaxis}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[-a-z]+::/]}, Parse::RecDescent::_tracefirst($text), q{xpaxis}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[-a-z]+::)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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-z]+::/]<<}, Parse::RecDescent::_tracefirst($text), q{xpaxis}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpaxis}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpaxis}, $tracelevel) 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{xpaxis}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpaxis}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::TOKEN { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TOKEN"}; Parse::RecDescent::_trace(q{Trying rule: [TOKEN]}, Parse::RecDescent::_tracefirst($_[1]), q{TOKEN}, $tracelevel) 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: [/\\S+/]}, Parse::RecDescent::_tracefirst($_[1]), q{TOKEN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TOKEN}); %item = (__RULE__ => q{TOKEN}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\S+/]}, Parse::RecDescent::_tracefirst($text), q{TOKEN}, $tracelevel) 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{<>}, 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{TOKEN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TOKEN}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TOKEN}, $tracelevel) 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{TOKEN}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TOKEN}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::complex_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"complex_command"}; Parse::RecDescent::_trace(q{Trying rule: [complex_command]}, Parse::RecDescent::_tracefirst($_[1]), q{complex_command}, $tracelevel) 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{complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{complex_command}); %item = (__RULE__ => q{complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [';']}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) 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{<>}, 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{>>Matched production: [';']<<}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [statement trail]}, Parse::RecDescent::_tracefirst($_[1]), q{complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{complex_command}); %item = (__RULE__ => q{complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [statement]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::statement($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [statement]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $item{q{statement}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [trail]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{trail})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::trail, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [trail]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $item{q{trail(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item[3]})) { if ($item[3][0][0] eq 'pipe') { $return=[\&XML::XSH::Functions::pipe_command,[$item[1]],$item[3][0][1]] } else { $return=[\&XML::XSH::Functions::string_pipe_command,[$item[1]],$item[3][0][1]] } } else { $return=$item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [statement trail]<<}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [command trail ';', or /^\\s*(\}|\\Z)/]}, Parse::RecDescent::_tracefirst($_[1]), q{complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{complex_command}); %item = (__RULE__ => q{complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [command]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $item{q{command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [trail]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{trail})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::trail, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [trail]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $item{q{trail(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_3_of_rule_complex_command]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{';', or /^\\s*(\}|\\Z)/})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_3_of_rule_complex_command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_3_of_rule_complex_command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_3_of_rule_complex_command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item[3]})) { if ($item[3][0][0] eq 'pipe') { $return=[\&XML::XSH::Functions::pipe_command,[$item[1]],$item[3][0][1]] } else { $return=[\&XML::XSH::Functions::string_pipe_command,[$item[1]],$item[3][0][1]] } } else { $return=$item[1] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [command trail ';', or /^\\s*(\}|\\Z)/]<<}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; my $_savetext; @item = (q{complex_command}); %item = (__RULE__ => q{complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{Parse error near: "}.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{complex_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{complex_command}, $tracelevel) 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{complex_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{complex_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::block { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"block"}; Parse::RecDescent::_trace(q{Trying rule: [block]}, Parse::RecDescent::_tracefirst($_[1]), q{block}, $tracelevel) 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: ['\{' complex_command '\}']}, Parse::RecDescent::_tracefirst($_[1]), q{block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{block}); %item = (__RULE__ => q{block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['\{']}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [complex_command]}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{complex_command})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::complex_command, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [complex_command]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) if defined $::RD_TRACE; $item{q{complex_command(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying terminal: ['\}']}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) 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{<>}, 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{block}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [grep ref,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['\{' complex_command '\}']<<}, Parse::RecDescent::_tracefirst($text), q{block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{block}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{block}, $tracelevel) 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{block}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{block}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::namespace { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"namespace"}; Parse::RecDescent::_trace(q{Trying rule: [namespace]}, Parse::RecDescent::_tracefirst($_[1]), q{namespace}, $tracelevel) 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: [/namespace\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{namespace}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{namespace}); %item = (__RULE__ => q{namespace}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/namespace\\s/]}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:namespace\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/namespace\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{namespace}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{namespace}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{namespace}, $tracelevel) 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{namespace}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{namespace}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::loosenodelistvariable { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"loosenodelistvariable"}; Parse::RecDescent::_trace(q{Trying rule: [loosenodelistvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{loosenodelistvariable}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: ['%' id_or_var]}, Parse::RecDescent::_tracefirst($_[1]), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{loosenodelistvariable}); %item = (__RULE__ => q{loosenodelistvariable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['%']}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [id_or_var]}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{id_or_var})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::id_or_var($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [id_or_var]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; $item{q{id_or_var}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[3] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['%' id_or_var]<<}, Parse::RecDescent::_tracefirst($text), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{loosenodelistvariable}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{loosenodelistvariable}, $tracelevel) 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{loosenodelistvariable}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{loosenodelistvariable}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::variable { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"variable"}; Parse::RecDescent::_trace(q{Trying rule: [variable]}, Parse::RecDescent::_tracefirst($_[1]), q{variable}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: ['$' ID]}, Parse::RecDescent::_tracefirst($_[1]), q{variable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{variable}); %item = (__RULE__ => q{variable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['$']}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "$item[1]$item[3]" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['$' ID]<<}, Parse::RecDescent::_tracefirst($text), q{variable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{variable}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{variable}, $tracelevel) 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{variable}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{variable}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::double_quoted_string { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"double_quoted_string"}; Parse::RecDescent::_trace(q{Trying rule: [double_quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{double_quoted_string}, $tracelevel) 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{double_quoted_string}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{double_quoted_string}); %item = (__RULE__ => q{double_quoted_string}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\"([^\\"\\\\]|\\\\.)*\\"/]}, Parse::RecDescent::_tracefirst($text), q{double_quoted_string}, $tracelevel) 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{<>}, 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{double_quoted_string}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { local $_=$item[1]; s/^\"|\"$//g; $_; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/\\"([^\\"\\\\]|\\\\.)*\\"/]<<}, Parse::RecDescent::_tracefirst($text), q{double_quoted_string}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{double_quoted_string}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{double_quoted_string}, $tracelevel) 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{double_quoted_string}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{double_quoted_string}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::call_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"call_command"}; Parse::RecDescent::_trace(q{Trying rule: [call_command]}, Parse::RecDescent::_tracefirst($_[1]), q{call_command}, $tracelevel) 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; my @args; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{call_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{call_command}); %item = (__RULE__ => q{call_command}); my $repcount = 0; Parse::RecDescent::_trace(q{>>Rejecting production<< (found )}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; undef $return; $_tok = undef; last unless defined $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(call)\\s/ ID subroutine_arguments match_typedargs]}, Parse::RecDescent::_tracefirst($_[1]), q{call_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{call_command}); %item = (__RULE__ => q{call_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(call)\\s/]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(call)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [subroutine_arguments]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{subroutine_arguments})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::subroutine_arguments($thisparser,$text,$repeating,$_noactions,sub { return [$item[3]] }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [subroutine_arguments]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $item{q{subroutine_arguments}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [match_typedargs]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{match_typedargs})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::match_typedargs($thisparser,$text,$repeating,$_noactions,sub { return [1,@{$item[4]}] }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [match_typedargs]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $item{q{match_typedargs}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return=[\&XML::XSH::Functions::call,$item[3],$item[5]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(call)\\s/ ID subroutine_arguments match_typedargs]<<}, Parse::RecDescent::_tracefirst($text), q{call_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{call_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{call_command}, $tracelevel) 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{call_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{call_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::optional_xpath { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"optional_xpath"}; Parse::RecDescent::_trace(q{Trying rule: [optional_xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_xpath}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [ ws xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{optional_xpath}); %item = (__RULE__ => q{optional_xpath}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ws]}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ws})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ws($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ws]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $item{q{ws}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[3] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ws xpath]<<}, Parse::RecDescent::_tracefirst($text), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{optional_xpath}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{optional_xpath}, $tracelevel) 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{optional_xpath}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{optional_xpath}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::shline { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"shline"}; Parse::RecDescent::_trace(q{Trying rule: [shline]}, Parse::RecDescent::_tracefirst($_[1]), q{shline}, $tracelevel) 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: [shline_nosc shline_bracket shline_nosc]}, Parse::RecDescent::_tracefirst($_[1]), q{shline}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{shline}); %item = (__RULE__ => q{shline}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [shline_nosc]}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shline_nosc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shline_nosc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_nosc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [shline_bracket]}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{shline_bracket})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::shline_bracket, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [shline_bracket]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_bracket(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [shline_nosc]}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{shline_nosc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shline_nosc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shline_nosc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_nosc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join("",$item[1],@{$item[2]},$item[3]) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [shline_nosc shline_bracket shline_nosc]<<}, Parse::RecDescent::_tracefirst($text), q{shline}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{shline}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{shline}, $tracelevel) 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{shline}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{shline}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpintercont { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpintercont"}; Parse::RecDescent::_trace(q{Trying rule: [xpintercont]}, Parse::RecDescent::_tracefirst($_[1]), q{xpintercont}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xpfilters, or xpbrackets xpinter]}, Parse::RecDescent::_tracefirst($_[1]), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpintercont}); %item = (__RULE__ => q{xpintercont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_xpintercont]}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_xpintercont($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_xpintercont]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_xpintercont}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpinter]}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpinter})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpinter, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpinter]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $item{q{xpinter(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join("",$item[1],@{$item[3]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpfilters, or xpbrackets xpinter]<<}, Parse::RecDescent::_tracefirst($text), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpintercont}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpintercont}, $tracelevel) 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{xpintercont}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpintercont}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::eof { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"eof"}; Parse::RecDescent::_trace(q{Trying rule: [eof]}, Parse::RecDescent::_tracefirst($_[1]), q{eof}, $tracelevel) 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{eof}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{eof}); %item = (__RULE__ => q{eof}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/^\\Z/]}, Parse::RecDescent::_tracefirst($text), q{eof}, $tracelevel) 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{<>}, 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{eof}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { 1; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/^\\Z/]<<}, Parse::RecDescent::_tracefirst($text), q{eof}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{eof}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{eof}, $tracelevel) 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{eof}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{eof}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_xpintercont { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_xpintercont"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_xpintercont]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) 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: [xpfilters]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_xpintercont}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_xpintercont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpfilters]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpfilters($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpfilters]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $item{q{xpfilters}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpfilters]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xpbrackets]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_xpintercont}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_xpintercont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpbrackets]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpbrackets($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpbrackets]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $item{q{xpbrackets}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpbrackets]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) 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{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_xpintercont}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpinter { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpinter"}; Parse::RecDescent::_trace(q{Trying rule: [xpinter]}, Parse::RecDescent::_tracefirst($_[1]), q{xpinter}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xps xpintercont]}, Parse::RecDescent::_tracefirst($_[1]), q{xpinter}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpinter}); %item = (__RULE__ => q{xpinter}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xps]}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xps($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xps]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $item{q{xps}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpintercont]}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpintercont})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpintercont, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpintercont]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $item{q{xpintercont(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join("",$item[1],@{$item[3]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xps xpintercont]<<}, Parse::RecDescent::_tracefirst($text), q{xpinter}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpinter}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpinter}, $tracelevel) 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{xpinter}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpinter}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"command"}; Parse::RecDescent::_trace(q{Trying rule: [command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/\\s*[\}\{;]/ ]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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 terminal: [/\\s*[\}\{;]/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\s*[}{;])//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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__}=$&; $text = $_savetext; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Rejecting production<< (found )}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; undef $return; $_tok = undef; last unless defined $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/\\s*[\}\{;]/ ]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(switch-to-new-documents|switch_to_new_documents)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(switch-to-new-documents|switch_to_new_documents)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(switch-to-new-documents|switch_to_new_documents)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_cdonopen,$item[2]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(switch-to-new-documents|switch_to_new_documents)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(backups)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(backups)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(backups))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_backups,1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(backups)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(nobackups)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(nobackups)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(nobackups))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_backups,0] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(nobackups)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(quiet)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(quiet)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(quiet))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_quiet,1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(quiet)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(verbose)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(verbose)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(verbose))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_quiet,0] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(verbose)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(test-mode|test_mode)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(test-mode|test_mode)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(test-mode|test_mode))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ["test-mode"] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(test-mode|test_mode)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(run-mode|run_mode)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(run-mode|run_mode)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(run-mode|run_mode))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ["run-mode"] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(run-mode|run_mode)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(debug)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(debug)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(debug))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_debug,1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(debug)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(nodebug)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(nodebug)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(nodebug))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_debug,0] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(nodebug)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(version)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(version)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(version))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_version,0] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(version)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(validation)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(validation)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(validation)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_validation,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(validation)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(recovering)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(recovering)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(recovering)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_recovering,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(recovering)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(parser-expands-entities|parser_expands_entities)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(parser-expands-entities|parser_expands_entities)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(parser-expands-entities|parser_expands_entities)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_expand_entities,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(parser-expands-entities|parser_expands_entities)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(keep-blanks|keep_blanks)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(keep-blanks|keep_blanks)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(keep-blanks|keep_blanks)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_keep_blanks,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(keep-blanks|keep_blanks)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(pedantic-parser|pedantic_parser)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) 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: [/(pedantic-parser|pedantic_parser)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(pedantic-parser|pedantic_parser)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_pedantic_parser,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(pedantic-parser|pedantic_parser)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[16]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_complete_attributes,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(indent)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[17]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(indent)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(indent)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_indent,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(indent)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(empty-tags|empty_tags)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[18]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(empty-tags|empty_tags)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(empty-tags|empty_tags)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_empty_tags,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(empty-tags|empty_tags)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(skip-dtd|skip_dtd)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[19]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(skip-dtd|skip_dtd)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(skip-dtd|skip_dtd)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_skip_dtd,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(skip-dtd|skip_dtd)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(parser-expands-xinclude|parser_expands_xinclude)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[20]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(parser-expands-xinclude|parser_expands_xinclude)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(parser-expands-xinclude|parser_expands_xinclude)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_expand_xinclude,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(parser-expands-xinclude|parser_expands_xinclude)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(load-ext-dtd|load_ext_dtd)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[21]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(load-ext-dtd|load_ext_dtd)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(load-ext-dtd|load_ext_dtd)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_load_ext_dtd,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(load-ext-dtd|load_ext_dtd)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(encoding)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[22]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(encoding)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(encoding)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_encoding,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(encoding)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(query-encoding|query_encoding)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[23]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(query-encoding|query_encoding)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(query-encoding|query_encoding)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_qencoding,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(query-encoding|query_encoding)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(options|flags)/ ]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[24]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(options|flags)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(options|flags))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list_flags] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(options|flags)/ ]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(copy|cp)\\s/ xpath loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[25]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(copy|cp)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(copy|cp)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::copy,@item[3,5,4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(copy|cp)\\s/ xpath loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xcopy|xcp)\\s/ xpath loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[26]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xcopy|xcp)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xcopy|xcp)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::copy,@item[3,5,4],1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xcopy|xcp)\\s/ xpath loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(move|mv)\\s/ xpath loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[27]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(move|mv)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(move|mv)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::move,@item[3,5,4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(move|mv)\\s/ xpath loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xmove|xmv)\\s/ xpath loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[28]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xmove|xmv)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xmove|xmv)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::move,@item[3,5,4],1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xmove|xmv)\\s/ xpath loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(ls|list)\\s/ xpath expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[29]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(ls|list)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(ls|list)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list,$item[2],$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(ls|list)\\s/ xpath expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(ls|list)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[30]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(ls|list)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(ls|list)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list,$item[2],-1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(ls|list)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(ls|list)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[31]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(ls|list)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(ls|list))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list,[undef,'.'],1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(ls|list)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(exit|quit)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[32]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(exit|quit)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(exit|quit))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::quit,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(exit|quit)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(remove|rm|prune|delete|del)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[33]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(remove|rm|prune|delete|del)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(remove|rm|prune|delete|del)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::prune,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(remove|rm|prune|delete|del)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(map|sed)\\s/ perl_code xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[34]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(map|sed)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(map|sed)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [perl_code]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{perl_code})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_code($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_code]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_code}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::perlmap,@item[4,3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(map|sed)\\s/ perl_code xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(rename)\\s/ perl_code xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[35]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(rename)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(rename)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [perl_code]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{perl_code})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_code($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_code]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_code}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::perlrename,@item[4,3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(rename)\\s/ perl_code xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(sort)\\s/ condition perl_code nodelistvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[36]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(sort)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(sort)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [perl_code]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{perl_code})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_code($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_code]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_code}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [nodelistvariable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{nodelistvariable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodelistvariable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodelistvariable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{nodelistvariable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::perlsort,@item[3..5]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(sort)\\s/ condition perl_code nodelistvariable]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(close)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[37]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(close)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(close))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::close_doc,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(close)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(validate)/ validation_scheme optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[38]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(validate)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(validate))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [validation_scheme]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{validation_scheme})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::validation_scheme($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [validation_scheme]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{validation_scheme}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::validate_doc,1,$item[2],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(validate)/ validation_scheme optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(validate)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[39]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(validate)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(validate))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::validate_doc,1,[],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(validate)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(valid)/ validation_scheme optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[40]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(valid)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(valid))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [validation_scheme]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{validation_scheme})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::validation_scheme($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [validation_scheme]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{validation_scheme}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::validate_doc,0,$item[2],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(valid)/ validation_scheme optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(valid)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[41]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(valid)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(valid))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::validate_doc,0,[],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(valid)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(dtd)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[42]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(dtd)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(dtd))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list_dtd,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(dtd)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(enc)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[43]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(enc)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(enc))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_enc,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(enc)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(set-enc)\\s/ expression optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[44]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(set-enc)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(set-enc)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_doc_enc,$item[3],@{$item[4]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(set-enc)\\s/ expression optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(set-standalone)\\s/ expression optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[45]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(set-standalone)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(set-standalone)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_doc_standalone,$item[3],@{$item[4]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(set-standalone)\\s/ expression optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(lcd|chdir)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[46]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(lcd|chdir)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(lcd|chdir))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::cd,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(lcd|chdir)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(clone|dup)\\s/ id_or_var /\\s*=\\s*/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[47]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(clone|dup)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(clone|dup)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [id_or_var]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{id_or_var})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::id_or_var($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [id_or_var]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{id_or_var}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/\\s*=\\s*/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/\\s*=\\s*/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\s*=\s*)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::clone,@item[3,5]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(clone|dup)\\s/ id_or_var /\\s*=\\s*/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(count|print_value|get)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[48]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(count|print_value|get)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(count|print_value|get)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_count,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(count|print_value|get)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(perl|eval)\\s/ perl_code]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[49]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(perl|eval)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(perl|eval)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [perl_code]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{perl_code})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_code($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_code]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_code}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_eval,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(perl|eval)\\s/ perl_code]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?/ expression filename encoding_param]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[50]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:save(as|_as|-as)?((\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [encoding_param]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{encoding_param})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::encoding_param, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [encoding_param]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{encoding_param(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::save_doc,@item[1,2,3,4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?/ expression filename encoding_param]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|STRING|string))?/ expression encoding_param]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[51]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|STRING|string))?/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:save(as|_as|-as)?((\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\s*|_|-)(FILE|file|STRING|string))?)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [encoding_param]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{encoding_param})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::encoding_param, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [encoding_param]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{encoding_param(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::save_doc,@item[1,2],undef,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|STRING|string))?/ expression encoding_param]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?/ ]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[52]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::save_doc,$item[1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?/ ]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(documents|files|docs)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[53]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(documents|files|docs)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(documents|files|docs))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::files] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(documents|files|docs)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xslt|transform|xsl|xsltproc|process)\\s/ expression filename expression xslt_params]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[54]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xslt|transform|xsl|xsltproc|process)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xslt|transform|xsl|xsltproc|process)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [xslt_params]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xslt_params})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xslt_params, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xslt_params]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xslt_params(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::xslt,@item[3,4,5],@{$item[6]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xslt|transform|xsl|xsltproc|process)\\s/ expression filename expression xslt_params]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(insert|add)\\s/ nodetype expression namespace loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[55]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(insert|add)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(insert|add)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [nodetype]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{nodetype})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodetype($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodetype]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{nodetype}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [namespace]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{namespace})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::namespace, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [namespace]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{namespace(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::insert,@item[3,4,7,6],$item[5][0],0] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(insert|add)\\s/ nodetype expression namespace loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xinsert|xadd)\\s/ nodetype expression namespace loc xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[56]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xinsert|xadd)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xinsert|xadd)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [nodetype]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{nodetype})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodetype($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodetype]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{nodetype}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [namespace]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{namespace})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::namespace, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [namespace]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{namespace(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [loc]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{loc})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::loc($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [loc]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{loc}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::insert,@item[3,4,7,6],$item[5][0],1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xinsert|xadd)\\s/ nodetype expression namespace loc xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(help|\\?)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[57]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(help|\\?)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(help|\?))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::help,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(help|\\?)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(exec|system)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[58]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(exec|system)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(exec|system)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::sh,join(" ",@{$item[3]})] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(exec|system)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(include|\\.)\\s/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[59]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(include|\\.)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(include|\.)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::include,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(include|\\.)\\s/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(ifinclude)\\s/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[60]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(ifinclude)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(ifinclude)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::include,$item[3],1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(ifinclude)\\s/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(assign)\\s/ variable '=' xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[61]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_62_of_rule_command, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_62_of_rule_command]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_62_of_rule_command(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{variable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::xpath_assign,$item[2],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(assign)\\s/ variable '=' xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(assign)\\s/ nodelistvariable '=' xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[62]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_63_of_rule_command, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_63_of_rule_command]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_63_of_rule_command(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [nodelistvariable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{nodelistvariable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodelistvariable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodelistvariable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{nodelistvariable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::nodelist_assign,$item[2],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(assign)\\s/ nodelistvariable '=' xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(local)\\s/ variable '=' xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[63]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(local)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(local)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{variable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::xpath_assign_local,$item[2],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(local)\\s/ variable '=' xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(local)\\s/ nodelistvariable '=' xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[64]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(local)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(local)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [nodelistvariable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{nodelistvariable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::nodelistvariable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [nodelistvariable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{nodelistvariable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::nodelist_assign_local,$item[2],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(local)\\s/ nodelistvariable '=' xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(local)\\s/ anyvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[65]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(local)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(local)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 repeated subrule: [anyvariable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{anyvariable})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::anyvariable, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [anyvariable]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{anyvariable(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::make_local,@{$item[2]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(local)\\s/ anyvariable]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [variable]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[66]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_var,$item[1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [variable]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(variables|vars|var)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[67]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(variables|vars|var)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(variables|vars|var))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::variables] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(variables|vars|var)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(print|echo)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[68]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(print|echo)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(print|echo)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::echo,@{$item[2]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(print|echo)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(print|echo)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[69]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(print|echo)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(print|echo))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::echo] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(print|echo)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(create|new)\\s/ expression expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[70]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(create|new)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(create|new)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::create_doc,@item[3,4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(create|new)\\s/ expression expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(defs)/ ]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[71]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(defs)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(defs))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, 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}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list_defs] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(defs)/ ]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(select)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[72]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(select)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(select)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_local_xpath,[$item[3],"/"]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(select)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(if)\\s/ condition command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[73]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(if)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(if)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [command]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{command})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::if_statement,[$item[3],[$item[4]]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(if)\\s/ condition command]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(unless)\\s/ condition command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[74]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(unless)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(unless)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [command]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{command})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::unless_statement,$item[3],[$item[4]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(unless)\\s/ condition command]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(while)\\s/ condition command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[75]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(while)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(while)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [command]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{command})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::while_statement,$item[3],[$item[4]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(while)\\s/ condition command]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(foreach|for)\\s/ condition command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[76]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(foreach|for)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(foreach|for)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [command]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{command})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::foreach_statement,$item[3],[$item[4]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(foreach|for)\\s/ condition command]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[77]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::process_xinclude,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(cd|chxpath)/ optional_xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[78]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(cd|chxpath)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(cd|chxpath))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_xpath})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_xpath, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_xpath]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_xpath(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_local_xpath,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(cd|chxpath)/ optional_xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(pwd)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[79]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(pwd)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(pwd))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::print_pwd] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(pwd)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(locate)/ optional_xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[80]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(locate)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(locate))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_xpath})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_xpath, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_xpath]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_xpath(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::locate,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(locate)/ optional_xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xupdate)\\s/ expression expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[81]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xupdate)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xupdate)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::xupdate,$item[3],@{$item[4]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xupdate)\\s/ expression expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/open((\\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\\s*=))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\\s*=))?/ id_or_var /\\s*=\\s*/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[82]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/open((\\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\\s*=))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\\s*=))?/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:open((\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\s*=))?((\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\s*=))?)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [id_or_var]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{id_or_var})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::id_or_var($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [id_or_var]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{id_or_var}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/\\s*=\\s*/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/\\s*=\\s*/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\s*=\s*)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::open_doc,@item[3,5,1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/open((\\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\\s*=))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\\s*=))?/ id_or_var /\\s*=\\s*/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ID /\\s*=\\s*/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[83]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/\\s*=\\s*/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/\\s*=\\s*/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\s*=\s*)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::open_doc,@item[1,4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ID /\\s*=\\s*/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(fold)\\s/ xpath expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[84]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(fold)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(fold)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::mark_fold,$item[2],@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(fold)\\s/ xpath expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(unfold)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[85]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(unfold)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(unfold)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::mark_unfold,$item[2]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(unfold)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(normalize)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[86]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(normalize)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(normalize)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::normalize_nodes,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(normalize)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(strip-whitespace|strip_whitespace)\\s/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[87]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(strip-whitespace|strip_whitespace)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(strip-whitespace|strip_whitespace)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::strip_ws,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(strip-whitespace|strip_whitespace)\\s/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(last)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[88]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(last)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(last))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::loop_last,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(last)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(next)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[89]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(next)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(next))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::loop_next,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(next)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(prev)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[90]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(prev)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(prev))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::loop_prev,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(prev)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(redo)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[91]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(redo)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(redo))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::loop_redo,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(redo)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(return)/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[92]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(return)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(return))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::call_return] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(return)/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(throw)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[93]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(throw)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(throw)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::throw_exception,$item[2]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(throw)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(catalog)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[94]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(catalog)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(catalog)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::load_catalog,$item[2]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(catalog)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(register-namespace|regns)\\s/ expression expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[95]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(register-namespace|regns)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(register-namespace|regns)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::register_ns, $item[3],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(register-namespace|regns)\\s/ expression expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(unregister-namespace|unregns)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[96]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(unregister-namespace|unregns)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(unregister-namespace|unregns)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::unregister_ns, $item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(unregister-namespace|unregns)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(register-xhtml-namespace|regns-xhtml)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[97]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(register-xhtml-namespace|regns-xhtml)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(register-xhtml-namespace|regns-xhtml)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::register_ns, $item[3],'http://www.w3.org/1999/xhtml'] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(register-xhtml-namespace|regns-xhtml)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(register-xsh-namespace|regns-xsh)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[98]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(register-xsh-namespace|regns-xsh)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(register-xsh-namespace|regns-xsh)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::register_ns, $item[3],$XML::XSH::xshNS] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(register-xsh-namespace|regns-xsh)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(unregister-function|unregfunc)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[99]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(unregister-function|unregfunc)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(unregister-function|unregfunc)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::unregister_func, $item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(unregister-function|unregfunc)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(register-function|regfunc)\\s/ expression perl_code]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[100]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(register-function|regfunc)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(register-function|regfunc)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [perl_code]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{perl_code})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::perl_code($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [perl_code]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{perl_code}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::register_func, $item[3],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(register-function|regfunc)\\s/ expression perl_code]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(stream)\\s/ /input((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/ filename /output((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/ filename stream_select]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[101]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(stream)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(stream)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying terminal: [/input((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/input((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:input((\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/output((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/output((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:output((\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN3__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [stream_select]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{stream_select})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::stream_select, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [stream_select]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{stream_select(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::stream_process,$item[3],$item[4],$item[5],$item[6],$item[7]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(stream)\\s/ /input((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/ filename /output((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s/ filename stream_select]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(namespaces)/ xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[102]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(namespaces)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(namespaces))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpath, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpath]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::list_namespaces,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(namespaces)/ xpath]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xpath-completion|xpath_completion)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[103]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xpath-completion|xpath_completion)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xpath-completion|xpath_completion)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_xpath_completion,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xpath-completion|xpath_completion)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(xpath-axis-completion|xpath_axis_completion)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[104]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(xpath-axis-completion|xpath_axis_completion)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(xpath-axis-completion|xpath_axis_completion)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::set_xpath_axis_completion,$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(xpath-axis-completion|xpath_axis_completion)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(doc-info|doc_info)/ optional_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[105]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(doc-info|doc_info)/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(doc-info|doc_info))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [optional_expression]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{optional_expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::optional_expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [optional_expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{optional_expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [\&XML::XSH::Functions::doc_info,@{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(doc-info|doc_info)/ optional_expression]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(use)\\s/ /Inline::XSH/]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[106]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(use)\\s/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(use)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying terminal: [/Inline::XSH/]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/Inline::XSH/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:Inline::XSH)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { 1 }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(use)\\s/ /Inline::XSH/]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [call_command]}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[107]; $text = $_[1]; my $_savetext; @item = (q{command}); %item = (__RULE__ => q{command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [call_command]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::call_command($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [call_command]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $item{q{call_command}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [call_command]<<}, Parse::RecDescent::_tracefirst($text), q{command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{command}, $tracelevel) 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}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::shline_nosc { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"shline_nosc"}; Parse::RecDescent::_trace(q{Trying rule: [shline_nosc]}, Parse::RecDescent::_tracefirst($_[1]), q{shline_nosc}, $tracelevel) 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{shline_nosc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{shline_nosc}); %item = (__RULE__ => q{shline_nosc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/([^;()\\\\"'\\|]|\\|[^>]|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\')*/]}, Parse::RecDescent::_tracefirst($text), q{shline_nosc}, $tracelevel) 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{<>}, 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: [/([^;()\\\\"'\\|]|\\|[^>]|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\')*/]<<}, Parse::RecDescent::_tracefirst($text), q{shline_nosc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{shline_nosc}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{shline_nosc}, $tracelevel) 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{shline_nosc}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{shline_nosc}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpfilter { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpfilter"}; Parse::RecDescent::_trace(q{Trying rule: [xpfilter]}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilter}, $tracelevel) 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: ['[' xpinter ']']}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpfilter}); %item = (__RULE__ => q{xpfilter}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['[']}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) 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{<>}, 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: [xpinter]}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpinter})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpinter($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpinter]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; $item{q{xpinter}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [']']}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) 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{<>}, 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{xpfilter}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "[$item[2]]" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['[' xpinter ']']<<}, Parse::RecDescent::_tracefirst($text), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilter}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpfilter}, $tracelevel) 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{xpfilter}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpfilter}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpnodetest { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpnodetest"}; Parse::RecDescent::_trace(q{Trying rule: [xpnodetest]}, Parse::RecDescent::_tracefirst($_[1]), q{xpnodetest}, $tracelevel) 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\\(\\)|text\\(\\)|comment\\(\\)|processing-instruction\\(\\)|[^\\(\\[\\/\\"\\'\\&\\;\\s]+/]}, Parse::RecDescent::_tracefirst($_[1]), q{xpnodetest}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpnodetest}); %item = (__RULE__ => q{xpnodetest}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/node\\(\\)|text\\(\\)|comment\\(\\)|processing-instruction\\(\\)|[^\\(\\[\\/\\"\\'\\&\\;\\s]+/]}, Parse::RecDescent::_tracefirst($text), q{xpnodetest}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:node\(\)|text\(\)|comment\(\)|processing-instruction\(\)|[^\(\[\/\"\'\&\;\s]+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/node\\(\\)|text\\(\\)|comment\\(\\)|processing-instruction\\(\\)|[^\\(\\[\\/\\"\\'\\&\\;\\s]+/]<<}, Parse::RecDescent::_tracefirst($text), q{xpnodetest}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpnodetest}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpnodetest}, $tracelevel) 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{xpnodetest}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpnodetest}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xps { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xps"}; Parse::RecDescent::_trace(q{Trying rule: [xps]}, Parse::RecDescent::_tracefirst($_[1]), q{xps}, $tracelevel) 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{xps}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xps}); %item = (__RULE__ => q{xps}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/([^][()'"]|'[^']*'|"[^"]*")*/]}, Parse::RecDescent::_tracefirst($text), q{xps}, $tracelevel) 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{<>}, 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: [/([^][()'"]|'[^']*'|"[^"]*")*/]<<}, Parse::RecDescent::_tracefirst($text), q{xps}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xps}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xps}, $tracelevel) 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{xps}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xps}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::ws { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ws"}; Parse::RecDescent::_trace(q{Trying rule: [ws]}, Parse::RecDescent::_tracefirst($_[1]), q{ws}, $tracelevel) 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: [/(\\s|\\n|#[^\\n]*)+/]}, Parse::RecDescent::_tracefirst($_[1]), q{ws}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ws}); %item = (__RULE__ => q{ws}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(\\s|\\n|#[^\\n]*)+/]}, Parse::RecDescent::_tracefirst($text), q{ws}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(\s|\n|#[^\n]*)+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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|\\n|#[^\\n]*)+/]<<}, Parse::RecDescent::_tracefirst($text), q{ws}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ws}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ws}, $tracelevel) 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{ws}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ws}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpfilters { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpfilters"}; Parse::RecDescent::_trace(q{Trying rule: [xpfilters]}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilters}, $tracelevel) 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: [xpfilter]}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpfilters}); %item = (__RULE__ => q{xpfilters}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpfilter]}, Parse::RecDescent::_tracefirst($text), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpfilter, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpfilter]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; $item{q{xpfilter(s)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join("",@{$item[1]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpfilter]<<}, Parse::RecDescent::_tracefirst($text), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpfilters}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpfilters}, $tracelevel) 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{xpfilters}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpfilters}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_xpcont { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_xpcont"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_xpcont]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) 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: [xpfilters]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_xpcont}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_xpcont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpfilters]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpfilters($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpfilters]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $item{q{xpfilters}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpfilters]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xpbrackets]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_xpcont}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_xpcont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpbrackets]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpbrackets($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpbrackets]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $item{q{xpbrackets}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpbrackets]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) 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{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_xpcont}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::nodelistvariable { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"nodelistvariable"}; Parse::RecDescent::_trace(q{Trying rule: [nodelistvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{nodelistvariable}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: ['%' ID]}, Parse::RecDescent::_tracefirst($_[1]), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{nodelistvariable}); %item = (__RULE__ => q{nodelistvariable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['%']}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[3] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['%' ID]<<}, Parse::RecDescent::_tracefirst($text), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{nodelistvariable}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{nodelistvariable}, $tracelevel) 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{nodelistvariable}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{nodelistvariable}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xplocationstep { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xplocationstep"}; Parse::RecDescent::_trace(q{Trying rule: [xplocationstep]}, Parse::RecDescent::_tracefirst($_[1]), q{xplocationstep}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xpaxis xpnodetest]}, Parse::RecDescent::_tracefirst($_[1]), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xplocationstep}); %item = (__RULE__ => q{xplocationstep}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpaxis]}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpaxis, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpaxis]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $item{q{xpaxis(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpnodetest]}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpnodetest})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpnodetest($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpnodetest]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $item{q{xpnodetest}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [ (@{$item[1]} ? $item[1][0] : 'child::'),$item[3] ] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpaxis xpnodetest]<<}, Parse::RecDescent::_tracefirst($text), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xplocationstep}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xplocationstep}, $tracelevel) 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{xplocationstep}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xplocationstep}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::undef { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"undef"}; Parse::RecDescent::_trace(q{Trying rule: [undef]}, Parse::RecDescent::_tracefirst($_[1]), q{undef}, $tracelevel) 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: [/(undef|undefine)\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{undef}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{undef}); %item = (__RULE__ => q{undef}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(undef|undefine)\\s/]}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(undef|undefine)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { &XML::XSH::Functions::undef_sub($item[3]); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(undef|undefine)\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{undef}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{undef}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{undef}, $tracelevel) 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{undef}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{undef}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::match_typedargs { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"match_typedargs"}; Parse::RecDescent::_trace(q{Trying rule: [match_typedargs]}, Parse::RecDescent::_tracefirst($_[1]), q{match_typedargs}, $tracelevel) 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: [xpath match_typedargs]}, Parse::RecDescent::_tracefirst($_[1]), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{match_typedargs}); %item = (__RULE__ => q{match_typedargs}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = ((@arg and $arg[0]<=$#arg and $arg[$arg[0]]=~m/^%/) ? $arg[$arg[0]] : undef) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [xpath]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpath})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpath($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpath]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $item{q{xpath}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [match_typedargs]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{match_typedargs})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::match_typedargs($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0]+1,@arg[1..$#arg]] }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [match_typedargs]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $item{q{match_typedargs}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return=(defined($item[3]) ? [$item[2],@{$item[3]}] : undef); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION2__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpath match_typedargs]<<}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [expression match_typedargs]}, Parse::RecDescent::_tracefirst($_[1]), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{match_typedargs}); %item = (__RULE__ => q{match_typedargs}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = ((@arg and $arg[0]<=$#arg and $arg[$arg[0]]=~m/^\$/) ? $arg[$arg[0]] : undef) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [match_typedargs]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{match_typedargs})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::match_typedargs($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0]+1,@arg[1..$#arg]] }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [match_typedargs]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $item{q{match_typedargs}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return=(defined($item[3]) ? [$item[2],@{$item[3]}] : undef); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION2__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [expression match_typedargs]<<}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{match_typedargs}); %item = (__RULE__ => q{match_typedargs}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return= (($arg[0]==$#arg+1) ? [] : undef); }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{match_typedargs}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{match_typedargs}, $tracelevel) 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{match_typedargs}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{match_typedargs}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_62_of_rule_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_62_of_rule_command"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_62_of_rule_command]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) 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: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_62_of_rule_command}); %item = (__RULE__ => q{_alternation_1_of_production_62_of_rule_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(assign)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/(assign)\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) 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{_alternation_1_of_production_62_of_rule_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_62_of_rule_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpstep { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpstep"}; Parse::RecDescent::_trace(q{Trying rule: [xpstep]}, Parse::RecDescent::_tracefirst($_[1]), q{xpstep}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xplocationstep xpfilter]}, Parse::RecDescent::_tracefirst($_[1]), q{xpstep}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpstep}); %item = (__RULE__ => q{xpstep}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xplocationstep]}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xplocationstep($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xplocationstep]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $item{q{xplocationstep}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpfilter]}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpfilter})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpfilter, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpfilter]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $item{q{xpfilter(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [ @{$item[1]}, @{$item[3]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xplocationstep xpfilter]<<}, Parse::RecDescent::_tracefirst($text), q{xpstep}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpstep}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpstep}, $tracelevel) 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{xpstep}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpstep}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::system_dtd { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"system_dtd"}; Parse::RecDescent::_trace(q{Trying rule: [system_dtd]}, Parse::RecDescent::_tracefirst($_[1]), q{system_dtd}, $tracelevel) 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: [/SYSTEM|FILE/ filename]}, Parse::RecDescent::_tracefirst($_[1]), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{system_dtd}); %item = (__RULE__ => q{system_dtd}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/SYSTEM|FILE/]}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:SYSTEM|FILE)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [filename]}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{filename})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; $item{q{filename}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/SYSTEM|FILE/ filename]<<}, Parse::RecDescent::_tracefirst($text), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{system_dtd}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{system_dtd}, $tracelevel) 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{system_dtd}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{system_dtd}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"expression"}; Parse::RecDescent::_trace(q{Trying rule: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [/< /.*\\n/ /(.|\\n)*?\\n$item[3]\\s*(\\n|$)/]}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{expression}); %item = (__RULE__ => q{expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/<is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:<<)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 terminal: [/(\\'|\\")?/]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) 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{<>}, 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{__PATTERN2__}=$&; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [/$item[2]/]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/$item[2]/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:$item[2])//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN3__}=$&; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying terminal: [/.*\\n/]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/.*\\n/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:.*\n)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN4__}=$&; Parse::RecDescent::_trace(q{Trying terminal: [/(.|\\n)*?\\n$item[3]\\s*(\\n|$)/]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/(.|\\n)*?\\n$item[3]\\s*(\\n|$)/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(.|\n)*?\n$item[3]\s*(\n|$))//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{__PATTERN5__}=$&; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $text=$item[6].$text; local $_=$item[7]; s/\n$item[3]\s*$//; if ($item[2] eq "'") { s{(\\)(.|\n)|(\$)}{ ($3 eq '$') ? "\\\$" : (($2 eq "\\") ? "\\\\" : (($2 eq "'") ? "'" : ( ($2 eq '$') ? "\\\\\\$2" : "\\\\$2"))) }eg; } $_; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/< /.*\\n/ /(.|\\n)*?\\n$item[3]\\s*(\\n|$)/]<<}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [exp_part expression]}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{expression}); %item = (__RULE__ => q{expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [exp_part]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::exp_part($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [exp_part]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $item{q{exp_part}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{expression})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::expression, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [expression]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1].join("",@{$item[3]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [exp_part expression]<<}, Parse::RecDescent::_tracefirst($text), q{expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{expression}, $tracelevel) 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{expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::public_dtd { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"public_dtd"}; Parse::RecDescent::_trace(q{Trying rule: [public_dtd]}, Parse::RecDescent::_tracefirst($_[1]), q{public_dtd}, $tracelevel) 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: ['PUBLIC' expression]}, Parse::RecDescent::_tracefirst($_[1]), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{public_dtd}); %item = (__RULE__ => q{public_dtd}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['PUBLIC']}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\APUBLIC//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, 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: [expression]}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['PUBLIC' expression]<<}, Parse::RecDescent::_tracefirst($text), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{public_dtd}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{public_dtd}, $tracelevel) 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{public_dtd}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{public_dtd}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpbrackets { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpbrackets"}; Parse::RecDescent::_trace(q{Trying rule: [xpbrackets]}, Parse::RecDescent::_tracefirst($_[1]), q{xpbrackets}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xpbracket xpfilters]}, Parse::RecDescent::_tracefirst($_[1]), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpbrackets}); %item = (__RULE__ => q{xpbrackets}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpbracket]}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpbracket($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpbracket]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $item{q{xpbracket}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpfilters]}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpfilters})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpfilters, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpfilters]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $item{q{xpfilters(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join "",$item[1],@{$item[3]} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpbracket xpfilters]<<}, Parse::RecDescent::_tracefirst($text), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpbrackets}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpbrackets}, $tracelevel) 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{xpbrackets}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpbrackets}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpcont { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpcont"}; Parse::RecDescent::_trace(q{Trying rule: [xpcont]}, Parse::RecDescent::_tracefirst($_[1]), q{xpcont}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xpfilters, or xpbrackets xp]}, Parse::RecDescent::_tracefirst($_[1]), q{xpcont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpcont}); %item = (__RULE__ => q{xpcont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_xpcont]}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_xpcont($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_xpcont]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_xpcont}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xp]}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xp})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xp, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xp]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $item{q{xp(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1].join("",@{$item[3]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpfilters, or xpbrackets xp]<<}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xp]}, Parse::RecDescent::_tracefirst($_[1]), q{xpcont}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{xpcont}); %item = (__RULE__ => q{xpcont}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xp]}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xp($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xp]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $item{q{xp}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xp]<<}, Parse::RecDescent::_tracefirst($text), q{xpcont}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpcont}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpcont}, $tracelevel) 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{xpcont}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpcont}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::encoding_param { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"encoding_param"}; Parse::RecDescent::_trace(q{Trying rule: [encoding_param]}, Parse::RecDescent::_tracefirst($_[1]), q{encoding_param}, $tracelevel) 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: [/encoding\\s/ expression]}, Parse::RecDescent::_tracefirst($_[1]), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{encoding_param}); %item = (__RULE__ => q{encoding_param}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/encoding\\s/]}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:encoding\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[2] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/encoding\\s/ expression]<<}, Parse::RecDescent::_tracefirst($text), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{encoding_param}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{encoding_param}, $tracelevel) 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{encoding_param}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{encoding_param}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpbracket { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpbracket"}; Parse::RecDescent::_trace(q{Trying rule: [xpbracket]}, Parse::RecDescent::_tracefirst($_[1]), q{xpbracket}, $tracelevel) 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: ['(' xpinter ')']}, Parse::RecDescent::_tracefirst($_[1]), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpbracket}); %item = (__RULE__ => q{xpbracket}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) 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{<>}, 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: [xpinter]}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xpinter})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpinter($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpinter]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; $item{q{xpinter}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) 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{<>}, 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{xpbracket}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "($item[2])" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['(' xpinter ')']<<}, Parse::RecDescent::_tracefirst($text), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpbracket}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpbracket}, $tracelevel) 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{xpbracket}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpbracket}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::elsif_block { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"elsif_block"}; Parse::RecDescent::_trace(q{Trying rule: [elsif_block]}, Parse::RecDescent::_tracefirst($_[1]), q{elsif_block}, $tracelevel) 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: [/(elsif)\\s/ condition block elsif_block]}, Parse::RecDescent::_tracefirst($_[1]), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{elsif_block}); %item = (__RULE__ => q{elsif_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(elsif)\\s/]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(elsif)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [condition]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{condition})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::condition($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [condition]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $item{q{condition}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying subrule: [elsif_block]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{elsif_block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::elsif_block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [elsif_block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $item{q{elsif_block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [[$item[3],$item[4]],@{$item[5]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(elsif)\\s/ condition block elsif_block]<<}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(elsif)/]}, Parse::RecDescent::_tracefirst($_[1]), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{elsif_block}); %item = (__RULE__ => q{elsif_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(elsif)/]}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); $_savetext = $text; if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(elsif))//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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__}=$&; $text = $_savetext; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(elsif)/]<<}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: [ ]}, Parse::RecDescent::_tracefirst($_[1]), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{elsif_block}); %item = (__RULE__ => q{elsif_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit=0;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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{Parse error near keyword elsif: "}.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE2__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ]<<}, Parse::RecDescent::_tracefirst($text), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{elsif_block}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{elsif_block}, $tracelevel) 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{elsif_block}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{elsif_block}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::single_quoted_string { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"single_quoted_string"}; Parse::RecDescent::_trace(q{Trying rule: [single_quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{single_quoted_string}, $tracelevel) 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{single_quoted_string}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{single_quoted_string}); %item = (__RULE__ => q{single_quoted_string}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\'/]}, Parse::RecDescent::_tracefirst($text), q{single_quoted_string}, $tracelevel) 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{<>}, 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{single_quoted_string}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { local $_=$item[1]; s/^\'|\'$//g; s{(\\)(.|\n)|(\$)}{ ($3 eq '$') ? "\\\$" : (($2 eq "\\") ? "\\\\" : (($2 eq "'") ? "'" : ( ($2 eq '$') ? "\\\\\\$2" : "\\\\$2"))) }eg; $_; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/\\'([^\\'\\\\]|\\\\\\'|\\\\\\\\|\\\\[^\\'\\\\])*\\'/]<<}, Parse::RecDescent::_tracefirst($text), q{single_quoted_string}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{single_quoted_string}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{single_quoted_string}, $tracelevel) 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{single_quoted_string}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{single_quoted_string}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_local_var { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_local_var"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_local_var]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) 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: [/local\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_1_of_rule_local_var}); %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_local_var}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/local\\s/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:local\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/local\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) 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{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_1_of_rule_local_var}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::nodetype { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"nodetype"}; Parse::RecDescent::_trace(q{Trying rule: [nodetype]}, Parse::RecDescent::_tracefirst($_[1]), q{nodetype}, $tracelevel) 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: [/element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference/]}, Parse::RecDescent::_tracefirst($_[1]), q{nodetype}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{nodetype}); %item = (__RULE__ => q{nodetype}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference/]}, Parse::RecDescent::_tracefirst($text), q{nodetype}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference/]<<}, Parse::RecDescent::_tracefirst($text), q{nodetype}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{nodetype}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{nodetype}, $tracelevel) 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{nodetype}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{nodetype}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_63_of_rule_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_63_of_rule_command"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_63_of_rule_command]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) 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: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_63_of_rule_command}); %item = (__RULE__ => q{_alternation_1_of_production_63_of_rule_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(assign)\\s/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(assign)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/(assign)\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) 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{_alternation_1_of_production_63_of_rule_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_63_of_rule_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xp { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xp"}; Parse::RecDescent::_trace(q{Trying rule: [xp]}, Parse::RecDescent::_tracefirst($_[1]), q{xp}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [xpsimple xpcont]}, Parse::RecDescent::_tracefirst($_[1]), q{xp}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xp}); %item = (__RULE__ => q{xp}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpsimple]}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpsimple($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpsimple]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $item{q{xpsimple}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying repeated subrule: [xpcont]}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{xpcont})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::xpcont, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xpcont]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $item{q{xpcont(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1].join("",@{$item[3]}) }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xpsimple xpcont]<<}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xpstring]}, Parse::RecDescent::_tracefirst($_[1]), q{xp}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{xp}); %item = (__RULE__ => q{xp}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xpstring]}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xpstring($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xpstring]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $item{q{xpstring}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [xpstring]<<}, Parse::RecDescent::_tracefirst($text), q{xp}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xp}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xp}, $tracelevel) 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{xp}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xp}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpstring { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpstring"}; Parse::RecDescent::_trace(q{Trying rule: [xpstring]}, Parse::RecDescent::_tracefirst($_[1]), q{xpstring}, $tracelevel) 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{xpstring}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpstring}); %item = (__RULE__ => q{xpstring}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/'[^']*'|"[^"]*"/]}, Parse::RecDescent::_tracefirst($text), q{xpstring}, $tracelevel) 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{<>}, 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: [/'[^']*'|"[^"]*"/]<<}, Parse::RecDescent::_tracefirst($text), q{xpstring}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpstring}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpstring}, $tracelevel) 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{xpstring}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpstring}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_3_of_rule_complex_command { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_3_of_rule_complex_command"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_3_of_rule_complex_command]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) 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{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_3_of_rule_complex_command}); %item = (__RULE__ => q{_alternation_1_of_production_3_of_rule_complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [';']}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) 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{<>}, 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{>>Matched production: [';']<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/^\\s*(\}|\\Z)/]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_3_of_rule_complex_command}); %item = (__RULE__ => q{_alternation_1_of_production_3_of_rule_complex_command}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/^\\s*(\}|\\Z)/]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:^\s*(}|\Z))//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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__}=$&; $text = $_savetext; Parse::RecDescent::_trace(q{>>Matched production: [/^\\s*(\}|\\Z)/]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) 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{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_3_of_rule_complex_command}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::param { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"param"}; Parse::RecDescent::_trace(q{Trying rule: [param]}, Parse::RecDescent::_tracefirst($_[1]), q{param}, $tracelevel) 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: [/[^=\\s]+/ '=' expression]}, Parse::RecDescent::_tracefirst($_[1]), q{param}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{param}); %item = (__RULE__ => q{param}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[^=\\s]+/]}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) 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{<>}, 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 terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) 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{<>}, 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: [expression]}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expression})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [$item[1],$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/[^=\\s]+/ '=' expression]<<}, Parse::RecDescent::_tracefirst($text), q{param}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{param}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{param}, $tracelevel) 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{param}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{param}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::STRING { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"STRING"}; Parse::RecDescent::_trace(q{Trying rule: [STRING]}, Parse::RecDescent::_tracefirst($_[1]), q{STRING}, $tracelevel) 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: [/([^'"\\$\\\\ \\t\\n\\r\\|;\\\{\\\}]|\\$[^\{]|\\$\\\{[^\{\}]*\\\}|]|\\\\.)+/]}, Parse::RecDescent::_tracefirst($_[1]), q{STRING}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{STRING}); %item = (__RULE__ => q{STRING}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/([^'"\\$\\\\ \\t\\n\\r\\|;\\\{\\\}]|\\$[^\{]|\\$\\\{[^\{\}]*\\\}|]|\\\\.)+/]}, Parse::RecDescent::_tracefirst($text), q{STRING}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:([^'"\$\\ \t\n\r\|;\{\}]|\$[^{]|\$\{[^{}]*\}|]|\\.)+)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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: [/([^'"\\$\\\\ \\t\\n\\r\\|;\\\{\\\}]|\\$[^\{]|\\$\\\{[^\{\}]*\\\}|]|\\\\.)+/]<<}, Parse::RecDescent::_tracefirst($text), q{STRING}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{STRING}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{STRING}, $tracelevel) 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{STRING}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{STRING}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::local_var { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"local_var"}; Parse::RecDescent::_trace(q{Trying rule: [local_var]}, Parse::RecDescent::_tracefirst($_[1]), q{local_var}, $tracelevel) 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: [/local\\s/ variable]}, Parse::RecDescent::_tracefirst($_[1]), q{local_var}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{local_var}); %item = (__RULE__ => q{local_var}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying repeated subrule: [/local\\s/]}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::_alternation_1_of_production_1_of_rule_local_var, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_1_of_rule_local_var]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_1_of_rule_local_var(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{variable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [$item[2],@{$item[1]}] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/local\\s/ variable]<<}, Parse::RecDescent::_tracefirst($text), q{local_var}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{local_var}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{local_var}, $tracelevel) 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{local_var}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{local_var}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::else_block { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"else_block"}; Parse::RecDescent::_trace(q{Trying rule: [else_block]}, Parse::RecDescent::_tracefirst($_[1]), q{else_block}, $tracelevel) 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: [/(else)\\s/ block]}, Parse::RecDescent::_tracefirst($_[1]), q{else_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{else_block}); %item = (__RULE__ => q{else_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(else)\\s/]}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(else)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [block]}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{block})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::block($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $item{q{block}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [[undef,$item[3]]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(else)\\s/ block]<<}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(else)/]}, Parse::RecDescent::_tracefirst($_[1]), q{else_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{else_block}); %item = (__RULE__ => q{else_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(else)/]}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); $_savetext = $text; if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(else))//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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__}=$&; $text = $_savetext; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(else)/]<<}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: [ ]}, Parse::RecDescent::_tracefirst($_[1]), q{else_block}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{else_block}); %item = (__RULE__ => q{else_block}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit=0;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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{Parse error near keyword else: "}.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE2__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [ ]<<}, Parse::RecDescent::_tracefirst($text), q{else_block}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{else_block}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{else_block}, $tracelevel) 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{else_block}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{else_block}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::shline_bracket { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"shline_bracket"}; Parse::RecDescent::_trace(q{Trying rule: [shline_bracket]}, Parse::RecDescent::_tracefirst($_[1]), q{shline_bracket}, $tracelevel) 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: ['(' shline_inter shline_bracket shline_inter ')']}, Parse::RecDescent::_tracefirst($_[1]), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{shline_bracket}); %item = (__RULE__ => q{shline_bracket}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) 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{<>}, 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: [shline_inter]}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{shline_inter})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shline_inter($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shline_inter]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_inter}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying repeated subrule: [shline_bracket]}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{shline_bracket})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::XML::XSH::Parser::shline_bracket, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [shline_bracket]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_bracket(?)}} = $_tok; push @item, $_tok; Parse::RecDescent::_trace(q{Trying subrule: [shline_inter]}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{shline_inter})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shline_inter($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shline_inter]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $item{q{shline_inter}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) 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{<>}, 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{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { join("",'(',$item[2],@{$item[3]},$item[4],')') }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['(' shline_inter shline_bracket shline_inter ')']<<}, Parse::RecDescent::_tracefirst($text), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{shline_bracket}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{shline_bracket}, $tracelevel) 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{shline_bracket}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{shline_bracket}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::loc { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"loc"}; Parse::RecDescent::_trace(q{Trying rule: [loc]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) 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: [/after\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/after\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:after\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "after" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/after\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/before\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/before\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:before\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "before" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/before\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(in)?to\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(in)?to\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(in)?to\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "into" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(in)?to\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(append(ing)?|as\\s+(a\\s+)child(\\s+of)?)\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(append(ing)?|as\\s+(a\\s+)child(\\s+of)?)\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(append(ing)?|as\s+(a\s+)child(\s+of)?)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "append" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(append(ing)?|as\\s+(a\\s+)child(\\s+of)?)\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(prepend(ing)?|(as\\s+)(the\\s+)first(\\s+child(\\s+of)?)?)\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(prepend(ing)?|(as\\s+)(the\\s+)first(\\s+child(\\s+of)?)?)\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(prepend(ing)?|(as\s+)(the\s+)first(\s+child(\s+of)?)?)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "prepend" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(prepend(ing)?|(as\\s+)(the\\s+)first(\\s+child(\\s+of)?)?)\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/(replace|instead( of)?)\\s/]}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{loc}); %item = (__RULE__ => q{loc}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/(replace|instead( of)?)\\s/]}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(replace|instead( of)?)\s)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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{loc}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "replace" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/(replace|instead( of)?)\\s/]<<}, Parse::RecDescent::_tracefirst($text), q{loc}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{loc}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{loc}, $tracelevel) 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{loc}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{loc}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"type"}; Parse::RecDescent::_trace(q{Trying rule: [type]}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) 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{type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{type}); %item = (__RULE__ => q{type}); my $repcount = 0; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{type}, $tracelevel) 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{type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::perl_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"perl_expression"}; Parse::RecDescent::_trace(q{Trying rule: [perl_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{perl_expression}, $tracelevel) 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: [expression]}, Parse::RecDescent::_tracefirst($_[1]), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{perl_expression}); %item = (__RULE__ => q{perl_expression}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [expression]}, Parse::RecDescent::_tracefirst($text), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{expression}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{>>Matched production: [expression]<<}, Parse::RecDescent::_tracefirst($text), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{perl_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{perl_expression}, $tracelevel) 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{perl_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{perl_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::subroutine_arguments { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"subroutine_arguments"}; Parse::RecDescent::_trace(q{Trying rule: [subroutine_arguments]}, Parse::RecDescent::_tracefirst($_[1]), q{subroutine_arguments}, $tracelevel) 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{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{subroutine_arguments}); %item = (__RULE__ => q{subroutine_arguments}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (exists($XML::XSH::Functions::_defs{$arg[0]})) { $return=[ @{$XML::XSH::Functions::_defs{$arg[0]}} ]; shift @$return; } else { $return=undef; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{subroutine_arguments}); %item = (__RULE__ => q{subroutine_arguments}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{Call to undefined subroutine $arg[0]!},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{subroutine_arguments}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{subroutine_arguments}, $tracelevel) 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{subroutine_arguments}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{subroutine_arguments}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::exp_inline_count { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"exp_inline_count"}; Parse::RecDescent::_trace(q{Trying rule: [exp_inline_count]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_inline_count}, $tracelevel) 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{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{exp_inline_count}); %item = (__RULE__ => q{exp_inline_count}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\$\\\{\\((.+?)\\)\\\}/]}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) 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{<>}, 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: [/\\$\\\{\\((.+?)\\)\\\}/]<<}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\$\\\{\\\{\\\{(.+?)\\\}\\\}\\\}/]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{exp_inline_count}); %item = (__RULE__ => q{exp_inline_count}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\$\\\{\\\{\\\{(.+?)\\\}\\\}\\\}/]}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) 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{<>}, 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: [/\\$\\\{\\\{\\\{(.+?)\\\}\\\}\\\}/]<<}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\$\\\{\\\{([^\{].*?)\\\}\\\}/]}, Parse::RecDescent::_tracefirst($_[1]), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{exp_inline_count}); %item = (__RULE__ => q{exp_inline_count}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\$\\\{\\\{([^\{].*?)\\\}\\\}/]}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) 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{<>}, 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: [/\\$\\\{\\\{([^\{].*?)\\\}\\\}/]<<}, Parse::RecDescent::_tracefirst($text), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{exp_inline_count}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{exp_inline_count}, $tracelevel) 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{exp_inline_count}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{exp_inline_count}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::typedvariable { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"typedvariable"}; Parse::RecDescent::_trace(q{Trying rule: [typedvariable]}, Parse::RecDescent::_tracefirst($_[1]), q{typedvariable}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [/[\\$\\%]/ ID]}, Parse::RecDescent::_tracefirst($_[1]), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{typedvariable}); %item = (__RULE__ => q{typedvariable}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[\\$\\%]/]}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [ID]}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ID})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::ID($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ID]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; $item{q{ID}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { "$item[1]$item[3]" }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [/[\\$\\%]/ ID]<<}, Parse::RecDescent::_tracefirst($text), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{typedvariable}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{typedvariable}, $tracelevel) 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{typedvariable}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{typedvariable}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::ID { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ID"}; Parse::RecDescent::_trace(q{Trying rule: [ID]}, Parse::RecDescent::_tracefirst($_[1]), q{ID}, $tracelevel) 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-Z_][a-zA-Z0-9_]*/]}, Parse::RecDescent::_tracefirst($_[1]), q{ID}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ID}); %item = (__RULE__ => q{ID}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: [/[a-zA-Z_][a-zA-Z0-9_]*/]}, Parse::RecDescent::_tracefirst($text), q{ID}, $tracelevel) 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-Z_][a-zA-Z0-9_]*)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, 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-Z_][a-zA-Z0-9_]*/]<<}, Parse::RecDescent::_tracefirst($text), q{ID}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ID}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ID}, $tracelevel) 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{ID}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ID}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::xpath { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"xpath"}; Parse::RecDescent::_trace(q{Trying rule: [xpath]}, Parse::RecDescent::_tracefirst($_[1]), q{xpath}, $tracelevel) 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) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [id_or_var /:(?!:)/ xp]}, Parse::RecDescent::_tracefirst($_[1]), q{xpath}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{xpath}); %item = (__RULE__ => q{xpath}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [id_or_var]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::id_or_var($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [id_or_var]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $item{q{id_or_var}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my $oldskip = $skip; $skip=""; $oldskip }; 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying terminal: [/:(?!:)/]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) 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{<>}, 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 subrule: [xp]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{xp})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xp($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xp]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $item{q{xp}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [$item[1],$item[4]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [id_or_var /:(?!:)/ xp]<<}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [xp]}, Parse::RecDescent::_tracefirst($_[1]), q{xpath}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{xpath}); %item = (__RULE__ => q{xpath}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying subrule: [xp]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::xp($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [xp]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $item{q{xp}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [undef,$item[1]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: [xp]<<}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{xpath}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; my $_savetext; @item = (q{xpath}); %item = (__RULE__ => q{xpath}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{expected ID:XPath or XPath, but got "}.substr($text,0,40).qq{ ..."},$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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{xpath}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{xpath}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{xpath}, $tracelevel) 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{xpath}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{xpath}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::XML::XSH::Parser::trail { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"trail"}; Parse::RecDescent::_trace(q{Trying rule: [trail]}, Parse::RecDescent::_tracefirst($_[1]), q{trail}, $tracelevel) 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: ['|>' variable]}, Parse::RecDescent::_tracefirst($_[1]), q{trail}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{trail}); %item = (__RULE__ => q{trail}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['|>']}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [variable]}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{variable})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $item{q{variable}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['var',$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['|>' variable]<<}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['|' shline]}, Parse::RecDescent::_tracefirst($_[1]), q{trail}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{trail}); %item = (__RULE__ => q{trail}); my $repcount = 0; Parse::RecDescent::_trace(q{Trying terminal: ['|']}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) 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{<>}, 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 directive: []}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) 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{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; Parse::RecDescent::_trace(q{Trying subrule: [shline]}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{shline})->at($text); unless (defined ($_tok = Parse::RecDescent::XML::XSH::Parser::shline($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [shline]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $item{q{shline}} = $_tok; push @item, $_tok; } Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { ['pipe',$item[3]] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; Parse::RecDescent::_trace(q{>>Matched production: ['|' shline]<<}, Parse::RecDescent::_tracefirst($text), q{trail}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{trail}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{trail}, $tracelevel) 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{trail}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{trail}, $tracelevel) } $_[1] = $text; return $return; } } package XML::XSH::Parser; sub new { my $self = bless( { '_AUTOTREE' => undef, 'rules' => { 'shell' => bless( { 'impcount' => 0, 'line' => '637', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/!\\\\s*/', 'pattern' => '!\\s*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '638', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '638', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'description' => '/.*/', 'pattern' => '.*', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '638', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '639', 'code' => '{ [[\\&XML::XSH::Functions::sh,$item[3]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 2, 'uncommit' => 0, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => 1, 'line' => '641', 'items' => [ bless( { 'line' => '641', 'commitonly' => '?', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'msg' => 'Parse error near: "! }.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ), bless( { 'line' => '641', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::UncondReject' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'shell' }, 'Parse::RecDescent::Rule' ), 'validation_scheme' => bless( { 'impcount' => 0, 'line' => '492', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'DTD\'', 'line' => '493', 'pattern' => 'DTD', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '493', 'subrule' => 'public_dtd', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '493', 'subrule' => 'system_dtd', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '494', 'code' => '{ [\'DTD\',\'FILE\',$item[2],$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 1, 'error' => undef, 'line' => '496', 'items' => [ bless( { 'description' => '\'DTD\'', 'line' => '496', 'pattern' => 'DTD', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '496', 'subrule' => 'public_dtd', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '497', 'code' => '{ [\'DTD\',\'FILE\',$item[2],undef] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 2, 'error' => undef, 'line' => '499', 'items' => [ bless( { 'description' => '\'DTD\'', 'line' => '499', 'pattern' => 'DTD', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '499', 'subrule' => 'system_dtd', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '500', 'code' => '{ [\'DTD\',\'FILE\',undef,$item[2]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 2, 'number' => 3, 'error' => undef, 'line' => '502', 'items' => [ bless( { 'description' => '\'DTD\'', 'line' => '502', 'pattern' => 'DTD', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'description' => '\'STRING\'', 'line' => '502', 'pattern' => 'STRING', 'hashname' => '__STRING2__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '502', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '503', 'code' => '{ [\'DTD\',\'STRING\',$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 4, 'error' => undef, 'line' => '505', 'items' => [ bless( { 'description' => '/RNG|RelaxNG|RELAXNG/', 'pattern' => 'RNG|RelaxNG|RELAXNG', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '505', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'description' => '/FILE|STRING|DOC/', 'pattern' => 'FILE|STRING|DOC', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '505', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '505', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '506', 'code' => '{ [\'RNG\',@item[2,3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 5, 'error' => undef, 'line' => '508', 'items' => [ bless( { 'description' => '/Schema|SCHEMA|XSD/', 'pattern' => 'Schema|SCHEMA|XSD', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '508', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'description' => '/FILE|STRING|DOC/', 'pattern' => 'FILE|STRING|DOC', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '508', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '508', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '509', 'code' => '{ [\'XSD\',@item[2,3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'public_dtd', 'system_dtd', 'expression', 'filename' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'validation_scheme' }, 'Parse::RecDescent::Rule' ), 'def' => bless( { 'impcount' => 0, 'line' => '683', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(def|define)\\\\s/', 'pattern' => '(def|define)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '684', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '684', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '684', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'typedvariable', 'line' => '684', 'expected' => undef, 'max' => 100000000, 'repspec' => 's?' }, 'Parse::RecDescent::Repetition' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'block', 'line' => '684', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '685', 'code' => '{ &XML::XSH::Functions::def($item[3],$item[5],$item[4]); }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 2, 'uncommit' => 0, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => 1, 'line' => '689', 'items' => [ bless( { 'line' => '689', 'commitonly' => '?', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'msg' => 'Parse error near: "}.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ), bless( { 'line' => '689', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::UncondReject' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID', 'typedvariable', 'block' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'def' }, 'Parse::RecDescent::Rule' ), 'startrule' => bless( { 'impcount' => 0, 'line' => '605', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '606', 'subrule' => 'shell', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '606', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '606', 'subrule' => 'eof', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '607', 'code' => '{ XML::XSH::Functions::run_commands($item[1],1) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '609', 'items' => [ bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'statement_or_command', 'line' => '609', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '609', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '609', 'subrule' => 'eof', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '610', 'code' => '{ XML::XSH::Functions::run_commands($item[1],1) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'shell', 'eof', 'statement_or_command' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'startrule' }, 'Parse::RecDescent::Rule' ), 'xpsimple' => bless( { 'impcount' => 0, 'line' => '578', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/[^]\\}|"\' [();]+/', 'pattern' => '[^]}|"\' [();]+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '579', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '580', 'items' => [ bless( { 'line' => '580', 'subrule' => 'xpbrackets', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpbrackets' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpsimple' }, 'Parse::RecDescent::Rule' ), 'statement_or_command' => bless( { 'impcount' => 0, 'line' => '386', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '387', 'subrule' => 'def', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '388', 'items' => [ bless( { 'line' => '388', 'subrule' => 'undef', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '389', 'items' => [ bless( { 'line' => '389', 'subrule' => 'complex_command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'def', 'undef', 'complex_command' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'statement_or_command' }, 'Parse::RecDescent::Rule' ), 'xslt_params' => bless( { 'impcount' => 0, 'line' => '747', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(params|parameters)\\\\s/', 'pattern' => '(params|parameters)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '748', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'param', 'line' => '748', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '749', 'code' => '{ $item[2] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'param' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xslt_params' }, 'Parse::RecDescent::Rule' ), 'id_or_var' => bless( { 'impcount' => 0, 'line' => '478', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '479', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '480', 'items' => [ bless( { 'line' => '480', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID', 'variable' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'id_or_var' }, 'Parse::RecDescent::Rule' ), 'condition' => bless( { 'impcount' => 0, 'line' => '643', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '644', 'code' => 'Text::Balanced::extract_codeblock($text,undef,$skip,\'{}\'); ', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '645', 'items' => [ bless( { 'line' => '645', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpath' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'condition' }, 'Parse::RecDescent::Rule' ), 'optional_expression' => bless( { 'impcount' => 0, 'line' => '457', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '458', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '458', 'subrule' => 'ws', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '458', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '459', 'code' => '{ $item[3] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ws', 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'optional_expression' }, 'Parse::RecDescent::Rule' ), 'anyvariable' => bless( { 'impcount' => 0, 'line' => '691', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '692', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '693', 'code' => '{ [\'$\',$item[1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '695', 'items' => [ bless( { 'line' => '695', 'subrule' => 'nodelistvariable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '696', 'code' => '{ [\'%\',$item[1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'variable', 'nodelistvariable' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'anyvariable' }, 'Parse::RecDescent::Rule' ), 'statement' => bless( { 'impcount' => 0, 'line' => '332', 'prods' => [ bless( { 'dircount' => 2, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\s*[\\}\\{;]/', 'pattern' => '\\s*[}{;]', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 1, 'ldelim' => '/', 'line' => '333', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '333', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '333', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::UncondReject' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '334', 'items' => [ bless( { 'description' => '/(if)\\\\s/', 'pattern' => '(if)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '334', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '334', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '334', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '334', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '334', 'subrule' => 'elsif_block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '334', 'subrule' => 'else_block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '335', 'code' => '{ [\\&XML::XSH::Functions::if_statement,[$item[3],$item[4]],@{$item[5]},@{$item[6]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '337', 'items' => [ bless( { 'description' => '/(unless)\\\\s/', 'pattern' => '(unless)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '337', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '337', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '337', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '337', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'else_block', 'line' => '337', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '338', 'code' => '{ [\\&XML::XSH::Functions::unless_statement,$item[3],$item[4],@{$item[5]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 3, 'error' => undef, 'line' => '340', 'items' => [ bless( { 'description' => '/(while)\\\\s/', 'pattern' => '(while)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '340', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '340', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '340', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '340', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '341', 'code' => '{ [\\&XML::XSH::Functions::while_statement,$item[3],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 4, 'error' => undef, 'line' => '343', 'items' => [ bless( { 'description' => '/(foreach|for)\\\\s/', 'pattern' => '(foreach|for)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '343', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '343', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '343', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '343', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '344', 'code' => '{ [\\&XML::XSH::Functions::foreach_statement,$item[3],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 1, 'number' => 5, 'error' => undef, 'line' => '346', 'items' => [ bless( { 'description' => '/(try)\\\\s/', 'pattern' => '(try)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '346', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '346', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '346', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\'catch\'', 'line' => '346', 'pattern' => 'catch', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'local_var', 'line' => '346', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '346', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '347', 'code' => '{ [\\&XML::XSH::Functions::try_catch,$item[3],$item[6],@{$item[5]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 6, 'error' => undef, 'line' => '349', 'items' => [ bless( { 'description' => '/(iterate)\\\\s/', 'pattern' => '(iterate)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '349', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '349', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '349', 'subrule' => 'xpstep', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '349', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '350', 'code' => '{ [\\&XML::XSH::Functions::iterate,$item[4],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'condition', 'block', 'elsif_block', 'else_block', 'local_var', 'xpstep' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'statement' }, 'Parse::RecDescent::Rule' ), 'shline_inter' => bless( { 'impcount' => 0, 'line' => '624', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/([^()\\\\\\\\"\']|\\\\\\\\.|\\\\"([^\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\"|\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\\|\\\\\\\\[^\\\\\'\\\\\\\\])*\\\\\')*/', 'pattern' => '([^()\\\\"\']|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\\'([^\\\'\\\\]|\\\\\\\'|\\\\\\\\|\\\\[^\\\'\\\\])*\\\')*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '625', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'shline_inter' }, 'Parse::RecDescent::Rule' ), 'stream_select' => bless( { 'impcount' => 0, 'line' => '810', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/select\\\\s/', 'pattern' => 'select\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '811', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '811', 'subrule' => 'xp', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '811', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '812', 'code' => '{ [$item[2],$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xp', 'block' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'stream_select' }, 'Parse::RecDescent::Rule' ), 'perl_code' => bless( { 'impcount' => 0, 'line' => '785', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '786', 'code' => 'Text::Balanced::extract_codeblock($text,undef,$skip,\'{}\'); ', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '787', 'items' => [ bless( { 'line' => '787', 'subrule' => 'perl_expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'perl_expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'perl_code' }, 'Parse::RecDescent::Rule' ), 'optional_expressions' => bless( { 'impcount' => 0, 'line' => '462', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '463', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '463', 'subrule' => 'ws', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '463', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '464', 'code' => '{ $item[3] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ws', 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'optional_expressions' }, 'Parse::RecDescent::Rule' ), 'enc_string' => bless( { 'impcount' => 0, 'line' => '472', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '473', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'enc_string' }, 'Parse::RecDescent::Rule' ), 'exp_part' => bless( { 'impcount' => 0, 'line' => '426', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '427', 'subrule' => 'STRING', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '428', 'items' => [ bless( { 'line' => '428', 'subrule' => 'exp_inline_count', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '429', 'items' => [ bless( { 'line' => '429', 'subrule' => 'single_quoted_string', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 3, 'error' => undef, 'line' => '430', 'items' => [ bless( { 'line' => '430', 'subrule' => 'double_quoted_string', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'STRING', 'exp_inline_count', 'single_quoted_string', 'double_quoted_string' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'exp_part' }, 'Parse::RecDescent::Rule' ), 'filename' => bless( { 'impcount' => 0, 'line' => '512', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '513', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'filename' }, 'Parse::RecDescent::Rule' ), 'xpaxis' => bless( { 'impcount' => 0, 'line' => '794', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/[-a-z]+::/', 'pattern' => '[-a-z]+::', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '795', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpaxis' }, 'Parse::RecDescent::Rule' ), 'TOKEN' => bless( { 'impcount' => 0, 'line' => '399', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\S+/', 'pattern' => '\\S+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '400', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'TOKEN' }, 'Parse::RecDescent::Rule' ), 'complex_command' => bless( { 'impcount' => 0, 'line' => '353', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\';\'', 'line' => '354', 'pattern' => ';', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '355', 'items' => [ bless( { 'line' => '355', 'subrule' => 'statement', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '355', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'trail', 'line' => '355', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '356', 'code' => '{ if (scalar(@{$item[3]})) { if ($item[3][0][0] eq \'pipe\') { $return=[\\&XML::XSH::Functions::pipe_command,[$item[1]],$item[3][0][1]] } else { $return=[\\&XML::XSH::Functions::string_pipe_command,[$item[1]],$item[3][0][1]] } } else { $return=$item[1] } }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '368', 'items' => [ bless( { 'line' => '368', 'subrule' => 'command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '368', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'trail', 'line' => '368', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '371', 'subrule' => '_alternation_1_of_production_3_of_rule_complex_command', 'argcode' => undef, 'implicit' => '\';\', or /^\\\\s*(\\}|\\\\Z)/', 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '372', 'code' => '{ if (scalar(@{$item[3]})) { if ($item[3][0][0] eq \'pipe\') { $return=[\\&XML::XSH::Functions::pipe_command,[$item[1]],$item[3][0][1]] } else { $return=[\\&XML::XSH::Functions::string_pipe_command,[$item[1]],$item[3][0][1]] } } else { $return=$item[1] } }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => 0, 'patcount' => 0, 'strcount' => 0, 'number' => 3, 'error' => 1, 'line' => '384', 'items' => [ bless( { 'line' => '384', 'commitonly' => '', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'msg' => 'Parse error near: "}.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'statement', 'trail', 'command', '_alternation_1_of_production_3_of_rule_complex_command' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'complex_command' }, 'Parse::RecDescent::Rule' ), 'block' => bless( { 'impcount' => 0, 'line' => '391', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 2, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'\\{\'', 'line' => '392', 'pattern' => '{', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '392', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'complex_command', 'line' => '392', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'description' => '\'\\}\'', 'line' => '392', 'pattern' => '}', 'hashname' => '__STRING2__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '393', 'code' => '{ [grep ref,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'complex_command' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'block' }, 'Parse::RecDescent::Rule' ), 'namespace' => bless( { 'impcount' => 0, 'line' => '760', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/namespace\\\\s/', 'pattern' => 'namespace\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '761', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '761', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '762', 'code' => '{ $item[2] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'namespace' }, 'Parse::RecDescent::Rule' ), 'loosenodelistvariable' => bless( { 'impcount' => 0, 'line' => '595', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'%\'', 'line' => '596', 'pattern' => '%', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '596', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '596', 'subrule' => 'id_or_var', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '597', 'code' => '{ $item[3] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'id_or_var' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'loosenodelistvariable' }, 'Parse::RecDescent::Rule' ), 'variable' => bless( { 'impcount' => 0, 'line' => '585', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'$\'', 'line' => '586', 'pattern' => '$', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '586', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '586', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '587', 'code' => '{ "$item[1]$item[3]" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'variable' }, 'Parse::RecDescent::Rule' ), 'double_quoted_string' => bless( { 'impcount' => 0, 'line' => '417', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\"([^\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\"/', 'pattern' => '\\"([^\\"\\\\]|\\\\.)*\\"', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '418', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '419', 'code' => '{ local $_=$item[1]; s/^\\"|\\"$//g; $_; }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'double_quoted_string' }, 'Parse::RecDescent::Rule' ), 'call_command' => bless( { 'impcount' => 0, 'line' => '739', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '740', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::UncondReject' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '741', 'items' => [ bless( { 'description' => '/(call)\\\\s/', 'pattern' => '(call)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '741', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '741', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '741', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '741', 'subrule' => 'subroutine_arguments', 'argcode' => '[$item[3]]', 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '741', 'subrule' => 'match_typedargs', 'argcode' => '[1,@{$item[4]}]', 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '742', 'code' => '{ $return=[\\&XML::XSH::Functions::call,$item[3],$item[5]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID', 'subroutine_arguments', 'match_typedargs' ], 'opcount' => 0, 'changed' => 0, 'vars' => 'my @args; ', 'name' => 'call_command' }, 'Parse::RecDescent::Rule' ), 'optional_xpath' => bless( { 'impcount' => 0, 'line' => '467', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '468', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '468', 'subrule' => 'ws', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '468', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '469', 'code' => '{ $item[3] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ws', 'xpath' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'optional_xpath' }, 'Parse::RecDescent::Rule' ), 'shline' => bless( { 'impcount' => 0, 'line' => '632', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '633', 'subrule' => 'shline_nosc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'shline_bracket', 'line' => '633', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '633', 'subrule' => 'shline_nosc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '634', 'code' => '{ join("",$item[1],@{$item[2]},$item[3]) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'shline_nosc', 'shline_bracket' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'shline' }, 'Parse::RecDescent::Rule' ), 'xpintercont' => bless( { 'impcount' => 1, 'line' => '560', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '563', 'subrule' => '_alternation_1_of_production_1_of_rule_xpintercont', 'argcode' => undef, 'implicit' => 'xpfilters, or xpbrackets', 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '563', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpinter', 'line' => '563', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '564', 'code' => '{ join("",$item[1],@{$item[3]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ '_alternation_1_of_production_1_of_rule_xpintercont', 'xpinter' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpintercont' }, 'Parse::RecDescent::Rule' ), 'eof' => bless( { 'impcount' => 0, 'line' => '600', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/^\\\\Z/', 'pattern' => '^\\Z', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '601', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '602', 'code' => '{ 1; }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'eof' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_xpintercont' => bless( { 'impcount' => 0, 'line' => '815', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '815', 'subrule' => 'xpfilters', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '816', 'items' => [ bless( { 'line' => '816', 'subrule' => 'xpbrackets', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpfilters', 'xpbrackets' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_1_of_rule_xpintercont' }, 'Parse::RecDescent::Rule' ), 'xpinter' => bless( { 'impcount' => 0, 'line' => '567', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '568', 'subrule' => 'xps', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '568', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpintercont', 'line' => '568', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '569', 'code' => '{ join("",$item[1],@{$item[3]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xps', 'xpintercont' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpinter' }, 'Parse::RecDescent::Rule' ), 'command' => bless( { 'impcount' => 0, 'line' => '1', 'prods' => [ bless( { 'dircount' => 2, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\s*[\\}\\{;]/', 'pattern' => '\\s*[}{;]', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 1, 'ldelim' => '/', 'line' => '4', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '4', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '4', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::UncondReject' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '5', 'items' => [ bless( { 'description' => '/(switch-to-new-documents|switch_to_new_documents)\\\\s/', 'pattern' => '(switch-to-new-documents|switch_to_new_documents)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '5', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '5', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '6', 'code' => '{ [\\&XML::XSH::Functions::set_cdonopen,$item[2]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '8', 'items' => [ bless( { 'description' => '/(backups)/', 'pattern' => '(backups)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '8', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '9', 'code' => '{ [\\&XML::XSH::Functions::set_backups,1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 3, 'error' => undef, 'line' => '11', 'items' => [ bless( { 'description' => '/(nobackups)/', 'pattern' => '(nobackups)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '11', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '12', 'code' => '{ [\\&XML::XSH::Functions::set_backups,0] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 4, 'error' => undef, 'line' => '14', 'items' => [ bless( { 'description' => '/(quiet)/', 'pattern' => '(quiet)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '14', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '15', 'code' => '{ [\\&XML::XSH::Functions::set_quiet,1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 5, 'error' => undef, 'line' => '17', 'items' => [ bless( { 'description' => '/(verbose)/', 'pattern' => '(verbose)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '17', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '18', 'code' => '{ [\\&XML::XSH::Functions::set_quiet,0] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 6, 'error' => undef, 'line' => '20', 'items' => [ bless( { 'description' => '/(test-mode|test_mode)/', 'pattern' => '(test-mode|test_mode)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '20', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '21', 'code' => '{ ["test-mode"] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 7, 'error' => undef, 'line' => '23', 'items' => [ bless( { 'description' => '/(run-mode|run_mode)/', 'pattern' => '(run-mode|run_mode)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '23', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '24', 'code' => '{ ["run-mode"] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 8, 'error' => undef, 'line' => '26', 'items' => [ bless( { 'description' => '/(debug)/', 'pattern' => '(debug)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '26', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '27', 'code' => '{ [\\&XML::XSH::Functions::set_debug,1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 9, 'error' => undef, 'line' => '29', 'items' => [ bless( { 'description' => '/(nodebug)/', 'pattern' => '(nodebug)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '29', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '30', 'code' => '{ [\\&XML::XSH::Functions::set_debug,0] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 10, 'error' => undef, 'line' => '32', 'items' => [ bless( { 'description' => '/(version)/', 'pattern' => '(version)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '32', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '33', 'code' => '{ [\\&XML::XSH::Functions::print_version,0] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 11, 'error' => undef, 'line' => '35', 'items' => [ bless( { 'description' => '/(validation)\\\\s/', 'pattern' => '(validation)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '35', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '35', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '35', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '36', 'code' => '{ [\\&XML::XSH::Functions::set_validation,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 12, 'error' => undef, 'line' => '38', 'items' => [ bless( { 'description' => '/(recovering)\\\\s/', 'pattern' => '(recovering)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '38', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '38', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '38', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '39', 'code' => '{ [\\&XML::XSH::Functions::set_recovering,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 13, 'error' => undef, 'line' => '41', 'items' => [ bless( { 'description' => '/(parser-expands-entities|parser_expands_entities)\\\\s/', 'pattern' => '(parser-expands-entities|parser_expands_entities)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '41', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '41', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '41', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '42', 'code' => '{ [\\&XML::XSH::Functions::set_expand_entities,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 14, 'error' => undef, 'line' => '44', 'items' => [ bless( { 'description' => '/(keep-blanks|keep_blanks)\\\\s/', 'pattern' => '(keep-blanks|keep_blanks)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '44', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '44', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '44', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '45', 'code' => '{ [\\&XML::XSH::Functions::set_keep_blanks,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 15, 'error' => undef, 'line' => '47', 'items' => [ bless( { 'description' => '/(pedantic-parser|pedantic_parser)\\\\s/', 'pattern' => '(pedantic-parser|pedantic_parser)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '47', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '47', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '47', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '48', 'code' => '{ [\\&XML::XSH::Functions::set_pedantic_parser,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 16, 'error' => undef, 'line' => '50', 'items' => [ bless( { 'description' => '/(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\\\\s/', 'pattern' => '(parser-completes-attributes|complete_attributes|complete-attributes|parser_completes_attributes)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '50', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '50', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '50', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '51', 'code' => '{ [\\&XML::XSH::Functions::set_complete_attributes,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 17, 'error' => undef, 'line' => '53', 'items' => [ bless( { 'description' => '/(indent)\\\\s/', 'pattern' => '(indent)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '53', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '53', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '53', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '54', 'code' => '{ [\\&XML::XSH::Functions::set_indent,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 18, 'error' => undef, 'line' => '56', 'items' => [ bless( { 'description' => '/(empty-tags|empty_tags)\\\\s/', 'pattern' => '(empty-tags|empty_tags)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '56', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '56', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '56', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '57', 'code' => '{ [\\&XML::XSH::Functions::set_empty_tags,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 19, 'error' => undef, 'line' => '59', 'items' => [ bless( { 'description' => '/(skip-dtd|skip_dtd)\\\\s/', 'pattern' => '(skip-dtd|skip_dtd)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '59', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '59', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '59', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '60', 'code' => '{ [\\&XML::XSH::Functions::set_skip_dtd,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 20, 'error' => undef, 'line' => '62', 'items' => [ bless( { 'description' => '/(parser-expands-xinclude|parser_expands_xinclude)\\\\s/', 'pattern' => '(parser-expands-xinclude|parser_expands_xinclude)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '62', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '62', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '62', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '63', 'code' => '{ [\\&XML::XSH::Functions::set_expand_xinclude,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 21, 'error' => undef, 'line' => '65', 'items' => [ bless( { 'description' => '/(load-ext-dtd|load_ext_dtd)\\\\s/', 'pattern' => '(load-ext-dtd|load_ext_dtd)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '65', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '65', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '65', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '66', 'code' => '{ [\\&XML::XSH::Functions::set_load_ext_dtd,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 22, 'error' => undef, 'line' => '68', 'items' => [ bless( { 'description' => '/(encoding)\\\\s/', 'pattern' => '(encoding)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '68', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '68', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '68', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '69', 'code' => '{ [\\&XML::XSH::Functions::set_encoding,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 23, 'error' => undef, 'line' => '71', 'items' => [ bless( { 'description' => '/(query-encoding|query_encoding)\\\\s/', 'pattern' => '(query-encoding|query_encoding)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '71', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '71', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '71', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '72', 'code' => '{ [\\&XML::XSH::Functions::set_qencoding,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 24, 'error' => undef, 'line' => '74', 'items' => [ bless( { 'description' => '/(options|flags)/', 'pattern' => '(options|flags)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '74', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '74', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '75', 'code' => '{ [\\&XML::XSH::Functions::list_flags] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 25, 'error' => undef, 'line' => '77', 'items' => [ bless( { 'description' => '/(copy|cp)\\\\s/', 'pattern' => '(copy|cp)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '77', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '77', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '77', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '77', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '77', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '78', 'code' => '{ [\\&XML::XSH::Functions::copy,@item[3,5,4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 26, 'error' => undef, 'line' => '80', 'items' => [ bless( { 'description' => '/(xcopy|xcp)\\\\s/', 'pattern' => '(xcopy|xcp)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '80', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '80', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '80', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '80', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '80', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '81', 'code' => '{ [\\&XML::XSH::Functions::copy,@item[3,5,4],1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 27, 'error' => undef, 'line' => '83', 'items' => [ bless( { 'description' => '/(move|mv)\\\\s/', 'pattern' => '(move|mv)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '83', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '83', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '83', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '83', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '83', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '84', 'code' => '{ [\\&XML::XSH::Functions::move,@item[3,5,4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 28, 'error' => undef, 'line' => '86', 'items' => [ bless( { 'description' => '/(xmove|xmv)\\\\s/', 'pattern' => '(xmove|xmv)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '86', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '86', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '86', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '86', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '86', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '87', 'code' => '{ [\\&XML::XSH::Functions::move,@item[3,5,4],1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 29, 'error' => undef, 'line' => '89', 'items' => [ bless( { 'description' => '/(ls|list)\\\\s/', 'pattern' => '(ls|list)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '89', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '89', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '89', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '90', 'code' => '{ [\\&XML::XSH::Functions::list,$item[2],$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 30, 'error' => undef, 'line' => '92', 'items' => [ bless( { 'description' => '/(ls|list)\\\\s/', 'pattern' => '(ls|list)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '92', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '92', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '93', 'code' => '{ [\\&XML::XSH::Functions::list,$item[2],-1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 31, 'error' => undef, 'line' => '95', 'items' => [ bless( { 'description' => '/(ls|list)/', 'pattern' => '(ls|list)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '95', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '96', 'code' => '{ [\\&XML::XSH::Functions::list,[undef,\'.\'],1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 32, 'error' => undef, 'line' => '98', 'items' => [ bless( { 'description' => '/(exit|quit)/', 'pattern' => '(exit|quit)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '98', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '98', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '98', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '99', 'code' => '{ [\\&XML::XSH::Functions::quit,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 33, 'error' => undef, 'line' => '101', 'items' => [ bless( { 'description' => '/(remove|rm|prune|delete|del)\\\\s/', 'pattern' => '(remove|rm|prune|delete|del)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '101', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '101', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '101', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '102', 'code' => '{ [\\&XML::XSH::Functions::prune,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 34, 'error' => undef, 'line' => '104', 'items' => [ bless( { 'description' => '/(map|sed)\\\\s/', 'pattern' => '(map|sed)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '104', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '104', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '104', 'subrule' => 'perl_code', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '104', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '105', 'code' => '{ [\\&XML::XSH::Functions::perlmap,@item[4,3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 35, 'error' => undef, 'line' => '107', 'items' => [ bless( { 'description' => '/(rename)\\\\s/', 'pattern' => '(rename)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '107', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '107', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '107', 'subrule' => 'perl_code', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '107', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '108', 'code' => '{ [\\&XML::XSH::Functions::perlrename,@item[4,3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 36, 'error' => undef, 'line' => '110', 'items' => [ bless( { 'description' => '/(sort)\\\\s/', 'pattern' => '(sort)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '110', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '110', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '110', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '110', 'subrule' => 'perl_code', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '110', 'subrule' => 'nodelistvariable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '111', 'code' => '{ [\\&XML::XSH::Functions::perlsort,@item[3..5]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 37, 'error' => undef, 'line' => '113', 'items' => [ bless( { 'description' => '/(close)/', 'pattern' => '(close)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '113', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '113', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '113', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '114', 'code' => '{ [\\&XML::XSH::Functions::close_doc,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 38, 'error' => undef, 'line' => '116', 'items' => [ bless( { 'description' => '/(validate)/', 'pattern' => '(validate)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '116', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '116', 'subrule' => 'validation_scheme', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '116', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '117', 'code' => '{ [\\&XML::XSH::Functions::validate_doc,1,$item[2],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 39, 'error' => undef, 'line' => '119', 'items' => [ bless( { 'description' => '/(validate)/', 'pattern' => '(validate)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '119', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '119', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '119', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '120', 'code' => '{ [\\&XML::XSH::Functions::validate_doc,1,[],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 40, 'error' => undef, 'line' => '122', 'items' => [ bless( { 'description' => '/(valid)/', 'pattern' => '(valid)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '122', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '122', 'subrule' => 'validation_scheme', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '122', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '123', 'code' => '{ [\\&XML::XSH::Functions::validate_doc,0,$item[2],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 41, 'error' => undef, 'line' => '125', 'items' => [ bless( { 'description' => '/(valid)/', 'pattern' => '(valid)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '125', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '125', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '125', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '126', 'code' => '{ [\\&XML::XSH::Functions::validate_doc,0,[],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 42, 'error' => undef, 'line' => '128', 'items' => [ bless( { 'description' => '/(dtd)/', 'pattern' => '(dtd)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '128', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '128', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '128', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '129', 'code' => '{ [\\&XML::XSH::Functions::list_dtd,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 43, 'error' => undef, 'line' => '131', 'items' => [ bless( { 'description' => '/(enc)/', 'pattern' => '(enc)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '131', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '131', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '131', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '132', 'code' => '{ [\\&XML::XSH::Functions::print_enc,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 44, 'error' => undef, 'line' => '134', 'items' => [ bless( { 'description' => '/(set-enc)\\\\s/', 'pattern' => '(set-enc)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '134', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '134', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '134', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '134', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '135', 'code' => '{ [\\&XML::XSH::Functions::set_doc_enc,$item[3],@{$item[4]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 45, 'error' => undef, 'line' => '137', 'items' => [ bless( { 'description' => '/(set-standalone)\\\\s/', 'pattern' => '(set-standalone)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '137', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '137', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '137', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '137', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '138', 'code' => '{ [\\&XML::XSH::Functions::set_doc_standalone,$item[3],@{$item[4]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 46, 'error' => undef, 'line' => '140', 'items' => [ bless( { 'description' => '/(lcd|chdir)/', 'pattern' => '(lcd|chdir)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '140', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '140', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '140', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '141', 'code' => '{ [\\&XML::XSH::Functions::cd,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 47, 'error' => undef, 'line' => '143', 'items' => [ bless( { 'description' => '/(clone|dup)\\\\s/', 'pattern' => '(clone|dup)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '143', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '143', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '143', 'subrule' => 'id_or_var', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '/\\\\s*=\\\\s*/', 'pattern' => '\\s*=\\s*', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '143', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '143', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '144', 'code' => '{ [\\&XML::XSH::Functions::clone,@item[3,5]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 48, 'error' => undef, 'line' => '146', 'items' => [ bless( { 'description' => '/(count|print_value|get)\\\\s/', 'pattern' => '(count|print_value|get)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '146', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '146', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '146', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '147', 'code' => '{ [\\&XML::XSH::Functions::print_count,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 49, 'error' => undef, 'line' => '149', 'items' => [ bless( { 'description' => '/(perl|eval)\\\\s/', 'pattern' => '(perl|eval)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '149', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '149', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '149', 'subrule' => 'perl_code', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '150', 'code' => '{ [\\&XML::XSH::Functions::print_eval,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 50, 'error' => undef, 'line' => '152', 'items' => [ bless( { 'description' => '/save(as|_as|-as)?((\\\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?/', 'pattern' => 'save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '152', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '152', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '152', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'encoding_param', 'line' => '152', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '153', 'code' => '{ [\\&XML::XSH::Functions::save_doc,@item[1,2,3,4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 51, 'error' => undef, 'line' => '155', 'items' => [ bless( { 'description' => '/save(as|_as|-as)?((\\\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\\\s*|_|-)(FILE|file|STRING|string))?/', 'pattern' => 'save(as|_as|-as)?((\\s*|_|-)(HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?((\\s*|_|-)(FILE|file|STRING|string))?', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '155', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '155', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'encoding_param', 'line' => '155', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '156', 'code' => '{ [\\&XML::XSH::Functions::save_doc,@item[1,2],undef,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 52, 'error' => undef, 'line' => '158', 'items' => [ bless( { 'description' => '/save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?/', 'pattern' => 'save(as|_as|-as)?([-_](HTML|html|XML|xml|XINCLUDE|Xinclude|xinclude))?', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '158', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '158', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '159', 'code' => '{ [\\&XML::XSH::Functions::save_doc,$item[1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 53, 'error' => undef, 'line' => '161', 'items' => [ bless( { 'description' => '/(documents|files|docs)/', 'pattern' => '(documents|files|docs)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '161', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '162', 'code' => '{ [\\&XML::XSH::Functions::files] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 54, 'error' => undef, 'line' => '164', 'items' => [ bless( { 'description' => '/(xslt|transform|xsl|xsltproc|process)\\\\s/', 'pattern' => '(xslt|transform|xsl|xsltproc|process)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '164', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '164', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '164', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '164', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '164', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xslt_params', 'line' => '164', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '165', 'code' => '{ [\\&XML::XSH::Functions::xslt,@item[3,4,5],@{$item[6]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 55, 'error' => undef, 'line' => '167', 'items' => [ bless( { 'description' => '/(insert|add)\\\\s/', 'pattern' => '(insert|add)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '167', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '167', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '167', 'subrule' => 'nodetype', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '167', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'namespace', 'line' => '167', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '167', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '167', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '168', 'code' => '{ [\\&XML::XSH::Functions::insert,@item[3,4,7,6],$item[5][0],0] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 56, 'error' => undef, 'line' => '170', 'items' => [ bless( { 'description' => '/(xinsert|xadd)\\\\s/', 'pattern' => '(xinsert|xadd)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '170', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '170', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '170', 'subrule' => 'nodetype', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '170', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'namespace', 'line' => '170', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '170', 'subrule' => 'loc', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '170', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '171', 'code' => '{ [\\&XML::XSH::Functions::insert,@item[3,4,7,6],$item[5][0],1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 57, 'error' => undef, 'line' => '173', 'items' => [ bless( { 'description' => '/(help|\\\\?)/', 'pattern' => '(help|\\?)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '173', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '173', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '173', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '174', 'code' => '{ [\\&XML::XSH::Functions::help,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 58, 'error' => undef, 'line' => '176', 'items' => [ bless( { 'description' => '/(exec|system)\\\\s/', 'pattern' => '(exec|system)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '176', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '176', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '176', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '177', 'code' => '{ [\\&XML::XSH::Functions::sh,join(" ",@{$item[3]})] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 59, 'error' => undef, 'line' => '179', 'items' => [ bless( { 'description' => '/(include|\\\\.)\\\\s/', 'pattern' => '(include|\\.)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '179', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '179', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '179', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '180', 'code' => '{ [\\&XML::XSH::Functions::include,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 60, 'error' => undef, 'line' => '182', 'items' => [ bless( { 'description' => '/(ifinclude)\\\\s/', 'pattern' => '(ifinclude)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '182', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '182', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '182', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '183', 'code' => '{ [\\&XML::XSH::Functions::include,$item[3],1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 61, 'error' => undef, 'line' => '185', 'items' => [ bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => '_alternation_1_of_production_62_of_rule_command', 'line' => '186', 'expected' => '/(assign)\\\\s/', 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '186', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\'=\'', 'line' => '186', 'pattern' => '=', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '186', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '187', 'code' => '{ [\\&XML::XSH::Functions::xpath_assign,$item[2],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 62, 'error' => undef, 'line' => '189', 'items' => [ bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => '_alternation_1_of_production_63_of_rule_command', 'line' => '190', 'expected' => '/(assign)\\\\s/', 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '190', 'subrule' => 'nodelistvariable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\'=\'', 'line' => '190', 'pattern' => '=', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '190', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '191', 'code' => '{ [\\&XML::XSH::Functions::nodelist_assign,$item[2],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 1, 'number' => 63, 'error' => undef, 'line' => '193', 'items' => [ bless( { 'description' => '/(local)\\\\s/', 'pattern' => '(local)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '193', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '193', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\'=\'', 'line' => '193', 'pattern' => '=', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '193', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '194', 'code' => '{ [\\&XML::XSH::Functions::xpath_assign_local,$item[2],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 1, 'number' => 64, 'error' => undef, 'line' => '196', 'items' => [ bless( { 'description' => '/(local)\\\\s/', 'pattern' => '(local)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '196', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '196', 'subrule' => 'nodelistvariable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\'=\'', 'line' => '196', 'pattern' => '=', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '196', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '197', 'code' => '{ [\\&XML::XSH::Functions::nodelist_assign_local,$item[2],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 65, 'error' => undef, 'line' => '199', 'items' => [ bless( { 'description' => '/(local)\\\\s/', 'pattern' => '(local)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '199', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'anyvariable', 'line' => '199', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '200', 'code' => '{ [\\&XML::XSH::Functions::make_local,@{$item[2]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 66, 'error' => undef, 'line' => '202', 'items' => [ bless( { 'line' => '202', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '203', 'code' => '{ [\\&XML::XSH::Functions::print_var,$item[1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 67, 'error' => undef, 'line' => '205', 'items' => [ bless( { 'description' => '/(variables|vars|var)/', 'pattern' => '(variables|vars|var)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '205', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '206', 'code' => '{ [\\&XML::XSH::Functions::variables] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 68, 'error' => undef, 'line' => '208', 'items' => [ bless( { 'description' => '/(print|echo)\\\\s/', 'pattern' => '(print|echo)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '208', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '208', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '209', 'code' => '{ [\\&XML::XSH::Functions::echo,@{$item[2]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 69, 'error' => undef, 'line' => '211', 'items' => [ bless( { 'description' => '/(print|echo)/', 'pattern' => '(print|echo)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '211', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '212', 'code' => '{ [\\&XML::XSH::Functions::echo] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 70, 'error' => undef, 'line' => '214', 'items' => [ bless( { 'description' => '/(create|new)\\\\s/', 'pattern' => '(create|new)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '214', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '214', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '214', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '214', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '215', 'code' => '{ [\\&XML::XSH::Functions::create_doc,@item[3,4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 71, 'error' => undef, 'line' => '217', 'items' => [ bless( { 'description' => '/(defs)/', 'pattern' => '(defs)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '217', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '217', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '218', 'code' => '{ [\\&XML::XSH::Functions::list_defs] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 72, 'error' => undef, 'line' => '220', 'items' => [ bless( { 'description' => '/(select)\\\\s/', 'pattern' => '(select)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '220', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '220', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '220', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '221', 'code' => '{ [\\&XML::XSH::Functions::set_local_xpath,[$item[3],"/"]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 73, 'error' => undef, 'line' => '223', 'items' => [ bless( { 'description' => '/(if)\\\\s/', 'pattern' => '(if)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '223', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '223', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '223', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '223', 'subrule' => 'command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '224', 'code' => '{ [\\&XML::XSH::Functions::if_statement,[$item[3],[$item[4]]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 74, 'error' => undef, 'line' => '226', 'items' => [ bless( { 'description' => '/(unless)\\\\s/', 'pattern' => '(unless)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '226', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '226', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '226', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '226', 'subrule' => 'command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '227', 'code' => '{ [\\&XML::XSH::Functions::unless_statement,$item[3],[$item[4]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 75, 'error' => undef, 'line' => '229', 'items' => [ bless( { 'description' => '/(while)\\\\s/', 'pattern' => '(while)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '229', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '229', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '229', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '229', 'subrule' => 'command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '230', 'code' => '{ [\\&XML::XSH::Functions::while_statement,$item[3],[$item[4]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 76, 'error' => undef, 'line' => '232', 'items' => [ bless( { 'description' => '/(foreach|for)\\\\s/', 'pattern' => '(foreach|for)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '232', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '232', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '232', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '232', 'subrule' => 'command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '233', 'code' => '{ [\\&XML::XSH::Functions::foreach_statement,$item[3],[$item[4]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 77, 'error' => undef, 'line' => '235', 'items' => [ bless( { 'description' => '/(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude)/', 'pattern' => '(process-xinclude|process_xinclude|process-xincludes|process_xincludes|xinclude|xincludes|load_xincludes|load-xincludes|load_xinclude|load-xinclude)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '235', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '235', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '235', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '236', 'code' => '{ [\\&XML::XSH::Functions::process_xinclude,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 78, 'error' => undef, 'line' => '238', 'items' => [ bless( { 'description' => '/(cd|chxpath)/', 'pattern' => '(cd|chxpath)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '238', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '238', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_xpath', 'line' => '238', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '239', 'code' => '{ [\\&XML::XSH::Functions::set_local_xpath,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 79, 'error' => undef, 'line' => '241', 'items' => [ bless( { 'description' => '/(pwd)/', 'pattern' => '(pwd)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '241', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '242', 'code' => '{ [\\&XML::XSH::Functions::print_pwd] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 80, 'error' => undef, 'line' => '244', 'items' => [ bless( { 'description' => '/(locate)/', 'pattern' => '(locate)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '244', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '244', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_xpath', 'line' => '244', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '245', 'code' => '{ [\\&XML::XSH::Functions::locate,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 81, 'error' => undef, 'line' => '247', 'items' => [ bless( { 'description' => '/(xupdate)\\\\s/', 'pattern' => '(xupdate)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '247', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '247', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '247', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '247', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '248', 'code' => '{ [\\&XML::XSH::Functions::xupdate,$item[3],@{$item[4]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 82, 'error' => undef, 'line' => '250', 'items' => [ bless( { 'description' => '/open((\\\\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\\\\s*=))?((\\\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\\\\s*=))?/', 'pattern' => 'open((\\s*|_|-)(HTML|XML|DOCBOOK|html|xml|docbook)(?!\\s*=))?((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string)(?!\\s*=))?', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '250', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '250', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '250', 'subrule' => 'id_or_var', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '/\\\\s*=\\\\s*/', 'pattern' => '\\s*=\\s*', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '250', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '250', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '251', 'code' => '{ [\\&XML::XSH::Functions::open_doc,@item[3,5,1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 83, 'error' => undef, 'line' => '253', 'items' => [ bless( { 'line' => '253', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '/\\\\s*=\\\\s*/', 'pattern' => '\\s*=\\s*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '253', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '253', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '253', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '254', 'code' => '{ [\\&XML::XSH::Functions::open_doc,@item[1,4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 84, 'error' => undef, 'line' => '256', 'items' => [ bless( { 'description' => '/(fold)\\\\s/', 'pattern' => '(fold)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '256', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '256', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '256', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '257', 'code' => '{ [\\&XML::XSH::Functions::mark_fold,$item[2],@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 85, 'error' => undef, 'line' => '259', 'items' => [ bless( { 'description' => '/(unfold)\\\\s/', 'pattern' => '(unfold)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '259', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '259', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '260', 'code' => '{ [\\&XML::XSH::Functions::mark_unfold,$item[2]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 86, 'error' => undef, 'line' => '262', 'items' => [ bless( { 'description' => '/(normalize)\\\\s/', 'pattern' => '(normalize)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '262', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '262', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '262', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '263', 'code' => '{ [\\&XML::XSH::Functions::normalize_nodes,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 87, 'error' => undef, 'line' => '265', 'items' => [ bless( { 'description' => '/(strip-whitespace|strip_whitespace)\\\\s/', 'pattern' => '(strip-whitespace|strip_whitespace)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '265', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '265', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '265', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '266', 'code' => '{ [\\&XML::XSH::Functions::strip_ws,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 88, 'error' => undef, 'line' => '268', 'items' => [ bless( { 'description' => '/(last)/', 'pattern' => '(last)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '268', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '268', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '268', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '269', 'code' => '{ [\\&XML::XSH::Functions::loop_last,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 89, 'error' => undef, 'line' => '271', 'items' => [ bless( { 'description' => '/(next)/', 'pattern' => '(next)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '271', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '271', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '271', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '272', 'code' => '{ [\\&XML::XSH::Functions::loop_next,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 90, 'error' => undef, 'line' => '274', 'items' => [ bless( { 'description' => '/(prev)/', 'pattern' => '(prev)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '274', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '274', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '274', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '275', 'code' => '{ [\\&XML::XSH::Functions::loop_prev,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 91, 'error' => undef, 'line' => '277', 'items' => [ bless( { 'description' => '/(redo)/', 'pattern' => '(redo)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '277', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '277', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '277', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '278', 'code' => '{ [\\&XML::XSH::Functions::loop_redo,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 92, 'error' => undef, 'line' => '280', 'items' => [ bless( { 'description' => '/(return)/', 'pattern' => '(return)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '280', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '281', 'code' => '{ [\\&XML::XSH::Functions::call_return] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 93, 'error' => undef, 'line' => '283', 'items' => [ bless( { 'description' => '/(throw)\\\\s/', 'pattern' => '(throw)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '283', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '283', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '284', 'code' => '{ [\\&XML::XSH::Functions::throw_exception,$item[2]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 94, 'error' => undef, 'line' => '286', 'items' => [ bless( { 'description' => '/(catalog)\\\\s/', 'pattern' => '(catalog)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '286', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '286', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '287', 'code' => '{ [\\&XML::XSH::Functions::load_catalog,$item[2]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 95, 'error' => undef, 'line' => '289', 'items' => [ bless( { 'description' => '/(register-namespace|regns)\\\\s/', 'pattern' => '(register-namespace|regns)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '289', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '289', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '289', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '289', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '290', 'code' => '{ [\\&XML::XSH::Functions::register_ns, $item[3],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 96, 'error' => undef, 'line' => '293', 'items' => [ bless( { 'description' => '/(unregister-namespace|unregns)\\\\s/', 'pattern' => '(unregister-namespace|unregns)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '293', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '293', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '293', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '294', 'code' => '{ [\\&XML::XSH::Functions::unregister_ns, $item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 97, 'error' => undef, 'line' => '297', 'items' => [ bless( { 'description' => '/(register-xhtml-namespace|regns-xhtml)\\\\s/', 'pattern' => '(register-xhtml-namespace|regns-xhtml)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '297', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '297', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '297', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '298', 'code' => '{ [\\&XML::XSH::Functions::register_ns, $item[3],\'http://www.w3.org/1999/xhtml\'] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 98, 'error' => undef, 'line' => '301', 'items' => [ bless( { 'description' => '/(register-xsh-namespace|regns-xsh)\\\\s/', 'pattern' => '(register-xsh-namespace|regns-xsh)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '301', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '301', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '301', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '302', 'code' => '{ [\\&XML::XSH::Functions::register_ns, $item[3],$XML::XSH::xshNS] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 99, 'error' => undef, 'line' => '305', 'items' => [ bless( { 'description' => '/(unregister-function|unregfunc)\\\\s/', 'pattern' => '(unregister-function|unregfunc)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '305', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '305', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '305', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '306', 'code' => '{ [\\&XML::XSH::Functions::unregister_func, $item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 100, 'error' => undef, 'line' => '308', 'items' => [ bless( { 'description' => '/(register-function|regfunc)\\\\s/', 'pattern' => '(register-function|regfunc)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '308', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '308', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '308', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '308', 'subrule' => 'perl_code', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '309', 'code' => '{ [\\&XML::XSH::Functions::register_func, $item[3],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 3, 'strcount' => 0, 'number' => 101, 'error' => undef, 'line' => '312', 'items' => [ bless( { 'description' => '/(stream)\\\\s/', 'pattern' => '(stream)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '312', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '312', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'description' => '/input((\\\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\\\s/', 'pattern' => 'input((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '312', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '312', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '/output((\\\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\\\s/', 'pattern' => 'output((\\s*|_|-)(FILE|file|PIPE|pipe|STRING|string))?\\s', 'mod' => '', 'hashname' => '__PATTERN3__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '312', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '312', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'stream_select', 'line' => '312', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '313', 'code' => '{ [\\&XML::XSH::Functions::stream_process,$item[3],$item[4],$item[5],$item[6],$item[7]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 102, 'error' => undef, 'line' => '315', 'items' => [ bless( { 'description' => '/(namespaces)/', 'pattern' => '(namespaces)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '315', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '315', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpath', 'line' => '315', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '316', 'code' => '{ [\\&XML::XSH::Functions::list_namespaces,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 103, 'error' => undef, 'line' => '318', 'items' => [ bless( { 'description' => '/(xpath-completion|xpath_completion)\\\\s/', 'pattern' => '(xpath-completion|xpath_completion)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '318', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '318', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '318', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '319', 'code' => '{ [\\&XML::XSH::Functions::set_xpath_completion,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 104, 'error' => undef, 'line' => '321', 'items' => [ bless( { 'description' => '/(xpath-axis-completion|xpath_axis_completion)\\\\s/', 'pattern' => '(xpath-axis-completion|xpath_axis_completion)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '321', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '321', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '321', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '322', 'code' => '{ [\\&XML::XSH::Functions::set_xpath_axis_completion,$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 105, 'error' => undef, 'line' => '324', 'items' => [ bless( { 'description' => '/(doc-info|doc_info)/', 'pattern' => '(doc-info|doc_info)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '324', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '324', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'optional_expression', 'line' => '324', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '325', 'code' => '{ [\\&XML::XSH::Functions::doc_info,@{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 2, 'strcount' => 0, 'number' => 106, 'error' => undef, 'line' => '327', 'items' => [ bless( { 'description' => '/(use)\\\\s/', 'pattern' => '(use)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '327', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '327', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'description' => '/Inline::XSH/', 'pattern' => 'Inline::XSH', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '327', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '328', 'code' => '{ 1 }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 107, 'error' => undef, 'line' => '330', 'items' => [ bless( { 'line' => '330', 'subrule' => 'call_command', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression', 'xpath', 'loc', 'optional_expression', 'perl_code', 'condition', 'nodelistvariable', 'validation_scheme', 'id_or_var', 'filename', 'encoding_param', 'xslt_params', 'nodetype', 'namespace', '_alternation_1_of_production_62_of_rule_command', 'variable', '_alternation_1_of_production_63_of_rule_command', 'anyvariable', 'command', 'optional_xpath', 'ID', 'stream_select', 'call_command' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'command' }, 'Parse::RecDescent::Rule' ), 'shline_nosc' => bless( { 'impcount' => 0, 'line' => '621', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/([^;()\\\\\\\\"\'\\\\|]|\\\\|[^>]|\\\\\\\\.|\\\\"([^\\\\"\\\\\\\\]|\\\\\\\\.)*\\\\"|\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\\|\\\\\\\\[^\\\\\'\\\\\\\\])*\\\\\')*/', 'pattern' => '([^;()\\\\"\'\\|]|\\|[^>]|\\\\.|\\"([^\\"\\\\]|\\\\.)*\\"|\\\'([^\\\'\\\\]|\\\\\\\'|\\\\\\\\|\\\\[^\\\'\\\\])*\\\')*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '622', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'shline_nosc' }, 'Parse::RecDescent::Rule' ), 'xpfilter' => bless( { 'impcount' => 0, 'line' => '545', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 2, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'[\'', 'line' => '546', 'pattern' => '[', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '546', 'subrule' => 'xpinter', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\']\'', 'line' => '546', 'pattern' => ']', 'hashname' => '__STRING2__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '547', 'code' => '{ "[$item[2]]" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpinter' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpfilter' }, 'Parse::RecDescent::Rule' ), 'xpnodetest' => bless( { 'impcount' => 0, 'line' => '797', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/node\\\\(\\\\)|text\\\\(\\\\)|comment\\\\(\\\\)|processing-instruction\\\\(\\\\)|[^\\\\(\\\\[\\\\/\\\\"\\\\\'\\\\&\\\\;\\\\s]+/', 'pattern' => 'node\\(\\)|text\\(\\)|comment\\(\\)|processing-instruction\\(\\)|[^\\(\\[\\/\\"\\\'\\&\\;\\s]+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '798', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpnodetest' }, 'Parse::RecDescent::Rule' ), 'xps' => bless( { 'impcount' => 0, 'line' => '572', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/([^][()\'"]|\'[^\']*\'|"[^"]*")*/', 'pattern' => '([^][()\'"]|\'[^\']*\'|"[^"]*")*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '573', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xps' }, 'Parse::RecDescent::Rule' ), 'ws' => bless( { 'impcount' => 0, 'line' => '454', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(\\\\s|\\\\n|#[^\\\\n]*)+/', 'pattern' => '(\\s|\\n|#[^\\n]*)+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '455', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'ws' }, 'Parse::RecDescent::Rule' ), 'xpfilters' => bless( { 'impcount' => 0, 'line' => '540', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'min' => 1, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpfilter', 'line' => '541', 'expected' => undef, 'max' => 100000000, 'repspec' => 's' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '542', 'code' => '{ join("",@{$item[1]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpfilter' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpfilters' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_xpcont' => bless( { 'impcount' => 0, 'line' => '815', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '815', 'subrule' => 'xpfilters', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '816', 'items' => [ bless( { 'line' => '816', 'subrule' => 'xpbrackets', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpfilters', 'xpbrackets' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_1_of_rule_xpcont' }, 'Parse::RecDescent::Rule' ), 'nodelistvariable' => bless( { 'impcount' => 0, 'line' => '590', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'%\'', 'line' => '591', 'pattern' => '%', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '591', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '591', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '592', 'code' => '{ $item[3] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'nodelistvariable' }, 'Parse::RecDescent::Rule' ), 'xplocationstep' => bless( { 'impcount' => 0, 'line' => '800', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpaxis', 'line' => '801', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '801', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '801', 'subrule' => 'xpnodetest', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '802', 'code' => '{ [ (@{$item[1]} ? $item[1][0] : \'child::\'),$item[3] ] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpaxis', 'xpnodetest' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xplocationstep' }, 'Parse::RecDescent::Rule' ), 'undef' => bless( { 'impcount' => 0, 'line' => '676', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(undef|undefine)\\\\s/', 'pattern' => '(undef|undefine)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '677', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '677', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '677', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '678', 'code' => '{ &XML::XSH::Functions::undef_sub($item[3]); }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'undef' }, 'Parse::RecDescent::Rule' ), 'match_typedargs' => bless( { 'impcount' => 0, 'line' => '699', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '701', 'code' => '{ $return = ((@arg and $arg[0]<=$#arg and $arg[$arg[0]]=~m/^%/) ? $arg[$arg[0]] : undef) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ), bless( { 'line' => '705', 'subrule' => 'xpath', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '705', 'subrule' => 'match_typedargs', 'argcode' => '[$arg[0]+1,@arg[1..$#arg]]', 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '706', 'code' => '{ $return=(defined($item[3]) ? [$item[2],@{$item[3]}] : undef); }', 'hashname' => '__ACTION2__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 2 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '710', 'items' => [ bless( { 'line' => '711', 'code' => '{ $return = ((@arg and $arg[0]<=$#arg and $arg[$arg[0]]=~m/^\\$/) ? $arg[$arg[0]] : undef) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ), bless( { 'line' => '715', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '715', 'subrule' => 'match_typedargs', 'argcode' => '[$arg[0]+1,@arg[1..$#arg]]', 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '716', 'code' => '{ $return=(defined($item[3]) ? [$item[2],@{$item[3]}] : undef); }', 'hashname' => '__ACTION2__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 2 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '720', 'items' => [ bless( { 'line' => '721', 'code' => '{ $return= (($arg[0]==$#arg+1) ? [] : undef); }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpath', 'match_typedargs', 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'match_typedargs' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_62_of_rule_command' => bless( { 'impcount' => 0, 'line' => '816', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(assign)\\\\s/', 'pattern' => '(assign)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '816', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_62_of_rule_command' }, 'Parse::RecDescent::Rule' ), 'xpstep' => bless( { 'impcount' => 0, 'line' => '805', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '806', 'subrule' => 'xplocationstep', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '806', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpfilter', 'line' => '806', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '807', 'code' => '{ [ @{$item[1]}, @{$item[3]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xplocationstep', 'xpfilter' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpstep' }, 'Parse::RecDescent::Rule' ), 'system_dtd' => bless( { 'impcount' => 0, 'line' => '487', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/SYSTEM|FILE/', 'pattern' => 'SYSTEM|FILE', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '488', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '488', 'subrule' => 'filename', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '489', 'code' => '{ $item[2] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'filename' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'system_dtd' }, 'Parse::RecDescent::Rule' ), 'expression' => bless( { 'impcount' => 0, 'line' => '437', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 5, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/< '<<', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '438', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'description' => '/(\\\\\'|\\\\")?/', 'pattern' => '(\\\'|\\")?', 'mod' => '', 'hashname' => '__PATTERN2__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '438', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '438', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '/$item[2]/', 'pattern' => '$item[2]', 'mod' => '', 'hashname' => '__PATTERN3__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '438', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '438', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'description' => '/.*\\\\n/', 'pattern' => '.*\\n', 'mod' => '', 'hashname' => '__PATTERN4__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '438', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'description' => '/(.|\\\\n)*?\\\\n$item[3]\\\\s*(\\\\n|$)/', 'pattern' => '(.|\\n)*?\\n$item[3]\\s*(\\n|$)', 'mod' => '', 'hashname' => '__PATTERN5__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '438', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '439', 'code' => '{ $text=$item[6].$text; local $_=$item[7]; s/\\n$item[3]\\s*$//; if ($item[2] eq "\'") { s{(\\\\)(.|\\n)|(\\$)}{ ($3 eq \'$\') ? "\\\\\\$" : (($2 eq "\\\\") ? "\\\\\\\\" : (($2 eq "\'") ? "\'" : ( ($2 eq \'$\') ? "\\\\\\\\\\\\$2" : "\\\\\\\\$2"))) }eg; } $_; }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '450', 'items' => [ bless( { 'line' => '450', 'subrule' => 'exp_part', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '450', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'expression', 'line' => '450', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '451', 'code' => '{ $item[1].join("",@{$item[3]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID', 'exp_part', 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'expression' }, 'Parse::RecDescent::Rule' ), 'public_dtd' => bless( { 'impcount' => 0, 'line' => '482', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'PUBLIC\'', 'line' => '483', 'pattern' => 'PUBLIC', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '483', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '484', 'code' => '{ $item[2] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'public_dtd' }, 'Parse::RecDescent::Rule' ), 'xpbrackets' => bless( { 'impcount' => 0, 'line' => '555', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '556', 'subrule' => 'xpbracket', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '556', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpfilters', 'line' => '556', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '557', 'code' => '{ join "",$item[1],@{$item[3]} }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpbracket', 'xpfilters' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpbrackets' }, 'Parse::RecDescent::Rule' ), 'xpcont' => bless( { 'impcount' => 0, 'line' => '524', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '527', 'subrule' => '_alternation_1_of_production_1_of_rule_xpcont', 'argcode' => undef, 'implicit' => 'xpfilters, or xpbrackets', 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '527', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xp', 'line' => '527', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '528', 'code' => '{ $item[1].join("",@{$item[3]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '530', 'items' => [ bless( { 'line' => '530', 'subrule' => 'xp', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '531', 'code' => '{ $item[1] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ '_alternation_1_of_production_1_of_rule_xpcont', 'xp' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpcont' }, 'Parse::RecDescent::Rule' ), 'encoding_param' => bless( { 'impcount' => 0, 'line' => '789', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/encoding\\\\s/', 'pattern' => 'encoding\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '790', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '790', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '791', 'code' => '{ $item[2] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'encoding_param' }, 'Parse::RecDescent::Rule' ), 'xpbracket' => bless( { 'impcount' => 0, 'line' => '550', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 2, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'(\'', 'line' => '551', 'pattern' => '(', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '551', 'subrule' => 'xpinter', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\')\'', 'line' => '551', 'pattern' => ')', 'hashname' => '__STRING2__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '552', 'code' => '{ "($item[2])" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpinter' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpbracket' }, 'Parse::RecDescent::Rule' ), 'elsif_block' => bless( { 'impcount' => 0, 'line' => '647', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(elsif)\\\\s/', 'pattern' => '(elsif)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '648', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '648', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '648', 'subrule' => 'condition', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '648', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '648', 'subrule' => 'elsif_block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '649', 'code' => '{ [[$item[3],$item[4]],@{$item[5]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '651', 'items' => [ bless( { 'description' => '/(elsif)/', 'pattern' => '(elsif)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => -1, 'ldelim' => '/', 'line' => '651', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '652', 'code' => '{ [] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 2, 'uncommit' => 1, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '654', 'items' => [ bless( { 'line' => '654', 'code' => '$commit=0;1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '654', 'commitonly' => '', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'msg' => 'Parse error near keyword elsif: "}.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'condition', 'block', 'elsif_block' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'elsif_block' }, 'Parse::RecDescent::Rule' ), 'single_quoted_string' => bless( { 'impcount' => 0, 'line' => '405', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\\'([^\\\\\'\\\\\\\\]|\\\\\\\\\\\\\'|\\\\\\\\\\\\\\\\|\\\\\\\\[^\\\\\'\\\\\\\\])*\\\\\'/', 'pattern' => '\\\'([^\\\'\\\\]|\\\\\\\'|\\\\\\\\|\\\\[^\\\'\\\\])*\\\'', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '406', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '407', 'code' => '{ local $_=$item[1]; s/^\\\'|\\\'$//g; s{(\\\\)(.|\\n)|(\\$)}{ ($3 eq \'$\') ? "\\\\\\$" : (($2 eq "\\\\") ? "\\\\\\\\" : (($2 eq "\'") ? "\'" : ( ($2 eq \'$\') ? "\\\\\\\\\\\\$2" : "\\\\\\\\$2"))) }eg; $_; }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'single_quoted_string' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_1_of_rule_local_var' => bless( { 'impcount' => 0, 'line' => '816', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/local\\\\s/', 'pattern' => 'local\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '816', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_1_of_rule_local_var' }, 'Parse::RecDescent::Rule' ), 'nodetype' => bless( { 'impcount' => 0, 'line' => '757', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference/', 'pattern' => 'element|attribute|attributes|text|cdata|pi|comment|chunk|entity_reference', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '758', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'nodetype' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_63_of_rule_command' => bless( { 'impcount' => 0, 'line' => '816', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(assign)\\\\s/', 'pattern' => '(assign)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '816', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_63_of_rule_command' }, 'Parse::RecDescent::Rule' ), 'xp' => bless( { 'impcount' => 0, 'line' => '534', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '535', 'subrule' => 'xpsimple', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '535', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'xpcont', 'line' => '535', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '536', 'code' => '{ $item[1].join("",@{$item[3]}) }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '538', 'items' => [ bless( { 'line' => '538', 'subrule' => 'xpstring', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'xpsimple', 'xpcont', 'xpstring' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xp' }, 'Parse::RecDescent::Rule' ), 'xpstring' => bless( { 'impcount' => 0, 'line' => '575', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\'[^\']*\'|"[^"]*"/', 'pattern' => '\'[^\']*\'|"[^"]*"', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '576', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpstring' }, 'Parse::RecDescent::Rule' ), '_alternation_1_of_production_3_of_rule_complex_command' => bless( { 'impcount' => 0, 'line' => '815', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\';\'', 'line' => '815', 'pattern' => ';', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '816', 'items' => [ bless( { 'description' => '/^\\\\s*(\\}|\\\\Z)/', 'pattern' => '^\\s*(}|\\Z)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 1, 'ldelim' => '/', 'line' => '816', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => '_alternation_1_of_production_3_of_rule_complex_command' }, 'Parse::RecDescent::Rule' ), 'param' => bless( { 'impcount' => 0, 'line' => '752', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/[^=\\\\s]+/', 'pattern' => '[^=\\s]+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '753', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'description' => '\'=\'', 'line' => '753', 'pattern' => '=', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '753', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '754', 'code' => '{ [$item[1],$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'param' }, 'Parse::RecDescent::Rule' ), 'STRING' => bless( { 'impcount' => 0, 'line' => '402', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/([^\'"\\\\$\\\\\\\\ \\\\t\\\\n\\\\r\\\\|;\\\\\\{\\\\\\}]|\\\\$[^\\{]|\\\\$\\\\\\{[^\\{\\}]*\\\\\\}|]|\\\\\\\\.)+/', 'pattern' => '([^\'"\\$\\\\ \\t\\n\\r\\|;\\{\\}]|\\$[^{]|\\$\\{[^{}]*\\}|]|\\\\.)+', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '403', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'STRING' }, 'Parse::RecDescent::Rule' ), 'local_var' => bless( { 'impcount' => 1, 'line' => '665', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => '_alternation_1_of_production_1_of_rule_local_var', 'line' => '667', 'expected' => '/local\\\\s/', 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '667', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '668', 'code' => '{ [$item[2],@{$item[1]}] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ '_alternation_1_of_production_1_of_rule_local_var', 'variable' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'local_var' }, 'Parse::RecDescent::Rule' ), 'else_block' => bless( { 'impcount' => 0, 'line' => '656', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/(else)\\\\s/', 'pattern' => '(else)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '657', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '657', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '657', 'subrule' => 'block', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '658', 'code' => '{ [[undef,$item[3]]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '660', 'items' => [ bless( { 'description' => '/(else)/', 'pattern' => '(else)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => -1, 'ldelim' => '/', 'line' => '660', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '661', 'code' => '{ [] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 2, 'uncommit' => 1, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '663', 'items' => [ bless( { 'line' => '663', 'code' => '$commit=0;1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '663', 'commitonly' => '', 'hashname' => '__DIRECTIVE2__', 'lookahead' => 0, 'msg' => 'Parse error near keyword else: "}.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'block' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'else_block' }, 'Parse::RecDescent::Rule' ), 'shline_bracket' => bless( { 'impcount' => 0, 'line' => '627', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 2, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'(\'', 'line' => '628', 'pattern' => '(', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '628', 'subrule' => 'shline_inter', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'min' => 0, 'argcode' => undef, 'matchrule' => 0, 'lookahead' => 0, 'subrule' => 'shline_bracket', 'line' => '628', 'expected' => undef, 'max' => 1, 'repspec' => '?' }, 'Parse::RecDescent::Repetition' ), bless( { 'line' => '628', 'subrule' => 'shline_inter', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'description' => '\')\'', 'line' => '628', 'pattern' => ')', 'hashname' => '__STRING2__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '629', 'code' => '{ join("",\'(\',$item[2],@{$item[3]},$item[4],\')\') }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'shline_inter', 'shline_bracket' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'shline_bracket' }, 'Parse::RecDescent::Rule' ), 'loc' => bless( { 'impcount' => 0, 'line' => '765', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/after\\\\s/', 'pattern' => 'after\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '766', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '767', 'code' => '{ "after" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '769', 'items' => [ bless( { 'description' => '/before\\\\s/', 'pattern' => 'before\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '769', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '770', 'code' => '{ "before" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '772', 'items' => [ bless( { 'description' => '/(in)?to\\\\s/', 'pattern' => '(in)?to\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '772', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '773', 'code' => '{ "into" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 3, 'error' => undef, 'line' => '775', 'items' => [ bless( { 'description' => '/(append(ing)?|as\\\\s+(a\\\\s+)child(\\\\s+of)?)\\\\s/', 'pattern' => '(append(ing)?|as\\s+(a\\s+)child(\\s+of)?)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '775', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '776', 'code' => '{ "append" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 4, 'error' => undef, 'line' => '778', 'items' => [ bless( { 'description' => '/(prepend(ing)?|(as\\\\s+)(the\\\\s+)first(\\\\s+child(\\\\s+of)?)?)\\\\s/', 'pattern' => '(prepend(ing)?|(as\\s+)(the\\s+)first(\\s+child(\\s+of)?)?)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '778', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '779', 'code' => '{ "prepend" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 5, 'error' => undef, 'line' => '781', 'items' => [ bless( { 'description' => '/(replace|instead( of)?)\\\\s/', 'pattern' => '(replace|instead( of)?)\\s', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '781', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '782', 'code' => '{ "replace" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'loc' }, 'Parse::RecDescent::Rule' ), 'type' => bless( { 'impcount' => 0, 'line' => '396', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'type' }, 'Parse::RecDescent::Rule' ), 'perl_expression' => bless( { 'impcount' => 0, 'line' => '582', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '583', 'subrule' => 'expression', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'expression' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'perl_expression' }, 'Parse::RecDescent::Rule' ), 'subroutine_arguments' => bless( { 'impcount' => 0, 'line' => '726', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '728', 'code' => '{ if (exists($XML::XSH::Functions::_defs{$arg[0]})) { $return=[ @{$XML::XSH::Functions::_defs{$arg[0]}} ]; shift @$return; } else { $return=undef; } }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => 0, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => 1, 'line' => '737', 'items' => [ bless( { 'line' => '737', 'commitonly' => '', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'msg' => 'Call to undefined subroutine $arg[0]!' }, 'Parse::RecDescent::Error' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'subroutine_arguments' }, 'Parse::RecDescent::Rule' ), 'exp_inline_count' => bless( { 'impcount' => 0, 'line' => '432', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/\\\\$\\\\\\{\\\\((.+?)\\\\)\\\\\\}/', 'pattern' => '\\$\\{\\((.+?)\\)\\}', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '433', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '434', 'items' => [ bless( { 'description' => '/\\\\$\\\\\\{\\\\\\{\\\\\\{(.+?)\\\\\\}\\\\\\}\\\\\\}/', 'pattern' => '\\$\\{\\{\\{(.+?)\\}\\}\\}', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '434', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 2, 'error' => undef, 'line' => '435', 'items' => [ bless( { 'description' => '/\\\\$\\\\\\{\\\\\\{([^\\{].*?)\\\\\\}\\\\\\}/', 'pattern' => '\\$\\{\\{([^{].*?)\\}\\}', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '435', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'exp_inline_count' }, 'Parse::RecDescent::Rule' ), 'typedvariable' => bless( { 'impcount' => 0, 'line' => '671', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/[\\\\$\\\\%]/', 'pattern' => '[\\$\\%]', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '672', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '672', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '672', 'subrule' => 'ID', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '673', 'code' => '{ "$item[1]$item[3]" }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'ID' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'typedvariable' }, 'Parse::RecDescent::Rule' ), 'ID' => bless( { 'impcount' => 0, 'line' => '475', 'prods' => [ bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '/[a-zA-Z_][a-zA-Z0-9_]*/', 'pattern' => '[a-zA-Z_][a-zA-Z0-9_]*', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '476', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'ID' }, 'Parse::RecDescent::Rule' ), 'xpath' => bless( { 'impcount' => 0, 'line' => '515', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 1, 'strcount' => 0, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'line' => '516', 'subrule' => 'id_or_var', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '516', 'code' => 'my $oldskip = $skip; $skip=""; $oldskip', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'description' => '/:(?!:)/', 'pattern' => ':(?!:)', 'mod' => '', 'hashname' => '__PATTERN1__', 'lookahead' => 0, 'ldelim' => '/', 'line' => '516', 'rdelim' => '/' }, 'Parse::RecDescent::Token' ), bless( { 'line' => '516', 'subrule' => 'xp', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '517', 'code' => '{ [$item[1],$item[4]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 0, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 0, 'number' => 1, 'error' => undef, 'line' => '519', 'items' => [ bless( { 'line' => '519', 'subrule' => 'xp', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '520', 'code' => '{ [undef,$item[1]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => 0, 'patcount' => 0, 'strcount' => 0, 'number' => 2, 'error' => 1, 'line' => '522', 'items' => [ bless( { 'line' => '522', 'commitonly' => '', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'msg' => 'expected ID:XPath or XPath, but got "}.substr($text,0,40).qq{ ..."' }, 'Parse::RecDescent::Error' ) ], 'actcount' => 0 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'id_or_var', 'xp' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'xpath' }, 'Parse::RecDescent::Rule' ), 'trail' => bless( { 'impcount' => 0, 'line' => '613', 'prods' => [ bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 0, 'error' => undef, 'line' => undef, 'items' => [ bless( { 'description' => '\'|>\'', 'line' => '614', 'pattern' => '|>', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '614', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '614', 'subrule' => 'variable', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '615', 'code' => '{ [\'var\',$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ), bless( { 'dircount' => 1, 'uncommit' => undef, 'patcount' => 0, 'strcount' => 1, 'number' => 1, 'error' => undef, 'line' => '617', 'items' => [ bless( { 'description' => '\'|\'', 'line' => '617', 'pattern' => '|', 'hashname' => '__STRING1__', 'lookahead' => 0 }, 'Parse::RecDescent::Literal' ), bless( { 'line' => '617', 'code' => '$commit = 1', 'hashname' => '__DIRECTIVE1__', 'lookahead' => 0, 'name' => '' }, 'Parse::RecDescent::Directive' ), bless( { 'line' => '617', 'subrule' => 'shline', 'argcode' => undef, 'implicit' => undef, 'matchrule' => 0, 'lookahead' => 0 }, 'Parse::RecDescent::Subrule' ), bless( { 'line' => '618', 'code' => '{ [\'pipe\',$item[3]] }', 'hashname' => '__ACTION1__', 'lookahead' => 0 }, 'Parse::RecDescent::Action' ) ], 'actcount' => 1 }, 'Parse::RecDescent::Production' ) ], 'calls' => [ 'variable', 'shline' ], 'opcount' => 0, 'changed' => 0, 'vars' => '', 'name' => 'trail' }, 'Parse::RecDescent::Rule' ) }, 'namespace' => 'Parse::RecDescent::XML::XSH::Parser', '_check' => { 'prevline' => '', 'prevcolumn' => '', 'thiscolumn' => '', 'prevoffset' => '', 'thisoffset' => '', 'itempos' => '' }, '_AUTOACTION' => undef, 'localvars' => '', 'startcode' => '' }, 'Parse::RecDescent' ); }