summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/build/pidl/Makefile2
-rw-r--r--source4/build/pidl/idl.pm12849
-rwxr-xr-xsource4/script/build_idl.sh4
3 files changed, 4 insertions, 12851 deletions
diff --git a/source4/build/pidl/Makefile b/source4/build/pidl/Makefile
index 23de275288..2ddf28389b 100644
--- a/source4/build/pidl/Makefile
+++ b/source4/build/pidl/Makefile
@@ -1,4 +1,4 @@
-PIDL_idl.pm: idl.gram
+idl.pm: idl.gram
perl -MParse::RecDescent - idl.gram idl
clean:
diff --git a/source4/build/pidl/idl.pm b/source4/build/pidl/idl.pm
deleted file mode 100644
index 3c20256780..0000000000
--- a/source4/build/pidl/idl.pm
+++ /dev/null
@@ -1,12849 +0,0 @@
-package idl;
-use Parse::RecDescent;
-
-{ my $ERRORS;
-
-
-package Parse::RecDescent::idl;
-use strict;
-use vars qw($skip $AUTOLOAD );
-$skip = '\s*';
-
- use util;
-;
-
-
-{
-local $SIG{__WARN__} = sub {0};
-# PRETEND TO BE IN Parse::RecDescent NAMESPACE
-*Parse::RecDescent::idl::AUTOLOAD = sub
-{
- no strict 'refs';
- $AUTOLOAD =~ s/^Parse::RecDescent::idl/Parse::RecDescent/;
- goto &{$AUTOLOAD};
-}
-}
-
-push @Parse::RecDescent::idl::ISA, 'Parse::RecDescent';
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::function
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"function"};
-
- Parse::RecDescent::_trace(q{Trying rule: [function]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{function},
- $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: [type identifier '(' <commit> element_list2 ');']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{function});
- %item = (__RULE__ => q{function});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [type]},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::type($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{type}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{identifier})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [element_list2]},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{element_list2})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::element_list2($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [element_list2]>>},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [element_list2]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{element_list2}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [');']},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "FUNCTION",
- "NAME" => $item{identifier},
- "RETURN_TYPE" => $item{type},
- "DATA" => $item{element_list2}
- }};
- 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: [type identifier '(' <commit> element_list2 ');']<<},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{function});
- %item = (__RULE__ => q{function});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{function},
- $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{function},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{function},
- $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{function},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{function},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::base_element
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"base_element"};
-
- Parse::RecDescent::_trace(q{Trying rule: [base_element]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{base_element},
- $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: [property_list type pointer identifier array_len]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{base_element});
- %item = (__RULE__ => q{base_element});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [property_list]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::property_list, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [property_list]>>},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [property_list]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{property_list(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [type]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{type})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::type($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{type}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [pointer]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{pointer})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::pointer, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [pointer]>>},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [pointer]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{pointer(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{identifier})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [array_len]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{array_len})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::array_len, 0, 1, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [array_len]>>},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [array_len]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{array_len(?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "NAME" => $item{identifier},
- "TYPE" => $item{type},
- "PROPERTIES" => util::FlattenArray($item[1]),
- "POINTERS" => $#{$item[3]}==-1?undef:$#{$item[3]}+1,
- "ARRAY_LEN" => $item[5][0]
- }};
- 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: [property_list type pointer identifier array_len]<<},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error...>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{base_element});
- %item = (__RULE__ => q{base_element});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
- Parse::RecDescent::_tracefirst($text),
- q{base_element},
- $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{base_element},
- $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{base_element},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{base_element},
- $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{base_element},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{base_element},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::property_list
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"property_list"};
-
- Parse::RecDescent::_trace(q{Trying rule: [property_list]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property_list},
- $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: ['[' <commit> <leftop: property /,/ property> ']']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{property_list});
- %item = (__RULE__ => q{property_list});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying operator: [<leftop: property /,/ property>]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{<leftop: property /,/ property>})->at($text);
-
- $_tok = undef;
- OPLOOP: while (1)
- {
- $repcount = 0;
- my @item;
-
- # MATCH LEFTARG
-
- Parse::RecDescent::_trace(q{Trying subrule: [property]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{property})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::property($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [property]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [property]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{property}} = $_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{property_list},
- $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{'property(s)'}=$1; $backtrack=1;}
-
- Parse::RecDescent::_trace(q{Trying subrule: [property]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{property})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::property($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [property]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [property]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{property}} = $_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: property /,/ property>]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: property /,/ property>]<< (return value: [}
- . qq{@{$_tok||[]}} . q{]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
-
- push @item, $item{'property(s)'}=$_tok||[];
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: ['[' <commit> <leftop: property /,/ property> ']']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{property_list});
- %item = (__RULE__ => q{property_list});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{property_list},
- $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{property_list},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{property_list},
- $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{property_list},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{property_list},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::definition
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"definition"};
-
- Parse::RecDescent::_trace(q{Trying rule: [definition]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{definition},
- $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: [cpp_prefix]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{definition});
- %item = (__RULE__ => q{definition});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [cpp_prefix]},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::cpp_prefix($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [cpp_prefix]>>},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [cpp_prefix]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{cpp_prefix}} = $_tok;
- push @item, $_tok;
-
- }
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [cpp_prefix]<<},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [typedef]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{definition});
- %item = (__RULE__ => q{definition});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [typedef]},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::typedef($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [typedef]>>},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [typedef]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{typedef}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [typedef]<<},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [function]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{definition});
- %item = (__RULE__ => q{definition});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [function]},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::function($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [function]>>},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [function]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{function}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [function]<<},
- Parse::RecDescent::_tracefirst($text),
- q{definition},
- $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{definition},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{definition},
- $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{definition},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{definition},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::module_header
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"module_header"};
-
- Parse::RecDescent::_trace(q{Trying rule: [module_header]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_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: ['[' <commit> <leftop: module_param /,/ module_param> ']']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{module_header});
- %item = (__RULE__ => q{module_header});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{module_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\[//)
- {
-
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying operator: [<leftop: module_param /,/ module_param>]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{<leftop: module_param /,/ module_param>})->at($text);
-
- $_tok = undef;
- OPLOOP: while (1)
- {
- $repcount = 0;
- my @item;
-
- # MATCH LEFTARG
-
- Parse::RecDescent::_trace(q{Trying subrule: [module_param]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{module_param})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::module_param($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [module_param]>>},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [module_param]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{module_param}} = $_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{module_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(?:,)//)
- {
-
- $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{'module_param(s?)'}=$1; $backtrack=1;}
-
- Parse::RecDescent::_trace(q{Trying subrule: [module_param]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{module_param})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::module_param($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [module_param]>>},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [module_param]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{module_param}} = $_tok;
- push @item, $_tok;
-
- }
-
- $savetext = $text;
- $repcount++;
- }
- $text = $savetext;
- pop @item if $backtrack;
-
-
- $_tok = [ @item ];
- last;
- }
-
- unless ($repcount>=0)
- {
- Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: module_param /,/ module_param>]>>},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: module_param /,/ module_param>]<< (return value: [}
- . qq{@{$_tok||[]}} . q{]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
-
- push @item, $item{'module_param(s?)'}=$_tok||[];
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{module_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\]//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "MODULEHEADER",
- "PROPERTIES" => util::FlattenHash($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: ['[' <commit> <leftop: module_param /,/ module_param> ']']<<},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{module_header});
- %item = (__RULE__ => q{module_header});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{module_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{module_header},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{module_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{module_header},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{module_header},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::identifier
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"identifier"};
-
- Parse::RecDescent::_trace(q{Trying rule: [identifier]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{identifier},
- $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?]+/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{identifier},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{identifier});
- %item = (__RULE__ => q{identifier});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [/[\\w?]+/]}, Parse::RecDescent::_tracefirst($text),
- q{identifier},
- $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?]+)//)
- {
-
- $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: [/[\\w?]+/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{identifier},
- $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{identifier},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{identifier},
- $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{identifier},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{identifier},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::struct
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"struct"};
-
- Parse::RecDescent::_trace(q{Trying rule: [struct]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{struct},
- $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: [property_list 'struct' <commit> '\{' element_list1 '\}']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{struct});
- %item = (__RULE__ => q{struct});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [property_list]},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::property_list, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [property_list]>>},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [property_list]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{property_list(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['struct']},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'struct'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Astruct//)
- {
-
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $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{Trying repeated subrule: [element_list1]},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{element_list1})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::element_list1, 0, 1, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [element_list1]>>},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [element_list1]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{element_list1(?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "STRUCT",
- "PROPERTIES" => util::FlattenArray($item[1]),
- "ELEMENTS" => util::FlattenArray2($item[5])
- }};
- 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: [property_list 'struct' <commit> '\{' element_list1 '\}']<<},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{struct});
- %item = (__RULE__ => q{struct});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{struct},
- $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{struct},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{struct},
- $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{struct},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{struct},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::text
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"text"};
-
- Parse::RecDescent::_trace(q{Trying rule: [text]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{text},
- $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\\..?-]*/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{text},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{text});
- %item = (__RULE__ => q{text});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [/[\\w\\s\\..?-]*/]}, Parse::RecDescent::_tracefirst($text),
- q{text},
- $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\..?-]*)//)
- {
-
- $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: [/[\\w\\s\\..?-]*/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{text},
- $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{text},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{text},
- $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{text},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{text},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::expression
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"expression"};
-
- Parse::RecDescent::_trace(q{Trying rule: [expression]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [/[\\w.?\\/+*-_]+/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{expression});
- %item = (__RULE__ => q{expression});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [/[\\w.?\\/+*-_]+/]}, Parse::RecDescent::_tracefirst($text),
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[\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{>>Matched production: [/[\\w.?\\/+*-_]+/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- unless ( $_matched || defined($return) || defined($score) )
- {
-
-
- $_[1] = $text; # NOT SURE THIS IS NEEDED
- Parse::RecDescent::_trace(q{<<Didn't match rule>>},
- Parse::RecDescent::_tracefirst($_[1]),
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{expression},
- $tracelevel)
- if defined $::RD_TRACE;
- $return = $score_return;
- }
- splice @{$thisparser->{errors}}, $err_at;
- $return = $item[$#item] unless defined $return;
- if (defined $::RD_TRACE)
- {
- Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
- $return . q{])}, "",
- q{expression},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{expression},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::union_element
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"union_element"};
-
- Parse::RecDescent::_trace(q{Trying rule: [union_element]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union_element},
- $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: ['[' 'case' '(' constant ')' ']' base_element ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{union_element});
- %item = (__RULE__ => q{union_element});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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 terminal: ['case']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'case'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acase//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [constant]},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{constant})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::constant($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [constant]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [constant]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{constant}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING4__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING5__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING6__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "UNION_ELEMENT",
- "CASE" => $item{constant},
- "DATA" => $item{base_element}
- }};
- 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: ['[' 'case' '(' constant ')' ']' base_element ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' 'case' '(' constant ')' ']' ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{union_element});
- %item = (__RULE__ => q{union_element});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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 terminal: ['case']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'case'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acase//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [constant]},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{constant})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::constant($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [constant]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [constant]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{constant}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING4__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING5__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING6__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "EMPTY",
- "CASE" => $item{constant},
- }};
- 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: ['[' 'case' '(' constant ')' ']' ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' 'default' ']' base_element ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{union_element});
- %item = (__RULE__ => q{union_element});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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 terminal: ['default']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'default'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adefault//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING4__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "UNION_ELEMENT",
- "CASE" => "default",
- "DATA" => $item{base_element}
- }};
- 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: ['[' 'default' ']' base_element ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' 'default' ']' ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[3];
- $text = $_[1];
- my $_savetext;
- @item = (q{union_element});
- %item = (__RULE__ => q{union_element});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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 terminal: ['default']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'default'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Adefault//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{__STRING4__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "EMPTY",
- "CASE" => "default",
- }};
- 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: ['[' 'default' ']' ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{union_element},
- $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{union_element},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{union_element},
- $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{union_element},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{union_element},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::interface
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"interface"};
-
- Parse::RecDescent::_trace(q{Trying rule: [interface]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{interface},
- $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: ['interface' <commit> identifier '\{' definition '\}']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{interface});
- %item = (__RULE__ => q{interface});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['interface']},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ainterface//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{identifier})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $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{Trying repeated subrule: [definition]},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{definition})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::definition, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [definition]>>},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [definition]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{definition(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "INTERFACE",
- "NAME" => $item{identifier},
- "DATA" => $item[5]
- }};
- 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: ['interface' <commit> identifier '\{' definition '\}']<<},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{interface});
- %item = (__RULE__ => q{interface});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{interface},
- $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{interface},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{interface},
- $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{interface},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{interface},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::typedef
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"typedef"};
-
- Parse::RecDescent::_trace(q{Trying rule: [typedef]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{typedef},
- $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: ['typedef' <commit> type identifier array_len ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{typedef});
- %item = (__RULE__ => q{typedef});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['typedef']},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Atypedef//)
- {
-
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [type]},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{type})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::type($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{type}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{identifier})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [array_len]},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{array_len})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::array_len, 0, 1, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [array_len]>>},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [array_len]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{array_len(?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "TYPEDEF",
- "NAME" => $item{identifier},
- "DATA" => $item{type},
- "ARRAY_LEN" => $item[5][0]
- }};
- 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: ['typedef' <commit> type identifier array_len ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{typedef});
- %item = (__RULE__ => q{typedef});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{typedef},
- $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{typedef},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{typedef},
- $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{typedef},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{typedef},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::call
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"call"};
-
- Parse::RecDescent::_trace(q{Trying rule: [call]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [expression '(' <commit> expression ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{call});
- %item = (__RULE__ => q{call});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{expression})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]($item[4])" }};
- 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: [expression '(' <commit> expression ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{call},
- $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{call},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{call},
- $tracelevel)
- if defined $::RD_TRACE;
- $return = $score_return;
- }
- splice @{$thisparser->{errors}}, $err_at;
- $return = $item[$#item] unless defined $return;
- if (defined $::RD_TRACE)
- {
- Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
- $return . q{])}, "",
- q{call},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{call},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::idl
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"idl"};
-
- Parse::RecDescent::_trace(q{Trying rule: [idl]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{idl},
- $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: [cpp_prefix module_header interface]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{idl});
- %item = (__RULE__ => q{idl});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [cpp_prefix]},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::cpp_prefix, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [cpp_prefix]>>},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [cpp_prefix]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{cpp_prefix(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [module_header]},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{module_header})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::module_header($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [module_header]>>},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [module_header]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{module_header}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying subrule: [interface]},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{interface})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::interface($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [interface]>>},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [interface]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{interface}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { [$item{module_header}, $item{interface}] };
- 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: [cpp_prefix module_header interface]<<},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error...>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{idl});
- %item = (__RULE__ => q{idl});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
- Parse::RecDescent::_tracefirst($text),
- q{idl},
- $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{idl},
- $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{idl},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{idl},
- $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{idl},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{idl},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::cpp_prefix
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"cpp_prefix"};
-
- Parse::RecDescent::_trace(q{Trying rule: [cpp_prefix]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{cpp_prefix},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['#' /.*/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{cpp_prefix},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{cpp_prefix});
- %item = (__RULE__ => q{cpp_prefix});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['#']},
- Parse::RecDescent::_tracefirst($text),
- q{cpp_prefix},
- $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 terminal: [/.*/]}, Parse::RecDescent::_tracefirst($text),
- q{cpp_prefix},
- $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__}=$&;
-
-
-
- Parse::RecDescent::_trace(q{>>Matched production: ['#' /.*/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{cpp_prefix},
- $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{cpp_prefix},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{cpp_prefix},
- $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{cpp_prefix},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{cpp_prefix},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::property
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"property"};
-
- Parse::RecDescent::_trace(q{Trying rule: [property]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $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: ['unique']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['unique']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aunique//)
- {
-
- $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{>>Matched production: ['unique']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['in']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['in']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Ain//)
- {
-
- $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{>>Matched production: ['in']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['out']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['out']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aout//)
- {
-
- $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{>>Matched production: ['out']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['ref']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[3];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['ref']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aref//)
- {
-
- $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{>>Matched production: ['ref']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['context_handle']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[4];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['context_handle']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Acontext_handle//)
- {
-
- $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{>>Matched production: ['context_handle']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['string']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[5];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['string']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Astring//)
- {
-
- $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{>>Matched production: ['string']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['public']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[6];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['public']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Apublic//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<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{>>Matched production: ['public']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['noprint']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[7];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['noprint']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anoprint//)
- {
-
- $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{>>Matched production: ['noprint']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['relative']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[8];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['relative']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Arelative//)
- {
-
- $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{>>Matched production: ['relative']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['nodiscriminant']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[9];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['nodiscriminant']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Anodiscriminant//)
- {
-
- $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{>>Matched production: ['nodiscriminant']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['subcontext']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[10];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['subcontext']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Asubcontext//)
- {
-
- $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{>>Matched production: ['subcontext']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['byte_count_pointer' '(' expression ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[11];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['byte_count_pointer']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Abyte_count_pointer//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{expression})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => "$item{expression}" }};
- 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: ['byte_count_pointer' '(' expression ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['size_is' '(' expression ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[12];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['size_is']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Asize_is//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{expression})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => "$item{expression}" }};
- 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: ['size_is' '(' expression ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['length_is' '(' expression ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[13];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['length_is']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Alength_is//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{expression})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => "$item{expression}" }};
- 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: ['length_is' '(' expression ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['switch_is' '(' expression ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[14];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['switch_is']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aswitch_is//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [expression]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{expression})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::expression($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [expression]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [expression]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{expression}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => "$item{expression}" }};
- 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: ['switch_is' '(' expression ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['value' '(' anytext ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[15];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['value']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Avalue//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [anytext]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{anytext})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::anytext($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [anytext]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [anytext]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{anytext}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => "$item{anytext}" }};
- 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: ['value' '(' anytext ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['switch_type' '(' type ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[16];
- $text = $_[1];
- my $_savetext;
- @item = (q{property});
- %item = (__RULE__ => q{property});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['switch_type']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aswitch_type//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{Trying subrule: [type]},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{type})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::type($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{type}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]" => $item{type} }};
- 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: ['switch_type' '(' type ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{property},
- $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{property},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{property},
- $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{property},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{property},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::element_list2
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"element_list2"};
-
- Parse::RecDescent::_trace(q{Trying rule: [element_list2]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{element_list2},
- $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: ['void']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{element_list2});
- %item = (__RULE__ => q{element_list2});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['void']},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Avoid//)
- {
-
- $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{>>Matched production: ['void']<<},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<leftop: base_element /,/ base_element>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{element_list2});
- %item = (__RULE__ => q{element_list2});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying operator: [<leftop: base_element /,/ base_element>]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- $_tok = undef;
- OPLOOP: while (1)
- {
- $repcount = 0;
- my @item;
-
- # MATCH LEFTARG
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_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{element_list2},
- $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{'base_element(s?)'}=$1; $backtrack=1;}
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_tok;
- push @item, $_tok;
-
- }
-
- $savetext = $text;
- $repcount++;
- }
- $text = $savetext;
- pop @item if $backtrack;
-
-
- $_tok = [ @item ];
- last;
- }
-
- unless ($repcount>=0)
- {
- Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: base_element /,/ base_element>]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: base_element /,/ base_element>]<< (return value: [}
- . qq{@{$_tok||[]}} . q{]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
-
- push @item, $item{'base_element(s?)'}=$_tok||[];
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [<leftop: base_element /,/ base_element>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{element_list2},
- $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{element_list2},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{element_list2},
- $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{element_list2},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{element_list2},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::anytext
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"anytext"};
-
- Parse::RecDescent::_trace(q{Trying rule: [anytext]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{anytext},
- $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: [text2 '(' <commit> anytext ')' anytext]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{anytext});
- %item = (__RULE__ => q{anytext});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [text2]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::text2($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [text2]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [text2]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{text2}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [anytext]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{anytext})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::anytext($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [anytext]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [anytext]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{anytext}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $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{Trying subrule: [anytext]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{anytext})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::anytext($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [anytext]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [anytext]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{anytext}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]($item[4])$item[6]" }};
- 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: [text2 '(' <commit> anytext ')' anytext]<<},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [text2 '+' anytext]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{anytext});
- %item = (__RULE__ => q{anytext});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [text2]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::text2($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [text2]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [text2]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{text2}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['+']},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $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 subrule: [anytext]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{anytext})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::anytext($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [anytext]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [anytext]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{anytext}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item[1]+$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: [text2 '+' anytext]<<},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [text2]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{anytext});
- %item = (__RULE__ => q{anytext});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [text2]},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::text2($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [text2]>>},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [text2]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{text2}} = $_tok;
- push @item, $_tok;
-
- }
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [text2]<<},
- Parse::RecDescent::_tracefirst($text),
- q{anytext},
- $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{anytext},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{anytext},
- $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{anytext},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{anytext},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::element_list1
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"element_list1"};
-
- Parse::RecDescent::_trace(q{Trying rule: [element_list1]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{element_list1},
- $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: [<leftop: base_element /;/ base_element> ';']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{element_list1});
- %item = (__RULE__ => q{element_list1});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying operator: [<leftop: base_element /;/ base_element>]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- $_tok = undef;
- OPLOOP: while (1)
- {
- $repcount = 0;
- my @item;
-
- # MATCH LEFTARG
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_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{element_list1},
- $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{'base_element(s?)'}=$1; $backtrack=1;}
-
- Parse::RecDescent::_trace(q{Trying subrule: [base_element]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{base_element})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::base_element($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [base_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [base_element]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{base_element}} = $_tok;
- push @item, $_tok;
-
- }
-
- $savetext = $text;
- $repcount++;
- }
- $text = $savetext;
- pop @item if $backtrack;
-
-
- $_tok = [ @item ];
- last;
- }
-
- unless ($repcount>=0)
- {
- Parse::RecDescent::_trace(q{<<Didn't match operator: [<leftop: base_element /;/ base_element>]>>},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched operator: [<leftop: base_element /;/ base_element>]<< (return value: [}
- . qq{@{$_tok||[]}} . q{]},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
-
- push @item, $item{'base_element(s?)'}=$_tok||[];
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [';']},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $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 action},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [<leftop: base_element /;/ base_element> ';']<<},
- Parse::RecDescent::_tracefirst($text),
- q{element_list1},
- $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{element_list1},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{element_list1},
- $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{element_list1},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{element_list1},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::constant
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"constant"};
-
- Parse::RecDescent::_trace(q{Trying rule: [constant]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{constant},
- $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: [/-?\\d+/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{constant},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{constant});
- %item = (__RULE__ => q{constant});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [/-?\\d+/]}, Parse::RecDescent::_tracefirst($text),
- q{constant},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:-?\d+)//)
- {
-
- $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: [/-?\\d+/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{constant},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['*']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{constant},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{constant});
- %item = (__RULE__ => q{constant});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['*']},
- Parse::RecDescent::_tracefirst($text),
- q{constant},
- $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{>>Matched production: ['*']<<},
- Parse::RecDescent::_tracefirst($text),
- q{constant},
- $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{constant},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{constant},
- $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{constant},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{constant},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::array_len
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"array_len"};
-
- Parse::RecDescent::_trace(q{Trying rule: [array_len]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' ']']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{array_len});
- %item = (__RULE__ => q{array_len});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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 terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { "*" };
- 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: ['[' ']']<<},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' '*' ']']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{array_len});
- %item = (__RULE__ => q{array_len});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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 terminal: ['*']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { "*" };
- 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: ['[' '*' ']']<<},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['[' <commit> anytext ']']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{array_len});
- %item = (__RULE__ => q{array_len});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['[']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [anytext]},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{anytext})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::anytext($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [anytext]>>},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [anytext]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{anytext}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [']']},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { "$item{anytext}" };
- 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: ['[' <commit> anytext ']']<<},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[3];
-
- my $_savetext;
- @item = (q{array_len});
- %item = (__RULE__ => q{array_len});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{array_len},
- $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{array_len},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{array_len},
- $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{array_len},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{array_len},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::text2
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"text2"};
-
- Parse::RecDescent::_trace(q{Trying rule: [text2]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{text2},
- $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\\*\\>\\/\\..?-]*/]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{text2},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{text2});
- %item = (__RULE__ => q{text2});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: [/[\\w\\s\\*\\>\\/\\..?-]*/]}, Parse::RecDescent::_tracefirst($text),
- q{text2},
- $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\*\>\/\..?-]*)//)
- {
-
- $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: [/[\\w\\s\\*\\>\\/\\..?-]*/]<<},
- Parse::RecDescent::_tracefirst($text),
- q{text2},
- $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{text2},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{text2},
- $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{text2},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{text2},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::pointer
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"pointer"};
-
- Parse::RecDescent::_trace(q{Trying rule: [pointer]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{pointer},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['*']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{pointer},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{pointer});
- %item = (__RULE__ => q{pointer});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['*']},
- Parse::RecDescent::_tracefirst($text),
- q{pointer},
- $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{>>Matched production: ['*']<<},
- Parse::RecDescent::_tracefirst($text),
- q{pointer},
- $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{pointer},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{pointer},
- $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{pointer},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{pointer},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::type
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"type"};
-
- Parse::RecDescent::_trace(q{Trying rule: [type]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['unsigned' type]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['unsigned']},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aunsigned//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [type]},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{type})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::type($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [type]>>},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{type}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { "$item[1] $item[2]" };
- 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: ['unsigned' type]<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['long']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['long']},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Along//)
- {
-
- $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 action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: ['long']<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['string']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[2];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['string']},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Astring//)
- {
-
- $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 action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: ['string']<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: ['wchar_t']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[3];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['wchar_t']},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Awchar_t//)
- {
-
- $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 action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: ['wchar_t']<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [struct]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[4];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [struct]},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::struct($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [struct]>>},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [struct]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{struct}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [struct]<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [union]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[5];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [union]},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::union($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [union]>>},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [union]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{union}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [union]<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [identifier]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[6];
- $text = $_[1];
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do { $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: [identifier]<<},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error...>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[7];
-
- my $_savetext;
- @item = (q{type});
- %item = (__RULE__ => q{type});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
- Parse::RecDescent::_tracefirst($text),
- q{type},
- $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{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- unless ( $_matched || defined($return) || defined($score) )
- {
-
-
- $_[1] = $text; # NOT SURE THIS IS NEEDED
- Parse::RecDescent::_trace(q{<<Didn't match rule>>},
- Parse::RecDescent::_tracefirst($_[1]),
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{type},
- $tracelevel)
- if defined $::RD_TRACE;
- $return = $score_return;
- }
- splice @{$thisparser->{errors}}, $err_at;
- $return = $item[$#item] unless defined $return;
- if (defined $::RD_TRACE)
- {
- Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
- $return . q{])}, "",
- q{type},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{type},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::module_param
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"module_param"};
-
- Parse::RecDescent::_trace(q{Trying rule: [module_param]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- my $err_at = @{$thisparser->{errors}};
-
- my $score;
- my $score_return;
- my $_tok;
- my $return = undef;
- my $_matched=0;
- my $commit=0;
- my @item = ();
- my %item = ();
- my $repeating = defined($_[2]) && $_[2];
- my $_noactions = defined($_[3]) && $_[3];
- my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
- my %arg = ($#arg & 01) ? @arg : (@arg, undef);
- my $text;
- my $lastsep="";
- my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
- $expectation->at($_[1]);
-
- my $thisline;
- tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
-
-
-
- while (!$_matched && !$commit)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [identifier '(' text ')']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{module_param});
- %item = (__RULE__ => q{module_param});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [identifier]>>},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{identifier}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: ['(']},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'('})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING1__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying subrule: [text]},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- if (1) { no strict qw{refs};
- $expectation->is(q{text})->at($text);
- unless (defined ($_tok = Parse::RecDescent::idl::text($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
- {
-
- Parse::RecDescent::_trace(q{<<Didn't match subrule: [text]>>},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->failed();
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched subrule: [text]<< (return value: [}
- . $_tok . q{]},
-
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{text}} = $_tok;
- push @item, $_tok;
-
- }
-
- Parse::RecDescent::_trace(q{Trying terminal: [')']},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{')'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
- {
-
- $expectation->failed();
- Parse::RecDescent::_trace(qq{<<Didn't match terminal>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
- . $& . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- push @item, $item{__STRING2__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{ "$item{identifier}" => "$item{text}" }};
- 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: [identifier '(' text ')']<<},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error...>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{module_param});
- %item = (__RULE__ => q{module_param});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error...>]},
- Parse::RecDescent::_tracefirst($text),
- q{module_param},
- $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{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- unless ( $_matched || defined($return) || defined($score) )
- {
-
-
- $_[1] = $text; # NOT SURE THIS IS NEEDED
- Parse::RecDescent::_trace(q{<<Didn't match rule>>},
- Parse::RecDescent::_tracefirst($_[1]),
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{module_param},
- $tracelevel)
- if defined $::RD_TRACE;
- $return = $score_return;
- }
- splice @{$thisparser->{errors}}, $err_at;
- $return = $item[$#item] unless defined $return;
- if (defined $::RD_TRACE)
- {
- Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
- $return . q{])}, "",
- q{module_param},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{module_param},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-
-# ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
-sub Parse::RecDescent::idl::union
-{
- my $thisparser = $_[0];
- use vars q{$tracelevel};
- local $tracelevel = ($tracelevel||0)+1;
- $ERRORS = 0;
- my $thisrule = $thisparser->{"rules"}{"union"};
-
- Parse::RecDescent::_trace(q{Trying rule: [union]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union},
- $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: [property_list 'union' <commit> '\{' union_element '\}']},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[0];
- $text = $_[1];
- my $_savetext;
- @item = (q{union});
- %item = (__RULE__ => q{union});
- my $repcount = 0;
-
-
- Parse::RecDescent::_trace(q{Trying repeated subrule: [property_list]},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::property_list, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [property_list]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [property_list]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{property_list(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['union']},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $lastsep = "";
- $expectation->is(q{'union'})->at($text);
-
-
- unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aunion//)
- {
-
- $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 directive: [<commit>]},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { $commit = 1 };
- if (defined($_tok))
- {
- Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
- . $_tok . q{])},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
- else
- {
- Parse::RecDescent::_trace(q{<<Didn't match directive>>},
- Parse::RecDescent::_tracefirst($text))
- if defined $::RD_TRACE;
- }
-
- last unless defined $_tok;
- push @item, $item{__DIRECTIVE1__}=$_tok;
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $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{Trying repeated subrule: [union_element]},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $expectation->is(q{union_element})->at($text);
-
- unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::idl::union_element, 0, 100000000, $_noactions,$expectation,undef)))
- {
- Parse::RecDescent::_trace(q{<<Didn't match repeated subrule: [union_element]>>},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- last;
- }
- Parse::RecDescent::_trace(q{>>Matched repeated subrule: [union_element]<< (}
- . @$_tok . q{ times)},
-
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $item{q{union_element(s?)}} = $_tok;
- push @item, $_tok;
-
-
-
- Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $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{__STRING3__}=$&;
-
-
- Parse::RecDescent::_trace(q{Trying action},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
-
-
- $_tok = ($_noactions) ? 0 : do {{
- "TYPE" => "UNION",
- "PROPERTIES" => util::FlattenArray($item[1]),
- "DATA" => $item[5]
- }};
- 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: [property_list 'union' <commit> '\{' union_element '\}']<<},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $_matched = 1;
- last;
- }
-
-
- while (!$_matched)
- {
-
- Parse::RecDescent::_trace(q{Trying production: [<error?:...> <reject>]},
- Parse::RecDescent::_tracefirst($_[1]),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- my $thisprod = $thisrule->{"prods"}[1];
-
- my $_savetext;
- @item = (q{union});
- %item = (__RULE__ => q{union});
- my $repcount = 0;
-
-
-
-
- Parse::RecDescent::_trace(q{Trying directive: [<error?:...>]},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- $_tok = do { if ($commit) { 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{>>Rejecting production<< (found <reject>)},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $tracelevel)
- if defined $::RD_TRACE;
- undef $return;
-
-
- $_tok = undef;
-
- last unless defined $_tok;
-
-
- Parse::RecDescent::_trace(q{>>Matched production: [<error?:...> <reject>]<<},
- Parse::RecDescent::_tracefirst($text),
- q{union},
- $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{union},
- $tracelevel)
- if defined $::RD_TRACE;
- return undef;
- }
- if (!defined($return) && defined($score))
- {
- Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
- q{union},
- $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{union},
- $tracelevel);
- Parse::RecDescent::_trace(q{(consumed: [} .
- Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
- Parse::RecDescent::_tracefirst($text),
- , q{union},
- $tracelevel)
- }
- $_[1] = $text;
- return $return;
-}
-}
-package idl; sub new { my $self = bless( {
- '_AUTOTREE' => undef,
- 'localvars' => '',
- 'startcode' => '',
- '_check' => {
- 'thisoffset' => '',
- 'itempos' => '',
- 'prevoffset' => '',
- 'prevline' => '',
- 'prevcolumn' => '',
- 'thiscolumn' => ''
- },
- 'namespace' => 'Parse::RecDescent::idl',
- '_AUTOACTION' => undef,
- 'rules' => {
- 'function' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'type',
- 'identifier',
- 'element_list2'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'type',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 135
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'identifier',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 135
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING1__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 135
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 135,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'element_list2',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 135
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ');',
- 'hashname' => '__STRING2__',
- 'description' => '\');\'',
- 'lookahead' => 0,
- 'line' => 135
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 136,
- 'code' => '{{
- "TYPE" => "FUNCTION",
- "NAME" => $item{identifier},
- "RETURN_TYPE" => $item{type},
- "DATA" => $item{element_list2}
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 142
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 142
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'function',
- 'vars' => '',
- 'line' => 135
- }, 'Parse::RecDescent::Rule' ),
- 'base_element' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'property_list',
- 'type',
- 'pointer',
- 'identifier',
- 'array_len'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'property_list',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 81
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'subrule' => 'type',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 81
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'pointer',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 81
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'subrule' => 'identifier',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 81
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'array_len',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 1,
- 'matchrule' => 0,
- 'repspec' => '?',
- 'lookahead' => 0,
- 'line' => 81
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 82,
- 'code' => '{{
- "NAME" => $item{identifier},
- "TYPE" => $item{type},
- "PROPERTIES" => util::FlattenArray($item[1]),
- "POINTERS" => $#{$item[3]}==-1?undef:$#{$item[3]}+1,
- "ARRAY_LEN" => $item[5][0]
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '',
- 'lookahead' => 0,
- 'line' => 89
- }, 'Parse::RecDescent::Error' )
- ],
- 'line' => 89
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'base_element',
- 'vars' => '',
- 'line' => 81
- }, 'Parse::RecDescent::Rule' ),
- 'property_list' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'property'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 2,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 1,
- 'actcount' => 1,
- 'op' => [],
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 109
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 109,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'expected' => '<leftop: property /,/ property>',
- 'min' => 1,
- 'name' => '\'property(s)\'',
- 'max' => 100000000,
- 'leftarg' => bless( {
- 'subrule' => 'property',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 109
- }, 'Parse::RecDescent::Subrule' ),
- 'rightarg' => bless( {
- 'subrule' => 'property',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 109
- }, 'Parse::RecDescent::Subrule' ),
- 'hashname' => '__DIRECTIVE2__',
- 'type' => 'leftop',
- 'op' => bless( {
- 'pattern' => ',',
- 'hashname' => '__PATTERN1__',
- 'description' => '/,/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 109,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- }, 'Parse::RecDescent::Operator' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING2__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 109
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 110,
- 'code' => '{ $item[3] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 111
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 111
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'property_list',
- 'vars' => '',
- 'line' => 109
- }, 'Parse::RecDescent::Rule' ),
- 'definition' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'cpp_prefix',
- 'typedef',
- 'function'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'subrule' => 'cpp_prefix',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 28
- }, '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' => 'typedef',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 29
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 29,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 29
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'function',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 30
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 30,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 30
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'definition',
- 'vars' => '',
- 'line' => 28
- }, 'Parse::RecDescent::Rule' ),
- 'module_header' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'module_param'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 2,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 1,
- 'actcount' => 1,
- 'op' => [],
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 9
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 9,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'expected' => '<leftop: module_param /,/ module_param>',
- 'min' => 0,
- 'name' => '\'module_param(s?)\'',
- 'max' => 100000000,
- 'leftarg' => bless( {
- 'subrule' => 'module_param',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 9
- }, 'Parse::RecDescent::Subrule' ),
- 'rightarg' => bless( {
- 'subrule' => 'module_param',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 9
- }, 'Parse::RecDescent::Subrule' ),
- 'hashname' => '__DIRECTIVE2__',
- 'type' => 'leftop',
- 'op' => bless( {
- 'pattern' => ',',
- 'hashname' => '__PATTERN1__',
- 'description' => '/,/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 9,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- }, 'Parse::RecDescent::Operator' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING2__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 9
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 10,
- 'code' => '{{
- "TYPE" => "MODULEHEADER",
- "PROPERTIES" => util::FlattenHash($item[3])
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 14
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 14
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'module_header',
- 'vars' => '',
- 'line' => 9
- }, 'Parse::RecDescent::Rule' ),
- 'identifier' => 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' => '[\\w?]+',
- 'hashname' => '__PATTERN1__',
- 'description' => '/[\\\\w?]+/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 131,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'identifier',
- 'vars' => '',
- 'line' => 131
- }, 'Parse::RecDescent::Rule' ),
- 'struct' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'property_list',
- 'element_list1'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 3,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'property_list',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 41
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => 'struct',
- 'hashname' => '__STRING1__',
- 'description' => '\'struct\'',
- 'lookahead' => 0,
- 'line' => 41
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 41,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'pattern' => '{',
- 'hashname' => '__STRING2__',
- 'description' => '\'\\{\'',
- 'lookahead' => 0,
- 'line' => 41
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'element_list1',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 1,
- 'matchrule' => 0,
- 'repspec' => '?',
- 'lookahead' => 0,
- 'line' => 41
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => '}',
- 'hashname' => '__STRING3__',
- 'description' => '\'\\}\'',
- 'lookahead' => 0,
- 'line' => 41
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 42,
- 'code' => '{{
- "TYPE" => "STRUCT",
- "PROPERTIES" => util::FlattenArray($item[1]),
- "ELEMENTS" => util::FlattenArray2($item[5])
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 47
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 47
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'struct',
- 'vars' => '',
- 'line' => 41
- }, 'Parse::RecDescent::Rule' ),
- 'text' => 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' => '[\\w\\s\\..?-]*',
- 'hashname' => '__PATTERN1__',
- 'description' => '/[\\\\w\\\\s\\\\..?-]*/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 154,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'text',
- 'vars' => '',
- 'line' => 154
- }, 'Parse::RecDescent::Rule' ),
- 'expression' => 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' => '[\\w.?\\/+*-_]+',
- 'hashname' => '__PATTERN1__',
- 'description' => '/[\\\\w.?\\\\/+*-_]+/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 133,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'expression',
- 'vars' => '',
- 'line' => 133
- }, 'Parse::RecDescent::Rule' ),
- 'union_element' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'constant',
- 'base_element'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 6,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => 'case',
- 'hashname' => '__STRING2__',
- 'description' => '\'case\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING3__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'constant',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING4__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING5__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING6__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 58
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 59,
- 'code' => '{{
- "TYPE" => "UNION_ELEMENT",
- "CASE" => $item{constant},
- "DATA" => $item{base_element}
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 6,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => 'case',
- 'hashname' => '__STRING2__',
- 'description' => '\'case\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING3__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'constant',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING4__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING5__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING6__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 64
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 65,
- 'code' => '{{
- "TYPE" => "EMPTY",
- "CASE" => $item{constant},
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 64
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 4,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 69
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => 'default',
- 'hashname' => '__STRING2__',
- 'description' => '\'default\'',
- 'lookahead' => 0,
- 'line' => 69
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING3__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 69
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 69
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING4__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 69
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 70,
- 'code' => '{{
- "TYPE" => "UNION_ELEMENT",
- "CASE" => "default",
- "DATA" => $item{base_element}
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 69
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '3',
- 'strcount' => 4,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 75
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => 'default',
- 'hashname' => '__STRING2__',
- 'description' => '\'default\'',
- 'lookahead' => 0,
- 'line' => 75
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING3__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 75
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING4__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 75
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 76,
- 'code' => '{{
- "TYPE" => "EMPTY",
- "CASE" => "default",
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 75
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'union_element',
- 'vars' => '',
- 'line' => 57
- }, 'Parse::RecDescent::Rule' ),
- 'interface' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'identifier',
- 'definition'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 3,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'interface',
- 'hashname' => '__STRING1__',
- 'description' => '\'interface\'',
- 'lookahead' => 0,
- 'line' => 20
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 20,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'identifier',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 20
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => '{',
- 'hashname' => '__STRING2__',
- 'description' => '\'\\{\'',
- 'lookahead' => 0,
- 'line' => 20
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'definition',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 20
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => '}',
- 'hashname' => '__STRING3__',
- 'description' => '\'\\}\'',
- 'lookahead' => 0,
- 'line' => 20
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 21,
- 'code' => '{{
- "TYPE" => "INTERFACE",
- "NAME" => $item{identifier},
- "DATA" => $item[5]
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 26
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 26
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'interface',
- 'vars' => '',
- 'line' => 20
- }, 'Parse::RecDescent::Rule' ),
- 'typedef' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'type',
- 'identifier',
- 'array_len'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'typedef',
- 'hashname' => '__STRING1__',
- 'description' => '\'typedef\'',
- 'lookahead' => 0,
- 'line' => 32
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 32,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'type',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 32
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'identifier',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 32
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'array_len',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 1,
- 'matchrule' => 0,
- 'repspec' => '?',
- 'lookahead' => 0,
- 'line' => 32
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING2__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 32
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 33,
- 'code' => '{{
- "TYPE" => "TYPEDEF",
- "NAME" => $item{identifier},
- "DATA" => $item{type},
- "ARRAY_LEN" => $item[5][0]
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 39
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 39
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'typedef',
- 'vars' => '',
- 'line' => 32
- }, 'Parse::RecDescent::Rule' ),
- 'call' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'expression'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 164
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING1__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 164
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 164,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 164
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING2__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 164
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 165,
- 'code' => '{{ "$item[1]($item[4])" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'call',
- 'vars' => '',
- 'line' => 164
- }, 'Parse::RecDescent::Rule' ),
- 'idl' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'cpp_prefix',
- 'module_header',
- 'interface'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'cpp_prefix',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 5
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'subrule' => 'module_header',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 5
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'subrule' => 'interface',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 5
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 6,
- 'code' => '{ [$item{module_header}, $item{interface}] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '',
- 'lookahead' => 0,
- 'line' => 7
- }, 'Parse::RecDescent::Error' )
- ],
- 'line' => 7
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'idl',
- 'vars' => '',
- 'line' => 5
- }, 'Parse::RecDescent::Rule' ),
- 'cpp_prefix' => bless( {
- 'impcount' => 0,
- 'calls' => [],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 1,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => '#',
- 'hashname' => '__STRING1__',
- 'description' => '\'#\'',
- 'lookahead' => 0,
- 'line' => 170
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '.*',
- 'hashname' => '__PATTERN1__',
- 'description' => '/.*/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 170,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'cpp_prefix',
- 'vars' => '',
- 'line' => 170
- }, 'Parse::RecDescent::Rule' ),
- 'property' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'expression',
- 'anytext',
- 'type'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'unique',
- 'hashname' => '__STRING1__',
- 'description' => '\'unique\'',
- 'lookahead' => 0,
- 'line' => 113
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'in',
- 'hashname' => '__STRING1__',
- 'description' => '\'in\'',
- 'lookahead' => 0,
- 'line' => 114
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 114
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'out',
- 'hashname' => '__STRING1__',
- 'description' => '\'out\'',
- 'lookahead' => 0,
- 'line' => 115
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 115
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '3',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'ref',
- 'hashname' => '__STRING1__',
- 'description' => '\'ref\'',
- 'lookahead' => 0,
- 'line' => 116
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 116
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '4',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'context_handle',
- 'hashname' => '__STRING1__',
- 'description' => '\'context_handle\'',
- 'lookahead' => 0,
- 'line' => 117
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 117
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '5',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'string',
- 'hashname' => '__STRING1__',
- 'description' => '\'string\'',
- 'lookahead' => 0,
- 'line' => 118
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 118
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '6',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'public',
- 'hashname' => '__STRING1__',
- 'description' => '\'public\'',
- 'lookahead' => 0,
- 'line' => 119
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 119
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '7',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'noprint',
- 'hashname' => '__STRING1__',
- 'description' => '\'noprint\'',
- 'lookahead' => 0,
- 'line' => 120
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 120
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '8',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'relative',
- 'hashname' => '__STRING1__',
- 'description' => '\'relative\'',
- 'lookahead' => 0,
- 'line' => 121
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 121
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '9',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'nodiscriminant',
- 'hashname' => '__STRING1__',
- 'description' => '\'nodiscriminant\'',
- 'lookahead' => 0,
- 'line' => 122
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 122
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '10',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'subcontext',
- 'hashname' => '__STRING1__',
- 'description' => '\'subcontext\'',
- 'lookahead' => 0,
- 'line' => 123
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 123
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '11',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'byte_count_pointer',
- 'hashname' => '__STRING1__',
- 'description' => '\'byte_count_pointer\'',
- 'lookahead' => 0,
- 'line' => 124
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 124
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 124
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 124
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 124,
- 'code' => '{{ "$item[1]" => "$item{expression}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 124
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '12',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'size_is',
- 'hashname' => '__STRING1__',
- 'description' => '\'size_is\'',
- 'lookahead' => 0,
- 'line' => 125
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 125
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 125
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 125
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 125,
- 'code' => '{{ "$item[1]" => "$item{expression}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 125
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '13',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'length_is',
- 'hashname' => '__STRING1__',
- 'description' => '\'length_is\'',
- 'lookahead' => 0,
- 'line' => 126
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 126
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 126
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 126
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 126,
- 'code' => '{{ "$item[1]" => "$item{expression}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 126
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '14',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'switch_is',
- 'hashname' => '__STRING1__',
- 'description' => '\'switch_is\'',
- 'lookahead' => 0,
- 'line' => 127
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 127
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'expression',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 127
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 127
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 127,
- 'code' => '{{ "$item[1]" => "$item{expression}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 127
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '15',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'value',
- 'hashname' => '__STRING1__',
- 'description' => '\'value\'',
- 'lookahead' => 0,
- 'line' => 128
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 128
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'anytext',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 128
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 128
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 128,
- 'code' => '{{ "$item[1]" => "$item{anytext}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 128
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '16',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'switch_type',
- 'hashname' => '__STRING1__',
- 'description' => '\'switch_type\'',
- 'lookahead' => 0,
- 'line' => 129
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING2__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 129
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'type',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 129
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING3__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 129
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 129,
- 'code' => '{{ "$item[1]" => $item{type} }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 129
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'property',
- 'vars' => '',
- 'line' => 113
- }, 'Parse::RecDescent::Rule' ),
- 'element_list2' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'base_element'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => 'void',
- 'hashname' => '__STRING1__',
- 'description' => '\'void\'',
- 'lookahead' => 0,
- 'line' => 103
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 1,
- 'actcount' => 1,
- 'op' => [],
- 'items' => [
- bless( {
- 'expected' => '<leftop: base_element /,/ base_element>',
- 'min' => 0,
- 'name' => '\'base_element(s?)\'',
- 'max' => 100000000,
- 'leftarg' => bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 104
- }, 'Parse::RecDescent::Subrule' ),
- 'rightarg' => bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 104
- }, 'Parse::RecDescent::Subrule' ),
- 'hashname' => '__DIRECTIVE1__',
- 'type' => 'leftop',
- 'op' => bless( {
- 'pattern' => ',',
- 'hashname' => '__PATTERN1__',
- 'description' => '/,/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 104,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- }, 'Parse::RecDescent::Operator' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 105,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 104
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'element_list2',
- 'vars' => '',
- 'line' => 103
- }, 'Parse::RecDescent::Rule' ),
- 'anytext' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'text2',
- 'anytext'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'text2',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 158
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => '(',
- 'hashname' => '__STRING1__',
- 'description' => '\'(\'',
- 'lookahead' => 0,
- 'line' => 158
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 158,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'anytext',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 158
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING2__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 158
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'anytext',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 158
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 159,
- 'code' => '{{ "$item[1]($item[4])$item[6]" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'text2',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 160
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => '+',
- 'hashname' => '__STRING1__',
- 'description' => '\'+\'',
- 'lookahead' => 0,
- 'line' => 160
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'anytext',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 160
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 161,
- 'code' => '{{ "$item[1]+$item[3]" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 160
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'subrule' => 'text2',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 162
- }, 'Parse::RecDescent::Subrule' )
- ],
- 'line' => 162
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'anytext',
- 'vars' => '',
- 'line' => 158
- }, 'Parse::RecDescent::Rule' ),
- 'element_list1' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'base_element'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 1,
- 'actcount' => 1,
- 'op' => [],
- 'items' => [
- bless( {
- 'expected' => '<leftop: base_element /;/ base_element>',
- 'min' => 0,
- 'name' => '\'base_element(s?)\'',
- 'max' => 100000000,
- 'leftarg' => bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 100
- }, 'Parse::RecDescent::Subrule' ),
- 'rightarg' => bless( {
- 'subrule' => 'base_element',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 100
- }, 'Parse::RecDescent::Subrule' ),
- 'hashname' => '__DIRECTIVE1__',
- 'type' => 'leftop',
- 'op' => bless( {
- 'pattern' => ';',
- 'hashname' => '__PATTERN1__',
- 'description' => '/;/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 100,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- }, 'Parse::RecDescent::Operator' ),
- bless( {
- 'pattern' => ';',
- 'hashname' => '__STRING1__',
- 'description' => '\';\'',
- 'lookahead' => 0,
- 'line' => 100
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 101,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'element_list1',
- 'vars' => '',
- 'line' => 100
- }, 'Parse::RecDescent::Rule' ),
- 'constant' => 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' => '-?\\d+',
- 'hashname' => '__PATTERN1__',
- 'description' => '/-?\\\\d+/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 167,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => '*',
- 'hashname' => '__STRING1__',
- 'description' => '\'*\'',
- 'lookahead' => 0,
- 'line' => 168
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => 168
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'constant',
- 'vars' => '',
- 'line' => 167
- }, 'Parse::RecDescent::Rule' ),
- 'array_len' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'anytext'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 92
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING2__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 92
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 93,
- 'code' => '{ "*" }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 3,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 94
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => '*',
- 'hashname' => '__STRING2__',
- 'description' => '\'*\'',
- 'lookahead' => 0,
- 'line' => 94
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING3__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 94
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 95,
- 'code' => '{ "*" }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 94
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 2,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => '[',
- 'hashname' => '__STRING1__',
- 'description' => '\'[\'',
- 'lookahead' => 0,
- 'line' => 96
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 96,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'subrule' => 'anytext',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 96
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ']',
- 'hashname' => '__STRING2__',
- 'description' => '\']\'',
- 'lookahead' => 0,
- 'line' => 96
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 97,
- 'code' => '{ "$item{anytext}" }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 96
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '3',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 98
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 98
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'array_len',
- 'vars' => '',
- 'line' => 91
- }, 'Parse::RecDescent::Rule' ),
- 'text2' => 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' => '[\\w\\s\\*\\>\\/\\..?-]*',
- 'hashname' => '__PATTERN1__',
- 'description' => '/[\\\\w\\\\s\\\\*\\\\>\\\\/\\\\..?-]*/',
- 'lookahead' => 0,
- 'rdelim' => '/',
- 'line' => 156,
- 'mod' => '',
- 'ldelim' => '/'
- }, 'Parse::RecDescent::Token' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'text2',
- 'vars' => '',
- 'line' => 156
- }, 'Parse::RecDescent::Rule' ),
- 'pointer' => bless( {
- 'impcount' => 0,
- 'calls' => [],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'pattern' => '*',
- 'hashname' => '__STRING1__',
- 'description' => '\'*\'',
- 'lookahead' => 0,
- 'line' => 107
- }, 'Parse::RecDescent::Literal' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'pointer',
- 'vars' => '',
- 'line' => 107
- }, 'Parse::RecDescent::Rule' ),
- 'type' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'type',
- 'struct',
- 'union',
- 'identifier'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'unsigned',
- 'hashname' => '__STRING1__',
- 'description' => '\'unsigned\'',
- 'lookahead' => 0,
- 'line' => 145
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'type',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 145
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 145,
- 'code' => '{ "$item[1] $item[2]" }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'long',
- 'hashname' => '__STRING1__',
- 'description' => '\'long\'',
- 'lookahead' => 0,
- 'line' => 146
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 146,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 146
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '2',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'string',
- 'hashname' => '__STRING1__',
- 'description' => '\'string\'',
- 'lookahead' => 0,
- 'line' => 147
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 147,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 147
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '3',
- 'strcount' => 1,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'pattern' => 'wchar_t',
- 'hashname' => '__STRING1__',
- 'description' => '\'wchar_t\'',
- 'lookahead' => 0,
- 'line' => 148
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 148,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 148
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '4',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'struct',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 149
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 149,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 149
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '5',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'union',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 150
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 150,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 150
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '6',
- 'strcount' => 0,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'identifier',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 151
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 151,
- 'code' => '{ $item[1] }'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => 151
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '7',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '',
- 'lookahead' => 0,
- 'line' => 152
- }, 'Parse::RecDescent::Error' )
- ],
- 'line' => 152
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'type',
- 'vars' => '',
- 'line' => 144
- }, 'Parse::RecDescent::Rule' ),
- 'module_param' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'identifier',
- 'text'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 2,
- 'dircount' => 0,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'identifier',
- '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( {
- 'subrule' => 'text',
- 'matchrule' => 0,
- 'implicit' => undef,
- 'argcode' => undef,
- 'lookahead' => 0,
- 'line' => 16
- }, 'Parse::RecDescent::Subrule' ),
- bless( {
- 'pattern' => ')',
- 'hashname' => '__STRING2__',
- 'description' => '\')\'',
- 'lookahead' => 0,
- 'line' => 16
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 17,
- 'code' => '{{ "$item{identifier}" => "$item{text}" }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '',
- 'lookahead' => 0,
- 'line' => 18
- }, 'Parse::RecDescent::Error' )
- ],
- 'line' => 18
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'module_param',
- 'vars' => '',
- 'line' => 16
- }, 'Parse::RecDescent::Rule' ),
- 'union' => bless( {
- 'impcount' => 0,
- 'calls' => [
- 'property_list',
- 'union_element'
- ],
- 'changed' => 0,
- 'opcount' => 0,
- 'prods' => [
- bless( {
- 'number' => '0',
- 'strcount' => 3,
- 'dircount' => 1,
- 'uncommit' => undef,
- 'error' => undef,
- 'patcount' => 0,
- 'actcount' => 1,
- 'items' => [
- bless( {
- 'subrule' => 'property_list',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 49
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => 'union',
- 'hashname' => '__STRING1__',
- 'description' => '\'union\'',
- 'lookahead' => 0,
- 'line' => 49
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__DIRECTIVE1__',
- 'name' => '<commit>',
- 'lookahead' => 0,
- 'line' => 49,
- 'code' => '$commit = 1'
- }, 'Parse::RecDescent::Directive' ),
- bless( {
- 'pattern' => '{',
- 'hashname' => '__STRING2__',
- 'description' => '\'\\{\'',
- 'lookahead' => 0,
- 'line' => 49
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'subrule' => 'union_element',
- 'expected' => undef,
- 'min' => 0,
- 'argcode' => undef,
- 'max' => 100000000,
- 'matchrule' => 0,
- 'repspec' => 's?',
- 'lookahead' => 0,
- 'line' => 49
- }, 'Parse::RecDescent::Repetition' ),
- bless( {
- 'pattern' => '}',
- 'hashname' => '__STRING3__',
- 'description' => '\'\\}\'',
- 'lookahead' => 0,
- 'line' => 49
- }, 'Parse::RecDescent::Literal' ),
- bless( {
- 'hashname' => '__ACTION1__',
- 'lookahead' => 0,
- 'line' => 50,
- 'code' => '{{
- "TYPE" => "UNION",
- "PROPERTIES" => util::FlattenArray($item[1]),
- "DATA" => $item[5]
- }}'
- }, 'Parse::RecDescent::Action' )
- ],
- 'line' => undef
- }, 'Parse::RecDescent::Production' ),
- bless( {
- 'number' => '1',
- 'strcount' => 0,
- 'dircount' => 1,
- 'uncommit' => 0,
- 'error' => 1,
- 'patcount' => 0,
- 'actcount' => 0,
- 'items' => [
- bless( {
- 'msg' => '',
- 'hashname' => '__DIRECTIVE1__',
- 'commitonly' => '?',
- 'lookahead' => 0,
- 'line' => 55
- }, 'Parse::RecDescent::Error' ),
- bless( {
- 'name' => '<reject>',
- 'lookahead' => 0,
- 'line' => 0
- }, 'Parse::RecDescent::UncondReject' )
- ],
- 'line' => 55
- }, 'Parse::RecDescent::Production' )
- ],
- 'name' => 'union',
- 'vars' => '',
- 'line' => 49
- }, 'Parse::RecDescent::Rule' )
- }
- }, 'Parse::RecDescent' );
-}
diff --git a/source4/script/build_idl.sh b/source4/script/build_idl.sh
index 1eef5644e8..569dd7dd31 100755
--- a/source4/script/build_idl.sh
+++ b/source4/script/build_idl.sh
@@ -5,12 +5,14 @@ FULLBUILD=$1
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
[ -d librpc/gen_rpc ] || mkdir -p librpc/gen_rpc || exit 1
+( cd build/pidl && make ) || exit 1
+
for f in librpc/idl/*.idl; do
base=`basename $f .idl`
ndr=librpc/gen_ndr/ndr_$base
if [ x$FULLBUILD = xFULL -o "$f" -nt $ndr.c ]; then
echo Processing $f
- pidl.pl --output $ndr --parse --header --parser --client librpc/gen_rpc/rpc_$base.c $f || exit 1
+ build/pidl/pidl.pl --output $ndr --parse --header --parser --client librpc/gen_rpc/rpc_$base.c $f || exit 1
fi
done