File Coverage

blib/lib/Module/ExtractUse/Grammar.pm
Criterion Covered Total %
statement 4170 4606 90.5
branch 1215 2462 49.3
condition 347 738 47.0
subroutine 216 217 99.5
pod 0 1 0.0
total 5948 8024 74.1


line stmt bran cond sub pod time code
1             #
2             our $VERSION=0.343;
3             # This parser was generated with
4             # Parse::RecDescent version 1.967015
5             #
6              
7             package Module::ExtractUse::Grammar;
8 12     12   102 use Parse::RecDescent;
  12         25  
  12         87  
9             { my $ERRORS;
10              
11              
12             package Parse::RecDescent::Module::ExtractUse::Grammar;
13 12     12   741 use strict;
  12         25  
  12         309  
14 12     12   60 use vars qw($skip $AUTOLOAD );
  12         23  
  12         1019  
15             @Parse::RecDescent::Module::ExtractUse::Grammar::ISA = ();
16             $skip = '\\s*';
17              
18              
19              
20             {
21             local $SIG{__WARN__} = sub {0};
22             # PRETEND TO BE IN Parse::RecDescent NAMESPACE
23             *Parse::RecDescent::Module::ExtractUse::Grammar::AUTOLOAD = sub
24             {
25 12     12   69 no strict 'refs';
  12         22  
  12         1240  
26              
27 0     0   0 ${"AUTOLOAD"} =~ s/^Parse::RecDescent::Module::ExtractUse::Grammar/Parse::RecDescent/;
  0         0  
28 0         0 goto &{${"AUTOLOAD"}};
  0         0  
  0         0  
29             }
30             }
31              
32             push @Parse::RecDescent::Module::ExtractUse::Grammar::ISA, 'Parse::RecDescent';
33             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
34             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load
35             {
36 73     73   99 my $thisparser = $_[0];
37 12     12   72 use vars q{$tracelevel};
  12         27  
  12         5420  
38 73   50     138 local $tracelevel = ($tracelevel||0)+1;
39 73         81 $ERRORS = 0;
40 73         116 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load"};
41              
42 73 50       138 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]},
43             Parse::RecDescent::_tracefirst($_[1]),
44             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
45             $tracelevel)
46             if defined $::RD_TRACE;
47              
48            
49 73         85 my $err_at = @{$thisparser->{errors}};
  73         114  
50              
51 73         141 my $score;
52             my $score_return;
53 73         0 my $_tok;
54 73         108 my $return = undef;
55 73         86 my $_matched=0;
56 73         79 my $commit=0;
57 73         95 my @item = ();
58 73         85 my %item = ();
59 73         83 my $repeating = $_[2];
60 73         89 my $_noactions = $_[3];
61 73 50       117 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         75  
  73         121  
62 73         115 my $_itempos = $_[5];
63 73 50       133 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
64 73         132 my $text;
65             my $lastsep;
66 73         0 my $current_match;
67 73         147 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::'});
68 73         379 $expectation->at($_[1]);
69            
70 73         230 my $thisline;
71 73         158 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
72              
73            
74              
75 73   33     434 while (!$_matched && !$commit)
76             {
77            
78 73 50       114 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::' class_load_functions]},
79             Parse::RecDescent::_tracefirst($_[1]),
80             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
81             $tracelevel)
82             if defined $::RD_TRACE;
83 73         147 my $thisprod = $thisrule->{"prods"}[0];
84 73         89 $text = $_[1];
85 73         85 my $_savetext;
86 73         116 @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load});
87 73         107 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load});
88 73         97 my $repcount = 0;
89              
90              
91 73 50       139 Parse::RecDescent::_trace(q{Trying terminal: ['Class::Load::']},
92             Parse::RecDescent::_tracefirst($text),
93             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
94             $tracelevel)
95             if defined $::RD_TRACE;
96 73         107 undef $lastsep;
97 73         136 $expectation->is(q{})->at($text);
98            
99              
100 73 100 66     728 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AClass\:\:Load\:\:/)
  73 100       509  
101             {
102 55 50       147 $text = $lastsep . $text if defined $lastsep;
103            
104 55         149 $expectation->failed();
105 55 50       178 Parse::RecDescent::_trace(qq{<>},
106             Parse::RecDescent::_tracefirst($text))
107             if defined $::RD_TRACE;
108 55         110 last;
109             }
110 18         79 $current_match = substr($text, $-[0], $+[0] - $-[0]);
111 18         47 substr($text,0,length($current_match),q{});
112 18 50       36 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
113             . $current_match . q{])},
114             Parse::RecDescent::_tracefirst($text))
115             if defined $::RD_TRACE;
116 18         38 push @item, $item{__STRING1__}=$current_match;
117            
118              
119 18 50       30 Parse::RecDescent::_trace(q{Trying subrule: [class_load_functions]},
120             Parse::RecDescent::_tracefirst($text),
121             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
122             $tracelevel)
123             if defined $::RD_TRACE;
124 12     12   85 if (1) { no strict qw{refs};
  12         21  
  12         4921  
  18         22  
125 18         36 $expectation->is(q{class_load_functions})->at($text);
126 18 50   18   160 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         29  
127             {
128            
129 0 0       0 Parse::RecDescent::_trace(q{<>},
130             Parse::RecDescent::_tracefirst($text),
131             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
132             $tracelevel)
133             if defined $::RD_TRACE;
134 0         0 $expectation->failed();
135 0         0 last;
136             }
137 18 50       60 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_functions]<< (return value: [}
138             . $_tok . q{]},
139              
140             Parse::RecDescent::_tracefirst($text),
141             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
142             $tracelevel)
143             if defined $::RD_TRACE;
144 18         30 $item{q{class_load_functions}} = $_tok;
145 18         31 push @item, $_tok;
146            
147             }
148              
149 18 50       44 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::' class_load_functions]<<},
150             Parse::RecDescent::_tracefirst($text),
151             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
152             $tracelevel)
153             if defined $::RD_TRACE;
154              
155              
156              
157 18         23 $_matched = 1;
158 18         27 last;
159             }
160              
161              
162 73 100 66     208 unless ( $_matched || defined($score) )
163             {
164            
165              
166 55         91 $_[1] = $text; # NOT SURE THIS IS NEEDED
167 55 50       90 Parse::RecDescent::_trace(q{<>},
168             Parse::RecDescent::_tracefirst($_[1]),
169             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
170             $tracelevel)
171             if defined $::RD_TRACE;
172 55         281 return undef;
173             }
174 18 50 33     56 if (!defined($return) && defined($score))
175             {
176 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
177             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
178             $tracelevel)
179             if defined $::RD_TRACE;
180 0         0 $return = $score_return;
181             }
182 18         29 splice @{$thisparser->{errors}}, $err_at;
  18         34  
183 18 50       58 $return = $item[$#item] unless defined $return;
184 18 50       34 if (defined $::RD_TRACE)
185             {
186 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
187             $return . q{])}, "",
188             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
189             $tracelevel);
190 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
191             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
192             Parse::RecDescent::_tracefirst($text),
193             , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
194             $tracelevel)
195             }
196 18         30 $_[1] = $text;
197 18         87 return $return;
198             }
199              
200             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
201             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use
202             {
203 61     61   94 my $thisparser = $_[0];
204 12     12   83 use vars q{$tracelevel};
  12         25  
  12         5512  
205 61   50     113 local $tracelevel = ($tracelevel||0)+1;
206 61         74 $ERRORS = 0;
207 61         91 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use"};
208              
209 61 50       109 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
210             Parse::RecDescent::_tracefirst($_[1]),
211             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
212             $tracelevel)
213             if defined $::RD_TRACE;
214              
215            
216 61         101 my $err_at = @{$thisparser->{errors}};
  61         93  
217              
218 61         122 my $score;
219             my $score_return;
220 61         0 my $_tok;
221 61         87 my $return = undef;
222 61         68 my $_matched=0;
223 61         75 my $commit=0;
224 61         76 my @item = ();
225 61         75 my %item = ();
226 61         67 my $repeating = $_[2];
227 61         72 my $_noactions = $_[3];
228 61 50       103 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         66  
  61         84  
229 61         72 my $_itempos = $_[5];
230 61 50       96 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
231 61         114 my $text;
232             my $lastsep;
233 61         0 my $current_match;
234 61         102 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::'});
235 61         312 $expectation->at($_[1]);
236            
237 61         200 my $thisline;
238 61         139 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
239              
240            
241              
242 61   33     361 while (!$_matched && !$commit)
243             {
244            
245 61 50       104 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::' module_runtime_use_fcn '(']},
246             Parse::RecDescent::_tracefirst($_[1]),
247             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
248             $tracelevel)
249             if defined $::RD_TRACE;
250 61         84 my $thisprod = $thisrule->{"prods"}[0];
251 61         90 $text = $_[1];
252 61         114 my $_savetext;
253 61         90 @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
254 61         94 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
255 61         72 my $repcount = 0;
256              
257              
258 61 50       114 Parse::RecDescent::_trace(q{Trying terminal: ['Module::Runtime::']},
259             Parse::RecDescent::_tracefirst($text),
260             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
261             $tracelevel)
262             if defined $::RD_TRACE;
263 61         85 undef $lastsep;
264 61         109 $expectation->is(q{})->at($text);
265            
266              
267 61 100 66     569 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AModule\:\:Runtime\:\:/)
  61 100       380  
268             {
269 45 50       119 $text = $lastsep . $text if defined $lastsep;
270            
271 45         118 $expectation->failed();
272 45 50       144 Parse::RecDescent::_trace(qq{<>},
273             Parse::RecDescent::_tracefirst($text))
274             if defined $::RD_TRACE;
275 45         73 last;
276             }
277 16         71 $current_match = substr($text, $-[0], $+[0] - $-[0]);
278 16         44 substr($text,0,length($current_match),q{});
279 16 50       28 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
280             . $current_match . q{])},
281             Parse::RecDescent::_tracefirst($text))
282             if defined $::RD_TRACE;
283 16         32 push @item, $item{__STRING1__}=$current_match;
284            
285              
286 16 50       28 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use_fcn]},
287             Parse::RecDescent::_tracefirst($text),
288             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
289             $tracelevel)
290             if defined $::RD_TRACE;
291 12     12   86 if (1) { no strict qw{refs};
  12         23  
  12         6841  
  16         28  
292 16         41 $expectation->is(q{module_runtime_use_fcn})->at($text);
293 16 50   16   142 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  16         27  
294             {
295            
296 0 0       0 Parse::RecDescent::_trace(q{<>},
297             Parse::RecDescent::_tracefirst($text),
298             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
299             $tracelevel)
300             if defined $::RD_TRACE;
301 0         0 $expectation->failed();
302 0         0 last;
303             }
304 16 50       40 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use_fcn]<< (return value: [}
305             . $_tok . q{]},
306              
307             Parse::RecDescent::_tracefirst($text),
308             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
309             $tracelevel)
310             if defined $::RD_TRACE;
311 16         26 $item{q{module_runtime_use_fcn}} = $_tok;
312 16         24 push @item, $_tok;
313            
314             }
315              
316 16 50       29 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
317             Parse::RecDescent::_tracefirst($text),
318             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
319             $tracelevel)
320             if defined $::RD_TRACE;
321 16         23 undef $lastsep;
322 16         34 $expectation->is(q{'('})->at($text);
323            
324              
325 16 50 33     141 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  16 50       105  
326             {
327 0 0       0 $text = $lastsep . $text if defined $lastsep;
328            
329 0         0 $expectation->failed();
330 0 0       0 Parse::RecDescent::_trace(qq{<>},
331             Parse::RecDescent::_tracefirst($text))
332             if defined $::RD_TRACE;
333 0         0 last;
334             }
335 16         756 $current_match = substr($text, $-[0], $+[0] - $-[0]);
336 16         39 substr($text,0,length($current_match),q{});
337 16 50       30 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
338             . $current_match . q{])},
339             Parse::RecDescent::_tracefirst($text))
340             if defined $::RD_TRACE;
341 16         31 push @item, $item{__STRING2__}=$current_match;
342            
343              
344 16 50       29 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::' module_runtime_use_fcn '(']<<},
345             Parse::RecDescent::_tracefirst($text),
346             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
347             $tracelevel)
348             if defined $::RD_TRACE;
349              
350              
351              
352 16         18 $_matched = 1;
353 16         27 last;
354             }
355              
356              
357 61 100 66     175 unless ( $_matched || defined($score) )
358             {
359            
360              
361 45         62 $_[1] = $text; # NOT SURE THIS IS NEEDED
362 45 50       76 Parse::RecDescent::_trace(q{<>},
363             Parse::RecDescent::_tracefirst($_[1]),
364             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
365             $tracelevel)
366             if defined $::RD_TRACE;
367 45         183 return undef;
368             }
369 16 50 33     46 if (!defined($return) && defined($score))
370             {
371 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
372             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
373             $tracelevel)
374             if defined $::RD_TRACE;
375 0         0 $return = $score_return;
376             }
377 16         22 splice @{$thisparser->{errors}}, $err_at;
  16         25  
378 16 50       43 $return = $item[$#item] unless defined $return;
379 16 50       28 if (defined $::RD_TRACE)
380             {
381 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
382             $return . q{])}, "",
383             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
384             $tracelevel);
385 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
386             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
387             Parse::RecDescent::_tracefirst($text),
388             , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
389             $tracelevel)
390             }
391 16         27 $_[1] = $text;
392 16         74 return $return;
393             }
394              
395             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
396             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load
397             {
398 73     73   101 my $thisparser = $_[0];
399 12     12   93 use vars q{$tracelevel};
  12         23  
  12         3611  
400 73   50     141 local $tracelevel = ($tracelevel||0)+1;
401 73         94 $ERRORS = 0;
402 73         114 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_class_load"};
403              
404 73 50       124 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_class_load]},
405             Parse::RecDescent::_tracefirst($_[1]),
406             q{_alternation_1_of_production_1_of_rule_class_load},
407             $tracelevel)
408             if defined $::RD_TRACE;
409              
410            
411 73         91 my $err_at = @{$thisparser->{errors}};
  73         100  
412              
413 73         147 my $score;
414             my $score_return;
415 73         0 my $_tok;
416 73         95 my $return = undef;
417 73         86 my $_matched=0;
418 73         91 my $commit=0;
419 73         95 my @item = ();
420 73         87 my %item = ();
421 73         88 my $repeating = $_[2];
422 73         85 my $_noactions = $_[3];
423 73 50       126 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         81  
  73         111  
424 73         86 my $_itempos = $_[5];
425 73 50       188 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
426 73         165 my $text;
427             my $lastsep;
428 73         0 my $current_match;
429 73         136 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::', or /\\b/});
430 73         375 $expectation->at($_[1]);
431            
432 73         253 my $thisline;
433 73         180 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
434              
435            
436              
437 73   33     429 while (!$_matched && !$commit)
438             {
439            
440 73 50       129 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::']},
441             Parse::RecDescent::_tracefirst($_[1]),
442             q{_alternation_1_of_production_1_of_rule_class_load},
443             $tracelevel)
444             if defined $::RD_TRACE;
445 73         107 my $thisprod = $thisrule->{"prods"}[0];
446 73         105 $text = $_[1];
447 73         84 my $_savetext;
448 73         115 @item = (q{_alternation_1_of_production_1_of_rule_class_load});
449 73         112 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load});
450 73         86 my $repcount = 0;
451              
452              
453 73 50       114 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]},
454             Parse::RecDescent::_tracefirst($text),
455             q{_alternation_1_of_production_1_of_rule_class_load},
456             $tracelevel)
457             if defined $::RD_TRACE;
458 12     12   88 if (1) { no strict qw{refs};
  12         26  
  12         2990  
  73         78  
459 73         141 $expectation->is(q{})->at($text);
460 73 100   73   567 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  73         116  
461             {
462            
463 55 50       98 Parse::RecDescent::_trace(q{<>},
464             Parse::RecDescent::_tracefirst($text),
465             q{_alternation_1_of_production_1_of_rule_class_load},
466             $tracelevel)
467             if defined $::RD_TRACE;
468 55         133 $expectation->failed();
469 55         174 last;
470             }
471 18 50       49 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
472             . $_tok . q{]},
473              
474             Parse::RecDescent::_tracefirst($text),
475             q{_alternation_1_of_production_1_of_rule_class_load},
476             $tracelevel)
477             if defined $::RD_TRACE;
478 18         41 $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load}} = $_tok;
479 18         28 push @item, $_tok;
480            
481             }
482              
483 18 50       29 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::']<<},
484             Parse::RecDescent::_tracefirst($text),
485             q{_alternation_1_of_production_1_of_rule_class_load},
486             $tracelevel)
487             if defined $::RD_TRACE;
488              
489              
490              
491 18         23 $_matched = 1;
492 18         24 last;
493             }
494              
495              
496 73   66     264 while (!$_matched && !$commit)
497             {
498            
499 55 50       129 Parse::RecDescent::_trace(q{Trying production: [/\\b/]},
500             Parse::RecDescent::_tracefirst($_[1]),
501             q{_alternation_1_of_production_1_of_rule_class_load},
502             $tracelevel)
503             if defined $::RD_TRACE;
504 55         79 my $thisprod = $thisrule->{"prods"}[1];
505 55         81 $text = $_[1];
506 55         72 my $_savetext;
507 55         105 @item = (q{_alternation_1_of_production_1_of_rule_class_load});
508 55         98 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load});
509 55         70 my $repcount = 0;
510              
511              
512 55 50       88 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]},
513             Parse::RecDescent::_tracefirst($text),
514             q{_alternation_1_of_production_1_of_rule_class_load},
515             $tracelevel)
516             if defined $::RD_TRACE;
517 12     12   80 if (1) { no strict qw{refs};
  12         41  
  12         5172  
  55         68  
518 55         100 $expectation->is(q{})->at($text);
519 55 100   55   468 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  55         77  
520             {
521            
522 37 50       70 Parse::RecDescent::_trace(q{<>},
523             Parse::RecDescent::_tracefirst($text),
524             q{_alternation_1_of_production_1_of_rule_class_load},
525             $tracelevel)
526             if defined $::RD_TRACE;
527 37         87 $expectation->failed();
528 37         111 last;
529             }
530 18 50       43 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
531             . $_tok . q{]},
532              
533             Parse::RecDescent::_tracefirst($text),
534             q{_alternation_1_of_production_1_of_rule_class_load},
535             $tracelevel)
536             if defined $::RD_TRACE;
537 18         35 $item{q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load}} = $_tok;
538 18         23 push @item, $_tok;
539            
540             }
541              
542 18 50       35 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/]<<},
543             Parse::RecDescent::_tracefirst($text),
544             q{_alternation_1_of_production_1_of_rule_class_load},
545             $tracelevel)
546             if defined $::RD_TRACE;
547              
548              
549              
550 18         22 $_matched = 1;
551 18         22 last;
552             }
553              
554              
555 73 100 66     202 unless ( $_matched || defined($score) )
556             {
557            
558              
559 37         63 $_[1] = $text; # NOT SURE THIS IS NEEDED
560 37 50       61 Parse::RecDescent::_trace(q{<>},
561             Parse::RecDescent::_tracefirst($_[1]),
562             q{_alternation_1_of_production_1_of_rule_class_load},
563             $tracelevel)
564             if defined $::RD_TRACE;
565 37         156 return undef;
566             }
567 36 50 33     98 if (!defined($return) && defined($score))
568             {
569 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
570             q{_alternation_1_of_production_1_of_rule_class_load},
571             $tracelevel)
572             if defined $::RD_TRACE;
573 0         0 $return = $score_return;
574             }
575 36         42 splice @{$thisparser->{errors}}, $err_at;
  36         64  
576 36 50       69 $return = $item[$#item] unless defined $return;
577 36 50       60 if (defined $::RD_TRACE)
578             {
579 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
580             $return . q{])}, "",
581             q{_alternation_1_of_production_1_of_rule_class_load},
582             $tracelevel);
583 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
584             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
585             Parse::RecDescent::_tracefirst($text),
586             , q{_alternation_1_of_production_1_of_rule_class_load},
587             $tracelevel)
588             }
589 36         54 $_[1] = $text;
590 36         149 return $return;
591             }
592              
593             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
594             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load_first_existing
595             {
596 37     37   53 my $thisparser = $_[0];
597 12     12   82 use vars q{$tracelevel};
  12         25  
  12         10831  
598 37   50     82 local $tracelevel = ($tracelevel||0)+1;
599 37         44 $ERRORS = 0;
600 37         59 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_class_load_first_existing"};
601              
602 37 50       66 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]},
603             Parse::RecDescent::_tracefirst($_[1]),
604             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
605             $tracelevel)
606             if defined $::RD_TRACE;
607              
608            
609 37         42 my $err_at = @{$thisparser->{errors}};
  37         55  
610              
611 37         77 my $score;
612             my $score_return;
613 37         0 my $_tok;
614 37         47 my $return = undef;
615 37         41 my $_matched=0;
616 37         41 my $commit=0;
617 37         49 my @item = ();
618 37         42 my %item = ();
619 37         46 my $repeating = $_[2];
620 37         59 my $_noactions = $_[3];
621 37 50       56 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         41  
  37         57  
622 37         50 my $_itempos = $_[5];
623 37 50       74 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
624 37         65 my $text;
625             my $lastsep;
626 37         0 my $current_match;
627 37         79 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::load_first_existing_class', or /\\bload_first_existing_class/});
628 37         181 $expectation->at($_[1]);
629            
630 37         120 my $thisline;
631 37         83 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
632              
633            
634              
635 37   33     227 while (!$_matched && !$commit)
636             {
637            
638 37 50       63 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::load_first_existing_class']},
639             Parse::RecDescent::_tracefirst($_[1]),
640             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
641             $tracelevel)
642             if defined $::RD_TRACE;
643 37         57 my $thisprod = $thisrule->{"prods"}[0];
644 37         48 $text = $_[1];
645 37         47 my $_savetext;
646 37         73 @item = (q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
647 37         62 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
648 37         44 my $repcount = 0;
649              
650              
651 37 50       54 Parse::RecDescent::_trace(q{Trying terminal: ['Class::Load::load_first_existing_class']},
652             Parse::RecDescent::_tracefirst($text),
653             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
654             $tracelevel)
655             if defined $::RD_TRACE;
656 37         57 undef $lastsep;
657 37         59 $expectation->is(q{})->at($text);
658            
659              
660 37 100 33     356 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AClass\:\:Load\:\:load_first_existing_class/)
  37 50       222  
661             {
662 37 50       86 $text = $lastsep . $text if defined $lastsep;
663            
664 37         92 $expectation->failed();
665 37 50       120 Parse::RecDescent::_trace(qq{<>},
666             Parse::RecDescent::_tracefirst($text))
667             if defined $::RD_TRACE;
668 37         65 last;
669             }
670 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
671 0         0 substr($text,0,length($current_match),q{});
672 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
673             . $current_match . q{])},
674             Parse::RecDescent::_tracefirst($text))
675             if defined $::RD_TRACE;
676 0         0 push @item, $item{__STRING1__}=$current_match;
677            
678              
679 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::load_first_existing_class']<<},
680             Parse::RecDescent::_tracefirst($text),
681             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
682             $tracelevel)
683             if defined $::RD_TRACE;
684              
685              
686              
687 0         0 $_matched = 1;
688 0         0 last;
689             }
690              
691              
692 37   33     104 while (!$_matched && !$commit)
693             {
694            
695 37 50       73 Parse::RecDescent::_trace(q{Trying production: [/\\bload_first_existing_class/]},
696             Parse::RecDescent::_tracefirst($_[1]),
697             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
698             $tracelevel)
699             if defined $::RD_TRACE;
700 37         51 my $thisprod = $thisrule->{"prods"}[1];
701 37         57 $text = $_[1];
702 37         43 my $_savetext;
703 37         61 @item = (q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
704 37         64 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
705 37         49 my $repcount = 0;
706              
707              
708 37 50       65 Parse::RecDescent::_trace(q{Trying terminal: [/\\bload_first_existing_class/]}, Parse::RecDescent::_tracefirst($text),
709             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
710             $tracelevel)
711             if defined $::RD_TRACE;
712 37         46 undef $lastsep;
713 37         72 $expectation->is(q{})->at($text);
714            
715              
716 37 100 66     297 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\bload_first_existing_class)/)
  37 100       204  
717             {
718 25 50       65 $text = $lastsep . $text if defined $lastsep;
719 25         60 $expectation->failed();
720 25 50       79 Parse::RecDescent::_trace(q{<>},
721             Parse::RecDescent::_tracefirst($text))
722             if defined $::RD_TRACE;
723              
724 25         42 last;
725             }
726 12         57 $current_match = substr($text, $-[0], $+[0] - $-[0]);
727 12         33 substr($text,0,length($current_match),q{});
728 12 50       23 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
729             . $current_match . q{])},
730             Parse::RecDescent::_tracefirst($text))
731             if defined $::RD_TRACE;
732 12         32 push @item, $item{__PATTERN1__}=$current_match;
733            
734              
735 12 50       21 Parse::RecDescent::_trace(q{>>Matched production: [/\\bload_first_existing_class/]<<},
736             Parse::RecDescent::_tracefirst($text),
737             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
738             $tracelevel)
739             if defined $::RD_TRACE;
740              
741              
742              
743 12         16 $_matched = 1;
744 12         20 last;
745             }
746              
747              
748 37 100 66     101 unless ( $_matched || defined($score) )
749             {
750            
751              
752 25         37 $_[1] = $text; # NOT SURE THIS IS NEEDED
753 25 50       43 Parse::RecDescent::_trace(q{<>},
754             Parse::RecDescent::_tracefirst($_[1]),
755             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
756             $tracelevel)
757             if defined $::RD_TRACE;
758 25         101 return undef;
759             }
760 12 50 33     35 if (!defined($return) && defined($score))
761             {
762 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
763             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
764             $tracelevel)
765             if defined $::RD_TRACE;
766 0         0 $return = $score_return;
767             }
768 12         17 splice @{$thisparser->{errors}}, $err_at;
  12         20  
769 12 50       25 $return = $item[$#item] unless defined $return;
770 12 50       24 if (defined $::RD_TRACE)
771             {
772 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
773             $return . q{])}, "",
774             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
775             $tracelevel);
776 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
777             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
778             Parse::RecDescent::_tracefirst($text),
779             , q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
780             $tracelevel)
781             }
782 12         18 $_[1] = $text;
783 12         57 return $return;
784             }
785              
786             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
787             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_comma
788             {
789 304     304   462 my $thisparser = $_[0];
790 12     12   89 use vars q{$tracelevel};
  12         33  
  12         10871  
791 304   50     598 local $tracelevel = ($tracelevel||0)+1;
792 304         389 $ERRORS = 0;
793 304         492 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_comma"};
794              
795 304 50       505 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_comma]},
796             Parse::RecDescent::_tracefirst($_[1]),
797             q{_alternation_1_of_production_1_of_rule_comma},
798             $tracelevel)
799             if defined $::RD_TRACE;
800              
801            
802 304         366 my $err_at = @{$thisparser->{errors}};
  304         450  
803              
804 304         620 my $score;
805             my $score_return;
806 304         0 my $_tok;
807 304         360 my $return = undef;
808 304         362 my $_matched=0;
809 304         351 my $commit=0;
810 304         422 my @item = ();
811 304         391 my %item = ();
812 304         353 my $repeating = $_[2];
813 304         366 my $_noactions = $_[3];
814 304 50       497 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  304         379  
  304         431  
815 304         410 my $_itempos = $_[5];
816 304 50       555 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
817 304         566 my $text;
818             my $lastsep;
819 304         0 my $current_match;
820 304         597 my $expectation = new Parse::RecDescent::Expectation(q{',', or '=>'});
821 304         1729 $expectation->at($_[1]);
822            
823 304         979 my $thisline;
824 304         701 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
825              
826            
827              
828 304   33     1889 while (!$_matched && !$commit)
829             {
830            
831 304 50       502 Parse::RecDescent::_trace(q{Trying production: [',']},
832             Parse::RecDescent::_tracefirst($_[1]),
833             q{_alternation_1_of_production_1_of_rule_comma},
834             $tracelevel)
835             if defined $::RD_TRACE;
836 304         503 my $thisprod = $thisrule->{"prods"}[0];
837 304         405 $text = $_[1];
838 304         357 my $_savetext;
839 304         459 @item = (q{_alternation_1_of_production_1_of_rule_comma});
840 304         570 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_comma});
841 304         390 my $repcount = 0;
842              
843              
844 304 50       512 Parse::RecDescent::_trace(q{Trying terminal: [',']},
845             Parse::RecDescent::_tracefirst($text),
846             q{_alternation_1_of_production_1_of_rule_comma},
847             $tracelevel)
848             if defined $::RD_TRACE;
849 304         406 undef $lastsep;
850 304         548 $expectation->is(q{})->at($text);
851            
852              
853 304 100 66     2941 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  304 100       1962  
854             {
855 217 50       561 $text = $lastsep . $text if defined $lastsep;
856            
857 217         599 $expectation->failed();
858 217 50       758 Parse::RecDescent::_trace(qq{<>},
859             Parse::RecDescent::_tracefirst($text))
860             if defined $::RD_TRACE;
861 217         391 last;
862             }
863 87         376 $current_match = substr($text, $-[0], $+[0] - $-[0]);
864 87         242 substr($text,0,length($current_match),q{});
865 87 50       162 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
866             . $current_match . q{])},
867             Parse::RecDescent::_tracefirst($text))
868             if defined $::RD_TRACE;
869 87         185 push @item, $item{__STRING1__}=$current_match;
870            
871              
872 87 50       171 Parse::RecDescent::_trace(q{>>Matched production: [',']<<},
873             Parse::RecDescent::_tracefirst($text),
874             q{_alternation_1_of_production_1_of_rule_comma},
875             $tracelevel)
876             if defined $::RD_TRACE;
877              
878              
879              
880 87         121 $_matched = 1;
881 87         161 last;
882             }
883              
884              
885 304   66     892 while (!$_matched && !$commit)
886             {
887            
888 217 50       366 Parse::RecDescent::_trace(q{Trying production: ['=>']},
889             Parse::RecDescent::_tracefirst($_[1]),
890             q{_alternation_1_of_production_1_of_rule_comma},
891             $tracelevel)
892             if defined $::RD_TRACE;
893 217         341 my $thisprod = $thisrule->{"prods"}[1];
894 217         298 $text = $_[1];
895 217         236 my $_savetext;
896 217         378 @item = (q{_alternation_1_of_production_1_of_rule_comma});
897 217         416 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_comma});
898 217         285 my $repcount = 0;
899              
900              
901 217 50       372 Parse::RecDescent::_trace(q{Trying terminal: ['=>']},
902             Parse::RecDescent::_tracefirst($text),
903             q{_alternation_1_of_production_1_of_rule_comma},
904             $tracelevel)
905             if defined $::RD_TRACE;
906 217         336 undef $lastsep;
907 217         411 $expectation->is(q{})->at($text);
908            
909              
910 217 100 66     1741 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\=\>/)
  217 100       1283  
911             {
912 171 50       420 $text = $lastsep . $text if defined $lastsep;
913            
914 171         434 $expectation->failed();
915 171 50       571 Parse::RecDescent::_trace(qq{<>},
916             Parse::RecDescent::_tracefirst($text))
917             if defined $::RD_TRACE;
918 171         258 last;
919             }
920 46         199 $current_match = substr($text, $-[0], $+[0] - $-[0]);
921 46         136 substr($text,0,length($current_match),q{});
922 46 50       102 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
923             . $current_match . q{])},
924             Parse::RecDescent::_tracefirst($text))
925             if defined $::RD_TRACE;
926 46         129 push @item, $item{__STRING1__}=$current_match;
927            
928              
929 46 50       92 Parse::RecDescent::_trace(q{>>Matched production: ['=>']<<},
930             Parse::RecDescent::_tracefirst($text),
931             q{_alternation_1_of_production_1_of_rule_comma},
932             $tracelevel)
933             if defined $::RD_TRACE;
934              
935              
936              
937 46         63 $_matched = 1;
938 46         79 last;
939             }
940              
941              
942 304 100 66     823 unless ( $_matched || defined($score) )
943             {
944            
945              
946 171         291 $_[1] = $text; # NOT SURE THIS IS NEEDED
947 171 50       380 Parse::RecDescent::_trace(q{<>},
948             Parse::RecDescent::_tracefirst($_[1]),
949             q{_alternation_1_of_production_1_of_rule_comma},
950             $tracelevel)
951             if defined $::RD_TRACE;
952 171         783 return undef;
953             }
954 133 50 33     450 if (!defined($return) && defined($score))
955             {
956 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
957             q{_alternation_1_of_production_1_of_rule_comma},
958             $tracelevel)
959             if defined $::RD_TRACE;
960 0         0 $return = $score_return;
961             }
962 133         174 splice @{$thisparser->{errors}}, $err_at;
  133         259  
963 133 50       327 $return = $item[$#item] unless defined $return;
964 133 50       240 if (defined $::RD_TRACE)
965             {
966 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
967             $return . q{])}, "",
968             q{_alternation_1_of_production_1_of_rule_comma},
969             $tracelevel);
970 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
971             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
972             Parse::RecDescent::_tracefirst($text),
973             , q{_alternation_1_of_production_1_of_rule_comma},
974             $tracelevel)
975             }
976 133         220 $_[1] = $text;
977 133         651 return $return;
978             }
979              
980             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
981             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_hash_pair
982             {
983 30     30   39 my $thisparser = $_[0];
984 12     12   93 use vars q{$tracelevel};
  12         22  
  12         10426  
985 30   50     79 local $tracelevel = ($tracelevel||0)+1;
986 30         40 $ERRORS = 0;
987 30         50 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_hash_pair"};
988              
989 30 50       49 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_hash_pair]},
990             Parse::RecDescent::_tracefirst($_[1]),
991             q{_alternation_1_of_production_1_of_rule_hash_pair},
992             $tracelevel)
993             if defined $::RD_TRACE;
994              
995            
996 30         34 my $err_at = @{$thisparser->{errors}};
  30         44  
997              
998 30         60 my $score;
999             my $score_return;
1000 30         0 my $_tok;
1001 30         34 my $return = undef;
1002 30         36 my $_matched=0;
1003 30         717 my $commit=0;
1004 30         59 my @item = ();
1005 30         39 my %item = ();
1006 30         35 my $repeating = $_[2];
1007 30         42 my $_noactions = $_[3];
1008 30 50       47 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         36  
  30         45  
1009 30         39 my $_itempos = $_[5];
1010 30 50       65 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1011 30         58 my $text;
1012             my $lastsep;
1013 30         0 my $current_match;
1014 30         62 my $expectation = new Parse::RecDescent::Expectation(q{/[^\\s,\}]+/});
1015 30         169 $expectation->at($_[1]);
1016            
1017 30         103 my $thisline;
1018 30         78 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1019              
1020            
1021              
1022 30   33     185 while (!$_matched && !$commit)
1023             {
1024            
1025 30 50       52 Parse::RecDescent::_trace(q{Trying production: []},
1026             Parse::RecDescent::_tracefirst($_[1]),
1027             q{_alternation_1_of_production_1_of_rule_hash_pair},
1028             $tracelevel)
1029             if defined $::RD_TRACE;
1030 30         45 my $thisprod = $thisrule->{"prods"}[0];
1031 30         50 $text = $_[1];
1032 30         32 my $_savetext;
1033 30         52 @item = (q{_alternation_1_of_production_1_of_rule_hash_pair});
1034 30         43 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_hash_pair});
1035 30         37 my $repcount = 0;
1036              
1037              
1038            
1039              
1040 30 50       70 Parse::RecDescent::_trace(q{Trying directive: []},
1041             Parse::RecDescent::_tracefirst($text),
1042             q{_alternation_1_of_production_1_of_rule_hash_pair},
1043             $tracelevel)
1044             if defined $::RD_TRACE;
1045 30         39 $_tok = do { my ($match,@res);
  30         45  
1046 30         65 ($match,$text,undef,@res) =
1047             Text::Balanced::extract_quotelike($text,$skip);
1048 30 100       1431 $match ? \@res : undef;
1049             };
1050 30 100       55 if (defined($_tok))
1051             {
1052 3 50       7 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1053             . $_tok . q{])},
1054             Parse::RecDescent::_tracefirst($text))
1055             if defined $::RD_TRACE;
1056             }
1057             else
1058             {
1059 27 50       46 Parse::RecDescent::_trace(q{<>},
1060             Parse::RecDescent::_tracefirst($text))
1061             if defined $::RD_TRACE;
1062             }
1063            
1064 30 100       56 last unless defined $_tok;
1065 3         7 push @item, $item{__DIRECTIVE1__}=$_tok;
1066            
1067              
1068 3 50       5 Parse::RecDescent::_trace(q{>>Matched production: []<<},
1069             Parse::RecDescent::_tracefirst($text),
1070             q{_alternation_1_of_production_1_of_rule_hash_pair},
1071             $tracelevel)
1072             if defined $::RD_TRACE;
1073              
1074              
1075              
1076 3         4 $_matched = 1;
1077 3         5 last;
1078             }
1079              
1080              
1081 30   66     105 while (!$_matched && !$commit)
1082             {
1083            
1084 27 50       44 Parse::RecDescent::_trace(q{Trying production: [/[^\\s,\}]+/]},
1085             Parse::RecDescent::_tracefirst($_[1]),
1086             q{_alternation_1_of_production_1_of_rule_hash_pair},
1087             $tracelevel)
1088             if defined $::RD_TRACE;
1089 27         43 my $thisprod = $thisrule->{"prods"}[1];
1090 27         44 $text = $_[1];
1091 27         34 my $_savetext;
1092 27         42 @item = (q{_alternation_1_of_production_1_of_rule_hash_pair});
1093 27         52 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_hash_pair});
1094 27         36 my $repcount = 0;
1095              
1096              
1097 27 50       44 Parse::RecDescent::_trace(q{Trying terminal: [/[^\\s,\}]+/]}, Parse::RecDescent::_tracefirst($text),
1098             q{_alternation_1_of_production_1_of_rule_hash_pair},
1099             $tracelevel)
1100             if defined $::RD_TRACE;
1101 27         35 undef $lastsep;
1102 27         56 $expectation->is(q{})->at($text);
1103            
1104              
1105 27 50 33     240 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^\s,}]+)/)
  27 50       203  
1106             {
1107 0 0       0 $text = $lastsep . $text if defined $lastsep;
1108 0         0 $expectation->failed();
1109 0 0       0 Parse::RecDescent::_trace(q{<>},
1110             Parse::RecDescent::_tracefirst($text))
1111             if defined $::RD_TRACE;
1112              
1113 0         0 last;
1114             }
1115 27         104 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1116 27         62 substr($text,0,length($current_match),q{});
1117 27 50       48 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1118             . $current_match . q{])},
1119             Parse::RecDescent::_tracefirst($text))
1120             if defined $::RD_TRACE;
1121 27         73 push @item, $item{__PATTERN1__}=$current_match;
1122            
1123              
1124 27 50       49 Parse::RecDescent::_trace(q{>>Matched production: [/[^\\s,\}]+/]<<},
1125             Parse::RecDescent::_tracefirst($text),
1126             q{_alternation_1_of_production_1_of_rule_hash_pair},
1127             $tracelevel)
1128             if defined $::RD_TRACE;
1129              
1130              
1131              
1132 27         33 $_matched = 1;
1133 27         39 last;
1134             }
1135              
1136              
1137 30 50 33     59 unless ( $_matched || defined($score) )
1138             {
1139            
1140              
1141 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1142 0 0       0 Parse::RecDescent::_trace(q{<>},
1143             Parse::RecDescent::_tracefirst($_[1]),
1144             q{_alternation_1_of_production_1_of_rule_hash_pair},
1145             $tracelevel)
1146             if defined $::RD_TRACE;
1147 0         0 return undef;
1148             }
1149 30 50 33     96 if (!defined($return) && defined($score))
1150             {
1151 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1152             q{_alternation_1_of_production_1_of_rule_hash_pair},
1153             $tracelevel)
1154             if defined $::RD_TRACE;
1155 0         0 $return = $score_return;
1156             }
1157 30         38 splice @{$thisparser->{errors}}, $err_at;
  30         55  
1158 30 50       61 $return = $item[$#item] unless defined $return;
1159 30 50       52 if (defined $::RD_TRACE)
1160             {
1161 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1162             $return . q{])}, "",
1163             q{_alternation_1_of_production_1_of_rule_hash_pair},
1164             $tracelevel);
1165 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1166             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1167             Parse::RecDescent::_tracefirst($text),
1168             , q{_alternation_1_of_production_1_of_rule_hash_pair},
1169             $tracelevel)
1170             }
1171 30         46 $_[1] = $text;
1172 30         138 return $return;
1173             }
1174              
1175             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1176             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_require_module
1177             {
1178 69     69   89 my $thisparser = $_[0];
1179 12     12   99 use vars q{$tracelevel};
  12         29  
  12         11305  
1180 69   50     139 local $tracelevel = ($tracelevel||0)+1;
1181 69         79 $ERRORS = 0;
1182 69         108 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_require_module"};
1183              
1184 69 50       108 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]},
1185             Parse::RecDescent::_tracefirst($_[1]),
1186             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1187             $tracelevel)
1188             if defined $::RD_TRACE;
1189              
1190            
1191 69         75 my $err_at = @{$thisparser->{errors}};
  69         98  
1192              
1193 69         132 my $score;
1194             my $score_return;
1195 69         0 my $_tok;
1196 69         82 my $return = undef;
1197 69         89 my $_matched=0;
1198 69         88 my $commit=0;
1199 69         84 my @item = ();
1200 69         96 my %item = ();
1201 69         84 my $repeating = $_[2];
1202 69         83 my $_noactions = $_[3];
1203 69 50       111 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         74  
  69         96  
1204 69         99 my $_itempos = $_[5];
1205 69 50       131 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1206 69         125 my $text;
1207             my $lastsep;
1208 69         0 my $current_match;
1209 69         126 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::require_module(', or /\\brequire_module\\(/});
1210 69         340 $expectation->at($_[1]);
1211            
1212 69         230 my $thisline;
1213 69         149 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1214              
1215            
1216              
1217 69   33     378 while (!$_matched && !$commit)
1218             {
1219            
1220 69 50       119 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::require_module(']},
1221             Parse::RecDescent::_tracefirst($_[1]),
1222             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1223             $tracelevel)
1224             if defined $::RD_TRACE;
1225 69         105 my $thisprod = $thisrule->{"prods"}[0];
1226 69         91 $text = $_[1];
1227 69         77 my $_savetext;
1228 69         101 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1229 69         110 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1230 69         79 my $repcount = 0;
1231              
1232              
1233 69 50       112 Parse::RecDescent::_trace(q{Trying terminal: ['Module::Runtime::require_module(']},
1234             Parse::RecDescent::_tracefirst($text),
1235             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1236             $tracelevel)
1237             if defined $::RD_TRACE;
1238 69         97 undef $lastsep;
1239 69         115 $expectation->is(q{})->at($text);
1240            
1241              
1242 69 100 66     642 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AModule\:\:Runtime\:\:require_module\(/)
  69 100       446  
1243             {
1244 65 50       159 $text = $lastsep . $text if defined $lastsep;
1245            
1246 65         168 $expectation->failed();
1247 65 50       219 Parse::RecDescent::_trace(qq{<>},
1248             Parse::RecDescent::_tracefirst($text))
1249             if defined $::RD_TRACE;
1250 65         122 last;
1251             }
1252 4         20 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1253 4         11 substr($text,0,length($current_match),q{});
1254 4 50       10 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1255             . $current_match . q{])},
1256             Parse::RecDescent::_tracefirst($text))
1257             if defined $::RD_TRACE;
1258 4         8 push @item, $item{__STRING1__}=$current_match;
1259            
1260              
1261 4 50       7 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::require_module(']<<},
1262             Parse::RecDescent::_tracefirst($text),
1263             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1264             $tracelevel)
1265             if defined $::RD_TRACE;
1266              
1267              
1268              
1269 4         6 $_matched = 1;
1270 4         7 last;
1271             }
1272              
1273              
1274 69   66     192 while (!$_matched && !$commit)
1275             {
1276            
1277 65 50       107 Parse::RecDescent::_trace(q{Trying production: [/\\brequire_module\\(/]},
1278             Parse::RecDescent::_tracefirst($_[1]),
1279             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1280             $tracelevel)
1281             if defined $::RD_TRACE;
1282 65         93 my $thisprod = $thisrule->{"prods"}[1];
1283 65         104 $text = $_[1];
1284 65         74 my $_savetext;
1285 65         120 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1286 65         124 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1287 65         74 my $repcount = 0;
1288              
1289              
1290 65 50       99 Parse::RecDescent::_trace(q{Trying terminal: [/\\brequire_module\\(/]}, Parse::RecDescent::_tracefirst($text),
1291             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1292             $tracelevel)
1293             if defined $::RD_TRACE;
1294 65         99 undef $lastsep;
1295 65         127 $expectation->is(q{})->at($text);
1296            
1297              
1298 65 100 66     514 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\brequire_module\()/)
  65 100       360  
1299             {
1300 61 50       143 $text = $lastsep . $text if defined $lastsep;
1301 61         157 $expectation->failed();
1302 61 50       204 Parse::RecDescent::_trace(q{<>},
1303             Parse::RecDescent::_tracefirst($text))
1304             if defined $::RD_TRACE;
1305              
1306 61         97 last;
1307             }
1308 4         20 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1309 4         11 substr($text,0,length($current_match),q{});
1310 4 50       7 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1311             . $current_match . q{])},
1312             Parse::RecDescent::_tracefirst($text))
1313             if defined $::RD_TRACE;
1314 4         10 push @item, $item{__PATTERN1__}=$current_match;
1315            
1316              
1317 4 50       8 Parse::RecDescent::_trace(q{>>Matched production: [/\\brequire_module\\(/]<<},
1318             Parse::RecDescent::_tracefirst($text),
1319             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1320             $tracelevel)
1321             if defined $::RD_TRACE;
1322              
1323              
1324              
1325 4         5 $_matched = 1;
1326 4         5 last;
1327             }
1328              
1329              
1330 69 100 66     191 unless ( $_matched || defined($score) )
1331             {
1332            
1333              
1334 61         89 $_[1] = $text; # NOT SURE THIS IS NEEDED
1335 61 50       98 Parse::RecDescent::_trace(q{<>},
1336             Parse::RecDescent::_tracefirst($_[1]),
1337             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1338             $tracelevel)
1339             if defined $::RD_TRACE;
1340 61         290 return undef;
1341             }
1342 8 50 33     28 if (!defined($return) && defined($score))
1343             {
1344 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1345             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1346             $tracelevel)
1347             if defined $::RD_TRACE;
1348 0         0 $return = $score_return;
1349             }
1350 8         10 splice @{$thisparser->{errors}}, $err_at;
  8         15  
1351 8 50       17 $return = $item[$#item] unless defined $return;
1352 8 50       15 if (defined $::RD_TRACE)
1353             {
1354 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1355             $return . q{])}, "",
1356             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1357             $tracelevel);
1358 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1359             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1360             Parse::RecDescent::_tracefirst($text),
1361             , q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1362             $tracelevel)
1363             }
1364 8         12 $_[1] = $text;
1365 8         50 return $return;
1366             }
1367              
1368             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1369             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use
1370             {
1371 61     61   84 my $thisparser = $_[0];
1372 12     12   96 use vars q{$tracelevel};
  12         24  
  12         3644  
1373 61   50     119 local $tracelevel = ($tracelevel||0)+1;
1374 61         68 $ERRORS = 0;
1375 61         96 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_use"};
1376              
1377 61 50       108 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_use]},
1378             Parse::RecDescent::_tracefirst($_[1]),
1379             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1380             $tracelevel)
1381             if defined $::RD_TRACE;
1382              
1383            
1384 61         85 my $err_at = @{$thisparser->{errors}};
  61         80  
1385              
1386 61         118 my $score;
1387             my $score_return;
1388 61         0 my $_tok;
1389 61         74 my $return = undef;
1390 61         79 my $_matched=0;
1391 61         69 my $commit=0;
1392 61         91 my @item = ();
1393 61         69 my %item = ();
1394 61         71 my $repeating = $_[2];
1395 61         68 my $_noactions = $_[3];
1396 61 50       102 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         69  
  61         84  
1397 61         75 my $_itempos = $_[5];
1398 61 50       106 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1399 61         114 my $text;
1400             my $lastsep;
1401 61         0 my $current_match;
1402 61         111 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::', or /\\b/});
1403 61         292 $expectation->at($_[1]);
1404            
1405 61         185 my $thisline;
1406 61         122 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1407              
1408            
1409              
1410 61   33     334 while (!$_matched && !$commit)
1411             {
1412            
1413 61 50       110 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::']},
1414             Parse::RecDescent::_tracefirst($_[1]),
1415             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1416             $tracelevel)
1417             if defined $::RD_TRACE;
1418 61         85 my $thisprod = $thisrule->{"prods"}[0];
1419 61         74 $text = $_[1];
1420 61         75 my $_savetext;
1421 61         84 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1422 61         85 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1423 61         87 my $repcount = 0;
1424              
1425              
1426 61 50       94 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
1427             Parse::RecDescent::_tracefirst($text),
1428             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1429             $tracelevel)
1430             if defined $::RD_TRACE;
1431 12     12   89 if (1) { no strict qw{refs};
  12         262  
  12         3283  
  61         65  
1432 61         109 $expectation->is(q{})->at($text);
1433 61 100   61   457 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  61         91  
1434             {
1435            
1436 45 50       74 Parse::RecDescent::_trace(q{<>},
1437             Parse::RecDescent::_tracefirst($text),
1438             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1439             $tracelevel)
1440             if defined $::RD_TRACE;
1441 45         98 $expectation->failed();
1442 45         119 last;
1443             }
1444 16 50       46 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]<< (return value: [}
1445             . $_tok . q{]},
1446              
1447             Parse::RecDescent::_tracefirst($text),
1448             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1449             $tracelevel)
1450             if defined $::RD_TRACE;
1451 16         24 $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
1452 16         28 push @item, $_tok;
1453            
1454             }
1455              
1456 16 50       25 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::']<<},
1457             Parse::RecDescent::_tracefirst($text),
1458             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1459             $tracelevel)
1460             if defined $::RD_TRACE;
1461              
1462              
1463              
1464 16         21 $_matched = 1;
1465 16         32 last;
1466             }
1467              
1468              
1469 61   66     212 while (!$_matched && !$commit)
1470             {
1471            
1472 45 50       86 Parse::RecDescent::_trace(q{Trying production: [/\\b/]},
1473             Parse::RecDescent::_tracefirst($_[1]),
1474             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1475             $tracelevel)
1476             if defined $::RD_TRACE;
1477 45         64 my $thisprod = $thisrule->{"prods"}[1];
1478 45         72 $text = $_[1];
1479 45         49 my $_savetext;
1480 45         74 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1481 45         83 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1482 45         55 my $repcount = 0;
1483              
1484              
1485 45 50       74 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
1486             Parse::RecDescent::_tracefirst($text),
1487             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1488             $tracelevel)
1489             if defined $::RD_TRACE;
1490 12     12   97 if (1) { no strict qw{refs};
  12         25  
  12         4748  
  45         56  
1491 45         85 $expectation->is(q{})->at($text);
1492 45 100   45   376 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  45         90  
1493             {
1494            
1495 17 50       34 Parse::RecDescent::_trace(q{<>},
1496             Parse::RecDescent::_tracefirst($text),
1497             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1498             $tracelevel)
1499             if defined $::RD_TRACE;
1500 17         39 $expectation->failed();
1501 17         46 last;
1502             }
1503 28 50       74 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]<< (return value: [}
1504             . $_tok . q{]},
1505              
1506             Parse::RecDescent::_tracefirst($text),
1507             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1508             $tracelevel)
1509             if defined $::RD_TRACE;
1510 28         47 $item{q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
1511 28         41 push @item, $_tok;
1512            
1513             }
1514              
1515 28 50       45 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/]<<},
1516             Parse::RecDescent::_tracefirst($text),
1517             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1518             $tracelevel)
1519             if defined $::RD_TRACE;
1520              
1521              
1522              
1523 28         34 $_matched = 1;
1524 28         38 last;
1525             }
1526              
1527              
1528 61 100 66     155 unless ( $_matched || defined($score) )
1529             {
1530            
1531              
1532 17         26 $_[1] = $text; # NOT SURE THIS IS NEEDED
1533 17 50       32 Parse::RecDescent::_trace(q{<>},
1534             Parse::RecDescent::_tracefirst($_[1]),
1535             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1536             $tracelevel)
1537             if defined $::RD_TRACE;
1538 17         66 return undef;
1539             }
1540 44 50 33     123 if (!defined($return) && defined($score))
1541             {
1542 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1543             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1544             $tracelevel)
1545             if defined $::RD_TRACE;
1546 0         0 $return = $score_return;
1547             }
1548 44         52 splice @{$thisparser->{errors}}, $err_at;
  44         66  
1549 44 50       86 $return = $item[$#item] unless defined $return;
1550 44 50       79 if (defined $::RD_TRACE)
1551             {
1552 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1553             $return . q{])}, "",
1554             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1555             $tracelevel);
1556 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1557             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1558             Parse::RecDescent::_tracefirst($text),
1559             , q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1560             $tracelevel)
1561             }
1562 44         59 $_[1] = $text;
1563 44         202 return $return;
1564             }
1565              
1566             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1567             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use_fcn
1568             {
1569 61     61   93 my $thisparser = $_[0];
1570 12     12   84 use vars q{$tracelevel};
  12         21  
  12         11092  
1571 61   50     115 local $tracelevel = ($tracelevel||0)+1;
1572 61         69 $ERRORS = 0;
1573 61         94 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_use_fcn"};
1574              
1575 61 50       98 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]},
1576             Parse::RecDescent::_tracefirst($_[1]),
1577             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1578             $tracelevel)
1579             if defined $::RD_TRACE;
1580              
1581            
1582 61         78 my $err_at = @{$thisparser->{errors}};
  61         93  
1583              
1584 61         120 my $score;
1585             my $score_return;
1586 61         0 my $_tok;
1587 61         82 my $return = undef;
1588 61         69 my $_matched=0;
1589 61         64 my $commit=0;
1590 61         75 my @item = ();
1591 61         73 my %item = ();
1592 61         68 my $repeating = $_[2];
1593 61         74 my $_noactions = $_[3];
1594 61 50       128 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         62  
  61         108  
1595 61         93 my $_itempos = $_[5];
1596 61 50       115 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1597 61         111 my $text;
1598             my $lastsep;
1599 61         0 my $current_match;
1600 61         120 my $expectation = new Parse::RecDescent::Expectation(q{'use_module', or 'use_package_optimistically'});
1601 61         340 $expectation->at($_[1]);
1602            
1603 61         184 my $thisline;
1604 61         125 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1605              
1606            
1607              
1608 61   33     370 while (!$_matched && !$commit)
1609             {
1610            
1611 61 50       102 Parse::RecDescent::_trace(q{Trying production: ['use_module']},
1612             Parse::RecDescent::_tracefirst($_[1]),
1613             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1614             $tracelevel)
1615             if defined $::RD_TRACE;
1616 61         76 my $thisprod = $thisrule->{"prods"}[0];
1617 61         93 $text = $_[1];
1618 61         71 my $_savetext;
1619 61         87 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1620 61         106 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1621 61         67 my $repcount = 0;
1622              
1623              
1624 61 50       87 Parse::RecDescent::_trace(q{Trying terminal: ['use_module']},
1625             Parse::RecDescent::_tracefirst($text),
1626             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1627             $tracelevel)
1628             if defined $::RD_TRACE;
1629 61         106 undef $lastsep;
1630 61         103 $expectation->is(q{})->at($text);
1631            
1632              
1633 61 50 66     556 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Ause_module/)
  61 100       447  
1634             {
1635 33 50       193 $text = $lastsep . $text if defined $lastsep;
1636            
1637 33         87 $expectation->failed();
1638 33 50       103 Parse::RecDescent::_trace(qq{<>},
1639             Parse::RecDescent::_tracefirst($text))
1640             if defined $::RD_TRACE;
1641 33         58 last;
1642             }
1643 28         116 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1644 28         68 substr($text,0,length($current_match),q{});
1645 28 50       50 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1646             . $current_match . q{])},
1647             Parse::RecDescent::_tracefirst($text))
1648             if defined $::RD_TRACE;
1649 28         61 push @item, $item{__STRING1__}=$current_match;
1650            
1651              
1652 28 50       48 Parse::RecDescent::_trace(q{>>Matched production: ['use_module']<<},
1653             Parse::RecDescent::_tracefirst($text),
1654             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1655             $tracelevel)
1656             if defined $::RD_TRACE;
1657              
1658              
1659              
1660 28         29 $_matched = 1;
1661 28         45 last;
1662             }
1663              
1664              
1665 61   66     160 while (!$_matched && !$commit)
1666             {
1667            
1668 33 50       64 Parse::RecDescent::_trace(q{Trying production: ['use_package_optimistically']},
1669             Parse::RecDescent::_tracefirst($_[1]),
1670             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1671             $tracelevel)
1672             if defined $::RD_TRACE;
1673 33         41 my $thisprod = $thisrule->{"prods"}[1];
1674 33         47 $text = $_[1];
1675 33         39 my $_savetext;
1676 33         58 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1677 33         60 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1678 33         36 my $repcount = 0;
1679              
1680              
1681 33 50       54 Parse::RecDescent::_trace(q{Trying terminal: ['use_package_optimistically']},
1682             Parse::RecDescent::_tracefirst($text),
1683             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1684             $tracelevel)
1685             if defined $::RD_TRACE;
1686 33         45 undef $lastsep;
1687 33         54 $expectation->is(q{})->at($text);
1688            
1689              
1690 33 50 66     258 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Ause_package_optimistically/)
  33 100       192  
1691             {
1692 17 50       46 $text = $lastsep . $text if defined $lastsep;
1693            
1694 17         38 $expectation->failed();
1695 17 50       93 Parse::RecDescent::_trace(qq{<>},
1696             Parse::RecDescent::_tracefirst($text))
1697             if defined $::RD_TRACE;
1698 17         25 last;
1699             }
1700 16         64 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1701 16         35 substr($text,0,length($current_match),q{});
1702 16 50       29 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1703             . $current_match . q{])},
1704             Parse::RecDescent::_tracefirst($text))
1705             if defined $::RD_TRACE;
1706 16         28 push @item, $item{__STRING1__}=$current_match;
1707            
1708              
1709 16 50       29 Parse::RecDescent::_trace(q{>>Matched production: ['use_package_optimistically']<<},
1710             Parse::RecDescent::_tracefirst($text),
1711             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1712             $tracelevel)
1713             if defined $::RD_TRACE;
1714              
1715              
1716              
1717 16         17 $_matched = 1;
1718 16         22 last;
1719             }
1720              
1721              
1722 61 100 66     132 unless ( $_matched || defined($score) )
1723             {
1724            
1725              
1726 17         25 $_[1] = $text; # NOT SURE THIS IS NEEDED
1727 17 50       27 Parse::RecDescent::_trace(q{<>},
1728             Parse::RecDescent::_tracefirst($_[1]),
1729             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1730             $tracelevel)
1731             if defined $::RD_TRACE;
1732 17         72 return undef;
1733             }
1734 44 50 33     116 if (!defined($return) && defined($score))
1735             {
1736 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1737             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1738             $tracelevel)
1739             if defined $::RD_TRACE;
1740 0         0 $return = $score_return;
1741             }
1742 44         110 splice @{$thisparser->{errors}}, $err_at;
  44         91  
1743 44 50       95 $return = $item[$#item] unless defined $return;
1744 44 50       74 if (defined $::RD_TRACE)
1745             {
1746 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1747             $return . q{])}, "",
1748             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1749             $tracelevel);
1750 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1751             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1752             Parse::RecDescent::_tracefirst($text),
1753             , q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1754             $tracelevel)
1755             }
1756 44         76 $_[1] = $text;
1757 44         200 return $return;
1758             }
1759              
1760             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1761             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_no_stuff
1762             {
1763 21     21   40 my $thisparser = $_[0];
1764 12     12   96 use vars q{$tracelevel};
  12         23  
  12         3531  
1765 21   50     53 local $tracelevel = ($tracelevel||0)+1;
1766 21         30 $ERRORS = 0;
1767 21         42 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_no_stuff"};
1768              
1769 21 50       43 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_no_stuff]},
1770             Parse::RecDescent::_tracefirst($_[1]),
1771             q{_alternation_1_of_production_1_of_rule_no_stuff},
1772             $tracelevel)
1773             if defined $::RD_TRACE;
1774              
1775            
1776 21         27 my $err_at = @{$thisparser->{errors}};
  21         42  
1777              
1778 21         52 my $score;
1779             my $score_return;
1780 21         0 my $_tok;
1781 21         24 my $return = undef;
1782 21         24 my $_matched=0;
1783 21         25 my $commit=0;
1784 21         30 my @item = ();
1785 21         31 my %item = ();
1786 21         30 my $repeating = $_[2];
1787 21         30 my $_noactions = $_[3];
1788 21 50       81 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         33  
  21         29  
1789 21         32 my $_itempos = $_[5];
1790 21 50       51 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1791 21         54 my $text;
1792             my $lastsep;
1793 21         0 my $current_match;
1794 21         47 my $expectation = new Parse::RecDescent::Expectation(q{base, or version, or module});
1795 21         118 $expectation->at($_[1]);
1796            
1797 21         70 my $thisline;
1798 21         55 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1799              
1800            
1801              
1802 21   33     145 while (!$_matched && !$commit)
1803             {
1804            
1805 21 50       50 Parse::RecDescent::_trace(q{Trying production: [base]},
1806             Parse::RecDescent::_tracefirst($_[1]),
1807             q{_alternation_1_of_production_1_of_rule_no_stuff},
1808             $tracelevel)
1809             if defined $::RD_TRACE;
1810 21         42 my $thisprod = $thisrule->{"prods"}[0];
1811 21         53 $text = $_[1];
1812 21         23 my $_savetext;
1813 21         38 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1814 21         40 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1815 21         26 my $repcount = 0;
1816              
1817              
1818 21 50       42 Parse::RecDescent::_trace(q{Trying subrule: [base]},
1819             Parse::RecDescent::_tracefirst($text),
1820             q{_alternation_1_of_production_1_of_rule_no_stuff},
1821             $tracelevel)
1822             if defined $::RD_TRACE;
1823 12     12   88 if (1) { no strict qw{refs};
  12         21  
  12         3087  
  21         29  
1824 21         42 $expectation->is(q{})->at($text);
1825 21 100   21   199 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::base($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  21         36  
1826             {
1827            
1828 18 50       43 Parse::RecDescent::_trace(q{<>},
1829             Parse::RecDescent::_tracefirst($text),
1830             q{_alternation_1_of_production_1_of_rule_no_stuff},
1831             $tracelevel)
1832             if defined $::RD_TRACE;
1833 18         45 $expectation->failed();
1834 18         63 last;
1835             }
1836 3 50       10 Parse::RecDescent::_trace(q{>>Matched subrule: [base]<< (return value: [}
1837             . $_tok . q{]},
1838              
1839             Parse::RecDescent::_tracefirst($text),
1840             q{_alternation_1_of_production_1_of_rule_no_stuff},
1841             $tracelevel)
1842             if defined $::RD_TRACE;
1843 3         6 $item{q{base}} = $_tok;
1844 3         5 push @item, $_tok;
1845            
1846             }
1847              
1848 3 50       7 Parse::RecDescent::_trace(q{>>Matched production: [base]<<},
1849             Parse::RecDescent::_tracefirst($text),
1850             q{_alternation_1_of_production_1_of_rule_no_stuff},
1851             $tracelevel)
1852             if defined $::RD_TRACE;
1853              
1854              
1855              
1856 3         3 $_matched = 1;
1857 3         6 last;
1858             }
1859              
1860              
1861 21   66     107 while (!$_matched && !$commit)
1862             {
1863            
1864 18 50       40 Parse::RecDescent::_trace(q{Trying production: [version]},
1865             Parse::RecDescent::_tracefirst($_[1]),
1866             q{_alternation_1_of_production_1_of_rule_no_stuff},
1867             $tracelevel)
1868             if defined $::RD_TRACE;
1869 18         36 my $thisprod = $thisrule->{"prods"}[1];
1870 18         35 $text = $_[1];
1871 18         37 my $_savetext;
1872 18         39 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1873 18         36 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1874 18         26 my $repcount = 0;
1875              
1876              
1877 18 50       42 Parse::RecDescent::_trace(q{Trying subrule: [version]},
1878             Parse::RecDescent::_tracefirst($text),
1879             q{_alternation_1_of_production_1_of_rule_no_stuff},
1880             $tracelevel)
1881             if defined $::RD_TRACE;
1882 12     12   103 if (1) { no strict qw{refs};
  12         36  
  12         3233  
  18         27  
1883 18         32 $expectation->is(q{})->at($text);
1884 18 50   18   164 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         39  
1885             {
1886            
1887 18 50       39 Parse::RecDescent::_trace(q{<>},
1888             Parse::RecDescent::_tracefirst($text),
1889             q{_alternation_1_of_production_1_of_rule_no_stuff},
1890             $tracelevel)
1891             if defined $::RD_TRACE;
1892 18         46 $expectation->failed();
1893 18         53 last;
1894             }
1895 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
1896             . $_tok . q{]},
1897              
1898             Parse::RecDescent::_tracefirst($text),
1899             q{_alternation_1_of_production_1_of_rule_no_stuff},
1900             $tracelevel)
1901             if defined $::RD_TRACE;
1902 0         0 $item{q{version}} = $_tok;
1903 0         0 push @item, $_tok;
1904            
1905             }
1906              
1907 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
1908             Parse::RecDescent::_tracefirst($text),
1909             q{_alternation_1_of_production_1_of_rule_no_stuff},
1910             $tracelevel)
1911             if defined $::RD_TRACE;
1912              
1913              
1914              
1915 0         0 $_matched = 1;
1916 0         0 last;
1917             }
1918              
1919              
1920 21   66     106 while (!$_matched && !$commit)
1921             {
1922            
1923 18 50       39 Parse::RecDescent::_trace(q{Trying production: [module]},
1924             Parse::RecDescent::_tracefirst($_[1]),
1925             q{_alternation_1_of_production_1_of_rule_no_stuff},
1926             $tracelevel)
1927             if defined $::RD_TRACE;
1928 18         42 my $thisprod = $thisrule->{"prods"}[2];
1929 18         33 $text = $_[1];
1930 18         21 my $_savetext;
1931 18         37 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1932 18         37 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1933 18         30 my $repcount = 0;
1934              
1935              
1936 18 50       35 Parse::RecDescent::_trace(q{Trying subrule: [module]},
1937             Parse::RecDescent::_tracefirst($text),
1938             q{_alternation_1_of_production_1_of_rule_no_stuff},
1939             $tracelevel)
1940             if defined $::RD_TRACE;
1941 12     12   83 if (1) { no strict qw{refs};
  12         23  
  12         4664  
  18         24  
1942 18         40 $expectation->is(q{})->at($text);
1943 18 50   18   158 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         35  
1944             {
1945            
1946 0 0       0 Parse::RecDescent::_trace(q{<>},
1947             Parse::RecDescent::_tracefirst($text),
1948             q{_alternation_1_of_production_1_of_rule_no_stuff},
1949             $tracelevel)
1950             if defined $::RD_TRACE;
1951 0         0 $expectation->failed();
1952 0         0 last;
1953             }
1954 18 50       59 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
1955             . $_tok . q{]},
1956              
1957             Parse::RecDescent::_tracefirst($text),
1958             q{_alternation_1_of_production_1_of_rule_no_stuff},
1959             $tracelevel)
1960             if defined $::RD_TRACE;
1961 18         41 $item{q{module}} = $_tok;
1962 18         33 push @item, $_tok;
1963            
1964             }
1965              
1966 18 50       32 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
1967             Parse::RecDescent::_tracefirst($text),
1968             q{_alternation_1_of_production_1_of_rule_no_stuff},
1969             $tracelevel)
1970             if defined $::RD_TRACE;
1971              
1972              
1973              
1974 18         37 $_matched = 1;
1975 18         29 last;
1976             }
1977              
1978              
1979 21 50 33     44 unless ( $_matched || defined($score) )
1980             {
1981            
1982              
1983 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1984 0 0       0 Parse::RecDescent::_trace(q{<>},
1985             Parse::RecDescent::_tracefirst($_[1]),
1986             q{_alternation_1_of_production_1_of_rule_no_stuff},
1987             $tracelevel)
1988             if defined $::RD_TRACE;
1989 0         0 return undef;
1990             }
1991 21 50 33     70 if (!defined($return) && defined($score))
1992             {
1993 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1994             q{_alternation_1_of_production_1_of_rule_no_stuff},
1995             $tracelevel)
1996             if defined $::RD_TRACE;
1997 0         0 $return = $score_return;
1998             }
1999 21         29 splice @{$thisparser->{errors}}, $err_at;
  21         35  
2000 21 50       43 $return = $item[$#item] unless defined $return;
2001 21 50       38 if (defined $::RD_TRACE)
2002             {
2003 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2004             $return . q{])}, "",
2005             q{_alternation_1_of_production_1_of_rule_no_stuff},
2006             $tracelevel);
2007 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2008             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2009             Parse::RecDescent::_tracefirst($text),
2010             , q{_alternation_1_of_production_1_of_rule_no_stuff},
2011             $tracelevel)
2012             }
2013 21         36 $_[1] = $text;
2014 21         88 return $return;
2015             }
2016              
2017             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2018             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_require_stuff
2019             {
2020 27     27   46 my $thisparser = $_[0];
2021 12     12   85 use vars q{$tracelevel};
  12         24  
  12         3690  
2022 27   50     63 local $tracelevel = ($tracelevel||0)+1;
2023 27         51 $ERRORS = 0;
2024 27         51 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_require_stuff"};
2025              
2026 27 50       54 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_require_stuff]},
2027             Parse::RecDescent::_tracefirst($_[1]),
2028             q{_alternation_1_of_production_1_of_rule_require_stuff},
2029             $tracelevel)
2030             if defined $::RD_TRACE;
2031              
2032            
2033 27         35 my $err_at = @{$thisparser->{errors}};
  27         56  
2034              
2035 27         62 my $score;
2036             my $score_return;
2037 27         0 my $_tok;
2038 27         37 my $return = undef;
2039 27         32 my $_matched=0;
2040 27         33 my $commit=0;
2041 27         41 my @item = ();
2042 27         39 my %item = ();
2043 27         33 my $repeating = $_[2];
2044 27         36 my $_noactions = $_[3];
2045 27 50       54 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         31  
  27         45  
2046 27         39 my $_itempos = $_[5];
2047 27 50       75 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2048 27         60 my $text;
2049             my $lastsep;
2050 27         0 my $current_match;
2051 27         60 my $expectation = new Parse::RecDescent::Expectation(q{version, or require_name, or module});
2052 27         146 $expectation->at($_[1]);
2053            
2054 27         93 my $thisline;
2055 27         68 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2056              
2057            
2058              
2059 27   33     181 while (!$_matched && !$commit)
2060             {
2061            
2062 27 50       58 Parse::RecDescent::_trace(q{Trying production: [version]},
2063             Parse::RecDescent::_tracefirst($_[1]),
2064             q{_alternation_1_of_production_1_of_rule_require_stuff},
2065             $tracelevel)
2066             if defined $::RD_TRACE;
2067 27         48 my $thisprod = $thisrule->{"prods"}[0];
2068 27         42 $text = $_[1];
2069 27         35 my $_savetext;
2070 27         41 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2071 27         59 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2072 27         37 my $repcount = 0;
2073              
2074              
2075 27 50       48 Parse::RecDescent::_trace(q{Trying subrule: [version]},
2076             Parse::RecDescent::_tracefirst($text),
2077             q{_alternation_1_of_production_1_of_rule_require_stuff},
2078             $tracelevel)
2079             if defined $::RD_TRACE;
2080 12     12   89 if (1) { no strict qw{refs};
  12         30  
  12         3094  
  27         39  
2081 27         60 $expectation->is(q{})->at($text);
2082 27 50   27   228 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         48  
2083             {
2084            
2085 27 50       53 Parse::RecDescent::_trace(q{<>},
2086             Parse::RecDescent::_tracefirst($text),
2087             q{_alternation_1_of_production_1_of_rule_require_stuff},
2088             $tracelevel)
2089             if defined $::RD_TRACE;
2090 27         71 $expectation->failed();
2091 27         82 last;
2092             }
2093 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
2094             . $_tok . q{]},
2095              
2096             Parse::RecDescent::_tracefirst($text),
2097             q{_alternation_1_of_production_1_of_rule_require_stuff},
2098             $tracelevel)
2099             if defined $::RD_TRACE;
2100 0         0 $item{q{version}} = $_tok;
2101 0         0 push @item, $_tok;
2102            
2103             }
2104              
2105 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
2106             Parse::RecDescent::_tracefirst($text),
2107             q{_alternation_1_of_production_1_of_rule_require_stuff},
2108             $tracelevel)
2109             if defined $::RD_TRACE;
2110              
2111              
2112              
2113 0         0 $_matched = 1;
2114 0         0 last;
2115             }
2116              
2117              
2118 27   33     180 while (!$_matched && !$commit)
2119             {
2120            
2121 27 50       57 Parse::RecDescent::_trace(q{Trying production: [require_name]},
2122             Parse::RecDescent::_tracefirst($_[1]),
2123             q{_alternation_1_of_production_1_of_rule_require_stuff},
2124             $tracelevel)
2125             if defined $::RD_TRACE;
2126 27         50 my $thisprod = $thisrule->{"prods"}[1];
2127 27         43 $text = $_[1];
2128 27         33 my $_savetext;
2129 27         71 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2130 27         53 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2131 27         37 my $repcount = 0;
2132              
2133              
2134 27 50       55 Parse::RecDescent::_trace(q{Trying subrule: [require_name]},
2135             Parse::RecDescent::_tracefirst($text),
2136             q{_alternation_1_of_production_1_of_rule_require_stuff},
2137             $tracelevel)
2138             if defined $::RD_TRACE;
2139 12     12   101 if (1) { no strict qw{refs};
  12         29  
  12         2949  
  27         47  
2140 27         64 $expectation->is(q{})->at($text);
2141 27 100   27   230 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::require_name($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         51  
2142             {
2143            
2144 18 50       39 Parse::RecDescent::_trace(q{<>},
2145             Parse::RecDescent::_tracefirst($text),
2146             q{_alternation_1_of_production_1_of_rule_require_stuff},
2147             $tracelevel)
2148             if defined $::RD_TRACE;
2149 18         54 $expectation->failed();
2150 18         56 last;
2151             }
2152 9 50       30 Parse::RecDescent::_trace(q{>>Matched subrule: [require_name]<< (return value: [}
2153             . $_tok . q{]},
2154              
2155             Parse::RecDescent::_tracefirst($text),
2156             q{_alternation_1_of_production_1_of_rule_require_stuff},
2157             $tracelevel)
2158             if defined $::RD_TRACE;
2159 9         16 $item{q{require_name}} = $_tok;
2160 9         18 push @item, $_tok;
2161            
2162             }
2163              
2164 9 50       16 Parse::RecDescent::_trace(q{>>Matched production: [require_name]<<},
2165             Parse::RecDescent::_tracefirst($text),
2166             q{_alternation_1_of_production_1_of_rule_require_stuff},
2167             $tracelevel)
2168             if defined $::RD_TRACE;
2169              
2170              
2171              
2172 9         18 $_matched = 1;
2173 9         14 last;
2174             }
2175              
2176              
2177 27   66     117 while (!$_matched && !$commit)
2178             {
2179            
2180 18 50       44 Parse::RecDescent::_trace(q{Trying production: [module]},
2181             Parse::RecDescent::_tracefirst($_[1]),
2182             q{_alternation_1_of_production_1_of_rule_require_stuff},
2183             $tracelevel)
2184             if defined $::RD_TRACE;
2185 18         47 my $thisprod = $thisrule->{"prods"}[2];
2186 18         27 $text = $_[1];
2187 18         25 my $_savetext;
2188 18         38 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2189 18         52 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2190 18         27 my $repcount = 0;
2191              
2192              
2193 18 50       36 Parse::RecDescent::_trace(q{Trying subrule: [module]},
2194             Parse::RecDescent::_tracefirst($text),
2195             q{_alternation_1_of_production_1_of_rule_require_stuff},
2196             $tracelevel)
2197             if defined $::RD_TRACE;
2198 12     12   78 if (1) { no strict qw{refs};
  12         22  
  12         4839  
  18         25  
2199 18         42 $expectation->is(q{})->at($text);
2200 18 50   18   206 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         38  
2201             {
2202            
2203 0 0       0 Parse::RecDescent::_trace(q{<>},
2204             Parse::RecDescent::_tracefirst($text),
2205             q{_alternation_1_of_production_1_of_rule_require_stuff},
2206             $tracelevel)
2207             if defined $::RD_TRACE;
2208 0         0 $expectation->failed();
2209 0         0 last;
2210             }
2211 18 50       49 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
2212             . $_tok . q{]},
2213              
2214             Parse::RecDescent::_tracefirst($text),
2215             q{_alternation_1_of_production_1_of_rule_require_stuff},
2216             $tracelevel)
2217             if defined $::RD_TRACE;
2218 18         42 $item{q{module}} = $_tok;
2219 18         29 push @item, $_tok;
2220            
2221             }
2222              
2223 18 50       48 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
2224             Parse::RecDescent::_tracefirst($text),
2225             q{_alternation_1_of_production_1_of_rule_require_stuff},
2226             $tracelevel)
2227             if defined $::RD_TRACE;
2228              
2229              
2230              
2231 18         34 $_matched = 1;
2232 18         29 last;
2233             }
2234              
2235              
2236 27 50 33     74 unless ( $_matched || defined($score) )
2237             {
2238            
2239              
2240 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2241 0 0       0 Parse::RecDescent::_trace(q{<>},
2242             Parse::RecDescent::_tracefirst($_[1]),
2243             q{_alternation_1_of_production_1_of_rule_require_stuff},
2244             $tracelevel)
2245             if defined $::RD_TRACE;
2246 0         0 return undef;
2247             }
2248 27 50 33     92 if (!defined($return) && defined($score))
2249             {
2250 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2251             q{_alternation_1_of_production_1_of_rule_require_stuff},
2252             $tracelevel)
2253             if defined $::RD_TRACE;
2254 0         0 $return = $score_return;
2255             }
2256 27         38 splice @{$thisparser->{errors}}, $err_at;
  27         48  
2257 27 50       62 $return = $item[$#item] unless defined $return;
2258 27 50       57 if (defined $::RD_TRACE)
2259             {
2260 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2261             $return . q{])}, "",
2262             q{_alternation_1_of_production_1_of_rule_require_stuff},
2263             $tracelevel);
2264 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2265             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2266             Parse::RecDescent::_tracefirst($text),
2267             , q{_alternation_1_of_production_1_of_rule_require_stuff},
2268             $tracelevel)
2269             }
2270 27         43 $_[1] = $text;
2271 27         125 return $return;
2272             }
2273              
2274             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2275             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_use_stuff
2276             {
2277 217     217   363 my $thisparser = $_[0];
2278 12     12   85 use vars q{$tracelevel};
  12         25  
  12         3709  
2279 217   50     518 local $tracelevel = ($tracelevel||0)+1;
2280 217         312 $ERRORS = 0;
2281 217         380 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_use_stuff"};
2282              
2283 217 50       426 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_use_stuff]},
2284             Parse::RecDescent::_tracefirst($_[1]),
2285             q{_alternation_1_of_production_1_of_rule_use_stuff},
2286             $tracelevel)
2287             if defined $::RD_TRACE;
2288              
2289            
2290 217         276 my $err_at = @{$thisparser->{errors}};
  217         377  
2291              
2292 217         457 my $score;
2293             my $score_return;
2294 217         0 my $_tok;
2295 217         292 my $return = undef;
2296 217         286 my $_matched=0;
2297 217         262 my $commit=0;
2298 217         318 my @item = ();
2299 217         308 my %item = ();
2300 217         296 my $repeating = $_[2];
2301 217         284 my $_noactions = $_[3];
2302 217 50       428 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  217         275  
  217         327  
2303 217         334 my $_itempos = $_[5];
2304 217 50       473 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2305 217         514 my $text;
2306             my $lastsep;
2307 217         0 my $current_match;
2308 217         478 my $expectation = new Parse::RecDescent::Expectation(q{base, or parent, or version, or module});
2309 217         1139 $expectation->at($_[1]);
2310            
2311 217         728 my $thisline;
2312 217         510 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2313              
2314            
2315              
2316 217   33     1403 while (!$_matched && !$commit)
2317             {
2318            
2319 217 50       468 Parse::RecDescent::_trace(q{Trying production: [base]},
2320             Parse::RecDescent::_tracefirst($_[1]),
2321             q{_alternation_1_of_production_1_of_rule_use_stuff},
2322             $tracelevel)
2323             if defined $::RD_TRACE;
2324 217         369 my $thisprod = $thisrule->{"prods"}[0];
2325 217         335 $text = $_[1];
2326 217         308 my $_savetext;
2327 217         366 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2328 217         418 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2329 217         292 my $repcount = 0;
2330              
2331              
2332 217 50       468 Parse::RecDescent::_trace(q{Trying subrule: [base]},
2333             Parse::RecDescent::_tracefirst($text),
2334             q{_alternation_1_of_production_1_of_rule_use_stuff},
2335             $tracelevel)
2336             if defined $::RD_TRACE;
2337 12     12   79 if (1) { no strict qw{refs};
  12         23  
  12         3061  
  217         296  
2338 217         441 $expectation->is(q{})->at($text);
2339 217 100   217   1760 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::base($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  217         389  
2340             {
2341            
2342 192 50       376 Parse::RecDescent::_trace(q{<>},
2343             Parse::RecDescent::_tracefirst($text),
2344             q{_alternation_1_of_production_1_of_rule_use_stuff},
2345             $tracelevel)
2346             if defined $::RD_TRACE;
2347 192         448 $expectation->failed();
2348 192         575 last;
2349             }
2350 25 50       78 Parse::RecDescent::_trace(q{>>Matched subrule: [base]<< (return value: [}
2351             . $_tok . q{]},
2352              
2353             Parse::RecDescent::_tracefirst($text),
2354             q{_alternation_1_of_production_1_of_rule_use_stuff},
2355             $tracelevel)
2356             if defined $::RD_TRACE;
2357 25         49 $item{q{base}} = $_tok;
2358 25         40 push @item, $_tok;
2359            
2360             }
2361              
2362 25 50       48 Parse::RecDescent::_trace(q{>>Matched production: [base]<<},
2363             Parse::RecDescent::_tracefirst($text),
2364             q{_alternation_1_of_production_1_of_rule_use_stuff},
2365             $tracelevel)
2366             if defined $::RD_TRACE;
2367              
2368              
2369              
2370 25         34 $_matched = 1;
2371 25         55 last;
2372             }
2373              
2374              
2375 217   66     1048 while (!$_matched && !$commit)
2376             {
2377            
2378 192 50       364 Parse::RecDescent::_trace(q{Trying production: [parent]},
2379             Parse::RecDescent::_tracefirst($_[1]),
2380             q{_alternation_1_of_production_1_of_rule_use_stuff},
2381             $tracelevel)
2382             if defined $::RD_TRACE;
2383 192         328 my $thisprod = $thisrule->{"prods"}[1];
2384 192         298 $text = $_[1];
2385 192         254 my $_savetext;
2386 192         411 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2387 192         401 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2388 192         286 my $repcount = 0;
2389              
2390              
2391 192 50       352 Parse::RecDescent::_trace(q{Trying subrule: [parent]},
2392             Parse::RecDescent::_tracefirst($text),
2393             q{_alternation_1_of_production_1_of_rule_use_stuff},
2394             $tracelevel)
2395             if defined $::RD_TRACE;
2396 12     12   76 if (1) { no strict qw{refs};
  12         23  
  12         3321  
  192         293  
2397 192         374 $expectation->is(q{})->at($text);
2398 192 100   192   1705 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::parent($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  192         319  
2399             {
2400            
2401 156 50       294 Parse::RecDescent::_trace(q{<>},
2402             Parse::RecDescent::_tracefirst($text),
2403             q{_alternation_1_of_production_1_of_rule_use_stuff},
2404             $tracelevel)
2405             if defined $::RD_TRACE;
2406 156         372 $expectation->failed();
2407 156         472 last;
2408             }
2409 36 50       92 Parse::RecDescent::_trace(q{>>Matched subrule: [parent]<< (return value: [}
2410             . $_tok . q{]},
2411              
2412             Parse::RecDescent::_tracefirst($text),
2413             q{_alternation_1_of_production_1_of_rule_use_stuff},
2414             $tracelevel)
2415             if defined $::RD_TRACE;
2416 36         61 $item{q{parent}} = $_tok;
2417 36         48 push @item, $_tok;
2418            
2419             }
2420              
2421 36 50       65 Parse::RecDescent::_trace(q{>>Matched production: [parent]<<},
2422             Parse::RecDescent::_tracefirst($text),
2423             q{_alternation_1_of_production_1_of_rule_use_stuff},
2424             $tracelevel)
2425             if defined $::RD_TRACE;
2426              
2427              
2428              
2429 36         42 $_matched = 1;
2430 36         46 last;
2431             }
2432              
2433              
2434 217   66     801 while (!$_matched && !$commit)
2435             {
2436            
2437 156 50       315 Parse::RecDescent::_trace(q{Trying production: [version]},
2438             Parse::RecDescent::_tracefirst($_[1]),
2439             q{_alternation_1_of_production_1_of_rule_use_stuff},
2440             $tracelevel)
2441             if defined $::RD_TRACE;
2442 156         277 my $thisprod = $thisrule->{"prods"}[2];
2443 156         211 $text = $_[1];
2444 156         200 my $_savetext;
2445 156         565 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2446 156         328 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2447 156         211 my $repcount = 0;
2448              
2449              
2450 156 50       258 Parse::RecDescent::_trace(q{Trying subrule: [version]},
2451             Parse::RecDescent::_tracefirst($text),
2452             q{_alternation_1_of_production_1_of_rule_use_stuff},
2453             $tracelevel)
2454             if defined $::RD_TRACE;
2455 12     12   84 if (1) { no strict qw{refs};
  12         20  
  12         2914  
  156         204  
2456 156         308 $expectation->is(q{})->at($text);
2457 156 100   156   1340 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  156         254  
2458             {
2459            
2460 150 50       305 Parse::RecDescent::_trace(q{<>},
2461             Parse::RecDescent::_tracefirst($text),
2462             q{_alternation_1_of_production_1_of_rule_use_stuff},
2463             $tracelevel)
2464             if defined $::RD_TRACE;
2465 150         413 $expectation->failed();
2466 150         428 last;
2467             }
2468 6 50       23 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
2469             . $_tok . q{]},
2470              
2471             Parse::RecDescent::_tracefirst($text),
2472             q{_alternation_1_of_production_1_of_rule_use_stuff},
2473             $tracelevel)
2474             if defined $::RD_TRACE;
2475 6         12 $item{q{version}} = $_tok;
2476 6         10 push @item, $_tok;
2477            
2478             }
2479              
2480 6 50       21 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
2481             Parse::RecDescent::_tracefirst($text),
2482             q{_alternation_1_of_production_1_of_rule_use_stuff},
2483             $tracelevel)
2484             if defined $::RD_TRACE;
2485              
2486              
2487              
2488 6         9 $_matched = 1;
2489 6         9 last;
2490             }
2491              
2492              
2493 217   66     763 while (!$_matched && !$commit)
2494             {
2495            
2496 150 50       306 Parse::RecDescent::_trace(q{Trying production: [module]},
2497             Parse::RecDescent::_tracefirst($_[1]),
2498             q{_alternation_1_of_production_1_of_rule_use_stuff},
2499             $tracelevel)
2500             if defined $::RD_TRACE;
2501 150         233 my $thisprod = $thisrule->{"prods"}[3];
2502 150         226 $text = $_[1];
2503 150         220 my $_savetext;
2504 150         278 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2505 150         335 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2506 150         206 my $repcount = 0;
2507              
2508              
2509 150 50       281 Parse::RecDescent::_trace(q{Trying subrule: [module]},
2510             Parse::RecDescent::_tracefirst($text),
2511             q{_alternation_1_of_production_1_of_rule_use_stuff},
2512             $tracelevel)
2513             if defined $::RD_TRACE;
2514 12     12   84 if (1) { no strict qw{refs};
  12         31  
  12         5277  
  150         182  
2515 150         313 $expectation->is(q{})->at($text);
2516 150 50   150   1282 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  150         269  
2517             {
2518            
2519 0 0       0 Parse::RecDescent::_trace(q{<>},
2520             Parse::RecDescent::_tracefirst($text),
2521             q{_alternation_1_of_production_1_of_rule_use_stuff},
2522             $tracelevel)
2523             if defined $::RD_TRACE;
2524 0         0 $expectation->failed();
2525 0         0 last;
2526             }
2527 150 50       431 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
2528             . $_tok . q{]},
2529              
2530             Parse::RecDescent::_tracefirst($text),
2531             q{_alternation_1_of_production_1_of_rule_use_stuff},
2532             $tracelevel)
2533             if defined $::RD_TRACE;
2534 150         284 $item{q{module}} = $_tok;
2535 150         234 push @item, $_tok;
2536            
2537             }
2538              
2539 150 50       268 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
2540             Parse::RecDescent::_tracefirst($text),
2541             q{_alternation_1_of_production_1_of_rule_use_stuff},
2542             $tracelevel)
2543             if defined $::RD_TRACE;
2544              
2545              
2546              
2547 150         276 $_matched = 1;
2548 150         215 last;
2549             }
2550              
2551              
2552 217 50 33     497 unless ( $_matched || defined($score) )
2553             {
2554            
2555              
2556 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2557 0 0       0 Parse::RecDescent::_trace(q{<>},
2558             Parse::RecDescent::_tracefirst($_[1]),
2559             q{_alternation_1_of_production_1_of_rule_use_stuff},
2560             $tracelevel)
2561             if defined $::RD_TRACE;
2562 0         0 return undef;
2563             }
2564 217 50 33     670 if (!defined($return) && defined($score))
2565             {
2566 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2567             q{_alternation_1_of_production_1_of_rule_use_stuff},
2568             $tracelevel)
2569             if defined $::RD_TRACE;
2570 0         0 $return = $score_return;
2571             }
2572 217         281 splice @{$thisparser->{errors}}, $err_at;
  217         365  
2573 217 50       518 $return = $item[$#item] unless defined $return;
2574 217 50       393 if (defined $::RD_TRACE)
2575             {
2576 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2577             $return . q{])}, "",
2578             q{_alternation_1_of_production_1_of_rule_use_stuff},
2579             $tracelevel);
2580 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2581             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2582             Parse::RecDescent::_tracefirst($text),
2583             , q{_alternation_1_of_production_1_of_rule_use_stuff},
2584             $tracelevel)
2585             }
2586 217         359 $_[1] = $text;
2587 217         929 return $return;
2588             }
2589              
2590             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2591             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load
2592             {
2593 55     55   80 my $thisparser = $_[0];
2594 12     12   83 use vars q{$tracelevel};
  12         30  
  12         5185  
2595 55   50     105 local $tracelevel = ($tracelevel||0)+1;
2596 55         73 $ERRORS = 0;
2597 55         88 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load"};
2598              
2599 55 50       108 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]},
2600             Parse::RecDescent::_tracefirst($_[1]),
2601             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2602             $tracelevel)
2603             if defined $::RD_TRACE;
2604              
2605            
2606 55         61 my $err_at = @{$thisparser->{errors}};
  55         84  
2607              
2608 55         132 my $score;
2609             my $score_return;
2610 55         0 my $_tok;
2611 55         65 my $return = undef;
2612 55         73 my $_matched=0;
2613 55         61 my $commit=0;
2614 55         78 my @item = ();
2615 55         66 my %item = ();
2616 55         66 my $repeating = $_[2];
2617 55         66 my $_noactions = $_[3];
2618 55 50       93 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  55         64  
  55         83  
2619 55         82 my $_itempos = $_[5];
2620 55 50       116 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2621 55         110 my $text;
2622             my $lastsep;
2623 55         0 my $current_match;
2624 55         110 my $expectation = new Parse::RecDescent::Expectation(q{/\\b/});
2625 55         304 $expectation->at($_[1]);
2626            
2627 55         169 my $thisline;
2628 55         136 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2629              
2630            
2631              
2632 55   33     331 while (!$_matched && !$commit)
2633             {
2634            
2635 55 50       94 Parse::RecDescent::_trace(q{Trying production: [/\\b/ class_load_functions]},
2636             Parse::RecDescent::_tracefirst($_[1]),
2637             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2638             $tracelevel)
2639             if defined $::RD_TRACE;
2640 55         82 my $thisprod = $thisrule->{"prods"}[0];
2641 55         83 $text = $_[1];
2642 55         62 my $_savetext;
2643 55         81 @item = (q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load});
2644 55         106 %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load});
2645 55         66 my $repcount = 0;
2646              
2647              
2648 55 50       92 Parse::RecDescent::_trace(q{Trying terminal: [/\\b/]}, Parse::RecDescent::_tracefirst($text),
2649             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2650             $tracelevel)
2651             if defined $::RD_TRACE;
2652 55         83 undef $lastsep;
2653 55         112 $expectation->is(q{})->at($text);
2654            
2655              
2656 55 100 66     524 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\b)/)
  55 100       365  
2657             {
2658 1 50       4 $text = $lastsep . $text if defined $lastsep;
2659 1         5 $expectation->failed();
2660 1 50       5 Parse::RecDescent::_trace(q{<>},
2661             Parse::RecDescent::_tracefirst($text))
2662             if defined $::RD_TRACE;
2663              
2664 1         2 last;
2665             }
2666 54         241 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2667 54         136 substr($text,0,length($current_match),q{});
2668 54 50       100 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2669             . $current_match . q{])},
2670             Parse::RecDescent::_tracefirst($text))
2671             if defined $::RD_TRACE;
2672 54         128 push @item, $item{__PATTERN1__}=$current_match;
2673            
2674              
2675 54 50       100 Parse::RecDescent::_trace(q{Trying subrule: [class_load_functions]},
2676             Parse::RecDescent::_tracefirst($text),
2677             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2678             $tracelevel)
2679             if defined $::RD_TRACE;
2680 12     12   90 if (1) { no strict qw{refs};
  12         24  
  12         4944  
  54         67  
2681 54         119 $expectation->is(q{class_load_functions})->at($text);
2682 54 100   54   415 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  54         80  
2683             {
2684            
2685 36 50       68 Parse::RecDescent::_trace(q{<>},
2686             Parse::RecDescent::_tracefirst($text),
2687             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2688             $tracelevel)
2689             if defined $::RD_TRACE;
2690 36         78 $expectation->failed();
2691 36         244 last;
2692             }
2693 18 50       55 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_functions]<< (return value: [}
2694             . $_tok . q{]},
2695              
2696             Parse::RecDescent::_tracefirst($text),
2697             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2698             $tracelevel)
2699             if defined $::RD_TRACE;
2700 18         29 $item{q{class_load_functions}} = $_tok;
2701 18         29 push @item, $_tok;
2702            
2703             }
2704              
2705 18 50       27 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/ class_load_functions]<<},
2706             Parse::RecDescent::_tracefirst($text),
2707             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2708             $tracelevel)
2709             if defined $::RD_TRACE;
2710              
2711              
2712              
2713 18         24 $_matched = 1;
2714 18         30 last;
2715             }
2716              
2717              
2718 55 100 66     193 unless ( $_matched || defined($score) )
2719             {
2720            
2721              
2722 37         55 $_[1] = $text; # NOT SURE THIS IS NEEDED
2723 37 50       65 Parse::RecDescent::_trace(q{<>},
2724             Parse::RecDescent::_tracefirst($_[1]),
2725             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2726             $tracelevel)
2727             if defined $::RD_TRACE;
2728 37         148 return undef;
2729             }
2730 18 50 33     51 if (!defined($return) && defined($score))
2731             {
2732 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2733             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2734             $tracelevel)
2735             if defined $::RD_TRACE;
2736 0         0 $return = $score_return;
2737             }
2738 18         22 splice @{$thisparser->{errors}}, $err_at;
  18         37  
2739 18 50       37 $return = $item[$#item] unless defined $return;
2740 18 50       27 if (defined $::RD_TRACE)
2741             {
2742 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2743             $return . q{])}, "",
2744             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2745             $tracelevel);
2746 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2747             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2748             Parse::RecDescent::_tracefirst($text),
2749             , q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2750             $tracelevel)
2751             }
2752 18         29 $_[1] = $text;
2753 18         80 return $return;
2754             }
2755              
2756             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2757             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use
2758             {
2759 45     45   59 my $thisparser = $_[0];
2760 12     12   86 use vars q{$tracelevel};
  12         23  
  12         5116  
2761 45   50     82 local $tracelevel = ($tracelevel||0)+1;
2762 45         66 $ERRORS = 0;
2763 45         85 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use"};
2764              
2765 45 50       86 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
2766             Parse::RecDescent::_tracefirst($_[1]),
2767             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2768             $tracelevel)
2769             if defined $::RD_TRACE;
2770              
2771            
2772 45         57 my $err_at = @{$thisparser->{errors}};
  45         69  
2773              
2774 45         91 my $score;
2775             my $score_return;
2776 45         0 my $_tok;
2777 45         54 my $return = undef;
2778 45         48 my $_matched=0;
2779 45         50 my $commit=0;
2780 45         55 my @item = ();
2781 45         53 my %item = ();
2782 45         53 my $repeating = $_[2];
2783 45         58 my $_noactions = $_[3];
2784 45 50       72 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  45         54  
  45         72  
2785 45         56 my $_itempos = $_[5];
2786 45 50       77 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2787 45         87 my $text;
2788             my $lastsep;
2789 45         0 my $current_match;
2790 45         99 my $expectation = new Parse::RecDescent::Expectation(q{/\\b/});
2791 45         242 $expectation->at($_[1]);
2792            
2793 45         138 my $thisline;
2794 45         114 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2795              
2796            
2797              
2798 45   33     284 while (!$_matched && !$commit)
2799             {
2800            
2801 45 50       75 Parse::RecDescent::_trace(q{Trying production: [/\\b/ module_runtime_use_fcn '(']},
2802             Parse::RecDescent::_tracefirst($_[1]),
2803             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2804             $tracelevel)
2805             if defined $::RD_TRACE;
2806 45         69 my $thisprod = $thisrule->{"prods"}[0];
2807 45         56 $text = $_[1];
2808 45         55 my $_savetext;
2809 45         72 @item = (q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
2810 45         61 %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
2811 45         56 my $repcount = 0;
2812              
2813              
2814 45 50       65 Parse::RecDescent::_trace(q{Trying terminal: [/\\b/]}, Parse::RecDescent::_tracefirst($text),
2815             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2816             $tracelevel)
2817             if defined $::RD_TRACE;
2818 45         58 undef $lastsep;
2819 45         75 $expectation->is(q{})->at($text);
2820            
2821              
2822 45 100 33     402 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\b)/)
  45 50       301  
2823             {
2824 0 0       0 $text = $lastsep . $text if defined $lastsep;
2825 0         0 $expectation->failed();
2826 0 0       0 Parse::RecDescent::_trace(q{<>},
2827             Parse::RecDescent::_tracefirst($text))
2828             if defined $::RD_TRACE;
2829              
2830 0         0 last;
2831             }
2832 45         204 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2833 45         113 substr($text,0,length($current_match),q{});
2834 45 50       75 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2835             . $current_match . q{])},
2836             Parse::RecDescent::_tracefirst($text))
2837             if defined $::RD_TRACE;
2838 45         103 push @item, $item{__PATTERN1__}=$current_match;
2839            
2840              
2841 45 50       91 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use_fcn]},
2842             Parse::RecDescent::_tracefirst($text),
2843             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2844             $tracelevel)
2845             if defined $::RD_TRACE;
2846 12     12   84 if (1) { no strict qw{refs};
  12         38  
  12         6696  
  45         61  
2847 45         94 $expectation->is(q{module_runtime_use_fcn})->at($text);
2848 45 100   45   358 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  45         83  
2849             {
2850            
2851 17 50       30 Parse::RecDescent::_trace(q{<>},
2852             Parse::RecDescent::_tracefirst($text),
2853             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2854             $tracelevel)
2855             if defined $::RD_TRACE;
2856 17         42 $expectation->failed();
2857 17         113 last;
2858             }
2859 28 50       70 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use_fcn]<< (return value: [}
2860             . $_tok . q{]},
2861              
2862             Parse::RecDescent::_tracefirst($text),
2863             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2864             $tracelevel)
2865             if defined $::RD_TRACE;
2866 28         42 $item{q{module_runtime_use_fcn}} = $_tok;
2867 28         36 push @item, $_tok;
2868            
2869             }
2870              
2871 28 50       45 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
2872             Parse::RecDescent::_tracefirst($text),
2873             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2874             $tracelevel)
2875             if defined $::RD_TRACE;
2876 28         35 undef $lastsep;
2877 28         60 $expectation->is(q{'('})->at($text);
2878            
2879              
2880 28 50 33     231 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  28 50       166  
2881             {
2882 0 0       0 $text = $lastsep . $text if defined $lastsep;
2883            
2884 0         0 $expectation->failed();
2885 0 0       0 Parse::RecDescent::_trace(qq{<>},
2886             Parse::RecDescent::_tracefirst($text))
2887             if defined $::RD_TRACE;
2888 0         0 last;
2889             }
2890 28         99 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2891 28         63 substr($text,0,length($current_match),q{});
2892 28 50       48 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2893             . $current_match . q{])},
2894             Parse::RecDescent::_tracefirst($text))
2895             if defined $::RD_TRACE;
2896 28         77 push @item, $item{__STRING1__}=$current_match;
2897            
2898              
2899 28 50       45 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/ module_runtime_use_fcn '(']<<},
2900             Parse::RecDescent::_tracefirst($text),
2901             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2902             $tracelevel)
2903             if defined $::RD_TRACE;
2904              
2905              
2906              
2907 28         37 $_matched = 1;
2908 28         43 last;
2909             }
2910              
2911              
2912 45 100 66     117 unless ( $_matched || defined($score) )
2913             {
2914            
2915              
2916 17         26 $_[1] = $text; # NOT SURE THIS IS NEEDED
2917 17 50       37 Parse::RecDescent::_trace(q{<>},
2918             Parse::RecDescent::_tracefirst($_[1]),
2919             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2920             $tracelevel)
2921             if defined $::RD_TRACE;
2922 17         125 return undef;
2923             }
2924 28 50 33     72 if (!defined($return) && defined($score))
2925             {
2926 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2927             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2928             $tracelevel)
2929             if defined $::RD_TRACE;
2930 0         0 $return = $score_return;
2931             }
2932 28         37 splice @{$thisparser->{errors}}, $err_at;
  28         51  
2933 28 50       60 $return = $item[$#item] unless defined $return;
2934 28 50       63 if (defined $::RD_TRACE)
2935             {
2936 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2937             $return . q{])}, "",
2938             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2939             $tracelevel);
2940 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2941             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2942             Parse::RecDescent::_tracefirst($text),
2943             , q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2944             $tracelevel)
2945             }
2946 28         46 $_[1] = $text;
2947 28         133 return $return;
2948             }
2949              
2950             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2951             sub Parse::RecDescent::Module::ExtractUse::Grammar::base
2952             {
2953 238     238   388 my $thisparser = $_[0];
2954 12     12   125 use vars q{$tracelevel};
  12         53  
  12         4953  
2955 238   50     556 local $tracelevel = ($tracelevel||0)+1;
2956 238         316 $ERRORS = 0;
2957 238         467 my $thisrule = $thisparser->{"rules"}{"base"};
2958              
2959 238 50       497 Parse::RecDescent::_trace(q{Trying rule: [base]},
2960             Parse::RecDescent::_tracefirst($_[1]),
2961             q{base},
2962             $tracelevel)
2963             if defined $::RD_TRACE;
2964              
2965            
2966 238         314 my $err_at = @{$thisparser->{errors}};
  238         451  
2967              
2968 238         532 my $score;
2969             my $score_return;
2970 238         0 my $_tok;
2971 238         319 my $return = undef;
2972 238         294 my $_matched=0;
2973 238         311 my $commit=0;
2974 238         363 my @item = ();
2975 238         485 my %item = ();
2976 238         288 my $repeating = $_[2];
2977 238         332 my $_noactions = $_[3];
2978 238 50       438 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  238         307  
  238         361  
2979 238         350 my $_itempos = $_[5];
2980 238 50       536 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2981 238         520 my $text;
2982             my $lastsep;
2983 238         0 my $current_match;
2984 238         517 my $expectation = new Parse::RecDescent::Expectation(q{'base'});
2985 238         1326 $expectation->at($_[1]);
2986            
2987 238         769 my $thisline;
2988 238         582 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2989              
2990            
2991              
2992 238   33     2036 while (!$_matched && !$commit)
2993             {
2994            
2995 238 50       494 Parse::RecDescent::_trace(q{Trying production: ['base' import_list]},
2996             Parse::RecDescent::_tracefirst($_[1]),
2997             q{base},
2998             $tracelevel)
2999             if defined $::RD_TRACE;
3000 238         446 my $thisprod = $thisrule->{"prods"}[0];
3001 238         376 $text = $_[1];
3002 238         290 my $_savetext;
3003 238         421 @item = (q{base});
3004 238         436 %item = (__RULE__ => q{base});
3005 238         344 my $repcount = 0;
3006              
3007              
3008 238 50       473 Parse::RecDescent::_trace(q{Trying terminal: ['base']},
3009             Parse::RecDescent::_tracefirst($text),
3010             q{base},
3011             $tracelevel)
3012             if defined $::RD_TRACE;
3013 238         343 undef $lastsep;
3014 238         469 $expectation->is(q{})->at($text);
3015            
3016              
3017 238 50 33     2457 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "base"; 1 } and
  238 100 66     1601  
  238   66     454  
  238         1238  
3018             substr($text,0,length($_tok)) eq $_tok and
3019 28         59 do { substr($text,0,length($_tok)) = ""; 1; }
  28         75  
3020             )
3021             {
3022 210 50       588 $text = $lastsep . $text if defined $lastsep;
3023            
3024 210         615 $expectation->failed();
3025 210 50       786 Parse::RecDescent::_trace(q{<>},
3026             Parse::RecDescent::_tracefirst($text))
3027             if defined $::RD_TRACE;
3028 210         412 last;
3029             }
3030 28 50       73 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3031             . $_tok . q{])},
3032             Parse::RecDescent::_tracefirst($text))
3033             if defined $::RD_TRACE;
3034 28         79 push @item, $item{__STRING1__}=$_tok;
3035            
3036              
3037 28 50       55 Parse::RecDescent::_trace(q{Trying subrule: [import_list]},
3038             Parse::RecDescent::_tracefirst($text),
3039             q{base},
3040             $tracelevel)
3041             if defined $::RD_TRACE;
3042 12     12   96 if (1) { no strict qw{refs};
  12         29  
  12         4745  
  28         36  
3043 28         67 $expectation->is(q{import_list})->at($text);
3044 28 50   28   255 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::import_list($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  28         45  
3045             {
3046            
3047 0 0       0 Parse::RecDescent::_trace(q{<>},
3048             Parse::RecDescent::_tracefirst($text),
3049             q{base},
3050             $tracelevel)
3051             if defined $::RD_TRACE;
3052 0         0 $expectation->failed();
3053 0         0 last;
3054             }
3055 28 50       100 Parse::RecDescent::_trace(q{>>Matched subrule: [import_list]<< (return value: [}
3056             . $_tok . q{]},
3057              
3058             Parse::RecDescent::_tracefirst($text),
3059             q{base},
3060             $tracelevel)
3061             if defined $::RD_TRACE;
3062 28         59 $item{q{import_list}} = $_tok;
3063 28         45 push @item, $_tok;
3064            
3065             }
3066              
3067 28 50       60 Parse::RecDescent::_trace(q{>>Matched production: ['base' import_list]<<},
3068             Parse::RecDescent::_tracefirst($text),
3069             q{base},
3070             $tracelevel)
3071             if defined $::RD_TRACE;
3072              
3073              
3074              
3075 28         35 $_matched = 1;
3076 28         49 last;
3077             }
3078              
3079              
3080 238 100 66     832 unless ( $_matched || defined($score) )
3081             {
3082            
3083              
3084 210         380 $_[1] = $text; # NOT SURE THIS IS NEEDED
3085 210 50       399 Parse::RecDescent::_trace(q{<>},
3086             Parse::RecDescent::_tracefirst($_[1]),
3087             q{base},
3088             $tracelevel)
3089             if defined $::RD_TRACE;
3090 210         1188 return undef;
3091             }
3092 28 50 33     109 if (!defined($return) && defined($score))
3093             {
3094 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3095             q{base},
3096             $tracelevel)
3097             if defined $::RD_TRACE;
3098 0         0 $return = $score_return;
3099             }
3100 28         39 splice @{$thisparser->{errors}}, $err_at;
  28         55  
3101 28 50       77 $return = $item[$#item] unless defined $return;
3102 28 50       66 if (defined $::RD_TRACE)
3103             {
3104 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3105             $return . q{])}, "",
3106             q{base},
3107             $tracelevel);
3108 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3109             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3110             Parse::RecDescent::_tracefirst($text),
3111             , q{base},
3112             $tracelevel)
3113             }
3114 28         51 $_[1] = $text;
3115 28         140 return $return;
3116             }
3117              
3118             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3119             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load
3120             {
3121 73     73   108 my $thisparser = $_[0];
3122 12     12   85 use vars q{$tracelevel};
  12         31  
  12         3644  
3123 73   50     150 local $tracelevel = ($tracelevel||0)+1;
3124 73         88 $ERRORS = 0;
3125 73         127 my $thisrule = $thisparser->{"rules"}{"class_load"};
3126              
3127 73 50       119 Parse::RecDescent::_trace(q{Trying rule: [class_load]},
3128             Parse::RecDescent::_tracefirst($_[1]),
3129             q{class_load},
3130             $tracelevel)
3131             if defined $::RD_TRACE;
3132              
3133            
3134 73         153 my $err_at = @{$thisparser->{errors}};
  73         124  
3135              
3136 73         160 my $score;
3137             my $score_return;
3138 73         0 my $_tok;
3139 73         102 my $return = undef;
3140 73         88 my $_matched=0;
3141 73         77 my $commit=0;
3142 73         113 my @item = ();
3143 73         92 my %item = ();
3144 73         90 my $repeating = $_[2];
3145 73         82 my $_noactions = $_[3];
3146 73 50       117 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         84  
  73         110  
3147 73         101 my $_itempos = $_[5];
3148 73 50       137 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3149 73         126 my $text;
3150             my $lastsep;
3151 73         0 my $current_match;
3152 73         155 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::', or /\\b/});
3153 73         374 $expectation->at($_[1]);
3154            
3155 73         230 my $thisline;
3156 73         165 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3157              
3158            
3159              
3160 73   33     446 while (!$_matched && !$commit)
3161             {
3162            
3163 73 50       120 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::', or /\\b/ '(' comma_hashref ')']},
3164             Parse::RecDescent::_tracefirst($_[1]),
3165             q{class_load},
3166             $tracelevel)
3167             if defined $::RD_TRACE;
3168 73         107 my $thisprod = $thisrule->{"prods"}[0];
3169 73         102 $text = $_[1];
3170 73         114 my $_savetext;
3171 73         107 @item = (q{class_load});
3172 73         135 %item = (__RULE__ => q{class_load});
3173 73         88 my $repcount = 0;
3174              
3175              
3176 73 50       118 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_class_load]},
3177             Parse::RecDescent::_tracefirst($text),
3178             q{class_load},
3179             $tracelevel)
3180             if defined $::RD_TRACE;
3181 12     12   109 if (1) { no strict qw{refs};
  12         28  
  12         12068  
  73         90  
3182 73         129 $expectation->is(q{})->at($text);
3183 73 100   73   549 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  73         117  
3184             {
3185            
3186 37 50       70 Parse::RecDescent::_trace(q{<>},
3187             Parse::RecDescent::_tracefirst($text),
3188             q{class_load},
3189             $tracelevel)
3190             if defined $::RD_TRACE;
3191 37         82 $expectation->failed();
3192 37         105 last;
3193             }
3194 36 50       86 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
3195             . $_tok . q{]},
3196              
3197             Parse::RecDescent::_tracefirst($text),
3198             q{class_load},
3199             $tracelevel)
3200             if defined $::RD_TRACE;
3201 36         53 $item{q{_alternation_1_of_production_1_of_rule_class_load}} = $_tok;
3202 36         55 push @item, $_tok;
3203            
3204             }
3205              
3206 36 50       57 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
3207             Parse::RecDescent::_tracefirst($text),
3208             q{class_load},
3209             $tracelevel)
3210             if defined $::RD_TRACE;
3211 36         63 undef $lastsep;
3212 36         82 $expectation->is(q{'('})->at($text);
3213            
3214              
3215 36 50 33     319 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  36 50       223  
3216             {
3217 0 0       0 $text = $lastsep . $text if defined $lastsep;
3218            
3219 0         0 $expectation->failed();
3220 0 0       0 Parse::RecDescent::_trace(qq{<>},
3221             Parse::RecDescent::_tracefirst($text))
3222             if defined $::RD_TRACE;
3223 0         0 last;
3224             }
3225 36         123 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3226 36         85 substr($text,0,length($current_match),q{});
3227 36 50       63 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3228             . $current_match . q{])},
3229             Parse::RecDescent::_tracefirst($text))
3230             if defined $::RD_TRACE;
3231 36         70 push @item, $item{__STRING1__}=$current_match;
3232            
3233              
3234            
3235              
3236 36 50       58 Parse::RecDescent::_trace(q{Trying directive: []},
3237             Parse::RecDescent::_tracefirst($text),
3238             q{class_load},
3239             $tracelevel)
3240             if defined $::RD_TRACE;
3241 36         44 $_tok = do { my ($match,@res);
  36         41  
3242 36         94 ($match,$text,undef,@res) =
3243             Text::Balanced::extract_quotelike($text,$skip);
3244 36 50       2755 $match ? \@res : undef;
3245             };
3246 36 50       70 if (defined($_tok))
3247             {
3248 36 50       76 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3249             . $_tok . q{])},
3250             Parse::RecDescent::_tracefirst($text))
3251             if defined $::RD_TRACE;
3252             }
3253             else
3254             {
3255 0 0       0 Parse::RecDescent::_trace(q{<>},
3256             Parse::RecDescent::_tracefirst($text))
3257             if defined $::RD_TRACE;
3258             }
3259            
3260 36 50       57 last unless defined $_tok;
3261 36         63 push @item, $item{__DIRECTIVE1__}=$_tok;
3262            
3263              
3264 36 50       70 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hashref]},
3265             Parse::RecDescent::_tracefirst($text),
3266             q{class_load},
3267             $tracelevel)
3268             if defined $::RD_TRACE;
3269 36         80 $expectation->is(q{comma_hashref})->at($text);
3270            
3271 36 50   36   634 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  36         79  
3272             {
3273 0 0       0 Parse::RecDescent::_trace(q{<>},
3274             Parse::RecDescent::_tracefirst($text),
3275             q{class_load},
3276             $tracelevel)
3277             if defined $::RD_TRACE;
3278 0         0 last;
3279             }
3280 36 50       462 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hashref]<< (}
3281             . @$_tok . q{ times)},
3282              
3283             Parse::RecDescent::_tracefirst($text),
3284             q{class_load},
3285             $tracelevel)
3286             if defined $::RD_TRACE;
3287 36         63 $item{q{comma_hashref(?)}} = $_tok;
3288 36         49 push @item, $_tok;
3289            
3290              
3291              
3292 36 50       71 Parse::RecDescent::_trace(q{Trying terminal: [')']},
3293             Parse::RecDescent::_tracefirst($text),
3294             q{class_load},
3295             $tracelevel)
3296             if defined $::RD_TRACE;
3297 36         46 undef $lastsep;
3298 36         70 $expectation->is(q{')'})->at($text);
3299            
3300              
3301 36 50 33     295 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  36 50       211  
3302             {
3303 0 0       0 $text = $lastsep . $text if defined $lastsep;
3304            
3305 0         0 $expectation->failed();
3306 0 0       0 Parse::RecDescent::_trace(qq{<>},
3307             Parse::RecDescent::_tracefirst($text))
3308             if defined $::RD_TRACE;
3309 0         0 last;
3310             }
3311 36         136 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3312 36         105 substr($text,0,length($current_match),q{});
3313 36 50       68 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3314             . $current_match . q{])},
3315             Parse::RecDescent::_tracefirst($text))
3316             if defined $::RD_TRACE;
3317 36         73 push @item, $item{__STRING2__}=$current_match;
3318            
3319              
3320 36 50       58 Parse::RecDescent::_trace(q{Trying action},
3321             Parse::RecDescent::_tracefirst($text),
3322             q{class_load},
3323             $tracelevel)
3324             if defined $::RD_TRACE;
3325            
3326              
3327 36 50       53 $_tok = ($_noactions) ? 0 : do { $return = $item[3][2] };
  36         68  
3328 36 50       63 unless (defined $_tok)
3329             {
3330 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3331             if defined $::RD_TRACE;
3332 0         0 last;
3333             }
3334 36 50       60 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3335             . $_tok . q{])},
3336             Parse::RecDescent::_tracefirst($text))
3337             if defined $::RD_TRACE;
3338 36         46 push @item, $_tok;
3339 36         50 $item{__ACTION1__}=$_tok;
3340            
3341              
3342 36 50       55 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::', or /\\b/ '(' comma_hashref ')']<<},
3343             Parse::RecDescent::_tracefirst($text),
3344             q{class_load},
3345             $tracelevel)
3346             if defined $::RD_TRACE;
3347              
3348              
3349              
3350 36         54 $_matched = 1;
3351 36         65 last;
3352             }
3353              
3354              
3355 73 100 66     195 unless ( $_matched || defined($score) )
3356             {
3357            
3358              
3359 37         55 $_[1] = $text; # NOT SURE THIS IS NEEDED
3360 37 50       61 Parse::RecDescent::_trace(q{<>},
3361             Parse::RecDescent::_tracefirst($_[1]),
3362             q{class_load},
3363             $tracelevel)
3364             if defined $::RD_TRACE;
3365 37         136 return undef;
3366             }
3367 36 50 33     66 if (!defined($return) && defined($score))
3368             {
3369 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3370             q{class_load},
3371             $tracelevel)
3372             if defined $::RD_TRACE;
3373 0         0 $return = $score_return;
3374             }
3375 36         44 splice @{$thisparser->{errors}}, $err_at;
  36         66  
3376 36 50       62 $return = $item[$#item] unless defined $return;
3377 36 50       66 if (defined $::RD_TRACE)
3378             {
3379 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3380             $return . q{])}, "",
3381             q{class_load},
3382             $tracelevel);
3383 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3384             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3385             Parse::RecDescent::_tracefirst($text),
3386             , q{class_load},
3387             $tracelevel)
3388             }
3389 36         50 $_[1] = $text;
3390 36         214 return $return;
3391             }
3392              
3393             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3394             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load_first_existing
3395             {
3396 37     37   51 my $thisparser = $_[0];
3397 12     12   93 use vars q{$tracelevel};
  12         34  
  12         3680  
3398 37   50     76 local $tracelevel = ($tracelevel||0)+1;
3399 37         44 $ERRORS = 0;
3400 37         58 my $thisrule = $thisparser->{"rules"}{"class_load_first_existing"};
3401              
3402 37 50       66 Parse::RecDescent::_trace(q{Trying rule: [class_load_first_existing]},
3403             Parse::RecDescent::_tracefirst($_[1]),
3404             q{class_load_first_existing},
3405             $tracelevel)
3406             if defined $::RD_TRACE;
3407              
3408            
3409 37         46 my $err_at = @{$thisparser->{errors}};
  37         53  
3410              
3411 37         72 my $score;
3412             my $score_return;
3413 37         0 my $_tok;
3414 37         49 my $return = undef;
3415 37         54 my $_matched=0;
3416 37         49 my $commit=0;
3417 37         52 my @item = ();
3418 37         48 my %item = ();
3419 37         42 my $repeating = $_[2];
3420 37         60 my $_noactions = $_[3];
3421 37 50       66 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         39  
  37         61  
3422 37         56 my $_itempos = $_[5];
3423 37 50       67 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3424 37         80 my $text;
3425             my $lastsep;
3426 37         0 my $current_match;
3427 37         81 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::load_first_existing_class', or /\\bload_first_existing_class/});
3428 37         202 $expectation->at($_[1]);
3429            
3430 37         135 my $thisline;
3431 37         103 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3432              
3433            
3434              
3435 37   33     231 while (!$_matched && !$commit)
3436             {
3437            
3438 37 50       70 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::load_first_existing_class', or /\\bload_first_existing_class/ '(' first_existing_arg comma_first_existing_arg ')']},
3439             Parse::RecDescent::_tracefirst($_[1]),
3440             q{class_load_first_existing},
3441             $tracelevel)
3442             if defined $::RD_TRACE;
3443 37         54 my $thisprod = $thisrule->{"prods"}[0];
3444 37         52 $text = $_[1];
3445 37         44 my $_savetext;
3446 37         64 @item = (q{class_load_first_existing});
3447 37         62 %item = (__RULE__ => q{class_load_first_existing});
3448 37         49 my $repcount = 0;
3449              
3450              
3451 37 50       64 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]},
3452             Parse::RecDescent::_tracefirst($text),
3453             q{class_load_first_existing},
3454             $tracelevel)
3455             if defined $::RD_TRACE;
3456 12     12   81 if (1) { no strict qw{refs};
  12         24  
  12         3622  
  37         45  
3457 37         68 $expectation->is(q{})->at($text);
3458 37 100   37   297 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load_first_existing($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  37         57  
3459             {
3460            
3461 25 50       44 Parse::RecDescent::_trace(q{<>},
3462             Parse::RecDescent::_tracefirst($text),
3463             q{class_load_first_existing},
3464             $tracelevel)
3465             if defined $::RD_TRACE;
3466 25         58 $expectation->failed();
3467 25         69 last;
3468             }
3469 12 50       54 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]<< (return value: [}
3470             . $_tok . q{]},
3471              
3472             Parse::RecDescent::_tracefirst($text),
3473             q{class_load_first_existing},
3474             $tracelevel)
3475             if defined $::RD_TRACE;
3476 12         20 $item{q{_alternation_1_of_production_1_of_rule_class_load_first_existing}} = $_tok;
3477 12         18 push @item, $_tok;
3478            
3479             }
3480              
3481 12 50       20 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
3482             Parse::RecDescent::_tracefirst($text),
3483             q{class_load_first_existing},
3484             $tracelevel)
3485             if defined $::RD_TRACE;
3486 12         16 undef $lastsep;
3487 12         26 $expectation->is(q{'('})->at($text);
3488            
3489              
3490 12 50 33     104 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  12 50       76  
3491             {
3492 0 0       0 $text = $lastsep . $text if defined $lastsep;
3493            
3494 0         0 $expectation->failed();
3495 0 0       0 Parse::RecDescent::_trace(qq{<>},
3496             Parse::RecDescent::_tracefirst($text))
3497             if defined $::RD_TRACE;
3498 0         0 last;
3499             }
3500 12         41 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3501 12         27 substr($text,0,length($current_match),q{});
3502 12 50       24 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3503             . $current_match . q{])},
3504             Parse::RecDescent::_tracefirst($text))
3505             if defined $::RD_TRACE;
3506 12         23 push @item, $item{__STRING1__}=$current_match;
3507            
3508              
3509 12 50       19 Parse::RecDescent::_trace(q{Trying subrule: [first_existing_arg]},
3510             Parse::RecDescent::_tracefirst($text),
3511             q{class_load_first_existing},
3512             $tracelevel)
3513             if defined $::RD_TRACE;
3514 12     12   89 if (1) { no strict qw{refs};
  12         31  
  12         9370  
  12         22  
3515 12         24 $expectation->is(q{first_existing_arg})->at($text);
3516 12 50   12   94 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  12         20  
3517             {
3518            
3519 0 0       0 Parse::RecDescent::_trace(q{<>},
3520             Parse::RecDescent::_tracefirst($text),
3521             q{class_load_first_existing},
3522             $tracelevel)
3523             if defined $::RD_TRACE;
3524 0         0 $expectation->failed();
3525 0         0 last;
3526             }
3527 12 50       30 Parse::RecDescent::_trace(q{>>Matched subrule: [first_existing_arg]<< (return value: [}
3528             . $_tok . q{]},
3529              
3530             Parse::RecDescent::_tracefirst($text),
3531             q{class_load_first_existing},
3532             $tracelevel)
3533             if defined $::RD_TRACE;
3534 12         21 $item{q{first_existing_arg}} = $_tok;
3535 12         15 push @item, $_tok;
3536            
3537             }
3538              
3539 12 50       21 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_first_existing_arg]},
3540             Parse::RecDescent::_tracefirst($text),
3541             q{class_load_first_existing},
3542             $tracelevel)
3543             if defined $::RD_TRACE;
3544 12         26 $expectation->is(q{comma_first_existing_arg})->at($text);
3545            
3546 12 50   24   115 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_first_existing_arg, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  24         36  
3547             {
3548 0 0       0 Parse::RecDescent::_trace(q{<>},
3549             Parse::RecDescent::_tracefirst($text),
3550             q{class_load_first_existing},
3551             $tracelevel)
3552             if defined $::RD_TRACE;
3553 0         0 last;
3554             }
3555 12 50       133 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_first_existing_arg]<< (}
3556             . @$_tok . q{ times)},
3557              
3558             Parse::RecDescent::_tracefirst($text),
3559             q{class_load_first_existing},
3560             $tracelevel)
3561             if defined $::RD_TRACE;
3562 12         21 $item{q{comma_first_existing_arg(s?)}} = $_tok;
3563 12         18 push @item, $_tok;
3564            
3565              
3566              
3567 12 50       20 Parse::RecDescent::_trace(q{Trying terminal: [')']},
3568             Parse::RecDescent::_tracefirst($text),
3569             q{class_load_first_existing},
3570             $tracelevel)
3571             if defined $::RD_TRACE;
3572 12         15 undef $lastsep;
3573 12         33 $expectation->is(q{')'})->at($text);
3574            
3575              
3576 12 100 33     108 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  12 50       74  
3577             {
3578 0 0       0 $text = $lastsep . $text if defined $lastsep;
3579            
3580 0         0 $expectation->failed();
3581 0 0       0 Parse::RecDescent::_trace(qq{<>},
3582             Parse::RecDescent::_tracefirst($text))
3583             if defined $::RD_TRACE;
3584 0         0 last;
3585             }
3586 12         47 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3587 12         30 substr($text,0,length($current_match),q{});
3588 12 50       22 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3589             . $current_match . q{])},
3590             Parse::RecDescent::_tracefirst($text))
3591             if defined $::RD_TRACE;
3592 12         27 push @item, $item{__STRING2__}=$current_match;
3593            
3594              
3595 12 50       22 Parse::RecDescent::_trace(q{Trying action},
3596             Parse::RecDescent::_tracefirst($text),
3597             q{class_load_first_existing},
3598             $tracelevel)
3599             if defined $::RD_TRACE;
3600            
3601              
3602 12 50       19 $_tok = ($_noactions) ? 0 : do { $return = $item{first_existing_arg};
  12         20  
3603 12 50       27 $return .= " " . join(" ", @{$item{'comma_first_existing_arg(s?)'}}) if $item{'comma_first_existing_arg(s?)'};
  12         46  
3604 12         19 1;
3605             };
3606 12 50       24 unless (defined $_tok)
3607             {
3608 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3609             if defined $::RD_TRACE;
3610 0         0 last;
3611             }
3612 12 50       19 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3613             . $_tok . q{])},
3614             Parse::RecDescent::_tracefirst($text))
3615             if defined $::RD_TRACE;
3616 12         15 push @item, $_tok;
3617 12         19 $item{__ACTION1__}=$_tok;
3618            
3619              
3620 12 50       20 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::load_first_existing_class', or /\\bload_first_existing_class/ '(' first_existing_arg comma_first_existing_arg ')']<<},
3621             Parse::RecDescent::_tracefirst($text),
3622             q{class_load_first_existing},
3623             $tracelevel)
3624             if defined $::RD_TRACE;
3625              
3626              
3627              
3628 12         25 $_matched = 1;
3629 12         28 last;
3630             }
3631              
3632              
3633 37 100 66     117 unless ( $_matched || defined($score) )
3634             {
3635            
3636              
3637 25         36 $_[1] = $text; # NOT SURE THIS IS NEEDED
3638 25 50       52 Parse::RecDescent::_trace(q{<>},
3639             Parse::RecDescent::_tracefirst($_[1]),
3640             q{class_load_first_existing},
3641             $tracelevel)
3642             if defined $::RD_TRACE;
3643 25         92 return undef;
3644             }
3645 12 50 33     24 if (!defined($return) && defined($score))
3646             {
3647 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3648             q{class_load_first_existing},
3649             $tracelevel)
3650             if defined $::RD_TRACE;
3651 0         0 $return = $score_return;
3652             }
3653 12         15 splice @{$thisparser->{errors}}, $err_at;
  12         24  
3654 12 50       23 $return = $item[$#item] unless defined $return;
3655 12 50       19 if (defined $::RD_TRACE)
3656             {
3657 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3658             $return . q{])}, "",
3659             q{class_load_first_existing},
3660             $tracelevel);
3661 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3662             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3663             Parse::RecDescent::_tracefirst($text),
3664             , q{class_load_first_existing},
3665             $tracelevel)
3666             }
3667 12         27 $_[1] = $text;
3668 12         65 return $return;
3669             }
3670              
3671             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3672             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions
3673             {
3674 72     72   115 my $thisparser = $_[0];
3675 12     12   89 use vars q{$tracelevel};
  12         29  
  12         14055  
3676 72   50     169 local $tracelevel = ($tracelevel||0)+1;
3677 72         83 $ERRORS = 0;
3678 72         110 my $thisrule = $thisparser->{"rules"}{"class_load_functions"};
3679              
3680 72 50       122 Parse::RecDescent::_trace(q{Trying rule: [class_load_functions]},
3681             Parse::RecDescent::_tracefirst($_[1]),
3682             q{class_load_functions},
3683             $tracelevel)
3684             if defined $::RD_TRACE;
3685              
3686            
3687 72         81 my $err_at = @{$thisparser->{errors}};
  72         111  
3688              
3689 72         154 my $score;
3690             my $score_return;
3691 72         0 my $_tok;
3692 72         85 my $return = undef;
3693 72         79 my $_matched=0;
3694 72         90 my $commit=0;
3695 72         102 my @item = ();
3696 72         85 my %item = ();
3697 72         85 my $repeating = $_[2];
3698 72         106 my $_noactions = $_[3];
3699 72 50       118 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  72         80  
  72         102  
3700 72         94 my $_itempos = $_[5];
3701 72 50       125 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3702 72         135 my $text;
3703             my $lastsep;
3704 72         0 my $current_match;
3705 72         133 my $expectation = new Parse::RecDescent::Expectation(q{'load_class', or 'try_load_class', or 'load_optional_class'});
3706 72         376 $expectation->at($_[1]);
3707            
3708 72         236 my $thisline;
3709 72         162 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3710              
3711            
3712              
3713 72   33     450 while (!$_matched && !$commit)
3714             {
3715            
3716 72 50       124 Parse::RecDescent::_trace(q{Trying production: ['load_class']},
3717             Parse::RecDescent::_tracefirst($_[1]),
3718             q{class_load_functions},
3719             $tracelevel)
3720             if defined $::RD_TRACE;
3721 72         115 my $thisprod = $thisrule->{"prods"}[0];
3722 72         103 $text = $_[1];
3723 72         83 my $_savetext;
3724 72         114 @item = (q{class_load_functions});
3725 72         126 %item = (__RULE__ => q{class_load_functions});
3726 72         87 my $repcount = 0;
3727              
3728              
3729 72 50       126 Parse::RecDescent::_trace(q{Trying terminal: ['load_class']},
3730             Parse::RecDescent::_tracefirst($text),
3731             q{class_load_functions},
3732             $tracelevel)
3733             if defined $::RD_TRACE;
3734 72         113 undef $lastsep;
3735 72         127 $expectation->is(q{})->at($text);
3736            
3737              
3738 72 50 66     653 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aload_class/)
  72 100       413  
3739             {
3740 60 50       170 $text = $lastsep . $text if defined $lastsep;
3741            
3742 60         154 $expectation->failed();
3743 60 50       203 Parse::RecDescent::_trace(qq{<>},
3744             Parse::RecDescent::_tracefirst($text))
3745             if defined $::RD_TRACE;
3746 60         115 last;
3747             }
3748 12         46 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3749 12         28 substr($text,0,length($current_match),q{});
3750 12 50       20 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3751             . $current_match . q{])},
3752             Parse::RecDescent::_tracefirst($text))
3753             if defined $::RD_TRACE;
3754 12         22 push @item, $item{__STRING1__}=$current_match;
3755            
3756              
3757 12 50       27 Parse::RecDescent::_trace(q{>>Matched production: ['load_class']<<},
3758             Parse::RecDescent::_tracefirst($text),
3759             q{class_load_functions},
3760             $tracelevel)
3761             if defined $::RD_TRACE;
3762              
3763              
3764              
3765 12         14 $_matched = 1;
3766 12         66 last;
3767             }
3768              
3769              
3770 72   66     236 while (!$_matched && !$commit)
3771             {
3772            
3773 60 50       101 Parse::RecDescent::_trace(q{Trying production: ['try_load_class']},
3774             Parse::RecDescent::_tracefirst($_[1]),
3775             q{class_load_functions},
3776             $tracelevel)
3777             if defined $::RD_TRACE;
3778 60         88 my $thisprod = $thisrule->{"prods"}[1];
3779 60         91 $text = $_[1];
3780 60         70 my $_savetext;
3781 60         103 @item = (q{class_load_functions});
3782 60         112 %item = (__RULE__ => q{class_load_functions});
3783 60         78 my $repcount = 0;
3784              
3785              
3786 60 50       111 Parse::RecDescent::_trace(q{Trying terminal: ['try_load_class']},
3787             Parse::RecDescent::_tracefirst($text),
3788             q{class_load_functions},
3789             $tracelevel)
3790             if defined $::RD_TRACE;
3791 60         72 undef $lastsep;
3792 60         108 $expectation->is(q{})->at($text);
3793            
3794              
3795 60 50 66     466 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atry_load_class/)
  60 100       332  
3796             {
3797 48 50       124 $text = $lastsep . $text if defined $lastsep;
3798            
3799 48         116 $expectation->failed();
3800 48 50       149 Parse::RecDescent::_trace(qq{<>},
3801             Parse::RecDescent::_tracefirst($text))
3802             if defined $::RD_TRACE;
3803 48         76 last;
3804             }
3805 12         46 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3806 12         30 substr($text,0,length($current_match),q{});
3807 12 50       21 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3808             . $current_match . q{])},
3809             Parse::RecDescent::_tracefirst($text))
3810             if defined $::RD_TRACE;
3811 12         24 push @item, $item{__STRING1__}=$current_match;
3812            
3813              
3814 12 50       19 Parse::RecDescent::_trace(q{>>Matched production: ['try_load_class']<<},
3815             Parse::RecDescent::_tracefirst($text),
3816             q{class_load_functions},
3817             $tracelevel)
3818             if defined $::RD_TRACE;
3819              
3820              
3821              
3822 12         15 $_matched = 1;
3823 12         18 last;
3824             }
3825              
3826              
3827 72   66     186 while (!$_matched && !$commit)
3828             {
3829            
3830 48 50       88 Parse::RecDescent::_trace(q{Trying production: ['load_optional_class']},
3831             Parse::RecDescent::_tracefirst($_[1]),
3832             q{class_load_functions},
3833             $tracelevel)
3834             if defined $::RD_TRACE;
3835 48         68 my $thisprod = $thisrule->{"prods"}[2];
3836 48         71 $text = $_[1];
3837 48         60 my $_savetext;
3838 48         76 @item = (q{class_load_functions});
3839 48         87 %item = (__RULE__ => q{class_load_functions});
3840 48         63 my $repcount = 0;
3841              
3842              
3843 48 50       77 Parse::RecDescent::_trace(q{Trying terminal: ['load_optional_class']},
3844             Parse::RecDescent::_tracefirst($text),
3845             q{class_load_functions},
3846             $tracelevel)
3847             if defined $::RD_TRACE;
3848 48         65 undef $lastsep;
3849 48         86 $expectation->is(q{})->at($text);
3850            
3851              
3852 48 50 66     364 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aload_optional_class/)
  48 100       241  
3853             {
3854 36 50       80 $text = $lastsep . $text if defined $lastsep;
3855            
3856 36         79 $expectation->failed();
3857 36 50       111 Parse::RecDescent::_trace(qq{<>},
3858             Parse::RecDescent::_tracefirst($text))
3859             if defined $::RD_TRACE;
3860 36         62 last;
3861             }
3862 12         48 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3863 12         32 substr($text,0,length($current_match),q{});
3864 12 50       22 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3865             . $current_match . q{])},
3866             Parse::RecDescent::_tracefirst($text))
3867             if defined $::RD_TRACE;
3868 12         33 push @item, $item{__STRING1__}=$current_match;
3869            
3870              
3871 12 50       22 Parse::RecDescent::_trace(q{>>Matched production: ['load_optional_class']<<},
3872             Parse::RecDescent::_tracefirst($text),
3873             q{class_load_functions},
3874             $tracelevel)
3875             if defined $::RD_TRACE;
3876              
3877              
3878              
3879 12         14 $_matched = 1;
3880 12         21 last;
3881             }
3882              
3883              
3884 72 100 66     172 unless ( $_matched || defined($score) )
3885             {
3886            
3887              
3888 36         58 $_[1] = $text; # NOT SURE THIS IS NEEDED
3889 36 50       63 Parse::RecDescent::_trace(q{<>},
3890             Parse::RecDescent::_tracefirst($_[1]),
3891             q{class_load_functions},
3892             $tracelevel)
3893             if defined $::RD_TRACE;
3894 36         158 return undef;
3895             }
3896 36 50 33     108 if (!defined($return) && defined($score))
3897             {
3898 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3899             q{class_load_functions},
3900             $tracelevel)
3901             if defined $::RD_TRACE;
3902 0         0 $return = $score_return;
3903             }
3904 36         39 splice @{$thisparser->{errors}}, $err_at;
  36         73  
3905 36 50       75 $return = $item[$#item] unless defined $return;
3906 36 50       61 if (defined $::RD_TRACE)
3907             {
3908 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3909             $return . q{])}, "",
3910             q{class_load_functions},
3911             $tracelevel);
3912 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3913             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3914             Parse::RecDescent::_tracefirst($text),
3915             , q{class_load_functions},
3916             $tracelevel)
3917             }
3918 36         65 $_[1] = $text;
3919 36         199 return $return;
3920             }
3921              
3922             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3923             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma
3924             {
3925 304     304   469 my $thisparser = $_[0];
3926 12     12   95 use vars q{$tracelevel};
  12         22  
  12         3444  
3927 304   50     588 local $tracelevel = ($tracelevel||0)+1;
3928 304         389 $ERRORS = 0;
3929 304         504 my $thisrule = $thisparser->{"rules"}{"comma"};
3930              
3931 304 50       500 Parse::RecDescent::_trace(q{Trying rule: [comma]},
3932             Parse::RecDescent::_tracefirst($_[1]),
3933             q{comma},
3934             $tracelevel)
3935             if defined $::RD_TRACE;
3936              
3937            
3938 304         369 my $err_at = @{$thisparser->{errors}};
  304         459  
3939              
3940 304         601 my $score;
3941             my $score_return;
3942 304         0 my $_tok;
3943 304         389 my $return = undef;
3944 304         385 my $_matched=0;
3945 304         364 my $commit=0;
3946 304         683 my @item = ();
3947 304         367 my %item = ();
3948 304         376 my $repeating = $_[2];
3949 304         376 my $_noactions = $_[3];
3950 304 50       468 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  304         347  
  304         455  
3951 304         419 my $_itempos = $_[5];
3952 304 50       529 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3953 304         575 my $text;
3954             my $lastsep;
3955 304         0 my $current_match;
3956 304         604 my $expectation = new Parse::RecDescent::Expectation(q{',', or '=>'});
3957 304         1559 $expectation->at($_[1]);
3958            
3959 304         998 my $thisline;
3960 304         674 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3961              
3962            
3963              
3964 304   33     1789 while (!$_matched && !$commit)
3965             {
3966            
3967 304 50       518 Parse::RecDescent::_trace(q{Trying production: [',', or '=>']},
3968             Parse::RecDescent::_tracefirst($_[1]),
3969             q{comma},
3970             $tracelevel)
3971             if defined $::RD_TRACE;
3972 304         484 my $thisprod = $thisrule->{"prods"}[0];
3973 304         474 $text = $_[1];
3974 304         347 my $_savetext;
3975 304         485 @item = (q{comma});
3976 304         485 %item = (__RULE__ => q{comma});
3977 304         359 my $repcount = 0;
3978              
3979              
3980 304 50       477 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_comma]},
3981             Parse::RecDescent::_tracefirst($text),
3982             q{comma},
3983             $tracelevel)
3984             if defined $::RD_TRACE;
3985 12     12   90 if (1) { no strict qw{refs};
  12         29  
  12         4634  
  304         385  
3986 304         559 $expectation->is(q{})->at($text);
3987 304 100   304   2231 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  304         547  
3988             {
3989            
3990 171 50       301 Parse::RecDescent::_trace(q{<>},
3991             Parse::RecDescent::_tracefirst($text),
3992             q{comma},
3993             $tracelevel)
3994             if defined $::RD_TRACE;
3995 171         422 $expectation->failed();
3996 171         545 last;
3997             }
3998 133 50       409 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_comma]<< (return value: [}
3999             . $_tok . q{]},
4000              
4001             Parse::RecDescent::_tracefirst($text),
4002             q{comma},
4003             $tracelevel)
4004             if defined $::RD_TRACE;
4005 133         254 $item{q{_alternation_1_of_production_1_of_rule_comma}} = $_tok;
4006 133         203 push @item, $_tok;
4007            
4008             }
4009              
4010 133 50       237 Parse::RecDescent::_trace(q{>>Matched production: [',', or '=>']<<},
4011             Parse::RecDescent::_tracefirst($text),
4012             q{comma},
4013             $tracelevel)
4014             if defined $::RD_TRACE;
4015              
4016              
4017              
4018 133         186 $_matched = 1;
4019 133         181 last;
4020             }
4021              
4022              
4023 304 100 66     1006 unless ( $_matched || defined($score) )
4024             {
4025            
4026              
4027 171         289 $_[1] = $text; # NOT SURE THIS IS NEEDED
4028 171 50       289 Parse::RecDescent::_trace(q{<>},
4029             Parse::RecDescent::_tracefirst($_[1]),
4030             q{comma},
4031             $tracelevel)
4032             if defined $::RD_TRACE;
4033 171         676 return undef;
4034             }
4035 133 50 33     408 if (!defined($return) && defined($score))
4036             {
4037 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4038             q{comma},
4039             $tracelevel)
4040             if defined $::RD_TRACE;
4041 0         0 $return = $score_return;
4042             }
4043 133         186 splice @{$thisparser->{errors}}, $err_at;
  133         214  
4044 133 50       250 $return = $item[$#item] unless defined $return;
4045 133 50       254 if (defined $::RD_TRACE)
4046             {
4047 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4048             $return . q{])}, "",
4049             q{comma},
4050             $tracelevel);
4051 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4052             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4053             Parse::RecDescent::_tracefirst($text),
4054             , q{comma},
4055             $tracelevel)
4056             }
4057 133         200 $_[1] = $text;
4058 133         569 return $return;
4059             }
4060              
4061             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4062             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_first_existing_arg
4063             {
4064 24     24   326 my $thisparser = $_[0];
4065 12     12   90 use vars q{$tracelevel};
  12         25  
  12         3413  
4066 24   50     47 local $tracelevel = ($tracelevel||0)+1;
4067 24         36 $ERRORS = 0;
4068 24         38 my $thisrule = $thisparser->{"rules"}{"comma_first_existing_arg"};
4069              
4070 24 50       40 Parse::RecDescent::_trace(q{Trying rule: [comma_first_existing_arg]},
4071             Parse::RecDescent::_tracefirst($_[1]),
4072             q{comma_first_existing_arg},
4073             $tracelevel)
4074             if defined $::RD_TRACE;
4075              
4076            
4077 24         25 my $err_at = @{$thisparser->{errors}};
  24         36  
4078              
4079 24         44 my $score;
4080             my $score_return;
4081 24         0 my $_tok;
4082 24         28 my $return = undef;
4083 24         31 my $_matched=0;
4084 24         39 my $commit=0;
4085 24         30 my @item = ();
4086 24         30 my %item = ();
4087 24         28 my $repeating = $_[2];
4088 24         32 my $_noactions = $_[3];
4089 24 50       37 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  24         36  
  24         36  
4090 24         31 my $_itempos = $_[5];
4091 24 50       43 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4092 24         47 my $text;
4093             my $lastsep;
4094 24         0 my $current_match;
4095 24         48 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4096 24         138 $expectation->at($_[1]);
4097            
4098 24         80 my $thisline;
4099 24         66 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4100              
4101            
4102              
4103 24   33     149 while (!$_matched && !$commit)
4104             {
4105            
4106 24 50       43 Parse::RecDescent::_trace(q{Trying production: [comma first_existing_arg]},
4107             Parse::RecDescent::_tracefirst($_[1]),
4108             q{comma_first_existing_arg},
4109             $tracelevel)
4110             if defined $::RD_TRACE;
4111 24         41 my $thisprod = $thisrule->{"prods"}[0];
4112 24         33 $text = $_[1];
4113 24         28 my $_savetext;
4114 24         41 @item = (q{comma_first_existing_arg});
4115 24         41 %item = (__RULE__ => q{comma_first_existing_arg});
4116 24         28 my $repcount = 0;
4117              
4118              
4119 24 50       39 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4120             Parse::RecDescent::_tracefirst($text),
4121             q{comma_first_existing_arg},
4122             $tracelevel)
4123             if defined $::RD_TRACE;
4124 12     12   90 if (1) { no strict qw{refs};
  12         39  
  12         1783  
  24         30  
4125 24         41 $expectation->is(q{})->at($text);
4126 24 100   24   170 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  24         47  
4127             {
4128            
4129 12 50       20 Parse::RecDescent::_trace(q{<>},
4130             Parse::RecDescent::_tracefirst($text),
4131             q{comma_first_existing_arg},
4132             $tracelevel)
4133             if defined $::RD_TRACE;
4134 12         29 $expectation->failed();
4135 12         60 last;
4136             }
4137 12 50       31 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4138             . $_tok . q{]},
4139              
4140             Parse::RecDescent::_tracefirst($text),
4141             q{comma_first_existing_arg},
4142             $tracelevel)
4143             if defined $::RD_TRACE;
4144 12         29 $item{q{comma}} = $_tok;
4145 12         16 push @item, $_tok;
4146            
4147             }
4148              
4149 12 50       23 Parse::RecDescent::_trace(q{Trying subrule: [first_existing_arg]},
4150             Parse::RecDescent::_tracefirst($text),
4151             q{comma_first_existing_arg},
4152             $tracelevel)
4153             if defined $::RD_TRACE;
4154 12     12   80 if (1) { no strict qw{refs};
  12         25  
  12         5391  
  12         16  
4155 12         27 $expectation->is(q{first_existing_arg})->at($text);
4156 12 50   12   93 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  12         21  
4157             {
4158            
4159 0 0       0 Parse::RecDescent::_trace(q{<>},
4160             Parse::RecDescent::_tracefirst($text),
4161             q{comma_first_existing_arg},
4162             $tracelevel)
4163             if defined $::RD_TRACE;
4164 0         0 $expectation->failed();
4165 0         0 last;
4166             }
4167 12 50       32 Parse::RecDescent::_trace(q{>>Matched subrule: [first_existing_arg]<< (return value: [}
4168             . $_tok . q{]},
4169              
4170             Parse::RecDescent::_tracefirst($text),
4171             q{comma_first_existing_arg},
4172             $tracelevel)
4173             if defined $::RD_TRACE;
4174 12         33 $item{q{first_existing_arg}} = $_tok;
4175 12         18 push @item, $_tok;
4176            
4177             }
4178              
4179 12 50       22 Parse::RecDescent::_trace(q{Trying action},
4180             Parse::RecDescent::_tracefirst($text),
4181             q{comma_first_existing_arg},
4182             $tracelevel)
4183             if defined $::RD_TRACE;
4184            
4185              
4186 12 50       21 $_tok = ($_noactions) ? 0 : do { $return = $item{first_existing_arg} };
  12         19  
4187 12 50       25 unless (defined $_tok)
4188             {
4189 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4190             if defined $::RD_TRACE;
4191 0         0 last;
4192             }
4193 12 50       19 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4194             . $_tok . q{])},
4195             Parse::RecDescent::_tracefirst($text))
4196             if defined $::RD_TRACE;
4197 12         16 push @item, $_tok;
4198 12         19 $item{__ACTION1__}=$_tok;
4199            
4200              
4201 12 50       18 Parse::RecDescent::_trace(q{>>Matched production: [comma first_existing_arg]<<},
4202             Parse::RecDescent::_tracefirst($text),
4203             q{comma_first_existing_arg},
4204             $tracelevel)
4205             if defined $::RD_TRACE;
4206              
4207              
4208              
4209 12         18 $_matched = 1;
4210 12         17 last;
4211             }
4212              
4213              
4214 24 100 66     68 unless ( $_matched || defined($score) )
4215             {
4216            
4217              
4218 12         19 $_[1] = $text; # NOT SURE THIS IS NEEDED
4219 12 50       19 Parse::RecDescent::_trace(q{<>},
4220             Parse::RecDescent::_tracefirst($_[1]),
4221             q{comma_first_existing_arg},
4222             $tracelevel)
4223             if defined $::RD_TRACE;
4224 12         40 return undef;
4225             }
4226 12 50 33     32 if (!defined($return) && defined($score))
4227             {
4228 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4229             q{comma_first_existing_arg},
4230             $tracelevel)
4231             if defined $::RD_TRACE;
4232 0         0 $return = $score_return;
4233             }
4234 12         15 splice @{$thisparser->{errors}}, $err_at;
  12         18  
4235 12 50       23 $return = $item[$#item] unless defined $return;
4236 12 50       17 if (defined $::RD_TRACE)
4237             {
4238 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4239             $return . q{])}, "",
4240             q{comma_first_existing_arg},
4241             $tracelevel);
4242 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4243             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4244             Parse::RecDescent::_tracefirst($text),
4245             , q{comma_first_existing_arg},
4246             $tracelevel)
4247             }
4248 12         21 $_[1] = $text;
4249 12         44 return $return;
4250             }
4251              
4252             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4253             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_hash_pair
4254             {
4255 30     30   445 my $thisparser = $_[0];
4256 12     12   84 use vars q{$tracelevel};
  12         24  
  12         3655  
4257 30   50     63 local $tracelevel = ($tracelevel||0)+1;
4258 30         39 $ERRORS = 0;
4259 30         47 my $thisrule = $thisparser->{"rules"}{"comma_hash_pair"};
4260              
4261 30 50       51 Parse::RecDescent::_trace(q{Trying rule: [comma_hash_pair]},
4262             Parse::RecDescent::_tracefirst($_[1]),
4263             q{comma_hash_pair},
4264             $tracelevel)
4265             if defined $::RD_TRACE;
4266              
4267            
4268 30         40 my $err_at = @{$thisparser->{errors}};
  30         39  
4269              
4270 30         65 my $score;
4271             my $score_return;
4272 30         0 my $_tok;
4273 30         33 my $return = undef;
4274 30         34 my $_matched=0;
4275 30         33 my $commit=0;
4276 30         37 my @item = ();
4277 30         38 my %item = ();
4278 30         39 my $repeating = $_[2];
4279 30         32 my $_noactions = $_[3];
4280 30 50       45 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         37  
  30         43  
4281 30         40 my $_itempos = $_[5];
4282 30 50       51 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4283 30         57 my $text;
4284             my $lastsep;
4285 30         0 my $current_match;
4286 30         58 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4287 30         156 $expectation->at($_[1]);
4288            
4289 30         108 my $thisline;
4290 30         80 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4291              
4292            
4293              
4294 30   33     188 while (!$_matched && !$commit)
4295             {
4296            
4297 30 50       55 Parse::RecDescent::_trace(q{Trying production: [comma hash_pair]},
4298             Parse::RecDescent::_tracefirst($_[1]),
4299             q{comma_hash_pair},
4300             $tracelevel)
4301             if defined $::RD_TRACE;
4302 30         45 my $thisprod = $thisrule->{"prods"}[0];
4303 30         40 $text = $_[1];
4304 30         59 my $_savetext;
4305 30         52 @item = (q{comma_hash_pair});
4306 30         56 %item = (__RULE__ => q{comma_hash_pair});
4307 30         36 my $repcount = 0;
4308              
4309              
4310 30 50       46 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4311             Parse::RecDescent::_tracefirst($text),
4312             q{comma_hash_pair},
4313             $tracelevel)
4314             if defined $::RD_TRACE;
4315 12     12   98 if (1) { no strict qw{refs};
  12         31  
  12         1683  
  30         33  
4316 30         59 $expectation->is(q{})->at($text);
4317 30 100   30   215 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  30         46  
4318             {
4319            
4320 27 50       49 Parse::RecDescent::_trace(q{<>},
4321             Parse::RecDescent::_tracefirst($text),
4322             q{comma_hash_pair},
4323             $tracelevel)
4324             if defined $::RD_TRACE;
4325 27         56 $expectation->failed();
4326 27         78 last;
4327             }
4328 3 50       8 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4329             . $_tok . q{]},
4330              
4331             Parse::RecDescent::_tracefirst($text),
4332             q{comma_hash_pair},
4333             $tracelevel)
4334             if defined $::RD_TRACE;
4335 3         5 $item{q{comma}} = $_tok;
4336 3         6 push @item, $_tok;
4337            
4338             }
4339              
4340 3 50       15 Parse::RecDescent::_trace(q{Trying subrule: [hash_pair]},
4341             Parse::RecDescent::_tracefirst($text),
4342             q{comma_hash_pair},
4343             $tracelevel)
4344             if defined $::RD_TRACE;
4345 12     12   76 if (1) { no strict qw{refs};
  12         22  
  12         4600  
  3         5  
4346 3         9 $expectation->is(q{hash_pair})->at($text);
4347 3 50   3   26 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  3         5  
4348             {
4349            
4350 0 0       0 Parse::RecDescent::_trace(q{<>},
4351             Parse::RecDescent::_tracefirst($text),
4352             q{comma_hash_pair},
4353             $tracelevel)
4354             if defined $::RD_TRACE;
4355 0         0 $expectation->failed();
4356 0         0 last;
4357             }
4358 3 50       9 Parse::RecDescent::_trace(q{>>Matched subrule: [hash_pair]<< (return value: [}
4359             . $_tok . q{]},
4360              
4361             Parse::RecDescent::_tracefirst($text),
4362             q{comma_hash_pair},
4363             $tracelevel)
4364             if defined $::RD_TRACE;
4365 3         6 $item{q{hash_pair}} = $_tok;
4366 3         5 push @item, $_tok;
4367            
4368             }
4369              
4370 3 50       6 Parse::RecDescent::_trace(q{>>Matched production: [comma hash_pair]<<},
4371             Parse::RecDescent::_tracefirst($text),
4372             q{comma_hash_pair},
4373             $tracelevel)
4374             if defined $::RD_TRACE;
4375              
4376              
4377              
4378 3         3 $_matched = 1;
4379 3         5 last;
4380             }
4381              
4382              
4383 30 100 66     100 unless ( $_matched || defined($score) )
4384             {
4385            
4386              
4387 27         49 $_[1] = $text; # NOT SURE THIS IS NEEDED
4388 27 50       42 Parse::RecDescent::_trace(q{<>},
4389             Parse::RecDescent::_tracefirst($_[1]),
4390             q{comma_hash_pair},
4391             $tracelevel)
4392             if defined $::RD_TRACE;
4393 27         91 return undef;
4394             }
4395 3 50 33     10 if (!defined($return) && defined($score))
4396             {
4397 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4398             q{comma_hash_pair},
4399             $tracelevel)
4400             if defined $::RD_TRACE;
4401 0         0 $return = $score_return;
4402             }
4403 3         4 splice @{$thisparser->{errors}}, $err_at;
  3         6  
4404 3 50       7 $return = $item[$#item] unless defined $return;
4405 3 50       5 if (defined $::RD_TRACE)
4406             {
4407 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4408             $return . q{])}, "",
4409             q{comma_hash_pair},
4410             $tracelevel);
4411 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4412             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4413             Parse::RecDescent::_tracefirst($text),
4414             , q{comma_hash_pair},
4415             $tracelevel)
4416             }
4417 3         6 $_[1] = $text;
4418 3         12 return $return;
4419             }
4420              
4421             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4422             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref
4423             {
4424 60     60   836 my $thisparser = $_[0];
4425 12     12   96 use vars q{$tracelevel};
  12         29  
  12         3568  
4426 60   50     123 local $tracelevel = ($tracelevel||0)+1;
4427 60         83 $ERRORS = 0;
4428 60         95 my $thisrule = $thisparser->{"rules"}{"comma_hashref"};
4429              
4430 60 50       98 Parse::RecDescent::_trace(q{Trying rule: [comma_hashref]},
4431             Parse::RecDescent::_tracefirst($_[1]),
4432             q{comma_hashref},
4433             $tracelevel)
4434             if defined $::RD_TRACE;
4435              
4436            
4437 60         73 my $err_at = @{$thisparser->{errors}};
  60         96  
4438              
4439 60         114 my $score;
4440             my $score_return;
4441 60         0 my $_tok;
4442 60         72 my $return = undef;
4443 60         69 my $_matched=0;
4444 60         62 my $commit=0;
4445 60         75 my @item = ();
4446 60         76 my %item = ();
4447 60         66 my $repeating = $_[2];
4448 60         73 my $_noactions = $_[3];
4449 60 50       81 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  60         71  
  60         87  
4450 60         100 my $_itempos = $_[5];
4451 60 50       132 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4452 60         115 my $text;
4453             my $lastsep;
4454 60         0 my $current_match;
4455 60         125 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4456 60         327 $expectation->at($_[1]);
4457            
4458 60         215 my $thisline;
4459 60         160 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4460              
4461            
4462              
4463 60   33     378 while (!$_matched && !$commit)
4464             {
4465            
4466 60 50       117 Parse::RecDescent::_trace(q{Trying production: [comma hashref]},
4467             Parse::RecDescent::_tracefirst($_[1]),
4468             q{comma_hashref},
4469             $tracelevel)
4470             if defined $::RD_TRACE;
4471 60         91 my $thisprod = $thisrule->{"prods"}[0];
4472 60         88 $text = $_[1];
4473 60         65 my $_savetext;
4474 60         98 @item = (q{comma_hashref});
4475 60         89 %item = (__RULE__ => q{comma_hashref});
4476 60         77 my $repcount = 0;
4477              
4478              
4479 60 50       93 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4480             Parse::RecDescent::_tracefirst($text),
4481             q{comma_hashref},
4482             $tracelevel)
4483             if defined $::RD_TRACE;
4484 12     12   88 if (1) { no strict qw{refs};
  12         32  
  12         1831  
  60         66  
4485 60         108 $expectation->is(q{})->at($text);
4486 60 100   60   435 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  60         93  
4487             {
4488            
4489 24 50       39 Parse::RecDescent::_trace(q{<>},
4490             Parse::RecDescent::_tracefirst($text),
4491             q{comma_hashref},
4492             $tracelevel)
4493             if defined $::RD_TRACE;
4494 24         49 $expectation->failed();
4495 24         67 last;
4496             }
4497 36 50       80 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4498             . $_tok . q{]},
4499              
4500             Parse::RecDescent::_tracefirst($text),
4501             q{comma_hashref},
4502             $tracelevel)
4503             if defined $::RD_TRACE;
4504 36         60 $item{q{comma}} = $_tok;
4505 36         57 push @item, $_tok;
4506            
4507             }
4508              
4509 36 50       63 Parse::RecDescent::_trace(q{Trying subrule: [hashref]},
4510             Parse::RecDescent::_tracefirst($text),
4511             q{comma_hashref},
4512             $tracelevel)
4513             if defined $::RD_TRACE;
4514 12     12   79 if (1) { no strict qw{refs};
  12         20  
  12         4716  
  36         65  
4515 36         84 $expectation->is(q{hashref})->at($text);
4516 36 100   36   281 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hashref($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  36         54  
4517             {
4518            
4519 9 50       16 Parse::RecDescent::_trace(q{<>},
4520             Parse::RecDescent::_tracefirst($text),
4521             q{comma_hashref},
4522             $tracelevel)
4523             if defined $::RD_TRACE;
4524 9         20 $expectation->failed();
4525 9         61 last;
4526             }
4527 27 50       68 Parse::RecDescent::_trace(q{>>Matched subrule: [hashref]<< (return value: [}
4528             . $_tok . q{]},
4529              
4530             Parse::RecDescent::_tracefirst($text),
4531             q{comma_hashref},
4532             $tracelevel)
4533             if defined $::RD_TRACE;
4534 27         47 $item{q{hashref}} = $_tok;
4535 27         41 push @item, $_tok;
4536            
4537             }
4538              
4539 27 50       42 Parse::RecDescent::_trace(q{>>Matched production: [comma hashref]<<},
4540             Parse::RecDescent::_tracefirst($text),
4541             q{comma_hashref},
4542             $tracelevel)
4543             if defined $::RD_TRACE;
4544              
4545              
4546              
4547 27         35 $_matched = 1;
4548 27         34 last;
4549             }
4550              
4551              
4552 60 100 66     168 unless ( $_matched || defined($score) )
4553             {
4554            
4555              
4556 33         48 $_[1] = $text; # NOT SURE THIS IS NEEDED
4557 33 50       61 Parse::RecDescent::_trace(q{<>},
4558             Parse::RecDescent::_tracefirst($_[1]),
4559             q{comma_hashref},
4560             $tracelevel)
4561             if defined $::RD_TRACE;
4562 33         109 return undef;
4563             }
4564 27 50 33     77 if (!defined($return) && defined($score))
4565             {
4566 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4567             q{comma_hashref},
4568             $tracelevel)
4569             if defined $::RD_TRACE;
4570 0         0 $return = $score_return;
4571             }
4572 27         32 splice @{$thisparser->{errors}}, $err_at;
  27         45  
4573 27 50       54 $return = $item[$#item] unless defined $return;
4574 27 50       52 if (defined $::RD_TRACE)
4575             {
4576 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4577             $return . q{])}, "",
4578             q{comma_hashref},
4579             $tracelevel);
4580 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4581             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4582             Parse::RecDescent::_tracefirst($text),
4583             , q{comma_hashref},
4584             $tracelevel)
4585             }
4586 27         39 $_[1] = $text;
4587 27         109 return $return;
4588             }
4589              
4590             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4591             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_list_item
4592             {
4593 160     160   2472 my $thisparser = $_[0];
4594 12     12   131 use vars q{$tracelevel};
  12         37  
  12         3469  
4595 160   50     356 local $tracelevel = ($tracelevel||0)+1;
4596 160         220 $ERRORS = 0;
4597 160         282 my $thisrule = $thisparser->{"rules"}{"comma_list_item"};
4598              
4599 160 50       292 Parse::RecDescent::_trace(q{Trying rule: [comma_list_item]},
4600             Parse::RecDescent::_tracefirst($_[1]),
4601             q{comma_list_item},
4602             $tracelevel)
4603             if defined $::RD_TRACE;
4604              
4605            
4606 160         188 my $err_at = @{$thisparser->{errors}};
  160         243  
4607              
4608 160         320 my $score;
4609             my $score_return;
4610 160         0 my $_tok;
4611 160         207 my $return = undef;
4612 160         430 my $_matched=0;
4613 160         184 my $commit=0;
4614 160         247 my @item = ();
4615 160         218 my %item = ();
4616 160         190 my $repeating = $_[2];
4617 160         229 my $_noactions = $_[3];
4618 160 50       277 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  160         182  
  160         240  
4619 160         229 my $_itempos = $_[5];
4620 160 50       358 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4621 160         342 my $text;
4622             my $lastsep;
4623 160         0 my $current_match;
4624 160         354 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4625 160         898 $expectation->at($_[1]);
4626            
4627 160         547 my $thisline;
4628 160         452 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4629              
4630            
4631              
4632 160   33     1121 while (!$_matched && !$commit)
4633             {
4634            
4635 160 50       305 Parse::RecDescent::_trace(q{Trying production: [comma list_item]},
4636             Parse::RecDescent::_tracefirst($_[1]),
4637             q{comma_list_item},
4638             $tracelevel)
4639             if defined $::RD_TRACE;
4640 160         264 my $thisprod = $thisrule->{"prods"}[0];
4641 160         254 $text = $_[1];
4642 160         226 my $_savetext;
4643 160         304 @item = (q{comma_list_item});
4644 160         293 %item = (__RULE__ => q{comma_list_item});
4645 160         296 my $repcount = 0;
4646              
4647              
4648 160 50       319 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4649             Parse::RecDescent::_tracefirst($text),
4650             q{comma_list_item},
4651             $tracelevel)
4652             if defined $::RD_TRACE;
4653 12     12   85 if (1) { no strict qw{refs};
  12         24  
  12         1704  
  160         198  
4654 160         410 $expectation->is(q{})->at($text);
4655 160 100   160   1314 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  160         237  
4656             {
4657            
4658 108 50       202 Parse::RecDescent::_trace(q{<>},
4659             Parse::RecDescent::_tracefirst($text),
4660             q{comma_list_item},
4661             $tracelevel)
4662             if defined $::RD_TRACE;
4663 108         270 $expectation->failed();
4664 108         327 last;
4665             }
4666 52 50       148 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4667             . $_tok . q{]},
4668              
4669             Parse::RecDescent::_tracefirst($text),
4670             q{comma_list_item},
4671             $tracelevel)
4672             if defined $::RD_TRACE;
4673 52         109 $item{q{comma}} = $_tok;
4674 52         100 push @item, $_tok;
4675            
4676             }
4677              
4678 52 50       104 Parse::RecDescent::_trace(q{Trying subrule: [list_item]},
4679             Parse::RecDescent::_tracefirst($text),
4680             q{comma_list_item},
4681             $tracelevel)
4682             if defined $::RD_TRACE;
4683 12     12   83 if (1) { no strict qw{refs};
  12         29  
  12         5516  
  52         82  
4684 52         124 $expectation->is(q{list_item})->at($text);
4685 52 100   52   480 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::list_item($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  52         87  
4686             {
4687            
4688 1 50       3 Parse::RecDescent::_trace(q{<>},
4689             Parse::RecDescent::_tracefirst($text),
4690             q{comma_list_item},
4691             $tracelevel)
4692             if defined $::RD_TRACE;
4693 1         4 $expectation->failed();
4694 1         8 last;
4695             }
4696 51 50       159 Parse::RecDescent::_trace(q{>>Matched subrule: [list_item]<< (return value: [}
4697             . $_tok . q{]},
4698              
4699             Parse::RecDescent::_tracefirst($text),
4700             q{comma_list_item},
4701             $tracelevel)
4702             if defined $::RD_TRACE;
4703 51         113 $item{q{list_item}} = $_tok;
4704 51         82 push @item, $_tok;
4705            
4706             }
4707              
4708 51 50       114 Parse::RecDescent::_trace(q{Trying action},
4709             Parse::RecDescent::_tracefirst($text),
4710             q{comma_list_item},
4711             $tracelevel)
4712             if defined $::RD_TRACE;
4713            
4714              
4715 51 50       99 $_tok = ($_noactions) ? 0 : do { $return=$item{list_item} };
  51         95  
4716 51 50       112 unless (defined $_tok)
4717             {
4718 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4719             if defined $::RD_TRACE;
4720 0         0 last;
4721             }
4722 51 50       97 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4723             . $_tok . q{])},
4724             Parse::RecDescent::_tracefirst($text))
4725             if defined $::RD_TRACE;
4726 51         68 push @item, $_tok;
4727 51         81 $item{__ACTION1__}=$_tok;
4728            
4729              
4730 51 50       108 Parse::RecDescent::_trace(q{>>Matched production: [comma list_item]<<},
4731             Parse::RecDescent::_tracefirst($text),
4732             q{comma_list_item},
4733             $tracelevel)
4734             if defined $::RD_TRACE;
4735              
4736              
4737              
4738 51         81 $_matched = 1;
4739 51         73 last;
4740             }
4741              
4742              
4743 160 100 66     536 unless ( $_matched || defined($score) )
4744             {
4745            
4746              
4747 109         190 $_[1] = $text; # NOT SURE THIS IS NEEDED
4748 109 50       209 Parse::RecDescent::_trace(q{<>},
4749             Parse::RecDescent::_tracefirst($_[1]),
4750             q{comma_list_item},
4751             $tracelevel)
4752             if defined $::RD_TRACE;
4753 109         399 return undef;
4754             }
4755 51 50 33     126 if (!defined($return) && defined($score))
4756             {
4757 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4758             q{comma_list_item},
4759             $tracelevel)
4760             if defined $::RD_TRACE;
4761 0         0 $return = $score_return;
4762             }
4763 51         73 splice @{$thisparser->{errors}}, $err_at;
  51         100  
4764 51 50       108 $return = $item[$#item] unless defined $return;
4765 51 50       99 if (defined $::RD_TRACE)
4766             {
4767 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4768             $return . q{])}, "",
4769             q{comma_list_item},
4770             $tracelevel);
4771 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4772             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4773             Parse::RecDescent::_tracefirst($text),
4774             , q{comma_list_item},
4775             $tracelevel)
4776             }
4777 51         82 $_[1] = $text;
4778 51         221 return $return;
4779             }
4780              
4781             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4782             sub Parse::RecDescent::Module::ExtractUse::Grammar::eos
4783             {
4784 186     186   289 my $thisparser = $_[0];
4785 12     12   84 use vars q{$tracelevel};
  12         30  
  12         7474  
4786 186   50     576 local $tracelevel = ($tracelevel||0)+1;
4787 186         248 $ERRORS = 0;
4788 186         326 my $thisrule = $thisparser->{"rules"}{"eos"};
4789              
4790 186 50       352 Parse::RecDescent::_trace(q{Trying rule: [eos]},
4791             Parse::RecDescent::_tracefirst($_[1]),
4792             q{eos},
4793             $tracelevel)
4794             if defined $::RD_TRACE;
4795              
4796            
4797 186         230 my $err_at = @{$thisparser->{errors}};
  186         285  
4798              
4799 186         390 my $score;
4800             my $score_return;
4801 186         0 my $_tok;
4802 186         227 my $return = undef;
4803 186         223 my $_matched=0;
4804 186         544 my $commit=0;
4805 186         283 my @item = ();
4806 186         251 my %item = ();
4807 186         235 my $repeating = $_[2];
4808 186         262 my $_noactions = $_[3];
4809 186 50       329 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         256  
  186         316  
4810 186         295 my $_itempos = $_[5];
4811 186 50       383 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4812 186         551 my $text;
4813             my $lastsep;
4814 186         0 my $current_match;
4815 186         401 my $expectation = new Parse::RecDescent::Expectation(q{});
4816 186         1052 $expectation->at($_[1]);
4817            
4818 186         630 my $thisline;
4819 186         483 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4820              
4821            
4822              
4823 186   33     1214 while (!$_matched && !$commit)
4824             {
4825            
4826 186 50       350 Parse::RecDescent::_trace(q{Trying production: []},
4827             Parse::RecDescent::_tracefirst($_[1]),
4828             q{eos},
4829             $tracelevel)
4830             if defined $::RD_TRACE;
4831 186         336 my $thisprod = $thisrule->{"prods"}[0];
4832 186         330 $text = $_[1];
4833 186         370 my $_savetext;
4834 186         316 @item = (q{eos});
4835 186         327 %item = (__RULE__ => q{eos});
4836 186         403 my $repcount = 0;
4837              
4838              
4839 186 50       324 Parse::RecDescent::_trace(q{Trying action},
4840             Parse::RecDescent::_tracefirst($text),
4841             q{eos},
4842             $tracelevel)
4843             if defined $::RD_TRACE;
4844            
4845              
4846 186 100       299 $_tok = ($_noactions) ? 0 : do { $text=~/^[\s;]+$/ ? 1 : undef;};
  186 50       831  
4847 186 100       429 unless (defined $_tok)
4848             {
4849 73 50       995 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4850             if defined $::RD_TRACE;
4851 73         137 last;
4852             }
4853 113 50       226 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4854             . $_tok . q{])},
4855             Parse::RecDescent::_tracefirst($text))
4856             if defined $::RD_TRACE;
4857 113         166 push @item, $_tok;
4858 113         189 $item{__ACTION1__}=$_tok;
4859            
4860              
4861 113 50       187 Parse::RecDescent::_trace(q{>>Matched production: []<<},
4862             Parse::RecDescent::_tracefirst($text),
4863             q{eos},
4864             $tracelevel)
4865             if defined $::RD_TRACE;
4866              
4867              
4868              
4869 113         138 $_matched = 1;
4870 113         200 last;
4871             }
4872              
4873              
4874 186 100 66     488 unless ( $_matched || defined($score) )
4875             {
4876            
4877              
4878 73         135 $_[1] = $text; # NOT SURE THIS IS NEEDED
4879 73 50       146 Parse::RecDescent::_trace(q{<>},
4880             Parse::RecDescent::_tracefirst($_[1]),
4881             q{eos},
4882             $tracelevel)
4883             if defined $::RD_TRACE;
4884 73         341 return undef;
4885             }
4886 113 50 33     394 if (!defined($return) && defined($score))
4887             {
4888 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4889             q{eos},
4890             $tracelevel)
4891             if defined $::RD_TRACE;
4892 0         0 $return = $score_return;
4893             }
4894 113         171 splice @{$thisparser->{errors}}, $err_at;
  113         238  
4895 113 50       254 $return = $item[$#item] unless defined $return;
4896 113 50       206 if (defined $::RD_TRACE)
4897             {
4898 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4899             $return . q{])}, "",
4900             q{eos},
4901             $tracelevel);
4902 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4903             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4904             Parse::RecDescent::_tracefirst($text),
4905             , q{eos},
4906             $tracelevel)
4907             }
4908 113         191 $_[1] = $text;
4909 113         513 return $return;
4910             }
4911              
4912             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4913             sub Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg
4914             {
4915 24     24   35 my $thisparser = $_[0];
4916 12     12   489 use vars q{$tracelevel};
  12         37  
  12         9681  
4917 24   50     54 local $tracelevel = ($tracelevel||0)+1;
4918 24         31 $ERRORS = 0;
4919 24         35 my $thisrule = $thisparser->{"rules"}{"first_existing_arg"};
4920              
4921 24 50       40 Parse::RecDescent::_trace(q{Trying rule: [first_existing_arg]},
4922             Parse::RecDescent::_tracefirst($_[1]),
4923             q{first_existing_arg},
4924             $tracelevel)
4925             if defined $::RD_TRACE;
4926              
4927            
4928 24         27 my $err_at = @{$thisparser->{errors}};
  24         33  
4929              
4930 24         48 my $score;
4931             my $score_return;
4932 24         0 my $_tok;
4933 24         27 my $return = undef;
4934 24         28 my $_matched=0;
4935 24         28 my $commit=0;
4936 24         34 my @item = ();
4937 24         29 my %item = ();
4938 24         29 my $repeating = $_[2];
4939 24         25 my $_noactions = $_[3];
4940 24 50       39 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  24         31  
  24         28  
4941 24         30 my $_itempos = $_[5];
4942 24 50       47 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4943 24         41 my $text;
4944             my $lastsep;
4945 24         0 my $current_match;
4946 24         47 my $expectation = new Parse::RecDescent::Expectation(q{});
4947 24         125 $expectation->at($_[1]);
4948            
4949 24         78 my $thisline;
4950 24         62 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4951              
4952            
4953              
4954 24   33     146 while (!$_matched && !$commit)
4955             {
4956            
4957 24 50       35 Parse::RecDescent::_trace(q{Trying production: [ comma_hashref]},
4958             Parse::RecDescent::_tracefirst($_[1]),
4959             q{first_existing_arg},
4960             $tracelevel)
4961             if defined $::RD_TRACE;
4962 24         57 my $thisprod = $thisrule->{"prods"}[0];
4963 24         30 $text = $_[1];
4964 24         25 my $_savetext;
4965 24         39 @item = (q{first_existing_arg});
4966 24         35 %item = (__RULE__ => q{first_existing_arg});
4967 24         28 my $repcount = 0;
4968              
4969              
4970            
4971              
4972 24 50       41 Parse::RecDescent::_trace(q{Trying directive: []},
4973             Parse::RecDescent::_tracefirst($text),
4974             q{first_existing_arg},
4975             $tracelevel)
4976             if defined $::RD_TRACE;
4977 24         27 $_tok = do { my ($match,@res);
  24         31  
4978 24         50 ($match,$text,undef,@res) =
4979             Text::Balanced::extract_quotelike($text,$skip);
4980 24 50       1810 $match ? \@res : undef;
4981             };
4982 24 50       44 if (defined($_tok))
4983             {
4984 24 50       47 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4985             . $_tok . q{])},
4986             Parse::RecDescent::_tracefirst($text))
4987             if defined $::RD_TRACE;
4988             }
4989             else
4990             {
4991 0 0       0 Parse::RecDescent::_trace(q{<>},
4992             Parse::RecDescent::_tracefirst($text))
4993             if defined $::RD_TRACE;
4994             }
4995            
4996 24 50       44 last unless defined $_tok;
4997 24         44 push @item, $item{__DIRECTIVE1__}=$_tok;
4998            
4999              
5000 24 50       37 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hashref]},
5001             Parse::RecDescent::_tracefirst($text),
5002             q{first_existing_arg},
5003             $tracelevel)
5004             if defined $::RD_TRACE;
5005 24         56 $expectation->is(q{comma_hashref})->at($text);
5006            
5007 24 50   24   204 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  24         35  
5008             {
5009 0 0       0 Parse::RecDescent::_trace(q{<>},
5010             Parse::RecDescent::_tracefirst($text),
5011             q{first_existing_arg},
5012             $tracelevel)
5013             if defined $::RD_TRACE;
5014 0         0 last;
5015             }
5016 24 50       286 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hashref]<< (}
5017             . @$_tok . q{ times)},
5018              
5019             Parse::RecDescent::_tracefirst($text),
5020             q{first_existing_arg},
5021             $tracelevel)
5022             if defined $::RD_TRACE;
5023 24         39 $item{q{comma_hashref(?)}} = $_tok;
5024 24         34 push @item, $_tok;
5025            
5026              
5027              
5028 24 50       41 Parse::RecDescent::_trace(q{Trying action},
5029             Parse::RecDescent::_tracefirst($text),
5030             q{first_existing_arg},
5031             $tracelevel)
5032             if defined $::RD_TRACE;
5033            
5034              
5035 24 50       39 $_tok = ($_noactions) ? 0 : do { $return = $item[1][2] };
  24         43  
5036 24 50       44 unless (defined $_tok)
5037             {
5038 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5039             if defined $::RD_TRACE;
5040 0         0 last;
5041             }
5042 24 50       36 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5043             . $_tok . q{])},
5044             Parse::RecDescent::_tracefirst($text))
5045             if defined $::RD_TRACE;
5046 24         35 push @item, $_tok;
5047 24         32 $item{__ACTION1__}=$_tok;
5048            
5049              
5050 24 50       38 Parse::RecDescent::_trace(q{>>Matched production: [ comma_hashref]<<},
5051             Parse::RecDescent::_tracefirst($text),
5052             q{first_existing_arg},
5053             $tracelevel)
5054             if defined $::RD_TRACE;
5055              
5056              
5057              
5058 24         29 $_matched = 1;
5059 24         40 last;
5060             }
5061              
5062              
5063 24 50 33     44 unless ( $_matched || defined($score) )
5064             {
5065            
5066              
5067 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5068 0 0       0 Parse::RecDescent::_trace(q{<>},
5069             Parse::RecDescent::_tracefirst($_[1]),
5070             q{first_existing_arg},
5071             $tracelevel)
5072             if defined $::RD_TRACE;
5073 0         0 return undef;
5074             }
5075 24 50 33     43 if (!defined($return) && defined($score))
5076             {
5077 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5078             q{first_existing_arg},
5079             $tracelevel)
5080             if defined $::RD_TRACE;
5081 0         0 $return = $score_return;
5082             }
5083 24         29 splice @{$thisparser->{errors}}, $err_at;
  24         40  
5084 24 50       44 $return = $item[$#item] unless defined $return;
5085 24 50       35 if (defined $::RD_TRACE)
5086             {
5087 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5088             $return . q{])}, "",
5089             q{first_existing_arg},
5090             $tracelevel);
5091 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5092             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5093             Parse::RecDescent::_tracefirst($text),
5094             , q{first_existing_arg},
5095             $tracelevel)
5096             }
5097 24         39 $_[1] = $text;
5098 24         122 return $return;
5099             }
5100              
5101             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5102             sub Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair
5103             {
5104 30     30   48 my $thisparser = $_[0];
5105 12     12   90 use vars q{$tracelevel};
  12         23  
  12         5048  
5106 30   50     62 local $tracelevel = ($tracelevel||0)+1;
5107 30         37 $ERRORS = 0;
5108 30         48 my $thisrule = $thisparser->{"rules"}{"hash_pair"};
5109              
5110 30 50       51 Parse::RecDescent::_trace(q{Trying rule: [hash_pair]},
5111             Parse::RecDescent::_tracefirst($_[1]),
5112             q{hash_pair},
5113             $tracelevel)
5114             if defined $::RD_TRACE;
5115              
5116            
5117 30         35 my $err_at = @{$thisparser->{errors}};
  30         43  
5118              
5119 30         66 my $score;
5120             my $score_return;
5121 30         0 my $_tok;
5122 30         39 my $return = undef;
5123 30         39 my $_matched=0;
5124 30         59 my $commit=0;
5125 30         39 my @item = ();
5126 30         36 my %item = ();
5127 30         37 my $repeating = $_[2];
5128 30         40 my $_noactions = $_[3];
5129 30 50       48 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         40  
  30         45  
5130 30         44 my $_itempos = $_[5];
5131 30 50       66 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5132 30         57 my $text;
5133             my $lastsep;
5134 30         0 my $current_match;
5135 30         61 my $expectation = new Parse::RecDescent::Expectation(q{/\\S+/});
5136 30         153 $expectation->at($_[1]);
5137            
5138 30         105 my $thisline;
5139 30         71 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5140              
5141            
5142              
5143 30   33     185 while (!$_matched && !$commit)
5144             {
5145            
5146 30 50       50 Parse::RecDescent::_trace(q{Trying production: [/\\S+/ comma /[^\\s,\}]+/]},
5147             Parse::RecDescent::_tracefirst($_[1]),
5148             q{hash_pair},
5149             $tracelevel)
5150             if defined $::RD_TRACE;
5151 30         54 my $thisprod = $thisrule->{"prods"}[0];
5152 30         39 $text = $_[1];
5153 30         35 my $_savetext;
5154 30         48 @item = (q{hash_pair});
5155 30         41 %item = (__RULE__ => q{hash_pair});
5156 30         46 my $repcount = 0;
5157              
5158              
5159 30 50       48 Parse::RecDescent::_trace(q{Trying terminal: [/\\S+/]}, Parse::RecDescent::_tracefirst($text),
5160             q{hash_pair},
5161             $tracelevel)
5162             if defined $::RD_TRACE;
5163 30         44 undef $lastsep;
5164 30         55 $expectation->is(q{})->at($text);
5165            
5166              
5167 30 50 33     261 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\S+)/)
  30 50       214  
5168             {
5169 0 0       0 $text = $lastsep . $text if defined $lastsep;
5170 0         0 $expectation->failed();
5171 0 0       0 Parse::RecDescent::_trace(q{<>},
5172             Parse::RecDescent::_tracefirst($text))
5173             if defined $::RD_TRACE;
5174              
5175 0         0 last;
5176             }
5177 30         103 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5178 30         72 substr($text,0,length($current_match),q{});
5179 30 50       61 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5180             . $current_match . q{])},
5181             Parse::RecDescent::_tracefirst($text))
5182             if defined $::RD_TRACE;
5183 30         96 push @item, $item{__PATTERN1__}=$current_match;
5184            
5185              
5186 30 50       65 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
5187             Parse::RecDescent::_tracefirst($text),
5188             q{hash_pair},
5189             $tracelevel)
5190             if defined $::RD_TRACE;
5191 12     12   86 if (1) { no strict qw{refs};
  12         19  
  12         2227  
  30         35  
5192 30         61 $expectation->is(q{comma})->at($text);
5193 30 50   30   237 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  30         47  
5194             {
5195            
5196 0 0       0 Parse::RecDescent::_trace(q{<>},
5197             Parse::RecDescent::_tracefirst($text),
5198             q{hash_pair},
5199             $tracelevel)
5200             if defined $::RD_TRACE;
5201 0         0 $expectation->failed();
5202 0         0 last;
5203             }
5204 30 50       86 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
5205             . $_tok . q{]},
5206              
5207             Parse::RecDescent::_tracefirst($text),
5208             q{hash_pair},
5209             $tracelevel)
5210             if defined $::RD_TRACE;
5211 30         56 $item{q{comma}} = $_tok;
5212 30         41 push @item, $_tok;
5213            
5214             }
5215              
5216 30 50       48 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_hash_pair]},
5217             Parse::RecDescent::_tracefirst($text),
5218             q{hash_pair},
5219             $tracelevel)
5220             if defined $::RD_TRACE;
5221 12     12   80 if (1) { no strict qw{refs};
  12         27  
  12         4510  
  30         38  
5222 30         71 $expectation->is(q{/[^\\s,\}]+/})->at($text);
5223 30 50   30   237 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_hash_pair($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  30         44  
5224             {
5225            
5226 0 0       0 Parse::RecDescent::_trace(q{<>},
5227             Parse::RecDescent::_tracefirst($text),
5228             q{hash_pair},
5229             $tracelevel)
5230             if defined $::RD_TRACE;
5231 0         0 $expectation->failed();
5232 0         0 last;
5233             }
5234 30 50       99 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_hash_pair]<< (return value: [}
5235             . $_tok . q{]},
5236              
5237             Parse::RecDescent::_tracefirst($text),
5238             q{hash_pair},
5239             $tracelevel)
5240             if defined $::RD_TRACE;
5241 30         52 $item{q{_alternation_1_of_production_1_of_rule_hash_pair}} = $_tok;
5242 30         49 push @item, $_tok;
5243            
5244             }
5245              
5246 30 50       42 Parse::RecDescent::_trace(q{>>Matched production: [/\\S+/ comma /[^\\s,\}]+/]<<},
5247             Parse::RecDescent::_tracefirst($text),
5248             q{hash_pair},
5249             $tracelevel)
5250             if defined $::RD_TRACE;
5251              
5252              
5253              
5254 30         39 $_matched = 1;
5255 30         47 last;
5256             }
5257              
5258              
5259 30 50 33     54 unless ( $_matched || defined($score) )
5260             {
5261            
5262              
5263 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5264 0 0       0 Parse::RecDescent::_trace(q{<>},
5265             Parse::RecDescent::_tracefirst($_[1]),
5266             q{hash_pair},
5267             $tracelevel)
5268             if defined $::RD_TRACE;
5269 0         0 return undef;
5270             }
5271 30 50 33     81 if (!defined($return) && defined($score))
5272             {
5273 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5274             q{hash_pair},
5275             $tracelevel)
5276             if defined $::RD_TRACE;
5277 0         0 $return = $score_return;
5278             }
5279 30         38 splice @{$thisparser->{errors}}, $err_at;
  30         48  
5280 30 50       63 $return = $item[$#item] unless defined $return;
5281 30 50       53 if (defined $::RD_TRACE)
5282             {
5283 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5284             $return . q{])}, "",
5285             q{hash_pair},
5286             $tracelevel);
5287 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5288             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5289             Parse::RecDescent::_tracefirst($text),
5290             , q{hash_pair},
5291             $tracelevel)
5292             }
5293 30         43 $_[1] = $text;
5294 30         131 return $return;
5295             }
5296              
5297             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5298             sub Parse::RecDescent::Module::ExtractUse::Grammar::hashref
5299             {
5300 36     36   57 my $thisparser = $_[0];
5301 12     12   84 use vars q{$tracelevel};
  12         36  
  12         4984  
5302 36   50     65 local $tracelevel = ($tracelevel||0)+1;
5303 36         50 $ERRORS = 0;
5304 36         57 my $thisrule = $thisparser->{"rules"}{"hashref"};
5305              
5306 36 50       68 Parse::RecDescent::_trace(q{Trying rule: [hashref]},
5307             Parse::RecDescent::_tracefirst($_[1]),
5308             q{hashref},
5309             $tracelevel)
5310             if defined $::RD_TRACE;
5311              
5312            
5313 36         40 my $err_at = @{$thisparser->{errors}};
  36         53  
5314              
5315 36         75 my $score;
5316             my $score_return;
5317 36         0 my $_tok;
5318 36         42 my $return = undef;
5319 36         48 my $_matched=0;
5320 36         41 my $commit=0;
5321 36         51 my @item = ();
5322 36         45 my %item = ();
5323 36         47 my $repeating = $_[2];
5324 36         44 my $_noactions = $_[3];
5325 36 50       61 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  36         41  
  36         51  
5326 36         46 my $_itempos = $_[5];
5327 36 50       69 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5328 36         70 my $text;
5329             my $lastsep;
5330 36         0 my $current_match;
5331 36         76 my $expectation = new Parse::RecDescent::Expectation(q{'\{'});
5332 36         187 $expectation->at($_[1]);
5333            
5334 36         112 my $thisline;
5335 36         94 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5336              
5337            
5338              
5339 36   33     221 while (!$_matched && !$commit)
5340             {
5341            
5342 36 50       72 Parse::RecDescent::_trace(q{Trying production: ['\{' hash_pair comma_hash_pair '\}']},
5343             Parse::RecDescent::_tracefirst($_[1]),
5344             q{hashref},
5345             $tracelevel)
5346             if defined $::RD_TRACE;
5347 36         59 my $thisprod = $thisrule->{"prods"}[0];
5348 36         46 $text = $_[1];
5349 36         45 my $_savetext;
5350 36         60 @item = (q{hashref});
5351 36         59 %item = (__RULE__ => q{hashref});
5352 36         51 my $repcount = 0;
5353              
5354              
5355 36 50       51 Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
5356             Parse::RecDescent::_tracefirst($text),
5357             q{hashref},
5358             $tracelevel)
5359             if defined $::RD_TRACE;
5360 36         62 undef $lastsep;
5361 36         75 $expectation->is(q{})->at($text);
5362            
5363              
5364 36 50 66     327 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\{/)
  36 100       267  
5365             {
5366 9 50       53 $text = $lastsep . $text if defined $lastsep;
5367            
5368 9         26 $expectation->failed();
5369 9 50       31 Parse::RecDescent::_trace(qq{<>},
5370             Parse::RecDescent::_tracefirst($text))
5371             if defined $::RD_TRACE;
5372 9         16 last;
5373             }
5374 27         98 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5375 27         67 substr($text,0,length($current_match),q{});
5376 27 50       48 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5377             . $current_match . q{])},
5378             Parse::RecDescent::_tracefirst($text))
5379             if defined $::RD_TRACE;
5380 27         53 push @item, $item{__STRING1__}=$current_match;
5381            
5382              
5383 27 50       59 Parse::RecDescent::_trace(q{Trying subrule: [hash_pair]},
5384             Parse::RecDescent::_tracefirst($text),
5385             q{hashref},
5386             $tracelevel)
5387             if defined $::RD_TRACE;
5388 12     12   84 if (1) { no strict qw{refs};
  12         21  
  12         8147  
  27         35  
5389 27         53 $expectation->is(q{hash_pair})->at($text);
5390 27 50   27   208 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         41  
5391             {
5392            
5393 0 0       0 Parse::RecDescent::_trace(q{<>},
5394             Parse::RecDescent::_tracefirst($text),
5395             q{hashref},
5396             $tracelevel)
5397             if defined $::RD_TRACE;
5398 0         0 $expectation->failed();
5399 0         0 last;
5400             }
5401 27 50       62 Parse::RecDescent::_trace(q{>>Matched subrule: [hash_pair]<< (return value: [}
5402             . $_tok . q{]},
5403              
5404             Parse::RecDescent::_tracefirst($text),
5405             q{hashref},
5406             $tracelevel)
5407             if defined $::RD_TRACE;
5408 27         44 $item{q{hash_pair}} = $_tok;
5409 27         46 push @item, $_tok;
5410            
5411             }
5412              
5413 27 50       44 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hash_pair]},
5414             Parse::RecDescent::_tracefirst($text),
5415             q{hashref},
5416             $tracelevel)
5417             if defined $::RD_TRACE;
5418 27         61 $expectation->is(q{comma_hash_pair})->at($text);
5419            
5420 27 50   30   234 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hash_pair, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  30         45  
5421             {
5422 0 0       0 Parse::RecDescent::_trace(q{<>},
5423             Parse::RecDescent::_tracefirst($text),
5424             q{hashref},
5425             $tracelevel)
5426             if defined $::RD_TRACE;
5427 0         0 last;
5428             }
5429 27 50       306 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hash_pair]<< (}
5430             . @$_tok . q{ times)},
5431              
5432             Parse::RecDescent::_tracefirst($text),
5433             q{hashref},
5434             $tracelevel)
5435             if defined $::RD_TRACE;
5436 27         44 $item{q{comma_hash_pair(s?)}} = $_tok;
5437 27         42 push @item, $_tok;
5438            
5439              
5440              
5441 27 50       50 Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
5442             Parse::RecDescent::_tracefirst($text),
5443             q{hashref},
5444             $tracelevel)
5445             if defined $::RD_TRACE;
5446 27         37 undef $lastsep;
5447 27         49 $expectation->is(q{'\}'})->at($text);
5448            
5449              
5450 27 50 33     229 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\}/)
  27 50       177  
5451             {
5452 0 0       0 $text = $lastsep . $text if defined $lastsep;
5453            
5454 0         0 $expectation->failed();
5455 0 0       0 Parse::RecDescent::_trace(qq{<>},
5456             Parse::RecDescent::_tracefirst($text))
5457             if defined $::RD_TRACE;
5458 0         0 last;
5459             }
5460 27         111 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5461 27         62 substr($text,0,length($current_match),q{});
5462 27 50       51 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5463             . $current_match . q{])},
5464             Parse::RecDescent::_tracefirst($text))
5465             if defined $::RD_TRACE;
5466 27         57 push @item, $item{__STRING2__}=$current_match;
5467            
5468              
5469 27 50       42 Parse::RecDescent::_trace(q{>>Matched production: ['\{' hash_pair comma_hash_pair '\}']<<},
5470             Parse::RecDescent::_tracefirst($text),
5471             q{hashref},
5472             $tracelevel)
5473             if defined $::RD_TRACE;
5474              
5475              
5476              
5477 27         35 $_matched = 1;
5478 27         37 last;
5479             }
5480              
5481              
5482 36 100 66     84 unless ( $_matched || defined($score) )
5483             {
5484            
5485              
5486 9         15 $_[1] = $text; # NOT SURE THIS IS NEEDED
5487 9 50       17 Parse::RecDescent::_trace(q{<>},
5488             Parse::RecDescent::_tracefirst($_[1]),
5489             q{hashref},
5490             $tracelevel)
5491             if defined $::RD_TRACE;
5492 9         39 return undef;
5493             }
5494 27 50 33     76 if (!defined($return) && defined($score))
5495             {
5496 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5497             q{hashref},
5498             $tracelevel)
5499             if defined $::RD_TRACE;
5500 0         0 $return = $score_return;
5501             }
5502 27         36 splice @{$thisparser->{errors}}, $err_at;
  27         49  
5503 27 50       59 $return = $item[$#item] unless defined $return;
5504 27 50       42 if (defined $::RD_TRACE)
5505             {
5506 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5507             $return . q{])}, "",
5508             q{hashref},
5509             $tracelevel);
5510 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5511             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5512             Parse::RecDescent::_tracefirst($text),
5513             , q{hashref},
5514             $tracelevel)
5515             }
5516 27         44 $_[1] = $text;
5517 27         142 return $return;
5518             }
5519              
5520             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5521             sub Parse::RecDescent::Module::ExtractUse::Grammar::import_list
5522             {
5523 137     137   1141 my $thisparser = $_[0];
5524 12     12   86 use vars q{$tracelevel};
  12         25  
  12         5133  
5525 137   50     331 local $tracelevel = ($tracelevel||0)+1;
5526 137         173 $ERRORS = 0;
5527 137         282 my $thisrule = $thisparser->{"rules"}{"import_list"};
5528              
5529 137 50       298 Parse::RecDescent::_trace(q{Trying rule: [import_list]},
5530             Parse::RecDescent::_tracefirst($_[1]),
5531             q{import_list},
5532             $tracelevel)
5533             if defined $::RD_TRACE;
5534              
5535            
5536 137         176 my $err_at = @{$thisparser->{errors}};
  137         318  
5537              
5538 137         1245 my $score;
5539             my $score_return;
5540 137         0 my $_tok;
5541 137         178 my $return = undef;
5542 137         180 my $_matched=0;
5543 137         173 my $commit=0;
5544 137         188 my @item = ();
5545 137         193 my %item = ();
5546 137         184 my $repeating = $_[2];
5547 137         199 my $_noactions = $_[3];
5548 137 50       284 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  137         169  
  137         218  
5549 137         187 my $_itempos = $_[5];
5550 137 50       302 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5551 137         298 my $text;
5552             my $lastsep;
5553 137         0 my $current_match;
5554 137         337 my $expectation = new Parse::RecDescent::Expectation(q{/[(]?/, or /[(]\\s*[)]/});
5555 137         956 $expectation->at($_[1]);
5556            
5557 137         467 my $thisline;
5558 137         375 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5559              
5560            
5561              
5562 137   33     906 while (!$_matched && !$commit)
5563             {
5564            
5565 137 50       278 Parse::RecDescent::_trace(q{Trying production: [/[(]?/ list_item comma_list_item /[)]?/]},
5566             Parse::RecDescent::_tracefirst($_[1]),
5567             q{import_list},
5568             $tracelevel)
5569             if defined $::RD_TRACE;
5570 137         263 my $thisprod = $thisrule->{"prods"}[0];
5571 137         232 $text = $_[1];
5572 137         162 my $_savetext;
5573 137         231 @item = (q{import_list});
5574 137         300 %item = (__RULE__ => q{import_list});
5575 137         170 my $repcount = 0;
5576              
5577              
5578 137 50       239 Parse::RecDescent::_trace(q{Trying terminal: [/[(]?/]}, Parse::RecDescent::_tracefirst($text),
5579             q{import_list},
5580             $tracelevel)
5581             if defined $::RD_TRACE;
5582 137         227 undef $lastsep;
5583 137         251 $expectation->is(q{})->at($text);
5584            
5585              
5586 137 100 33     1331 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[(]?)/)
  137 50       1154  
5587             {
5588 0 0       0 $text = $lastsep . $text if defined $lastsep;
5589 0         0 $expectation->failed();
5590 0 0       0 Parse::RecDescent::_trace(q{<>},
5591             Parse::RecDescent::_tracefirst($text))
5592             if defined $::RD_TRACE;
5593              
5594 0         0 last;
5595             }
5596 137         627 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5597 137         1024 substr($text,0,length($current_match),q{});
5598 137 50       452 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5599             . $current_match . q{])},
5600             Parse::RecDescent::_tracefirst($text))
5601             if defined $::RD_TRACE;
5602 137         352 push @item, $item{__PATTERN1__}=$current_match;
5603            
5604              
5605 137 50       297 Parse::RecDescent::_trace(q{Trying subrule: [list_item]},
5606             Parse::RecDescent::_tracefirst($text),
5607             q{import_list},
5608             $tracelevel)
5609             if defined $::RD_TRACE;
5610 12     12   98 if (1) { no strict qw{refs};
  12         25  
  12         13066  
  137         181  
5611 137         320 $expectation->is(q{list_item})->at($text);
5612 137 100   137   1292 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::list_item($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  137         224  
5613             {
5614            
5615 28 50       67 Parse::RecDescent::_trace(q{<>},
5616             Parse::RecDescent::_tracefirst($text),
5617             q{import_list},
5618             $tracelevel)
5619             if defined $::RD_TRACE;
5620 28         82 $expectation->failed();
5621 28         231 last;
5622             }
5623 109 50       390 Parse::RecDescent::_trace(q{>>Matched subrule: [list_item]<< (return value: [}
5624             . $_tok . q{]},
5625              
5626             Parse::RecDescent::_tracefirst($text),
5627             q{import_list},
5628             $tracelevel)
5629             if defined $::RD_TRACE;
5630 109         231 $item{q{list_item}} = $_tok;
5631 109         181 push @item, $_tok;
5632            
5633             }
5634              
5635 109 50       205 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_list_item]},
5636             Parse::RecDescent::_tracefirst($text),
5637             q{import_list},
5638             $tracelevel)
5639             if defined $::RD_TRACE;
5640 109         264 $expectation->is(q{comma_list_item})->at($text);
5641            
5642 109 50   160   1091 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_list_item, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  160         259  
5643             {
5644 0 0       0 Parse::RecDescent::_trace(q{<>},
5645             Parse::RecDescent::_tracefirst($text),
5646             q{import_list},
5647             $tracelevel)
5648             if defined $::RD_TRACE;
5649 0         0 last;
5650             }
5651 109 50       1349 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_list_item]<< (}
5652             . @$_tok . q{ times)},
5653              
5654             Parse::RecDescent::_tracefirst($text),
5655             q{import_list},
5656             $tracelevel)
5657             if defined $::RD_TRACE;
5658 109         221 $item{q{comma_list_item(s?)}} = $_tok;
5659 109         162 push @item, $_tok;
5660            
5661              
5662              
5663 109 50       207 Parse::RecDescent::_trace(q{Trying terminal: [/[)]?/]}, Parse::RecDescent::_tracefirst($text),
5664             q{import_list},
5665             $tracelevel)
5666             if defined $::RD_TRACE;
5667 109         176 undef $lastsep;
5668 109         273 $expectation->is(q{/[)]?/})->at($text);
5669            
5670              
5671 109 100 33     1031 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[)]?)/)
  109 50       714  
5672             {
5673 0 0       0 $text = $lastsep . $text if defined $lastsep;
5674 0         0 $expectation->failed();
5675 0 0       0 Parse::RecDescent::_trace(q{<>},
5676             Parse::RecDescent::_tracefirst($text))
5677             if defined $::RD_TRACE;
5678              
5679 0         0 last;
5680             }
5681 109         511 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5682 109         291 substr($text,0,length($current_match),q{});
5683 109 50       214 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5684             . $current_match . q{])},
5685             Parse::RecDescent::_tracefirst($text))
5686             if defined $::RD_TRACE;
5687 109         241 push @item, $item{__PATTERN2__}=$current_match;
5688            
5689              
5690 109 50       206 Parse::RecDescent::_trace(q{Trying action},
5691             Parse::RecDescent::_tracefirst($text),
5692             q{import_list},
5693             $tracelevel)
5694             if defined $::RD_TRACE;
5695            
5696              
5697 109 50       189 $_tok = ($_noactions) ? 0 : do { $return=$item[2];
  109         173  
5698 109 50       254 $return.=" ".join(" ",@{$item[3]}) if $item[3];
  109         418  
5699             };
5700 109 50       262 unless (defined $_tok)
5701             {
5702 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5703             if defined $::RD_TRACE;
5704 0         0 last;
5705             }
5706 109 50       207 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5707             . $_tok . q{])},
5708             Parse::RecDescent::_tracefirst($text))
5709             if defined $::RD_TRACE;
5710 109         184 push @item, $_tok;
5711 109         183 $item{__ACTION1__}=$_tok;
5712            
5713              
5714 109 50       224 Parse::RecDescent::_trace(q{>>Matched production: [/[(]?/ list_item comma_list_item /[)]?/]<<},
5715             Parse::RecDescent::_tracefirst($text),
5716             q{import_list},
5717             $tracelevel)
5718             if defined $::RD_TRACE;
5719              
5720              
5721              
5722 109         159 $_matched = 1;
5723 109         202 last;
5724             }
5725              
5726              
5727 137   66     387 while (!$_matched && !$commit)
5728             {
5729            
5730 28 50       71 Parse::RecDescent::_trace(q{Trying production: [/[(]\\s*[)]/]},
5731             Parse::RecDescent::_tracefirst($_[1]),
5732             q{import_list},
5733             $tracelevel)
5734             if defined $::RD_TRACE;
5735 28         59 my $thisprod = $thisrule->{"prods"}[1];
5736 28         204 $text = $_[1];
5737 28         41 my $_savetext;
5738 28         69 @item = (q{import_list});
5739 28         66 %item = (__RULE__ => q{import_list});
5740 28         42 my $repcount = 0;
5741              
5742              
5743 28 50       69 Parse::RecDescent::_trace(q{Trying terminal: [/[(]\\s*[)]/]}, Parse::RecDescent::_tracefirst($text),
5744             q{import_list},
5745             $tracelevel)
5746             if defined $::RD_TRACE;
5747 28         47 undef $lastsep;
5748 28         65 $expectation->is(q{})->at($text);
5749            
5750              
5751 28 100 66     302 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[(]\s*[)])/)
  28 100       278  
5752             {
5753 22 50       70 $text = $lastsep . $text if defined $lastsep;
5754 22         66 $expectation->failed();
5755 22 50       80 Parse::RecDescent::_trace(q{<>},
5756             Parse::RecDescent::_tracefirst($text))
5757             if defined $::RD_TRACE;
5758              
5759 22         40 last;
5760             }
5761 6         26 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5762 6         17 substr($text,0,length($current_match),q{});
5763 6 50       15 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5764             . $current_match . q{])},
5765             Parse::RecDescent::_tracefirst($text))
5766             if defined $::RD_TRACE;
5767 6         16 push @item, $item{__PATTERN1__}=$current_match;
5768            
5769              
5770 6 50       153 Parse::RecDescent::_trace(q{Trying action},
5771             Parse::RecDescent::_tracefirst($text),
5772             q{import_list},
5773             $tracelevel)
5774             if defined $::RD_TRACE;
5775            
5776              
5777 6 50       16 $_tok = ($_noactions) ? 0 : do { $return='' };
  6         12  
5778 6 50       14 unless (defined $_tok)
5779             {
5780 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5781             if defined $::RD_TRACE;
5782 0         0 last;
5783             }
5784 6 50       14 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5785             . $_tok . q{])},
5786             Parse::RecDescent::_tracefirst($text))
5787             if defined $::RD_TRACE;
5788 6         9 push @item, $_tok;
5789 6         10 $item{__ACTION1__}=$_tok;
5790            
5791              
5792 6 50       12 Parse::RecDescent::_trace(q{>>Matched production: [/[(]\\s*[)]/]<<},
5793             Parse::RecDescent::_tracefirst($text),
5794             q{import_list},
5795             $tracelevel)
5796             if defined $::RD_TRACE;
5797              
5798              
5799              
5800 6         8 $_matched = 1;
5801 6         10 last;
5802             }
5803              
5804              
5805 137 100 66     357 unless ( $_matched || defined($score) )
5806             {
5807            
5808              
5809 22         45 $_[1] = $text; # NOT SURE THIS IS NEEDED
5810 22 50       52 Parse::RecDescent::_trace(q{<>},
5811             Parse::RecDescent::_tracefirst($_[1]),
5812             q{import_list},
5813             $tracelevel)
5814             if defined $::RD_TRACE;
5815 22         103 return undef;
5816             }
5817 115 50 33     281 if (!defined($return) && defined($score))
5818             {
5819 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5820             q{import_list},
5821             $tracelevel)
5822             if defined $::RD_TRACE;
5823 0         0 $return = $score_return;
5824             }
5825 115         153 splice @{$thisparser->{errors}}, $err_at;
  115         272  
5826 115 50       225 $return = $item[$#item] unless defined $return;
5827 115 50       261 if (defined $::RD_TRACE)
5828             {
5829 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5830             $return . q{])}, "",
5831             q{import_list},
5832             $tracelevel);
5833 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5834             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5835             Parse::RecDescent::_tracefirst($text),
5836             , q{import_list},
5837             $tracelevel)
5838             }
5839 115         184 $_[1] = $text;
5840 115         629 return $return;
5841             }
5842              
5843             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5844             sub Parse::RecDescent::Module::ExtractUse::Grammar::list_item
5845             {
5846 189     189   313 my $thisparser = $_[0];
5847 12     12   93 use vars q{$tracelevel};
  12         34  
  12         15302  
5848 189   50     446 local $tracelevel = ($tracelevel||0)+1;
5849 189         239 $ERRORS = 0;
5850 189         326 my $thisrule = $thisparser->{"rules"}{"list_item"};
5851              
5852 189 50       1202 Parse::RecDescent::_trace(q{Trying rule: [list_item]},
5853             Parse::RecDescent::_tracefirst($_[1]),
5854             q{list_item},
5855             $tracelevel)
5856             if defined $::RD_TRACE;
5857              
5858            
5859 189         269 my $err_at = @{$thisparser->{errors}};
  189         328  
5860              
5861 189         473 my $score;
5862             my $score_return;
5863 189         0 my $_tok;
5864 189         238 my $return = undef;
5865 189         230 my $_matched=0;
5866 189         236 my $commit=0;
5867 189         246 my @item = ();
5868 189         254 my %item = ();
5869 189         258 my $repeating = $_[2];
5870 189         224 my $_noactions = $_[3];
5871 189 50       345 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  189         224  
  189         286  
5872 189         312 my $_itempos = $_[5];
5873 189 50       380 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5874 189         401 my $text;
5875             my $lastsep;
5876 189         0 my $current_match;
5877 189         537 my $expectation = new Parse::RecDescent::Expectation(q{/-?\\w+/});
5878 189         1202 $expectation->at($_[1]);
5879            
5880 189         717 my $thisline;
5881 189         497 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5882              
5883            
5884              
5885 189   33     1296 while (!$_matched && !$commit)
5886             {
5887            
5888 189 50       358 Parse::RecDescent::_trace(q{Trying production: []},
5889             Parse::RecDescent::_tracefirst($_[1]),
5890             q{list_item},
5891             $tracelevel)
5892             if defined $::RD_TRACE;
5893 189         358 my $thisprod = $thisrule->{"prods"}[0];
5894 189         286 $text = $_[1];
5895 189         240 my $_savetext;
5896 189         318 @item = (q{list_item});
5897 189         412 %item = (__RULE__ => q{list_item});
5898 189         245 my $repcount = 0;
5899              
5900              
5901            
5902              
5903 189 50       313 Parse::RecDescent::_trace(q{Trying directive: []},
5904             Parse::RecDescent::_tracefirst($text),
5905             q{list_item},
5906             $tracelevel)
5907             if defined $::RD_TRACE;
5908 189         225 $_tok = do { my ($match,@res);
  189         265  
5909 189         602 ($match,$text,undef,@res) =
5910             Text::Balanced::extract_quotelike($text,$skip);
5911 189 100       16326 $match ? \@res : undef;
5912             };
5913 189 100       396 if (defined($_tok))
5914             {
5915 108 50       215 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5916             . $_tok . q{])},
5917             Parse::RecDescent::_tracefirst($text))
5918             if defined $::RD_TRACE;
5919             }
5920             else
5921             {
5922 81 50       184 Parse::RecDescent::_trace(q{<>},
5923             Parse::RecDescent::_tracefirst($text))
5924             if defined $::RD_TRACE;
5925             }
5926            
5927 189 100       379 last unless defined $_tok;
5928 108         250 push @item, $item{__DIRECTIVE1__}=$_tok;
5929            
5930              
5931 108 50       324 Parse::RecDescent::_trace(q{Trying action},
5932             Parse::RecDescent::_tracefirst($text),
5933             q{list_item},
5934             $tracelevel)
5935             if defined $::RD_TRACE;
5936            
5937              
5938 108 50       194 $_tok = ($_noactions) ? 0 : do { $return=$item[1][2] };
  108         204  
5939 108 50       206 unless (defined $_tok)
5940             {
5941 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5942             if defined $::RD_TRACE;
5943 0         0 last;
5944             }
5945 108 50       200 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5946             . $_tok . q{])},
5947             Parse::RecDescent::_tracefirst($text))
5948             if defined $::RD_TRACE;
5949 108         155 push @item, $_tok;
5950 108         199 $item{__ACTION1__}=$_tok;
5951            
5952              
5953 108 50       170 Parse::RecDescent::_trace(q{>>Matched production: []<<},
5954             Parse::RecDescent::_tracefirst($text),
5955             q{list_item},
5956             $tracelevel)
5957             if defined $::RD_TRACE;
5958              
5959              
5960              
5961 108         140 $_matched = 1;
5962 108         175 last;
5963             }
5964              
5965              
5966 189   66     487 while (!$_matched && !$commit)
5967             {
5968            
5969 81 50       165 Parse::RecDescent::_trace(q{Trying production: []},
5970             Parse::RecDescent::_tracefirst($_[1]),
5971             q{list_item},
5972             $tracelevel)
5973             if defined $::RD_TRACE;
5974 81         144 my $thisprod = $thisrule->{"prods"}[1];
5975 81         142 $text = $_[1];
5976 81         104 my $_savetext;
5977 81         160 @item = (q{list_item});
5978 81         167 %item = (__RULE__ => q{list_item});
5979 81         107 my $repcount = 0;
5980              
5981              
5982            
5983              
5984 81 50       178 Parse::RecDescent::_trace(q{Trying directive: []},
5985             Parse::RecDescent::_tracefirst($text),
5986             q{list_item},
5987             $tracelevel)
5988             if defined $::RD_TRACE;
5989 81         106 $_tok = do { Text::Balanced::extract_codeblock($text,undef,$skip,'(){}[]');
  81         241  
5990             };
5991 81 100       9087 if (defined($_tok))
5992             {
5993 9 50       21 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5994             . $_tok . q{])},
5995             Parse::RecDescent::_tracefirst($text))
5996             if defined $::RD_TRACE;
5997             }
5998             else
5999             {
6000 72 50       167 Parse::RecDescent::_trace(q{<>},
6001             Parse::RecDescent::_tracefirst($text))
6002             if defined $::RD_TRACE;
6003             }
6004            
6005 81 100       204 last unless defined $_tok;
6006 9         23 push @item, $item{__DIRECTIVE1__}=$_tok;
6007            
6008              
6009 9 50       20 Parse::RecDescent::_trace(q{Trying action},
6010             Parse::RecDescent::_tracefirst($text),
6011             q{list_item},
6012             $tracelevel)
6013             if defined $::RD_TRACE;
6014            
6015              
6016 9 50       17 $_tok = ($_noactions) ? 0 : do { $return=$item[1] };
  9         17  
6017 9 50       19 unless (defined $_tok)
6018             {
6019 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6020             if defined $::RD_TRACE;
6021 0         0 last;
6022             }
6023 9 50       20 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6024             . $_tok . q{])},
6025             Parse::RecDescent::_tracefirst($text))
6026             if defined $::RD_TRACE;
6027 9         11 push @item, $_tok;
6028 9         24 $item{__ACTION1__}=$_tok;
6029            
6030              
6031 9 50       16 Parse::RecDescent::_trace(q{>>Matched production: []<<},
6032             Parse::RecDescent::_tracefirst($text),
6033             q{list_item},
6034             $tracelevel)
6035             if defined $::RD_TRACE;
6036              
6037              
6038              
6039 9         15 $_matched = 1;
6040 9         11 last;
6041             }
6042              
6043              
6044 189   66     513 while (!$_matched && !$commit)
6045             {
6046            
6047 72 50       152 Parse::RecDescent::_trace(q{Trying production: [/-?\\w+/]},
6048             Parse::RecDescent::_tracefirst($_[1]),
6049             q{list_item},
6050             $tracelevel)
6051             if defined $::RD_TRACE;
6052 72         144 my $thisprod = $thisrule->{"prods"}[2];
6053 72         130 $text = $_[1];
6054 72         103 my $_savetext;
6055 72         140 @item = (q{list_item});
6056 72         149 %item = (__RULE__ => q{list_item});
6057 72         100 my $repcount = 0;
6058              
6059              
6060 72 50       143 Parse::RecDescent::_trace(q{Trying terminal: [/-?\\w+/]}, Parse::RecDescent::_tracefirst($text),
6061             q{list_item},
6062             $tracelevel)
6063             if defined $::RD_TRACE;
6064 72         123 undef $lastsep;
6065 72         191 $expectation->is(q{})->at($text);
6066            
6067              
6068 72 100 66     717 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:-?\w+)/)
  72 100       553  
6069             {
6070 29 50       101 $text = $lastsep . $text if defined $lastsep;
6071 29         96 $expectation->failed();
6072 29 50       113 Parse::RecDescent::_trace(q{<>},
6073             Parse::RecDescent::_tracefirst($text))
6074             if defined $::RD_TRACE;
6075              
6076 29         55 last;
6077             }
6078 43         213 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6079 43         131 substr($text,0,length($current_match),q{});
6080 43 50       126 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6081             . $current_match . q{])},
6082             Parse::RecDescent::_tracefirst($text))
6083             if defined $::RD_TRACE;
6084 43         116 push @item, $item{__PATTERN1__}=$current_match;
6085            
6086              
6087 43 50       86 Parse::RecDescent::_trace(q{Trying action},
6088             Parse::RecDescent::_tracefirst($text),
6089             q{list_item},
6090             $tracelevel)
6091             if defined $::RD_TRACE;
6092            
6093              
6094 43 50       76 $_tok = ($_noactions) ? 0 : do { $return=$item[1] };
  43         82  
6095 43 50       104 unless (defined $_tok)
6096             {
6097 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6098             if defined $::RD_TRACE;
6099 0         0 last;
6100             }
6101 43 50       87 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6102             . $_tok . q{])},
6103             Parse::RecDescent::_tracefirst($text))
6104             if defined $::RD_TRACE;
6105 43         69 push @item, $_tok;
6106 43         79 $item{__ACTION1__}=$_tok;
6107            
6108              
6109 43 50       88 Parse::RecDescent::_trace(q{>>Matched production: [/-?\\w+/]<<},
6110             Parse::RecDescent::_tracefirst($text),
6111             q{list_item},
6112             $tracelevel)
6113             if defined $::RD_TRACE;
6114              
6115              
6116              
6117 43         73 $_matched = 1;
6118 43         75 last;
6119             }
6120              
6121              
6122 189 100 66     527 unless ( $_matched || defined($score) )
6123             {
6124            
6125              
6126 29         55 $_[1] = $text; # NOT SURE THIS IS NEEDED
6127 29 50       68 Parse::RecDescent::_trace(q{<>},
6128             Parse::RecDescent::_tracefirst($_[1]),
6129             q{list_item},
6130             $tracelevel)
6131             if defined $::RD_TRACE;
6132 29         146 return undef;
6133             }
6134 160 50 33     332 if (!defined($return) && defined($score))
6135             {
6136 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6137             q{list_item},
6138             $tracelevel)
6139             if defined $::RD_TRACE;
6140 0         0 $return = $score_return;
6141             }
6142 160         219 splice @{$thisparser->{errors}}, $err_at;
  160         321  
6143 160 50       291 $return = $item[$#item] unless defined $return;
6144 160 50       256 if (defined $::RD_TRACE)
6145             {
6146 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6147             $return . q{])}, "",
6148             q{list_item},
6149             $tracelevel);
6150 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6151             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6152             Parse::RecDescent::_tracefirst($text),
6153             , q{list_item},
6154             $tracelevel)
6155             }
6156 160         270 $_[1] = $text;
6157 160         910 return $return;
6158             }
6159              
6160             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6161             sub Parse::RecDescent::Module::ExtractUse::Grammar::module
6162             {
6163 186     186   305 my $thisparser = $_[0];
6164 12     12   98 use vars q{$tracelevel};
  12         25  
  12         3466  
6165 186   50     425 local $tracelevel = ($tracelevel||0)+1;
6166 186         250 $ERRORS = 0;
6167 186         376 my $thisrule = $thisparser->{"rules"}{"module"};
6168              
6169 186 50       337 Parse::RecDescent::_trace(q{Trying rule: [module]},
6170             Parse::RecDescent::_tracefirst($_[1]),
6171             q{module},
6172             $tracelevel)
6173             if defined $::RD_TRACE;
6174              
6175            
6176 186         254 my $err_at = @{$thisparser->{errors}};
  186         311  
6177              
6178 186         417 my $score;
6179             my $score_return;
6180 186         0 my $_tok;
6181 186         241 my $return = undef;
6182 186         507 my $_matched=0;
6183 186         244 my $commit=0;
6184 186         258 my @item = ();
6185 186         261 my %item = ();
6186 186         244 my $repeating = $_[2];
6187 186         256 my $_noactions = $_[3];
6188 186 50       369 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         240  
  186         274  
6189 186         320 my $_itempos = $_[5];
6190 186 50       423 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6191 186         689 my $text;
6192             my $lastsep;
6193 186         0 my $current_match;
6194 186         498 my $expectation = new Parse::RecDescent::Expectation(q{module_name});
6195 186         1024 $expectation->at($_[1]);
6196            
6197 186         612 my $thisline;
6198 186         507 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6199              
6200            
6201              
6202 186   33     1208 while (!$_matched && !$commit)
6203             {
6204            
6205 186 50       378 Parse::RecDescent::_trace(q{Trying production: [module_name module_more]},
6206             Parse::RecDescent::_tracefirst($_[1]),
6207             q{module},
6208             $tracelevel)
6209             if defined $::RD_TRACE;
6210 186         323 my $thisprod = $thisrule->{"prods"}[0];
6211 186         273 $text = $_[1];
6212 186         227 my $_savetext;
6213 186         326 @item = (q{module});
6214 186         367 %item = (__RULE__ => q{module});
6215 186         223 my $repcount = 0;
6216              
6217              
6218 186 50       509 Parse::RecDescent::_trace(q{Trying subrule: [module_name]},
6219             Parse::RecDescent::_tracefirst($text),
6220             q{module},
6221             $tracelevel)
6222             if defined $::RD_TRACE;
6223 12     12   92 if (1) { no strict qw{refs};
  12         24  
  12         1824  
  186         308  
6224 186         389 $expectation->is(q{})->at($text);
6225 186 50   186   1551 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_name($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         337  
6226             {
6227            
6228 0 0       0 Parse::RecDescent::_trace(q{<>},
6229             Parse::RecDescent::_tracefirst($text),
6230             q{module},
6231             $tracelevel)
6232             if defined $::RD_TRACE;
6233 0         0 $expectation->failed();
6234 0         0 last;
6235             }
6236 186 50       595 Parse::RecDescent::_trace(q{>>Matched subrule: [module_name]<< (return value: [}
6237             . $_tok . q{]},
6238              
6239             Parse::RecDescent::_tracefirst($text),
6240             q{module},
6241             $tracelevel)
6242             if defined $::RD_TRACE;
6243 186         347 $item{q{module_name}} = $_tok;
6244 186         297 push @item, $_tok;
6245            
6246             }
6247              
6248 186 50       332 Parse::RecDescent::_trace(q{Trying subrule: [module_more]},
6249             Parse::RecDescent::_tracefirst($text),
6250             q{module},
6251             $tracelevel)
6252             if defined $::RD_TRACE;
6253 12     12   80 if (1) { no strict qw{refs};
  12         22  
  12         5365  
  186         247  
6254 186         490 $expectation->is(q{module_more})->at($text);
6255 186 50   186   1600 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_more($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         319  
6256             {
6257            
6258 0 0       0 Parse::RecDescent::_trace(q{<>},
6259             Parse::RecDescent::_tracefirst($text),
6260             q{module},
6261             $tracelevel)
6262             if defined $::RD_TRACE;
6263 0         0 $expectation->failed();
6264 0         0 last;
6265             }
6266 186 50       485 Parse::RecDescent::_trace(q{>>Matched subrule: [module_more]<< (return value: [}
6267             . $_tok . q{]},
6268              
6269             Parse::RecDescent::_tracefirst($text),
6270             q{module},
6271             $tracelevel)
6272             if defined $::RD_TRACE;
6273 186         395 $item{q{module_more}} = $_tok;
6274 186         307 push @item, $_tok;
6275            
6276             }
6277              
6278 186 50       319 Parse::RecDescent::_trace(q{Trying action},
6279             Parse::RecDescent::_tracefirst($text),
6280             q{module},
6281             $tracelevel)
6282             if defined $::RD_TRACE;
6283            
6284              
6285 186 50       316 $_tok = ($_noactions) ? 0 : do { $return=$item{module_name} };
  186         345  
6286 186 50       353 unless (defined $_tok)
6287             {
6288 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6289             if defined $::RD_TRACE;
6290 0         0 last;
6291             }
6292 186 50       320 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6293             . $_tok . q{])},
6294             Parse::RecDescent::_tracefirst($text))
6295             if defined $::RD_TRACE;
6296 186         257 push @item, $_tok;
6297 186         381 $item{__ACTION1__}=$_tok;
6298            
6299              
6300 186 50       333 Parse::RecDescent::_trace(q{>>Matched production: [module_name module_more]<<},
6301             Parse::RecDescent::_tracefirst($text),
6302             q{module},
6303             $tracelevel)
6304             if defined $::RD_TRACE;
6305              
6306              
6307              
6308 186         247 $_matched = 1;
6309 186         256 last;
6310             }
6311              
6312              
6313 186 50 33     361 unless ( $_matched || defined($score) )
6314             {
6315            
6316              
6317 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6318 0 0       0 Parse::RecDescent::_trace(q{<>},
6319             Parse::RecDescent::_tracefirst($_[1]),
6320             q{module},
6321             $tracelevel)
6322             if defined $::RD_TRACE;
6323 0         0 return undef;
6324             }
6325 186 50 33     418 if (!defined($return) && defined($score))
6326             {
6327 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6328             q{module},
6329             $tracelevel)
6330             if defined $::RD_TRACE;
6331 0         0 $return = $score_return;
6332             }
6333 186         256 splice @{$thisparser->{errors}}, $err_at;
  186         305  
6334 186 50       409 $return = $item[$#item] unless defined $return;
6335 186 50       420 if (defined $::RD_TRACE)
6336             {
6337 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6338             $return . q{])}, "",
6339             q{module},
6340             $tracelevel);
6341 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6342             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6343             Parse::RecDescent::_tracefirst($text),
6344             , q{module},
6345             $tracelevel)
6346             }
6347 186         305 $_[1] = $text;
6348 186         981 return $return;
6349             }
6350              
6351             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6352             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_more
6353             {
6354 186     186   493 my $thisparser = $_[0];
6355 12     12   84 use vars q{$tracelevel};
  12         25  
  12         3648  
6356 186   50     458 local $tracelevel = ($tracelevel||0)+1;
6357 186         300 $ERRORS = 0;
6358 186         327 my $thisrule = $thisparser->{"rules"}{"module_more"};
6359              
6360 186 50       359 Parse::RecDescent::_trace(q{Trying rule: [module_more]},
6361             Parse::RecDescent::_tracefirst($_[1]),
6362             q{module_more},
6363             $tracelevel)
6364             if defined $::RD_TRACE;
6365              
6366            
6367 186         272 my $err_at = @{$thisparser->{errors}};
  186         318  
6368              
6369 186         428 my $score;
6370             my $score_return;
6371 186         0 my $_tok;
6372 186         241 my $return = undef;
6373 186         231 my $_matched=0;
6374 186         246 my $commit=0;
6375 186         265 my @item = ();
6376 186         235 my %item = ();
6377 186         218 my $repeating = $_[2];
6378 186         234 my $_noactions = $_[3];
6379 186 50       363 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         226  
  186         277  
6380 186         247 my $_itempos = $_[5];
6381 186 50       390 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6382 186         410 my $text;
6383             my $lastsep;
6384 186         0 my $current_match;
6385 186         415 my $expectation = new Parse::RecDescent::Expectation(q{eos, or version});
6386 186         1012 $expectation->at($_[1]);
6387            
6388 186         632 my $thisline;
6389 186         515 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6390              
6391            
6392              
6393 186   33     1254 while (!$_matched && !$commit)
6394             {
6395            
6396 186 50       353 Parse::RecDescent::_trace(q{Trying production: [eos]},
6397             Parse::RecDescent::_tracefirst($_[1]),
6398             q{module_more},
6399             $tracelevel)
6400             if defined $::RD_TRACE;
6401 186         321 my $thisprod = $thisrule->{"prods"}[0];
6402 186         301 $text = $_[1];
6403 186         245 my $_savetext;
6404 186         309 @item = (q{module_more});
6405 186         333 %item = (__RULE__ => q{module_more});
6406 186         246 my $repcount = 0;
6407              
6408              
6409 186 50       319 Parse::RecDescent::_trace(q{Trying subrule: [eos]},
6410             Parse::RecDescent::_tracefirst($text),
6411             q{module_more},
6412             $tracelevel)
6413             if defined $::RD_TRACE;
6414 12     12   83 if (1) { no strict qw{refs};
  12         28  
  12         9874  
  186         409  
6415 186         400 $expectation->is(q{})->at($text);
6416 186 100   186   1515 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::eos($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         305  
6417             {
6418            
6419 73 50       193 Parse::RecDescent::_trace(q{<>},
6420             Parse::RecDescent::_tracefirst($text),
6421             q{module_more},
6422             $tracelevel)
6423             if defined $::RD_TRACE;
6424 73         255 $expectation->failed();
6425 73         266 last;
6426             }
6427 113 50       325 Parse::RecDescent::_trace(q{>>Matched subrule: [eos]<< (return value: [}
6428             . $_tok . q{]},
6429              
6430             Parse::RecDescent::_tracefirst($text),
6431             q{module_more},
6432             $tracelevel)
6433             if defined $::RD_TRACE;
6434 113         192 $item{q{eos}} = $_tok;
6435 113         171 push @item, $_tok;
6436            
6437             }
6438              
6439 113 50       213 Parse::RecDescent::_trace(q{>>Matched production: [eos]<<},
6440             Parse::RecDescent::_tracefirst($text),
6441             q{module_more},
6442             $tracelevel)
6443             if defined $::RD_TRACE;
6444              
6445              
6446              
6447 113         198 $_matched = 1;
6448 113         164 last;
6449             }
6450              
6451              
6452 186   66     600 while (!$_matched && !$commit)
6453             {
6454            
6455 73 50       175 Parse::RecDescent::_trace(q{Trying production: [version var import_list]},
6456             Parse::RecDescent::_tracefirst($_[1]),
6457             q{module_more},
6458             $tracelevel)
6459             if defined $::RD_TRACE;
6460 73         143 my $thisprod = $thisrule->{"prods"}[1];
6461 73         116 $text = $_[1];
6462 73         100 my $_savetext;
6463 73         152 @item = (q{module_more});
6464 73         148 %item = (__RULE__ => q{module_more});
6465 73         118 my $repcount = 0;
6466              
6467              
6468 73 50       149 Parse::RecDescent::_trace(q{Trying repeated subrule: [version]},
6469             Parse::RecDescent::_tracefirst($text),
6470             q{module_more},
6471             $tracelevel)
6472             if defined $::RD_TRACE;
6473 73         186 $expectation->is(q{})->at($text);
6474            
6475 73 50   73   756 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::version, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         126  
6476             {
6477 0 0       0 Parse::RecDescent::_trace(q{<>},
6478             Parse::RecDescent::_tracefirst($text),
6479             q{module_more},
6480             $tracelevel)
6481             if defined $::RD_TRACE;
6482 0         0 last;
6483             }
6484 73 50       1285 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [version]<< (}
6485             . @$_tok . q{ times)},
6486              
6487             Parse::RecDescent::_tracefirst($text),
6488             q{module_more},
6489             $tracelevel)
6490             if defined $::RD_TRACE;
6491 73         169 $item{q{version(?)}} = $_tok;
6492 73         149 push @item, $_tok;
6493            
6494              
6495              
6496 73 50       176 Parse::RecDescent::_trace(q{Trying repeated subrule: [var]},
6497             Parse::RecDescent::_tracefirst($text),
6498             q{module_more},
6499             $tracelevel)
6500             if defined $::RD_TRACE;
6501 73         247 $expectation->is(q{var})->at($text);
6502            
6503 73 50   73   893 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::var, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         148  
6504             {
6505 0 0       0 Parse::RecDescent::_trace(q{<>},
6506             Parse::RecDescent::_tracefirst($text),
6507             q{module_more},
6508             $tracelevel)
6509             if defined $::RD_TRACE;
6510 0         0 last;
6511             }
6512 73 50       889 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [var]<< (}
6513             . @$_tok . q{ times)},
6514              
6515             Parse::RecDescent::_tracefirst($text),
6516             q{module_more},
6517             $tracelevel)
6518             if defined $::RD_TRACE;
6519 73         138 $item{q{var(?)}} = $_tok;
6520 73         118 push @item, $_tok;
6521            
6522              
6523              
6524 73 50       149 Parse::RecDescent::_trace(q{Trying repeated subrule: [import_list]},
6525             Parse::RecDescent::_tracefirst($text),
6526             q{module_more},
6527             $tracelevel)
6528             if defined $::RD_TRACE;
6529 73         177 $expectation->is(q{import_list})->at($text);
6530            
6531 73 50   73   688 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::import_list, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         149  
6532             {
6533 0 0       0 Parse::RecDescent::_trace(q{<>},
6534             Parse::RecDescent::_tracefirst($text),
6535             q{module_more},
6536             $tracelevel)
6537             if defined $::RD_TRACE;
6538 0         0 last;
6539             }
6540 73 50       1046 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [import_list]<< (}
6541             . @$_tok . q{ times)},
6542              
6543             Parse::RecDescent::_tracefirst($text),
6544             q{module_more},
6545             $tracelevel)
6546             if defined $::RD_TRACE;
6547 73         157 $item{q{import_list(?)}} = $_tok;
6548 73         130 push @item, $_tok;
6549            
6550              
6551              
6552 73 50       181 Parse::RecDescent::_trace(q{>>Matched production: [version var import_list]<<},
6553             Parse::RecDescent::_tracefirst($text),
6554             q{module_more},
6555             $tracelevel)
6556             if defined $::RD_TRACE;
6557              
6558              
6559              
6560 73         105 $_matched = 1;
6561 73         116 last;
6562             }
6563              
6564              
6565 186 50 33     492 unless ( $_matched || defined($score) )
6566             {
6567            
6568              
6569 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6570 0 0       0 Parse::RecDescent::_trace(q{<>},
6571             Parse::RecDescent::_tracefirst($_[1]),
6572             q{module_more},
6573             $tracelevel)
6574             if defined $::RD_TRACE;
6575 0         0 return undef;
6576             }
6577 186 50 33     799 if (!defined($return) && defined($score))
6578             {
6579 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6580             q{module_more},
6581             $tracelevel)
6582             if defined $::RD_TRACE;
6583 0         0 $return = $score_return;
6584             }
6585 186         257 splice @{$thisparser->{errors}}, $err_at;
  186         356  
6586 186 50       453 $return = $item[$#item] unless defined $return;
6587 186 50       370 if (defined $::RD_TRACE)
6588             {
6589 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6590             $return . q{])}, "",
6591             q{module_more},
6592             $tracelevel);
6593 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6594             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6595             Parse::RecDescent::_tracefirst($text),
6596             , q{module_more},
6597             $tracelevel)
6598             }
6599 186         297 $_[1] = $text;
6600 186         811 return $return;
6601             }
6602              
6603             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6604             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_name
6605             {
6606 186     186   327 my $thisparser = $_[0];
6607 12     12   87 use vars q{$tracelevel};
  12         33  
  12         8344  
6608 186   50     407 local $tracelevel = ($tracelevel||0)+1;
6609 186         250 $ERRORS = 0;
6610 186         323 my $thisrule = $thisparser->{"rules"}{"module_name"};
6611              
6612 186 50       370 Parse::RecDescent::_trace(q{Trying rule: [module_name]},
6613             Parse::RecDescent::_tracefirst($_[1]),
6614             q{module_name},
6615             $tracelevel)
6616             if defined $::RD_TRACE;
6617              
6618            
6619 186         234 my $err_at = @{$thisparser->{errors}};
  186         320  
6620              
6621 186         408 my $score;
6622             my $score_return;
6623 186         0 my $_tok;
6624 186         245 my $return = undef;
6625 186         260 my $_matched=0;
6626 186         240 my $commit=0;
6627 186         232 my @item = ();
6628 186         320 my %item = ();
6629 186         251 my $repeating = $_[2];
6630 186         245 my $_noactions = $_[3];
6631 186 50       385 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         242  
  186         315  
6632 186         288 my $_itempos = $_[5];
6633 186 50       384 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6634 186         407 my $text;
6635             my $lastsep;
6636 186         0 my $current_match;
6637 186         434 my $expectation = new Parse::RecDescent::Expectation(q{/[\\w:]+/});
6638 186         1015 $expectation->at($_[1]);
6639            
6640 186         600 my $thisline;
6641 186         489 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6642              
6643            
6644              
6645 186   33     1326 while (!$_matched && !$commit)
6646             {
6647            
6648 186 50       552 Parse::RecDescent::_trace(q{Trying production: [/[\\w:]+/]},
6649             Parse::RecDescent::_tracefirst($_[1]),
6650             q{module_name},
6651             $tracelevel)
6652             if defined $::RD_TRACE;
6653 186         316 my $thisprod = $thisrule->{"prods"}[0];
6654 186         273 $text = $_[1];
6655 186         222 my $_savetext;
6656 186         310 @item = (q{module_name});
6657 186         354 %item = (__RULE__ => q{module_name});
6658 186         247 my $repcount = 0;
6659              
6660              
6661 186 50       357 Parse::RecDescent::_trace(q{Trying terminal: [/[\\w:]+/]}, Parse::RecDescent::_tracefirst($text),
6662             q{module_name},
6663             $tracelevel)
6664             if defined $::RD_TRACE;
6665 186         280 undef $lastsep;
6666 186         392 $expectation->is(q{})->at($text);
6667            
6668              
6669 186 50 33     2943 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[\w:]+)/)
  186 50       1418  
6670             {
6671 0 0       0 $text = $lastsep . $text if defined $lastsep;
6672 0         0 $expectation->failed();
6673 0 0       0 Parse::RecDescent::_trace(q{<>},
6674             Parse::RecDescent::_tracefirst($text))
6675             if defined $::RD_TRACE;
6676              
6677 0         0 last;
6678             }
6679 186         837 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6680 186         492 substr($text,0,length($current_match),q{});
6681 186 50       357 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6682             . $current_match . q{])},
6683             Parse::RecDescent::_tracefirst($text))
6684             if defined $::RD_TRACE;
6685 186         424 push @item, $item{__PATTERN1__}=$current_match;
6686            
6687              
6688 186 50       358 Parse::RecDescent::_trace(q{>>Matched production: [/[\\w:]+/]<<},
6689             Parse::RecDescent::_tracefirst($text),
6690             q{module_name},
6691             $tracelevel)
6692             if defined $::RD_TRACE;
6693              
6694              
6695              
6696 186         253 $_matched = 1;
6697 186         355 last;
6698             }
6699              
6700              
6701 186 50 33     404 unless ( $_matched || defined($score) )
6702             {
6703            
6704              
6705 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6706 0 0       0 Parse::RecDescent::_trace(q{<>},
6707             Parse::RecDescent::_tracefirst($_[1]),
6708             q{module_name},
6709             $tracelevel)
6710             if defined $::RD_TRACE;
6711 0         0 return undef;
6712             }
6713 186 50 33     642 if (!defined($return) && defined($score))
6714             {
6715 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6716             q{module_name},
6717             $tracelevel)
6718             if defined $::RD_TRACE;
6719 0         0 $return = $score_return;
6720             }
6721 186         259 splice @{$thisparser->{errors}}, $err_at;
  186         421  
6722 186 50       503 $return = $item[$#item] unless defined $return;
6723 186 50       390 if (defined $::RD_TRACE)
6724             {
6725 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6726             $return . q{])}, "",
6727             q{module_name},
6728             $tracelevel);
6729 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6730             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6731             Parse::RecDescent::_tracefirst($text),
6732             , q{module_name},
6733             $tracelevel)
6734             }
6735 186         316 $_[1] = $text;
6736 186         921 return $return;
6737             }
6738              
6739             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6740             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_require_module
6741             {
6742 69     69   105 my $thisparser = $_[0];
6743 12     12   92 use vars q{$tracelevel};
  12         26  
  12         3516  
6744 69   50     123 local $tracelevel = ($tracelevel||0)+1;
6745 69         91 $ERRORS = 0;
6746 69         102 my $thisrule = $thisparser->{"rules"}{"module_runtime_require_module"};
6747              
6748 69 50       117 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_require_module]},
6749             Parse::RecDescent::_tracefirst($_[1]),
6750             q{module_runtime_require_module},
6751             $tracelevel)
6752             if defined $::RD_TRACE;
6753              
6754            
6755 69         114 my $err_at = @{$thisparser->{errors}};
  69         101  
6756              
6757 69         151 my $score;
6758             my $score_return;
6759 69         0 my $_tok;
6760 69         81 my $return = undef;
6761 69         103 my $_matched=0;
6762 69         77 my $commit=0;
6763 69         93 my @item = ();
6764 69         111 my %item = ();
6765 69         79 my $repeating = $_[2];
6766 69         75 my $_noactions = $_[3];
6767 69 50       111 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         83  
  69         96  
6768 69         82 my $_itempos = $_[5];
6769 69 50       130 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6770 69         119 my $text;
6771             my $lastsep;
6772 69         0 my $current_match;
6773 69         141 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::require_module(', or /\\brequire_module\\(/});
6774 69         363 $expectation->at($_[1]);
6775            
6776 69         216 my $thisline;
6777 69         164 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6778              
6779            
6780              
6781 69   33     421 while (!$_matched && !$commit)
6782             {
6783            
6784 69 50       132 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::require_module(', or /\\brequire_module\\(/ ')']},
6785             Parse::RecDescent::_tracefirst($_[1]),
6786             q{module_runtime_require_module},
6787             $tracelevel)
6788             if defined $::RD_TRACE;
6789 69         102 my $thisprod = $thisrule->{"prods"}[0];
6790 69         86 $text = $_[1];
6791 69         74 my $_savetext;
6792 69         99 @item = (q{module_runtime_require_module});
6793 69         106 %item = (__RULE__ => q{module_runtime_require_module});
6794 69         88 my $repcount = 0;
6795              
6796              
6797 69 50       106 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]},
6798             Parse::RecDescent::_tracefirst($text),
6799             q{module_runtime_require_module},
6800             $tracelevel)
6801             if defined $::RD_TRACE;
6802 12     12   86 if (1) { no strict qw{refs};
  12         23  
  12         9043  
  69         81  
6803 69         131 $expectation->is(q{})->at($text);
6804 69 100   69   520 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_require_module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  69         101  
6805             {
6806            
6807 61 50       119 Parse::RecDescent::_trace(q{<>},
6808             Parse::RecDescent::_tracefirst($text),
6809             q{module_runtime_require_module},
6810             $tracelevel)
6811             if defined $::RD_TRACE;
6812 61         130 $expectation->failed();
6813 61         177 last;
6814             }
6815 8 50       26 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]<< (return value: [}
6816             . $_tok . q{]},
6817              
6818             Parse::RecDescent::_tracefirst($text),
6819             q{module_runtime_require_module},
6820             $tracelevel)
6821             if defined $::RD_TRACE;
6822 8         14 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_require_module}} = $_tok;
6823 8         11 push @item, $_tok;
6824            
6825             }
6826              
6827            
6828              
6829 8 50       13 Parse::RecDescent::_trace(q{Trying directive: []},
6830             Parse::RecDescent::_tracefirst($text),
6831             q{module_runtime_require_module},
6832             $tracelevel)
6833             if defined $::RD_TRACE;
6834 8         10 $_tok = do { my ($match,@res);
  8         12  
6835 8         49 ($match,$text,undef,@res) =
6836             Text::Balanced::extract_quotelike($text,$skip);
6837 8 50       633 $match ? \@res : undef;
6838             };
6839 8 50       16 if (defined($_tok))
6840             {
6841 8 50       16 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6842             . $_tok . q{])},
6843             Parse::RecDescent::_tracefirst($text))
6844             if defined $::RD_TRACE;
6845             }
6846             else
6847             {
6848 0 0       0 Parse::RecDescent::_trace(q{<>},
6849             Parse::RecDescent::_tracefirst($text))
6850             if defined $::RD_TRACE;
6851             }
6852            
6853 8 50       15 last unless defined $_tok;
6854 8         15 push @item, $item{__DIRECTIVE1__}=$_tok;
6855            
6856              
6857 8 50       15 Parse::RecDescent::_trace(q{Trying terminal: [')']},
6858             Parse::RecDescent::_tracefirst($text),
6859             q{module_runtime_require_module},
6860             $tracelevel)
6861             if defined $::RD_TRACE;
6862 8         8 undef $lastsep;
6863 8         17 $expectation->is(q{')'})->at($text);
6864            
6865              
6866 8 50 33     84 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  8 50       61  
6867             {
6868 0 0       0 $text = $lastsep . $text if defined $lastsep;
6869            
6870 0         0 $expectation->failed();
6871 0 0       0 Parse::RecDescent::_trace(qq{<>},
6872             Parse::RecDescent::_tracefirst($text))
6873             if defined $::RD_TRACE;
6874 0         0 last;
6875             }
6876 8         31 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6877 8         20 substr($text,0,length($current_match),q{});
6878 8 50       14 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6879             . $current_match . q{])},
6880             Parse::RecDescent::_tracefirst($text))
6881             if defined $::RD_TRACE;
6882 8         14 push @item, $item{__STRING1__}=$current_match;
6883            
6884              
6885 8 50       14 Parse::RecDescent::_trace(q{Trying action},
6886             Parse::RecDescent::_tracefirst($text),
6887             q{module_runtime_require_module},
6888             $tracelevel)
6889             if defined $::RD_TRACE;
6890            
6891              
6892 8 50       13 $_tok = ($_noactions) ? 0 : do { $return = $item[2][2] };
  8         16  
6893 8 50       17 unless (defined $_tok)
6894             {
6895 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6896             if defined $::RD_TRACE;
6897 0         0 last;
6898             }
6899 8 50       14 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6900             . $_tok . q{])},
6901             Parse::RecDescent::_tracefirst($text))
6902             if defined $::RD_TRACE;
6903 8         10 push @item, $_tok;
6904 8         15 $item{__ACTION1__}=$_tok;
6905            
6906              
6907 8 50       10 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::require_module(', or /\\brequire_module\\(/ ')']<<},
6908             Parse::RecDescent::_tracefirst($text),
6909             q{module_runtime_require_module},
6910             $tracelevel)
6911             if defined $::RD_TRACE;
6912              
6913              
6914              
6915 8         10 $_matched = 1;
6916 8         14 last;
6917             }
6918              
6919              
6920 69 100 66     268 unless ( $_matched || defined($score) )
6921             {
6922            
6923              
6924 61         103 $_[1] = $text; # NOT SURE THIS IS NEEDED
6925 61 50       99 Parse::RecDescent::_trace(q{<>},
6926             Parse::RecDescent::_tracefirst($_[1]),
6927             q{module_runtime_require_module},
6928             $tracelevel)
6929             if defined $::RD_TRACE;
6930 61         243 return undef;
6931             }
6932 8 50 33     26 if (!defined($return) && defined($score))
6933             {
6934 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6935             q{module_runtime_require_module},
6936             $tracelevel)
6937             if defined $::RD_TRACE;
6938 0         0 $return = $score_return;
6939             }
6940 8         10 splice @{$thisparser->{errors}}, $err_at;
  8         14  
6941 8 50       17 $return = $item[$#item] unless defined $return;
6942 8 50       13 if (defined $::RD_TRACE)
6943             {
6944 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6945             $return . q{])}, "",
6946             q{module_runtime_require_module},
6947             $tracelevel);
6948 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6949             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6950             Parse::RecDescent::_tracefirst($text),
6951             , q{module_runtime_require_module},
6952             $tracelevel)
6953             }
6954 8         13 $_[1] = $text;
6955 8         47 return $return;
6956             }
6957              
6958             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6959             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use
6960             {
6961 61     61   92 my $thisparser = $_[0];
6962 12     12   87 use vars q{$tracelevel};
  12         25  
  12         3521  
6963 61   50     121 local $tracelevel = ($tracelevel||0)+1;
6964 61         76 $ERRORS = 0;
6965 61         96 my $thisrule = $thisparser->{"rules"}{"module_runtime_use"};
6966              
6967 61 50       96 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_use]},
6968             Parse::RecDescent::_tracefirst($_[1]),
6969             q{module_runtime_use},
6970             $tracelevel)
6971             if defined $::RD_TRACE;
6972              
6973            
6974 61         66 my $err_at = @{$thisparser->{errors}};
  61         88  
6975              
6976 61         120 my $score;
6977             my $score_return;
6978 61         0 my $_tok;
6979 61         76 my $return = undef;
6980 61         89 my $_matched=0;
6981 61         66 my $commit=0;
6982 61         74 my @item = ();
6983 61         75 my %item = ();
6984 61         74 my $repeating = $_[2];
6985 61         71 my $_noactions = $_[3];
6986 61 50       94 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         75  
  61         87  
6987 61         77 my $_itempos = $_[5];
6988 61 50       117 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6989 61         111 my $text;
6990             my $lastsep;
6991 61         0 my $current_match;
6992 61         127 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::', or /\\b/});
6993 61         333 $expectation->at($_[1]);
6994            
6995 61         188 my $thisline;
6996 61         157 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6997              
6998            
6999              
7000 61   33     353 while (!$_matched && !$commit)
7001             {
7002            
7003 61 50       101 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::', or /\\b/ module_runtime_version ')']},
7004             Parse::RecDescent::_tracefirst($_[1]),
7005             q{module_runtime_use},
7006             $tracelevel)
7007             if defined $::RD_TRACE;
7008 61         105 my $thisprod = $thisrule->{"prods"}[0];
7009 61         82 $text = $_[1];
7010 61         66 my $_savetext;
7011 61         99 @item = (q{module_runtime_use});
7012 61         97 %item = (__RULE__ => q{module_runtime_use});
7013 61         78 my $repcount = 0;
7014              
7015              
7016 61 50       120 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use]},
7017             Parse::RecDescent::_tracefirst($text),
7018             q{module_runtime_use},
7019             $tracelevel)
7020             if defined $::RD_TRACE;
7021 12     12   89 if (1) { no strict qw{refs};
  12         34  
  12         9990  
  61         72  
7022 61         120 $expectation->is(q{})->at($text);
7023 61 100   61   433 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  61         99  
7024             {
7025            
7026 17 50       55 Parse::RecDescent::_trace(q{<>},
7027             Parse::RecDescent::_tracefirst($text),
7028             q{module_runtime_use},
7029             $tracelevel)
7030             if defined $::RD_TRACE;
7031 17         42 $expectation->failed();
7032 17         45 last;
7033             }
7034 44 50       109 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use]<< (return value: [}
7035             . $_tok . q{]},
7036              
7037             Parse::RecDescent::_tracefirst($text),
7038             q{module_runtime_use},
7039             $tracelevel)
7040             if defined $::RD_TRACE;
7041 44         78 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
7042 44         66 push @item, $_tok;
7043            
7044             }
7045              
7046            
7047              
7048 44 50       65 Parse::RecDescent::_trace(q{Trying directive: []},
7049             Parse::RecDescent::_tracefirst($text),
7050             q{module_runtime_use},
7051             $tracelevel)
7052             if defined $::RD_TRACE;
7053 44         49 $_tok = do { my ($match,@res);
  44         61  
7054 44         117 ($match,$text,undef,@res) =
7055             Text::Balanced::extract_quotelike($text,$skip);
7056 44 100       3228 $match ? \@res : undef;
7057             };
7058 44 100       78 if (defined($_tok))
7059             {
7060 40 50       74 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7061             . $_tok . q{])},
7062             Parse::RecDescent::_tracefirst($text))
7063             if defined $::RD_TRACE;
7064             }
7065             else
7066             {
7067 4 50       9 Parse::RecDescent::_trace(q{<>},
7068             Parse::RecDescent::_tracefirst($text))
7069             if defined $::RD_TRACE;
7070             }
7071            
7072 44 100       70 last unless defined $_tok;
7073 40         77 push @item, $item{__DIRECTIVE1__}=$_tok;
7074            
7075              
7076 40 50       68 Parse::RecDescent::_trace(q{Trying repeated subrule: [module_runtime_version]},
7077             Parse::RecDescent::_tracefirst($text),
7078             q{module_runtime_use},
7079             $tracelevel)
7080             if defined $::RD_TRACE;
7081 40         84 $expectation->is(q{module_runtime_version})->at($text);
7082            
7083 40 50   40   340 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_version, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  40         66  
7084             {
7085 0 0       0 Parse::RecDescent::_trace(q{<>},
7086             Parse::RecDescent::_tracefirst($text),
7087             q{module_runtime_use},
7088             $tracelevel)
7089             if defined $::RD_TRACE;
7090 0         0 last;
7091             }
7092 40 50       524 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [module_runtime_version]<< (}
7093             . @$_tok . q{ times)},
7094              
7095             Parse::RecDescent::_tracefirst($text),
7096             q{module_runtime_use},
7097             $tracelevel)
7098             if defined $::RD_TRACE;
7099 40         70 $item{q{module_runtime_version(?)}} = $_tok;
7100 40         58 push @item, $_tok;
7101            
7102              
7103              
7104 40 50       61 Parse::RecDescent::_trace(q{Trying terminal: [')']},
7105             Parse::RecDescent::_tracefirst($text),
7106             q{module_runtime_use},
7107             $tracelevel)
7108             if defined $::RD_TRACE;
7109 40         48 undef $lastsep;
7110 40         117 $expectation->is(q{')'})->at($text);
7111            
7112              
7113 40 50 66     333 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  40 100       220  
7114             {
7115 8 50       22 $text = $lastsep . $text if defined $lastsep;
7116            
7117 8         20 $expectation->failed();
7118 8 50       54 Parse::RecDescent::_trace(qq{<>},
7119             Parse::RecDescent::_tracefirst($text))
7120             if defined $::RD_TRACE;
7121 8         11 last;
7122             }
7123 32         112 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7124 32         70 substr($text,0,length($current_match),q{});
7125 32 50       54 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7126             . $current_match . q{])},
7127             Parse::RecDescent::_tracefirst($text))
7128             if defined $::RD_TRACE;
7129 32         69 push @item, $item{__STRING1__}=$current_match;
7130            
7131              
7132 32 50       46 Parse::RecDescent::_trace(q{Trying action},
7133             Parse::RecDescent::_tracefirst($text),
7134             q{module_runtime_use},
7135             $tracelevel)
7136             if defined $::RD_TRACE;
7137            
7138              
7139 32 50       55 $_tok = ($_noactions) ? 0 : do { $return = $item[2][2] };
  32         51  
7140 32 50       66 unless (defined $_tok)
7141             {
7142 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7143             if defined $::RD_TRACE;
7144 0         0 last;
7145             }
7146 32 50       47 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7147             . $_tok . q{])},
7148             Parse::RecDescent::_tracefirst($text))
7149             if defined $::RD_TRACE;
7150 32         43 push @item, $_tok;
7151 32         44 $item{__ACTION1__}=$_tok;
7152            
7153              
7154 32 50       48 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::', or /\\b/ module_runtime_version ')']<<},
7155             Parse::RecDescent::_tracefirst($text),
7156             q{module_runtime_use},
7157             $tracelevel)
7158             if defined $::RD_TRACE;
7159              
7160              
7161              
7162 32         35 $_matched = 1;
7163 32         45 last;
7164             }
7165              
7166              
7167 61 100 66     151 unless ( $_matched || defined($score) )
7168             {
7169            
7170              
7171 29         50 $_[1] = $text; # NOT SURE THIS IS NEEDED
7172 29 50       53 Parse::RecDescent::_trace(q{<>},
7173             Parse::RecDescent::_tracefirst($_[1]),
7174             q{module_runtime_use},
7175             $tracelevel)
7176             if defined $::RD_TRACE;
7177 29         138 return undef;
7178             }
7179 32 50 33     57 if (!defined($return) && defined($score))
7180             {
7181 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7182             q{module_runtime_use},
7183             $tracelevel)
7184             if defined $::RD_TRACE;
7185 0         0 $return = $score_return;
7186             }
7187 32         38 splice @{$thisparser->{errors}}, $err_at;
  32         54  
7188 32 50       50 $return = $item[$#item] unless defined $return;
7189 32 50       47 if (defined $::RD_TRACE)
7190             {
7191 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7192             $return . q{])}, "",
7193             q{module_runtime_use},
7194             $tracelevel);
7195 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7196             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7197             Parse::RecDescent::_tracefirst($text),
7198             , q{module_runtime_use},
7199             $tracelevel)
7200             }
7201 32         43 $_[1] = $text;
7202 32         178 return $return;
7203             }
7204              
7205             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7206             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn
7207             {
7208 61     61   88 my $thisparser = $_[0];
7209 12     12   94 use vars q{$tracelevel};
  12         39  
  12         3673  
7210 61   50     116 local $tracelevel = ($tracelevel||0)+1;
7211 61         68 $ERRORS = 0;
7212 61         111 my $thisrule = $thisparser->{"rules"}{"module_runtime_use_fcn"};
7213              
7214 61 50       93 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_use_fcn]},
7215             Parse::RecDescent::_tracefirst($_[1]),
7216             q{module_runtime_use_fcn},
7217             $tracelevel)
7218             if defined $::RD_TRACE;
7219              
7220            
7221 61         74 my $err_at = @{$thisparser->{errors}};
  61         85  
7222              
7223 61         120 my $score;
7224             my $score_return;
7225 61         0 my $_tok;
7226 61         67 my $return = undef;
7227 61         77 my $_matched=0;
7228 61         69 my $commit=0;
7229 61         79 my @item = ();
7230 61         71 my %item = ();
7231 61         72 my $repeating = $_[2];
7232 61         73 my $_noactions = $_[3];
7233 61 50       105 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         103  
  61         101  
7234 61         74 my $_itempos = $_[5];
7235 61 50       115 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7236 61         119 my $text;
7237             my $lastsep;
7238 61         0 my $current_match;
7239 61         107 my $expectation = new Parse::RecDescent::Expectation(q{'use_module', or 'use_package_optimistically'});
7240 61         308 $expectation->at($_[1]);
7241            
7242 61         190 my $thisline;
7243 61         149 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7244              
7245            
7246              
7247 61   33     341 while (!$_matched && !$commit)
7248             {
7249            
7250 61 50       109 Parse::RecDescent::_trace(q{Trying production: ['use_module', or 'use_package_optimistically']},
7251             Parse::RecDescent::_tracefirst($_[1]),
7252             q{module_runtime_use_fcn},
7253             $tracelevel)
7254             if defined $::RD_TRACE;
7255 61         91 my $thisprod = $thisrule->{"prods"}[0];
7256 61         215 $text = $_[1];
7257 61         73 my $_savetext;
7258 61         107 @item = (q{module_runtime_use_fcn});
7259 61         90 %item = (__RULE__ => q{module_runtime_use_fcn});
7260 61         76 my $repcount = 0;
7261              
7262              
7263 61 50       93 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]},
7264             Parse::RecDescent::_tracefirst($text),
7265             q{module_runtime_use_fcn},
7266             $tracelevel)
7267             if defined $::RD_TRACE;
7268 12     12   89 if (1) { no strict qw{refs};
  12         24  
  12         4462  
  61         72  
7269 61         107 $expectation->is(q{})->at($text);
7270 61 100   61   426 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use_fcn($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  61         100  
7271             {
7272            
7273 17 50       31 Parse::RecDescent::_trace(q{<>},
7274             Parse::RecDescent::_tracefirst($text),
7275             q{module_runtime_use_fcn},
7276             $tracelevel)
7277             if defined $::RD_TRACE;
7278 17         69 $expectation->failed();
7279 17         52 last;
7280             }
7281 44 50       146 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]<< (return value: [}
7282             . $_tok . q{]},
7283              
7284             Parse::RecDescent::_tracefirst($text),
7285             q{module_runtime_use_fcn},
7286             $tracelevel)
7287             if defined $::RD_TRACE;
7288 44         74 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn}} = $_tok;
7289 44         61 push @item, $_tok;
7290            
7291             }
7292              
7293 44 50       77 Parse::RecDescent::_trace(q{>>Matched production: ['use_module', or 'use_package_optimistically']<<},
7294             Parse::RecDescent::_tracefirst($text),
7295             q{module_runtime_use_fcn},
7296             $tracelevel)
7297             if defined $::RD_TRACE;
7298              
7299              
7300              
7301 44         53 $_matched = 1;
7302 44         57 last;
7303             }
7304              
7305              
7306 61 100 66     146 unless ( $_matched || defined($score) )
7307             {
7308            
7309              
7310 17         29 $_[1] = $text; # NOT SURE THIS IS NEEDED
7311 17 50       28 Parse::RecDescent::_trace(q{<>},
7312             Parse::RecDescent::_tracefirst($_[1]),
7313             q{module_runtime_use_fcn},
7314             $tracelevel)
7315             if defined $::RD_TRACE;
7316 17         64 return undef;
7317             }
7318 44 50 33     114 if (!defined($return) && defined($score))
7319             {
7320 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7321             q{module_runtime_use_fcn},
7322             $tracelevel)
7323             if defined $::RD_TRACE;
7324 0         0 $return = $score_return;
7325             }
7326 44         59 splice @{$thisparser->{errors}}, $err_at;
  44         68  
7327 44 50       75 $return = $item[$#item] unless defined $return;
7328 44 50       68 if (defined $::RD_TRACE)
7329             {
7330 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7331             $return . q{])}, "",
7332             q{module_runtime_use_fcn},
7333             $tracelevel);
7334 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7335             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7336             Parse::RecDescent::_tracefirst($text),
7337             , q{module_runtime_use_fcn},
7338             $tracelevel)
7339             }
7340 44         123 $_[1] = $text;
7341 44         174 return $return;
7342             }
7343              
7344             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7345             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_version
7346             {
7347 40     40   544 my $thisparser = $_[0];
7348 12     12   88 use vars q{$tracelevel};
  12         26  
  12         7175  
7349 40   50     81 local $tracelevel = ($tracelevel||0)+1;
7350 40         43 $ERRORS = 0;
7351 40         72 my $thisrule = $thisparser->{"rules"}{"module_runtime_version"};
7352              
7353 40 50       67 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_version]},
7354             Parse::RecDescent::_tracefirst($_[1]),
7355             q{module_runtime_version},
7356             $tracelevel)
7357             if defined $::RD_TRACE;
7358              
7359            
7360 40         47 my $err_at = @{$thisparser->{errors}};
  40         59  
7361              
7362 40         93 my $score;
7363             my $score_return;
7364 40         0 my $_tok;
7365 40         43 my $return = undef;
7366 40         42 my $_matched=0;
7367 40         44 my $commit=0;
7368 40         55 my @item = ();
7369 40         54 my %item = ();
7370 40         49 my $repeating = $_[2];
7371 40         41 my $_noactions = $_[3];
7372 40 50       70 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  40         48  
  40         52  
7373 40         47 my $_itempos = $_[5];
7374 40 50       76 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7375 40         73 my $text;
7376             my $lastsep;
7377 40         0 my $current_match;
7378 40         119 my $expectation = new Parse::RecDescent::Expectation(q{','});
7379 40         216 $expectation->at($_[1]);
7380            
7381 40         124 my $thisline;
7382 40         112 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7383              
7384            
7385              
7386 40   33     250 while (!$_matched && !$commit)
7387             {
7388            
7389 40 50       63 Parse::RecDescent::_trace(q{Trying production: [',' /\\s*/ version]},
7390             Parse::RecDescent::_tracefirst($_[1]),
7391             q{module_runtime_version},
7392             $tracelevel)
7393             if defined $::RD_TRACE;
7394 40         59 my $thisprod = $thisrule->{"prods"}[0];
7395 40         57 $text = $_[1];
7396 40         46 my $_savetext;
7397 40         58 @item = (q{module_runtime_version});
7398 40         79 %item = (__RULE__ => q{module_runtime_version});
7399 40         43 my $repcount = 0;
7400              
7401              
7402 40 50       63 Parse::RecDescent::_trace(q{Trying terminal: [',']},
7403             Parse::RecDescent::_tracefirst($text),
7404             q{module_runtime_version},
7405             $tracelevel)
7406             if defined $::RD_TRACE;
7407 40         61 undef $lastsep;
7408 40         82 $expectation->is(q{})->at($text);
7409            
7410              
7411 40 50 66     350 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  40 100       235  
7412             {
7413 16 50       35 $text = $lastsep . $text if defined $lastsep;
7414            
7415 16         42 $expectation->failed();
7416 16 50       56 Parse::RecDescent::_trace(qq{<>},
7417             Parse::RecDescent::_tracefirst($text))
7418             if defined $::RD_TRACE;
7419 16         29 last;
7420             }
7421 24         92 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7422 24         54 substr($text,0,length($current_match),q{});
7423 24 50       45 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7424             . $current_match . q{])},
7425             Parse::RecDescent::_tracefirst($text))
7426             if defined $::RD_TRACE;
7427 24         49 push @item, $item{__STRING1__}=$current_match;
7428            
7429              
7430 24 50       38 Parse::RecDescent::_trace(q{Trying terminal: [/\\s*/]}, Parse::RecDescent::_tracefirst($text),
7431             q{module_runtime_version},
7432             $tracelevel)
7433             if defined $::RD_TRACE;
7434 24         30 undef $lastsep;
7435 24         46 $expectation->is(q{/\\s*/})->at($text);
7436            
7437              
7438 24 50 33     187 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\s*)/)
  24 50       152  
7439             {
7440 0 0       0 $text = $lastsep . $text if defined $lastsep;
7441 0         0 $expectation->failed();
7442 0 0       0 Parse::RecDescent::_trace(q{<>},
7443             Parse::RecDescent::_tracefirst($text))
7444             if defined $::RD_TRACE;
7445              
7446 0         0 last;
7447             }
7448 24         74 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7449 24         53 substr($text,0,length($current_match),q{});
7450 24 50       45 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7451             . $current_match . q{])},
7452             Parse::RecDescent::_tracefirst($text))
7453             if defined $::RD_TRACE;
7454 24         44 push @item, $item{__PATTERN1__}=$current_match;
7455            
7456              
7457 24 50       51 Parse::RecDescent::_trace(q{Trying subrule: [version]},
7458             Parse::RecDescent::_tracefirst($text),
7459             q{module_runtime_version},
7460             $tracelevel)
7461             if defined $::RD_TRACE;
7462 12     12   91 if (1) { no strict qw{refs};
  12         22  
  12         4514  
  24         26  
7463 24         46 $expectation->is(q{version})->at($text);
7464 24 100   24   188 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  24         34  
7465             {
7466            
7467 4 50       8 Parse::RecDescent::_trace(q{<>},
7468             Parse::RecDescent::_tracefirst($text),
7469             q{module_runtime_version},
7470             $tracelevel)
7471             if defined $::RD_TRACE;
7472 4         18 $expectation->failed();
7473 4         30 last;
7474             }
7475 20 50       50 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
7476             . $_tok . q{]},
7477              
7478             Parse::RecDescent::_tracefirst($text),
7479             q{module_runtime_version},
7480             $tracelevel)
7481             if defined $::RD_TRACE;
7482 20         39 $item{q{version}} = $_tok;
7483 20         25 push @item, $_tok;
7484            
7485             }
7486              
7487 20 50       34 Parse::RecDescent::_trace(q{>>Matched production: [',' /\\s*/ version]<<},
7488             Parse::RecDescent::_tracefirst($text),
7489             q{module_runtime_version},
7490             $tracelevel)
7491             if defined $::RD_TRACE;
7492              
7493              
7494              
7495 20         25 $_matched = 1;
7496 20         23 last;
7497             }
7498              
7499              
7500 40 100 66     94 unless ( $_matched || defined($score) )
7501             {
7502            
7503              
7504 20         46 $_[1] = $text; # NOT SURE THIS IS NEEDED
7505 20 50       28 Parse::RecDescent::_trace(q{<>},
7506             Parse::RecDescent::_tracefirst($_[1]),
7507             q{module_runtime_version},
7508             $tracelevel)
7509             if defined $::RD_TRACE;
7510 20         80 return undef;
7511             }
7512 20 50 33     53 if (!defined($return) && defined($score))
7513             {
7514 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7515             q{module_runtime_version},
7516             $tracelevel)
7517             if defined $::RD_TRACE;
7518 0         0 $return = $score_return;
7519             }
7520 20         26 splice @{$thisparser->{errors}}, $err_at;
  20         31  
7521 20 50       37 $return = $item[$#item] unless defined $return;
7522 20 50       40 if (defined $::RD_TRACE)
7523             {
7524 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7525             $return . q{])}, "",
7526             q{module_runtime_version},
7527             $tracelevel);
7528 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7529             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7530             Parse::RecDescent::_tracefirst($text),
7531             , q{module_runtime_version},
7532             $tracelevel)
7533             }
7534 20         23 $_[1] = $text;
7535 20         81 return $return;
7536             }
7537              
7538             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7539             sub Parse::RecDescent::Module::ExtractUse::Grammar::no_stuff
7540             {
7541 21     21   40 my $thisparser = $_[0];
7542 12     12   82 use vars q{$tracelevel};
  12         26  
  12         3523  
7543 21   50     54 local $tracelevel = ($tracelevel||0)+1;
7544 21         34 $ERRORS = 0;
7545 21         46 my $thisrule = $thisparser->{"rules"}{"no_stuff"};
7546              
7547 21 50       42 Parse::RecDescent::_trace(q{Trying rule: [no_stuff]},
7548             Parse::RecDescent::_tracefirst($_[1]),
7549             q{no_stuff},
7550             $tracelevel)
7551             if defined $::RD_TRACE;
7552              
7553            
7554 21         25 my $err_at = @{$thisparser->{errors}};
  21         43  
7555              
7556 21         48 my $score;
7557             my $score_return;
7558 21         0 my $_tok;
7559 21         30 my $return = undef;
7560 21         30 my $_matched=0;
7561 21         29 my $commit=0;
7562 21         29 my @item = ();
7563 21         31 my %item = ();
7564 21         29 my $repeating = $_[2];
7565 21         65 my $_noactions = $_[3];
7566 21 50       43 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         37  
  21         30  
7567 21         29 my $_itempos = $_[5];
7568 21 50       57 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7569 21         44 my $text;
7570             my $lastsep;
7571 21         0 my $current_match;
7572 21         48 my $expectation = new Parse::RecDescent::Expectation(q{base, or version, or module});
7573 21         131 $expectation->at($_[1]);
7574            
7575 21         78 my $thisline;
7576 21         65 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7577              
7578            
7579              
7580 21   33     148 while (!$_matched && !$commit)
7581             {
7582            
7583 21 50       44 Parse::RecDescent::_trace(q{Trying production: [base, or version, or module]},
7584             Parse::RecDescent::_tracefirst($_[1]),
7585             q{no_stuff},
7586             $tracelevel)
7587             if defined $::RD_TRACE;
7588 21         43 my $thisprod = $thisrule->{"prods"}[0];
7589 21         45 $text = $_[1];
7590 21         33 my $_savetext;
7591 21         51 @item = (q{no_stuff});
7592 21         40 %item = (__RULE__ => q{no_stuff});
7593 21         30 my $repcount = 0;
7594              
7595              
7596 21 50       48 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_no_stuff]},
7597             Parse::RecDescent::_tracefirst($text),
7598             q{no_stuff},
7599             $tracelevel)
7600             if defined $::RD_TRACE;
7601 12     12   91 if (1) { no strict qw{refs};
  12         30  
  12         4361  
  21         28  
7602 21         48 $expectation->is(q{})->at($text);
7603 21 50   21   181 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_no_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  21         60  
7604             {
7605            
7606 0 0       0 Parse::RecDescent::_trace(q{<>},
7607             Parse::RecDescent::_tracefirst($text),
7608             q{no_stuff},
7609             $tracelevel)
7610             if defined $::RD_TRACE;
7611 0         0 $expectation->failed();
7612 0         0 last;
7613             }
7614 21 50       58 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_no_stuff]<< (return value: [}
7615             . $_tok . q{]},
7616              
7617             Parse::RecDescent::_tracefirst($text),
7618             q{no_stuff},
7619             $tracelevel)
7620             if defined $::RD_TRACE;
7621 21         37 $item{q{_alternation_1_of_production_1_of_rule_no_stuff}} = $_tok;
7622 21         33 push @item, $_tok;
7623            
7624             }
7625              
7626 21 50       40 Parse::RecDescent::_trace(q{>>Matched production: [base, or version, or module]<<},
7627             Parse::RecDescent::_tracefirst($text),
7628             q{no_stuff},
7629             $tracelevel)
7630             if defined $::RD_TRACE;
7631              
7632              
7633              
7634 21         33 $_matched = 1;
7635 21         36 last;
7636             }
7637              
7638              
7639 21 50 33     42 unless ( $_matched || defined($score) )
7640             {
7641            
7642              
7643 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7644 0 0       0 Parse::RecDescent::_trace(q{<>},
7645             Parse::RecDescent::_tracefirst($_[1]),
7646             q{no_stuff},
7647             $tracelevel)
7648             if defined $::RD_TRACE;
7649 0         0 return undef;
7650             }
7651 21 50 33     75 if (!defined($return) && defined($score))
7652             {
7653 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7654             q{no_stuff},
7655             $tracelevel)
7656             if defined $::RD_TRACE;
7657 0         0 $return = $score_return;
7658             }
7659 21         26 splice @{$thisparser->{errors}}, $err_at;
  21         35  
7660 21 50       63 $return = $item[$#item] unless defined $return;
7661 21 50       40 if (defined $::RD_TRACE)
7662             {
7663 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7664             $return . q{])}, "",
7665             q{no_stuff},
7666             $tracelevel);
7667 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7668             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7669             Parse::RecDescent::_tracefirst($text),
7670             , q{no_stuff},
7671             $tracelevel)
7672             }
7673 21         37 $_[1] = $text;
7674 21         97 return $return;
7675             }
7676              
7677             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7678             sub Parse::RecDescent::Module::ExtractUse::Grammar::parent
7679             {
7680 192     192   310 my $thisparser = $_[0];
7681 12     12   95 use vars q{$tracelevel};
  12         26  
  12         5001  
7682 192   50     443 local $tracelevel = ($tracelevel||0)+1;
7683 192         277 $ERRORS = 0;
7684 192         340 my $thisrule = $thisparser->{"rules"}{"parent"};
7685              
7686 192 50       378 Parse::RecDescent::_trace(q{Trying rule: [parent]},
7687             Parse::RecDescent::_tracefirst($_[1]),
7688             q{parent},
7689             $tracelevel)
7690             if defined $::RD_TRACE;
7691              
7692            
7693 192         272 my $err_at = @{$thisparser->{errors}};
  192         341  
7694              
7695 192         471 my $score;
7696             my $score_return;
7697 192         0 my $_tok;
7698 192         244 my $return = undef;
7699 192         244 my $_matched=0;
7700 192         234 my $commit=0;
7701 192         290 my @item = ();
7702 192         267 my %item = ();
7703 192         237 my $repeating = $_[2];
7704 192         276 my $_noactions = $_[3];
7705 192 50       374 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  192         265  
  192         282  
7706 192         275 my $_itempos = $_[5];
7707 192 50       580 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7708 192         471 my $text;
7709             my $lastsep;
7710 192         0 my $current_match;
7711 192         450 my $expectation = new Parse::RecDescent::Expectation(q{'parent'});
7712 192         1038 $expectation->at($_[1]);
7713            
7714 192         634 my $thisline;
7715 192         506 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7716              
7717            
7718              
7719 192   33     1547 while (!$_matched && !$commit)
7720             {
7721            
7722 192 50       438 Parse::RecDescent::_trace(q{Trying production: ['parent' import_list]},
7723             Parse::RecDescent::_tracefirst($_[1]),
7724             q{parent},
7725             $tracelevel)
7726             if defined $::RD_TRACE;
7727 192         315 my $thisprod = $thisrule->{"prods"}[0];
7728 192         294 $text = $_[1];
7729 192         261 my $_savetext;
7730 192         323 @item = (q{parent});
7731 192         325 %item = (__RULE__ => q{parent});
7732 192         257 my $repcount = 0;
7733              
7734              
7735 192 50       347 Parse::RecDescent::_trace(q{Trying terminal: ['parent']},
7736             Parse::RecDescent::_tracefirst($text),
7737             q{parent},
7738             $tracelevel)
7739             if defined $::RD_TRACE;
7740 192         292 undef $lastsep;
7741 192         353 $expectation->is(q{})->at($text);
7742            
7743              
7744 192 50 33     1800 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "parent"; 1 } and
  192 100 66     980  
  192   66     297  
  192         900  
7745             substr($text,0,length($_tok)) eq $_tok and
7746 36         64 do { substr($text,0,length($_tok)) = ""; 1; }
  36         91  
7747             )
7748             {
7749 156 50       397 $text = $lastsep . $text if defined $lastsep;
7750            
7751 156         431 $expectation->failed();
7752 156 50       525 Parse::RecDescent::_trace(q{<>},
7753             Parse::RecDescent::_tracefirst($text))
7754             if defined $::RD_TRACE;
7755 156         292 last;
7756             }
7757 36 50       84 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7758             . $_tok . q{])},
7759             Parse::RecDescent::_tracefirst($text))
7760             if defined $::RD_TRACE;
7761 36         75 push @item, $item{__STRING1__}=$_tok;
7762            
7763              
7764 36 50       64 Parse::RecDescent::_trace(q{Trying subrule: [import_list]},
7765             Parse::RecDescent::_tracefirst($text),
7766             q{parent},
7767             $tracelevel)
7768             if defined $::RD_TRACE;
7769 12     12   89 if (1) { no strict qw{refs};
  12         23  
  12         5745  
  36         45  
7770 36         75 $expectation->is(q{import_list})->at($text);
7771 36 50   36   301 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::import_list($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  36         55  
7772             {
7773            
7774 0 0       0 Parse::RecDescent::_trace(q{<>},
7775             Parse::RecDescent::_tracefirst($text),
7776             q{parent},
7777             $tracelevel)
7778             if defined $::RD_TRACE;
7779 0         0 $expectation->failed();
7780 0         0 last;
7781             }
7782 36 50       100 Parse::RecDescent::_trace(q{>>Matched subrule: [import_list]<< (return value: [}
7783             . $_tok . q{]},
7784              
7785             Parse::RecDescent::_tracefirst($text),
7786             q{parent},
7787             $tracelevel)
7788             if defined $::RD_TRACE;
7789 36         63 $item{q{import_list}} = $_tok;
7790 36         56 push @item, $_tok;
7791            
7792             }
7793              
7794 36 50       62 Parse::RecDescent::_trace(q{Trying action},
7795             Parse::RecDescent::_tracefirst($text),
7796             q{parent},
7797             $tracelevel)
7798             if defined $::RD_TRACE;
7799            
7800              
7801 36 100       352 $_tok = ($_noactions) ? 0 : do { $return='parent'; $return.=' '.$item[2] if $item[2] !~ /^\s*-norequire\b/; };
  36 50       50  
  36         209  
7802 36 50       80 unless (defined $_tok)
7803             {
7804 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7805             if defined $::RD_TRACE;
7806 0         0 last;
7807             }
7808 36 50       60 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7809             . $_tok . q{])},
7810             Parse::RecDescent::_tracefirst($text))
7811             if defined $::RD_TRACE;
7812 36         58 push @item, $_tok;
7813 36         60 $item{__ACTION1__}=$_tok;
7814            
7815              
7816 36 50       56 Parse::RecDescent::_trace(q{>>Matched production: ['parent' import_list]<<},
7817             Parse::RecDescent::_tracefirst($text),
7818             q{parent},
7819             $tracelevel)
7820             if defined $::RD_TRACE;
7821              
7822              
7823              
7824 36         43 $_matched = 1;
7825 36         54 last;
7826             }
7827              
7828              
7829 192 100 66     742 unless ( $_matched || defined($score) )
7830             {
7831            
7832              
7833 156         258 $_[1] = $text; # NOT SURE THIS IS NEEDED
7834 156 50       319 Parse::RecDescent::_trace(q{<>},
7835             Parse::RecDescent::_tracefirst($_[1]),
7836             q{parent},
7837             $tracelevel)
7838             if defined $::RD_TRACE;
7839 156         792 return undef;
7840             }
7841 36 50 33     70 if (!defined($return) && defined($score))
7842             {
7843 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7844             q{parent},
7845             $tracelevel)
7846             if defined $::RD_TRACE;
7847 0         0 $return = $score_return;
7848             }
7849 36         56 splice @{$thisparser->{errors}}, $err_at;
  36         66  
7850 36 50       66 $return = $item[$#item] unless defined $return;
7851 36 50       60 if (defined $::RD_TRACE)
7852             {
7853 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7854             $return . q{])}, "",
7855             q{parent},
7856             $tracelevel);
7857 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7858             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7859             Parse::RecDescent::_tracefirst($text),
7860             , q{parent},
7861             $tracelevel)
7862             }
7863 36         57 $_[1] = $text;
7864 36         166 return $return;
7865             }
7866              
7867             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7868             sub Parse::RecDescent::Module::ExtractUse::Grammar::require_name
7869             {
7870 27     27   42 my $thisparser = $_[0];
7871 12     12   84 use vars q{$tracelevel};
  12         31  
  12         8980  
7872 27   50     61 local $tracelevel = ($tracelevel||0)+1;
7873 27         61 $ERRORS = 0;
7874 27         50 my $thisrule = $thisparser->{"rules"}{"require_name"};
7875              
7876 27 50       59 Parse::RecDescent::_trace(q{Trying rule: [require_name]},
7877             Parse::RecDescent::_tracefirst($_[1]),
7878             q{require_name},
7879             $tracelevel)
7880             if defined $::RD_TRACE;
7881              
7882            
7883 27         33 my $err_at = @{$thisparser->{errors}};
  27         52  
7884              
7885 27         64 my $score;
7886             my $score_return;
7887 27         0 my $_tok;
7888 27         36 my $return = undef;
7889 27         52 my $_matched=0;
7890 27         34 my $commit=0;
7891 27         37 my @item = ();
7892 27         39 my %item = ();
7893 27         33 my $repeating = $_[2];
7894 27         38 my $_noactions = $_[3];
7895 27 50       55 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         34  
  27         48  
7896 27         43 my $_itempos = $_[5];
7897 27 50       95 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7898 27         56 my $text;
7899             my $lastsep;
7900 27         0 my $current_match;
7901 27         188 my $expectation = new Parse::RecDescent::Expectation(q{});
7902 27         164 $expectation->at($_[1]);
7903            
7904 27         90 my $thisline;
7905 27         76 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7906              
7907            
7908              
7909 27   33     190 while (!$_matched && !$commit)
7910             {
7911            
7912 27 50       55 Parse::RecDescent::_trace(q{Trying production: []},
7913             Parse::RecDescent::_tracefirst($_[1]),
7914             q{require_name},
7915             $tracelevel)
7916             if defined $::RD_TRACE;
7917 27         44 my $thisprod = $thisrule->{"prods"}[0];
7918 27         58 $text = $_[1];
7919 27         35 my $_savetext;
7920 27         60 @item = (q{require_name});
7921 27         64 %item = (__RULE__ => q{require_name});
7922 27         43 my $repcount = 0;
7923              
7924              
7925            
7926              
7927 27 50       48 Parse::RecDescent::_trace(q{Trying directive: []},
7928             Parse::RecDescent::_tracefirst($text),
7929             q{require_name},
7930             $tracelevel)
7931             if defined $::RD_TRACE;
7932 27         35 $_tok = do { my ($match,@res);
  27         46  
7933 27         80 ($match,$text,undef,@res) =
7934             Text::Balanced::extract_quotelike($text,$skip);
7935 27 100       1602 $match ? \@res : undef;
7936             };
7937 27 100       62 if (defined($_tok))
7938             {
7939 9 50       17 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7940             . $_tok . q{])},
7941             Parse::RecDescent::_tracefirst($text))
7942             if defined $::RD_TRACE;
7943             }
7944             else
7945             {
7946 18 50       43 Parse::RecDescent::_trace(q{<>},
7947             Parse::RecDescent::_tracefirst($text))
7948             if defined $::RD_TRACE;
7949             }
7950            
7951 27 100       57 last unless defined $_tok;
7952 9         21 push @item, $item{__DIRECTIVE1__}=$_tok;
7953            
7954              
7955 9 50       19 Parse::RecDescent::_trace(q{Trying action},
7956             Parse::RecDescent::_tracefirst($text),
7957             q{require_name},
7958             $tracelevel)
7959             if defined $::RD_TRACE;
7960            
7961              
7962 9 50       16 $_tok = ($_noactions) ? 0 : do { my $name=$item[1][2];
  9         16  
7963 9 100       44 return 1 if ($name=~/\.pl$/);
7964 6         13 $name=~s(/)(::)g;
7965 6         15 $name=~s/\.pm//;
7966 6         14 $return=$name;
7967             };
7968 6 50       26 unless (defined $_tok)
7969             {
7970 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7971             if defined $::RD_TRACE;
7972 0         0 last;
7973             }
7974 6 50       15 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7975             . $_tok . q{])},
7976             Parse::RecDescent::_tracefirst($text))
7977             if defined $::RD_TRACE;
7978 6         10 push @item, $_tok;
7979 6         12 $item{__ACTION1__}=$_tok;
7980            
7981              
7982 6 50       42 Parse::RecDescent::_trace(q{>>Matched production: []<<},
7983             Parse::RecDescent::_tracefirst($text),
7984             q{require_name},
7985             $tracelevel)
7986             if defined $::RD_TRACE;
7987              
7988              
7989              
7990 6         9 $_matched = 1;
7991 6         13 last;
7992             }
7993              
7994              
7995 24 100 66     83 unless ( $_matched || defined($score) )
7996             {
7997            
7998              
7999 18         33 $_[1] = $text; # NOT SURE THIS IS NEEDED
8000 18 50       36 Parse::RecDescent::_trace(q{<>},
8001             Parse::RecDescent::_tracefirst($_[1]),
8002             q{require_name},
8003             $tracelevel)
8004             if defined $::RD_TRACE;
8005 18         89 return undef;
8006             }
8007 6 50 33     14 if (!defined($return) && defined($score))
8008             {
8009 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8010             q{require_name},
8011             $tracelevel)
8012             if defined $::RD_TRACE;
8013 0         0 $return = $score_return;
8014             }
8015 6         10 splice @{$thisparser->{errors}}, $err_at;
  6         15  
8016 6 50       12 $return = $item[$#item] unless defined $return;
8017 6 50       25 if (defined $::RD_TRACE)
8018             {
8019 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8020             $return . q{])}, "",
8021             q{require_name},
8022             $tracelevel);
8023 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8024             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8025             Parse::RecDescent::_tracefirst($text),
8026             , q{require_name},
8027             $tracelevel)
8028             }
8029 6         12 $_[1] = $text;
8030 6         41 return $return;
8031             }
8032              
8033             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8034             sub Parse::RecDescent::Module::ExtractUse::Grammar::require_stuff
8035             {
8036 27     27   62 my $thisparser = $_[0];
8037 12     12   89 use vars q{$tracelevel};
  12         26  
  12         3634  
8038 27   50     66 local $tracelevel = ($tracelevel||0)+1;
8039 27         40 $ERRORS = 0;
8040 27         52 my $thisrule = $thisparser->{"rules"}{"require_stuff"};
8041              
8042 27 50       66 Parse::RecDescent::_trace(q{Trying rule: [require_stuff]},
8043             Parse::RecDescent::_tracefirst($_[1]),
8044             q{require_stuff},
8045             $tracelevel)
8046             if defined $::RD_TRACE;
8047              
8048            
8049 27         33 my $err_at = @{$thisparser->{errors}};
  27         48  
8050              
8051 27         66 my $score;
8052             my $score_return;
8053 27         0 my $_tok;
8054 27         32 my $return = undef;
8055 27         58 my $_matched=0;
8056 27         32 my $commit=0;
8057 27         45 my @item = ();
8058 27         382 my %item = ();
8059 27         41 my $repeating = $_[2];
8060 27         36 my $_noactions = $_[3];
8061 27 50       50 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         33  
  27         49  
8062 27         42 my $_itempos = $_[5];
8063 27 50       63 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8064 27         64 my $text;
8065             my $lastsep;
8066 27         0 my $current_match;
8067 27         64 my $expectation = new Parse::RecDescent::Expectation(q{version, or require_name, or module});
8068 27         159 $expectation->at($_[1]);
8069            
8070 27         111 my $thisline;
8071 27         88 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8072              
8073            
8074              
8075 27   33     222 while (!$_matched && !$commit)
8076             {
8077            
8078 27 50       54 Parse::RecDescent::_trace(q{Trying production: [version, or require_name, or module]},
8079             Parse::RecDescent::_tracefirst($_[1]),
8080             q{require_stuff},
8081             $tracelevel)
8082             if defined $::RD_TRACE;
8083 27         48 my $thisprod = $thisrule->{"prods"}[0];
8084 27         43 $text = $_[1];
8085 27         43 my $_savetext;
8086 27         53 @item = (q{require_stuff});
8087 27         47 %item = (__RULE__ => q{require_stuff});
8088 27         42 my $repcount = 0;
8089              
8090              
8091 27 50       62 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_require_stuff]},
8092             Parse::RecDescent::_tracefirst($text),
8093             q{require_stuff},
8094             $tracelevel)
8095             if defined $::RD_TRACE;
8096 12     12   85 if (1) { no strict qw{refs};
  12         22  
  12         4180  
  27         36  
8097 27         60 $expectation->is(q{})->at($text);
8098 27 50   27   228 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_require_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         45  
8099             {
8100            
8101 0 0       0 Parse::RecDescent::_trace(q{<>},
8102             Parse::RecDescent::_tracefirst($text),
8103             q{require_stuff},
8104             $tracelevel)
8105             if defined $::RD_TRACE;
8106 0         0 $expectation->failed();
8107 0         0 last;
8108             }
8109 27 50       71 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_require_stuff]<< (return value: [}
8110             . $_tok . q{]},
8111              
8112             Parse::RecDescent::_tracefirst($text),
8113             q{require_stuff},
8114             $tracelevel)
8115             if defined $::RD_TRACE;
8116 27         51 $item{q{_alternation_1_of_production_1_of_rule_require_stuff}} = $_tok;
8117 27         45 push @item, $_tok;
8118            
8119             }
8120              
8121 27 50       48 Parse::RecDescent::_trace(q{>>Matched production: [version, or require_name, or module]<<},
8122             Parse::RecDescent::_tracefirst($text),
8123             q{require_stuff},
8124             $tracelevel)
8125             if defined $::RD_TRACE;
8126              
8127              
8128              
8129 27         31 $_matched = 1;
8130 27         37 last;
8131             }
8132              
8133              
8134 27 50 33     60 unless ( $_matched || defined($score) )
8135             {
8136            
8137              
8138 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
8139 0 0       0 Parse::RecDescent::_trace(q{<>},
8140             Parse::RecDescent::_tracefirst($_[1]),
8141             q{require_stuff},
8142             $tracelevel)
8143             if defined $::RD_TRACE;
8144 0         0 return undef;
8145             }
8146 27 50 33     79 if (!defined($return) && defined($score))
8147             {
8148 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8149             q{require_stuff},
8150             $tracelevel)
8151             if defined $::RD_TRACE;
8152 0         0 $return = $score_return;
8153             }
8154 27         40 splice @{$thisparser->{errors}}, $err_at;
  27         59  
8155 27 50       64 $return = $item[$#item] unless defined $return;
8156 27 50       48 if (defined $::RD_TRACE)
8157             {
8158 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8159             $return . q{])}, "",
8160             q{require_stuff},
8161             $tracelevel);
8162 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8163             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8164             Parse::RecDescent::_tracefirst($text),
8165             , q{require_stuff},
8166             $tracelevel)
8167             }
8168 27         78 $_[1] = $text;
8169 27         123 return $return;
8170             }
8171              
8172             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8173             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_class_load
8174             {
8175 73     73   3144 my $thisparser = $_[0];
8176 12     12   82 use vars q{$tracelevel};
  12         24  
  12         3612  
8177 73   50     275 local $tracelevel = ($tracelevel||0)+1;
8178 73         99 $ERRORS = 0;
8179 73         132 my $thisrule = $thisparser->{"rules"}{"token_class_load"};
8180              
8181 73 50       133 Parse::RecDescent::_trace(q{Trying rule: [token_class_load]},
8182             Parse::RecDescent::_tracefirst($_[1]),
8183             q{token_class_load},
8184             $tracelevel)
8185             if defined $::RD_TRACE;
8186              
8187            
8188 73         86 my $err_at = @{$thisparser->{errors}};
  73         102  
8189              
8190 73         148 my $score;
8191             my $score_return;
8192 73         0 my $_tok;
8193 73         90 my $return = undef;
8194 73         90 my $_matched=0;
8195 73         90 my $commit=0;
8196 73         93 my @item = ();
8197 73         94 my %item = ();
8198 73         87 my $repeating = $_[2];
8199 73         98 my $_noactions = $_[3];
8200 73 50       129 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         102  
  73         134  
8201 73         236 my $_itempos = $_[5];
8202 73 50       145 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8203 73         151 my $text;
8204             my $lastsep;
8205 73         0 my $current_match;
8206 73         277 my $expectation = new Parse::RecDescent::Expectation(q{class_load, or class_load_first_existing});
8207 73         437 $expectation->at($_[1]);
8208            
8209 73         271 my $thisline;
8210 73         293 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8211              
8212            
8213              
8214 73   33     503 while (!$_matched && !$commit)
8215             {
8216            
8217 73 50       134 Parse::RecDescent::_trace(q{Trying production: [class_load]},
8218             Parse::RecDescent::_tracefirst($_[1]),
8219             q{token_class_load},
8220             $tracelevel)
8221             if defined $::RD_TRACE;
8222 73         115 my $thisprod = $thisrule->{"prods"}[0];
8223 73         136 $text = $_[1];
8224 73         90 my $_savetext;
8225 73         123 @item = (q{token_class_load});
8226 73         168 %item = (__RULE__ => q{token_class_load});
8227 73         97 my $repcount = 0;
8228              
8229              
8230 73 50       112 Parse::RecDescent::_trace(q{Trying subrule: [class_load]},
8231             Parse::RecDescent::_tracefirst($text),
8232             q{token_class_load},
8233             $tracelevel)
8234             if defined $::RD_TRACE;
8235 12     12   82 if (1) { no strict qw{refs};
  12         24  
  12         3124  
  73         84  
8236 73         135 $expectation->is(q{})->at($text);
8237 73 100   73   556 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  73         118  
8238             {
8239            
8240 37 50       77 Parse::RecDescent::_trace(q{<>},
8241             Parse::RecDescent::_tracefirst($text),
8242             q{token_class_load},
8243             $tracelevel)
8244             if defined $::RD_TRACE;
8245 37         83 $expectation->failed();
8246 37         106 last;
8247             }
8248 36 50       88 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load]<< (return value: [}
8249             . $_tok . q{]},
8250              
8251             Parse::RecDescent::_tracefirst($text),
8252             q{token_class_load},
8253             $tracelevel)
8254             if defined $::RD_TRACE;
8255 36         60 $item{q{class_load}} = $_tok;
8256 36         48 push @item, $_tok;
8257            
8258             }
8259              
8260 36 50       57 Parse::RecDescent::_trace(q{>>Matched production: [class_load]<<},
8261             Parse::RecDescent::_tracefirst($text),
8262             q{token_class_load},
8263             $tracelevel)
8264             if defined $::RD_TRACE;
8265              
8266              
8267              
8268 36         47 $_matched = 1;
8269 36         51 last;
8270             }
8271              
8272              
8273 73   66     194 while (!$_matched && !$commit)
8274             {
8275            
8276 37 50       66 Parse::RecDescent::_trace(q{Trying production: [class_load_first_existing]},
8277             Parse::RecDescent::_tracefirst($_[1]),
8278             q{token_class_load},
8279             $tracelevel)
8280             if defined $::RD_TRACE;
8281 37         49 my $thisprod = $thisrule->{"prods"}[1];
8282 37         69 $text = $_[1];
8283 37         46 my $_savetext;
8284 37         69 @item = (q{token_class_load});
8285 37         75 %item = (__RULE__ => q{token_class_load});
8286 37         46 my $repcount = 0;
8287              
8288              
8289 37 50       67 Parse::RecDescent::_trace(q{Trying subrule: [class_load_first_existing]},
8290             Parse::RecDescent::_tracefirst($text),
8291             q{token_class_load},
8292             $tracelevel)
8293             if defined $::RD_TRACE;
8294 12     12   89 if (1) { no strict qw{refs};
  12         24  
  12         4467  
  37         55  
8295 37         71 $expectation->is(q{})->at($text);
8296 37 100   37   305 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_first_existing($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  37         58  
8297             {
8298            
8299 25 50       43 Parse::RecDescent::_trace(q{<>},
8300             Parse::RecDescent::_tracefirst($text),
8301             q{token_class_load},
8302             $tracelevel)
8303             if defined $::RD_TRACE;
8304 25         59 $expectation->failed();
8305 25         68 last;
8306             }
8307 12 50       34 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_first_existing]<< (return value: [}
8308             . $_tok . q{]},
8309              
8310             Parse::RecDescent::_tracefirst($text),
8311             q{token_class_load},
8312             $tracelevel)
8313             if defined $::RD_TRACE;
8314 12         21 $item{q{class_load_first_existing}} = $_tok;
8315 12         20 push @item, $_tok;
8316            
8317             }
8318              
8319 12 50       18 Parse::RecDescent::_trace(q{>>Matched production: [class_load_first_existing]<<},
8320             Parse::RecDescent::_tracefirst($text),
8321             q{token_class_load},
8322             $tracelevel)
8323             if defined $::RD_TRACE;
8324              
8325              
8326              
8327 12         15 $_matched = 1;
8328 12         17 last;
8329             }
8330              
8331              
8332 73 100 66     173 unless ( $_matched || defined($score) )
8333             {
8334            
8335              
8336 25         330 $_[1] = $text; # NOT SURE THIS IS NEEDED
8337 25 50       41 Parse::RecDescent::_trace(q{<>},
8338             Parse::RecDescent::_tracefirst($_[1]),
8339             q{token_class_load},
8340             $tracelevel)
8341             if defined $::RD_TRACE;
8342 25         99 return undef;
8343             }
8344 48 50 33     133 if (!defined($return) && defined($score))
8345             {
8346 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8347             q{token_class_load},
8348             $tracelevel)
8349             if defined $::RD_TRACE;
8350 0         0 $return = $score_return;
8351             }
8352 48         59 splice @{$thisparser->{errors}}, $err_at;
  48         68  
8353 48 50       101 $return = $item[$#item] unless defined $return;
8354 48 50       80 if (defined $::RD_TRACE)
8355             {
8356 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8357             $return . q{])}, "",
8358             q{token_class_load},
8359             $tracelevel);
8360 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8361             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8362             Parse::RecDescent::_tracefirst($text),
8363             , q{token_class_load},
8364             $tracelevel)
8365             }
8366 48         71 $_[1] = $text;
8367 48         197 return $return;
8368             }
8369              
8370             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8371             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_module_runtime
8372             {
8373 69     69   3054 my $thisparser = $_[0];
8374 12     12   92 use vars q{$tracelevel};
  12         25  
  12         3433  
8375 69   50     223 local $tracelevel = ($tracelevel||0)+1;
8376 69         86 $ERRORS = 0;
8377 69         108 my $thisrule = $thisparser->{"rules"}{"token_module_runtime"};
8378              
8379 69 50       124 Parse::RecDescent::_trace(q{Trying rule: [token_module_runtime]},
8380             Parse::RecDescent::_tracefirst($_[1]),
8381             q{token_module_runtime},
8382             $tracelevel)
8383             if defined $::RD_TRACE;
8384              
8385            
8386 69         109 my $err_at = @{$thisparser->{errors}};
  69         116  
8387              
8388 69         153 my $score;
8389             my $score_return;
8390 69         0 my $_tok;
8391 69         98 my $return = undef;
8392 69         86 my $_matched=0;
8393 69         76 my $commit=0;
8394 69         94 my @item = ();
8395 69         98 my %item = ();
8396 69         80 my $repeating = $_[2];
8397 69         102 my $_noactions = $_[3];
8398 69 50       112 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         87  
  69         124  
8399 69         230 my $_itempos = $_[5];
8400 69 50       162 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8401 69         129 my $text;
8402             my $lastsep;
8403 69         0 my $current_match;
8404 69         252 my $expectation = new Parse::RecDescent::Expectation(q{module_runtime_require_module, or module_runtime_use});
8405 69         423 $expectation->at($_[1]);
8406            
8407 69         244 my $thisline;
8408 69         258 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8409              
8410            
8411              
8412 69   33     759 while (!$_matched && !$commit)
8413             {
8414            
8415 69 50       124 Parse::RecDescent::_trace(q{Trying production: [module_runtime_require_module]},
8416             Parse::RecDescent::_tracefirst($_[1]),
8417             q{token_module_runtime},
8418             $tracelevel)
8419             if defined $::RD_TRACE;
8420 69         109 my $thisprod = $thisrule->{"prods"}[0];
8421 69         90 $text = $_[1];
8422 69         80 my $_savetext;
8423 69         110 @item = (q{token_module_runtime});
8424 69         125 %item = (__RULE__ => q{token_module_runtime});
8425 69         86 my $repcount = 0;
8426              
8427              
8428 69 50       110 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_require_module]},
8429             Parse::RecDescent::_tracefirst($text),
8430             q{token_module_runtime},
8431             $tracelevel)
8432             if defined $::RD_TRACE;
8433 12     12   83 if (1) { no strict qw{refs};
  12         24  
  12         3113  
  69         79  
8434 69         140 $expectation->is(q{})->at($text);
8435 69 100   69   511 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_require_module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  69         107  
8436             {
8437            
8438 61 50       110 Parse::RecDescent::_trace(q{<>},
8439             Parse::RecDescent::_tracefirst($text),
8440             q{token_module_runtime},
8441             $tracelevel)
8442             if defined $::RD_TRACE;
8443 61         128 $expectation->failed();
8444 61         163 last;
8445             }
8446 8 50       24 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_require_module]<< (return value: [}
8447             . $_tok . q{]},
8448              
8449             Parse::RecDescent::_tracefirst($text),
8450             q{token_module_runtime},
8451             $tracelevel)
8452             if defined $::RD_TRACE;
8453 8         15 $item{q{module_runtime_require_module}} = $_tok;
8454 8         8 push @item, $_tok;
8455            
8456             }
8457              
8458 8 50       13 Parse::RecDescent::_trace(q{>>Matched production: [module_runtime_require_module]<<},
8459             Parse::RecDescent::_tracefirst($text),
8460             q{token_module_runtime},
8461             $tracelevel)
8462             if defined $::RD_TRACE;
8463              
8464              
8465              
8466 8         14 $_matched = 1;
8467 8         8 last;
8468             }
8469              
8470              
8471 69   66     219 while (!$_matched && !$commit)
8472             {
8473            
8474 61 50       105 Parse::RecDescent::_trace(q{Trying production: [module_runtime_use]},
8475             Parse::RecDescent::_tracefirst($_[1]),
8476             q{token_module_runtime},
8477             $tracelevel)
8478             if defined $::RD_TRACE;
8479 61         95 my $thisprod = $thisrule->{"prods"}[1];
8480 61         90 $text = $_[1];
8481 61         69 my $_savetext;
8482 61         99 @item = (q{token_module_runtime});
8483 61         130 %item = (__RULE__ => q{token_module_runtime});
8484 61         70 my $repcount = 0;
8485              
8486              
8487 61 50       114 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use]},
8488             Parse::RecDescent::_tracefirst($text),
8489             q{token_module_runtime},
8490             $tracelevel)
8491             if defined $::RD_TRACE;
8492 12     12   86 if (1) { no strict qw{refs};
  12         22  
  12         4445  
  61         79  
8493 61         100 $expectation->is(q{})->at($text);
8494 61 100   61   528 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  61         94  
8495             {
8496            
8497 29 50       52 Parse::RecDescent::_trace(q{<>},
8498             Parse::RecDescent::_tracefirst($text),
8499             q{token_module_runtime},
8500             $tracelevel)
8501             if defined $::RD_TRACE;
8502 29         70 $expectation->failed();
8503 29         78 last;
8504             }
8505 32 50       84 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use]<< (return value: [}
8506             . $_tok . q{]},
8507              
8508             Parse::RecDescent::_tracefirst($text),
8509             q{token_module_runtime},
8510             $tracelevel)
8511             if defined $::RD_TRACE;
8512 32         46 $item{q{module_runtime_use}} = $_tok;
8513 32         53 push @item, $_tok;
8514            
8515             }
8516              
8517 32 50       41 Parse::RecDescent::_trace(q{>>Matched production: [module_runtime_use]<<},
8518             Parse::RecDescent::_tracefirst($text),
8519             q{token_module_runtime},
8520             $tracelevel)
8521             if defined $::RD_TRACE;
8522              
8523              
8524              
8525 32         41 $_matched = 1;
8526 32         48 last;
8527             }
8528              
8529              
8530 69 100 66     166 unless ( $_matched || defined($score) )
8531             {
8532            
8533              
8534 29         46 $_[1] = $text; # NOT SURE THIS IS NEEDED
8535 29 50       45 Parse::RecDescent::_trace(q{<>},
8536             Parse::RecDescent::_tracefirst($_[1]),
8537             q{token_module_runtime},
8538             $tracelevel)
8539             if defined $::RD_TRACE;
8540 29         104 return undef;
8541             }
8542 40 50 33     119 if (!defined($return) && defined($score))
8543             {
8544 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8545             q{token_module_runtime},
8546             $tracelevel)
8547             if defined $::RD_TRACE;
8548 0         0 $return = $score_return;
8549             }
8550 40         47 splice @{$thisparser->{errors}}, $err_at;
  40         63  
8551 40 50       85 $return = $item[$#item] unless defined $return;
8552 40 50       68 if (defined $::RD_TRACE)
8553             {
8554 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8555             $return . q{])}, "",
8556             q{token_module_runtime},
8557             $tracelevel);
8558 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8559             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8560             Parse::RecDescent::_tracefirst($text),
8561             , q{token_module_runtime},
8562             $tracelevel)
8563             }
8564 40         60 $_[1] = $text;
8565 40         155 return $return;
8566             }
8567              
8568             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8569             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_no
8570             {
8571 41     41   1862 my $thisparser = $_[0];
8572 12     12   80 use vars q{$tracelevel};
  12         25  
  12         5171  
8573 41   50     151 local $tracelevel = ($tracelevel||0)+1;
8574 41         54 $ERRORS = 0;
8575 41         102 my $thisrule = $thisparser->{"rules"}{"token_no"};
8576              
8577 41 50       88 Parse::RecDescent::_trace(q{Trying rule: [token_no]},
8578             Parse::RecDescent::_tracefirst($_[1]),
8579             q{token_no},
8580             $tracelevel)
8581             if defined $::RD_TRACE;
8582              
8583            
8584 41         47 my $err_at = @{$thisparser->{errors}};
  41         76  
8585              
8586 41         103 my $score;
8587             my $score_return;
8588 41         0 my $_tok;
8589 41         55 my $return = undef;
8590 41         46 my $_matched=0;
8591 41         59 my $commit=0;
8592 41         69 my @item = ();
8593 41         54 my %item = ();
8594 41         53 my $repeating = $_[2];
8595 41         55 my $_noactions = $_[3];
8596 41 50       83 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  41         48  
  41         87  
8597 41         132 my $_itempos = $_[5];
8598 41 50       92 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8599 41         92 my $text;
8600             my $lastsep;
8601 41         0 my $current_match;
8602 41         158 my $expectation = new Parse::RecDescent::Expectation(q{/\\bno\\s/});
8603 41         290 $expectation->at($_[1]);
8604            
8605 41         149 my $thisline;
8606 41         171 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8607              
8608            
8609              
8610 41   33     330 while (!$_matched && !$commit)
8611             {
8612            
8613 41 50       80 Parse::RecDescent::_trace(q{Trying production: [/\\bno\\s/ no_stuff /[;\}]/]},
8614             Parse::RecDescent::_tracefirst($_[1]),
8615             q{token_no},
8616             $tracelevel)
8617             if defined $::RD_TRACE;
8618 41         85 my $thisprod = $thisrule->{"prods"}[0];
8619 41         95 $text = $_[1];
8620 41         54 my $_savetext;
8621 41         76 @item = (q{token_no});
8622 41         108 %item = (__RULE__ => q{token_no});
8623 41         69 my $repcount = 0;
8624              
8625              
8626 41 50       69 Parse::RecDescent::_trace(q{Trying terminal: [/\\bno\\s/]}, Parse::RecDescent::_tracefirst($text),
8627             q{token_no},
8628             $tracelevel)
8629             if defined $::RD_TRACE;
8630 41         66 undef $lastsep;
8631 41         97 $expectation->is(q{})->at($text);
8632            
8633              
8634 41 100 66     428 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\bno\s)/)
  41 100       309  
8635             {
8636 20 50       79 $text = $lastsep . $text if defined $lastsep;
8637 20         63 $expectation->failed();
8638 20 50       73 Parse::RecDescent::_trace(q{<>},
8639             Parse::RecDescent::_tracefirst($text))
8640             if defined $::RD_TRACE;
8641              
8642 20         41 last;
8643             }
8644 21         105 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8645 21         57 substr($text,0,length($current_match),q{});
8646 21 50       40 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8647             . $current_match . q{])},
8648             Parse::RecDescent::_tracefirst($text))
8649             if defined $::RD_TRACE;
8650 21         54 push @item, $item{__PATTERN1__}=$current_match;
8651            
8652              
8653 21 50       45 Parse::RecDescent::_trace(q{Trying subrule: [no_stuff]},
8654             Parse::RecDescent::_tracefirst($text),
8655             q{token_no},
8656             $tracelevel)
8657             if defined $::RD_TRACE;
8658 12     12   84 if (1) { no strict qw{refs};
  12         25  
  12         7447  
  21         33  
8659 21         48 $expectation->is(q{no_stuff})->at($text);
8660 21 50   21   191 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::no_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  21         39  
8661             {
8662            
8663 0 0       0 Parse::RecDescent::_trace(q{<>},
8664             Parse::RecDescent::_tracefirst($text),
8665             q{token_no},
8666             $tracelevel)
8667             if defined $::RD_TRACE;
8668 0         0 $expectation->failed();
8669 0         0 last;
8670             }
8671 21 50       64 Parse::RecDescent::_trace(q{>>Matched subrule: [no_stuff]<< (return value: [}
8672             . $_tok . q{]},
8673              
8674             Parse::RecDescent::_tracefirst($text),
8675             q{token_no},
8676             $tracelevel)
8677             if defined $::RD_TRACE;
8678 21         37 $item{q{no_stuff}} = $_tok;
8679 21         32 push @item, $_tok;
8680            
8681             }
8682              
8683 21 50       35 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
8684             q{token_no},
8685             $tracelevel)
8686             if defined $::RD_TRACE;
8687 21         30 undef $lastsep;
8688 21         52 $expectation->is(q{/[;\}]/})->at($text);
8689            
8690              
8691 21 50 33     221 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  21 50       150  
8692             {
8693 0 0       0 $text = $lastsep . $text if defined $lastsep;
8694 0         0 $expectation->failed();
8695 0 0       0 Parse::RecDescent::_trace(q{<>},
8696             Parse::RecDescent::_tracefirst($text))
8697             if defined $::RD_TRACE;
8698              
8699 0         0 last;
8700             }
8701 21         87 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8702 21         51 substr($text,0,length($current_match),q{});
8703 21 50       46 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8704             . $current_match . q{])},
8705             Parse::RecDescent::_tracefirst($text))
8706             if defined $::RD_TRACE;
8707 21         47 push @item, $item{__PATTERN2__}=$current_match;
8708            
8709              
8710 21 50       36 Parse::RecDescent::_trace(q{Trying action},
8711             Parse::RecDescent::_tracefirst($text),
8712             q{token_no},
8713             $tracelevel)
8714             if defined $::RD_TRACE;
8715            
8716              
8717 21 50       45 $_tok = ($_noactions) ? 0 : do { $return=$item{no_stuff} };
  21         39  
8718 21 50       47 unless (defined $_tok)
8719             {
8720 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8721             if defined $::RD_TRACE;
8722 0         0 last;
8723             }
8724 21 50       31 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8725             . $_tok . q{])},
8726             Parse::RecDescent::_tracefirst($text))
8727             if defined $::RD_TRACE;
8728 21         42 push @item, $_tok;
8729 21         33 $item{__ACTION1__}=$_tok;
8730            
8731              
8732 21 50       37 Parse::RecDescent::_trace(q{>>Matched production: [/\\bno\\s/ no_stuff /[;\}]/]<<},
8733             Parse::RecDescent::_tracefirst($text),
8734             q{token_no},
8735             $tracelevel)
8736             if defined $::RD_TRACE;
8737              
8738              
8739              
8740 21         23 $_matched = 1;
8741 21         36 last;
8742             }
8743              
8744              
8745 41 100 66     120 unless ( $_matched || defined($score) )
8746             {
8747            
8748              
8749 20         31 $_[1] = $text; # NOT SURE THIS IS NEEDED
8750 20 50       40 Parse::RecDescent::_trace(q{<>},
8751             Parse::RecDescent::_tracefirst($_[1]),
8752             q{token_no},
8753             $tracelevel)
8754             if defined $::RD_TRACE;
8755 20         106 return undef;
8756             }
8757 21 50 33     43 if (!defined($return) && defined($score))
8758             {
8759 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8760             q{token_no},
8761             $tracelevel)
8762             if defined $::RD_TRACE;
8763 0         0 $return = $score_return;
8764             }
8765 21         30 splice @{$thisparser->{errors}}, $err_at;
  21         40  
8766 21 50       43 $return = $item[$#item] unless defined $return;
8767 21 50       43 if (defined $::RD_TRACE)
8768             {
8769 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8770             $return . q{])}, "",
8771             q{token_no},
8772             $tracelevel);
8773 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8774             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8775             Parse::RecDescent::_tracefirst($text),
8776             , q{token_no},
8777             $tracelevel)
8778             }
8779 21         37 $_[1] = $text;
8780 21         114 return $return;
8781             }
8782              
8783             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8784             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_require
8785             {
8786 51     51   2257 my $thisparser = $_[0];
8787 12     12   85 use vars q{$tracelevel};
  12         22  
  12         4985  
8788 51   50     211 local $tracelevel = ($tracelevel||0)+1;
8789 51         78 $ERRORS = 0;
8790 51         100 my $thisrule = $thisparser->{"rules"}{"token_require"};
8791              
8792 51 50       115 Parse::RecDescent::_trace(q{Trying rule: [token_require]},
8793             Parse::RecDescent::_tracefirst($_[1]),
8794             q{token_require},
8795             $tracelevel)
8796             if defined $::RD_TRACE;
8797              
8798            
8799 51         68 my $err_at = @{$thisparser->{errors}};
  51         98  
8800              
8801 51         116 my $score;
8802             my $score_return;
8803 51         0 my $_tok;
8804 51         68 my $return = undef;
8805 51         73 my $_matched=0;
8806 51         72 my $commit=0;
8807 51         72 my @item = ();
8808 51         81 my %item = ();
8809 51         74 my $repeating = $_[2];
8810 51         71 my $_noactions = $_[3];
8811 51 50       117 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  51         63  
  51         107  
8812 51         183 my $_itempos = $_[5];
8813 51 50       122 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8814 51         119 my $text;
8815             my $lastsep;
8816 51         0 my $current_match;
8817 51         179 my $expectation = new Parse::RecDescent::Expectation(q{/\\brequire\\s/});
8818 51         330 $expectation->at($_[1]);
8819            
8820 51         188 my $thisline;
8821 51         209 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8822              
8823            
8824              
8825 51   33     409 while (!$_matched && !$commit)
8826             {
8827            
8828 51 50       102 Parse::RecDescent::_trace(q{Trying production: [/\\brequire\\s/ require_stuff /[;\}]/]},
8829             Parse::RecDescent::_tracefirst($_[1]),
8830             q{token_require},
8831             $tracelevel)
8832             if defined $::RD_TRACE;
8833 51         107 my $thisprod = $thisrule->{"prods"}[0];
8834 51         84 $text = $_[1];
8835 51         61 my $_savetext;
8836 51         98 @item = (q{token_require});
8837 51         103 %item = (__RULE__ => q{token_require});
8838 51         68 my $repcount = 0;
8839              
8840              
8841 51 50       95 Parse::RecDescent::_trace(q{Trying terminal: [/\\brequire\\s/]}, Parse::RecDescent::_tracefirst($text),
8842             q{token_require},
8843             $tracelevel)
8844             if defined $::RD_TRACE;
8845 51         89 undef $lastsep;
8846 51         120 $expectation->is(q{})->at($text);
8847            
8848              
8849 51 100 66     561 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\brequire\s)/)
  51 100       434  
8850             {
8851 24 50       74 $text = $lastsep . $text if defined $lastsep;
8852 24         68 $expectation->failed();
8853 24 50       90 Parse::RecDescent::_trace(q{<>},
8854             Parse::RecDescent::_tracefirst($text))
8855             if defined $::RD_TRACE;
8856              
8857 24         46 last;
8858             }
8859 27         136 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8860 27         75 substr($text,0,length($current_match),q{});
8861 27 50       58 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8862             . $current_match . q{])},
8863             Parse::RecDescent::_tracefirst($text))
8864             if defined $::RD_TRACE;
8865 27         67 push @item, $item{__PATTERN1__}=$current_match;
8866            
8867              
8868 27 50       135 Parse::RecDescent::_trace(q{Trying subrule: [require_stuff]},
8869             Parse::RecDescent::_tracefirst($text),
8870             q{token_require},
8871             $tracelevel)
8872             if defined $::RD_TRACE;
8873 12     12   87 if (1) { no strict qw{refs};
  12         24  
  12         7673  
  27         38  
8874 27         89 $expectation->is(q{require_stuff})->at($text);
8875 27 50   27   270 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::require_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         48  
8876             {
8877            
8878 0 0       0 Parse::RecDescent::_trace(q{<>},
8879             Parse::RecDescent::_tracefirst($text),
8880             q{token_require},
8881             $tracelevel)
8882             if defined $::RD_TRACE;
8883 0         0 $expectation->failed();
8884 0         0 last;
8885             }
8886 27 50       93 Parse::RecDescent::_trace(q{>>Matched subrule: [require_stuff]<< (return value: [}
8887             . $_tok . q{]},
8888              
8889             Parse::RecDescent::_tracefirst($text),
8890             q{token_require},
8891             $tracelevel)
8892             if defined $::RD_TRACE;
8893 27         52 $item{q{require_stuff}} = $_tok;
8894 27         52 push @item, $_tok;
8895            
8896             }
8897              
8898 27 50       54 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
8899             q{token_require},
8900             $tracelevel)
8901             if defined $::RD_TRACE;
8902 27         41 undef $lastsep;
8903 27         77 $expectation->is(q{/[;\}]/})->at($text);
8904            
8905              
8906 27 100 66     298 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  27 100       215  
8907             {
8908 3 50       10 $text = $lastsep . $text if defined $lastsep;
8909 3         11 $expectation->failed();
8910 3 50       23 Parse::RecDescent::_trace(q{<>},
8911             Parse::RecDescent::_tracefirst($text))
8912             if defined $::RD_TRACE;
8913              
8914 3         7 last;
8915             }
8916 24         108 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8917 24         61 substr($text,0,length($current_match),q{});
8918 24 50       48 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8919             . $current_match . q{])},
8920             Parse::RecDescent::_tracefirst($text))
8921             if defined $::RD_TRACE;
8922 24         57 push @item, $item{__PATTERN2__}=$current_match;
8923            
8924              
8925 24 50       62 Parse::RecDescent::_trace(q{Trying action},
8926             Parse::RecDescent::_tracefirst($text),
8927             q{token_require},
8928             $tracelevel)
8929             if defined $::RD_TRACE;
8930            
8931              
8932 24 50       47 $_tok = ($_noactions) ? 0 : do { $return=$item{require_stuff} };
  24         49  
8933 24 50       48 unless (defined $_tok)
8934             {
8935 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8936             if defined $::RD_TRACE;
8937 0         0 last;
8938             }
8939 24 50       55 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8940             . $_tok . q{])},
8941             Parse::RecDescent::_tracefirst($text))
8942             if defined $::RD_TRACE;
8943 24         36 push @item, $_tok;
8944 24         37 $item{__ACTION1__}=$_tok;
8945            
8946              
8947 24 50       47 Parse::RecDescent::_trace(q{>>Matched production: [/\\brequire\\s/ require_stuff /[;\}]/]<<},
8948             Parse::RecDescent::_tracefirst($text),
8949             q{token_require},
8950             $tracelevel)
8951             if defined $::RD_TRACE;
8952              
8953              
8954              
8955 24         36 $_matched = 1;
8956 24         47 last;
8957             }
8958              
8959              
8960 51 100 66     150 unless ( $_matched || defined($score) )
8961             {
8962            
8963              
8964 27         45 $_[1] = $text; # NOT SURE THIS IS NEEDED
8965 27 50       50 Parse::RecDescent::_trace(q{<>},
8966             Parse::RecDescent::_tracefirst($_[1]),
8967             q{token_require},
8968             $tracelevel)
8969             if defined $::RD_TRACE;
8970 27         124 return undef;
8971             }
8972 24 50 33     53 if (!defined($return) && defined($score))
8973             {
8974 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8975             q{token_require},
8976             $tracelevel)
8977             if defined $::RD_TRACE;
8978 0         0 $return = $score_return;
8979             }
8980 24         32 splice @{$thisparser->{errors}}, $err_at;
  24         46  
8981 24 50       59 $return = $item[$#item] unless defined $return;
8982 24 50       73 if (defined $::RD_TRACE)
8983             {
8984 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8985             $return . q{])}, "",
8986             q{token_require},
8987             $tracelevel);
8988 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8989             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8990             Parse::RecDescent::_tracefirst($text),
8991             , q{token_require},
8992             $tracelevel)
8993             }
8994 24         37 $_[1] = $text;
8995 24         119 return $return;
8996             }
8997              
8998             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8999             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_use
9000             {
9001 286     286   13211 my $thisparser = $_[0];
9002 12     12   94 use vars q{$tracelevel};
  12         23  
  12         4933  
9003 286   50     1134 local $tracelevel = ($tracelevel||0)+1;
9004 286         459 $ERRORS = 0;
9005 286         532 my $thisrule = $thisparser->{"rules"}{"token_use"};
9006              
9007 286 50       618 Parse::RecDescent::_trace(q{Trying rule: [token_use]},
9008             Parse::RecDescent::_tracefirst($_[1]),
9009             q{token_use},
9010             $tracelevel)
9011             if defined $::RD_TRACE;
9012              
9013            
9014 286         386 my $err_at = @{$thisparser->{errors}};
  286         494  
9015              
9016 286         1225 my $score;
9017             my $score_return;
9018 286         0 my $_tok;
9019 286         368 my $return = undef;
9020 286         337 my $_matched=0;
9021 286         345 my $commit=0;
9022 286         421 my @item = ();
9023 286         400 my %item = ();
9024 286         372 my $repeating = $_[2];
9025 286         346 my $_noactions = $_[3];
9026 286 50       566 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  286         346  
  286         561  
9027 286         965 my $_itempos = $_[5];
9028 286 50       628 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9029 286         692 my $text;
9030             my $lastsep;
9031 286         0 my $current_match;
9032 286         1085 my $expectation = new Parse::RecDescent::Expectation(q{/\\buse\\s/});
9033 286         1851 $expectation->at($_[1]);
9034            
9035 286         1075 my $thisline;
9036 286         1189 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9037              
9038            
9039              
9040 286   33     2182 while (!$_matched && !$commit)
9041             {
9042            
9043 286 50       843 Parse::RecDescent::_trace(q{Trying production: [/\\buse\\s/ use_stuff /[;\}]/]},
9044             Parse::RecDescent::_tracefirst($_[1]),
9045             q{token_use},
9046             $tracelevel)
9047             if defined $::RD_TRACE;
9048 286         529 my $thisprod = $thisrule->{"prods"}[0];
9049 286         450 $text = $_[1];
9050 286         370 my $_savetext;
9051 286         516 @item = (q{token_use});
9052 286         613 %item = (__RULE__ => q{token_use});
9053 286         419 my $repcount = 0;
9054              
9055              
9056 286 50       480 Parse::RecDescent::_trace(q{Trying terminal: [/\\buse\\s/]}, Parse::RecDescent::_tracefirst($text),
9057             q{token_use},
9058             $tracelevel)
9059             if defined $::RD_TRACE;
9060 286         437 undef $lastsep;
9061 286         659 $expectation->is(q{})->at($text);
9062            
9063              
9064 286 100 66     2946 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\buse\s)/)
  286 100       2330  
9065             {
9066 69 50       198 $text = $lastsep . $text if defined $lastsep;
9067 69         191 $expectation->failed();
9068 69 50       266 Parse::RecDescent::_trace(q{<>},
9069             Parse::RecDescent::_tracefirst($text))
9070             if defined $::RD_TRACE;
9071              
9072 69         126 last;
9073             }
9074 217         1049 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9075 217         666 substr($text,0,length($current_match),q{});
9076 217 50       436 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9077             . $current_match . q{])},
9078             Parse::RecDescent::_tracefirst($text))
9079             if defined $::RD_TRACE;
9080 217         507 push @item, $item{__PATTERN1__}=$current_match;
9081            
9082              
9083 217 50       750 Parse::RecDescent::_trace(q{Trying subrule: [use_stuff]},
9084             Parse::RecDescent::_tracefirst($text),
9085             q{token_use},
9086             $tracelevel)
9087             if defined $::RD_TRACE;
9088 12     12   83 if (1) { no strict qw{refs};
  12         23  
  12         7816  
  217         290  
9089 217         660 $expectation->is(q{use_stuff})->at($text);
9090 217 50   217   1894 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::use_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  217         405  
9091             {
9092            
9093 0 0       0 Parse::RecDescent::_trace(q{<>},
9094             Parse::RecDescent::_tracefirst($text),
9095             q{token_use},
9096             $tracelevel)
9097             if defined $::RD_TRACE;
9098 0         0 $expectation->failed();
9099 0         0 last;
9100             }
9101 217 50       587 Parse::RecDescent::_trace(q{>>Matched subrule: [use_stuff]<< (return value: [}
9102             . $_tok . q{]},
9103              
9104             Parse::RecDescent::_tracefirst($text),
9105             q{token_use},
9106             $tracelevel)
9107             if defined $::RD_TRACE;
9108 217         369 $item{q{use_stuff}} = $_tok;
9109 217         328 push @item, $_tok;
9110            
9111             }
9112              
9113 217 50       369 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
9114             q{token_use},
9115             $tracelevel)
9116             if defined $::RD_TRACE;
9117 217         330 undef $lastsep;
9118 217         618 $expectation->is(q{/[;\}]/})->at($text);
9119            
9120              
9121 217 100 66     2150 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  217 100       1457  
9122             {
9123 5 50       15 $text = $lastsep . $text if defined $lastsep;
9124 5         76 $expectation->failed();
9125 5 50       53 Parse::RecDescent::_trace(q{<>},
9126             Parse::RecDescent::_tracefirst($text))
9127             if defined $::RD_TRACE;
9128              
9129 5         12 last;
9130             }
9131 212         872 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9132 212         548 substr($text,0,length($current_match),q{});
9133 212 50       399 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9134             . $current_match . q{])},
9135             Parse::RecDescent::_tracefirst($text))
9136             if defined $::RD_TRACE;
9137 212         473 push @item, $item{__PATTERN2__}=$current_match;
9138            
9139              
9140 212 50       395 Parse::RecDescent::_trace(q{Trying action},
9141             Parse::RecDescent::_tracefirst($text),
9142             q{token_use},
9143             $tracelevel)
9144             if defined $::RD_TRACE;
9145            
9146              
9147 212 50       424 $_tok = ($_noactions) ? 0 : do { $return=$item{use_stuff} };
  212         451  
9148 212 50       435 unless (defined $_tok)
9149             {
9150 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9151             if defined $::RD_TRACE;
9152 0         0 last;
9153             }
9154 212 50       376 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9155             . $_tok . q{])},
9156             Parse::RecDescent::_tracefirst($text))
9157             if defined $::RD_TRACE;
9158 212         323 push @item, $_tok;
9159 212         385 $item{__ACTION1__}=$_tok;
9160            
9161              
9162 212 50       347 Parse::RecDescent::_trace(q{>>Matched production: [/\\buse\\s/ use_stuff /[;\}]/]<<},
9163             Parse::RecDescent::_tracefirst($text),
9164             q{token_use},
9165             $tracelevel)
9166             if defined $::RD_TRACE;
9167              
9168              
9169              
9170 212         429 $_matched = 1;
9171 212         373 last;
9172             }
9173              
9174              
9175 286 100 66     768 unless ( $_matched || defined($score) )
9176             {
9177            
9178              
9179 74         117 $_[1] = $text; # NOT SURE THIS IS NEEDED
9180 74 50       168 Parse::RecDescent::_trace(q{<>},
9181             Parse::RecDescent::_tracefirst($_[1]),
9182             q{token_use},
9183             $tracelevel)
9184             if defined $::RD_TRACE;
9185 74         363 return undef;
9186             }
9187 212 50 33     470 if (!defined($return) && defined($score))
9188             {
9189 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9190             q{token_use},
9191             $tracelevel)
9192             if defined $::RD_TRACE;
9193 0         0 $return = $score_return;
9194             }
9195 212         268 splice @{$thisparser->{errors}}, $err_at;
  212         408  
9196 212 50       389 $return = $item[$#item] unless defined $return;
9197 212 50       401 if (defined $::RD_TRACE)
9198             {
9199 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9200             $return . q{])}, "",
9201             q{token_use},
9202             $tracelevel);
9203 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9204             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9205             Parse::RecDescent::_tracefirst($text),
9206             , q{token_use},
9207             $tracelevel)
9208             }
9209 212         366 $_[1] = $text;
9210 212         1040 return $return;
9211             }
9212              
9213             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9214             sub Parse::RecDescent::Module::ExtractUse::Grammar::use_stuff
9215             {
9216 217     217   339 my $thisparser = $_[0];
9217 12     12   86 use vars q{$tracelevel};
  12         39  
  12         3587  
9218 217   50     468 local $tracelevel = ($tracelevel||0)+1;
9219 217         341 $ERRORS = 0;
9220 217         397 my $thisrule = $thisparser->{"rules"}{"use_stuff"};
9221              
9222 217 50       407 Parse::RecDescent::_trace(q{Trying rule: [use_stuff]},
9223             Parse::RecDescent::_tracefirst($_[1]),
9224             q{use_stuff},
9225             $tracelevel)
9226             if defined $::RD_TRACE;
9227              
9228            
9229 217         319 my $err_at = @{$thisparser->{errors}};
  217         519  
9230              
9231 217         495 my $score;
9232             my $score_return;
9233 217         0 my $_tok;
9234 217         283 my $return = undef;
9235 217         300 my $_matched=0;
9236 217         261 my $commit=0;
9237 217         297 my @item = ();
9238 217         292 my %item = ();
9239 217         334 my $repeating = $_[2];
9240 217         274 my $_noactions = $_[3];
9241 217 50       412 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  217         278  
  217         325  
9242 217         345 my $_itempos = $_[5];
9243 217 50       462 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9244 217         474 my $text;
9245             my $lastsep;
9246 217         0 my $current_match;
9247 217         534 my $expectation = new Parse::RecDescent::Expectation(q{base, or parent, or version, or module});
9248 217         1491 $expectation->at($_[1]);
9249            
9250 217         840 my $thisline;
9251 217         877 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9252              
9253            
9254              
9255 217   33     1535 while (!$_matched && !$commit)
9256             {
9257            
9258 217 50       417 Parse::RecDescent::_trace(q{Trying production: [base, or parent, or version, or module]},
9259             Parse::RecDescent::_tracefirst($_[1]),
9260             q{use_stuff},
9261             $tracelevel)
9262             if defined $::RD_TRACE;
9263 217         366 my $thisprod = $thisrule->{"prods"}[0];
9264 217         373 $text = $_[1];
9265 217         284 my $_savetext;
9266 217         535 @item = (q{use_stuff});
9267 217         414 %item = (__RULE__ => q{use_stuff});
9268 217         278 my $repcount = 0;
9269              
9270              
9271 217 50       424 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_use_stuff]},
9272             Parse::RecDescent::_tracefirst($text),
9273             q{use_stuff},
9274             $tracelevel)
9275             if defined $::RD_TRACE;
9276 12     12   93 if (1) { no strict qw{refs};
  12         24  
  12         4234  
  217         255  
9277 217         512 $expectation->is(q{})->at($text);
9278 217 50   217   1832 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_use_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  217         358  
9279             {
9280            
9281 0 0       0 Parse::RecDescent::_trace(q{<>},
9282             Parse::RecDescent::_tracefirst($text),
9283             q{use_stuff},
9284             $tracelevel)
9285             if defined $::RD_TRACE;
9286 0         0 $expectation->failed();
9287 0         0 last;
9288             }
9289 217 50       577 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_use_stuff]<< (return value: [}
9290             . $_tok . q{]},
9291              
9292             Parse::RecDescent::_tracefirst($text),
9293             q{use_stuff},
9294             $tracelevel)
9295             if defined $::RD_TRACE;
9296 217         429 $item{q{_alternation_1_of_production_1_of_rule_use_stuff}} = $_tok;
9297 217         313 push @item, $_tok;
9298            
9299             }
9300              
9301 217 50       421 Parse::RecDescent::_trace(q{>>Matched production: [base, or parent, or version, or module]<<},
9302             Parse::RecDescent::_tracefirst($text),
9303             q{use_stuff},
9304             $tracelevel)
9305             if defined $::RD_TRACE;
9306              
9307              
9308              
9309 217         283 $_matched = 1;
9310 217         483 last;
9311             }
9312              
9313              
9314 217 50 33     429 unless ( $_matched || defined($score) )
9315             {
9316            
9317              
9318 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9319 0 0       0 Parse::RecDescent::_trace(q{<>},
9320             Parse::RecDescent::_tracefirst($_[1]),
9321             q{use_stuff},
9322             $tracelevel)
9323             if defined $::RD_TRACE;
9324 0         0 return undef;
9325             }
9326 217 50 33     665 if (!defined($return) && defined($score))
9327             {
9328 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9329             q{use_stuff},
9330             $tracelevel)
9331             if defined $::RD_TRACE;
9332 0         0 $return = $score_return;
9333             }
9334 217         276 splice @{$thisparser->{errors}}, $err_at;
  217         357  
9335 217 50       450 $return = $item[$#item] unless defined $return;
9336 217 50       404 if (defined $::RD_TRACE)
9337             {
9338 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9339             $return . q{])}, "",
9340             q{use_stuff},
9341             $tracelevel);
9342 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9343             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9344             Parse::RecDescent::_tracefirst($text),
9345             , q{use_stuff},
9346             $tracelevel)
9347             }
9348 217         379 $_[1] = $text;
9349 217         926 return $return;
9350             }
9351              
9352             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9353             sub Parse::RecDescent::Module::ExtractUse::Grammar::var
9354             {
9355 73     73   1072 my $thisparser = $_[0];
9356 12     12   101 use vars q{$tracelevel};
  12         23  
  12         8090  
9357 73   50     227 local $tracelevel = ($tracelevel||0)+1;
9358 73         216 $ERRORS = 0;
9359 73         170 my $thisrule = $thisparser->{"rules"}{"var"};
9360              
9361 73 50       144 Parse::RecDescent::_trace(q{Trying rule: [var]},
9362             Parse::RecDescent::_tracefirst($_[1]),
9363             q{var},
9364             $tracelevel)
9365             if defined $::RD_TRACE;
9366              
9367            
9368 73         102 my $err_at = @{$thisparser->{errors}};
  73         140  
9369              
9370 73         186 my $score;
9371             my $score_return;
9372 73         0 my $_tok;
9373 73         99 my $return = undef;
9374 73         120 my $_matched=0;
9375 73         106 my $commit=0;
9376 73         118 my @item = ();
9377 73         118 my %item = ();
9378 73         103 my $repeating = $_[2];
9379 73         110 my $_noactions = $_[3];
9380 73 50       159 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         104  
  73         116  
9381 73         111 my $_itempos = $_[5];
9382 73 50       190 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9383 73         185 my $text;
9384             my $lastsep;
9385 73         0 my $current_match;
9386 73         230 my $expectation = new Parse::RecDescent::Expectation(q{/\\$[\\w+]/});
9387 73         441 $expectation->at($_[1]);
9388            
9389 73         251 my $thisline;
9390 73         205 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9391              
9392            
9393              
9394 73   33     555 while (!$_matched && !$commit)
9395             {
9396            
9397 73 50       171 Parse::RecDescent::_trace(q{Trying production: [/\\$[\\w+]/]},
9398             Parse::RecDescent::_tracefirst($_[1]),
9399             q{var},
9400             $tracelevel)
9401             if defined $::RD_TRACE;
9402 73         153 my $thisprod = $thisrule->{"prods"}[0];
9403 73         123 $text = $_[1];
9404 73         98 my $_savetext;
9405 73         136 @item = (q{var});
9406 73         142 %item = (__RULE__ => q{var});
9407 73         104 my $repcount = 0;
9408              
9409              
9410 73 50       145 Parse::RecDescent::_trace(q{Trying terminal: [/\\$[\\w+]/]}, Parse::RecDescent::_tracefirst($text),
9411             q{var},
9412             $tracelevel)
9413             if defined $::RD_TRACE;
9414 73         122 undef $lastsep;
9415 73         164 $expectation->is(q{})->at($text);
9416            
9417              
9418 73 100 66     803 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\$[\w+])/)
  73 100       723  
9419             {
9420 68 50       230 $text = $lastsep . $text if defined $lastsep;
9421 68         208 $expectation->failed();
9422 68 50       272 Parse::RecDescent::_trace(q{<>},
9423             Parse::RecDescent::_tracefirst($text))
9424             if defined $::RD_TRACE;
9425              
9426 68         140 last;
9427             }
9428 5         26 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9429 5         17 substr($text,0,length($current_match),q{});
9430 5 50       1004 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9431             . $current_match . q{])},
9432             Parse::RecDescent::_tracefirst($text))
9433             if defined $::RD_TRACE;
9434 5         18 push @item, $item{__PATTERN1__}=$current_match;
9435            
9436              
9437 5 50       12 Parse::RecDescent::_trace(q{>>Matched production: [/\\$[\\w+]/]<<},
9438             Parse::RecDescent::_tracefirst($text),
9439             q{var},
9440             $tracelevel)
9441             if defined $::RD_TRACE;
9442              
9443              
9444              
9445 5         7 $_matched = 1;
9446 5         18 last;
9447             }
9448              
9449              
9450 73 100 66     269 unless ( $_matched || defined($score) )
9451             {
9452            
9453              
9454 68         128 $_[1] = $text; # NOT SURE THIS IS NEEDED
9455 68 50       144 Parse::RecDescent::_trace(q{<>},
9456             Parse::RecDescent::_tracefirst($_[1]),
9457             q{var},
9458             $tracelevel)
9459             if defined $::RD_TRACE;
9460 68         291 return undef;
9461             }
9462 5 50 33     21 if (!defined($return) && defined($score))
9463             {
9464 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9465             q{var},
9466             $tracelevel)
9467             if defined $::RD_TRACE;
9468 0         0 $return = $score_return;
9469             }
9470 5         9 splice @{$thisparser->{errors}}, $err_at;
  5         12  
9471 5 50       26 $return = $item[$#item] unless defined $return;
9472 5 50       13 if (defined $::RD_TRACE)
9473             {
9474 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9475             $return . q{])}, "",
9476             q{var},
9477             $tracelevel);
9478 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9479             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9480             Parse::RecDescent::_tracefirst($text),
9481             , q{var},
9482             $tracelevel)
9483             }
9484 5         11 $_[1] = $text;
9485 5         27 return $return;
9486             }
9487              
9488             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9489             sub Parse::RecDescent::Module::ExtractUse::Grammar::version
9490             {
9491 298     298   1638 my $thisparser = $_[0];
9492 12     12   89 use vars q{$tracelevel};
  12         30  
  12         65318  
9493 298   50     937 local $tracelevel = ($tracelevel||0)+1;
9494 298         374 $ERRORS = 0;
9495 298         520 my $thisrule = $thisparser->{"rules"}{"version"};
9496              
9497 298 50       573 Parse::RecDescent::_trace(q{Trying rule: [version]},
9498             Parse::RecDescent::_tracefirst($_[1]),
9499             q{version},
9500             $tracelevel)
9501             if defined $::RD_TRACE;
9502              
9503            
9504 298         375 my $err_at = @{$thisparser->{errors}};
  298         484  
9505              
9506 298         652 my $score;
9507             my $score_return;
9508 298         0 my $_tok;
9509 298         412 my $return = undef;
9510 298         415 my $_matched=0;
9511 298         371 my $commit=0;
9512 298         402 my @item = ();
9513 298         456 my %item = ();
9514 298         343 my $repeating = $_[2];
9515 298         365 my $_noactions = $_[3];
9516 298 50       568 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  298         339  
  298         673  
9517 298         396 my $_itempos = $_[5];
9518 298 50       582 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9519 298         607 my $text;
9520             my $lastsep;
9521 298         0 my $current_match;
9522 298         620 my $expectation = new Parse::RecDescent::Expectation(q{/v?[\\d\\._]+/});
9523 298         1600 $expectation->at($_[1]);
9524            
9525 298         995 my $thisline;
9526 298         784 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9527              
9528            
9529              
9530 298   33     1953 while (!$_matched && !$commit)
9531             {
9532            
9533 298 50       566 Parse::RecDescent::_trace(q{Trying production: [/v?[\\d\\._]+/]},
9534             Parse::RecDescent::_tracefirst($_[1]),
9535             q{version},
9536             $tracelevel)
9537             if defined $::RD_TRACE;
9538 298         491 my $thisprod = $thisrule->{"prods"}[0];
9539 298         408 $text = $_[1];
9540 298         379 my $_savetext;
9541 298         477 @item = (q{version});
9542 298         526 %item = (__RULE__ => q{version});
9543 298         549 my $repcount = 0;
9544              
9545              
9546 298 50       527 Parse::RecDescent::_trace(q{Trying terminal: [/v?[\\d\\._]+/]}, Parse::RecDescent::_tracefirst($text),
9547             q{version},
9548             $tracelevel)
9549             if defined $::RD_TRACE;
9550 298         506 undef $lastsep;
9551 298         573 $expectation->is(q{})->at($text);
9552            
9553              
9554 298 100 66     3032 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:v?[\d\._]+)/)
  298 100       2136  
9555             {
9556 251 50       756 $text = $lastsep . $text if defined $lastsep;
9557 251         681 $expectation->failed();
9558 251 50       890 Parse::RecDescent::_trace(q{<>},
9559             Parse::RecDescent::_tracefirst($text))
9560             if defined $::RD_TRACE;
9561              
9562 251         437 last;
9563             }
9564 47         195 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9565 47         121 substr($text,0,length($current_match),q{});
9566 47 50       107 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9567             . $current_match . q{])},
9568             Parse::RecDescent::_tracefirst($text))
9569             if defined $::RD_TRACE;
9570 47         104 push @item, $item{__PATTERN1__}=$current_match;
9571            
9572              
9573 47 50       94 Parse::RecDescent::_trace(q{>>Matched production: [/v?[\\d\\._]+/]<<},
9574             Parse::RecDescent::_tracefirst($text),
9575             q{version},
9576             $tracelevel)
9577             if defined $::RD_TRACE;
9578              
9579              
9580              
9581 47         62 $_matched = 1;
9582 47         791 last;
9583             }
9584              
9585              
9586 298 100 66     907 unless ( $_matched || defined($score) )
9587             {
9588            
9589              
9590 251         407 $_[1] = $text; # NOT SURE THIS IS NEEDED
9591 251 50       442 Parse::RecDescent::_trace(q{<>},
9592             Parse::RecDescent::_tracefirst($_[1]),
9593             q{version},
9594             $tracelevel)
9595             if defined $::RD_TRACE;
9596 251         1149 return undef;
9597             }
9598 47 50 33     159 if (!defined($return) && defined($score))
9599             {
9600 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9601             q{version},
9602             $tracelevel)
9603             if defined $::RD_TRACE;
9604 0         0 $return = $score_return;
9605             }
9606 47         71 splice @{$thisparser->{errors}}, $err_at;
  47         105  
9607 47 50       113 $return = $item[$#item] unless defined $return;
9608 47 50       101 if (defined $::RD_TRACE)
9609             {
9610 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9611             $return . q{])}, "",
9612             q{version},
9613             $tracelevel);
9614 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9615             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9616             Parse::RecDescent::_tracefirst($text),
9617             , q{version},
9618             $tracelevel)
9619             }
9620 47         82 $_[1] = $text;
9621 47         228 return $return;
9622             }
9623             }
9624 520     520 0 232146 package Module::ExtractUse::Grammar; sub new { my $self = bless( {
9625             '_AUTOACTION' => undef,
9626             '_AUTOTREE' => undef,
9627             '_check' => {
9628             'itempos' => '',
9629             'prevcolumn' => '',
9630             'prevline' => '',
9631             'prevoffset' => '',
9632             'thiscolumn' => '',
9633             'thisoffset' => ''
9634             },
9635             'localvars' => '',
9636             'namespace' => 'Parse::RecDescent::Module::ExtractUse::Grammar',
9637             'rules' => {
9638             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load' => bless( {
9639             'calls' => [
9640             'class_load_functions'
9641             ],
9642             'changed' => 0,
9643             'impcount' => 0,
9644             'line' => 125,
9645             'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load',
9646             'opcount' => 0,
9647             'prods' => [
9648             bless( {
9649             'actcount' => 0,
9650             'dircount' => 0,
9651             'error' => undef,
9652             'items' => [
9653             bless( {
9654             'description' => '\'Class::Load::\'',
9655             'hashname' => '__STRING1__',
9656             'line' => 125,
9657             'lookahead' => 0,
9658             'pattern' => 'Class::Load::'
9659             }, 'Parse::RecDescent::Literal' ),
9660             bless( {
9661             'argcode' => undef,
9662             'implicit' => undef,
9663             'line' => 125,
9664             'lookahead' => 0,
9665             'matchrule' => 0,
9666             'subrule' => 'class_load_functions'
9667             }, 'Parse::RecDescent::Subrule' )
9668             ],
9669             'line' => undef,
9670             'number' => 0,
9671             'patcount' => 0,
9672             'strcount' => 1,
9673             'uncommit' => undef
9674             }, 'Parse::RecDescent::Production' )
9675             ],
9676             'vars' => ''
9677             }, 'Parse::RecDescent::Rule' ),
9678             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
9679             'calls' => [
9680             'module_runtime_use_fcn'
9681             ],
9682             'changed' => 0,
9683             'impcount' => 0,
9684             'line' => 125,
9685             'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
9686             'opcount' => 0,
9687             'prods' => [
9688             bless( {
9689             'actcount' => 0,
9690             'dircount' => 0,
9691             'error' => undef,
9692             'items' => [
9693             bless( {
9694             'description' => '\'Module::Runtime::\'',
9695             'hashname' => '__STRING1__',
9696             'line' => 125,
9697             'lookahead' => 0,
9698             'pattern' => 'Module::Runtime::'
9699             }, 'Parse::RecDescent::Literal' ),
9700             bless( {
9701             'argcode' => undef,
9702             'implicit' => undef,
9703             'line' => 125,
9704             'lookahead' => 0,
9705             'matchrule' => 0,
9706             'subrule' => 'module_runtime_use_fcn'
9707             }, 'Parse::RecDescent::Subrule' ),
9708             bless( {
9709             'description' => '\'(\'',
9710             'hashname' => '__STRING2__',
9711             'line' => 125,
9712             'lookahead' => 0,
9713             'pattern' => '('
9714             }, 'Parse::RecDescent::Literal' )
9715             ],
9716             'line' => undef,
9717             'number' => 0,
9718             'patcount' => 0,
9719             'strcount' => 2,
9720             'uncommit' => undef
9721             }, 'Parse::RecDescent::Production' )
9722             ],
9723             'vars' => ''
9724             }, 'Parse::RecDescent::Rule' ),
9725             '_alternation_1_of_production_1_of_rule_class_load' => bless( {
9726             'calls' => [
9727             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load',
9728             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load'
9729             ],
9730             'changed' => 0,
9731             'impcount' => 1,
9732             'line' => 125,
9733             'name' => '_alternation_1_of_production_1_of_rule_class_load',
9734             'opcount' => 0,
9735             'prods' => [
9736             bless( {
9737             'actcount' => 0,
9738             'dircount' => 0,
9739             'error' => undef,
9740             'items' => [
9741             bless( {
9742             'argcode' => undef,
9743             'implicit' => '\'Class::Load::\'',
9744             'line' => 125,
9745             'lookahead' => 0,
9746             'matchrule' => 0,
9747             'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load'
9748             }, 'Parse::RecDescent::Subrule' )
9749             ],
9750             'line' => undef,
9751             'number' => 0,
9752             'patcount' => 0,
9753             'strcount' => 0,
9754             'uncommit' => undef
9755             }, 'Parse::RecDescent::Production' ),
9756             bless( {
9757             'actcount' => 0,
9758             'dircount' => 0,
9759             'error' => undef,
9760             'items' => [
9761             bless( {
9762             'argcode' => undef,
9763             'implicit' => '/\\\\b/',
9764             'line' => 125,
9765             'lookahead' => 0,
9766             'matchrule' => 0,
9767             'subrule' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load'
9768             }, 'Parse::RecDescent::Subrule' )
9769             ],
9770             'line' => 125,
9771             'number' => 1,
9772             'patcount' => 0,
9773             'strcount' => 0,
9774             'uncommit' => undef
9775             }, 'Parse::RecDescent::Production' )
9776             ],
9777             'vars' => ''
9778             }, 'Parse::RecDescent::Rule' ),
9779             '_alternation_1_of_production_1_of_rule_class_load_first_existing' => bless( {
9780             'calls' => [],
9781             'changed' => 0,
9782             'impcount' => 0,
9783             'line' => 125,
9784             'name' => '_alternation_1_of_production_1_of_rule_class_load_first_existing',
9785             'opcount' => 0,
9786             'prods' => [
9787             bless( {
9788             'actcount' => 0,
9789             'dircount' => 0,
9790             'error' => undef,
9791             'items' => [
9792             bless( {
9793             'description' => '\'Class::Load::load_first_existing_class\'',
9794             'hashname' => '__STRING1__',
9795             'line' => 125,
9796             'lookahead' => 0,
9797             'pattern' => 'Class::Load::load_first_existing_class'
9798             }, 'Parse::RecDescent::Literal' )
9799             ],
9800             'line' => undef,
9801             'number' => 0,
9802             'patcount' => 0,
9803             'strcount' => 1,
9804             'uncommit' => undef
9805             }, 'Parse::RecDescent::Production' ),
9806             bless( {
9807             'actcount' => 0,
9808             'dircount' => 0,
9809             'error' => undef,
9810             'items' => [
9811             bless( {
9812             'description' => '/\\\\bload_first_existing_class/',
9813             'hashname' => '__PATTERN1__',
9814             'ldelim' => '/',
9815             'line' => 125,
9816             'lookahead' => 0,
9817             'mod' => '',
9818             'pattern' => '\\bload_first_existing_class',
9819             'rdelim' => '/'
9820             }, 'Parse::RecDescent::Token' )
9821             ],
9822             'line' => 125,
9823             'number' => 1,
9824             'patcount' => 1,
9825             'strcount' => 0,
9826             'uncommit' => undef
9827             }, 'Parse::RecDescent::Production' )
9828             ],
9829             'vars' => ''
9830             }, 'Parse::RecDescent::Rule' ),
9831             '_alternation_1_of_production_1_of_rule_comma' => bless( {
9832             'calls' => [],
9833             'changed' => 0,
9834             'impcount' => 0,
9835             'line' => 125,
9836             'name' => '_alternation_1_of_production_1_of_rule_comma',
9837             'opcount' => 0,
9838             'prods' => [
9839             bless( {
9840             'actcount' => 0,
9841             'dircount' => 0,
9842             'error' => undef,
9843             'items' => [
9844             bless( {
9845             'description' => '\',\'',
9846             'hashname' => '__STRING1__',
9847             'line' => 125,
9848             'lookahead' => 0,
9849             'pattern' => ','
9850             }, 'Parse::RecDescent::Literal' )
9851             ],
9852             'line' => undef,
9853             'number' => 0,
9854             'patcount' => 0,
9855             'strcount' => 1,
9856             'uncommit' => undef
9857             }, 'Parse::RecDescent::Production' ),
9858             bless( {
9859             'actcount' => 0,
9860             'dircount' => 0,
9861             'error' => undef,
9862             'items' => [
9863             bless( {
9864             'description' => '\'=>\'',
9865             'hashname' => '__STRING1__',
9866             'line' => 125,
9867             'lookahead' => 0,
9868             'pattern' => '=>'
9869             }, 'Parse::RecDescent::Literal' )
9870             ],
9871             'line' => 125,
9872             'number' => 1,
9873             'patcount' => 0,
9874             'strcount' => 1,
9875             'uncommit' => undef
9876             }, 'Parse::RecDescent::Production' )
9877             ],
9878             'vars' => ''
9879             }, 'Parse::RecDescent::Rule' ),
9880             '_alternation_1_of_production_1_of_rule_hash_pair' => bless( {
9881             'calls' => [],
9882             'changed' => 0,
9883             'impcount' => 0,
9884             'line' => 125,
9885             'name' => '_alternation_1_of_production_1_of_rule_hash_pair',
9886             'opcount' => 0,
9887             'prods' => [
9888             bless( {
9889             'actcount' => 0,
9890             'dircount' => 1,
9891             'error' => undef,
9892             'items' => [
9893             bless( {
9894             'code' => 'my ($match,@res);
9895             ($match,$text,undef,@res) =
9896             Text::Balanced::extract_quotelike($text,$skip);
9897             $match ? \\@res : undef;
9898             ',
9899             'hashname' => '__DIRECTIVE1__',
9900             'line' => 125,
9901             'lookahead' => 0,
9902             'name' => ''
9903             }, 'Parse::RecDescent::Directive' )
9904             ],
9905             'line' => undef,
9906             'number' => 0,
9907             'patcount' => 0,
9908             'strcount' => 0,
9909             'uncommit' => undef
9910             }, 'Parse::RecDescent::Production' ),
9911             bless( {
9912             'actcount' => 0,
9913             'dircount' => 0,
9914             'error' => undef,
9915             'items' => [
9916             bless( {
9917             'description' => '/[^\\\\s,\\}]+/',
9918             'hashname' => '__PATTERN1__',
9919             'ldelim' => '/',
9920             'line' => 125,
9921             'lookahead' => 0,
9922             'mod' => '',
9923             'pattern' => '[^\\s,}]+',
9924             'rdelim' => '/'
9925             }, 'Parse::RecDescent::Token' )
9926             ],
9927             'line' => 125,
9928             'number' => 1,
9929             'patcount' => 1,
9930             'strcount' => 0,
9931             'uncommit' => undef
9932             }, 'Parse::RecDescent::Production' )
9933             ],
9934             'vars' => ''
9935             }, 'Parse::RecDescent::Rule' ),
9936             '_alternation_1_of_production_1_of_rule_module_runtime_require_module' => bless( {
9937             'calls' => [],
9938             'changed' => 0,
9939             'impcount' => 0,
9940             'line' => 125,
9941             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_require_module',
9942             'opcount' => 0,
9943             'prods' => [
9944             bless( {
9945             'actcount' => 0,
9946             'dircount' => 0,
9947             'error' => undef,
9948             'items' => [
9949             bless( {
9950             'description' => '\'Module::Runtime::require_module(\'',
9951             'hashname' => '__STRING1__',
9952             'line' => 125,
9953             'lookahead' => 0,
9954             'pattern' => 'Module::Runtime::require_module('
9955             }, 'Parse::RecDescent::Literal' )
9956             ],
9957             'line' => undef,
9958             'number' => 0,
9959             'patcount' => 0,
9960             'strcount' => 1,
9961             'uncommit' => undef
9962             }, 'Parse::RecDescent::Production' ),
9963             bless( {
9964             'actcount' => 0,
9965             'dircount' => 0,
9966             'error' => undef,
9967             'items' => [
9968             bless( {
9969             'description' => '/\\\\brequire_module\\\\(/',
9970             'hashname' => '__PATTERN1__',
9971             'ldelim' => '/',
9972             'line' => 125,
9973             'lookahead' => 0,
9974             'mod' => '',
9975             'pattern' => '\\brequire_module\\(',
9976             'rdelim' => '/'
9977             }, 'Parse::RecDescent::Token' )
9978             ],
9979             'line' => 125,
9980             'number' => 1,
9981             'patcount' => 1,
9982             'strcount' => 0,
9983             'uncommit' => undef
9984             }, 'Parse::RecDescent::Production' )
9985             ],
9986             'vars' => ''
9987             }, 'Parse::RecDescent::Rule' ),
9988             '_alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
9989             'calls' => [
9990             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
9991             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
9992             ],
9993             'changed' => 0,
9994             'impcount' => 1,
9995             'line' => 125,
9996             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_use',
9997             'opcount' => 0,
9998             'prods' => [
9999             bless( {
10000             'actcount' => 0,
10001             'dircount' => 0,
10002             'error' => undef,
10003             'items' => [
10004             bless( {
10005             'argcode' => undef,
10006             'implicit' => '\'Module::Runtime::\'',
10007             'line' => 125,
10008             'lookahead' => 0,
10009             'matchrule' => 0,
10010             'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
10011             }, 'Parse::RecDescent::Subrule' )
10012             ],
10013             'line' => undef,
10014             'number' => 0,
10015             'patcount' => 0,
10016             'strcount' => 0,
10017             'uncommit' => undef
10018             }, 'Parse::RecDescent::Production' ),
10019             bless( {
10020             'actcount' => 0,
10021             'dircount' => 0,
10022             'error' => undef,
10023             'items' => [
10024             bless( {
10025             'argcode' => undef,
10026             'implicit' => '/\\\\b/',
10027             'line' => 125,
10028             'lookahead' => 0,
10029             'matchrule' => 0,
10030             'subrule' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
10031             }, 'Parse::RecDescent::Subrule' )
10032             ],
10033             'line' => 125,
10034             'number' => 1,
10035             'patcount' => 0,
10036             'strcount' => 0,
10037             'uncommit' => undef
10038             }, 'Parse::RecDescent::Production' )
10039             ],
10040             'vars' => ''
10041             }, 'Parse::RecDescent::Rule' ),
10042             '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn' => bless( {
10043             'calls' => [],
10044             'changed' => 0,
10045             'impcount' => 0,
10046             'line' => 125,
10047             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn',
10048             'opcount' => 0,
10049             'prods' => [
10050             bless( {
10051             'actcount' => 0,
10052             'dircount' => 0,
10053             'error' => undef,
10054             'items' => [
10055             bless( {
10056             'description' => '\'use_module\'',
10057             'hashname' => '__STRING1__',
10058             'line' => 125,
10059             'lookahead' => 0,
10060             'pattern' => 'use_module'
10061             }, 'Parse::RecDescent::Literal' )
10062             ],
10063             'line' => undef,
10064             'number' => 0,
10065             'patcount' => 0,
10066             'strcount' => 1,
10067             'uncommit' => undef
10068             }, 'Parse::RecDescent::Production' ),
10069             bless( {
10070             'actcount' => 0,
10071             'dircount' => 0,
10072             'error' => undef,
10073             'items' => [
10074             bless( {
10075             'description' => '\'use_package_optimistically\'',
10076             'hashname' => '__STRING1__',
10077             'line' => 125,
10078             'lookahead' => 0,
10079             'pattern' => 'use_package_optimistically'
10080             }, 'Parse::RecDescent::Literal' )
10081             ],
10082             'line' => 125,
10083             'number' => 1,
10084             'patcount' => 0,
10085             'strcount' => 1,
10086             'uncommit' => undef
10087             }, 'Parse::RecDescent::Production' )
10088             ],
10089             'vars' => ''
10090             }, 'Parse::RecDescent::Rule' ),
10091             '_alternation_1_of_production_1_of_rule_no_stuff' => bless( {
10092             'calls' => [
10093             'base',
10094             'version',
10095             'module'
10096             ],
10097             'changed' => 0,
10098             'impcount' => 0,
10099             'line' => 125,
10100             'name' => '_alternation_1_of_production_1_of_rule_no_stuff',
10101             'opcount' => 0,
10102             'prods' => [
10103             bless( {
10104             'actcount' => 0,
10105             'dircount' => 0,
10106             'error' => undef,
10107             'items' => [
10108             bless( {
10109             'argcode' => undef,
10110             'implicit' => undef,
10111             'line' => 125,
10112             'lookahead' => 0,
10113             'matchrule' => 0,
10114             'subrule' => 'base'
10115             }, 'Parse::RecDescent::Subrule' )
10116             ],
10117             'line' => undef,
10118             'number' => 0,
10119             'patcount' => 0,
10120             'strcount' => 0,
10121             'uncommit' => undef
10122             }, 'Parse::RecDescent::Production' ),
10123             bless( {
10124             'actcount' => 0,
10125             'dircount' => 0,
10126             'error' => undef,
10127             'items' => [
10128             bless( {
10129             'argcode' => undef,
10130             'implicit' => undef,
10131             'line' => 125,
10132             'lookahead' => 0,
10133             'matchrule' => 0,
10134             'subrule' => 'version'
10135             }, 'Parse::RecDescent::Subrule' )
10136             ],
10137             'line' => 125,
10138             'number' => 1,
10139             'patcount' => 0,
10140             'strcount' => 0,
10141             'uncommit' => undef
10142             }, 'Parse::RecDescent::Production' ),
10143             bless( {
10144             'actcount' => 0,
10145             'dircount' => 0,
10146             'error' => undef,
10147             'items' => [
10148             bless( {
10149             'argcode' => undef,
10150             'implicit' => undef,
10151             'line' => 125,
10152             'lookahead' => 0,
10153             'matchrule' => 0,
10154             'subrule' => 'module'
10155             }, 'Parse::RecDescent::Subrule' )
10156             ],
10157             'line' => 125,
10158             'number' => 2,
10159             'patcount' => 0,
10160             'strcount' => 0,
10161             'uncommit' => undef
10162             }, 'Parse::RecDescent::Production' )
10163             ],
10164             'vars' => ''
10165             }, 'Parse::RecDescent::Rule' ),
10166             '_alternation_1_of_production_1_of_rule_require_stuff' => bless( {
10167             'calls' => [
10168             'version',
10169             'require_name',
10170             'module'
10171             ],
10172             'changed' => 0,
10173             'impcount' => 0,
10174             'line' => 125,
10175             'name' => '_alternation_1_of_production_1_of_rule_require_stuff',
10176             'opcount' => 0,
10177             'prods' => [
10178             bless( {
10179             'actcount' => 0,
10180             'dircount' => 0,
10181             'error' => undef,
10182             'items' => [
10183             bless( {
10184             'argcode' => undef,
10185             'implicit' => undef,
10186             'line' => 125,
10187             'lookahead' => 0,
10188             'matchrule' => 0,
10189             'subrule' => 'version'
10190             }, 'Parse::RecDescent::Subrule' )
10191             ],
10192             'line' => undef,
10193             'number' => 0,
10194             'patcount' => 0,
10195             'strcount' => 0,
10196             'uncommit' => undef
10197             }, 'Parse::RecDescent::Production' ),
10198             bless( {
10199             'actcount' => 0,
10200             'dircount' => 0,
10201             'error' => undef,
10202             'items' => [
10203             bless( {
10204             'argcode' => undef,
10205             'implicit' => undef,
10206             'line' => 125,
10207             'lookahead' => 0,
10208             'matchrule' => 0,
10209             'subrule' => 'require_name'
10210             }, 'Parse::RecDescent::Subrule' )
10211             ],
10212             'line' => 125,
10213             'number' => 1,
10214             'patcount' => 0,
10215             'strcount' => 0,
10216             'uncommit' => undef
10217             }, 'Parse::RecDescent::Production' ),
10218             bless( {
10219             'actcount' => 0,
10220             'dircount' => 0,
10221             'error' => undef,
10222             'items' => [
10223             bless( {
10224             'argcode' => undef,
10225             'implicit' => undef,
10226             'line' => 125,
10227             'lookahead' => 0,
10228             'matchrule' => 0,
10229             'subrule' => 'module'
10230             }, 'Parse::RecDescent::Subrule' )
10231             ],
10232             'line' => 125,
10233             'number' => 2,
10234             'patcount' => 0,
10235             'strcount' => 0,
10236             'uncommit' => undef
10237             }, 'Parse::RecDescent::Production' )
10238             ],
10239             'vars' => ''
10240             }, 'Parse::RecDescent::Rule' ),
10241             '_alternation_1_of_production_1_of_rule_use_stuff' => bless( {
10242             'calls' => [
10243             'base',
10244             'parent',
10245             'version',
10246             'module'
10247             ],
10248             'changed' => 0,
10249             'impcount' => 0,
10250             'line' => 125,
10251             'name' => '_alternation_1_of_production_1_of_rule_use_stuff',
10252             'opcount' => 0,
10253             'prods' => [
10254             bless( {
10255             'actcount' => 0,
10256             'dircount' => 0,
10257             'error' => undef,
10258             'items' => [
10259             bless( {
10260             'argcode' => undef,
10261             'implicit' => undef,
10262             'line' => 125,
10263             'lookahead' => 0,
10264             'matchrule' => 0,
10265             'subrule' => 'base'
10266             }, 'Parse::RecDescent::Subrule' )
10267             ],
10268             'line' => undef,
10269             'number' => 0,
10270             'patcount' => 0,
10271             'strcount' => 0,
10272             'uncommit' => undef
10273             }, 'Parse::RecDescent::Production' ),
10274             bless( {
10275             'actcount' => 0,
10276             'dircount' => 0,
10277             'error' => undef,
10278             'items' => [
10279             bless( {
10280             'argcode' => undef,
10281             'implicit' => undef,
10282             'line' => 125,
10283             'lookahead' => 0,
10284             'matchrule' => 0,
10285             'subrule' => 'parent'
10286             }, 'Parse::RecDescent::Subrule' )
10287             ],
10288             'line' => 125,
10289             'number' => 1,
10290             'patcount' => 0,
10291             'strcount' => 0,
10292             'uncommit' => undef
10293             }, 'Parse::RecDescent::Production' ),
10294             bless( {
10295             'actcount' => 0,
10296             'dircount' => 0,
10297             'error' => undef,
10298             'items' => [
10299             bless( {
10300             'argcode' => undef,
10301             'implicit' => undef,
10302             'line' => 125,
10303             'lookahead' => 0,
10304             'matchrule' => 0,
10305             'subrule' => 'version'
10306             }, 'Parse::RecDescent::Subrule' )
10307             ],
10308             'line' => 125,
10309             'number' => 2,
10310             'patcount' => 0,
10311             'strcount' => 0,
10312             'uncommit' => undef
10313             }, 'Parse::RecDescent::Production' ),
10314             bless( {
10315             'actcount' => 0,
10316             'dircount' => 0,
10317             'error' => undef,
10318             'items' => [
10319             bless( {
10320             'argcode' => undef,
10321             'implicit' => undef,
10322             'line' => 125,
10323             'lookahead' => 0,
10324             'matchrule' => 0,
10325             'subrule' => 'module'
10326             }, 'Parse::RecDescent::Subrule' )
10327             ],
10328             'line' => 125,
10329             'number' => 3,
10330             'patcount' => 0,
10331             'strcount' => 0,
10332             'uncommit' => undef
10333             }, 'Parse::RecDescent::Production' )
10334             ],
10335             'vars' => ''
10336             }, 'Parse::RecDescent::Rule' ),
10337             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load' => bless( {
10338             'calls' => [
10339             'class_load_functions'
10340             ],
10341             'changed' => 0,
10342             'impcount' => 0,
10343             'line' => 125,
10344             'name' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load',
10345             'opcount' => 0,
10346             'prods' => [
10347             bless( {
10348             'actcount' => 0,
10349             'dircount' => 0,
10350             'error' => undef,
10351             'items' => [
10352             bless( {
10353             'description' => '/\\\\b/',
10354             'hashname' => '__PATTERN1__',
10355             'ldelim' => '/',
10356             'line' => 125,
10357             'lookahead' => 0,
10358             'mod' => '',
10359             'pattern' => '\\b',
10360             'rdelim' => '/'
10361             }, 'Parse::RecDescent::Token' ),
10362             bless( {
10363             'argcode' => undef,
10364             'implicit' => undef,
10365             'line' => 125,
10366             'lookahead' => 0,
10367             'matchrule' => 0,
10368             'subrule' => 'class_load_functions'
10369             }, 'Parse::RecDescent::Subrule' )
10370             ],
10371             'line' => undef,
10372             'number' => 0,
10373             'patcount' => 1,
10374             'strcount' => 0,
10375             'uncommit' => undef
10376             }, 'Parse::RecDescent::Production' )
10377             ],
10378             'vars' => ''
10379             }, 'Parse::RecDescent::Rule' ),
10380             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
10381             'calls' => [
10382             'module_runtime_use_fcn'
10383             ],
10384             'changed' => 0,
10385             'impcount' => 0,
10386             'line' => 125,
10387             'name' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
10388             'opcount' => 0,
10389             'prods' => [
10390             bless( {
10391             'actcount' => 0,
10392             'dircount' => 0,
10393             'error' => undef,
10394             'items' => [
10395             bless( {
10396             'description' => '/\\\\b/',
10397             'hashname' => '__PATTERN1__',
10398             'ldelim' => '/',
10399             'line' => 125,
10400             'lookahead' => 0,
10401             'mod' => '',
10402             'pattern' => '\\b',
10403             'rdelim' => '/'
10404             }, 'Parse::RecDescent::Token' ),
10405             bless( {
10406             'argcode' => undef,
10407             'implicit' => undef,
10408             'line' => 125,
10409             'lookahead' => 0,
10410             'matchrule' => 0,
10411             'subrule' => 'module_runtime_use_fcn'
10412             }, 'Parse::RecDescent::Subrule' ),
10413             bless( {
10414             'description' => '\'(\'',
10415             'hashname' => '__STRING1__',
10416             'line' => 125,
10417             'lookahead' => 0,
10418             'pattern' => '('
10419             }, 'Parse::RecDescent::Literal' )
10420             ],
10421             'line' => undef,
10422             'number' => 0,
10423             'patcount' => 1,
10424             'strcount' => 1,
10425             'uncommit' => undef
10426             }, 'Parse::RecDescent::Production' )
10427             ],
10428             'vars' => ''
10429             }, 'Parse::RecDescent::Rule' ),
10430             'base' => bless( {
10431             'calls' => [
10432             'import_list'
10433             ],
10434             'changed' => 0,
10435             'impcount' => 0,
10436             'line' => 10,
10437             'name' => 'base',
10438             'opcount' => 0,
10439             'prods' => [
10440             bless( {
10441             'actcount' => 0,
10442             'dircount' => 0,
10443             'error' => undef,
10444             'items' => [
10445             bless( {
10446             'description' => '\'base\'',
10447             'hashname' => '__STRING1__',
10448             'line' => 10,
10449             'lookahead' => 0,
10450             'pattern' => 'base'
10451             }, 'Parse::RecDescent::InterpLit' ),
10452             bless( {
10453             'argcode' => undef,
10454             'implicit' => undef,
10455             'line' => 10,
10456             'lookahead' => 0,
10457             'matchrule' => 0,
10458             'subrule' => 'import_list'
10459             }, 'Parse::RecDescent::Subrule' )
10460             ],
10461             'line' => undef,
10462             'number' => 0,
10463             'patcount' => 0,
10464             'strcount' => 1,
10465             'uncommit' => undef
10466             }, 'Parse::RecDescent::Production' )
10467             ],
10468             'vars' => ''
10469             }, 'Parse::RecDescent::Rule' ),
10470             'class_load' => bless( {
10471             'calls' => [
10472             '_alternation_1_of_production_1_of_rule_class_load',
10473             'comma_hashref'
10474             ],
10475             'changed' => 0,
10476             'impcount' => 1,
10477             'line' => 78,
10478             'name' => 'class_load',
10479             'opcount' => 0,
10480             'prods' => [
10481             bless( {
10482             'actcount' => 1,
10483             'dircount' => 1,
10484             'error' => undef,
10485             'items' => [
10486             bless( {
10487             'argcode' => undef,
10488             'implicit' => '\'Class::Load::\', or /\\\\b/',
10489             'line' => 78,
10490             'lookahead' => 0,
10491             'matchrule' => 0,
10492             'subrule' => '_alternation_1_of_production_1_of_rule_class_load'
10493             }, 'Parse::RecDescent::Subrule' ),
10494             bless( {
10495             'description' => '\'(\'',
10496             'hashname' => '__STRING1__',
10497             'line' => 78,
10498             'lookahead' => 0,
10499             'pattern' => '('
10500             }, 'Parse::RecDescent::Literal' ),
10501             bless( {
10502             'code' => 'my ($match,@res);
10503             ($match,$text,undef,@res) =
10504             Text::Balanced::extract_quotelike($text,$skip);
10505             $match ? \\@res : undef;
10506             ',
10507             'hashname' => '__DIRECTIVE1__',
10508             'line' => 78,
10509             'lookahead' => 0,
10510             'name' => ''
10511             }, 'Parse::RecDescent::Directive' ),
10512             bless( {
10513             'argcode' => undef,
10514             'expected' => undef,
10515             'line' => 78,
10516             'lookahead' => 0,
10517             'matchrule' => 0,
10518             'max' => 1,
10519             'min' => 0,
10520             'repspec' => '?',
10521             'subrule' => 'comma_hashref'
10522             }, 'Parse::RecDescent::Repetition' ),
10523             bless( {
10524             'description' => '\')\'',
10525             'hashname' => '__STRING2__',
10526             'line' => 78,
10527             'lookahead' => 0,
10528             'pattern' => ')'
10529             }, 'Parse::RecDescent::Literal' ),
10530             bless( {
10531             'code' => '{ $return = $item[3][2] }',
10532             'hashname' => '__ACTION1__',
10533             'line' => 79,
10534             'lookahead' => 0
10535             }, 'Parse::RecDescent::Action' )
10536             ],
10537             'line' => undef,
10538             'number' => 0,
10539             'patcount' => 0,
10540             'strcount' => 2,
10541             'uncommit' => undef
10542             }, 'Parse::RecDescent::Production' )
10543             ],
10544             'vars' => ''
10545             }, 'Parse::RecDescent::Rule' ),
10546             'class_load_first_existing' => bless( {
10547             'calls' => [
10548             '_alternation_1_of_production_1_of_rule_class_load_first_existing',
10549             'first_existing_arg',
10550             'comma_first_existing_arg'
10551             ],
10552             'changed' => 0,
10553             'impcount' => 1,
10554             'line' => 87,
10555             'name' => 'class_load_first_existing',
10556             'opcount' => 0,
10557             'prods' => [
10558             bless( {
10559             'actcount' => 1,
10560             'dircount' => 0,
10561             'error' => undef,
10562             'items' => [
10563             bless( {
10564             'argcode' => undef,
10565             'implicit' => '\'Class::Load::load_first_existing_class\', or /\\\\bload_first_existing_class/',
10566             'line' => 87,
10567             'lookahead' => 0,
10568             'matchrule' => 0,
10569             'subrule' => '_alternation_1_of_production_1_of_rule_class_load_first_existing'
10570             }, 'Parse::RecDescent::Subrule' ),
10571             bless( {
10572             'description' => '\'(\'',
10573             'hashname' => '__STRING1__',
10574             'line' => 87,
10575             'lookahead' => 0,
10576             'pattern' => '('
10577             }, 'Parse::RecDescent::Literal' ),
10578             bless( {
10579             'argcode' => undef,
10580             'implicit' => undef,
10581             'line' => 87,
10582             'lookahead' => 0,
10583             'matchrule' => 0,
10584             'subrule' => 'first_existing_arg'
10585             }, 'Parse::RecDescent::Subrule' ),
10586             bless( {
10587             'argcode' => undef,
10588             'expected' => undef,
10589             'line' => 87,
10590             'lookahead' => 0,
10591             'matchrule' => 0,
10592             'max' => 100000000,
10593             'min' => 0,
10594             'repspec' => 's?',
10595             'subrule' => 'comma_first_existing_arg'
10596             }, 'Parse::RecDescent::Repetition' ),
10597             bless( {
10598             'description' => '\')\'',
10599             'hashname' => '__STRING2__',
10600             'line' => 87,
10601             'lookahead' => 0,
10602             'pattern' => ')'
10603             }, 'Parse::RecDescent::Literal' ),
10604             bless( {
10605             'code' => '{ $return = $item{first_existing_arg};
10606             $return .= " " . join(" ", @{$item{\'comma_first_existing_arg(s?)\'}}) if $item{\'comma_first_existing_arg(s?)\'};
10607             1;
10608             }',
10609             'hashname' => '__ACTION1__',
10610             'line' => 88,
10611             'lookahead' => 0
10612             }, 'Parse::RecDescent::Action' )
10613             ],
10614             'line' => undef,
10615             'number' => 0,
10616             'patcount' => 0,
10617             'strcount' => 2,
10618             'uncommit' => undef
10619             }, 'Parse::RecDescent::Production' )
10620             ],
10621             'vars' => ''
10622             }, 'Parse::RecDescent::Rule' ),
10623             'class_load_functions' => bless( {
10624             'calls' => [],
10625             'changed' => 0,
10626             'impcount' => 0,
10627             'line' => 76,
10628             'name' => 'class_load_functions',
10629             'opcount' => 0,
10630             'prods' => [
10631             bless( {
10632             'actcount' => 0,
10633             'dircount' => 0,
10634             'error' => undef,
10635             'items' => [
10636             bless( {
10637             'description' => '\'load_class\'',
10638             'hashname' => '__STRING1__',
10639             'line' => 76,
10640             'lookahead' => 0,
10641             'pattern' => 'load_class'
10642             }, 'Parse::RecDescent::Literal' )
10643             ],
10644             'line' => undef,
10645             'number' => 0,
10646             'patcount' => 0,
10647             'strcount' => 1,
10648             'uncommit' => undef
10649             }, 'Parse::RecDescent::Production' ),
10650             bless( {
10651             'actcount' => 0,
10652             'dircount' => 0,
10653             'error' => undef,
10654             'items' => [
10655             bless( {
10656             'description' => '\'try_load_class\'',
10657             'hashname' => '__STRING1__',
10658             'line' => 76,
10659             'lookahead' => 0,
10660             'pattern' => 'try_load_class'
10661             }, 'Parse::RecDescent::Literal' )
10662             ],
10663             'line' => 76,
10664             'number' => 1,
10665             'patcount' => 0,
10666             'strcount' => 1,
10667             'uncommit' => undef
10668             }, 'Parse::RecDescent::Production' ),
10669             bless( {
10670             'actcount' => 0,
10671             'dircount' => 0,
10672             'error' => undef,
10673             'items' => [
10674             bless( {
10675             'description' => '\'load_optional_class\'',
10676             'hashname' => '__STRING1__',
10677             'line' => 76,
10678             'lookahead' => 0,
10679             'pattern' => 'load_optional_class'
10680             }, 'Parse::RecDescent::Literal' )
10681             ],
10682             'line' => 76,
10683             'number' => 2,
10684             'patcount' => 0,
10685             'strcount' => 1,
10686             'uncommit' => undef
10687             }, 'Parse::RecDescent::Production' )
10688             ],
10689             'vars' => ''
10690             }, 'Parse::RecDescent::Rule' ),
10691             'comma' => bless( {
10692             'calls' => [
10693             '_alternation_1_of_production_1_of_rule_comma'
10694             ],
10695             'changed' => 0,
10696             'impcount' => 1,
10697             'line' => 124,
10698             'name' => 'comma',
10699             'opcount' => 0,
10700             'prods' => [
10701             bless( {
10702             'actcount' => 0,
10703             'dircount' => 0,
10704             'error' => undef,
10705             'items' => [
10706             bless( {
10707             'argcode' => undef,
10708             'implicit' => '\',\', or \'=>\'',
10709             'line' => 124,
10710             'lookahead' => 0,
10711             'matchrule' => 0,
10712             'subrule' => '_alternation_1_of_production_1_of_rule_comma'
10713             }, 'Parse::RecDescent::Subrule' )
10714             ],
10715             'line' => undef,
10716             'number' => 0,
10717             'patcount' => 0,
10718             'strcount' => 0,
10719             'uncommit' => undef
10720             }, 'Parse::RecDescent::Production' )
10721             ],
10722             'vars' => ''
10723             }, 'Parse::RecDescent::Rule' ),
10724             'comma_first_existing_arg' => bless( {
10725             'calls' => [
10726             'comma',
10727             'first_existing_arg'
10728             ],
10729             'changed' => 0,
10730             'impcount' => 0,
10731             'line' => 84,
10732             'name' => 'comma_first_existing_arg',
10733             'opcount' => 0,
10734             'prods' => [
10735             bless( {
10736             'actcount' => 1,
10737             'dircount' => 0,
10738             'error' => undef,
10739             'items' => [
10740             bless( {
10741             'argcode' => undef,
10742             'implicit' => undef,
10743             'line' => 84,
10744             'lookahead' => 0,
10745             'matchrule' => 0,
10746             'subrule' => 'comma'
10747             }, 'Parse::RecDescent::Subrule' ),
10748             bless( {
10749             'argcode' => undef,
10750             'implicit' => undef,
10751             'line' => 84,
10752             'lookahead' => 0,
10753             'matchrule' => 0,
10754             'subrule' => 'first_existing_arg'
10755             }, 'Parse::RecDescent::Subrule' ),
10756             bless( {
10757             'code' => '{ $return = $item{first_existing_arg} }',
10758             'hashname' => '__ACTION1__',
10759             'line' => 85,
10760             'lookahead' => 0
10761             }, 'Parse::RecDescent::Action' )
10762             ],
10763             'line' => undef,
10764             'number' => 0,
10765             'patcount' => 0,
10766             'strcount' => 0,
10767             'uncommit' => undef
10768             }, 'Parse::RecDescent::Production' )
10769             ],
10770             'vars' => ''
10771             }, 'Parse::RecDescent::Rule' ),
10772             'comma_hash_pair' => bless( {
10773             'calls' => [
10774             'comma',
10775             'hash_pair'
10776             ],
10777             'changed' => 0,
10778             'impcount' => 0,
10779             'line' => 70,
10780             'name' => 'comma_hash_pair',
10781             'opcount' => 0,
10782             'prods' => [
10783             bless( {
10784             'actcount' => 0,
10785             'dircount' => 0,
10786             'error' => undef,
10787             'items' => [
10788             bless( {
10789             'argcode' => undef,
10790             'implicit' => undef,
10791             'line' => 70,
10792             'lookahead' => 0,
10793             'matchrule' => 0,
10794             'subrule' => 'comma'
10795             }, 'Parse::RecDescent::Subrule' ),
10796             bless( {
10797             'argcode' => undef,
10798             'implicit' => undef,
10799             'line' => 70,
10800             'lookahead' => 0,
10801             'matchrule' => 0,
10802             'subrule' => 'hash_pair'
10803             }, 'Parse::RecDescent::Subrule' )
10804             ],
10805             'line' => undef,
10806             'number' => 0,
10807             'patcount' => 0,
10808             'strcount' => 0,
10809             'uncommit' => undef
10810             }, 'Parse::RecDescent::Production' )
10811             ],
10812             'vars' => ''
10813             }, 'Parse::RecDescent::Rule' ),
10814             'comma_hashref' => bless( {
10815             'calls' => [
10816             'comma',
10817             'hashref'
10818             ],
10819             'changed' => 0,
10820             'impcount' => 0,
10821             'line' => 74,
10822             'name' => 'comma_hashref',
10823             'opcount' => 0,
10824             'prods' => [
10825             bless( {
10826             'actcount' => 0,
10827             'dircount' => 0,
10828             'error' => undef,
10829             'items' => [
10830             bless( {
10831             'argcode' => undef,
10832             'implicit' => undef,
10833             'line' => 74,
10834             'lookahead' => 0,
10835             'matchrule' => 0,
10836             'subrule' => 'comma'
10837             }, 'Parse::RecDescent::Subrule' ),
10838             bless( {
10839             'argcode' => undef,
10840             'implicit' => undef,
10841             'line' => 74,
10842             'lookahead' => 0,
10843             'matchrule' => 0,
10844             'subrule' => 'hashref'
10845             }, 'Parse::RecDescent::Subrule' )
10846             ],
10847             'line' => undef,
10848             'number' => 0,
10849             'patcount' => 0,
10850             'strcount' => 0,
10851             'uncommit' => undef
10852             }, 'Parse::RecDescent::Production' )
10853             ],
10854             'vars' => ''
10855             }, 'Parse::RecDescent::Rule' ),
10856             'comma_list_item' => bless( {
10857             'calls' => [
10858             'comma',
10859             'list_item'
10860             ],
10861             'changed' => 0,
10862             'impcount' => 0,
10863             'line' => 121,
10864             'name' => 'comma_list_item',
10865             'opcount' => 0,
10866             'prods' => [
10867             bless( {
10868             'actcount' => 1,
10869             'dircount' => 0,
10870             'error' => undef,
10871             'items' => [
10872             bless( {
10873             'argcode' => undef,
10874             'implicit' => undef,
10875             'line' => 121,
10876             'lookahead' => 0,
10877             'matchrule' => 0,
10878             'subrule' => 'comma'
10879             }, 'Parse::RecDescent::Subrule' ),
10880             bless( {
10881             'argcode' => undef,
10882             'implicit' => undef,
10883             'line' => 121,
10884             'lookahead' => 0,
10885             'matchrule' => 0,
10886             'subrule' => 'list_item'
10887             }, 'Parse::RecDescent::Subrule' ),
10888             bless( {
10889             'code' => '{ $return=$item{list_item} }',
10890             'hashname' => '__ACTION1__',
10891             'line' => 122,
10892             'lookahead' => 0
10893             }, 'Parse::RecDescent::Action' )
10894             ],
10895             'line' => undef,
10896             'number' => 0,
10897             'patcount' => 0,
10898             'strcount' => 0,
10899             'uncommit' => undef
10900             }, 'Parse::RecDescent::Production' )
10901             ],
10902             'vars' => ''
10903             }, 'Parse::RecDescent::Rule' ),
10904             'eos' => bless( {
10905             'calls' => [],
10906             'changed' => 0,
10907             'impcount' => 0,
10908             'line' => 101,
10909             'name' => 'eos',
10910             'opcount' => 0,
10911             'prods' => [
10912             bless( {
10913             'actcount' => 1,
10914             'dircount' => 0,
10915             'error' => undef,
10916             'items' => [
10917             bless( {
10918             'code' => '{ $text=~/^[\\s;]+$/ ? 1 : undef;}',
10919             'hashname' => '__ACTION1__',
10920             'line' => 101,
10921             'lookahead' => 0
10922             }, 'Parse::RecDescent::Action' )
10923             ],
10924             'line' => undef,
10925             'number' => 0,
10926             'patcount' => 0,
10927             'strcount' => 0,
10928             'uncommit' => undef
10929             }, 'Parse::RecDescent::Production' )
10930             ],
10931             'vars' => ''
10932             }, 'Parse::RecDescent::Rule' ),
10933             'first_existing_arg' => bless( {
10934             'calls' => [
10935             'comma_hashref'
10936             ],
10937             'changed' => 0,
10938             'impcount' => 0,
10939             'line' => 81,
10940             'name' => 'first_existing_arg',
10941             'opcount' => 0,
10942             'prods' => [
10943             bless( {
10944             'actcount' => 1,
10945             'dircount' => 1,
10946             'error' => undef,
10947             'items' => [
10948             bless( {
10949             'code' => 'my ($match,@res);
10950             ($match,$text,undef,@res) =
10951             Text::Balanced::extract_quotelike($text,$skip);
10952             $match ? \\@res : undef;
10953             ',
10954             'hashname' => '__DIRECTIVE1__',
10955             'line' => 81,
10956             'lookahead' => 0,
10957             'name' => ''
10958             }, 'Parse::RecDescent::Directive' ),
10959             bless( {
10960             'argcode' => undef,
10961             'expected' => undef,
10962             'line' => 81,
10963             'lookahead' => 0,
10964             'matchrule' => 0,
10965             'max' => 1,
10966             'min' => 0,
10967             'repspec' => '?',
10968             'subrule' => 'comma_hashref'
10969             }, 'Parse::RecDescent::Repetition' ),
10970             bless( {
10971             'code' => '{ $return = $item[1][2] }',
10972             'hashname' => '__ACTION1__',
10973             'line' => 82,
10974             'lookahead' => 0
10975             }, 'Parse::RecDescent::Action' )
10976             ],
10977             'line' => undef,
10978             'number' => 0,
10979             'patcount' => 0,
10980             'strcount' => 0,
10981             'uncommit' => undef
10982             }, 'Parse::RecDescent::Production' )
10983             ],
10984             'vars' => ''
10985             }, 'Parse::RecDescent::Rule' ),
10986             'hash_pair' => bless( {
10987             'calls' => [
10988             'comma',
10989             '_alternation_1_of_production_1_of_rule_hash_pair'
10990             ],
10991             'changed' => 0,
10992             'impcount' => 1,
10993             'line' => 66,
10994             'name' => 'hash_pair',
10995             'opcount' => 0,
10996             'prods' => [
10997             bless( {
10998             'actcount' => 0,
10999             'dircount' => 0,
11000             'error' => undef,
11001             'items' => [
11002             bless( {
11003             'description' => '/\\\\S+/',
11004             'hashname' => '__PATTERN1__',
11005             'ldelim' => '/',
11006             'line' => 68,
11007             'lookahead' => 0,
11008             'mod' => '',
11009             'pattern' => '\\S+',
11010             'rdelim' => '/'
11011             }, 'Parse::RecDescent::Token' ),
11012             bless( {
11013             'argcode' => undef,
11014             'implicit' => undef,
11015             'line' => 68,
11016             'lookahead' => 0,
11017             'matchrule' => 0,
11018             'subrule' => 'comma'
11019             }, 'Parse::RecDescent::Subrule' ),
11020             bless( {
11021             'argcode' => undef,
11022             'implicit' => '/[^\\\\s,\\}]+/',
11023             'line' => 68,
11024             'lookahead' => 0,
11025             'matchrule' => 0,
11026             'subrule' => '_alternation_1_of_production_1_of_rule_hash_pair'
11027             }, 'Parse::RecDescent::Subrule' )
11028             ],
11029             'line' => undef,
11030             'number' => 0,
11031             'patcount' => 1,
11032             'strcount' => 0,
11033             'uncommit' => undef
11034             }, 'Parse::RecDescent::Production' )
11035             ],
11036             'vars' => ''
11037             }, 'Parse::RecDescent::Rule' ),
11038             'hashref' => bless( {
11039             'calls' => [
11040             'hash_pair',
11041             'comma_hash_pair'
11042             ],
11043             'changed' => 0,
11044             'impcount' => 0,
11045             'line' => 72,
11046             'name' => 'hashref',
11047             'opcount' => 0,
11048             'prods' => [
11049             bless( {
11050             'actcount' => 0,
11051             'dircount' => 0,
11052             'error' => undef,
11053             'items' => [
11054             bless( {
11055             'description' => '\'\\{\'',
11056             'hashname' => '__STRING1__',
11057             'line' => 72,
11058             'lookahead' => 0,
11059             'pattern' => '{'
11060             }, 'Parse::RecDescent::Literal' ),
11061             bless( {
11062             'argcode' => undef,
11063             'implicit' => undef,
11064             'line' => 72,
11065             'lookahead' => 0,
11066             'matchrule' => 0,
11067             'subrule' => 'hash_pair'
11068             }, 'Parse::RecDescent::Subrule' ),
11069             bless( {
11070             'argcode' => undef,
11071             'expected' => undef,
11072             'line' => 72,
11073             'lookahead' => 0,
11074             'matchrule' => 0,
11075             'max' => 100000000,
11076             'min' => 0,
11077             'repspec' => 's?',
11078             'subrule' => 'comma_hash_pair'
11079             }, 'Parse::RecDescent::Repetition' ),
11080             bless( {
11081             'description' => '\'\\}\'',
11082             'hashname' => '__STRING2__',
11083             'line' => 72,
11084             'lookahead' => 0,
11085             'pattern' => '}'
11086             }, 'Parse::RecDescent::Literal' )
11087             ],
11088             'line' => undef,
11089             'number' => 0,
11090             'patcount' => 0,
11091             'strcount' => 2,
11092             'uncommit' => undef
11093             }, 'Parse::RecDescent::Production' )
11094             ],
11095             'vars' => ''
11096             }, 'Parse::RecDescent::Rule' ),
11097             'import_list' => bless( {
11098             'calls' => [
11099             'list_item',
11100             'comma_list_item'
11101             ],
11102             'changed' => 0,
11103             'impcount' => 0,
11104             'line' => 105,
11105             'name' => 'import_list',
11106             'opcount' => 0,
11107             'prods' => [
11108             bless( {
11109             'actcount' => 1,
11110             'dircount' => 0,
11111             'error' => undef,
11112             'items' => [
11113             bless( {
11114             'description' => '/[(]?/',
11115             'hashname' => '__PATTERN1__',
11116             'ldelim' => '/',
11117             'line' => 105,
11118             'lookahead' => 0,
11119             'mod' => '',
11120             'pattern' => '[(]?',
11121             'rdelim' => '/'
11122             }, 'Parse::RecDescent::Token' ),
11123             bless( {
11124             'argcode' => undef,
11125             'implicit' => undef,
11126             'line' => 106,
11127             'lookahead' => 0,
11128             'matchrule' => 0,
11129             'subrule' => 'list_item'
11130             }, 'Parse::RecDescent::Subrule' ),
11131             bless( {
11132             'argcode' => undef,
11133             'expected' => undef,
11134             'line' => 107,
11135             'lookahead' => 0,
11136             'matchrule' => 0,
11137             'max' => 100000000,
11138             'min' => 0,
11139             'repspec' => 's?',
11140             'subrule' => 'comma_list_item'
11141             }, 'Parse::RecDescent::Repetition' ),
11142             bless( {
11143             'description' => '/[)]?/',
11144             'hashname' => '__PATTERN2__',
11145             'ldelim' => '/',
11146             'line' => 108,
11147             'lookahead' => 0,
11148             'mod' => '',
11149             'pattern' => '[)]?',
11150             'rdelim' => '/'
11151             }, 'Parse::RecDescent::Token' ),
11152             bless( {
11153             'code' => '{ $return=$item[2];
11154             $return.=" ".join(" ",@{$item[3]}) if $item[3];
11155             }',
11156             'hashname' => '__ACTION1__',
11157             'line' => 109,
11158             'lookahead' => 0
11159             }, 'Parse::RecDescent::Action' )
11160             ],
11161             'line' => undef,
11162             'number' => 0,
11163             'patcount' => 2,
11164             'strcount' => 0,
11165             'uncommit' => undef
11166             }, 'Parse::RecDescent::Production' ),
11167             bless( {
11168             'actcount' => 1,
11169             'dircount' => 0,
11170             'error' => undef,
11171             'items' => [
11172             bless( {
11173             'description' => '/[(]\\\\s*[)]/',
11174             'hashname' => '__PATTERN1__',
11175             'ldelim' => '/',
11176             'line' => 113,
11177             'lookahead' => 0,
11178             'mod' => '',
11179             'pattern' => '[(]\\s*[)]',
11180             'rdelim' => '/'
11181             }, 'Parse::RecDescent::Token' ),
11182             bless( {
11183             'code' => '{ $return=\'\' }',
11184             'hashname' => '__ACTION1__',
11185             'line' => 113,
11186             'lookahead' => 0
11187             }, 'Parse::RecDescent::Action' )
11188             ],
11189             'line' => 112,
11190             'number' => 1,
11191             'patcount' => 1,
11192             'strcount' => 0,
11193             'uncommit' => undef
11194             }, 'Parse::RecDescent::Production' )
11195             ],
11196             'vars' => ''
11197             }, 'Parse::RecDescent::Rule' ),
11198             'list_item' => bless( {
11199             'calls' => [],
11200             'changed' => 0,
11201             'impcount' => 0,
11202             'line' => 115,
11203             'name' => 'list_item',
11204             'opcount' => 0,
11205             'prods' => [
11206             bless( {
11207             'actcount' => 1,
11208             'dircount' => 1,
11209             'error' => undef,
11210             'items' => [
11211             bless( {
11212             'code' => 'my ($match,@res);
11213             ($match,$text,undef,@res) =
11214             Text::Balanced::extract_quotelike($text,$skip);
11215             $match ? \\@res : undef;
11216             ',
11217             'hashname' => '__DIRECTIVE1__',
11218             'line' => 115,
11219             'lookahead' => 0,
11220             'name' => ''
11221             }, 'Parse::RecDescent::Directive' ),
11222             bless( {
11223             'code' => '{ $return=$item[1][2] }',
11224             'hashname' => '__ACTION1__',
11225             'line' => 115,
11226             'lookahead' => 0
11227             }, 'Parse::RecDescent::Action' )
11228             ],
11229             'line' => undef,
11230             'number' => 0,
11231             'patcount' => 0,
11232             'strcount' => 0,
11233             'uncommit' => undef
11234             }, 'Parse::RecDescent::Production' ),
11235             bless( {
11236             'actcount' => 1,
11237             'dircount' => 1,
11238             'error' => undef,
11239             'items' => [
11240             bless( {
11241             'code' => 'Text::Balanced::extract_codeblock($text,undef,$skip,\'(){}[]\');
11242             ',
11243             'hashname' => '__DIRECTIVE1__',
11244             'line' => 117,
11245             'lookahead' => 0,
11246             'name' => ''
11247             }, 'Parse::RecDescent::Directive' ),
11248             bless( {
11249             'code' => '{ $return=$item[1] }',
11250             'hashname' => '__ACTION1__',
11251             'line' => 117,
11252             'lookahead' => 0
11253             }, 'Parse::RecDescent::Action' )
11254             ],
11255             'line' => 116,
11256             'number' => 1,
11257             'patcount' => 0,
11258             'strcount' => 0,
11259             'uncommit' => undef
11260             }, 'Parse::RecDescent::Production' ),
11261             bless( {
11262             'actcount' => 1,
11263             'dircount' => 0,
11264             'error' => undef,
11265             'items' => [
11266             bless( {
11267             'description' => '/-?\\\\w+/',
11268             'hashname' => '__PATTERN1__',
11269             'ldelim' => '/',
11270             'line' => 119,
11271             'lookahead' => 0,
11272             'mod' => '',
11273             'pattern' => '-?\\w+',
11274             'rdelim' => '/'
11275             }, 'Parse::RecDescent::Token' ),
11276             bless( {
11277             'code' => '{ $return=$item[1] }',
11278             'hashname' => '__ACTION1__',
11279             'line' => 119,
11280             'lookahead' => 0
11281             }, 'Parse::RecDescent::Action' )
11282             ],
11283             'line' => 118,
11284             'number' => 2,
11285             'patcount' => 1,
11286             'strcount' => 0,
11287             'uncommit' => undef
11288             }, 'Parse::RecDescent::Production' )
11289             ],
11290             'vars' => ''
11291             }, 'Parse::RecDescent::Rule' ),
11292             'module' => bless( {
11293             'calls' => [
11294             'module_name',
11295             'module_more'
11296             ],
11297             'changed' => 0,
11298             'impcount' => 0,
11299             'line' => 15,
11300             'name' => 'module',
11301             'opcount' => 0,
11302             'prods' => [
11303             bless( {
11304             'actcount' => 1,
11305             'dircount' => 0,
11306             'error' => undef,
11307             'items' => [
11308             bless( {
11309             'argcode' => undef,
11310             'implicit' => undef,
11311             'line' => 15,
11312             'lookahead' => 0,
11313             'matchrule' => 0,
11314             'subrule' => 'module_name'
11315             }, 'Parse::RecDescent::Subrule' ),
11316             bless( {
11317             'argcode' => undef,
11318             'implicit' => undef,
11319             'line' => 15,
11320             'lookahead' => 0,
11321             'matchrule' => 0,
11322             'subrule' => 'module_more'
11323             }, 'Parse::RecDescent::Subrule' ),
11324             bless( {
11325             'code' => '{ $return=$item{module_name} }',
11326             'hashname' => '__ACTION1__',
11327             'line' => 16,
11328             'lookahead' => 0
11329             }, 'Parse::RecDescent::Action' )
11330             ],
11331             'line' => undef,
11332             'number' => 0,
11333             'patcount' => 0,
11334             'strcount' => 0,
11335             'uncommit' => undef
11336             }, 'Parse::RecDescent::Production' )
11337             ],
11338             'vars' => ''
11339             }, 'Parse::RecDescent::Rule' ),
11340             'module_more' => bless( {
11341             'calls' => [
11342             'eos',
11343             'version',
11344             'var',
11345             'import_list'
11346             ],
11347             'changed' => 0,
11348             'impcount' => 0,
11349             'line' => 20,
11350             'name' => 'module_more',
11351             'opcount' => 0,
11352             'prods' => [
11353             bless( {
11354             'actcount' => 0,
11355             'dircount' => 0,
11356             'error' => undef,
11357             'items' => [
11358             bless( {
11359             'argcode' => undef,
11360             'implicit' => undef,
11361             'line' => 20,
11362             'lookahead' => 0,
11363             'matchrule' => 0,
11364             'subrule' => 'eos'
11365             }, 'Parse::RecDescent::Subrule' )
11366             ],
11367             'line' => undef,
11368             'number' => 0,
11369             'patcount' => 0,
11370             'strcount' => 0,
11371             'uncommit' => undef
11372             }, 'Parse::RecDescent::Production' ),
11373             bless( {
11374             'actcount' => 0,
11375             'dircount' => 0,
11376             'error' => undef,
11377             'items' => [
11378             bless( {
11379             'argcode' => undef,
11380             'expected' => undef,
11381             'line' => 20,
11382             'lookahead' => 0,
11383             'matchrule' => 0,
11384             'max' => 1,
11385             'min' => 0,
11386             'repspec' => '?',
11387             'subrule' => 'version'
11388             }, 'Parse::RecDescent::Repetition' ),
11389             bless( {
11390             'argcode' => undef,
11391             'expected' => undef,
11392             'line' => 20,
11393             'lookahead' => 0,
11394             'matchrule' => 0,
11395             'max' => 1,
11396             'min' => 0,
11397             'repspec' => '?',
11398             'subrule' => 'var'
11399             }, 'Parse::RecDescent::Repetition' ),
11400             bless( {
11401             'argcode' => undef,
11402             'expected' => undef,
11403             'line' => 20,
11404             'lookahead' => 0,
11405             'matchrule' => 0,
11406             'max' => 1,
11407             'min' => 0,
11408             'repspec' => '?',
11409             'subrule' => 'import_list'
11410             }, 'Parse::RecDescent::Repetition' )
11411             ],
11412             'line' => 20,
11413             'number' => 1,
11414             'patcount' => 0,
11415             'strcount' => 0,
11416             'uncommit' => undef
11417             }, 'Parse::RecDescent::Production' )
11418             ],
11419             'vars' => ''
11420             }, 'Parse::RecDescent::Rule' ),
11421             'module_name' => bless( {
11422             'calls' => [],
11423             'changed' => 0,
11424             'impcount' => 0,
11425             'line' => 18,
11426             'name' => 'module_name',
11427             'opcount' => 0,
11428             'prods' => [
11429             bless( {
11430             'actcount' => 0,
11431             'dircount' => 0,
11432             'error' => undef,
11433             'items' => [
11434             bless( {
11435             'description' => '/[\\\\w:]+/',
11436             'hashname' => '__PATTERN1__',
11437             'ldelim' => '/',
11438             'line' => 18,
11439             'lookahead' => 0,
11440             'mod' => '',
11441             'pattern' => '[\\w:]+',
11442             'rdelim' => '/'
11443             }, 'Parse::RecDescent::Token' )
11444             ],
11445             'line' => undef,
11446             'number' => 0,
11447             'patcount' => 1,
11448             'strcount' => 0,
11449             'uncommit' => undef
11450             }, 'Parse::RecDescent::Production' )
11451             ],
11452             'vars' => ''
11453             }, 'Parse::RecDescent::Rule' ),
11454             'module_runtime_require_module' => bless( {
11455             'calls' => [
11456             '_alternation_1_of_production_1_of_rule_module_runtime_require_module'
11457             ],
11458             'changed' => 0,
11459             'impcount' => 1,
11460             'line' => 50,
11461             'name' => 'module_runtime_require_module',
11462             'opcount' => 0,
11463             'prods' => [
11464             bless( {
11465             'actcount' => 1,
11466             'dircount' => 1,
11467             'error' => undef,
11468             'items' => [
11469             bless( {
11470             'argcode' => undef,
11471             'implicit' => '\'Module::Runtime::require_module(\', or /\\\\brequire_module\\\\(/',
11472             'line' => 52,
11473             'lookahead' => 0,
11474             'matchrule' => 0,
11475             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_require_module'
11476             }, 'Parse::RecDescent::Subrule' ),
11477             bless( {
11478             'code' => 'my ($match,@res);
11479             ($match,$text,undef,@res) =
11480             Text::Balanced::extract_quotelike($text,$skip);
11481             $match ? \\@res : undef;
11482             ',
11483             'hashname' => '__DIRECTIVE1__',
11484             'line' => 52,
11485             'lookahead' => 0,
11486             'name' => ''
11487             }, 'Parse::RecDescent::Directive' ),
11488             bless( {
11489             'description' => '\')\'',
11490             'hashname' => '__STRING1__',
11491             'line' => 52,
11492             'lookahead' => 0,
11493             'pattern' => ')'
11494             }, 'Parse::RecDescent::Literal' ),
11495             bless( {
11496             'code' => '{ $return = $item[2][2] }',
11497             'hashname' => '__ACTION1__',
11498             'line' => 53,
11499             'lookahead' => 0
11500             }, 'Parse::RecDescent::Action' )
11501             ],
11502             'line' => undef,
11503             'number' => 0,
11504             'patcount' => 0,
11505             'strcount' => 1,
11506             'uncommit' => undef
11507             }, 'Parse::RecDescent::Production' )
11508             ],
11509             'vars' => ''
11510             }, 'Parse::RecDescent::Rule' ),
11511             'module_runtime_use' => bless( {
11512             'calls' => [
11513             '_alternation_1_of_production_1_of_rule_module_runtime_use',
11514             'module_runtime_version'
11515             ],
11516             'changed' => 0,
11517             'impcount' => 1,
11518             'line' => 59,
11519             'name' => 'module_runtime_use',
11520             'opcount' => 0,
11521             'prods' => [
11522             bless( {
11523             'actcount' => 1,
11524             'dircount' => 1,
11525             'error' => undef,
11526             'items' => [
11527             bless( {
11528             'argcode' => undef,
11529             'implicit' => '\'Module::Runtime::\', or /\\\\b/',
11530             'line' => 59,
11531             'lookahead' => 0,
11532             'matchrule' => 0,
11533             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_use'
11534             }, 'Parse::RecDescent::Subrule' ),
11535             bless( {
11536             'code' => 'my ($match,@res);
11537             ($match,$text,undef,@res) =
11538             Text::Balanced::extract_quotelike($text,$skip);
11539             $match ? \\@res : undef;
11540             ',
11541             'hashname' => '__DIRECTIVE1__',
11542             'line' => 59,
11543             'lookahead' => 0,
11544             'name' => ''
11545             }, 'Parse::RecDescent::Directive' ),
11546             bless( {
11547             'argcode' => undef,
11548             'expected' => undef,
11549             'line' => 59,
11550             'lookahead' => 0,
11551             'matchrule' => 0,
11552             'max' => 1,
11553             'min' => 0,
11554             'repspec' => '?',
11555             'subrule' => 'module_runtime_version'
11556             }, 'Parse::RecDescent::Repetition' ),
11557             bless( {
11558             'description' => '\')\'',
11559             'hashname' => '__STRING1__',
11560             'line' => 59,
11561             'lookahead' => 0,
11562             'pattern' => ')'
11563             }, 'Parse::RecDescent::Literal' ),
11564             bless( {
11565             'code' => '{ $return = $item[2][2] }',
11566             'hashname' => '__ACTION1__',
11567             'line' => 60,
11568             'lookahead' => 0
11569             }, 'Parse::RecDescent::Action' )
11570             ],
11571             'line' => undef,
11572             'number' => 0,
11573             'patcount' => 0,
11574             'strcount' => 1,
11575             'uncommit' => undef
11576             }, 'Parse::RecDescent::Production' )
11577             ],
11578             'vars' => ''
11579             }, 'Parse::RecDescent::Rule' ),
11580             'module_runtime_use_fcn' => bless( {
11581             'calls' => [
11582             '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn'
11583             ],
11584             'changed' => 0,
11585             'impcount' => 1,
11586             'line' => 55,
11587             'name' => 'module_runtime_use_fcn',
11588             'opcount' => 0,
11589             'prods' => [
11590             bless( {
11591             'actcount' => 0,
11592             'dircount' => 0,
11593             'error' => undef,
11594             'items' => [
11595             bless( {
11596             'argcode' => undef,
11597             'implicit' => '\'use_module\', or \'use_package_optimistically\'',
11598             'line' => 55,
11599             'lookahead' => 0,
11600             'matchrule' => 0,
11601             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn'
11602             }, 'Parse::RecDescent::Subrule' )
11603             ],
11604             'line' => undef,
11605             'number' => 0,
11606             'patcount' => 0,
11607             'strcount' => 0,
11608             'uncommit' => undef
11609             }, 'Parse::RecDescent::Production' )
11610             ],
11611             'vars' => ''
11612             }, 'Parse::RecDescent::Rule' ),
11613             'module_runtime_version' => bless( {
11614             'calls' => [
11615             'version'
11616             ],
11617             'changed' => 0,
11618             'impcount' => 0,
11619             'line' => 57,
11620             'name' => 'module_runtime_version',
11621             'opcount' => 0,
11622             'prods' => [
11623             bless( {
11624             'actcount' => 0,
11625             'dircount' => 0,
11626             'error' => undef,
11627             'items' => [
11628             bless( {
11629             'description' => '\',\'',
11630             'hashname' => '__STRING1__',
11631             'line' => 57,
11632             'lookahead' => 0,
11633             'pattern' => ','
11634             }, 'Parse::RecDescent::Literal' ),
11635             bless( {
11636             'description' => '/\\\\s*/',
11637             'hashname' => '__PATTERN1__',
11638             'ldelim' => '/',
11639             'line' => 57,
11640             'lookahead' => 0,
11641             'mod' => '',
11642             'pattern' => '\\s*',
11643             'rdelim' => '/'
11644             }, 'Parse::RecDescent::Token' ),
11645             bless( {
11646             'argcode' => undef,
11647             'implicit' => undef,
11648             'line' => 57,
11649             'lookahead' => 0,
11650             'matchrule' => 0,
11651             'subrule' => 'version'
11652             }, 'Parse::RecDescent::Subrule' )
11653             ],
11654             'line' => undef,
11655             'number' => 0,
11656             'patcount' => 1,
11657             'strcount' => 1,
11658             'uncommit' => undef
11659             }, 'Parse::RecDescent::Production' )
11660             ],
11661             'vars' => ''
11662             }, 'Parse::RecDescent::Rule' ),
11663             'no_stuff' => bless( {
11664             'calls' => [
11665             '_alternation_1_of_production_1_of_rule_no_stuff'
11666             ],
11667             'changed' => 0,
11668             'impcount' => 1,
11669             'line' => 46,
11670             'name' => 'no_stuff',
11671             'opcount' => 0,
11672             'prods' => [
11673             bless( {
11674             'actcount' => 0,
11675             'dircount' => 0,
11676             'error' => undef,
11677             'items' => [
11678             bless( {
11679             'argcode' => undef,
11680             'implicit' => 'base, or version, or module',
11681             'line' => 46,
11682             'lookahead' => 0,
11683             'matchrule' => 0,
11684             'subrule' => '_alternation_1_of_production_1_of_rule_no_stuff'
11685             }, 'Parse::RecDescent::Subrule' )
11686             ],
11687             'line' => undef,
11688             'number' => 0,
11689             'patcount' => 0,
11690             'strcount' => 0,
11691             'uncommit' => undef
11692             }, 'Parse::RecDescent::Production' )
11693             ],
11694             'vars' => ''
11695             }, 'Parse::RecDescent::Rule' ),
11696             'parent' => bless( {
11697             'calls' => [
11698             'import_list'
11699             ],
11700             'changed' => 0,
11701             'impcount' => 0,
11702             'line' => 12,
11703             'name' => 'parent',
11704             'opcount' => 0,
11705             'prods' => [
11706             bless( {
11707             'actcount' => 1,
11708             'dircount' => 0,
11709             'error' => undef,
11710             'items' => [
11711             bless( {
11712             'description' => '\'parent\'',
11713             'hashname' => '__STRING1__',
11714             'line' => 12,
11715             'lookahead' => 0,
11716             'pattern' => 'parent'
11717             }, 'Parse::RecDescent::InterpLit' ),
11718             bless( {
11719             'argcode' => undef,
11720             'implicit' => undef,
11721             'line' => 12,
11722             'lookahead' => 0,
11723             'matchrule' => 0,
11724             'subrule' => 'import_list'
11725             }, 'Parse::RecDescent::Subrule' ),
11726             bless( {
11727             'code' => '{ $return=\'parent\'; $return.=\' \'.$item[2] if $item[2] !~ /^\\s*-norequire\\b/; }',
11728             'hashname' => '__ACTION1__',
11729             'line' => 13,
11730             'lookahead' => 0
11731             }, 'Parse::RecDescent::Action' )
11732             ],
11733             'line' => undef,
11734             'number' => 0,
11735             'patcount' => 0,
11736             'strcount' => 1,
11737             'uncommit' => undef
11738             }, 'Parse::RecDescent::Production' )
11739             ],
11740             'vars' => ''
11741             }, 'Parse::RecDescent::Rule' ),
11742             'require_name' => bless( {
11743             'calls' => [],
11744             'changed' => 0,
11745             'impcount' => 0,
11746             'line' => 31,
11747             'name' => 'require_name',
11748             'opcount' => 0,
11749             'prods' => [
11750             bless( {
11751             'actcount' => 1,
11752             'dircount' => 1,
11753             'error' => undef,
11754             'items' => [
11755             bless( {
11756             'code' => 'my ($match,@res);
11757             ($match,$text,undef,@res) =
11758             Text::Balanced::extract_quotelike($text,$skip);
11759             $match ? \\@res : undef;
11760             ',
11761             'hashname' => '__DIRECTIVE1__',
11762             'line' => 31,
11763             'lookahead' => 0,
11764             'name' => ''
11765             }, 'Parse::RecDescent::Directive' ),
11766             bless( {
11767             'code' => '{ my $name=$item[1][2];
11768             return 1 if ($name=~/\\.pl$/);
11769             $name=~s(/)(::)g;
11770             $name=~s/\\.pm//;
11771             $return=$name;
11772             }',
11773             'hashname' => '__ACTION1__',
11774             'line' => 32,
11775             'lookahead' => 0
11776             }, 'Parse::RecDescent::Action' )
11777             ],
11778             'line' => undef,
11779             'number' => 0,
11780             'patcount' => 0,
11781             'strcount' => 0,
11782             'uncommit' => undef
11783             }, 'Parse::RecDescent::Production' )
11784             ],
11785             'vars' => ''
11786             }, 'Parse::RecDescent::Rule' ),
11787             'require_stuff' => bless( {
11788             'calls' => [
11789             '_alternation_1_of_production_1_of_rule_require_stuff'
11790             ],
11791             'changed' => 0,
11792             'impcount' => 1,
11793             'line' => 29,
11794             'name' => 'require_stuff',
11795             'opcount' => 0,
11796             'prods' => [
11797             bless( {
11798             'actcount' => 0,
11799             'dircount' => 0,
11800             'error' => undef,
11801             'items' => [
11802             bless( {
11803             'argcode' => undef,
11804             'implicit' => 'version, or require_name, or module',
11805             'line' => 29,
11806             'lookahead' => 0,
11807             'matchrule' => 0,
11808             'subrule' => '_alternation_1_of_production_1_of_rule_require_stuff'
11809             }, 'Parse::RecDescent::Subrule' )
11810             ],
11811             'line' => undef,
11812             'number' => 0,
11813             'patcount' => 0,
11814             'strcount' => 0,
11815             'uncommit' => undef
11816             }, 'Parse::RecDescent::Production' )
11817             ],
11818             'vars' => ''
11819             }, 'Parse::RecDescent::Rule' ),
11820             'token_class_load' => bless( {
11821             'calls' => [
11822             'class_load',
11823             'class_load_first_existing'
11824             ],
11825             'changed' => 0,
11826             'impcount' => 0,
11827             'line' => 93,
11828             'name' => 'token_class_load',
11829             'opcount' => 0,
11830             'prods' => [
11831             bless( {
11832             'actcount' => 0,
11833             'dircount' => 0,
11834             'error' => undef,
11835             'items' => [
11836             bless( {
11837             'argcode' => undef,
11838             'implicit' => undef,
11839             'line' => 93,
11840             'lookahead' => 0,
11841             'matchrule' => 0,
11842             'subrule' => 'class_load'
11843             }, 'Parse::RecDescent::Subrule' )
11844             ],
11845             'line' => undef,
11846             'number' => 0,
11847             'patcount' => 0,
11848             'strcount' => 0,
11849             'uncommit' => undef
11850             }, 'Parse::RecDescent::Production' ),
11851             bless( {
11852             'actcount' => 0,
11853             'dircount' => 0,
11854             'error' => undef,
11855             'items' => [
11856             bless( {
11857             'argcode' => undef,
11858             'implicit' => undef,
11859             'line' => 93,
11860             'lookahead' => 0,
11861             'matchrule' => 0,
11862             'subrule' => 'class_load_first_existing'
11863             }, 'Parse::RecDescent::Subrule' )
11864             ],
11865             'line' => 93,
11866             'number' => 1,
11867             'patcount' => 0,
11868             'strcount' => 0,
11869             'uncommit' => undef
11870             }, 'Parse::RecDescent::Production' )
11871             ],
11872             'vars' => ''
11873             }, 'Parse::RecDescent::Rule' ),
11874             'token_module_runtime' => bless( {
11875             'calls' => [
11876             'module_runtime_require_module',
11877             'module_runtime_use'
11878             ],
11879             'changed' => 0,
11880             'impcount' => 0,
11881             'line' => 62,
11882             'name' => 'token_module_runtime',
11883             'opcount' => 0,
11884             'prods' => [
11885             bless( {
11886             'actcount' => 0,
11887             'dircount' => 0,
11888             'error' => undef,
11889             'items' => [
11890             bless( {
11891             'argcode' => undef,
11892             'implicit' => undef,
11893             'line' => 62,
11894             'lookahead' => 0,
11895             'matchrule' => 0,
11896             'subrule' => 'module_runtime_require_module'
11897             }, 'Parse::RecDescent::Subrule' )
11898             ],
11899             'line' => undef,
11900             'number' => 0,
11901             'patcount' => 0,
11902             'strcount' => 0,
11903             'uncommit' => undef
11904             }, 'Parse::RecDescent::Production' ),
11905             bless( {
11906             'actcount' => 0,
11907             'dircount' => 0,
11908             'error' => undef,
11909             'items' => [
11910             bless( {
11911             'argcode' => undef,
11912             'implicit' => undef,
11913             'line' => 62,
11914             'lookahead' => 0,
11915             'matchrule' => 0,
11916             'subrule' => 'module_runtime_use'
11917             }, 'Parse::RecDescent::Subrule' )
11918             ],
11919             'line' => 62,
11920             'number' => 1,
11921             'patcount' => 0,
11922             'strcount' => 0,
11923             'uncommit' => undef
11924             }, 'Parse::RecDescent::Production' )
11925             ],
11926             'vars' => ''
11927             }, 'Parse::RecDescent::Rule' ),
11928             'token_no' => bless( {
11929             'calls' => [
11930             'no_stuff'
11931             ],
11932             'changed' => 0,
11933             'impcount' => 0,
11934             'line' => 41,
11935             'name' => 'token_no',
11936             'opcount' => 0,
11937             'prods' => [
11938             bless( {
11939             'actcount' => 1,
11940             'dircount' => 0,
11941             'error' => undef,
11942             'items' => [
11943             bless( {
11944             'description' => '/\\\\bno\\\\s/',
11945             'hashname' => '__PATTERN1__',
11946             'ldelim' => '/',
11947             'line' => 43,
11948             'lookahead' => 0,
11949             'mod' => '',
11950             'pattern' => '\\bno\\s',
11951             'rdelim' => '/'
11952             }, 'Parse::RecDescent::Token' ),
11953             bless( {
11954             'argcode' => undef,
11955             'implicit' => undef,
11956             'line' => 43,
11957             'lookahead' => 0,
11958             'matchrule' => 0,
11959             'subrule' => 'no_stuff'
11960             }, 'Parse::RecDescent::Subrule' ),
11961             bless( {
11962             'description' => '/[;\\}]/',
11963             'hashname' => '__PATTERN2__',
11964             'ldelim' => '/',
11965             'line' => 43,
11966             'lookahead' => 0,
11967             'mod' => '',
11968             'pattern' => '[;}]',
11969             'rdelim' => '/'
11970             }, 'Parse::RecDescent::Token' ),
11971             bless( {
11972             'code' => '{ $return=$item{no_stuff} }',
11973             'hashname' => '__ACTION1__',
11974             'line' => 44,
11975             'lookahead' => 0
11976             }, 'Parse::RecDescent::Action' )
11977             ],
11978             'line' => undef,
11979             'number' => 0,
11980             'patcount' => 2,
11981             'strcount' => 0,
11982             'uncommit' => undef
11983             }, 'Parse::RecDescent::Production' )
11984             ],
11985             'vars' => ''
11986             }, 'Parse::RecDescent::Rule' ),
11987             'token_require' => bless( {
11988             'calls' => [
11989             'require_stuff'
11990             ],
11991             'changed' => 0,
11992             'impcount' => 0,
11993             'line' => 24,
11994             'name' => 'token_require',
11995             'opcount' => 0,
11996             'prods' => [
11997             bless( {
11998             'actcount' => 1,
11999             'dircount' => 0,
12000             'error' => undef,
12001             'items' => [
12002             bless( {
12003             'description' => '/\\\\brequire\\\\s/',
12004             'hashname' => '__PATTERN1__',
12005             'ldelim' => '/',
12006             'line' => 26,
12007             'lookahead' => 0,
12008             'mod' => '',
12009             'pattern' => '\\brequire\\s',
12010             'rdelim' => '/'
12011             }, 'Parse::RecDescent::Token' ),
12012             bless( {
12013             'argcode' => undef,
12014             'implicit' => undef,
12015             'line' => 26,
12016             'lookahead' => 0,
12017             'matchrule' => 0,
12018             'subrule' => 'require_stuff'
12019             }, 'Parse::RecDescent::Subrule' ),
12020             bless( {
12021             'description' => '/[;\\}]/',
12022             'hashname' => '__PATTERN2__',
12023             'ldelim' => '/',
12024             'line' => 26,
12025             'lookahead' => 0,
12026             'mod' => '',
12027             'pattern' => '[;}]',
12028             'rdelim' => '/'
12029             }, 'Parse::RecDescent::Token' ),
12030             bless( {
12031             'code' => '{ $return=$item{require_stuff} }',
12032             'hashname' => '__ACTION1__',
12033             'line' => 27,
12034             'lookahead' => 0
12035             }, 'Parse::RecDescent::Action' )
12036             ],
12037             'line' => undef,
12038             'number' => 0,
12039             'patcount' => 2,
12040             'strcount' => 0,
12041             'uncommit' => undef
12042             }, 'Parse::RecDescent::Production' )
12043             ],
12044             'vars' => ''
12045             }, 'Parse::RecDescent::Rule' ),
12046             'token_use' => bless( {
12047             'calls' => [
12048             'use_stuff'
12049             ],
12050             'changed' => 0,
12051             'impcount' => 0,
12052             'line' => 3,
12053             'name' => 'token_use',
12054             'opcount' => 0,
12055             'prods' => [
12056             bless( {
12057             'actcount' => 1,
12058             'dircount' => 0,
12059             'error' => undef,
12060             'items' => [
12061             bless( {
12062             'description' => '/\\\\buse\\\\s/',
12063             'hashname' => '__PATTERN1__',
12064             'ldelim' => '/',
12065             'line' => 5,
12066             'lookahead' => 0,
12067             'mod' => '',
12068             'pattern' => '\\buse\\s',
12069             'rdelim' => '/'
12070             }, 'Parse::RecDescent::Token' ),
12071             bless( {
12072             'argcode' => undef,
12073             'implicit' => undef,
12074             'line' => 5,
12075             'lookahead' => 0,
12076             'matchrule' => 0,
12077             'subrule' => 'use_stuff'
12078             }, 'Parse::RecDescent::Subrule' ),
12079             bless( {
12080             'description' => '/[;\\}]/',
12081             'hashname' => '__PATTERN2__',
12082             'ldelim' => '/',
12083             'line' => 5,
12084             'lookahead' => 0,
12085             'mod' => '',
12086             'pattern' => '[;}]',
12087             'rdelim' => '/'
12088             }, 'Parse::RecDescent::Token' ),
12089             bless( {
12090             'code' => '{ $return=$item{use_stuff} }',
12091             'hashname' => '__ACTION1__',
12092             'line' => 6,
12093             'lookahead' => 0
12094             }, 'Parse::RecDescent::Action' )
12095             ],
12096             'line' => undef,
12097             'number' => 0,
12098             'patcount' => 2,
12099             'strcount' => 0,
12100             'uncommit' => undef
12101             }, 'Parse::RecDescent::Production' )
12102             ],
12103             'vars' => ''
12104             }, 'Parse::RecDescent::Rule' ),
12105             'use_stuff' => bless( {
12106             'calls' => [
12107             '_alternation_1_of_production_1_of_rule_use_stuff'
12108             ],
12109             'changed' => 0,
12110             'impcount' => 1,
12111             'line' => 8,
12112             'name' => 'use_stuff',
12113             'opcount' => 0,
12114             'prods' => [
12115             bless( {
12116             'actcount' => 0,
12117             'dircount' => 0,
12118             'error' => undef,
12119             'items' => [
12120             bless( {
12121             'argcode' => undef,
12122             'implicit' => 'base, or parent, or version, or module',
12123             'line' => 8,
12124             'lookahead' => 0,
12125             'matchrule' => 0,
12126             'subrule' => '_alternation_1_of_production_1_of_rule_use_stuff'
12127             }, 'Parse::RecDescent::Subrule' )
12128             ],
12129             'line' => undef,
12130             'number' => 0,
12131             'patcount' => 0,
12132             'strcount' => 0,
12133             'uncommit' => undef
12134             }, 'Parse::RecDescent::Production' )
12135             ],
12136             'vars' => ''
12137             }, 'Parse::RecDescent::Rule' ),
12138             'var' => bless( {
12139             'calls' => [],
12140             'changed' => 0,
12141             'impcount' => 0,
12142             'line' => 103,
12143             'name' => 'var',
12144             'opcount' => 0,
12145             'prods' => [
12146             bless( {
12147             'actcount' => 0,
12148             'dircount' => 0,
12149             'error' => undef,
12150             'items' => [
12151             bless( {
12152             'description' => '/\\\\$[\\\\w+]/',
12153             'hashname' => '__PATTERN1__',
12154             'ldelim' => '/',
12155             'line' => 103,
12156             'lookahead' => 0,
12157             'mod' => '',
12158             'pattern' => '\\$[\\w+]',
12159             'rdelim' => '/'
12160             }, 'Parse::RecDescent::Token' )
12161             ],
12162             'line' => undef,
12163             'number' => 0,
12164             'patcount' => 1,
12165             'strcount' => 0,
12166             'uncommit' => undef
12167             }, 'Parse::RecDescent::Production' )
12168             ],
12169             'vars' => ''
12170             }, 'Parse::RecDescent::Rule' ),
12171             'version' => bless( {
12172             'calls' => [],
12173             'changed' => 0,
12174             'impcount' => 0,
12175             'line' => 97,
12176             'name' => 'version',
12177             'opcount' => 0,
12178             'prods' => [
12179             bless( {
12180             'actcount' => 0,
12181             'dircount' => 0,
12182             'error' => undef,
12183             'items' => [
12184             bless( {
12185             'description' => '/v?[\\\\d\\\\._]+/',
12186             'hashname' => '__PATTERN1__',
12187             'ldelim' => '/',
12188             'line' => 99,
12189             'lookahead' => 0,
12190             'mod' => '',
12191             'pattern' => 'v?[\\d\\._]+',
12192             'rdelim' => '/'
12193             }, 'Parse::RecDescent::Token' )
12194             ],
12195             'line' => undef,
12196             'number' => 0,
12197             'patcount' => 1,
12198             'strcount' => 0,
12199             'uncommit' => undef
12200             }, 'Parse::RecDescent::Production' )
12201             ],
12202             'vars' => ''
12203             }, 'Parse::RecDescent::Rule' )
12204             },
12205             'startcode' => ''
12206             }, 'Parse::RecDescent' );
12207             }