package DBI::Dumper::Grammar;
use Parse::RecDescent;
{ my $ERRORS;
package Parse::RecDescent::DBI::Dumper::Grammar;
use strict;
use vars qw($skip $AUTOLOAD );
$skip = '\s*';
use vars q{$dumper} ;
{
local $SIG{__WARN__} = sub {0};
# PRETEND TO BE IN Parse::RecDescent NAMESPACE
*Parse::RecDescent::DBI::Dumper::Grammar::AUTOLOAD = sub
{
no strict 'refs';
$AUTOLOAD =~ s/^Parse::RecDescent::DBI::Dumper::Grammar/Parse::RecDescent/;
goto &{$AUTOLOAD};
}
}
push @Parse::RecDescent::DBI::Dumper::Grammar::ISA, 'Parse::RecDescent';
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::escape_string
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"escape_string"};
Parse::RecDescent::_trace(q{Trying rule: [escape_string]},
Parse::RecDescent::_tracefirst($_[1]),
q{escape_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: [string]},
Parse::RecDescent::_tracefirst($_[1]),
q{escape_string},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{escape_string});
%item = (__RULE__ => q{escape_string});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [string]},
Parse::RecDescent::_tracefirst($text),
q{escape_string},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [string]>>},
Parse::RecDescent::_tracefirst($text),
q{escape_string},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{escape_string},
$tracelevel)
if defined $::RD_TRACE;
$item{q{string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [string]<<},
Parse::RecDescent::_tracefirst($text),
q{escape_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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{escape_string},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{escape_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{escape_string},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{escape_string},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::file
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"file"};
Parse::RecDescent::_trace(q{Trying rule: [file]},
Parse::RecDescent::_tracefirst($_[1]),
q{file},
$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: [/file/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{file},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{file});
%item = (__RULE__ => q{file});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/file/i]}, Parse::RecDescent::_tracefirst($text),
q{file},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:file)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/file/i]<<},
Parse::RecDescent::_tracefirst($text),
q{file},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{file},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{file},
$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{file},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{file},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::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: [/^(X?)'(.*?)'/]},
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: [/^(X?)'(.*?)'/]}, 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(?:^(X?)'(.*?)')//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{string},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my $string = $2;
$string =~ s/([A-Fa-f\d]{2})/chr hex $1/eg if $1;
$item[1] = $string;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [/^(X?)'(.*?)'/]<<},
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{<<Didn't match rule>>},
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::DBI::Dumper::Grammar::terminator
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"terminator"};
Parse::RecDescent::_trace(q{Trying rule: [terminator]},
Parse::RecDescent::_tracefirst($_[1]),
q{terminator},
$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: [tab]},
Parse::RecDescent::_tracefirst($_[1]),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{terminator});
%item = (__RULE__ => q{terminator});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [tab]},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::tab($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [tab]>>},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [tab]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
$item{q{tab}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [tab]<<},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [string]},
Parse::RecDescent::_tracefirst($_[1]),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{terminator});
%item = (__RULE__ => q{terminator});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [string]},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [string]>>},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
$item{q{string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [string]<<},
Parse::RecDescent::_tracefirst($text),
q{terminator},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{terminator},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{terminator},
$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{terminator},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{terminator},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::terminated
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"terminated"};
Parse::RecDescent::_trace(q{Trying rule: [terminated]},
Parse::RecDescent::_tracefirst($_[1]),
q{terminated},
$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: [/terminated/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{terminated},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{terminated});
%item = (__RULE__ => q{terminated});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/terminated/i]}, Parse::RecDescent::_tracefirst($text),
q{terminated},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:terminated)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/terminated/i]<<},
Parse::RecDescent::_tracefirst($text),
q{terminated},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{terminated},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{terminated},
$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{terminated},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{terminated},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::export
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"export"};
Parse::RecDescent::_trace(q{Trying rule: [export]},
Parse::RecDescent::_tracefirst($_[1]),
q{export},
$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: [/export/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{export},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{export});
%item = (__RULE__ => q{export});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/export/i]}, Parse::RecDescent::_tracefirst($text),
q{export},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:export)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/export/i]<<},
Parse::RecDescent::_tracefirst($text),
q{export},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{export},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{export},
$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{export},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{export},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::options_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"options_spec"};
Parse::RecDescent::_trace(q{Trying rule: [options_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{options_spec},
$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: [options '(' <leftop: option_spec /,/ option_spec> ')']},
Parse::RecDescent::_tracefirst($_[1]),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{options_spec});
%item = (__RULE__ => q{options_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [options]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::options($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [options]>>},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [options]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{options}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying terminal: ['(']},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$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{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING1__}=$&;
Parse::RecDescent::_trace(q{Trying operator: [<leftop: option_spec /,/ option_spec>]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{<leftop: option_spec /,/ option_spec>})->at($text);
$_tok = undef;
OPLOOP: while (1)
{
$repcount = 0;
my @item;
# MATCH LEFTARG
Parse::RecDescent::_trace(q{Trying subrule: [option_spec]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{option_spec})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::option_spec($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [option_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [option_spec]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{option_spec}} = $_tok;
push @item, $_tok;
}
$repcount++;
my $savetext = $text;
my $backtrack;
# MATCH (OP RIGHTARG)(s)
while ($repcount < 100000000)
{
$backtrack = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text),
q{options_spec},
$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{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
pop @item;
if (defined $1) {push @item, $item{'option_spec(s)'}=$1; $backtrack=1;}
Parse::RecDescent::_trace(q{Trying subrule: [option_spec]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{option_spec})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::option_spec($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [option_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [option_spec]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{option_spec}} = $_tok;
push @item, $_tok;
}
$savetext = $text;
$repcount++;
}
$text = $savetext;
pop @item if $backtrack;
unless (@item) { undef $_tok; last }
$_tok = [ @item ];
last;
}
unless ($repcount>=1)
{
Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: option_spec /,/ option_spec>]>>},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: option_spec /,/ option_spec>]<< (return value: [}
. qq{@{$_tok||[]}} . q{]},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
push @item, $item{'option_spec(s)'}=$_tok||[];
Parse::RecDescent::_trace(q{Trying terminal: [')']},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$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{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__STRING2__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [options '(' <leftop: option_spec /,/ option_spec> ')']<<},
Parse::RecDescent::_tracefirst($text),
q{options_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{options_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{options_spec},
$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{options_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{options_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::preprocess
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"preprocess"};
Parse::RecDescent::_trace(q{Trying rule: [preprocess]},
Parse::RecDescent::_tracefirst($_[1]),
q{preprocess},
$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: [pp_part]},
Parse::RecDescent::_tracefirst($_[1]),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{preprocess});
%item = (__RULE__ => q{preprocess});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying repeated subrule: [pp_part]},
Parse::RecDescent::_tracefirst($text),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::pp_part, 1, 100000000, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [pp_part]>>},
Parse::RecDescent::_tracefirst($text),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [pp_part]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
$item{q{pp_part(s)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my $code = $thisparser->{code};
delete $thisparser->{code}; # necessary to make preprocess reentrant
$code
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [pp_part]<<},
Parse::RecDescent::_tracefirst($text),
q{preprocess},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{preprocess},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{preprocess},
$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{preprocess},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{preprocess},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::escaped
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"escaped"};
Parse::RecDescent::_trace(q{Trying rule: [escaped]},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped},
$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: [/escaped/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{escaped});
%item = (__RULE__ => q{escaped});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/escaped/i]}, Parse::RecDescent::_tracefirst($text),
q{escaped},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:escaped)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/escaped/i]<<},
Parse::RecDescent::_tracefirst($text),
q{escaped},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{escaped},
$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{escaped},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{escaped},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::data
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"data"};
Parse::RecDescent::_trace(q{Trying rule: [data]},
Parse::RecDescent::_tracefirst($_[1]),
q{data},
$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: [/data/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{data},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{data});
%item = (__RULE__ => q{data});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/data/i]}, Parse::RecDescent::_tracefirst($text),
q{data},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:data)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/data/i]<<},
Parse::RecDescent::_tracefirst($text),
q{data},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{data},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{data},
$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{data},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{data},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::escaped_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"escaped_spec"};
Parse::RecDescent::_trace(q{Trying rule: [escaped_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped_spec},
$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: [escaped by escape_string]},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{escaped_spec});
%item = (__RULE__ => q{escaped_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [escaped]},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::escaped($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [escaped]>>},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [escaped]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{escaped}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [by]},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{by})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::by, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [by]>>},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [by]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{by(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [escape_string]},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{escape_string})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::escape_string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [escape_string]>>},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [escape_string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{escape_string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->escape($item[3]);
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [escaped by escape_string]<<},
Parse::RecDescent::_tracefirst($text),
q{escaped_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{escaped_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{escaped_spec},
$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{escaped_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{escaped_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::by
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"by"};
Parse::RecDescent::_trace(q{Trying rule: [by]},
Parse::RecDescent::_tracefirst($_[1]),
q{by},
$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: [/by/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{by},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{by});
%item = (__RULE__ => q{by});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/by/i]}, Parse::RecDescent::_tracefirst($text),
q{by},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:by)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/by/i]<<},
Parse::RecDescent::_tracefirst($text),
q{by},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{by},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{by},
$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{by},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{by},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::fields_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"fields_spec"};
Parse::RecDescent::_trace(q{Trying rule: [fields_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{fields_spec},
$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: [fields term_spec enclosed_spec escaped_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{fields_spec});
%item = (__RULE__ => q{fields_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [fields]},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::fields($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [fields]>>},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [fields]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{fields}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [term_spec]},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{term_spec})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::term_spec, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [term_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [term_spec]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{term_spec(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [enclosed_spec]},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{enclosed_spec})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::enclosed_spec, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [enclosed_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [enclosed_spec]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{enclosed_spec(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [escaped_spec]},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{escaped_spec})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::escaped_spec, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [escaped_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [escaped_spec]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{escaped_spec(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{>>Matched production: [fields term_spec enclosed_spec escaped_spec]<<},
Parse::RecDescent::_tracefirst($text),
q{fields_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{fields_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{fields_spec},
$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{fields_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{fields_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::replace
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"replace"};
Parse::RecDescent::_trace(q{Trying rule: [replace]},
Parse::RecDescent::_tracefirst($_[1]),
q{replace},
$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: [/replace/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{replace},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{replace});
%item = (__RULE__ => q{replace});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/replace/i]}, Parse::RecDescent::_tracefirst($text),
q{replace},
$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)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/replace/i]<<},
Parse::RecDescent::_tracefirst($text),
q{replace},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{replace},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{replace},
$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{replace},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{replace},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::with
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"with"};
Parse::RecDescent::_trace(q{Trying rule: [with]},
Parse::RecDescent::_tracefirst($_[1]),
q{with},
$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: [/with/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{with},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{with});
%item = (__RULE__ => q{with});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/with/i]}, Parse::RecDescent::_tracefirst($text),
q{with},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:with)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/with/i]<<},
Parse::RecDescent::_tracefirst($text),
q{with},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{with},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{with},
$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{with},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{with},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::and
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"and"};
Parse::RecDescent::_trace(q{Trying rule: [and]},
Parse::RecDescent::_tracefirst($_[1]),
q{and},
$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: [/and/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{and},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{and});
%item = (__RULE__ => q{and});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/and/i]}, Parse::RecDescent::_tracefirst($text),
q{and},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:and)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/and/i]<<},
Parse::RecDescent::_tracefirst($text),
q{and},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{and},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{and},
$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{and},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{and},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::pp_string
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"pp_string"};
Parse::RecDescent::_trace(q{Trying rule: [pp_string]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_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: [m\{
\\s*
' # delimiter
[^']* # anything that's not a delimiter
' # delimiter
\\s*
\}xi]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_string},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{pp_string});
%item = (__RULE__ => q{pp_string});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [m\{
\\s*
' # delimiter
[^']* # anything that's not a delimiter
' # delimiter
\\s*
\}xi]}, Parse::RecDescent::_tracefirst($text),
q{pp_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(?:
\s*
' # delimiter
[^']* # anything that's not a delimiter
' # delimiter
\s*
)}{}xi)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [m\{
\\s*
' # delimiter
[^']* # anything that's not a delimiter
' # delimiter
\\s*
\}xi]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_string},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [m\{
\\s*
"
[^"]*
"
\\s*
\}xi]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_string},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{pp_string});
%item = (__RULE__ => q{pp_string});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [m\{
\\s*
"
[^"]*
"
\\s*
\}xi]}, Parse::RecDescent::_tracefirst($text),
q{pp_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(?:
\s*
"
[^"]*
"
\s*
)}{}xi)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [m\{
\\s*
"
[^"]*
"
\\s*
\}xi]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_string},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{pp_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{pp_string},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{pp_string},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::options
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"options"};
Parse::RecDescent::_trace(q{Trying rule: [options]},
Parse::RecDescent::_tracefirst($_[1]),
q{options},
$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: [/options/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{options},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{options});
%item = (__RULE__ => q{options});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/options/i]}, Parse::RecDescent::_tracefirst($text),
q{options},
$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)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/options/i]<<},
Parse::RecDescent::_tracefirst($text),
q{options},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{options},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{options},
$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{options},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{options},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::into
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"into"};
Parse::RecDescent::_trace(q{Trying rule: [into]},
Parse::RecDescent::_tracefirst($_[1]),
q{into},
$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: [/into/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{into},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{into});
%item = (__RULE__ => q{into});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/into/i]}, Parse::RecDescent::_tracefirst($text),
q{into},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:into)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/into/i]<<},
Parse::RecDescent::_tracefirst($text),
q{into},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{into},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{into},
$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{into},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{into},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::append
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"append"};
Parse::RecDescent::_trace(q{Trying rule: [append]},
Parse::RecDescent::_tracefirst($_[1]),
q{append},
$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: [/append/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{append},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{append});
%item = (__RULE__ => q{append});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/append/i]}, Parse::RecDescent::_tracefirst($text),
q{append},
$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)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/append/i]<<},
Parse::RecDescent::_tracefirst($text),
q{append},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{append},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{append},
$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{append},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{append},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::pp_clause
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"pp_clause"};
Parse::RecDescent::_trace(q{Trying rule: [pp_clause]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_clause},
$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: [m\{
(
[^"'-]+ # char that's not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
\}x]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_clause},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{pp_clause});
%item = (__RULE__ => q{pp_clause});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [m\{
(
[^"'-]+ # char that's not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
\}x]}, Parse::RecDescent::_tracefirst($text),
q{pp_clause},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s{\A(?:
(
[^"'-]+ # char that's not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
)}{}x)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [m\{
(
[^"'-]+ # char that's not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
\}x]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_clause},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_clause},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{pp_clause},
$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{pp_clause},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{pp_clause},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::option_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"option_spec"};
Parse::RecDescent::_trace(q{Trying rule: [option_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{option_spec},
$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: [/(\\w+)\\s*=\\s*(\\w+)/]},
Parse::RecDescent::_tracefirst($_[1]),
q{option_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{option_spec});
%item = (__RULE__ => q{option_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/(\\w+)\\s*=\\s*(\\w+)/]}, Parse::RecDescent::_tracefirst($text),
q{option_spec},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:(\w+)\s*=\s*(\w+))//)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{option_spec},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->{lc $1} = $2;
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [/(\\w+)\\s*=\\s*(\\w+)/]<<},
Parse::RecDescent::_tracefirst($text),
q{option_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{option_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{option_spec},
$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{option_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{option_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::from
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"from"};
Parse::RecDescent::_trace(q{Trying rule: [from]},
Parse::RecDescent::_tracefirst($_[1]),
q{from},
$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: [/from/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{from},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{from});
%item = (__RULE__ => q{from});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/from/i]}, Parse::RecDescent::_tracefirst($text),
q{from},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:from)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/from/i]<<},
Parse::RecDescent::_tracefirst($text),
q{from},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{from},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{from},
$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{from},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{from},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::tab
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"tab"};
Parse::RecDescent::_trace(q{Trying rule: [tab]},
Parse::RecDescent::_tracefirst($_[1]),
q{tab},
$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: [/tab/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{tab},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{tab});
%item = (__RULE__ => q{tab});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/tab/i]}, Parse::RecDescent::_tracefirst($text),
q{tab},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:tab)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/tab/i]<<},
Parse::RecDescent::_tracefirst($text),
q{tab},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{tab},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{tab},
$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{tab},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{tab},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::control
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"control"};
Parse::RecDescent::_trace(q{Trying rule: [control]},
Parse::RecDescent::_tracefirst($_[1]),
q{control},
$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: [control_file]},
Parse::RecDescent::_tracefirst($_[1]),
q{control},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{control});
%item = (__RULE__ => q{control});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [control_file]},
Parse::RecDescent::_tracefirst($text),
q{control},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::control_file($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [control_file]>>},
Parse::RecDescent::_tracefirst($text),
q{control},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [control_file]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{control},
$tracelevel)
if defined $::RD_TRACE;
$item{q{control_file}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [control_file]<<},
Parse::RecDescent::_tracefirst($text),
q{control},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{control},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{control},
$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{control},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{control},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::append_replace
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"append_replace"};
Parse::RecDescent::_trace(q{Trying rule: [append_replace]},
Parse::RecDescent::_tracefirst($_[1]),
q{append_replace},
$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: [replace]},
Parse::RecDescent::_tracefirst($_[1]),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{append_replace});
%item = (__RULE__ => q{append_replace});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [replace]},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::replace($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [replace]>>},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [replace]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$item{q{replace}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [replace]<<},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [append]},
Parse::RecDescent::_tracefirst($_[1]),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{append_replace});
%item = (__RULE__ => q{append_replace});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [append]},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::append($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [append]>>},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [append]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$item{q{append}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->action(uc $item[1]);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [append]<<},
Parse::RecDescent::_tracefirst($text),
q{append_replace},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{append_replace},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{append_replace},
$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{append_replace},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{append_replace},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::enclosed
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"enclosed"};
Parse::RecDescent::_trace(q{Trying rule: [enclosed]},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed},
$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: [/enclosed/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{enclosed});
%item = (__RULE__ => q{enclosed});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/enclosed/i]}, Parse::RecDescent::_tracefirst($text),
q{enclosed},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:enclosed)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/enclosed/i]<<},
Parse::RecDescent::_tracefirst($text),
q{enclosed},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{enclosed},
$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{enclosed},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{enclosed},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::enclosure
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"enclosure"};
Parse::RecDescent::_trace(q{Trying rule: [enclosure]},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosure},
$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{enclosure},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{enclosure});
%item = (__RULE__ => q{enclosure});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [string]},
Parse::RecDescent::_tracefirst($text),
q{enclosure},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [string]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosure},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{enclosure},
$tracelevel)
if defined $::RD_TRACE;
$item{q{string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [string]<<},
Parse::RecDescent::_tracefirst($text),
q{enclosure},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosure},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{enclosure},
$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{enclosure},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{enclosure},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::select_statement
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"select_statement"};
Parse::RecDescent::_trace(q{Trying rule: [select_statement]},
Parse::RecDescent::_tracefirst($_[1]),
q{select_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{select_statement},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{select_statement});
%item = (__RULE__ => q{select_statement});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/.*/s]}, Parse::RecDescent::_tracefirst($text),
q{select_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(?:.*)//s)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{select_statement},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
my $query = $item[1];
# strip trailing semicolon
$query =~ s/(.*);/$1/;
$dumper->query($query);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
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{select_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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{select_statement},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{select_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{select_statement},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{select_statement},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::with_header
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"with_header"};
Parse::RecDescent::_trace(q{Trying rule: [with_header]},
Parse::RecDescent::_tracefirst($_[1]),
q{with_header},
$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: [with header]},
Parse::RecDescent::_tracefirst($_[1]),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{with_header});
%item = (__RULE__ => q{with_header});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [with]},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::with($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [with]>>},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [with]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
$item{q{with}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [header]},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{header})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::header($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [header]>>},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [header]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
$item{q{header}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->header(1);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [with header]<<},
Parse::RecDescent::_tracefirst($text),
q{with_header},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{with_header},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{with_header},
$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{with_header},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{with_header},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::term_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"term_spec"};
Parse::RecDescent::_trace(q{Trying rule: [term_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{term_spec},
$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: [terminated by terminator]},
Parse::RecDescent::_tracefirst($_[1]),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{term_spec});
%item = (__RULE__ => q{term_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [terminated]},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::terminated($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [terminated]>>},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [terminated]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{terminated}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [by]},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{by})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::by, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [by]>>},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [by]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{by(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [terminator]},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{terminator})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::terminator($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [terminator]>>},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [terminator]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{terminator}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->terminator(uc $item[3] eq 'TAB' ? "\t" : $item[3]);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [terminated by terminator]<<},
Parse::RecDescent::_tracefirst($text),
q{term_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{term_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{term_spec},
$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{term_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{term_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::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: [string]},
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: [string]},
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::DBI::Dumper::Grammar::string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [string]>>},
Parse::RecDescent::_tracefirst($text),
q{filename},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{filename},
$tracelevel)
if defined $::RD_TRACE;
$item{q{string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{filename},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->output($item[1]);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [string]<<},
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{<<Didn't match rule>>},
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::DBI::Dumper::Grammar::fields
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"fields"};
Parse::RecDescent::_trace(q{Trying rule: [fields]},
Parse::RecDescent::_tracefirst($_[1]),
q{fields},
$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: [/fields/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{fields},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{fields});
%item = (__RULE__ => q{fields});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/fields/i]}, Parse::RecDescent::_tracefirst($text),
q{fields},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:fields)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/fields/i]<<},
Parse::RecDescent::_tracefirst($text),
q{fields},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{fields},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{fields},
$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{fields},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{fields},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::into_file
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"into_file"};
Parse::RecDescent::_trace(q{Trying rule: [into_file]},
Parse::RecDescent::_tracefirst($_[1]),
q{into_file},
$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: [into file filename]},
Parse::RecDescent::_tracefirst($_[1]),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{into_file});
%item = (__RULE__ => q{into_file});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [into]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::into($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [into]>>},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [into]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{into}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [file]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{file})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::file($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [file]>>},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [file]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{file}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [filename]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{filename})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [filename]>>},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{filename}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [into file filename]<<},
Parse::RecDescent::_tracefirst($text),
q{into_file},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{into_file},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{into_file},
$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{into_file},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{into_file},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::pp_part
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"pp_part"};
Parse::RecDescent::_trace(q{Trying rule: [pp_part]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_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: [pp_comment]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{pp_part});
%item = (__RULE__ => q{pp_part});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [pp_comment]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::pp_comment($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [pp_comment]>>},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [pp_comment]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$item{q{pp_comment}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $thisparser->{code} .= " "; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [pp_comment]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [pp_clause]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
$text = $_[1];
my $_savetext;
@item = (q{pp_part});
%item = (__RULE__ => q{pp_part});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [pp_clause]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::pp_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [pp_clause]>>},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [pp_clause]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$item{q{pp_clause}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $thisparser->{code} .= $item[1]; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [pp_clause]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched && !$commit)
{
Parse::RecDescent::_trace(q{Trying production: [pp_string]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[2];
$text = $_[1];
my $_savetext;
@item = (q{pp_part});
%item = (__RULE__ => q{pp_part});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [pp_string]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::pp_string($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [pp_string]>>},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [pp_string]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$item{q{pp_string}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do { $thisparser->{code} .= $item[1]; };
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [pp_string]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_part},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{pp_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{pp_part},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{pp_part},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::enclosed_spec
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"enclosed_spec"};
Parse::RecDescent::_trace(q{Trying rule: [enclosed_spec]},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed_spec},
$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: [enclosed by enclosure and enclosure]},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{enclosed_spec});
%item = (__RULE__ => q{enclosed_spec});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying subrule: [enclosed]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::enclosed($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [enclosed]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [enclosed]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{enclosed}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [by]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{by})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::by, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [by]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [by]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{by(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [enclosure]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{enclosure})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::enclosure($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [enclosure]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [enclosure]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{enclosure}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [and]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{and})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::and, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [and]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [and]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{and(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [enclosure]},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{enclosure})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::enclosure, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [enclosure]>>},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [enclosure]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$item{q{enclosure(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying action},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
$_tok = ($_noactions) ? 0 : do {
$dumper->left_delim($item[3]);
$dumper->right_delim($item[5] && $item[5]->[0] ? $item[5]->[0] : $item[3]);
1;
};
unless (defined $_tok)
{
Parse::RecDescent::_trace(q{<<Didn't match action>> (return value: [undef])})
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $_tok;
$item{__ACTION1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [enclosed by enclosure and enclosure]<<},
Parse::RecDescent::_tracefirst($text),
q{enclosed_spec},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{enclosed_spec},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{enclosed_spec},
$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{enclosed_spec},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{enclosed_spec},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::pp_comment
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"pp_comment"};
Parse::RecDescent::_trace(q{Trying rule: [pp_comment]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_comment},
$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: [m\{
--
[^\\n]*
\\n
\}x]},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_comment},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{pp_comment});
%item = (__RULE__ => q{pp_comment});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [m\{
--
[^\\n]*
\\n
\}x]}, Parse::RecDescent::_tracefirst($text),
q{pp_comment},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s{\A(?:
--
[^\n]*
\n
)}{}x)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [m\{
--
[^\\n]*
\\n
\}x]<<},
Parse::RecDescent::_tracefirst($text),
q{pp_comment},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{pp_comment},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{pp_comment},
$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{pp_comment},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{pp_comment},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::control_file
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"control_file"};
Parse::RecDescent::_trace(q{Trying rule: [control_file]},
Parse::RecDescent::_tracefirst($_[1]),
q{control_file},
$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: [options_spec export data append_replace into_file fields_spec with_header from select_statement]},
Parse::RecDescent::_tracefirst($_[1]),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{control_file});
%item = (__RULE__ => q{control_file});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying repeated subrule: [options_spec]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::options_spec, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [options_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [options_spec]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{options_spec(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [export]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{export})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::export($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [export]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [export]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{export}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [data]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{data})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::data($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [data]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [data]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{data}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying repeated subrule: [append_replace]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{append_replace})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::append_replace, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [append_replace]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [append_replace]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{append_replace(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [into_file]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{into_file})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::into_file, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [into_file]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [into_file]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{into_file(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [fields_spec]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{fields_spec})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::fields_spec, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [fields_spec]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [fields_spec]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{fields_spec(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying repeated subrule: [with_header]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->is(q{with_header})->at($text);
unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::DBI::Dumper::Grammar::with_header, 0, 1, $_noactions,$expectation,undef)))
{
Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [with_header]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched repeated subrule: [with_header]<< (}
. @$_tok . q{ times)},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{with_header(?)}} = $_tok;
push @item, $_tok;
Parse::RecDescent::_trace(q{Trying subrule: [from]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{from})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::from($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [from]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [from]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{from}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{Trying subrule: [select_statement]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
if (1) { no strict qw{refs};
$expectation->is(q{select_statement})->at($text);
unless (defined ($_tok = Parse::RecDescent::DBI::Dumper::Grammar::select_statement($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
{
Parse::RecDescent::_trace(q{<<Didn't match subrule: [select_statement]>>},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$expectation->failed();
last;
}
Parse::RecDescent::_trace(q{>>Matched subrule: [select_statement]<< (return value: [}
. $_tok . q{]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$item{q{select_statement}} = $_tok;
push @item, $_tok;
}
Parse::RecDescent::_trace(q{>>Matched production: [options_spec export data append_replace into_file fields_spec with_header from select_statement]<<},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$_matched = 1;
last;
}
while (!$_matched)
{
Parse::RecDescent::_trace(q{Trying production: [<error...>]},
Parse::RecDescent::_tracefirst($_[1]),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[1];
my $_savetext;
@item = (q{control_file});
%item = (__RULE__ => q{control_file});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
$_tok = do { if (1) { do {
my $rule = $item[0];
$rule =~ s/_/ /g;
#WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
} unless $_noactions; undef } else {0} };
if (defined($_tok))
{
Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
. $_tok . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
else
{
Parse::RecDescent::_trace(q{<<Didn't match directive>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
}
last unless defined $_tok;
push @item, $item{__DIRECTIVE1__}=$_tok;
Parse::RecDescent::_trace(q{>>Matched production: [<error...>]<<},
Parse::RecDescent::_tracefirst($text),
q{control_file},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{control_file},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{control_file},
$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{control_file},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{control_file},
$tracelevel)
}
$_[1] = $text;
return $return;
}
# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
sub Parse::RecDescent::DBI::Dumper::Grammar::header
{
my $thisparser = $_[0];
use vars q{$tracelevel};
local $tracelevel = ($tracelevel||0)+1;
$ERRORS = 0;
my $thisrule = $thisparser->{"rules"}{"header"};
Parse::RecDescent::_trace(q{Trying rule: [header]},
Parse::RecDescent::_tracefirst($_[1]),
q{header},
$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: [/header/i]},
Parse::RecDescent::_tracefirst($_[1]),
q{header},
$tracelevel)
if defined $::RD_TRACE;
my $thisprod = $thisrule->{"prods"}[0];
$text = $_[1];
my $_savetext;
@item = (q{header});
%item = (__RULE__ => q{header});
my $repcount = 0;
Parse::RecDescent::_trace(q{Trying terminal: [/header/i]}, Parse::RecDescent::_tracefirst($text),
q{header},
$tracelevel)
if defined $::RD_TRACE;
$lastsep = "";
$expectation->is(q{})->at($text);
unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:header)//i)
{
$expectation->failed();
Parse::RecDescent::_trace(q{<<Didn't match terminal>>},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
last;
}
Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
. $& . q{])},
Parse::RecDescent::_tracefirst($text))
if defined $::RD_TRACE;
push @item, $item{__PATTERN1__}=$&;
Parse::RecDescent::_trace(q{>>Matched production: [/header/i]<<},
Parse::RecDescent::_tracefirst($text),
q{header},
$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{<<Didn't match rule>>},
Parse::RecDescent::_tracefirst($_[1]),
q{header},
$tracelevel)
if defined $::RD_TRACE;
return undef;
}
if (!defined($return) && defined($score))
{
Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
q{header},
$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{header},
$tracelevel);
Parse::RecDescent::_trace(q{(consumed: [} .
Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
Parse::RecDescent::_tracefirst($text),
, q{header},
$tracelevel)
}
$_[1] = $text;
return $return;
}
}
package DBI::Dumper::Grammar; sub new { my $self = bless( {
'_AUTOTREE' => undef,
'localvars' => '',
'startcode' => '',
'_check' => {
'thisoffset' => '',
'itempos' => '',
'prevoffset' => '',
'prevline' => '',
'prevcolumn' => '',
'thiscolumn' => ''
},
'namespace' => 'Parse::RecDescent::DBI::Dumper::Grammar',
'_AUTOACTION' => undef,
'rules' => {
'escape_string' => bless( {
'impcount' => 0,
'calls' => [
'string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 86
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'escape_string',
'vars' => '',
'line' => 86
}, 'Parse::RecDescent::Rule' ),
'file' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'file',
'hashname' => '__PATTERN1__',
'description' => '/file/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 38,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'file',
'vars' => '',
'line' => 38
}, 'Parse::RecDescent::Rule' ),
'string' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '^(X?)\'(.*?)\'',
'hashname' => '__PATTERN1__',
'description' => '/^(X?)\'(.*?)\'/',
'lookahead' => 0,
'rdelim' => '/',
'line' => 45,
'mod' => '',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 45,
'code' => '{
my $string = $2;
$string =~ s/([A-Fa-f\\d]{2})/chr hex $1/eg if $1;
$item[1] = $string;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'string',
'vars' => '',
'line' => 45
}, 'Parse::RecDescent::Rule' ),
'terminator' => bless( {
'impcount' => 0,
'calls' => [
'tab',
'string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'tab',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 64
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 64
}, 'Parse::RecDescent::Subrule' )
],
'line' => 64
}, 'Parse::RecDescent::Production' )
],
'name' => 'terminator',
'vars' => '',
'line' => 64
}, 'Parse::RecDescent::Rule' ),
'terminated' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'terminated',
'hashname' => '__PATTERN1__',
'description' => '/terminated/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 60,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'terminated',
'vars' => '',
'line' => 60
}, 'Parse::RecDescent::Rule' ),
'export' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'export',
'hashname' => '__PATTERN1__',
'description' => '/export/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 10,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'export',
'vars' => '',
'line' => 10
}, 'Parse::RecDescent::Rule' ),
'options_spec' => bless( {
'impcount' => 0,
'calls' => [
'options',
'option_spec'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 2,
'dircount' => 1,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'op' => [],
'items' => [
bless( {
'subrule' => 'options',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 16
}, 'Parse::RecDescent::Subrule' ),
bless( {
'pattern' => '(',
'hashname' => '__STRING1__',
'description' => '\'(\'',
'lookahead' => 0,
'line' => 16
}, 'Parse::RecDescent::Literal' ),
bless( {
'expected' => '<leftop: option_spec /,/ option_spec>',
'min' => 1,
'name' => '\'option_spec(s)\'',
'max' => 100000000,
'leftarg' => bless( {
'subrule' => 'option_spec',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 16
}, 'Parse::RecDescent::Subrule' ),
'rightarg' => bless( {
'subrule' => 'option_spec',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 16
}, 'Parse::RecDescent::Subrule' ),
'hashname' => '__DIRECTIVE1__',
'type' => 'leftop',
'op' => bless( {
'pattern' => ',',
'hashname' => '__PATTERN1__',
'description' => '/,/',
'lookahead' => 0,
'rdelim' => '/',
'line' => 16,
'mod' => '',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
}, 'Parse::RecDescent::Operator' ),
bless( {
'pattern' => ')',
'hashname' => '__STRING2__',
'description' => '\')\'',
'lookahead' => 0,
'line' => 16
}, 'Parse::RecDescent::Literal' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'options_spec',
'vars' => '',
'line' => 16
}, 'Parse::RecDescent::Rule' ),
'preprocess' => bless( {
'impcount' => 0,
'calls' => [
'pp_part'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'pp_part',
'expected' => undef,
'min' => 1,
'argcode' => undef,
'max' => 100000000,
'matchrule' => 0,
'repspec' => 's',
'lookahead' => 0,
'line' => 109
}, 'Parse::RecDescent::Repetition' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 109,
'code' => '{
my $code = $thisparser->{code};
delete $thisparser->{code}; # necessary to make preprocess reentrant
$code
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'preprocess',
'vars' => '',
'line' => 107
}, 'Parse::RecDescent::Rule' ),
'escaped' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'escaped',
'hashname' => '__PATTERN1__',
'description' => '/escaped/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 84,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'escaped',
'vars' => '',
'line' => 84
}, 'Parse::RecDescent::Rule' ),
'data' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'data',
'hashname' => '__PATTERN1__',
'description' => '/data/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 12,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'data',
'vars' => '',
'line' => 12
}, 'Parse::RecDescent::Rule' ),
'escaped_spec' => bless( {
'impcount' => 0,
'calls' => [
'escaped',
'by',
'escape_string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'escaped',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 80
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'by',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 80
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'escape_string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 80
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 80,
'code' => '{
$dumper->escape($item[3]);
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'escaped_spec',
'vars' => '',
'line' => 80
}, 'Parse::RecDescent::Rule' ),
'by' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'by',
'hashname' => '__PATTERN1__',
'description' => '/by/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 62,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'by',
'vars' => '',
'line' => 62
}, 'Parse::RecDescent::Rule' ),
'fields_spec' => bless( {
'impcount' => 0,
'calls' => [
'fields',
'term_spec',
'enclosed_spec',
'escaped_spec'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'fields',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 51
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'term_spec',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 51
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'enclosed_spec',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 51
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'escaped_spec',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 51
}, 'Parse::RecDescent::Repetition' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'fields_spec',
'vars' => '',
'line' => 51
}, 'Parse::RecDescent::Rule' ),
'replace' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'replace',
'hashname' => '__PATTERN1__',
'description' => '/replace/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 30,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'replace',
'vars' => '',
'line' => 30
}, 'Parse::RecDescent::Rule' ),
'with' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'with',
'hashname' => '__PATTERN1__',
'description' => '/with/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 93,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'with',
'vars' => '',
'line' => 93
}, 'Parse::RecDescent::Rule' ),
'and' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'and',
'hashname' => '__PATTERN1__',
'description' => '/and/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 76,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'and',
'vars' => '',
'line' => 76
}, 'Parse::RecDescent::Rule' ),
'pp_string' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => '
\\s*
\' # delimiter
[^\']* # anything that\'s not a delimiter
\' # delimiter
\\s*
',
'hashname' => '__PATTERN1__',
'description' => 'm\\{
\\\\s*
\' # delimiter
[^\']* # anything that\'s not a delimiter
\' # delimiter
\\\\s*
\\}xi',
'lookahead' => 0,
'rdelim' => '}',
'line' => 131,
'mod' => 'xi',
'ldelim' => '{'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => '
\\s*
"
[^"]*
"
\\s*
',
'hashname' => '__PATTERN1__',
'description' => 'm\\{
\\\\s*
"
[^"]*
"
\\\\s*
\\}xi',
'lookahead' => 0,
'rdelim' => '}',
'line' => 138,
'mod' => 'xi',
'ldelim' => '{'
}, 'Parse::RecDescent::Token' )
],
'line' => 138
}, 'Parse::RecDescent::Production' )
],
'name' => 'pp_string',
'vars' => '',
'line' => 130
}, 'Parse::RecDescent::Rule' ),
'options' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'options',
'hashname' => '__PATTERN1__',
'description' => '/options/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 18,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'options',
'vars' => '',
'line' => 18
}, 'Parse::RecDescent::Rule' ),
'into' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'into',
'hashname' => '__PATTERN1__',
'description' => '/into/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 36,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'into',
'vars' => '',
'line' => 36
}, 'Parse::RecDescent::Rule' ),
'append' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'append',
'hashname' => '__PATTERN1__',
'description' => '/append/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 32,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'append',
'vars' => '',
'line' => 32
}, 'Parse::RecDescent::Rule' ),
'pp_clause' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => '
(
[^"\'-]+ # char that\'s not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
',
'hashname' => '__PATTERN1__',
'description' => 'm\\{
(
[^"\'-]+ # char that\'s not a delimiter ( or start of comment)
(
- # and are followed by comment delimiter
[^-]
)?
)+
\\}x',
'lookahead' => 0,
'rdelim' => '}',
'line' => 120,
'mod' => 'x',
'ldelim' => '{'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'pp_clause',
'vars' => '',
'line' => 119
}, 'Parse::RecDescent::Rule' ),
'option_spec' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '(\\w+)\\s*=\\s*(\\w+)',
'hashname' => '__PATTERN1__',
'description' => '/(\\\\w+)\\\\s*=\\\\s*(\\\\w+)/',
'lookahead' => 0,
'rdelim' => '/',
'line' => 20,
'mod' => '',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 20,
'code' => '{
$dumper->{lc $1} = $2;
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'option_spec',
'vars' => '',
'line' => 20
}, 'Parse::RecDescent::Rule' ),
'from' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'from',
'hashname' => '__PATTERN1__',
'description' => '/from/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 14,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'from',
'vars' => '',
'line' => 14
}, 'Parse::RecDescent::Rule' ),
'tab' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'tab',
'hashname' => '__PATTERN1__',
'description' => '/tab/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 66,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'tab',
'vars' => '',
'line' => 66
}, 'Parse::RecDescent::Rule' ),
'control' => bless( {
'impcount' => 0,
'calls' => [
'control_file'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'control_file',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 4
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'control',
'vars' => '',
'line' => 4
}, 'Parse::RecDescent::Rule' ),
'append_replace' => bless( {
'impcount' => 0,
'calls' => [
'replace',
'append'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'replace',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 25
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'append',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 25
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 25,
'code' => '{
$dumper->action(uc $item[1]);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => 25
}, 'Parse::RecDescent::Production' )
],
'name' => 'append_replace',
'vars' => '',
'line' => 25
}, 'Parse::RecDescent::Rule' ),
'enclosed' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'enclosed',
'hashname' => '__PATTERN1__',
'description' => '/enclosed/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 74,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'enclosed',
'vars' => '',
'line' => 74
}, 'Parse::RecDescent::Rule' ),
'enclosure' => bless( {
'impcount' => 0,
'calls' => [
'string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 78
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'enclosure',
'vars' => '',
'line' => 78
}, 'Parse::RecDescent::Rule' ),
'select_statement' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 1,
'items' => [
bless( {
'pattern' => '.*',
'hashname' => '__PATTERN1__',
'description' => '/.*/s',
'lookahead' => 0,
'rdelim' => '/',
'line' => 97,
'mod' => 's',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 97,
'code' => '{
my $query = $item[1];
# strip trailing semicolon
$query =~ s/(.*);/$1/;
$dumper->query($query);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'select_statement',
'vars' => '',
'line' => 97
}, 'Parse::RecDescent::Rule' ),
'with_header' => bless( {
'impcount' => 0,
'calls' => [
'with',
'header'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'with',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 88
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'header',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 88
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 88,
'code' => '{
$dumper->header(1);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'with_header',
'vars' => '',
'line' => 88
}, 'Parse::RecDescent::Rule' ),
'term_spec' => bless( {
'impcount' => 0,
'calls' => [
'terminated',
'by',
'terminator'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'terminated',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 55
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'by',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 55
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'terminator',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 55
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 55,
'code' => '{
$dumper->terminator(uc $item[3] eq \'TAB\' ? "\\t" : $item[3]);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'term_spec',
'vars' => '',
'line' => 55
}, 'Parse::RecDescent::Rule' ),
'filename' => bless( {
'impcount' => 0,
'calls' => [
'string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 40
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 40,
'code' => '{
$dumper->output($item[1]);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'filename',
'vars' => '',
'line' => 40
}, 'Parse::RecDescent::Rule' ),
'fields' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'fields',
'hashname' => '__PATTERN1__',
'description' => '/fields/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 53,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'fields',
'vars' => '',
'line' => 53
}, 'Parse::RecDescent::Rule' ),
'into_file' => bless( {
'impcount' => 0,
'calls' => [
'into',
'file',
'filename'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'into',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 34
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'file',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 34
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'filename',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 34
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'into_file',
'vars' => '',
'line' => 34
}, 'Parse::RecDescent::Rule' ),
'pp_part' => bless( {
'impcount' => 0,
'calls' => [
'pp_comment',
'pp_clause',
'pp_string'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'pp_comment',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 115
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 115,
'code' => '{ $thisparser->{code} .= " "; }'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'pp_clause',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 116
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 116,
'code' => '{ $thisparser->{code} .= $item[1]; }'
}, 'Parse::RecDescent::Action' )
],
'line' => 116
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '2',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'pp_string',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 117
}, 'Parse::RecDescent::Subrule' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 117,
'code' => '{ $thisparser->{code} .= $item[1]; }'
}, 'Parse::RecDescent::Action' )
],
'line' => 117
}, 'Parse::RecDescent::Production' )
],
'name' => 'pp_part',
'vars' => '',
'line' => 115
}, 'Parse::RecDescent::Rule' ),
'enclosed_spec' => bless( {
'impcount' => 0,
'calls' => [
'enclosed',
'by',
'enclosure',
'and'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 1,
'items' => [
bless( {
'subrule' => 'enclosed',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 68
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'by',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 68
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'enclosure',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 68
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'and',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 68
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'enclosure',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 68
}, 'Parse::RecDescent::Repetition' ),
bless( {
'hashname' => '__ACTION1__',
'lookahead' => 0,
'line' => 68,
'code' => '{
$dumper->left_delim($item[3]);
$dumper->right_delim($item[5] && $item[5]->[0] ? $item[5]->[0] : $item[3]);
1;
}'
}, 'Parse::RecDescent::Action' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'enclosed_spec',
'vars' => '',
'line' => 68
}, 'Parse::RecDescent::Rule' ),
'pp_comment' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => '
--
[^\\n]*
\\n
',
'hashname' => '__PATTERN1__',
'description' => 'm\\{
--
[^\\\\n]*
\\\\n
\\}x',
'lookahead' => 0,
'rdelim' => '}',
'line' => 147,
'mod' => 'x',
'ldelim' => '{'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'pp_comment',
'vars' => '',
'line' => 147
}, 'Parse::RecDescent::Rule' ),
'control_file' => bless( {
'impcount' => 0,
'calls' => [
'options_spec',
'export',
'data',
'append_replace',
'into_file',
'fields_spec',
'with_header',
'from',
'select_statement'
],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'subrule' => 'options_spec',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 6
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'export',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 6
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'data',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 6
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'append_replace',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 7
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'into_file',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 7
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'fields_spec',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 7
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'with_header',
'expected' => undef,
'min' => 0,
'argcode' => undef,
'max' => 1,
'matchrule' => 0,
'repspec' => '?',
'lookahead' => 0,
'line' => 7
}, 'Parse::RecDescent::Repetition' ),
bless( {
'subrule' => 'from',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 8
}, 'Parse::RecDescent::Subrule' ),
bless( {
'subrule' => 'select_statement',
'matchrule' => 0,
'implicit' => undef,
'argcode' => undef,
'lookahead' => 0,
'line' => 8
}, 'Parse::RecDescent::Subrule' )
],
'line' => undef
}, 'Parse::RecDescent::Production' ),
bless( {
'number' => '1',
'strcount' => 0,
'dircount' => 1,
'uncommit' => 0,
'error' => 1,
'patcount' => 0,
'actcount' => 0,
'items' => [
bless( {
'msg' => '',
'hashname' => '__DIRECTIVE1__',
'commitonly' => '',
'lookahead' => 0,
'line' => 8
}, 'Parse::RecDescent::Error' )
],
'line' => 8
}, 'Parse::RecDescent::Production' )
],
'name' => 'control_file',
'vars' => '',
'line' => 6
}, 'Parse::RecDescent::Rule' ),
'header' => bless( {
'impcount' => 0,
'calls' => [],
'changed' => 0,
'opcount' => 0,
'prods' => [
bless( {
'number' => '0',
'strcount' => 0,
'dircount' => 0,
'uncommit' => undef,
'error' => undef,
'patcount' => 1,
'actcount' => 0,
'items' => [
bless( {
'pattern' => 'header',
'hashname' => '__PATTERN1__',
'description' => '/header/i',
'lookahead' => 0,
'rdelim' => '/',
'line' => 95,
'mod' => 'i',
'ldelim' => '/'
}, 'Parse::RecDescent::Token' )
],
'line' => undef
}, 'Parse::RecDescent::Production' )
],
'name' => 'header',
'vars' => '',
'line' => 95
}, 'Parse::RecDescent::Rule' )
}
}, 'Parse::RecDescent' );
}