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             # This parser was generated with
3             # Parse::RecDescent version 1.967013
4             #
5              
6             package Module::ExtractUse::Grammar;
7 12     12   118 use Parse::RecDescent;
  12         36  
  12         105  
8             { my $ERRORS;
9              
10              
11             package Parse::RecDescent::Module::ExtractUse::Grammar;
12 12     12   921 use strict;
  12         37  
  12         481  
13 12     12   78 use vars qw($skip $AUTOLOAD );
  12         33  
  12         1212  
14             @Parse::RecDescent::Module::ExtractUse::Grammar::ISA = ();
15             $skip = '\\s*';
16              
17              
18              
19             {
20             local $SIG{__WARN__} = sub {0};
21             # PRETEND TO BE IN Parse::RecDescent NAMESPACE
22             *Parse::RecDescent::Module::ExtractUse::Grammar::AUTOLOAD = sub
23             {
24 12     12   87 no strict 'refs';
  12         32  
  12         1384  
25              
26 0     0   0 ${"AUTOLOAD"} =~ s/^Parse::RecDescent::Module::ExtractUse::Grammar/Parse::RecDescent/;
  0         0  
27 0         0 goto &{${"AUTOLOAD"}};
  0         0  
  0         0  
28             }
29             }
30              
31             push @Parse::RecDescent::Module::ExtractUse::Grammar::ISA, 'Parse::RecDescent';
32             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
33             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load
34             {
35 73     73   122 my $thisparser = $_[0];
36 12     12   85 use vars q{$tracelevel};
  12         39  
  12         6352  
37 73   50     180 local $tracelevel = ($tracelevel||0)+1;
38 73         112 $ERRORS = 0;
39 73         131 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load"};
40              
41 73 50       164 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]},
42             Parse::RecDescent::_tracefirst($_[1]),
43             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
44             $tracelevel)
45             if defined $::RD_TRACE;
46              
47            
48 73         112 my $err_at = @{$thisparser->{errors}};
  73         138  
49              
50 73         184 my $score;
51             my $score_return;
52 73         0 my $_tok;
53 73         108 my $return = undef;
54 73         102 my $_matched=0;
55 73         118 my $commit=0;
56 73         108 my @item = ();
57 73         121 my %item = ();
58 73         108 my $repeating = $_[2];
59 73         113 my $_noactions = $_[3];
60 73 50       141 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         101  
  73         139  
61 73         131 my $_itempos = $_[5];
62 73 50       155 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
63 73         161 my $text;
64             my $lastsep;
65 73         0 my $current_match;
66 73         184 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::'});
67 73         470 $expectation->at($_[1]);
68            
69 73         282 my $thisline;
70 73         200 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
71              
72            
73              
74 73   33     529 while (!$_matched && !$commit)
75             {
76            
77 73 50       148 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::' class_load_functions]},
78             Parse::RecDescent::_tracefirst($_[1]),
79             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
80             $tracelevel)
81             if defined $::RD_TRACE;
82 73         165 my $thisprod = $thisrule->{"prods"}[0];
83 73         130 $text = $_[1];
84 73         112 my $_savetext;
85 73         185 @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load});
86 73         133 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load});
87 73         150 my $repcount = 0;
88              
89              
90 73 50       173 Parse::RecDescent::_trace(q{Trying terminal: ['Class::Load::']},
91             Parse::RecDescent::_tracefirst($text),
92             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
93             $tracelevel)
94             if defined $::RD_TRACE;
95 73         133 undef $lastsep;
96 73         161 $expectation->is(q{})->at($text);
97            
98              
99 73 100 66     906 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AClass\:\:Load\:\:/)
  73 100       584  
100             {
101 55 50       174 $text = $lastsep . $text if defined $lastsep;
102            
103 55         185 $expectation->failed();
104 55 50       249 Parse::RecDescent::_trace(qq{<>},
105             Parse::RecDescent::_tracefirst($text))
106             if defined $::RD_TRACE;
107 55         125 last;
108             }
109 18         105 $current_match = substr($text, $-[0], $+[0] - $-[0]);
110 18         57 substr($text,0,length($current_match),q{});
111 18 50       45 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
112             . $current_match . q{])},
113             Parse::RecDescent::_tracefirst($text))
114             if defined $::RD_TRACE;
115 18         43 push @item, $item{__STRING1__}=$current_match;
116            
117              
118 18 50       40 Parse::RecDescent::_trace(q{Trying subrule: [class_load_functions]},
119             Parse::RecDescent::_tracefirst($text),
120             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
121             $tracelevel)
122             if defined $::RD_TRACE;
123 12     12   100 if (1) { no strict qw{refs};
  12         76  
  12         6045  
  18         29  
124 18         47 $expectation->is(q{class_load_functions})->at($text);
125 18 50   18   186 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         37  
126             {
127            
128 0 0       0 Parse::RecDescent::_trace(q{<>},
129             Parse::RecDescent::_tracefirst($text),
130             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
131             $tracelevel)
132             if defined $::RD_TRACE;
133 0         0 $expectation->failed();
134 0         0 last;
135             }
136 18 50       84 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_functions]<< (return value: [}
137             . $_tok . q{]},
138              
139             Parse::RecDescent::_tracefirst($text),
140             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
141             $tracelevel)
142             if defined $::RD_TRACE;
143 18         38 $item{q{class_load_functions}} = $_tok;
144 18         33 push @item, $_tok;
145            
146             }
147              
148 18 50       46 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::' class_load_functions]<<},
149             Parse::RecDescent::_tracefirst($text),
150             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
151             $tracelevel)
152             if defined $::RD_TRACE;
153              
154              
155              
156 18         28 $_matched = 1;
157 18         39 last;
158             }
159              
160              
161 73 100 66     250 unless ( $_matched || defined($score) )
162             {
163            
164              
165 55         103 $_[1] = $text; # NOT SURE THIS IS NEEDED
166 55 50       119 Parse::RecDescent::_trace(q{<>},
167             Parse::RecDescent::_tracefirst($_[1]),
168             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
169             $tracelevel)
170             if defined $::RD_TRACE;
171 55         348 return undef;
172             }
173 18 50 33     68 if (!defined($return) && defined($score))
174             {
175 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
176             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
177             $tracelevel)
178             if defined $::RD_TRACE;
179 0         0 $return = $score_return;
180             }
181 18         37 splice @{$thisparser->{errors}}, $err_at;
  18         37  
182 18 50       44 $return = $item[$#item] unless defined $return;
183 18 50       37 if (defined $::RD_TRACE)
184             {
185 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
186             $return . q{])}, "",
187             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
188             $tracelevel);
189 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
190             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
191             Parse::RecDescent::_tracefirst($text),
192             , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load},
193             $tracelevel)
194             }
195 18         37 $_[1] = $text;
196 18         111 return $return;
197             }
198              
199             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
200             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use
201             {
202 61     61   134 my $thisparser = $_[0];
203 12     12   103 use vars q{$tracelevel};
  12         30  
  12         6522  
204 61   50     254 local $tracelevel = ($tracelevel||0)+1;
205 61         126 $ERRORS = 0;
206 61         191 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use"};
207              
208 61 50       193 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
209             Parse::RecDescent::_tracefirst($_[1]),
210             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
211             $tracelevel)
212             if defined $::RD_TRACE;
213              
214            
215 61         111 my $err_at = @{$thisparser->{errors}};
  61         171  
216              
217 61         199 my $score;
218             my $score_return;
219 61         0 my $_tok;
220 61         105 my $return = undef;
221 61         129 my $_matched=0;
222 61         97 my $commit=0;
223 61         124 my @item = ();
224 61         142 my %item = ();
225 61         204 my $repeating = $_[2];
226 61         150 my $_noactions = $_[3];
227 61 50       223 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         92  
  61         172  
228 61         132 my $_itempos = $_[5];
229 61 50       195 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
230 61         191 my $text;
231             my $lastsep;
232 61         0 my $current_match;
233 61         174 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::'});
234 61         483 $expectation->at($_[1]);
235            
236 61         251 my $thisline;
237 61         187 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
238              
239            
240              
241 61   33     536 while (!$_matched && !$commit)
242             {
243            
244 61 50       152 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::' module_runtime_use_fcn '(']},
245             Parse::RecDescent::_tracefirst($_[1]),
246             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
247             $tracelevel)
248             if defined $::RD_TRACE;
249 61         165 my $thisprod = $thisrule->{"prods"}[0];
250 61         138 $text = $_[1];
251 61         117 my $_savetext;
252 61         145 @item = (q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
253 61         140 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
254 61         110 my $repcount = 0;
255              
256              
257 61 50       171 Parse::RecDescent::_trace(q{Trying terminal: ['Module::Runtime::']},
258             Parse::RecDescent::_tracefirst($text),
259             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
260             $tracelevel)
261             if defined $::RD_TRACE;
262 61         213 undef $lastsep;
263 61         211 $expectation->is(q{})->at($text);
264            
265              
266 61 100 66     934 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AModule\:\:Runtime\:\:/)
  61 100       607  
267             {
268 45 50       204 $text = $lastsep . $text if defined $lastsep;
269            
270 45         179 $expectation->failed();
271 45 50       229 Parse::RecDescent::_trace(qq{<>},
272             Parse::RecDescent::_tracefirst($text))
273             if defined $::RD_TRACE;
274 45         124 last;
275             }
276 16         135 $current_match = substr($text, $-[0], $+[0] - $-[0]);
277 16         69 substr($text,0,length($current_match),q{});
278 16 50       45 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
279             . $current_match . q{])},
280             Parse::RecDescent::_tracefirst($text))
281             if defined $::RD_TRACE;
282 16         68 push @item, $item{__STRING1__}=$current_match;
283            
284              
285 16 50       58 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use_fcn]},
286             Parse::RecDescent::_tracefirst($text),
287             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
288             $tracelevel)
289             if defined $::RD_TRACE;
290 12     12   101 if (1) { no strict qw{refs};
  12         46  
  12         8160  
  16         28  
291 16         91 $expectation->is(q{module_runtime_use_fcn})->at($text);
292 16 50   16   205 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  16         42  
293             {
294            
295 0 0       0 Parse::RecDescent::_trace(q{<>},
296             Parse::RecDescent::_tracefirst($text),
297             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
298             $tracelevel)
299             if defined $::RD_TRACE;
300 0         0 $expectation->failed();
301 0         0 last;
302             }
303 16 50       66 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use_fcn]<< (return value: [}
304             . $_tok . q{]},
305              
306             Parse::RecDescent::_tracefirst($text),
307             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
308             $tracelevel)
309             if defined $::RD_TRACE;
310 16         48 $item{q{module_runtime_use_fcn}} = $_tok;
311 16         38 push @item, $_tok;
312            
313             }
314              
315 16 50       42 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
316             Parse::RecDescent::_tracefirst($text),
317             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
318             $tracelevel)
319             if defined $::RD_TRACE;
320 16         32 undef $lastsep;
321 16         50 $expectation->is(q{'('})->at($text);
322            
323              
324 16 50 33     209 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  16 50       143  
325             {
326 0 0       0 $text = $lastsep . $text if defined $lastsep;
327            
328 0         0 $expectation->failed();
329 0 0       0 Parse::RecDescent::_trace(qq{<>},
330             Parse::RecDescent::_tracefirst($text))
331             if defined $::RD_TRACE;
332 0         0 last;
333             }
334 16         97 $current_match = substr($text, $-[0], $+[0] - $-[0]);
335 16         1208 substr($text,0,length($current_match),q{});
336 16 50       56 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
337             . $current_match . q{])},
338             Parse::RecDescent::_tracefirst($text))
339             if defined $::RD_TRACE;
340 16         61 push @item, $item{__STRING2__}=$current_match;
341            
342              
343 16 50       41 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::' module_runtime_use_fcn '(']<<},
344             Parse::RecDescent::_tracefirst($text),
345             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
346             $tracelevel)
347             if defined $::RD_TRACE;
348              
349              
350              
351 16         27 $_matched = 1;
352 16         42 last;
353             }
354              
355              
356 61 100 66     311 unless ( $_matched || defined($score) )
357             {
358            
359              
360 45         111 $_[1] = $text; # NOT SURE THIS IS NEEDED
361 45 50       108 Parse::RecDescent::_trace(q{<>},
362             Parse::RecDescent::_tracefirst($_[1]),
363             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
364             $tracelevel)
365             if defined $::RD_TRACE;
366 45         263 return undef;
367             }
368 16 50 33     84 if (!defined($return) && defined($score))
369             {
370 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
371             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
372             $tracelevel)
373             if defined $::RD_TRACE;
374 0         0 $return = $score_return;
375             }
376 16         34 splice @{$thisparser->{errors}}, $err_at;
  16         49  
377 16 50       72 $return = $item[$#item] unless defined $return;
378 16 50       51 if (defined $::RD_TRACE)
379             {
380 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
381             $return . q{])}, "",
382             q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
383             $tracelevel);
384 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
385             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
386             Parse::RecDescent::_tracefirst($text),
387             , q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
388             $tracelevel)
389             }
390 16         40 $_[1] = $text;
391 16         109 return $return;
392             }
393              
394             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
395             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load
396             {
397 73     73   120 my $thisparser = $_[0];
398 12     12   120 use vars q{$tracelevel};
  12         29  
  12         4371  
399 73   50     169 local $tracelevel = ($tracelevel||0)+1;
400 73         116 $ERRORS = 0;
401 73         167 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_class_load"};
402              
403 73 50       150 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_class_load]},
404             Parse::RecDescent::_tracefirst($_[1]),
405             q{_alternation_1_of_production_1_of_rule_class_load},
406             $tracelevel)
407             if defined $::RD_TRACE;
408              
409            
410 73         100 my $err_at = @{$thisparser->{errors}};
  73         131  
411              
412 73         199 my $score;
413             my $score_return;
414 73         0 my $_tok;
415 73         107 my $return = undef;
416 73         99 my $_matched=0;
417 73         104 my $commit=0;
418 73         118 my @item = ();
419 73         110 my %item = ();
420 73         111 my $repeating = $_[2];
421 73         99 my $_noactions = $_[3];
422 73 50       164 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         115  
  73         134  
423 73         120 my $_itempos = $_[5];
424 73 50       184 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
425 73         168 my $text;
426             my $lastsep;
427 73         0 my $current_match;
428 73         185 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::', or /\\b/});
429 73         486 $expectation->at($_[1]);
430            
431 73         286 my $thisline;
432 73         212 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
433              
434            
435              
436 73   33     551 while (!$_matched && !$commit)
437             {
438            
439 73 50       147 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::']},
440             Parse::RecDescent::_tracefirst($_[1]),
441             q{_alternation_1_of_production_1_of_rule_class_load},
442             $tracelevel)
443             if defined $::RD_TRACE;
444 73         132 my $thisprod = $thisrule->{"prods"}[0];
445 73         115 $text = $_[1];
446 73         124 my $_savetext;
447 73         168 @item = (q{_alternation_1_of_production_1_of_rule_class_load});
448 73         151 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load});
449 73         113 my $repcount = 0;
450              
451              
452 73 50       141 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]},
453             Parse::RecDescent::_tracefirst($text),
454             q{_alternation_1_of_production_1_of_rule_class_load},
455             $tracelevel)
456             if defined $::RD_TRACE;
457 12     12   97 if (1) { no strict qw{refs};
  12         30  
  12         3701  
  73         113  
458 73         175 $expectation->is(q{})->at($text);
459 73 100   73   671 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         137  
460             {
461            
462 55 50       124 Parse::RecDescent::_trace(q{<>},
463             Parse::RecDescent::_tracefirst($text),
464             q{_alternation_1_of_production_1_of_rule_class_load},
465             $tracelevel)
466             if defined $::RD_TRACE;
467 55         145 $expectation->failed();
468 55         190 last;
469             }
470 18 50       57 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
471             . $_tok . q{]},
472              
473             Parse::RecDescent::_tracefirst($text),
474             q{_alternation_1_of_production_1_of_rule_class_load},
475             $tracelevel)
476             if defined $::RD_TRACE;
477 18         37 $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load}} = $_tok;
478 18         35 push @item, $_tok;
479            
480             }
481              
482 18 50       32 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::']<<},
483             Parse::RecDescent::_tracefirst($text),
484             q{_alternation_1_of_production_1_of_rule_class_load},
485             $tracelevel)
486             if defined $::RD_TRACE;
487              
488              
489              
490 18         28 $_matched = 1;
491 18         31 last;
492             }
493              
494              
495 73   66     346 while (!$_matched && !$commit)
496             {
497            
498 55 50       153 Parse::RecDescent::_trace(q{Trying production: [/\\b/]},
499             Parse::RecDescent::_tracefirst($_[1]),
500             q{_alternation_1_of_production_1_of_rule_class_load},
501             $tracelevel)
502             if defined $::RD_TRACE;
503 55         119 my $thisprod = $thisrule->{"prods"}[1];
504 55         94 $text = $_[1];
505 55         84 my $_savetext;
506 55         123 @item = (q{_alternation_1_of_production_1_of_rule_class_load});
507 55         120 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load});
508 55         86 my $repcount = 0;
509              
510              
511 55 50       103 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]},
512             Parse::RecDescent::_tracefirst($text),
513             q{_alternation_1_of_production_1_of_rule_class_load},
514             $tracelevel)
515             if defined $::RD_TRACE;
516 12     12   103 if (1) { no strict qw{refs};
  12         27  
  12         5738  
  55         82  
517 55         112 $expectation->is(q{})->at($text);
518 55 100   55   610 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         105  
519             {
520            
521 37 50       78 Parse::RecDescent::_trace(q{<>},
522             Parse::RecDescent::_tracefirst($text),
523             q{_alternation_1_of_production_1_of_rule_class_load},
524             $tracelevel)
525             if defined $::RD_TRACE;
526 37         149 $expectation->failed();
527 37         498 last;
528             }
529 18 50       64 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
530             . $_tok . q{]},
531              
532             Parse::RecDescent::_tracefirst($text),
533             q{_alternation_1_of_production_1_of_rule_class_load},
534             $tracelevel)
535             if defined $::RD_TRACE;
536 18         39 $item{q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load}} = $_tok;
537 18         40 push @item, $_tok;
538            
539             }
540              
541 18 50       35 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/]<<},
542             Parse::RecDescent::_tracefirst($text),
543             q{_alternation_1_of_production_1_of_rule_class_load},
544             $tracelevel)
545             if defined $::RD_TRACE;
546              
547              
548              
549 18         77 $_matched = 1;
550 18         26 last;
551             }
552              
553              
554 73 100 66     249 unless ( $_matched || defined($score) )
555             {
556            
557              
558 37         75 $_[1] = $text; # NOT SURE THIS IS NEEDED
559 37 50       73 Parse::RecDescent::_trace(q{<>},
560             Parse::RecDescent::_tracefirst($_[1]),
561             q{_alternation_1_of_production_1_of_rule_class_load},
562             $tracelevel)
563             if defined $::RD_TRACE;
564 37         186 return undef;
565             }
566 36 50 33     140 if (!defined($return) && defined($score))
567             {
568 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
569             q{_alternation_1_of_production_1_of_rule_class_load},
570             $tracelevel)
571             if defined $::RD_TRACE;
572 0         0 $return = $score_return;
573             }
574 36         54 splice @{$thisparser->{errors}}, $err_at;
  36         74  
575 36 50       78 $return = $item[$#item] unless defined $return;
576 36 50       72 if (defined $::RD_TRACE)
577             {
578 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
579             $return . q{])}, "",
580             q{_alternation_1_of_production_1_of_rule_class_load},
581             $tracelevel);
582 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
583             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
584             Parse::RecDescent::_tracefirst($text),
585             , q{_alternation_1_of_production_1_of_rule_class_load},
586             $tracelevel)
587             }
588 36         63 $_[1] = $text;
589 36         210 return $return;
590             }
591              
592             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
593             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_class_load_first_existing
594             {
595 37     37   67 my $thisparser = $_[0];
596 12     12   112 use vars q{$tracelevel};
  12         26  
  12         13040  
597 37   50     87 local $tracelevel = ($tracelevel||0)+1;
598 37         54 $ERRORS = 0;
599 37         87 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_class_load_first_existing"};
600              
601 37 50       76 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]},
602             Parse::RecDescent::_tracefirst($_[1]),
603             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
604             $tracelevel)
605             if defined $::RD_TRACE;
606              
607            
608 37         51 my $err_at = @{$thisparser->{errors}};
  37         63  
609              
610 37         124 my $score;
611             my $score_return;
612 37         0 my $_tok;
613 37         76 my $return = undef;
614 37         53 my $_matched=0;
615 37         51 my $commit=0;
616 37         61 my @item = ();
617 37         65 my %item = ();
618 37         55 my $repeating = $_[2];
619 37         52 my $_noactions = $_[3];
620 37 50       89 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         64  
  37         63  
621 37         71 my $_itempos = $_[5];
622 37 50       91 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
623 37         88 my $text;
624             my $lastsep;
625 37         0 my $current_match;
626 37         90 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::load_first_existing_class', or /\\bload_first_existing_class/});
627 37         245 $expectation->at($_[1]);
628            
629 37         145 my $thisline;
630 37         99 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
631              
632            
633              
634 37   33     273 while (!$_matched && !$commit)
635             {
636            
637 37 50       95 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::load_first_existing_class']},
638             Parse::RecDescent::_tracefirst($_[1]),
639             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
640             $tracelevel)
641             if defined $::RD_TRACE;
642 37         75 my $thisprod = $thisrule->{"prods"}[0];
643 37         64 $text = $_[1];
644 37         51 my $_savetext;
645 37         71 @item = (q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
646 37         71 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
647 37         50 my $repcount = 0;
648              
649              
650 37 50       70 Parse::RecDescent::_trace(q{Trying terminal: ['Class::Load::load_first_existing_class']},
651             Parse::RecDescent::_tracefirst($text),
652             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
653             $tracelevel)
654             if defined $::RD_TRACE;
655 37         62 undef $lastsep;
656 37         78 $expectation->is(q{})->at($text);
657            
658              
659 37 100 33     437 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AClass\:\:Load\:\:load_first_existing_class/)
  37 50       276  
660             {
661 37 50       103 $text = $lastsep . $text if defined $lastsep;
662            
663 37         167 $expectation->failed();
664 37 50       153 Parse::RecDescent::_trace(qq{<>},
665             Parse::RecDescent::_tracefirst($text))
666             if defined $::RD_TRACE;
667 37         76 last;
668             }
669 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
670 0         0 substr($text,0,length($current_match),q{});
671 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
672             . $current_match . q{])},
673             Parse::RecDescent::_tracefirst($text))
674             if defined $::RD_TRACE;
675 0         0 push @item, $item{__STRING1__}=$current_match;
676            
677              
678 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::load_first_existing_class']<<},
679             Parse::RecDescent::_tracefirst($text),
680             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
681             $tracelevel)
682             if defined $::RD_TRACE;
683              
684              
685              
686 0         0 $_matched = 1;
687 0         0 last;
688             }
689              
690              
691 37   33     148 while (!$_matched && !$commit)
692             {
693            
694 37 50       78 Parse::RecDescent::_trace(q{Trying production: [/\\bload_first_existing_class/]},
695             Parse::RecDescent::_tracefirst($_[1]),
696             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
697             $tracelevel)
698             if defined $::RD_TRACE;
699 37         90 my $thisprod = $thisrule->{"prods"}[1];
700 37         60 $text = $_[1];
701 37         55 my $_savetext;
702 37         79 @item = (q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
703 37         84 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_class_load_first_existing});
704 37         49 my $repcount = 0;
705              
706              
707 37 50       81 Parse::RecDescent::_trace(q{Trying terminal: [/\\bload_first_existing_class/]}, Parse::RecDescent::_tracefirst($text),
708             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
709             $tracelevel)
710             if defined $::RD_TRACE;
711 37         54 undef $lastsep;
712 37         85 $expectation->is(q{})->at($text);
713            
714              
715 37 100 66     358 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\bload_first_existing_class)/)
  37 100       254  
716             {
717 25 50       83 $text = $lastsep . $text if defined $lastsep;
718 25         77 $expectation->failed();
719 25 50       97 Parse::RecDescent::_trace(q{<>},
720             Parse::RecDescent::_tracefirst($text))
721             if defined $::RD_TRACE;
722              
723 25         47 last;
724             }
725 12         62 $current_match = substr($text, $-[0], $+[0] - $-[0]);
726 12         39 substr($text,0,length($current_match),q{});
727 12 50       25 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
728             . $current_match . q{])},
729             Parse::RecDescent::_tracefirst($text))
730             if defined $::RD_TRACE;
731 12         37 push @item, $item{__PATTERN1__}=$current_match;
732            
733              
734 12 50       24 Parse::RecDescent::_trace(q{>>Matched production: [/\\bload_first_existing_class/]<<},
735             Parse::RecDescent::_tracefirst($text),
736             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
737             $tracelevel)
738             if defined $::RD_TRACE;
739              
740              
741              
742 12         18 $_matched = 1;
743 12         23 last;
744             }
745              
746              
747 37 100 66     139 unless ( $_matched || defined($score) )
748             {
749            
750              
751 25         50 $_[1] = $text; # NOT SURE THIS IS NEEDED
752 25 50       61 Parse::RecDescent::_trace(q{<>},
753             Parse::RecDescent::_tracefirst($_[1]),
754             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
755             $tracelevel)
756             if defined $::RD_TRACE;
757 25         124 return undef;
758             }
759 12 50 33     42 if (!defined($return) && defined($score))
760             {
761 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
762             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
763             $tracelevel)
764             if defined $::RD_TRACE;
765 0         0 $return = $score_return;
766             }
767 12         15 splice @{$thisparser->{errors}}, $err_at;
  12         32  
768 12 50       29 $return = $item[$#item] unless defined $return;
769 12 50       26 if (defined $::RD_TRACE)
770             {
771 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
772             $return . q{])}, "",
773             q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
774             $tracelevel);
775 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
776             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
777             Parse::RecDescent::_tracefirst($text),
778             , q{_alternation_1_of_production_1_of_rule_class_load_first_existing},
779             $tracelevel)
780             }
781 12         23 $_[1] = $text;
782 12         67 return $return;
783             }
784              
785             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
786             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_comma
787             {
788 304     304   596 my $thisparser = $_[0];
789 12     12   119 use vars q{$tracelevel};
  12         29  
  12         13142  
790 304   50     746 local $tracelevel = ($tracelevel||0)+1;
791 304         449 $ERRORS = 0;
792 304         631 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_comma"};
793              
794 304 50       603 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_comma]},
795             Parse::RecDescent::_tracefirst($_[1]),
796             q{_alternation_1_of_production_1_of_rule_comma},
797             $tracelevel)
798             if defined $::RD_TRACE;
799              
800            
801 304         409 my $err_at = @{$thisparser->{errors}};
  304         500  
802              
803 304         741 my $score;
804             my $score_return;
805 304         0 my $_tok;
806 304         432 my $return = undef;
807 304         414 my $_matched=0;
808 304         428 my $commit=0;
809 304         491 my @item = ();
810 304         493 my %item = ();
811 304         458 my $repeating = $_[2];
812 304         496 my $_noactions = $_[3];
813 304 50       638 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  304         429  
  304         532  
814 304         540 my $_itempos = $_[5];
815 304 50       714 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
816 304         690 my $text;
817             my $lastsep;
818 304         0 my $current_match;
819 304         699 my $expectation = new Parse::RecDescent::Expectation(q{',', or '=>'});
820 304         1888 $expectation->at($_[1]);
821            
822 304         1290 my $thisline;
823 304         860 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
824              
825            
826              
827 304   33     2288 while (!$_matched && !$commit)
828             {
829            
830 304 50       610 Parse::RecDescent::_trace(q{Trying production: [',']},
831             Parse::RecDescent::_tracefirst($_[1]),
832             q{_alternation_1_of_production_1_of_rule_comma},
833             $tracelevel)
834             if defined $::RD_TRACE;
835 304         999 my $thisprod = $thisrule->{"prods"}[0];
836 304         492 $text = $_[1];
837 304         441 my $_savetext;
838 304         551 @item = (q{_alternation_1_of_production_1_of_rule_comma});
839 304         621 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_comma});
840 304         455 my $repcount = 0;
841              
842              
843 304 50       586 Parse::RecDescent::_trace(q{Trying terminal: [',']},
844             Parse::RecDescent::_tracefirst($text),
845             q{_alternation_1_of_production_1_of_rule_comma},
846             $tracelevel)
847             if defined $::RD_TRACE;
848 304         527 undef $lastsep;
849 304         640 $expectation->is(q{})->at($text);
850            
851              
852 304 100 66     3595 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  304 100       2318  
853             {
854 217 50       703 $text = $lastsep . $text if defined $lastsep;
855            
856 217         781 $expectation->failed();
857 217 50       942 Parse::RecDescent::_trace(qq{<>},
858             Parse::RecDescent::_tracefirst($text))
859             if defined $::RD_TRACE;
860 217         482 last;
861             }
862 87         423 $current_match = substr($text, $-[0], $+[0] - $-[0]);
863 87         259 substr($text,0,length($current_match),q{});
864 87 50       198 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
865             . $current_match . q{])},
866             Parse::RecDescent::_tracefirst($text))
867             if defined $::RD_TRACE;
868 87         230 push @item, $item{__STRING1__}=$current_match;
869            
870              
871 87 50       187 Parse::RecDescent::_trace(q{>>Matched production: [',']<<},
872             Parse::RecDescent::_tracefirst($text),
873             q{_alternation_1_of_production_1_of_rule_comma},
874             $tracelevel)
875             if defined $::RD_TRACE;
876              
877              
878              
879 87         134 $_matched = 1;
880 87         188 last;
881             }
882              
883              
884 304   66     973 while (!$_matched && !$commit)
885             {
886            
887 217 50       443 Parse::RecDescent::_trace(q{Trying production: ['=>']},
888             Parse::RecDescent::_tracefirst($_[1]),
889             q{_alternation_1_of_production_1_of_rule_comma},
890             $tracelevel)
891             if defined $::RD_TRACE;
892 217         415 my $thisprod = $thisrule->{"prods"}[1];
893 217         356 $text = $_[1];
894 217         339 my $_savetext;
895 217         500 @item = (q{_alternation_1_of_production_1_of_rule_comma});
896 217         503 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_comma});
897 217         331 my $repcount = 0;
898              
899              
900 217 50       470 Parse::RecDescent::_trace(q{Trying terminal: ['=>']},
901             Parse::RecDescent::_tracefirst($text),
902             q{_alternation_1_of_production_1_of_rule_comma},
903             $tracelevel)
904             if defined $::RD_TRACE;
905 217         356 undef $lastsep;
906 217         504 $expectation->is(q{})->at($text);
907            
908              
909 217 100 66     2175 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\=\>/)
  217 100       1405  
910             {
911 171 50       532 $text = $lastsep . $text if defined $lastsep;
912            
913 171         490 $expectation->failed();
914 171 50       654 Parse::RecDescent::_trace(qq{<>},
915             Parse::RecDescent::_tracefirst($text))
916             if defined $::RD_TRACE;
917 171         308 last;
918             }
919 46         239 $current_match = substr($text, $-[0], $+[0] - $-[0]);
920 46         160 substr($text,0,length($current_match),q{});
921 46 50       128 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
922             . $current_match . q{])},
923             Parse::RecDescent::_tracefirst($text))
924             if defined $::RD_TRACE;
925 46         167 push @item, $item{__STRING1__}=$current_match;
926            
927              
928 46 50       109 Parse::RecDescent::_trace(q{>>Matched production: ['=>']<<},
929             Parse::RecDescent::_tracefirst($text),
930             q{_alternation_1_of_production_1_of_rule_comma},
931             $tracelevel)
932             if defined $::RD_TRACE;
933              
934              
935              
936 46         69 $_matched = 1;
937 46         90 last;
938             }
939              
940              
941 304 100 66     896 unless ( $_matched || defined($score) )
942             {
943            
944              
945 171         293 $_[1] = $text; # NOT SURE THIS IS NEEDED
946 171 50       351 Parse::RecDescent::_trace(q{<>},
947             Parse::RecDescent::_tracefirst($_[1]),
948             q{_alternation_1_of_production_1_of_rule_comma},
949             $tracelevel)
950             if defined $::RD_TRACE;
951 171         957 return undef;
952             }
953 133 50 33     466 if (!defined($return) && defined($score))
954             {
955 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
956             q{_alternation_1_of_production_1_of_rule_comma},
957             $tracelevel)
958             if defined $::RD_TRACE;
959 0         0 $return = $score_return;
960             }
961 133         191 splice @{$thisparser->{errors}}, $err_at;
  133         303  
962 133 50       391 $return = $item[$#item] unless defined $return;
963 133 50       327 if (defined $::RD_TRACE)
964             {
965 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
966             $return . q{])}, "",
967             q{_alternation_1_of_production_1_of_rule_comma},
968             $tracelevel);
969 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
970             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
971             Parse::RecDescent::_tracefirst($text),
972             , q{_alternation_1_of_production_1_of_rule_comma},
973             $tracelevel)
974             }
975 133         273 $_[1] = $text;
976 133         779 return $return;
977             }
978              
979             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
980             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_hash_pair
981             {
982 30     30   63 my $thisparser = $_[0];
983 12     12   140 use vars q{$tracelevel};
  12         32  
  12         12514  
984 30   50     98 local $tracelevel = ($tracelevel||0)+1;
985 30         55 $ERRORS = 0;
986 30         64 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_hash_pair"};
987              
988 30 50       55 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_hash_pair]},
989             Parse::RecDescent::_tracefirst($_[1]),
990             q{_alternation_1_of_production_1_of_rule_hash_pair},
991             $tracelevel)
992             if defined $::RD_TRACE;
993              
994            
995 30         49 my $err_at = @{$thisparser->{errors}};
  30         46  
996              
997 30         120 my $score;
998             my $score_return;
999 30         0 my $_tok;
1000 30         49 my $return = undef;
1001 30         48 my $_matched=0;
1002 30         37 my $commit=0;
1003 30         979 my @item = ();
1004 30         48 my %item = ();
1005 30         42 my $repeating = $_[2];
1006 30         43 my $_noactions = $_[3];
1007 30 50       59 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         40  
  30         48  
1008 30         49 my $_itempos = $_[5];
1009 30 50       64 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1010 30         100 my $text;
1011             my $lastsep;
1012 30         0 my $current_match;
1013 30         72 my $expectation = new Parse::RecDescent::Expectation(q{/[^\\s,\}]+/});
1014 30         190 $expectation->at($_[1]);
1015            
1016 30         132 my $thisline;
1017 30         90 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1018              
1019            
1020              
1021 30   33     237 while (!$_matched && !$commit)
1022             {
1023            
1024 30 50       66 Parse::RecDescent::_trace(q{Trying production: []},
1025             Parse::RecDescent::_tracefirst($_[1]),
1026             q{_alternation_1_of_production_1_of_rule_hash_pair},
1027             $tracelevel)
1028             if defined $::RD_TRACE;
1029 30         61 my $thisprod = $thisrule->{"prods"}[0];
1030 30         55 $text = $_[1];
1031 30         41 my $_savetext;
1032 30         71 @item = (q{_alternation_1_of_production_1_of_rule_hash_pair});
1033 30         61 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_hash_pair});
1034 30         46 my $repcount = 0;
1035              
1036              
1037            
1038              
1039 30 50       53 Parse::RecDescent::_trace(q{Trying directive: []},
1040             Parse::RecDescent::_tracefirst($text),
1041             q{_alternation_1_of_production_1_of_rule_hash_pair},
1042             $tracelevel)
1043             if defined $::RD_TRACE;
1044 30         43 $_tok = do { my ($match,@res);
  30         48  
1045 30         82 ($match,$text,undef,@res) =
1046             Text::Balanced::extract_quotelike($text,$skip);
1047 30 100       1763 $match ? \@res : undef;
1048             };
1049 30 100       64 if (defined($_tok))
1050             {
1051 3 50       8 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1052             . $_tok . q{])},
1053             Parse::RecDescent::_tracefirst($text))
1054             if defined $::RD_TRACE;
1055             }
1056             else
1057             {
1058 27 50       63 Parse::RecDescent::_trace(q{<>},
1059             Parse::RecDescent::_tracefirst($text))
1060             if defined $::RD_TRACE;
1061             }
1062            
1063 30 100       114 last unless defined $_tok;
1064 3         7 push @item, $item{__DIRECTIVE1__}=$_tok;
1065            
1066              
1067 3 50       8 Parse::RecDescent::_trace(q{>>Matched production: []<<},
1068             Parse::RecDescent::_tracefirst($text),
1069             q{_alternation_1_of_production_1_of_rule_hash_pair},
1070             $tracelevel)
1071             if defined $::RD_TRACE;
1072              
1073              
1074              
1075 3         4 $_matched = 1;
1076 3         7 last;
1077             }
1078              
1079              
1080 30   66     99 while (!$_matched && !$commit)
1081             {
1082            
1083 27 50       53 Parse::RecDescent::_trace(q{Trying production: [/[^\\s,\}]+/]},
1084             Parse::RecDescent::_tracefirst($_[1]),
1085             q{_alternation_1_of_production_1_of_rule_hash_pair},
1086             $tracelevel)
1087             if defined $::RD_TRACE;
1088 27         58 my $thisprod = $thisrule->{"prods"}[1];
1089 27         46 $text = $_[1];
1090 27         40 my $_savetext;
1091 27         53 @item = (q{_alternation_1_of_production_1_of_rule_hash_pair});
1092 27         64 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_hash_pair});
1093 27         54 my $repcount = 0;
1094              
1095              
1096 27 50       54 Parse::RecDescent::_trace(q{Trying terminal: [/[^\\s,\}]+/]}, Parse::RecDescent::_tracefirst($text),
1097             q{_alternation_1_of_production_1_of_rule_hash_pair},
1098             $tracelevel)
1099             if defined $::RD_TRACE;
1100 27         52 undef $lastsep;
1101 27         63 $expectation->is(q{})->at($text);
1102            
1103              
1104 27 50 33     299 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^\s,}]+)/)
  27 50       231  
1105             {
1106 0 0       0 $text = $lastsep . $text if defined $lastsep;
1107 0         0 $expectation->failed();
1108 0 0       0 Parse::RecDescent::_trace(q{<>},
1109             Parse::RecDescent::_tracefirst($text))
1110             if defined $::RD_TRACE;
1111              
1112 0         0 last;
1113             }
1114 27         122 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1115 27         77 substr($text,0,length($current_match),q{});
1116 27 50       54 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1117             . $current_match . q{])},
1118             Parse::RecDescent::_tracefirst($text))
1119             if defined $::RD_TRACE;
1120 27         65 push @item, $item{__PATTERN1__}=$current_match;
1121            
1122              
1123 27 50       53 Parse::RecDescent::_trace(q{>>Matched production: [/[^\\s,\}]+/]<<},
1124             Parse::RecDescent::_tracefirst($text),
1125             q{_alternation_1_of_production_1_of_rule_hash_pair},
1126             $tracelevel)
1127             if defined $::RD_TRACE;
1128              
1129              
1130              
1131 27         42 $_matched = 1;
1132 27         58 last;
1133             }
1134              
1135              
1136 30 50 33     70 unless ( $_matched || defined($score) )
1137             {
1138            
1139              
1140 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1141 0 0       0 Parse::RecDescent::_trace(q{<>},
1142             Parse::RecDescent::_tracefirst($_[1]),
1143             q{_alternation_1_of_production_1_of_rule_hash_pair},
1144             $tracelevel)
1145             if defined $::RD_TRACE;
1146 0         0 return undef;
1147             }
1148 30 50 33     111 if (!defined($return) && defined($score))
1149             {
1150 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1151             q{_alternation_1_of_production_1_of_rule_hash_pair},
1152             $tracelevel)
1153             if defined $::RD_TRACE;
1154 0         0 $return = $score_return;
1155             }
1156 30         42 splice @{$thisparser->{errors}}, $err_at;
  30         95  
1157 30 50       83 $return = $item[$#item] unless defined $return;
1158 30 50       63 if (defined $::RD_TRACE)
1159             {
1160 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1161             $return . q{])}, "",
1162             q{_alternation_1_of_production_1_of_rule_hash_pair},
1163             $tracelevel);
1164 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1165             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1166             Parse::RecDescent::_tracefirst($text),
1167             , q{_alternation_1_of_production_1_of_rule_hash_pair},
1168             $tracelevel)
1169             }
1170 30         53 $_[1] = $text;
1171 30         166 return $return;
1172             }
1173              
1174             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1175             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_require_module
1176             {
1177 69     69   222 my $thisparser = $_[0];
1178 12     12   108 use vars q{$tracelevel};
  12         47  
  12         13628  
1179 69   50     242 local $tracelevel = ($tracelevel||0)+1;
1180 69         170 $ERRORS = 0;
1181 69         174 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_require_module"};
1182              
1183 69 50       243 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]},
1184             Parse::RecDescent::_tracefirst($_[1]),
1185             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1186             $tracelevel)
1187             if defined $::RD_TRACE;
1188              
1189            
1190 69         116 my $err_at = @{$thisparser->{errors}};
  69         249  
1191              
1192 69         249 my $score;
1193             my $score_return;
1194 69         0 my $_tok;
1195 69         126 my $return = undef;
1196 69         116 my $_matched=0;
1197 69         119 my $commit=0;
1198 69         144 my @item = ();
1199 69         128 my %item = ();
1200 69         137 my $repeating = $_[2];
1201 69         115 my $_noactions = $_[3];
1202 69 50       192 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         115  
  69         157  
1203 69         160 my $_itempos = $_[5];
1204 69 50       228 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1205 69         198 my $text;
1206             my $lastsep;
1207 69         0 my $current_match;
1208 69         199 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::require_module(', or /\\brequire_module\\(/});
1209 69         540 $expectation->at($_[1]);
1210            
1211 69         273 my $thisline;
1212 69         279 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1213              
1214            
1215              
1216 69   33     610 while (!$_matched && !$commit)
1217             {
1218            
1219 69 50       191 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::require_module(']},
1220             Parse::RecDescent::_tracefirst($_[1]),
1221             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1222             $tracelevel)
1223             if defined $::RD_TRACE;
1224 69         175 my $thisprod = $thisrule->{"prods"}[0];
1225 69         128 $text = $_[1];
1226 69         131 my $_savetext;
1227 69         160 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1228 69         178 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1229 69         112 my $repcount = 0;
1230              
1231              
1232 69 50       189 Parse::RecDescent::_trace(q{Trying terminal: ['Module::Runtime::require_module(']},
1233             Parse::RecDescent::_tracefirst($text),
1234             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1235             $tracelevel)
1236             if defined $::RD_TRACE;
1237 69         149 undef $lastsep;
1238 69         206 $expectation->is(q{})->at($text);
1239            
1240              
1241 69 100 66     1005 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AModule\:\:Runtime\:\:require_module\(/)
  69 100       724  
1242             {
1243 65 50       276 $text = $lastsep . $text if defined $lastsep;
1244            
1245 65         243 $expectation->failed();
1246 65 50       396 Parse::RecDescent::_trace(qq{<>},
1247             Parse::RecDescent::_tracefirst($text))
1248             if defined $::RD_TRACE;
1249 65         183 last;
1250             }
1251 4         26 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1252 4         15 substr($text,0,length($current_match),q{});
1253 4 50       12 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1254             . $current_match . q{])},
1255             Parse::RecDescent::_tracefirst($text))
1256             if defined $::RD_TRACE;
1257 4         10 push @item, $item{__STRING1__}=$current_match;
1258            
1259              
1260 4 50       9 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::require_module(']<<},
1261             Parse::RecDescent::_tracefirst($text),
1262             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1263             $tracelevel)
1264             if defined $::RD_TRACE;
1265              
1266              
1267              
1268 4         9 $_matched = 1;
1269 4         9 last;
1270             }
1271              
1272              
1273 69   66     407 while (!$_matched && !$commit)
1274             {
1275            
1276 65 50       227 Parse::RecDescent::_trace(q{Trying production: [/\\brequire_module\\(/]},
1277             Parse::RecDescent::_tracefirst($_[1]),
1278             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1279             $tracelevel)
1280             if defined $::RD_TRACE;
1281 65         148 my $thisprod = $thisrule->{"prods"}[1];
1282 65         159 $text = $_[1];
1283 65         107 my $_savetext;
1284 65         192 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1285 65         223 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_require_module});
1286 65         131 my $repcount = 0;
1287              
1288              
1289 65 50       277 Parse::RecDescent::_trace(q{Trying terminal: [/\\brequire_module\\(/]}, Parse::RecDescent::_tracefirst($text),
1290             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1291             $tracelevel)
1292             if defined $::RD_TRACE;
1293 65         116 undef $lastsep;
1294 65         163 $expectation->is(q{})->at($text);
1295            
1296              
1297 65 100 66     707 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\brequire_module\()/)
  65 100       532  
1298             {
1299 61 50       249 $text = $lastsep . $text if defined $lastsep;
1300 61         289 $expectation->failed();
1301 61 50       284 Parse::RecDescent::_trace(q{<>},
1302             Parse::RecDescent::_tracefirst($text))
1303             if defined $::RD_TRACE;
1304              
1305 61         142 last;
1306             }
1307 4         38 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1308 4         17 substr($text,0,length($current_match),q{});
1309 4 50       12 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1310             . $current_match . q{])},
1311             Parse::RecDescent::_tracefirst($text))
1312             if defined $::RD_TRACE;
1313 4         12 push @item, $item{__PATTERN1__}=$current_match;
1314            
1315              
1316 4 50       10 Parse::RecDescent::_trace(q{>>Matched production: [/\\brequire_module\\(/]<<},
1317             Parse::RecDescent::_tracefirst($text),
1318             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1319             $tracelevel)
1320             if defined $::RD_TRACE;
1321              
1322              
1323              
1324 4         7 $_matched = 1;
1325 4         8 last;
1326             }
1327              
1328              
1329 69 100 66     377 unless ( $_matched || defined($score) )
1330             {
1331            
1332              
1333 61         172 $_[1] = $text; # NOT SURE THIS IS NEEDED
1334 61 50       177 Parse::RecDescent::_trace(q{<>},
1335             Parse::RecDescent::_tracefirst($_[1]),
1336             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1337             $tracelevel)
1338             if defined $::RD_TRACE;
1339 61         501 return undef;
1340             }
1341 8 50 33     32 if (!defined($return) && defined($score))
1342             {
1343 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1344             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1345             $tracelevel)
1346             if defined $::RD_TRACE;
1347 0         0 $return = $score_return;
1348             }
1349 8         14 splice @{$thisparser->{errors}}, $err_at;
  8         20  
1350 8 50       21 $return = $item[$#item] unless defined $return;
1351 8 50       21 if (defined $::RD_TRACE)
1352             {
1353 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1354             $return . q{])}, "",
1355             q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1356             $tracelevel);
1357 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1358             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1359             Parse::RecDescent::_tracefirst($text),
1360             , q{_alternation_1_of_production_1_of_rule_module_runtime_require_module},
1361             $tracelevel)
1362             }
1363 8         16 $_[1] = $text;
1364 8         68 return $return;
1365             }
1366              
1367             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1368             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use
1369             {
1370 61     61   149 my $thisparser = $_[0];
1371 12     12   110 use vars q{$tracelevel};
  12         37  
  12         4358  
1372 61   50     198 local $tracelevel = ($tracelevel||0)+1;
1373 61         134 $ERRORS = 0;
1374 61         201 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_use"};
1375              
1376 61 50       165 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_use]},
1377             Parse::RecDescent::_tracefirst($_[1]),
1378             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1379             $tracelevel)
1380             if defined $::RD_TRACE;
1381              
1382            
1383 61         130 my $err_at = @{$thisparser->{errors}};
  61         149  
1384              
1385 61         191 my $score;
1386             my $score_return;
1387 61         0 my $_tok;
1388 61         110 my $return = undef;
1389 61         92 my $_matched=0;
1390 61         103 my $commit=0;
1391 61         117 my @item = ();
1392 61         123 my %item = ();
1393 61         126 my $repeating = $_[2];
1394 61         114 my $_noactions = $_[3];
1395 61 50       190 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         122  
  61         114  
1396 61         134 my $_itempos = $_[5];
1397 61 50       238 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1398 61         202 my $text;
1399             my $lastsep;
1400 61         0 my $current_match;
1401 61         251 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::', or /\\b/});
1402 61         439 $expectation->at($_[1]);
1403            
1404 61         234 my $thisline;
1405 61         229 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1406              
1407            
1408              
1409 61   33     530 while (!$_matched && !$commit)
1410             {
1411            
1412 61 50       238 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::']},
1413             Parse::RecDescent::_tracefirst($_[1]),
1414             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1415             $tracelevel)
1416             if defined $::RD_TRACE;
1417 61         170 my $thisprod = $thisrule->{"prods"}[0];
1418 61         120 $text = $_[1];
1419 61         92 my $_savetext;
1420 61         172 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1421 61         131 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1422 61         107 my $repcount = 0;
1423              
1424              
1425 61 50       147 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
1426             Parse::RecDescent::_tracefirst($text),
1427             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1428             $tracelevel)
1429             if defined $::RD_TRACE;
1430 12     12   106 if (1) { no strict qw{refs};
  12         293  
  12         3897  
  61         103  
1431 61         147 $expectation->is(q{})->at($text);
1432 61 100   61   793 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         178  
1433             {
1434            
1435 45 50       114 Parse::RecDescent::_trace(q{<>},
1436             Parse::RecDescent::_tracefirst($text),
1437             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1438             $tracelevel)
1439             if defined $::RD_TRACE;
1440 45         167 $expectation->failed();
1441 45         169 last;
1442             }
1443 16 50       63 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: [}
1444             . $_tok . q{]},
1445              
1446             Parse::RecDescent::_tracefirst($text),
1447             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1448             $tracelevel)
1449             if defined $::RD_TRACE;
1450 16         60 $item{q{_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
1451 16         43 push @item, $_tok;
1452            
1453             }
1454              
1455 16 50       45 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::']<<},
1456             Parse::RecDescent::_tracefirst($text),
1457             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1458             $tracelevel)
1459             if defined $::RD_TRACE;
1460              
1461              
1462              
1463 16         24 $_matched = 1;
1464 16         38 last;
1465             }
1466              
1467              
1468 61   66     353 while (!$_matched && !$commit)
1469             {
1470            
1471 45 50       156 Parse::RecDescent::_trace(q{Trying production: [/\\b/]},
1472             Parse::RecDescent::_tracefirst($_[1]),
1473             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1474             $tracelevel)
1475             if defined $::RD_TRACE;
1476 45         101 my $thisprod = $thisrule->{"prods"}[1];
1477 45         105 $text = $_[1];
1478 45         70 my $_savetext;
1479 45         148 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1480 45         139 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use});
1481 45         145 my $repcount = 0;
1482              
1483              
1484 45 50       123 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
1485             Parse::RecDescent::_tracefirst($text),
1486             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1487             $tracelevel)
1488             if defined $::RD_TRACE;
1489 12     12   116 if (1) { no strict qw{refs};
  12         53  
  12         6038  
  45         98  
1490 45         140 $expectation->is(q{})->at($text);
1491 45 100   45   570 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         120  
1492             {
1493            
1494 17 50       56 Parse::RecDescent::_trace(q{<>},
1495             Parse::RecDescent::_tracefirst($text),
1496             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1497             $tracelevel)
1498             if defined $::RD_TRACE;
1499 17         57 $expectation->failed();
1500 17         63 last;
1501             }
1502 28 50       123 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: [}
1503             . $_tok . q{]},
1504              
1505             Parse::RecDescent::_tracefirst($text),
1506             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1507             $tracelevel)
1508             if defined $::RD_TRACE;
1509 28         81 $item{q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
1510 28         82 push @item, $_tok;
1511            
1512             }
1513              
1514 28 50       80 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/]<<},
1515             Parse::RecDescent::_tracefirst($text),
1516             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1517             $tracelevel)
1518             if defined $::RD_TRACE;
1519              
1520              
1521              
1522 28         60 $_matched = 1;
1523 28         54 last;
1524             }
1525              
1526              
1527 61 100 66     251 unless ( $_matched || defined($score) )
1528             {
1529            
1530              
1531 17         44 $_[1] = $text; # NOT SURE THIS IS NEEDED
1532 17 50       40 Parse::RecDescent::_trace(q{<>},
1533             Parse::RecDescent::_tracefirst($_[1]),
1534             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1535             $tracelevel)
1536             if defined $::RD_TRACE;
1537 17         98 return undef;
1538             }
1539 44 50 33     216 if (!defined($return) && defined($score))
1540             {
1541 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1542             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1543             $tracelevel)
1544             if defined $::RD_TRACE;
1545 0         0 $return = $score_return;
1546             }
1547 44         97 splice @{$thisparser->{errors}}, $err_at;
  44         136  
1548 44 50       153 $return = $item[$#item] unless defined $return;
1549 44 50       120 if (defined $::RD_TRACE)
1550             {
1551 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1552             $return . q{])}, "",
1553             q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1554             $tracelevel);
1555 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1556             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1557             Parse::RecDescent::_tracefirst($text),
1558             , q{_alternation_1_of_production_1_of_rule_module_runtime_use},
1559             $tracelevel)
1560             }
1561 44         86 $_[1] = $text;
1562 44         328 return $return;
1563             }
1564              
1565             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1566             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_module_runtime_use_fcn
1567             {
1568 61     61   147 my $thisparser = $_[0];
1569 12     12   102 use vars q{$tracelevel};
  12         26  
  12         13316  
1570 61   50     205 local $tracelevel = ($tracelevel||0)+1;
1571 61         155 $ERRORS = 0;
1572 61         165 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_module_runtime_use_fcn"};
1573              
1574 61 50       149 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]},
1575             Parse::RecDescent::_tracefirst($_[1]),
1576             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1577             $tracelevel)
1578             if defined $::RD_TRACE;
1579              
1580            
1581 61         98 my $err_at = @{$thisparser->{errors}};
  61         138  
1582              
1583 61         186 my $score;
1584             my $score_return;
1585 61         0 my $_tok;
1586 61         113 my $return = undef;
1587 61         106 my $_matched=0;
1588 61         111 my $commit=0;
1589 61         106 my @item = ();
1590 61         98 my %item = ();
1591 61         93 my $repeating = $_[2];
1592 61         111 my $_noactions = $_[3];
1593 61 50       130 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         107  
  61         108  
1594 61         140 my $_itempos = $_[5];
1595 61 50       218 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1596 61         172 my $text;
1597             my $lastsep;
1598 61         0 my $current_match;
1599 61         145 my $expectation = new Parse::RecDescent::Expectation(q{'use_module', or 'use_package_optimistically'});
1600 61         502 $expectation->at($_[1]);
1601            
1602 61         244 my $thisline;
1603 61         191 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1604              
1605            
1606              
1607 61   33     643 while (!$_matched && !$commit)
1608             {
1609            
1610 61 50       152 Parse::RecDescent::_trace(q{Trying production: ['use_module']},
1611             Parse::RecDescent::_tracefirst($_[1]),
1612             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1613             $tracelevel)
1614             if defined $::RD_TRACE;
1615 61         140 my $thisprod = $thisrule->{"prods"}[0];
1616 61         115 $text = $_[1];
1617 61         98 my $_savetext;
1618 61         158 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1619 61         158 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1620 61         108 my $repcount = 0;
1621              
1622              
1623 61 50       164 Parse::RecDescent::_trace(q{Trying terminal: ['use_module']},
1624             Parse::RecDescent::_tracefirst($text),
1625             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1626             $tracelevel)
1627             if defined $::RD_TRACE;
1628 61         120 undef $lastsep;
1629 61         167 $expectation->is(q{})->at($text);
1630            
1631              
1632 61 50 66     770 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Ause_module/)
  61 100       622  
1633             {
1634 33 50       128 $text = $lastsep . $text if defined $lastsep;
1635            
1636 33         239 $expectation->failed();
1637 33 50       161 Parse::RecDescent::_trace(qq{<>},
1638             Parse::RecDescent::_tracefirst($text))
1639             if defined $::RD_TRACE;
1640 33         82 last;
1641             }
1642 28         154 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1643 28         96 substr($text,0,length($current_match),q{});
1644 28 50       91 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1645             . $current_match . q{])},
1646             Parse::RecDescent::_tracefirst($text))
1647             if defined $::RD_TRACE;
1648 28         142 push @item, $item{__STRING1__}=$current_match;
1649            
1650              
1651 28 50       74 Parse::RecDescent::_trace(q{>>Matched production: ['use_module']<<},
1652             Parse::RecDescent::_tracefirst($text),
1653             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1654             $tracelevel)
1655             if defined $::RD_TRACE;
1656              
1657              
1658              
1659 28         63 $_matched = 1;
1660 28         64 last;
1661             }
1662              
1663              
1664 61   66     278 while (!$_matched && !$commit)
1665             {
1666            
1667 33 50       84 Parse::RecDescent::_trace(q{Trying production: ['use_package_optimistically']},
1668             Parse::RecDescent::_tracefirst($_[1]),
1669             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1670             $tracelevel)
1671             if defined $::RD_TRACE;
1672 33         105 my $thisprod = $thisrule->{"prods"}[1];
1673 33         66 $text = $_[1];
1674 33         53 my $_savetext;
1675 33         80 @item = (q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1676 33         99 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn});
1677 33         68 my $repcount = 0;
1678              
1679              
1680 33 50       87 Parse::RecDescent::_trace(q{Trying terminal: ['use_package_optimistically']},
1681             Parse::RecDescent::_tracefirst($text),
1682             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1683             $tracelevel)
1684             if defined $::RD_TRACE;
1685 33         73 undef $lastsep;
1686 33         90 $expectation->is(q{})->at($text);
1687            
1688              
1689 33 50 66     380 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Ause_package_optimistically/)
  33 100       276  
1690             {
1691 17 50       75 $text = $lastsep . $text if defined $lastsep;
1692            
1693 17         67 $expectation->failed();
1694 17 50       127 Parse::RecDescent::_trace(qq{<>},
1695             Parse::RecDescent::_tracefirst($text))
1696             if defined $::RD_TRACE;
1697 17         37 last;
1698             }
1699 16         85 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1700 16         59 substr($text,0,length($current_match),q{});
1701 16 50       54 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1702             . $current_match . q{])},
1703             Parse::RecDescent::_tracefirst($text))
1704             if defined $::RD_TRACE;
1705 16         59 push @item, $item{__STRING1__}=$current_match;
1706            
1707              
1708 16 50       42 Parse::RecDescent::_trace(q{>>Matched production: ['use_package_optimistically']<<},
1709             Parse::RecDescent::_tracefirst($text),
1710             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1711             $tracelevel)
1712             if defined $::RD_TRACE;
1713              
1714              
1715              
1716 16         31 $_matched = 1;
1717 16         31 last;
1718             }
1719              
1720              
1721 61 100 66     241 unless ( $_matched || defined($score) )
1722             {
1723            
1724              
1725 17         35 $_[1] = $text; # NOT SURE THIS IS NEEDED
1726 17 50       45 Parse::RecDescent::_trace(q{<>},
1727             Parse::RecDescent::_tracefirst($_[1]),
1728             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1729             $tracelevel)
1730             if defined $::RD_TRACE;
1731 17         107 return undef;
1732             }
1733 44 50 33     202 if (!defined($return) && defined($score))
1734             {
1735 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1736             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1737             $tracelevel)
1738             if defined $::RD_TRACE;
1739 0         0 $return = $score_return;
1740             }
1741 44         92 splice @{$thisparser->{errors}}, $err_at;
  44         242  
1742 44 50       173 $return = $item[$#item] unless defined $return;
1743 44 50       141 if (defined $::RD_TRACE)
1744             {
1745 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1746             $return . q{])}, "",
1747             q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1748             $tracelevel);
1749 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1750             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1751             Parse::RecDescent::_tracefirst($text),
1752             , q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn},
1753             $tracelevel)
1754             }
1755 44         115 $_[1] = $text;
1756 44         306 return $return;
1757             }
1758              
1759             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1760             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_no_stuff
1761             {
1762 21     21   39 my $thisparser = $_[0];
1763 12     12   110 use vars q{$tracelevel};
  12         29  
  12         4390  
1764 21   50     54 local $tracelevel = ($tracelevel||0)+1;
1765 21         32 $ERRORS = 0;
1766 21         39 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_no_stuff"};
1767              
1768 21 50       41 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_no_stuff]},
1769             Parse::RecDescent::_tracefirst($_[1]),
1770             q{_alternation_1_of_production_1_of_rule_no_stuff},
1771             $tracelevel)
1772             if defined $::RD_TRACE;
1773              
1774            
1775 21         29 my $err_at = @{$thisparser->{errors}};
  21         38  
1776              
1777 21         54 my $score;
1778             my $score_return;
1779 21         0 my $_tok;
1780 21         26 my $return = undef;
1781 21         35 my $_matched=0;
1782 21         25 my $commit=0;
1783 21         37 my @item = ();
1784 21         34 my %item = ();
1785 21         35 my $repeating = $_[2];
1786 21         30 my $_noactions = $_[3];
1787 21 50       39 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         32  
  21         35  
1788 21         33 my $_itempos = $_[5];
1789 21 50       47 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1790 21         51 my $text;
1791             my $lastsep;
1792 21         0 my $current_match;
1793 21         58 my $expectation = new Parse::RecDescent::Expectation(q{base, or version, or module});
1794 21         133 $expectation->at($_[1]);
1795            
1796 21         81 my $thisline;
1797 21         63 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1798              
1799            
1800              
1801 21   33     151 while (!$_matched && !$commit)
1802             {
1803            
1804 21 50       43 Parse::RecDescent::_trace(q{Trying production: [base]},
1805             Parse::RecDescent::_tracefirst($_[1]),
1806             q{_alternation_1_of_production_1_of_rule_no_stuff},
1807             $tracelevel)
1808             if defined $::RD_TRACE;
1809 21         38 my $thisprod = $thisrule->{"prods"}[0];
1810 21         40 $text = $_[1];
1811 21         28 my $_savetext;
1812 21         36 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1813 21         38 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1814 21         34 my $repcount = 0;
1815              
1816              
1817 21 50       43 Parse::RecDescent::_trace(q{Trying subrule: [base]},
1818             Parse::RecDescent::_tracefirst($text),
1819             q{_alternation_1_of_production_1_of_rule_no_stuff},
1820             $tracelevel)
1821             if defined $::RD_TRACE;
1822 12     12   95 if (1) { no strict qw{refs};
  12         35  
  12         3758  
  21         30  
1823 21         48 $expectation->is(q{})->at($text);
1824 21 100   21   197 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::base($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  21         42  
1825             {
1826            
1827 18 50       48 Parse::RecDescent::_trace(q{<>},
1828             Parse::RecDescent::_tracefirst($text),
1829             q{_alternation_1_of_production_1_of_rule_no_stuff},
1830             $tracelevel)
1831             if defined $::RD_TRACE;
1832 18         47 $expectation->failed();
1833 18         64 last;
1834             }
1835 3 50       13 Parse::RecDescent::_trace(q{>>Matched subrule: [base]<< (return value: [}
1836             . $_tok . q{]},
1837              
1838             Parse::RecDescent::_tracefirst($text),
1839             q{_alternation_1_of_production_1_of_rule_no_stuff},
1840             $tracelevel)
1841             if defined $::RD_TRACE;
1842 3         7 $item{q{base}} = $_tok;
1843 3         5 push @item, $_tok;
1844            
1845             }
1846              
1847 3 50       8 Parse::RecDescent::_trace(q{>>Matched production: [base]<<},
1848             Parse::RecDescent::_tracefirst($text),
1849             q{_alternation_1_of_production_1_of_rule_no_stuff},
1850             $tracelevel)
1851             if defined $::RD_TRACE;
1852              
1853              
1854              
1855 3         6 $_matched = 1;
1856 3         5 last;
1857             }
1858              
1859              
1860 21   66     96 while (!$_matched && !$commit)
1861             {
1862            
1863 18 50       39 Parse::RecDescent::_trace(q{Trying production: [version]},
1864             Parse::RecDescent::_tracefirst($_[1]),
1865             q{_alternation_1_of_production_1_of_rule_no_stuff},
1866             $tracelevel)
1867             if defined $::RD_TRACE;
1868 18         30 my $thisprod = $thisrule->{"prods"}[1];
1869 18         34 $text = $_[1];
1870 18         22 my $_savetext;
1871 18         39 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1872 18         42 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1873 18         29 my $repcount = 0;
1874              
1875              
1876 18 50       35 Parse::RecDescent::_trace(q{Trying subrule: [version]},
1877             Parse::RecDescent::_tracefirst($text),
1878             q{_alternation_1_of_production_1_of_rule_no_stuff},
1879             $tracelevel)
1880             if defined $::RD_TRACE;
1881 12     12   99 if (1) { no strict qw{refs};
  12         29  
  12         3541  
  18         25  
1882 18         43 $expectation->is(q{})->at($text);
1883 18 50   18   167 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         35  
1884             {
1885            
1886 18 50       40 Parse::RecDescent::_trace(q{<>},
1887             Parse::RecDescent::_tracefirst($text),
1888             q{_alternation_1_of_production_1_of_rule_no_stuff},
1889             $tracelevel)
1890             if defined $::RD_TRACE;
1891 18         52 $expectation->failed();
1892 18         63 last;
1893             }
1894 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
1895             . $_tok . q{]},
1896              
1897             Parse::RecDescent::_tracefirst($text),
1898             q{_alternation_1_of_production_1_of_rule_no_stuff},
1899             $tracelevel)
1900             if defined $::RD_TRACE;
1901 0         0 $item{q{version}} = $_tok;
1902 0         0 push @item, $_tok;
1903            
1904             }
1905              
1906 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
1907             Parse::RecDescent::_tracefirst($text),
1908             q{_alternation_1_of_production_1_of_rule_no_stuff},
1909             $tracelevel)
1910             if defined $::RD_TRACE;
1911              
1912              
1913              
1914 0         0 $_matched = 1;
1915 0         0 last;
1916             }
1917              
1918              
1919 21   66     93 while (!$_matched && !$commit)
1920             {
1921            
1922 18 50       46 Parse::RecDescent::_trace(q{Trying production: [module]},
1923             Parse::RecDescent::_tracefirst($_[1]),
1924             q{_alternation_1_of_production_1_of_rule_no_stuff},
1925             $tracelevel)
1926             if defined $::RD_TRACE;
1927 18         30 my $thisprod = $thisrule->{"prods"}[2];
1928 18         33 $text = $_[1];
1929 18         25 my $_savetext;
1930 18         41 @item = (q{_alternation_1_of_production_1_of_rule_no_stuff});
1931 18         39 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_no_stuff});
1932 18         27 my $repcount = 0;
1933              
1934              
1935 18 50       32 Parse::RecDescent::_trace(q{Trying subrule: [module]},
1936             Parse::RecDescent::_tracefirst($text),
1937             q{_alternation_1_of_production_1_of_rule_no_stuff},
1938             $tracelevel)
1939             if defined $::RD_TRACE;
1940 12     12   109 if (1) { no strict qw{refs};
  12         28  
  12         5935  
  18         24  
1941 18         39 $expectation->is(q{})->at($text);
1942 18 50   18   167 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         33  
1943             {
1944            
1945 0 0       0 Parse::RecDescent::_trace(q{<>},
1946             Parse::RecDescent::_tracefirst($text),
1947             q{_alternation_1_of_production_1_of_rule_no_stuff},
1948             $tracelevel)
1949             if defined $::RD_TRACE;
1950 0         0 $expectation->failed();
1951 0         0 last;
1952             }
1953 18 50       56 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
1954             . $_tok . q{]},
1955              
1956             Parse::RecDescent::_tracefirst($text),
1957             q{_alternation_1_of_production_1_of_rule_no_stuff},
1958             $tracelevel)
1959             if defined $::RD_TRACE;
1960 18         36 $item{q{module}} = $_tok;
1961 18         30 push @item, $_tok;
1962            
1963             }
1964              
1965 18 50       34 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
1966             Parse::RecDescent::_tracefirst($text),
1967             q{_alternation_1_of_production_1_of_rule_no_stuff},
1968             $tracelevel)
1969             if defined $::RD_TRACE;
1970              
1971              
1972              
1973 18         27 $_matched = 1;
1974 18         28 last;
1975             }
1976              
1977              
1978 21 50 33     47 unless ( $_matched || defined($score) )
1979             {
1980            
1981              
1982 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1983 0 0       0 Parse::RecDescent::_trace(q{<>},
1984             Parse::RecDescent::_tracefirst($_[1]),
1985             q{_alternation_1_of_production_1_of_rule_no_stuff},
1986             $tracelevel)
1987             if defined $::RD_TRACE;
1988 0         0 return undef;
1989             }
1990 21 50 33     82 if (!defined($return) && defined($score))
1991             {
1992 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1993             q{_alternation_1_of_production_1_of_rule_no_stuff},
1994             $tracelevel)
1995             if defined $::RD_TRACE;
1996 0         0 $return = $score_return;
1997             }
1998 21         35 splice @{$thisparser->{errors}}, $err_at;
  21         42  
1999 21 50       46 $return = $item[$#item] unless defined $return;
2000 21 50       40 if (defined $::RD_TRACE)
2001             {
2002 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2003             $return . q{])}, "",
2004             q{_alternation_1_of_production_1_of_rule_no_stuff},
2005             $tracelevel);
2006 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2007             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2008             Parse::RecDescent::_tracefirst($text),
2009             , q{_alternation_1_of_production_1_of_rule_no_stuff},
2010             $tracelevel)
2011             }
2012 21         35 $_[1] = $text;
2013 21         103 return $return;
2014             }
2015              
2016             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2017             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_require_stuff
2018             {
2019 27     27   60 my $thisparser = $_[0];
2020 12     12   104 use vars q{$tracelevel};
  12         29  
  12         4365  
2021 27   50     87 local $tracelevel = ($tracelevel||0)+1;
2022 27         46 $ERRORS = 0;
2023 27         71 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_require_stuff"};
2024              
2025 27 50       67 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_require_stuff]},
2026             Parse::RecDescent::_tracefirst($_[1]),
2027             q{_alternation_1_of_production_1_of_rule_require_stuff},
2028             $tracelevel)
2029             if defined $::RD_TRACE;
2030              
2031            
2032 27         43 my $err_at = @{$thisparser->{errors}};
  27         57  
2033              
2034 27         75 my $score;
2035             my $score_return;
2036 27         0 my $_tok;
2037 27         44 my $return = undef;
2038 27         44 my $_matched=0;
2039 27         46 my $commit=0;
2040 27         45 my @item = ();
2041 27         50 my %item = ();
2042 27         46 my $repeating = $_[2];
2043 27         45 my $_noactions = $_[3];
2044 27 50       71 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         43  
  27         55  
2045 27         50 my $_itempos = $_[5];
2046 27 50       80 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2047 27         71 my $text;
2048             my $lastsep;
2049 27         0 my $current_match;
2050 27         81 my $expectation = new Parse::RecDescent::Expectation(q{version, or require_name, or module});
2051 27         199 $expectation->at($_[1]);
2052            
2053 27         113 my $thisline;
2054 27         94 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2055              
2056            
2057              
2058 27   33     240 while (!$_matched && !$commit)
2059             {
2060            
2061 27 50       151 Parse::RecDescent::_trace(q{Trying production: [version]},
2062             Parse::RecDescent::_tracefirst($_[1]),
2063             q{_alternation_1_of_production_1_of_rule_require_stuff},
2064             $tracelevel)
2065             if defined $::RD_TRACE;
2066 27         63 my $thisprod = $thisrule->{"prods"}[0];
2067 27         55 $text = $_[1];
2068 27         40 my $_savetext;
2069 27         59 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2070 27         62 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2071 27         44 my $repcount = 0;
2072              
2073              
2074 27 50       62 Parse::RecDescent::_trace(q{Trying subrule: [version]},
2075             Parse::RecDescent::_tracefirst($text),
2076             q{_alternation_1_of_production_1_of_rule_require_stuff},
2077             $tracelevel)
2078             if defined $::RD_TRACE;
2079 12     12   109 if (1) { no strict qw{refs};
  12         41  
  12         3808  
  27         37  
2080 27         80 $expectation->is(q{})->at($text);
2081 27 50   27   283 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         59  
2082             {
2083            
2084 27 50       64 Parse::RecDescent::_trace(q{<>},
2085             Parse::RecDescent::_tracefirst($text),
2086             q{_alternation_1_of_production_1_of_rule_require_stuff},
2087             $tracelevel)
2088             if defined $::RD_TRACE;
2089 27         81 $expectation->failed();
2090 27         103 last;
2091             }
2092 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
2093             . $_tok . q{]},
2094              
2095             Parse::RecDescent::_tracefirst($text),
2096             q{_alternation_1_of_production_1_of_rule_require_stuff},
2097             $tracelevel)
2098             if defined $::RD_TRACE;
2099 0         0 $item{q{version}} = $_tok;
2100 0         0 push @item, $_tok;
2101            
2102             }
2103              
2104 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
2105             Parse::RecDescent::_tracefirst($text),
2106             q{_alternation_1_of_production_1_of_rule_require_stuff},
2107             $tracelevel)
2108             if defined $::RD_TRACE;
2109              
2110              
2111              
2112 0         0 $_matched = 1;
2113 0         0 last;
2114             }
2115              
2116              
2117 27   33     183 while (!$_matched && !$commit)
2118             {
2119            
2120 27 50       71 Parse::RecDescent::_trace(q{Trying production: [require_name]},
2121             Parse::RecDescent::_tracefirst($_[1]),
2122             q{_alternation_1_of_production_1_of_rule_require_stuff},
2123             $tracelevel)
2124             if defined $::RD_TRACE;
2125 27         56 my $thisprod = $thisrule->{"prods"}[1];
2126 27         51 $text = $_[1];
2127 27         41 my $_savetext;
2128 27         67 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2129 27         64 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2130 27         52 my $repcount = 0;
2131              
2132              
2133 27 50       92 Parse::RecDescent::_trace(q{Trying subrule: [require_name]},
2134             Parse::RecDescent::_tracefirst($text),
2135             q{_alternation_1_of_production_1_of_rule_require_stuff},
2136             $tracelevel)
2137             if defined $::RD_TRACE;
2138 12     12   125 if (1) { no strict qw{refs};
  12         29  
  12         3529  
  27         43  
2139 27         80 $expectation->is(q{})->at($text);
2140 27 100   27   290 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::require_name($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         68  
2141             {
2142            
2143 18 50       50 Parse::RecDescent::_trace(q{<>},
2144             Parse::RecDescent::_tracefirst($text),
2145             q{_alternation_1_of_production_1_of_rule_require_stuff},
2146             $tracelevel)
2147             if defined $::RD_TRACE;
2148 18         63 $expectation->failed();
2149 18         76 last;
2150             }
2151 9 50       35 Parse::RecDescent::_trace(q{>>Matched subrule: [require_name]<< (return value: [}
2152             . $_tok . q{]},
2153              
2154             Parse::RecDescent::_tracefirst($text),
2155             q{_alternation_1_of_production_1_of_rule_require_stuff},
2156             $tracelevel)
2157             if defined $::RD_TRACE;
2158 9         22 $item{q{require_name}} = $_tok;
2159 9         16 push @item, $_tok;
2160            
2161             }
2162              
2163 9 50       18 Parse::RecDescent::_trace(q{>>Matched production: [require_name]<<},
2164             Parse::RecDescent::_tracefirst($text),
2165             q{_alternation_1_of_production_1_of_rule_require_stuff},
2166             $tracelevel)
2167             if defined $::RD_TRACE;
2168              
2169              
2170              
2171 9         13 $_matched = 1;
2172 9         16 last;
2173             }
2174              
2175              
2176 27   66     141 while (!$_matched && !$commit)
2177             {
2178            
2179 18 50       58 Parse::RecDescent::_trace(q{Trying production: [module]},
2180             Parse::RecDescent::_tracefirst($_[1]),
2181             q{_alternation_1_of_production_1_of_rule_require_stuff},
2182             $tracelevel)
2183             if defined $::RD_TRACE;
2184 18         63 my $thisprod = $thisrule->{"prods"}[2];
2185 18         39 $text = $_[1];
2186 18         29 my $_savetext;
2187 18         52 @item = (q{_alternation_1_of_production_1_of_rule_require_stuff});
2188 18         52 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_require_stuff});
2189 18         35 my $repcount = 0;
2190              
2191              
2192 18 50       47 Parse::RecDescent::_trace(q{Trying subrule: [module]},
2193             Parse::RecDescent::_tracefirst($text),
2194             q{_alternation_1_of_production_1_of_rule_require_stuff},
2195             $tracelevel)
2196             if defined $::RD_TRACE;
2197 12     12   99 if (1) { no strict qw{refs};
  12         29  
  12         5832  
  18         34  
2198 18         52 $expectation->is(q{})->at($text);
2199 18 50   18   211 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  18         44  
2200             {
2201            
2202 0 0       0 Parse::RecDescent::_trace(q{<>},
2203             Parse::RecDescent::_tracefirst($text),
2204             q{_alternation_1_of_production_1_of_rule_require_stuff},
2205             $tracelevel)
2206             if defined $::RD_TRACE;
2207 0         0 $expectation->failed();
2208 0         0 last;
2209             }
2210 18 50       70 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
2211             . $_tok . q{]},
2212              
2213             Parse::RecDescent::_tracefirst($text),
2214             q{_alternation_1_of_production_1_of_rule_require_stuff},
2215             $tracelevel)
2216             if defined $::RD_TRACE;
2217 18         44 $item{q{module}} = $_tok;
2218 18         39 push @item, $_tok;
2219            
2220             }
2221              
2222 18 50       42 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
2223             Parse::RecDescent::_tracefirst($text),
2224             q{_alternation_1_of_production_1_of_rule_require_stuff},
2225             $tracelevel)
2226             if defined $::RD_TRACE;
2227              
2228              
2229              
2230 18         32 $_matched = 1;
2231 18         33 last;
2232             }
2233              
2234              
2235 27 50 33     129 unless ( $_matched || defined($score) )
2236             {
2237            
2238              
2239 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2240 0 0       0 Parse::RecDescent::_trace(q{<>},
2241             Parse::RecDescent::_tracefirst($_[1]),
2242             q{_alternation_1_of_production_1_of_rule_require_stuff},
2243             $tracelevel)
2244             if defined $::RD_TRACE;
2245 0         0 return undef;
2246             }
2247 27 50 33     125 if (!defined($return) && defined($score))
2248             {
2249 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2250             q{_alternation_1_of_production_1_of_rule_require_stuff},
2251             $tracelevel)
2252             if defined $::RD_TRACE;
2253 0         0 $return = $score_return;
2254             }
2255 27         46 splice @{$thisparser->{errors}}, $err_at;
  27         61  
2256 27 50       72 $return = $item[$#item] unless defined $return;
2257 27 50       63 if (defined $::RD_TRACE)
2258             {
2259 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2260             $return . q{])}, "",
2261             q{_alternation_1_of_production_1_of_rule_require_stuff},
2262             $tracelevel);
2263 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2264             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2265             Parse::RecDescent::_tracefirst($text),
2266             , q{_alternation_1_of_production_1_of_rule_require_stuff},
2267             $tracelevel)
2268             }
2269 27         59 $_[1] = $text;
2270 27         164 return $return;
2271             }
2272              
2273             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2274             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_use_stuff
2275             {
2276 217     217   476 my $thisparser = $_[0];
2277 12     12   118 use vars q{$tracelevel};
  12         26  
  12         4565  
2278 217   50     611 local $tracelevel = ($tracelevel||0)+1;
2279 217         366 $ERRORS = 0;
2280 217         464 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_use_stuff"};
2281              
2282 217 50       540 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_use_stuff]},
2283             Parse::RecDescent::_tracefirst($_[1]),
2284             q{_alternation_1_of_production_1_of_rule_use_stuff},
2285             $tracelevel)
2286             if defined $::RD_TRACE;
2287              
2288            
2289 217         338 my $err_at = @{$thisparser->{errors}};
  217         476  
2290              
2291 217         607 my $score;
2292             my $score_return;
2293 217         0 my $_tok;
2294 217         361 my $return = undef;
2295 217         315 my $_matched=0;
2296 217         314 my $commit=0;
2297 217         374 my @item = ();
2298 217         365 my %item = ();
2299 217         334 my $repeating = $_[2];
2300 217         334 my $_noactions = $_[3];
2301 217 50       524 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  217         360  
  217         451  
2302 217         396 my $_itempos = $_[5];
2303 217 50       578 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2304 217         588 my $text;
2305             my $lastsep;
2306 217         0 my $current_match;
2307 217         554 my $expectation = new Parse::RecDescent::Expectation(q{base, or parent, or version, or module});
2308 217         1467 $expectation->at($_[1]);
2309            
2310 217         917 my $thisline;
2311 217         680 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2312              
2313            
2314              
2315 217   33     1773 while (!$_matched && !$commit)
2316             {
2317            
2318 217 50       554 Parse::RecDescent::_trace(q{Trying production: [base]},
2319             Parse::RecDescent::_tracefirst($_[1]),
2320             q{_alternation_1_of_production_1_of_rule_use_stuff},
2321             $tracelevel)
2322             if defined $::RD_TRACE;
2323 217         427 my $thisprod = $thisrule->{"prods"}[0];
2324 217         425 $text = $_[1];
2325 217         354 my $_savetext;
2326 217         465 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2327 217         486 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2328 217         366 my $repcount = 0;
2329              
2330              
2331 217 50       493 Parse::RecDescent::_trace(q{Trying subrule: [base]},
2332             Parse::RecDescent::_tracefirst($text),
2333             q{_alternation_1_of_production_1_of_rule_use_stuff},
2334             $tracelevel)
2335             if defined $::RD_TRACE;
2336 12     12   115 if (1) { no strict qw{refs};
  12         29  
  12         3532  
  217         334  
2337 217         543 $expectation->is(q{})->at($text);
2338 217 100   217   2172 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::base($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  217         412  
2339             {
2340            
2341 192 50       435 Parse::RecDescent::_trace(q{<>},
2342             Parse::RecDescent::_tracefirst($text),
2343             q{_alternation_1_of_production_1_of_rule_use_stuff},
2344             $tracelevel)
2345             if defined $::RD_TRACE;
2346 192         561 $expectation->failed();
2347 192         773 last;
2348             }
2349 25 50       93 Parse::RecDescent::_trace(q{>>Matched subrule: [base]<< (return value: [}
2350             . $_tok . q{]},
2351              
2352             Parse::RecDescent::_tracefirst($text),
2353             q{_alternation_1_of_production_1_of_rule_use_stuff},
2354             $tracelevel)
2355             if defined $::RD_TRACE;
2356 25         54 $item{q{base}} = $_tok;
2357 25         52 push @item, $_tok;
2358            
2359             }
2360              
2361 25 50       56 Parse::RecDescent::_trace(q{>>Matched production: [base]<<},
2362             Parse::RecDescent::_tracefirst($text),
2363             q{_alternation_1_of_production_1_of_rule_use_stuff},
2364             $tracelevel)
2365             if defined $::RD_TRACE;
2366              
2367              
2368              
2369 25         40 $_matched = 1;
2370 25         65 last;
2371             }
2372              
2373              
2374 217   66     1203 while (!$_matched && !$commit)
2375             {
2376            
2377 192 50       461 Parse::RecDescent::_trace(q{Trying production: [parent]},
2378             Parse::RecDescent::_tracefirst($_[1]),
2379             q{_alternation_1_of_production_1_of_rule_use_stuff},
2380             $tracelevel)
2381             if defined $::RD_TRACE;
2382 192         385 my $thisprod = $thisrule->{"prods"}[1];
2383 192         373 $text = $_[1];
2384 192         300 my $_savetext;
2385 192         504 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2386 192         505 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2387 192         340 my $repcount = 0;
2388              
2389              
2390 192 50       394 Parse::RecDescent::_trace(q{Trying subrule: [parent]},
2391             Parse::RecDescent::_tracefirst($text),
2392             q{_alternation_1_of_production_1_of_rule_use_stuff},
2393             $tracelevel)
2394             if defined $::RD_TRACE;
2395 12     12   100 if (1) { no strict qw{refs};
  12         31  
  12         3488  
  192         342  
2396 192         533 $expectation->is(q{})->at($text);
2397 192 100   192   2019 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::parent($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  192         397  
2398             {
2399            
2400 156 50       372 Parse::RecDescent::_trace(q{<>},
2401             Parse::RecDescent::_tracefirst($text),
2402             q{_alternation_1_of_production_1_of_rule_use_stuff},
2403             $tracelevel)
2404             if defined $::RD_TRACE;
2405 156         456 $expectation->failed();
2406 156         576 last;
2407             }
2408 36 50       110 Parse::RecDescent::_trace(q{>>Matched subrule: [parent]<< (return value: [}
2409             . $_tok . q{]},
2410              
2411             Parse::RecDescent::_tracefirst($text),
2412             q{_alternation_1_of_production_1_of_rule_use_stuff},
2413             $tracelevel)
2414             if defined $::RD_TRACE;
2415 36         82 $item{q{parent}} = $_tok;
2416 36         66 push @item, $_tok;
2417            
2418             }
2419              
2420 36 50       71 Parse::RecDescent::_trace(q{>>Matched production: [parent]<<},
2421             Parse::RecDescent::_tracefirst($text),
2422             q{_alternation_1_of_production_1_of_rule_use_stuff},
2423             $tracelevel)
2424             if defined $::RD_TRACE;
2425              
2426              
2427              
2428 36         53 $_matched = 1;
2429 36         60 last;
2430             }
2431              
2432              
2433 217   66     977 while (!$_matched && !$commit)
2434             {
2435            
2436 156 50       379 Parse::RecDescent::_trace(q{Trying production: [version]},
2437             Parse::RecDescent::_tracefirst($_[1]),
2438             q{_alternation_1_of_production_1_of_rule_use_stuff},
2439             $tracelevel)
2440             if defined $::RD_TRACE;
2441 156         358 my $thisprod = $thisrule->{"prods"}[2];
2442 156         285 $text = $_[1];
2443 156         237 my $_savetext;
2444 156         365 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2445 156         387 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2446 156         274 my $repcount = 0;
2447              
2448              
2449 156 50       368 Parse::RecDescent::_trace(q{Trying subrule: [version]},
2450             Parse::RecDescent::_tracefirst($text),
2451             q{_alternation_1_of_production_1_of_rule_use_stuff},
2452             $tracelevel)
2453             if defined $::RD_TRACE;
2454 12     12   98 if (1) { no strict qw{refs};
  12         25  
  12         3608  
  156         233  
2455 156         381 $expectation->is(q{})->at($text);
2456 156 100   156   1617 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  156         319  
2457             {
2458            
2459 150 50       411 Parse::RecDescent::_trace(q{<>},
2460             Parse::RecDescent::_tracefirst($text),
2461             q{_alternation_1_of_production_1_of_rule_use_stuff},
2462             $tracelevel)
2463             if defined $::RD_TRACE;
2464 150         435 $expectation->failed();
2465 150         523 last;
2466             }
2467 6 50       32 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
2468             . $_tok . q{]},
2469              
2470             Parse::RecDescent::_tracefirst($text),
2471             q{_alternation_1_of_production_1_of_rule_use_stuff},
2472             $tracelevel)
2473             if defined $::RD_TRACE;
2474 6         24 $item{q{version}} = $_tok;
2475 6         17 push @item, $_tok;
2476            
2477             }
2478              
2479 6 50       17 Parse::RecDescent::_trace(q{>>Matched production: [version]<<},
2480             Parse::RecDescent::_tracefirst($text),
2481             q{_alternation_1_of_production_1_of_rule_use_stuff},
2482             $tracelevel)
2483             if defined $::RD_TRACE;
2484              
2485              
2486              
2487 6         12 $_matched = 1;
2488 6         14 last;
2489             }
2490              
2491              
2492 217   66     918 while (!$_matched && !$commit)
2493             {
2494            
2495 150 50       374 Parse::RecDescent::_trace(q{Trying production: [module]},
2496             Parse::RecDescent::_tracefirst($_[1]),
2497             q{_alternation_1_of_production_1_of_rule_use_stuff},
2498             $tracelevel)
2499             if defined $::RD_TRACE;
2500 150         305 my $thisprod = $thisrule->{"prods"}[3];
2501 150         268 $text = $_[1];
2502 150         215 my $_savetext;
2503 150         343 @item = (q{_alternation_1_of_production_1_of_rule_use_stuff});
2504 150         371 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_use_stuff});
2505 150         251 my $repcount = 0;
2506              
2507              
2508 150 50       319 Parse::RecDescent::_trace(q{Trying subrule: [module]},
2509             Parse::RecDescent::_tracefirst($text),
2510             q{_alternation_1_of_production_1_of_rule_use_stuff},
2511             $tracelevel)
2512             if defined $::RD_TRACE;
2513 12     12   100 if (1) { no strict qw{refs};
  12         34  
  12         6148  
  150         257  
2514 150         445 $expectation->is(q{})->at($text);
2515 150 50   150   1605 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  150         305  
2516             {
2517            
2518 0 0       0 Parse::RecDescent::_trace(q{<>},
2519             Parse::RecDescent::_tracefirst($text),
2520             q{_alternation_1_of_production_1_of_rule_use_stuff},
2521             $tracelevel)
2522             if defined $::RD_TRACE;
2523 0         0 $expectation->failed();
2524 0         0 last;
2525             }
2526 150 50       696 Parse::RecDescent::_trace(q{>>Matched subrule: [module]<< (return value: [}
2527             . $_tok . q{]},
2528              
2529             Parse::RecDescent::_tracefirst($text),
2530             q{_alternation_1_of_production_1_of_rule_use_stuff},
2531             $tracelevel)
2532             if defined $::RD_TRACE;
2533 150         354 $item{q{module}} = $_tok;
2534 150         290 push @item, $_tok;
2535            
2536             }
2537              
2538 150 50       323 Parse::RecDescent::_trace(q{>>Matched production: [module]<<},
2539             Parse::RecDescent::_tracefirst($text),
2540             q{_alternation_1_of_production_1_of_rule_use_stuff},
2541             $tracelevel)
2542             if defined $::RD_TRACE;
2543              
2544              
2545              
2546 150         229 $_matched = 1;
2547 150         265 last;
2548             }
2549              
2550              
2551 217 50 33     555 unless ( $_matched || defined($score) )
2552             {
2553            
2554              
2555 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2556 0 0       0 Parse::RecDescent::_trace(q{<>},
2557             Parse::RecDescent::_tracefirst($_[1]),
2558             q{_alternation_1_of_production_1_of_rule_use_stuff},
2559             $tracelevel)
2560             if defined $::RD_TRACE;
2561 0         0 return undef;
2562             }
2563 217 50 33     850 if (!defined($return) && defined($score))
2564             {
2565 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2566             q{_alternation_1_of_production_1_of_rule_use_stuff},
2567             $tracelevel)
2568             if defined $::RD_TRACE;
2569 0         0 $return = $score_return;
2570             }
2571 217         332 splice @{$thisparser->{errors}}, $err_at;
  217         446  
2572 217 50       611 $return = $item[$#item] unless defined $return;
2573 217 50       462 if (defined $::RD_TRACE)
2574             {
2575 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2576             $return . q{])}, "",
2577             q{_alternation_1_of_production_1_of_rule_use_stuff},
2578             $tracelevel);
2579 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2580             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2581             Parse::RecDescent::_tracefirst($text),
2582             , q{_alternation_1_of_production_1_of_rule_use_stuff},
2583             $tracelevel)
2584             }
2585 217         416 $_[1] = $text;
2586 217         1220 return $return;
2587             }
2588              
2589             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2590             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load
2591             {
2592 55     55   90 my $thisparser = $_[0];
2593 12     12   97 use vars q{$tracelevel};
  12         33  
  12         6349  
2594 55   50     154 local $tracelevel = ($tracelevel||0)+1;
2595 55         84 $ERRORS = 0;
2596 55         121 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load"};
2597              
2598 55 50       111 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load]},
2599             Parse::RecDescent::_tracefirst($_[1]),
2600             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2601             $tracelevel)
2602             if defined $::RD_TRACE;
2603              
2604            
2605 55         79 my $err_at = @{$thisparser->{errors}};
  55         109  
2606              
2607 55         132 my $score;
2608             my $score_return;
2609 55         0 my $_tok;
2610 55         105 my $return = undef;
2611 55         78 my $_matched=0;
2612 55         89 my $commit=0;
2613 55         92 my @item = ();
2614 55         86 my %item = ();
2615 55         93 my $repeating = $_[2];
2616 55         78 my $_noactions = $_[3];
2617 55 50       114 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  55         124  
  55         84  
2618 55         86 my $_itempos = $_[5];
2619 55 50       128 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2620 55         145 my $text;
2621             my $lastsep;
2622 55         0 my $current_match;
2623 55         141 my $expectation = new Parse::RecDescent::Expectation(q{/\\b/});
2624 55         353 $expectation->at($_[1]);
2625            
2626 55         213 my $thisline;
2627 55         167 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2628              
2629            
2630              
2631 55   33     423 while (!$_matched && !$commit)
2632             {
2633            
2634 55 50       114 Parse::RecDescent::_trace(q{Trying production: [/\\b/ class_load_functions]},
2635             Parse::RecDescent::_tracefirst($_[1]),
2636             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2637             $tracelevel)
2638             if defined $::RD_TRACE;
2639 55         102 my $thisprod = $thisrule->{"prods"}[0];
2640 55         98 $text = $_[1];
2641 55         71 my $_savetext;
2642 55         101 @item = (q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load});
2643 55         137 %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load});
2644 55         90 my $repcount = 0;
2645              
2646              
2647 55 50       113 Parse::RecDescent::_trace(q{Trying terminal: [/\\b/]}, Parse::RecDescent::_tracefirst($text),
2648             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2649             $tracelevel)
2650             if defined $::RD_TRACE;
2651 55         132 undef $lastsep;
2652 55         120 $expectation->is(q{})->at($text);
2653            
2654              
2655 55 100 66     596 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\b)/)
  55 100       454  
2656             {
2657 1 50       13 $text = $lastsep . $text if defined $lastsep;
2658 1         6 $expectation->failed();
2659 1 50       6 Parse::RecDescent::_trace(q{<>},
2660             Parse::RecDescent::_tracefirst($text))
2661             if defined $::RD_TRACE;
2662              
2663 1         4 last;
2664             }
2665 54         309 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2666 54         182 substr($text,0,length($current_match),q{});
2667 54 50       113 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2668             . $current_match . q{])},
2669             Parse::RecDescent::_tracefirst($text))
2670             if defined $::RD_TRACE;
2671 54         154 push @item, $item{__PATTERN1__}=$current_match;
2672            
2673              
2674 54 50       129 Parse::RecDescent::_trace(q{Trying subrule: [class_load_functions]},
2675             Parse::RecDescent::_tracefirst($text),
2676             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2677             $tracelevel)
2678             if defined $::RD_TRACE;
2679 12     12   133 if (1) { no strict qw{refs};
  12         31  
  12         6084  
  54         70  
2680 54         147 $expectation->is(q{class_load_functions})->at($text);
2681 54 100   54   558 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  54         102  
2682             {
2683            
2684 36 50       108 Parse::RecDescent::_trace(q{<>},
2685             Parse::RecDescent::_tracefirst($text),
2686             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2687             $tracelevel)
2688             if defined $::RD_TRACE;
2689 36         98 $expectation->failed();
2690 36         337 last;
2691             }
2692 18 50       74 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_functions]<< (return value: [}
2693             . $_tok . q{]},
2694              
2695             Parse::RecDescent::_tracefirst($text),
2696             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2697             $tracelevel)
2698             if defined $::RD_TRACE;
2699 18         38 $item{q{class_load_functions}} = $_tok;
2700 18         27 push @item, $_tok;
2701            
2702             }
2703              
2704 18 50       42 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/ class_load_functions]<<},
2705             Parse::RecDescent::_tracefirst($text),
2706             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2707             $tracelevel)
2708             if defined $::RD_TRACE;
2709              
2710              
2711              
2712 18         34 $_matched = 1;
2713 18         30 last;
2714             }
2715              
2716              
2717 55 100 66     271 unless ( $_matched || defined($score) )
2718             {
2719            
2720              
2721 37         77 $_[1] = $text; # NOT SURE THIS IS NEEDED
2722 37 50       82 Parse::RecDescent::_trace(q{<>},
2723             Parse::RecDescent::_tracefirst($_[1]),
2724             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2725             $tracelevel)
2726             if defined $::RD_TRACE;
2727 37         182 return undef;
2728             }
2729 18 50 33     76 if (!defined($return) && defined($score))
2730             {
2731 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2732             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2733             $tracelevel)
2734             if defined $::RD_TRACE;
2735 0         0 $return = $score_return;
2736             }
2737 18         24 splice @{$thisparser->{errors}}, $err_at;
  18         43  
2738 18 50       41 $return = $item[$#item] unless defined $return;
2739 18 50       41 if (defined $::RD_TRACE)
2740             {
2741 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2742             $return . q{])}, "",
2743             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2744             $tracelevel);
2745 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2746             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2747             Parse::RecDescent::_tracefirst($text),
2748             , q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load},
2749             $tracelevel)
2750             }
2751 18         32 $_[1] = $text;
2752 18         96 return $return;
2753             }
2754              
2755             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2756             sub Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use
2757             {
2758 45     45   94 my $thisparser = $_[0];
2759 12     12   99 use vars q{$tracelevel};
  12         25  
  12         6047  
2760 45   50     153 local $tracelevel = ($tracelevel||0)+1;
2761 45         95 $ERRORS = 0;
2762 45         211 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use"};
2763              
2764 45 50       127 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use]},
2765             Parse::RecDescent::_tracefirst($_[1]),
2766             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2767             $tracelevel)
2768             if defined $::RD_TRACE;
2769              
2770            
2771 45         83 my $err_at = @{$thisparser->{errors}};
  45         131  
2772              
2773 45         144 my $score;
2774             my $score_return;
2775 45         0 my $_tok;
2776 45         72 my $return = undef;
2777 45         89 my $_matched=0;
2778 45         93 my $commit=0;
2779 45         103 my @item = ();
2780 45         115 my %item = ();
2781 45         98 my $repeating = $_[2];
2782 45         72 my $_noactions = $_[3];
2783 45 50       95 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  45         69  
  45         105  
2784 45         118 my $_itempos = $_[5];
2785 45 50       140 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2786 45         141 my $text;
2787             my $lastsep;
2788 45         0 my $current_match;
2789 45         119 my $expectation = new Parse::RecDescent::Expectation(q{/\\b/});
2790 45         306 $expectation->at($_[1]);
2791            
2792 45         192 my $thisline;
2793 45         160 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2794              
2795            
2796              
2797 45   33     409 while (!$_matched && !$commit)
2798             {
2799            
2800 45 50       111 Parse::RecDescent::_trace(q{Trying production: [/\\b/ module_runtime_use_fcn '(']},
2801             Parse::RecDescent::_tracefirst($_[1]),
2802             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2803             $tracelevel)
2804             if defined $::RD_TRACE;
2805 45         100 my $thisprod = $thisrule->{"prods"}[0];
2806 45         118 $text = $_[1];
2807 45         71 my $_savetext;
2808 45         99 @item = (q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
2809 45         105 %item = (__RULE__ => q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use});
2810 45         84 my $repcount = 0;
2811              
2812              
2813 45 50       127 Parse::RecDescent::_trace(q{Trying terminal: [/\\b/]}, Parse::RecDescent::_tracefirst($text),
2814             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2815             $tracelevel)
2816             if defined $::RD_TRACE;
2817 45         81 undef $lastsep;
2818 45         133 $expectation->is(q{})->at($text);
2819            
2820              
2821 45 100 33     531 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\b)/)
  45 50       481  
2822             {
2823 0 0       0 $text = $lastsep . $text if defined $lastsep;
2824 0         0 $expectation->failed();
2825 0 0       0 Parse::RecDescent::_trace(q{<>},
2826             Parse::RecDescent::_tracefirst($text))
2827             if defined $::RD_TRACE;
2828              
2829 0         0 last;
2830             }
2831 45         398 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2832 45         272 substr($text,0,length($current_match),q{});
2833 45 50       146 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2834             . $current_match . q{])},
2835             Parse::RecDescent::_tracefirst($text))
2836             if defined $::RD_TRACE;
2837 45         173 push @item, $item{__PATTERN1__}=$current_match;
2838            
2839              
2840 45 50       123 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use_fcn]},
2841             Parse::RecDescent::_tracefirst($text),
2842             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2843             $tracelevel)
2844             if defined $::RD_TRACE;
2845 12     12   112 if (1) { no strict qw{refs};
  12         26  
  12         8125  
  45         91  
2846 45         141 $expectation->is(q{module_runtime_use_fcn})->at($text);
2847 45 100   45   562 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  45         126  
2848             {
2849            
2850 17 50       52 Parse::RecDescent::_trace(q{<>},
2851             Parse::RecDescent::_tracefirst($text),
2852             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2853             $tracelevel)
2854             if defined $::RD_TRACE;
2855 17         56 $expectation->failed();
2856 17         185 last;
2857             }
2858 28 50       139 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use_fcn]<< (return value: [}
2859             . $_tok . q{]},
2860              
2861             Parse::RecDescent::_tracefirst($text),
2862             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2863             $tracelevel)
2864             if defined $::RD_TRACE;
2865 28         78 $item{q{module_runtime_use_fcn}} = $_tok;
2866 28         65 push @item, $_tok;
2867            
2868             }
2869              
2870 28 50       78 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
2871             Parse::RecDescent::_tracefirst($text),
2872             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2873             $tracelevel)
2874             if defined $::RD_TRACE;
2875 28         67 undef $lastsep;
2876 28         93 $expectation->is(q{'('})->at($text);
2877            
2878              
2879 28 50 33     360 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  28 50       276  
2880             {
2881 0 0       0 $text = $lastsep . $text if defined $lastsep;
2882            
2883 0         0 $expectation->failed();
2884 0 0       0 Parse::RecDescent::_trace(qq{<>},
2885             Parse::RecDescent::_tracefirst($text))
2886             if defined $::RD_TRACE;
2887 0         0 last;
2888             }
2889 28         143 $current_match = substr($text, $-[0], $+[0] - $-[0]);
2890 28         135 substr($text,0,length($current_match),q{});
2891 28 50       80 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2892             . $current_match . q{])},
2893             Parse::RecDescent::_tracefirst($text))
2894             if defined $::RD_TRACE;
2895 28         93 push @item, $item{__STRING1__}=$current_match;
2896            
2897              
2898 28 50       83 Parse::RecDescent::_trace(q{>>Matched production: [/\\b/ module_runtime_use_fcn '(']<<},
2899             Parse::RecDescent::_tracefirst($text),
2900             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2901             $tracelevel)
2902             if defined $::RD_TRACE;
2903              
2904              
2905              
2906 28         47 $_matched = 1;
2907 28         66 last;
2908             }
2909              
2910              
2911 45 100 66     182 unless ( $_matched || defined($score) )
2912             {
2913            
2914              
2915 17         38 $_[1] = $text; # NOT SURE THIS IS NEEDED
2916 17 50       60 Parse::RecDescent::_trace(q{<>},
2917             Parse::RecDescent::_tracefirst($_[1]),
2918             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2919             $tracelevel)
2920             if defined $::RD_TRACE;
2921 17         117 return undef;
2922             }
2923 28 50 33     163 if (!defined($return) && defined($score))
2924             {
2925 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2926             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2927             $tracelevel)
2928             if defined $::RD_TRACE;
2929 0         0 $return = $score_return;
2930             }
2931 28         57 splice @{$thisparser->{errors}}, $err_at;
  28         77  
2932 28 50       96 $return = $item[$#item] unless defined $return;
2933 28 50       81 if (defined $::RD_TRACE)
2934             {
2935 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2936             $return . q{])}, "",
2937             q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2938             $tracelevel);
2939 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2940             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2941             Parse::RecDescent::_tracefirst($text),
2942             , q{_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use},
2943             $tracelevel)
2944             }
2945 28         82 $_[1] = $text;
2946 28         264 return $return;
2947             }
2948              
2949             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2950             sub Parse::RecDescent::Module::ExtractUse::Grammar::base
2951             {
2952 238     238   438 my $thisparser = $_[0];
2953 12     12   102 use vars q{$tracelevel};
  12         30  
  12         6167  
2954 238   50     621 local $tracelevel = ($tracelevel||0)+1;
2955 238         387 $ERRORS = 0;
2956 238         515 my $thisrule = $thisparser->{"rules"}{"base"};
2957              
2958 238 50       554 Parse::RecDescent::_trace(q{Trying rule: [base]},
2959             Parse::RecDescent::_tracefirst($_[1]),
2960             q{base},
2961             $tracelevel)
2962             if defined $::RD_TRACE;
2963              
2964            
2965 238         348 my $err_at = @{$thisparser->{errors}};
  238         447  
2966              
2967 238         616 my $score;
2968             my $score_return;
2969 238         0 my $_tok;
2970 238         375 my $return = undef;
2971 238         377 my $_matched=0;
2972 238         358 my $commit=0;
2973 238         465 my @item = ();
2974 238         412 my %item = ();
2975 238         354 my $repeating = $_[2];
2976 238         361 my $_noactions = $_[3];
2977 238 50       530 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  238         357  
  238         446  
2978 238         436 my $_itempos = $_[5];
2979 238 50       659 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2980 238         580 my $text;
2981             my $lastsep;
2982 238         0 my $current_match;
2983 238         683 my $expectation = new Parse::RecDescent::Expectation(q{'base'});
2984 238         1554 $expectation->at($_[1]);
2985            
2986 238         990 my $thisline;
2987 238         715 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2988              
2989            
2990              
2991 238   33     1836 while (!$_matched && !$commit)
2992             {
2993            
2994 238 50       575 Parse::RecDescent::_trace(q{Trying production: ['base' import_list]},
2995             Parse::RecDescent::_tracefirst($_[1]),
2996             q{base},
2997             $tracelevel)
2998             if defined $::RD_TRACE;
2999 238         465 my $thisprod = $thisrule->{"prods"}[0];
3000 238         464 $text = $_[1];
3001 238         384 my $_savetext;
3002 238         466 @item = (q{base});
3003 238         503 %item = (__RULE__ => q{base});
3004 238         425 my $repcount = 0;
3005              
3006              
3007 238 50       502 Parse::RecDescent::_trace(q{Trying terminal: ['base']},
3008             Parse::RecDescent::_tracefirst($text),
3009             q{base},
3010             $tracelevel)
3011             if defined $::RD_TRACE;
3012 238         425 undef $lastsep;
3013 238         607 $expectation->is(q{})->at($text);
3014            
3015              
3016 238 50 33     2906 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "base"; 1 } and
  238 100 66     1570  
  238   66     483  
  238         1417  
3017             substr($text,0,length($_tok)) eq $_tok and
3018 28         75 do { substr($text,0,length($_tok)) = ""; 1; }
  28         92  
3019             )
3020             {
3021 210 50       677 $text = $lastsep . $text if defined $lastsep;
3022            
3023 210         758 $expectation->failed();
3024 210 50       1068 Parse::RecDescent::_trace(q{<>},
3025             Parse::RecDescent::_tracefirst($text))
3026             if defined $::RD_TRACE;
3027 210         519 last;
3028             }
3029 28 50       139 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3030             . $_tok . q{])},
3031             Parse::RecDescent::_tracefirst($text))
3032             if defined $::RD_TRACE;
3033 28         85 push @item, $item{__STRING1__}=$_tok;
3034            
3035              
3036 28 50       63 Parse::RecDescent::_trace(q{Trying subrule: [import_list]},
3037             Parse::RecDescent::_tracefirst($text),
3038             q{base},
3039             $tracelevel)
3040             if defined $::RD_TRACE;
3041 12     12   110 if (1) { no strict qw{refs};
  12         44  
  12         5657  
  28         45  
3042 28         85 $expectation->is(q{import_list})->at($text);
3043 28 50   28   303 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::import_list($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  28         68  
3044             {
3045            
3046 0 0       0 Parse::RecDescent::_trace(q{<>},
3047             Parse::RecDescent::_tracefirst($text),
3048             q{base},
3049             $tracelevel)
3050             if defined $::RD_TRACE;
3051 0         0 $expectation->failed();
3052 0         0 last;
3053             }
3054 28 50       121 Parse::RecDescent::_trace(q{>>Matched subrule: [import_list]<< (return value: [}
3055             . $_tok . q{]},
3056              
3057             Parse::RecDescent::_tracefirst($text),
3058             q{base},
3059             $tracelevel)
3060             if defined $::RD_TRACE;
3061 28         69 $item{q{import_list}} = $_tok;
3062 28         53 push @item, $_tok;
3063            
3064             }
3065              
3066 28 50       71 Parse::RecDescent::_trace(q{>>Matched production: ['base' import_list]<<},
3067             Parse::RecDescent::_tracefirst($text),
3068             q{base},
3069             $tracelevel)
3070             if defined $::RD_TRACE;
3071              
3072              
3073              
3074 28         42 $_matched = 1;
3075 28         59 last;
3076             }
3077              
3078              
3079 238 100 66     969 unless ( $_matched || defined($score) )
3080             {
3081            
3082              
3083 210         425 $_[1] = $text; # NOT SURE THIS IS NEEDED
3084 210 50       462 Parse::RecDescent::_trace(q{<>},
3085             Parse::RecDescent::_tracefirst($_[1]),
3086             q{base},
3087             $tracelevel)
3088             if defined $::RD_TRACE;
3089 210         1429 return undef;
3090             }
3091 28 50 33     116 if (!defined($return) && defined($score))
3092             {
3093 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3094             q{base},
3095             $tracelevel)
3096             if defined $::RD_TRACE;
3097 0         0 $return = $score_return;
3098             }
3099 28         45 splice @{$thisparser->{errors}}, $err_at;
  28         66  
3100 28 50       84 $return = $item[$#item] unless defined $return;
3101 28 50       63 if (defined $::RD_TRACE)
3102             {
3103 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3104             $return . q{])}, "",
3105             q{base},
3106             $tracelevel);
3107 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3108             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3109             Parse::RecDescent::_tracefirst($text),
3110             , q{base},
3111             $tracelevel)
3112             }
3113 28         61 $_[1] = $text;
3114 28         161 return $return;
3115             }
3116              
3117             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3118             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load
3119             {
3120 73     73   129 my $thisparser = $_[0];
3121 12     12   112 use vars q{$tracelevel};
  12         28  
  12         4459  
3122 73   50     182 local $tracelevel = ($tracelevel||0)+1;
3123 73         115 $ERRORS = 0;
3124 73         139 my $thisrule = $thisparser->{"rules"}{"class_load"};
3125              
3126 73 50       151 Parse::RecDescent::_trace(q{Trying rule: [class_load]},
3127             Parse::RecDescent::_tracefirst($_[1]),
3128             q{class_load},
3129             $tracelevel)
3130             if defined $::RD_TRACE;
3131              
3132            
3133 73         119 my $err_at = @{$thisparser->{errors}};
  73         220  
3134              
3135 73         178 my $score;
3136             my $score_return;
3137 73         0 my $_tok;
3138 73         146 my $return = undef;
3139 73         104 my $_matched=0;
3140 73         101 my $commit=0;
3141 73         160 my @item = ();
3142 73         129 my %item = ();
3143 73         114 my $repeating = $_[2];
3144 73         96 my $_noactions = $_[3];
3145 73 50       176 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         101  
  73         121  
3146 73         128 my $_itempos = $_[5];
3147 73 50       198 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3148 73         206 my $text;
3149             my $lastsep;
3150 73         0 my $current_match;
3151 73         185 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::', or /\\b/});
3152 73         476 $expectation->at($_[1]);
3153            
3154 73         271 my $thisline;
3155 73         206 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3156              
3157            
3158              
3159 73   33     570 while (!$_matched && !$commit)
3160             {
3161            
3162 73 50       151 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::', or /\\b/ '(' comma_hashref ')']},
3163             Parse::RecDescent::_tracefirst($_[1]),
3164             q{class_load},
3165             $tracelevel)
3166             if defined $::RD_TRACE;
3167 73         125 my $thisprod = $thisrule->{"prods"}[0];
3168 73         126 $text = $_[1];
3169 73         99 my $_savetext;
3170 73         126 @item = (q{class_load});
3171 73         154 %item = (__RULE__ => q{class_load});
3172 73         616 my $repcount = 0;
3173              
3174              
3175 73 50       135 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_class_load]},
3176             Parse::RecDescent::_tracefirst($text),
3177             q{class_load},
3178             $tracelevel)
3179             if defined $::RD_TRACE;
3180 12     12   100 if (1) { no strict qw{refs};
  12         34  
  12         14888  
  73         99  
3181 73         167 $expectation->is(q{})->at($text);
3182 73 100   73   708 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         140  
3183             {
3184            
3185 37 50       75 Parse::RecDescent::_trace(q{<>},
3186             Parse::RecDescent::_tracefirst($text),
3187             q{class_load},
3188             $tracelevel)
3189             if defined $::RD_TRACE;
3190 37         105 $expectation->failed();
3191 37         123 last;
3192             }
3193 36 50       110 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_class_load]<< (return value: [}
3194             . $_tok . q{]},
3195              
3196             Parse::RecDescent::_tracefirst($text),
3197             q{class_load},
3198             $tracelevel)
3199             if defined $::RD_TRACE;
3200 36         83 $item{q{_alternation_1_of_production_1_of_rule_class_load}} = $_tok;
3201 36         79 push @item, $_tok;
3202            
3203             }
3204              
3205 36 50       66 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
3206             Parse::RecDescent::_tracefirst($text),
3207             q{class_load},
3208             $tracelevel)
3209             if defined $::RD_TRACE;
3210 36         55 undef $lastsep;
3211 36         107 $expectation->is(q{'('})->at($text);
3212            
3213              
3214 36 50 33     408 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  36 50       279  
3215             {
3216 0 0       0 $text = $lastsep . $text if defined $lastsep;
3217            
3218 0         0 $expectation->failed();
3219 0 0       0 Parse::RecDescent::_trace(qq{<>},
3220             Parse::RecDescent::_tracefirst($text))
3221             if defined $::RD_TRACE;
3222 0         0 last;
3223             }
3224 36         164 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3225 36         97 substr($text,0,length($current_match),q{});
3226 36 50       91 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3227             . $current_match . q{])},
3228             Parse::RecDescent::_tracefirst($text))
3229             if defined $::RD_TRACE;
3230 36         87 push @item, $item{__STRING1__}=$current_match;
3231            
3232              
3233            
3234              
3235 36 50       75 Parse::RecDescent::_trace(q{Trying directive: []},
3236             Parse::RecDescent::_tracefirst($text),
3237             q{class_load},
3238             $tracelevel)
3239             if defined $::RD_TRACE;
3240 36         53 $_tok = do { my ($match,@res);
  36         54  
3241 36         103 ($match,$text,undef,@res) =
3242             Text::Balanced::extract_quotelike($text,$skip);
3243 36 50       3506 $match ? \@res : undef;
3244             };
3245 36 50       79 if (defined($_tok))
3246             {
3247 36 50       101 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3248             . $_tok . q{])},
3249             Parse::RecDescent::_tracefirst($text))
3250             if defined $::RD_TRACE;
3251             }
3252             else
3253             {
3254 0 0       0 Parse::RecDescent::_trace(q{<>},
3255             Parse::RecDescent::_tracefirst($text))
3256             if defined $::RD_TRACE;
3257             }
3258            
3259 36 50       72 last unless defined $_tok;
3260 36         94 push @item, $item{__DIRECTIVE1__}=$_tok;
3261            
3262              
3263 36 50       65 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hashref]},
3264             Parse::RecDescent::_tracefirst($text),
3265             q{class_load},
3266             $tracelevel)
3267             if defined $::RD_TRACE;
3268 36         92 $expectation->is(q{comma_hashref})->at($text);
3269            
3270 36 50   36   425 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  36         76  
3271             {
3272 0 0       0 Parse::RecDescent::_trace(q{<>},
3273             Parse::RecDescent::_tracefirst($text),
3274             q{class_load},
3275             $tracelevel)
3276             if defined $::RD_TRACE;
3277 0         0 last;
3278             }
3279 36 50       609 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hashref]<< (}
3280             . @$_tok . q{ times)},
3281              
3282             Parse::RecDescent::_tracefirst($text),
3283             q{class_load},
3284             $tracelevel)
3285             if defined $::RD_TRACE;
3286 36         76 $item{q{comma_hashref(?)}} = $_tok;
3287 36         59 push @item, $_tok;
3288            
3289              
3290              
3291 36 50       77 Parse::RecDescent::_trace(q{Trying terminal: [')']},
3292             Parse::RecDescent::_tracefirst($text),
3293             q{class_load},
3294             $tracelevel)
3295             if defined $::RD_TRACE;
3296 36         53 undef $lastsep;
3297 36         104 $expectation->is(q{')'})->at($text);
3298            
3299              
3300 36 50 33     417 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  36 50       272  
3301             {
3302 0 0       0 $text = $lastsep . $text if defined $lastsep;
3303            
3304 0         0 $expectation->failed();
3305 0 0       0 Parse::RecDescent::_trace(qq{<>},
3306             Parse::RecDescent::_tracefirst($text))
3307             if defined $::RD_TRACE;
3308 0         0 last;
3309             }
3310 36         177 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3311 36         114 substr($text,0,length($current_match),q{});
3312 36 50       79 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3313             . $current_match . q{])},
3314             Parse::RecDescent::_tracefirst($text))
3315             if defined $::RD_TRACE;
3316 36         89 push @item, $item{__STRING2__}=$current_match;
3317            
3318              
3319 36 50       66 Parse::RecDescent::_trace(q{Trying action},
3320             Parse::RecDescent::_tracefirst($text),
3321             q{class_load},
3322             $tracelevel)
3323             if defined $::RD_TRACE;
3324            
3325              
3326 36 50       80 $_tok = ($_noactions) ? 0 : do { $return = $item[3][2] };
  36         74  
3327 36 50       79 unless (defined $_tok)
3328             {
3329 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3330             if defined $::RD_TRACE;
3331 0         0 last;
3332             }
3333 36 50       65 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3334             . $_tok . q{])},
3335             Parse::RecDescent::_tracefirst($text))
3336             if defined $::RD_TRACE;
3337 36         71 push @item, $_tok;
3338 36         58 $item{__ACTION1__}=$_tok;
3339            
3340              
3341 36 50       67 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::', or /\\b/ '(' comma_hashref ')']<<},
3342             Parse::RecDescent::_tracefirst($text),
3343             q{class_load},
3344             $tracelevel)
3345             if defined $::RD_TRACE;
3346              
3347              
3348              
3349 36         51 $_matched = 1;
3350 36         71 last;
3351             }
3352              
3353              
3354 73 100 66     235 unless ( $_matched || defined($score) )
3355             {
3356            
3357              
3358 37         74 $_[1] = $text; # NOT SURE THIS IS NEEDED
3359 37 50       96 Parse::RecDescent::_trace(q{<>},
3360             Parse::RecDescent::_tracefirst($_[1]),
3361             q{class_load},
3362             $tracelevel)
3363             if defined $::RD_TRACE;
3364 37         169 return undef;
3365             }
3366 36 50 33     86 if (!defined($return) && defined($score))
3367             {
3368 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3369             q{class_load},
3370             $tracelevel)
3371             if defined $::RD_TRACE;
3372 0         0 $return = $score_return;
3373             }
3374 36         59 splice @{$thisparser->{errors}}, $err_at;
  36         77  
3375 36 50       73 $return = $item[$#item] unless defined $return;
3376 36 50       67 if (defined $::RD_TRACE)
3377             {
3378 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3379             $return . q{])}, "",
3380             q{class_load},
3381             $tracelevel);
3382 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3383             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3384             Parse::RecDescent::_tracefirst($text),
3385             , q{class_load},
3386             $tracelevel)
3387             }
3388 36         69 $_[1] = $text;
3389 36         312 return $return;
3390             }
3391              
3392             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3393             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load_first_existing
3394             {
3395 37     37   64 my $thisparser = $_[0];
3396 12     12   112 use vars q{$tracelevel};
  12         34  
  12         4537  
3397 37   50     87 local $tracelevel = ($tracelevel||0)+1;
3398 37         50 $ERRORS = 0;
3399 37         75 my $thisrule = $thisparser->{"rules"}{"class_load_first_existing"};
3400              
3401 37 50       88 Parse::RecDescent::_trace(q{Trying rule: [class_load_first_existing]},
3402             Parse::RecDescent::_tracefirst($_[1]),
3403             q{class_load_first_existing},
3404             $tracelevel)
3405             if defined $::RD_TRACE;
3406              
3407            
3408 37         52 my $err_at = @{$thisparser->{errors}};
  37         88  
3409              
3410 37         95 my $score;
3411             my $score_return;
3412 37         0 my $_tok;
3413 37         56 my $return = undef;
3414 37         53 my $_matched=0;
3415 37         54 my $commit=0;
3416 37         59 my @item = ();
3417 37         67 my %item = ();
3418 37         66 my $repeating = $_[2];
3419 37         60 my $_noactions = $_[3];
3420 37 50       77 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         55  
  37         67  
3421 37         62 my $_itempos = $_[5];
3422 37 50       89 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3423 37         85 my $text;
3424             my $lastsep;
3425 37         0 my $current_match;
3426 37         94 my $expectation = new Parse::RecDescent::Expectation(q{'Class::Load::load_first_existing_class', or /\\bload_first_existing_class/});
3427 37         237 $expectation->at($_[1]);
3428            
3429 37         145 my $thisline;
3430 37         123 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3431              
3432            
3433              
3434 37   33     313 while (!$_matched && !$commit)
3435             {
3436            
3437 37 50       83 Parse::RecDescent::_trace(q{Trying production: ['Class::Load::load_first_existing_class', or /\\bload_first_existing_class/ '(' first_existing_arg comma_first_existing_arg ')']},
3438             Parse::RecDescent::_tracefirst($_[1]),
3439             q{class_load_first_existing},
3440             $tracelevel)
3441             if defined $::RD_TRACE;
3442 37         69 my $thisprod = $thisrule->{"prods"}[0];
3443 37         71 $text = $_[1];
3444 37         49 my $_savetext;
3445 37         76 @item = (q{class_load_first_existing});
3446 37         74 %item = (__RULE__ => q{class_load_first_existing});
3447 37         55 my $repcount = 0;
3448              
3449              
3450 37 50       113 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]},
3451             Parse::RecDescent::_tracefirst($text),
3452             q{class_load_first_existing},
3453             $tracelevel)
3454             if defined $::RD_TRACE;
3455 12     12   100 if (1) { no strict qw{refs};
  12         30  
  12         4356  
  37         64  
3456 37         93 $expectation->is(q{})->at($text);
3457 37 100   37   344 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         73  
3458             {
3459            
3460 25 50       55 Parse::RecDescent::_trace(q{<>},
3461             Parse::RecDescent::_tracefirst($text),
3462             q{class_load_first_existing},
3463             $tracelevel)
3464             if defined $::RD_TRACE;
3465 25         70 $expectation->failed();
3466 25         84 last;
3467             }
3468 12 50       47 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_class_load_first_existing]<< (return value: [}
3469             . $_tok . q{]},
3470              
3471             Parse::RecDescent::_tracefirst($text),
3472             q{class_load_first_existing},
3473             $tracelevel)
3474             if defined $::RD_TRACE;
3475 12         22 $item{q{_alternation_1_of_production_1_of_rule_class_load_first_existing}} = $_tok;
3476 12         22 push @item, $_tok;
3477            
3478             }
3479              
3480 12 50       24 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
3481             Parse::RecDescent::_tracefirst($text),
3482             q{class_load_first_existing},
3483             $tracelevel)
3484             if defined $::RD_TRACE;
3485 12         21 undef $lastsep;
3486 12         31 $expectation->is(q{'('})->at($text);
3487            
3488              
3489 12 50 33     126 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  12 50       100  
3490             {
3491 0 0       0 $text = $lastsep . $text if defined $lastsep;
3492            
3493 0         0 $expectation->failed();
3494 0 0       0 Parse::RecDescent::_trace(qq{<>},
3495             Parse::RecDescent::_tracefirst($text))
3496             if defined $::RD_TRACE;
3497 0         0 last;
3498             }
3499 12         52 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3500 12         33 substr($text,0,length($current_match),q{});
3501 12 50       26 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3502             . $current_match . q{])},
3503             Parse::RecDescent::_tracefirst($text))
3504             if defined $::RD_TRACE;
3505 12         32 push @item, $item{__STRING1__}=$current_match;
3506            
3507              
3508 12 50       24 Parse::RecDescent::_trace(q{Trying subrule: [first_existing_arg]},
3509             Parse::RecDescent::_tracefirst($text),
3510             q{class_load_first_existing},
3511             $tracelevel)
3512             if defined $::RD_TRACE;
3513 12     12   97 if (1) { no strict qw{refs};
  12         59  
  12         11854  
  12         19  
3514 12         27 $expectation->is(q{first_existing_arg})->at($text);
3515 12 50   12   119 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  12         26  
3516             {
3517            
3518 0 0       0 Parse::RecDescent::_trace(q{<>},
3519             Parse::RecDescent::_tracefirst($text),
3520             q{class_load_first_existing},
3521             $tracelevel)
3522             if defined $::RD_TRACE;
3523 0         0 $expectation->failed();
3524 0         0 last;
3525             }
3526 12 50       41 Parse::RecDescent::_trace(q{>>Matched subrule: [first_existing_arg]<< (return value: [}
3527             . $_tok . q{]},
3528              
3529             Parse::RecDescent::_tracefirst($text),
3530             q{class_load_first_existing},
3531             $tracelevel)
3532             if defined $::RD_TRACE;
3533 12         27 $item{q{first_existing_arg}} = $_tok;
3534 12         18 push @item, $_tok;
3535            
3536             }
3537              
3538 12 50       23 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_first_existing_arg]},
3539             Parse::RecDescent::_tracefirst($text),
3540             q{class_load_first_existing},
3541             $tracelevel)
3542             if defined $::RD_TRACE;
3543 12         36 $expectation->is(q{comma_first_existing_arg})->at($text);
3544            
3545 12 50   24   126 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_first_existing_arg, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  24         49  
3546             {
3547 0 0       0 Parse::RecDescent::_trace(q{<>},
3548             Parse::RecDescent::_tracefirst($text),
3549             q{class_load_first_existing},
3550             $tracelevel)
3551             if defined $::RD_TRACE;
3552 0         0 last;
3553             }
3554 12 50       206 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_first_existing_arg]<< (}
3555             . @$_tok . q{ times)},
3556              
3557             Parse::RecDescent::_tracefirst($text),
3558             q{class_load_first_existing},
3559             $tracelevel)
3560             if defined $::RD_TRACE;
3561 12         28 $item{q{comma_first_existing_arg(s?)}} = $_tok;
3562 12         22 push @item, $_tok;
3563            
3564              
3565              
3566 12 50       22 Parse::RecDescent::_trace(q{Trying terminal: [')']},
3567             Parse::RecDescent::_tracefirst($text),
3568             q{class_load_first_existing},
3569             $tracelevel)
3570             if defined $::RD_TRACE;
3571 12         20 undef $lastsep;
3572 12         30 $expectation->is(q{')'})->at($text);
3573            
3574              
3575 12 100 33     158 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  12 50       104  
3576             {
3577 0 0       0 $text = $lastsep . $text if defined $lastsep;
3578            
3579 0         0 $expectation->failed();
3580 0 0       0 Parse::RecDescent::_trace(qq{<>},
3581             Parse::RecDescent::_tracefirst($text))
3582             if defined $::RD_TRACE;
3583 0         0 last;
3584             }
3585 12         60 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3586 12         35 substr($text,0,length($current_match),q{});
3587 12 50       28 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3588             . $current_match . q{])},
3589             Parse::RecDescent::_tracefirst($text))
3590             if defined $::RD_TRACE;
3591 12         30 push @item, $item{__STRING2__}=$current_match;
3592            
3593              
3594 12 50       26 Parse::RecDescent::_trace(q{Trying action},
3595             Parse::RecDescent::_tracefirst($text),
3596             q{class_load_first_existing},
3597             $tracelevel)
3598             if defined $::RD_TRACE;
3599            
3600              
3601 12 50       25 $_tok = ($_noactions) ? 0 : do { $return = $item{first_existing_arg};
  12         22  
3602 12 50       30 $return .= " " . join(" ", @{$item{'comma_first_existing_arg(s?)'}}) if $item{'comma_first_existing_arg(s?)'};
  12         40  
3603 12         23 1;
3604             };
3605 12 50       37 unless (defined $_tok)
3606             {
3607 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3608             if defined $::RD_TRACE;
3609 0         0 last;
3610             }
3611 12 50       28 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3612             . $_tok . q{])},
3613             Parse::RecDescent::_tracefirst($text))
3614             if defined $::RD_TRACE;
3615 12         21 push @item, $_tok;
3616 12         21 $item{__ACTION1__}=$_tok;
3617            
3618              
3619 12 50       52 Parse::RecDescent::_trace(q{>>Matched production: ['Class::Load::load_first_existing_class', or /\\bload_first_existing_class/ '(' first_existing_arg comma_first_existing_arg ')']<<},
3620             Parse::RecDescent::_tracefirst($text),
3621             q{class_load_first_existing},
3622             $tracelevel)
3623             if defined $::RD_TRACE;
3624              
3625              
3626              
3627 12         19 $_matched = 1;
3628 12         25 last;
3629             }
3630              
3631              
3632 37 100 66     157 unless ( $_matched || defined($score) )
3633             {
3634            
3635              
3636 25         53 $_[1] = $text; # NOT SURE THIS IS NEEDED
3637 25 50       54 Parse::RecDescent::_trace(q{<>},
3638             Parse::RecDescent::_tracefirst($_[1]),
3639             q{class_load_first_existing},
3640             $tracelevel)
3641             if defined $::RD_TRACE;
3642 25         110 return undef;
3643             }
3644 12 50 33     49 if (!defined($return) && defined($score))
3645             {
3646 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3647             q{class_load_first_existing},
3648             $tracelevel)
3649             if defined $::RD_TRACE;
3650 0         0 $return = $score_return;
3651             }
3652 12         18 splice @{$thisparser->{errors}}, $err_at;
  12         30  
3653 12 50       25 $return = $item[$#item] unless defined $return;
3654 12 50       23 if (defined $::RD_TRACE)
3655             {
3656 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3657             $return . q{])}, "",
3658             q{class_load_first_existing},
3659             $tracelevel);
3660 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3661             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3662             Parse::RecDescent::_tracefirst($text),
3663             , q{class_load_first_existing},
3664             $tracelevel)
3665             }
3666 12         25 $_[1] = $text;
3667 12         83 return $return;
3668             }
3669              
3670             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3671             sub Parse::RecDescent::Module::ExtractUse::Grammar::class_load_functions
3672             {
3673 72     72   153 my $thisparser = $_[0];
3674 12     12   109 use vars q{$tracelevel};
  12         35  
  12         16536  
3675 72   50     255 local $tracelevel = ($tracelevel||0)+1;
3676 72         107 $ERRORS = 0;
3677 72         143 my $thisrule = $thisparser->{"rules"}{"class_load_functions"};
3678              
3679 72 50       134 Parse::RecDescent::_trace(q{Trying rule: [class_load_functions]},
3680             Parse::RecDescent::_tracefirst($_[1]),
3681             q{class_load_functions},
3682             $tracelevel)
3683             if defined $::RD_TRACE;
3684              
3685            
3686 72         92 my $err_at = @{$thisparser->{errors}};
  72         124  
3687              
3688 72         206 my $score;
3689             my $score_return;
3690 72         0 my $_tok;
3691 72         103 my $return = undef;
3692 72         98 my $_matched=0;
3693 72         119 my $commit=0;
3694 72         115 my @item = ();
3695 72         108 my %item = ();
3696 72         127 my $repeating = $_[2];
3697 72         101 my $_noactions = $_[3];
3698 72 50       159 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  72         103  
  72         118  
3699 72         99 my $_itempos = $_[5];
3700 72 50       162 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3701 72         182 my $text;
3702             my $lastsep;
3703 72         0 my $current_match;
3704 72         183 my $expectation = new Parse::RecDescent::Expectation(q{'load_class', or 'try_load_class', or 'load_optional_class'});
3705 72         475 $expectation->at($_[1]);
3706            
3707 72         287 my $thisline;
3708 72         222 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3709              
3710            
3711              
3712 72   33     563 while (!$_matched && !$commit)
3713             {
3714            
3715 72 50       149 Parse::RecDescent::_trace(q{Trying production: ['load_class']},
3716             Parse::RecDescent::_tracefirst($_[1]),
3717             q{class_load_functions},
3718             $tracelevel)
3719             if defined $::RD_TRACE;
3720 72         130 my $thisprod = $thisrule->{"prods"}[0];
3721 72         117 $text = $_[1];
3722 72         97 my $_savetext;
3723 72         130 @item = (q{class_load_functions});
3724 72         138 %item = (__RULE__ => q{class_load_functions});
3725 72         112 my $repcount = 0;
3726              
3727              
3728 72 50       144 Parse::RecDescent::_trace(q{Trying terminal: ['load_class']},
3729             Parse::RecDescent::_tracefirst($text),
3730             q{class_load_functions},
3731             $tracelevel)
3732             if defined $::RD_TRACE;
3733 72         126 undef $lastsep;
3734 72         166 $expectation->is(q{})->at($text);
3735            
3736              
3737 72 50 66     733 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aload_class/)
  72 100       558  
3738             {
3739 60 50       192 $text = $lastsep . $text if defined $lastsep;
3740            
3741 60         193 $expectation->failed();
3742 60 50       266 Parse::RecDescent::_trace(qq{<>},
3743             Parse::RecDescent::_tracefirst($text))
3744             if defined $::RD_TRACE;
3745 60         134 last;
3746             }
3747 12         64 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3748 12         38 substr($text,0,length($current_match),q{});
3749 12 50       27 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3750             . $current_match . q{])},
3751             Parse::RecDescent::_tracefirst($text))
3752             if defined $::RD_TRACE;
3753 12         32 push @item, $item{__STRING1__}=$current_match;
3754            
3755              
3756 12 50       23 Parse::RecDescent::_trace(q{>>Matched production: ['load_class']<<},
3757             Parse::RecDescent::_tracefirst($text),
3758             q{class_load_functions},
3759             $tracelevel)
3760             if defined $::RD_TRACE;
3761              
3762              
3763              
3764 12         19 $_matched = 1;
3765 12         25 last;
3766             }
3767              
3768              
3769 72   66     271 while (!$_matched && !$commit)
3770             {
3771            
3772 60 50       120 Parse::RecDescent::_trace(q{Trying production: ['try_load_class']},
3773             Parse::RecDescent::_tracefirst($_[1]),
3774             q{class_load_functions},
3775             $tracelevel)
3776             if defined $::RD_TRACE;
3777 60         112 my $thisprod = $thisrule->{"prods"}[1];
3778 60         121 $text = $_[1];
3779 60         88 my $_savetext;
3780 60         121 @item = (q{class_load_functions});
3781 60         140 %item = (__RULE__ => q{class_load_functions});
3782 60         98 my $repcount = 0;
3783              
3784              
3785 60 50       147 Parse::RecDescent::_trace(q{Trying terminal: ['try_load_class']},
3786             Parse::RecDescent::_tracefirst($text),
3787             q{class_load_functions},
3788             $tracelevel)
3789             if defined $::RD_TRACE;
3790 60         99 undef $lastsep;
3791 60         128 $expectation->is(q{})->at($text);
3792            
3793              
3794 60 50 66     567 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atry_load_class/)
  60 100       398  
3795             {
3796 48 50       146 $text = $lastsep . $text if defined $lastsep;
3797            
3798 48         141 $expectation->failed();
3799 48 50       179 Parse::RecDescent::_trace(qq{<>},
3800             Parse::RecDescent::_tracefirst($text))
3801             if defined $::RD_TRACE;
3802 48         95 last;
3803             }
3804 12         60 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3805 12         37 substr($text,0,length($current_match),q{});
3806 12 50       38 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3807             . $current_match . q{])},
3808             Parse::RecDescent::_tracefirst($text))
3809             if defined $::RD_TRACE;
3810 12         32 push @item, $item{__STRING1__}=$current_match;
3811            
3812              
3813 12 50       27 Parse::RecDescent::_trace(q{>>Matched production: ['try_load_class']<<},
3814             Parse::RecDescent::_tracefirst($text),
3815             q{class_load_functions},
3816             $tracelevel)
3817             if defined $::RD_TRACE;
3818              
3819              
3820              
3821 12         18 $_matched = 1;
3822 12         23 last;
3823             }
3824              
3825              
3826 72   66     228 while (!$_matched && !$commit)
3827             {
3828            
3829 48 50       104 Parse::RecDescent::_trace(q{Trying production: ['load_optional_class']},
3830             Parse::RecDescent::_tracefirst($_[1]),
3831             q{class_load_functions},
3832             $tracelevel)
3833             if defined $::RD_TRACE;
3834 48         84 my $thisprod = $thisrule->{"prods"}[2];
3835 48         87 $text = $_[1];
3836 48         71 my $_savetext;
3837 48         99 @item = (q{class_load_functions});
3838 48         98 %item = (__RULE__ => q{class_load_functions});
3839 48         75 my $repcount = 0;
3840              
3841              
3842 48 50       94 Parse::RecDescent::_trace(q{Trying terminal: ['load_optional_class']},
3843             Parse::RecDescent::_tracefirst($text),
3844             q{class_load_functions},
3845             $tracelevel)
3846             if defined $::RD_TRACE;
3847 48         70 undef $lastsep;
3848 48         103 $expectation->is(q{})->at($text);
3849            
3850              
3851 48 50 66     480 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aload_optional_class/)
  48 100       322  
3852             {
3853 36 50       108 $text = $lastsep . $text if defined $lastsep;
3854            
3855 36         112 $expectation->failed();
3856 36 50       135 Parse::RecDescent::_trace(qq{<>},
3857             Parse::RecDescent::_tracefirst($text))
3858             if defined $::RD_TRACE;
3859 36         64 last;
3860             }
3861 12         61 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3862 12         39 substr($text,0,length($current_match),q{});
3863 12 50       36 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3864             . $current_match . q{])},
3865             Parse::RecDescent::_tracefirst($text))
3866             if defined $::RD_TRACE;
3867 12         32 push @item, $item{__STRING1__}=$current_match;
3868            
3869              
3870 12 50       40 Parse::RecDescent::_trace(q{>>Matched production: ['load_optional_class']<<},
3871             Parse::RecDescent::_tracefirst($text),
3872             q{class_load_functions},
3873             $tracelevel)
3874             if defined $::RD_TRACE;
3875              
3876              
3877              
3878 12         19 $_matched = 1;
3879 12         24 last;
3880             }
3881              
3882              
3883 72 100 66     209 unless ( $_matched || defined($score) )
3884             {
3885            
3886              
3887 36         68 $_[1] = $text; # NOT SURE THIS IS NEEDED
3888 36 50       73 Parse::RecDescent::_trace(q{<>},
3889             Parse::RecDescent::_tracefirst($_[1]),
3890             q{class_load_functions},
3891             $tracelevel)
3892             if defined $::RD_TRACE;
3893 36         196 return undef;
3894             }
3895 36 50 33     132 if (!defined($return) && defined($score))
3896             {
3897 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3898             q{class_load_functions},
3899             $tracelevel)
3900             if defined $::RD_TRACE;
3901 0         0 $return = $score_return;
3902             }
3903 36         54 splice @{$thisparser->{errors}}, $err_at;
  36         87  
3904 36 50       96 $return = $item[$#item] unless defined $return;
3905 36 50       73 if (defined $::RD_TRACE)
3906             {
3907 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3908             $return . q{])}, "",
3909             q{class_load_functions},
3910             $tracelevel);
3911 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3912             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3913             Parse::RecDescent::_tracefirst($text),
3914             , q{class_load_functions},
3915             $tracelevel)
3916             }
3917 36         91 $_[1] = $text;
3918 36         234 return $return;
3919             }
3920              
3921             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3922             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma
3923             {
3924 304     304   550 my $thisparser = $_[0];
3925 12     12   111 use vars q{$tracelevel};
  12         30  
  12         4298  
3926 304   50     779 local $tracelevel = ($tracelevel||0)+1;
3927 304         471 $ERRORS = 0;
3928 304         627 my $thisrule = $thisparser->{"rules"}{"comma"};
3929              
3930 304 50       602 Parse::RecDescent::_trace(q{Trying rule: [comma]},
3931             Parse::RecDescent::_tracefirst($_[1]),
3932             q{comma},
3933             $tracelevel)
3934             if defined $::RD_TRACE;
3935              
3936            
3937 304         429 my $err_at = @{$thisparser->{errors}};
  304         567  
3938              
3939 304         716 my $score;
3940             my $score_return;
3941 304         0 my $_tok;
3942 304         446 my $return = undef;
3943 304         437 my $_matched=0;
3944 304         429 my $commit=0;
3945 304         454 my @item = ();
3946 304         442 my %item = ();
3947 304         465 my $repeating = $_[2];
3948 304         475 my $_noactions = $_[3];
3949 304 50       576 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  304         460  
  304         492  
3950 304         474 my $_itempos = $_[5];
3951 304 50       649 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3952 304         683 my $text;
3953             my $lastsep;
3954 304         0 my $current_match;
3955 304         686 my $expectation = new Parse::RecDescent::Expectation(q{',', or '=>'});
3956 304         1964 $expectation->at($_[1]);
3957            
3958 304         1237 my $thisline;
3959 304         835 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3960              
3961            
3962              
3963 304   33     2317 while (!$_matched && !$commit)
3964             {
3965            
3966 304 50       608 Parse::RecDescent::_trace(q{Trying production: [',', or '=>']},
3967             Parse::RecDescent::_tracefirst($_[1]),
3968             q{comma},
3969             $tracelevel)
3970             if defined $::RD_TRACE;
3971 304         580 my $thisprod = $thisrule->{"prods"}[0];
3972 304         569 $text = $_[1];
3973 304         458 my $_savetext;
3974 304         636 @item = (q{comma});
3975 304         626 %item = (__RULE__ => q{comma});
3976 304         442 my $repcount = 0;
3977              
3978              
3979 304 50       576 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_comma]},
3980             Parse::RecDescent::_tracefirst($text),
3981             q{comma},
3982             $tracelevel)
3983             if defined $::RD_TRACE;
3984 12     12   107 if (1) { no strict qw{refs};
  12         41  
  12         5656  
  304         411  
3985 304         654 $expectation->is(q{})->at($text);
3986 304 100   304   2722 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::_alternation_1_of_production_1_of_rule_comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  304         559  
3987             {
3988            
3989 171 50       403 Parse::RecDescent::_trace(q{<>},
3990             Parse::RecDescent::_tracefirst($text),
3991             q{comma},
3992             $tracelevel)
3993             if defined $::RD_TRACE;
3994 171         467 $expectation->failed();
3995 171         597 last;
3996             }
3997 133 50       500 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_comma]<< (return value: [}
3998             . $_tok . q{]},
3999              
4000             Parse::RecDescent::_tracefirst($text),
4001             q{comma},
4002             $tracelevel)
4003             if defined $::RD_TRACE;
4004 133         303 $item{q{_alternation_1_of_production_1_of_rule_comma}} = $_tok;
4005 133         251 push @item, $_tok;
4006            
4007             }
4008              
4009 133 50       283 Parse::RecDescent::_trace(q{>>Matched production: [',', or '=>']<<},
4010             Parse::RecDescent::_tracefirst($text),
4011             q{comma},
4012             $tracelevel)
4013             if defined $::RD_TRACE;
4014              
4015              
4016              
4017 133         214 $_matched = 1;
4018 133         220 last;
4019             }
4020              
4021              
4022 304 100 66     1143 unless ( $_matched || defined($score) )
4023             {
4024            
4025              
4026 171         312 $_[1] = $text; # NOT SURE THIS IS NEEDED
4027 171 50       356 Parse::RecDescent::_trace(q{<>},
4028             Parse::RecDescent::_tracefirst($_[1]),
4029             q{comma},
4030             $tracelevel)
4031             if defined $::RD_TRACE;
4032 171         842 return undef;
4033             }
4034 133 50 33     499 if (!defined($return) && defined($score))
4035             {
4036 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4037             q{comma},
4038             $tracelevel)
4039             if defined $::RD_TRACE;
4040 0         0 $return = $score_return;
4041             }
4042 133         209 splice @{$thisparser->{errors}}, $err_at;
  133         287  
4043 133 50       331 $return = $item[$#item] unless defined $return;
4044 133 50       270 if (defined $::RD_TRACE)
4045             {
4046 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4047             $return . q{])}, "",
4048             q{comma},
4049             $tracelevel);
4050 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4051             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4052             Parse::RecDescent::_tracefirst($text),
4053             , q{comma},
4054             $tracelevel)
4055             }
4056 133         243 $_[1] = $text;
4057 133         671 return $return;
4058             }
4059              
4060             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4061             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_first_existing_arg
4062             {
4063 24     24   397 my $thisparser = $_[0];
4064 12     12   104 use vars q{$tracelevel};
  12         28  
  12         4219  
4065 24   50     58 local $tracelevel = ($tracelevel||0)+1;
4066 24         36 $ERRORS = 0;
4067 24         54 my $thisrule = $thisparser->{"rules"}{"comma_first_existing_arg"};
4068              
4069 24 50       49 Parse::RecDescent::_trace(q{Trying rule: [comma_first_existing_arg]},
4070             Parse::RecDescent::_tracefirst($_[1]),
4071             q{comma_first_existing_arg},
4072             $tracelevel)
4073             if defined $::RD_TRACE;
4074              
4075            
4076 24         35 my $err_at = @{$thisparser->{errors}};
  24         41  
4077              
4078 24         55 my $score;
4079             my $score_return;
4080 24         0 my $_tok;
4081 24         38 my $return = undef;
4082 24         33 my $_matched=0;
4083 24         33 my $commit=0;
4084 24         34 my @item = ();
4085 24         35 my %item = ();
4086 24         38 my $repeating = $_[2];
4087 24         35 my $_noactions = $_[3];
4088 24 50       44 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  24         37  
  24         37  
4089 24         39 my $_itempos = $_[5];
4090 24 50       52 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4091 24         54 my $text;
4092             my $lastsep;
4093 24         0 my $current_match;
4094 24         59 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4095 24         153 $expectation->at($_[1]);
4096            
4097 24         96 my $thisline;
4098 24         94 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4099              
4100            
4101              
4102 24   33     200 while (!$_matched && !$commit)
4103             {
4104            
4105 24 50       55 Parse::RecDescent::_trace(q{Trying production: [comma first_existing_arg]},
4106             Parse::RecDescent::_tracefirst($_[1]),
4107             q{comma_first_existing_arg},
4108             $tracelevel)
4109             if defined $::RD_TRACE;
4110 24         46 my $thisprod = $thisrule->{"prods"}[0];
4111 24         40 $text = $_[1];
4112 24         32 my $_savetext;
4113 24         58 @item = (q{comma_first_existing_arg});
4114 24         49 %item = (__RULE__ => q{comma_first_existing_arg});
4115 24         33 my $repcount = 0;
4116              
4117              
4118 24 50       46 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4119             Parse::RecDescent::_tracefirst($text),
4120             q{comma_first_existing_arg},
4121             $tracelevel)
4122             if defined $::RD_TRACE;
4123 12     12   100 if (1) { no strict qw{refs};
  12         45  
  12         2090  
  24         34  
4124 24         51 $expectation->is(q{})->at($text);
4125 24 100   24   215 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  24         43  
4126             {
4127            
4128 12 50       24 Parse::RecDescent::_trace(q{<>},
4129             Parse::RecDescent::_tracefirst($text),
4130             q{comma_first_existing_arg},
4131             $tracelevel)
4132             if defined $::RD_TRACE;
4133 12         30 $expectation->failed();
4134 12         73 last;
4135             }
4136 12 50       37 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4137             . $_tok . q{]},
4138              
4139             Parse::RecDescent::_tracefirst($text),
4140             q{comma_first_existing_arg},
4141             $tracelevel)
4142             if defined $::RD_TRACE;
4143 12         25 $item{q{comma}} = $_tok;
4144 12         25 push @item, $_tok;
4145            
4146             }
4147              
4148 12 50       26 Parse::RecDescent::_trace(q{Trying subrule: [first_existing_arg]},
4149             Parse::RecDescent::_tracefirst($text),
4150             q{comma_first_existing_arg},
4151             $tracelevel)
4152             if defined $::RD_TRACE;
4153 12     12   90 if (1) { no strict qw{refs};
  12         28  
  12         6610  
  12         15  
4154 12         37 $expectation->is(q{first_existing_arg})->at($text);
4155 12 50   12   113 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  12         21  
4156             {
4157            
4158 0 0       0 Parse::RecDescent::_trace(q{<>},
4159             Parse::RecDescent::_tracefirst($text),
4160             q{comma_first_existing_arg},
4161             $tracelevel)
4162             if defined $::RD_TRACE;
4163 0         0 $expectation->failed();
4164 0         0 last;
4165             }
4166 12 50       39 Parse::RecDescent::_trace(q{>>Matched subrule: [first_existing_arg]<< (return value: [}
4167             . $_tok . q{]},
4168              
4169             Parse::RecDescent::_tracefirst($text),
4170             q{comma_first_existing_arg},
4171             $tracelevel)
4172             if defined $::RD_TRACE;
4173 12         26 $item{q{first_existing_arg}} = $_tok;
4174 12         23 push @item, $_tok;
4175            
4176             }
4177              
4178 12 50       26 Parse::RecDescent::_trace(q{Trying action},
4179             Parse::RecDescent::_tracefirst($text),
4180             q{comma_first_existing_arg},
4181             $tracelevel)
4182             if defined $::RD_TRACE;
4183            
4184              
4185 12 50       22 $_tok = ($_noactions) ? 0 : do { $return = $item{first_existing_arg} };
  12         26  
4186 12 50       26 unless (defined $_tok)
4187             {
4188 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4189             if defined $::RD_TRACE;
4190 0         0 last;
4191             }
4192 12 50       23 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4193             . $_tok . q{])},
4194             Parse::RecDescent::_tracefirst($text))
4195             if defined $::RD_TRACE;
4196 12         20 push @item, $_tok;
4197 12         20 $item{__ACTION1__}=$_tok;
4198            
4199              
4200 12 50       22 Parse::RecDescent::_trace(q{>>Matched production: [comma first_existing_arg]<<},
4201             Parse::RecDescent::_tracefirst($text),
4202             q{comma_first_existing_arg},
4203             $tracelevel)
4204             if defined $::RD_TRACE;
4205              
4206              
4207              
4208 12         30 $_matched = 1;
4209 12         22 last;
4210             }
4211              
4212              
4213 24 100 66     86 unless ( $_matched || defined($score) )
4214             {
4215            
4216              
4217 12         20 $_[1] = $text; # NOT SURE THIS IS NEEDED
4218 12 50       23 Parse::RecDescent::_trace(q{<>},
4219             Parse::RecDescent::_tracefirst($_[1]),
4220             q{comma_first_existing_arg},
4221             $tracelevel)
4222             if defined $::RD_TRACE;
4223 12         52 return undef;
4224             }
4225 12 50 33     32 if (!defined($return) && defined($score))
4226             {
4227 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4228             q{comma_first_existing_arg},
4229             $tracelevel)
4230             if defined $::RD_TRACE;
4231 0         0 $return = $score_return;
4232             }
4233 12         17 splice @{$thisparser->{errors}}, $err_at;
  12         25  
4234 12 50       27 $return = $item[$#item] unless defined $return;
4235 12 50       24 if (defined $::RD_TRACE)
4236             {
4237 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4238             $return . q{])}, "",
4239             q{comma_first_existing_arg},
4240             $tracelevel);
4241 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4242             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4243             Parse::RecDescent::_tracefirst($text),
4244             , q{comma_first_existing_arg},
4245             $tracelevel)
4246             }
4247 12         22 $_[1] = $text;
4248 12         58 return $return;
4249             }
4250              
4251             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4252             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_hash_pair
4253             {
4254 30     30   516 my $thisparser = $_[0];
4255 12     12   103 use vars q{$tracelevel};
  12         30  
  12         4588  
4256 30   50     77 local $tracelevel = ($tracelevel||0)+1;
4257 30         42 $ERRORS = 0;
4258 30         61 my $thisrule = $thisparser->{"rules"}{"comma_hash_pair"};
4259              
4260 30 50       63 Parse::RecDescent::_trace(q{Trying rule: [comma_hash_pair]},
4261             Parse::RecDescent::_tracefirst($_[1]),
4262             q{comma_hash_pair},
4263             $tracelevel)
4264             if defined $::RD_TRACE;
4265              
4266            
4267 30         42 my $err_at = @{$thisparser->{errors}};
  30         54  
4268              
4269 30         70 my $score;
4270             my $score_return;
4271 30         0 my $_tok;
4272 30         46 my $return = undef;
4273 30         37 my $_matched=0;
4274 30         43 my $commit=0;
4275 30         62 my @item = ();
4276 30         47 my %item = ();
4277 30         45 my $repeating = $_[2];
4278 30         49 my $_noactions = $_[3];
4279 30 50       75 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         45  
  30         48  
4280 30         47 my $_itempos = $_[5];
4281 30 50       66 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4282 30         62 my $text;
4283             my $lastsep;
4284 30         0 my $current_match;
4285 30         82 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4286 30         185 $expectation->at($_[1]);
4287            
4288 30         120 my $thisline;
4289 30         113 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4290              
4291            
4292              
4293 30   33     281 while (!$_matched && !$commit)
4294             {
4295            
4296 30 50       64 Parse::RecDescent::_trace(q{Trying production: [comma hash_pair]},
4297             Parse::RecDescent::_tracefirst($_[1]),
4298             q{comma_hash_pair},
4299             $tracelevel)
4300             if defined $::RD_TRACE;
4301 30         60 my $thisprod = $thisrule->{"prods"}[0];
4302 30         50 $text = $_[1];
4303 30         45 my $_savetext;
4304 30         59 @item = (q{comma_hash_pair});
4305 30         68 %item = (__RULE__ => q{comma_hash_pair});
4306 30         40 my $repcount = 0;
4307              
4308              
4309 30 50       64 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4310             Parse::RecDescent::_tracefirst($text),
4311             q{comma_hash_pair},
4312             $tracelevel)
4313             if defined $::RD_TRACE;
4314 12     12   101 if (1) { no strict qw{refs};
  12         31  
  12         2038  
  30         43  
4315 30         77 $expectation->is(q{})->at($text);
4316 30 100   30   257 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  30         51  
4317             {
4318            
4319 27 50       54 Parse::RecDescent::_trace(q{<>},
4320             Parse::RecDescent::_tracefirst($text),
4321             q{comma_hash_pair},
4322             $tracelevel)
4323             if defined $::RD_TRACE;
4324 27         67 $expectation->failed();
4325 27         92 last;
4326             }
4327 3 50       12 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4328             . $_tok . q{]},
4329              
4330             Parse::RecDescent::_tracefirst($text),
4331             q{comma_hash_pair},
4332             $tracelevel)
4333             if defined $::RD_TRACE;
4334 3         7 $item{q{comma}} = $_tok;
4335 3         7 push @item, $_tok;
4336            
4337             }
4338              
4339 3 50       7 Parse::RecDescent::_trace(q{Trying subrule: [hash_pair]},
4340             Parse::RecDescent::_tracefirst($text),
4341             q{comma_hash_pair},
4342             $tracelevel)
4343             if defined $::RD_TRACE;
4344 12     12   138 if (1) { no strict qw{refs};
  12         37  
  12         5464  
  3         20  
4345 3         13 $expectation->is(q{hash_pair})->at($text);
4346 3 50   3   35 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  3         7  
4347             {
4348            
4349 0 0       0 Parse::RecDescent::_trace(q{<>},
4350             Parse::RecDescent::_tracefirst($text),
4351             q{comma_hash_pair},
4352             $tracelevel)
4353             if defined $::RD_TRACE;
4354 0         0 $expectation->failed();
4355 0         0 last;
4356             }
4357 3 50       12 Parse::RecDescent::_trace(q{>>Matched subrule: [hash_pair]<< (return value: [}
4358             . $_tok . q{]},
4359              
4360             Parse::RecDescent::_tracefirst($text),
4361             q{comma_hash_pair},
4362             $tracelevel)
4363             if defined $::RD_TRACE;
4364 3         6 $item{q{hash_pair}} = $_tok;
4365 3         7 push @item, $_tok;
4366            
4367             }
4368              
4369 3 50       8 Parse::RecDescent::_trace(q{>>Matched production: [comma hash_pair]<<},
4370             Parse::RecDescent::_tracefirst($text),
4371             q{comma_hash_pair},
4372             $tracelevel)
4373             if defined $::RD_TRACE;
4374              
4375              
4376              
4377 3         6 $_matched = 1;
4378 3         5 last;
4379             }
4380              
4381              
4382 30 100 66     134 unless ( $_matched || defined($score) )
4383             {
4384            
4385              
4386 27         50 $_[1] = $text; # NOT SURE THIS IS NEEDED
4387 27 50       88 Parse::RecDescent::_trace(q{<>},
4388             Parse::RecDescent::_tracefirst($_[1]),
4389             q{comma_hash_pair},
4390             $tracelevel)
4391             if defined $::RD_TRACE;
4392 27         117 return undef;
4393             }
4394 3 50 33     15 if (!defined($return) && defined($score))
4395             {
4396 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4397             q{comma_hash_pair},
4398             $tracelevel)
4399             if defined $::RD_TRACE;
4400 0         0 $return = $score_return;
4401             }
4402 3         4 splice @{$thisparser->{errors}}, $err_at;
  3         8  
4403 3 50       9 $return = $item[$#item] unless defined $return;
4404 3 50       18 if (defined $::RD_TRACE)
4405             {
4406 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4407             $return . q{])}, "",
4408             q{comma_hash_pair},
4409             $tracelevel);
4410 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4411             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4412             Parse::RecDescent::_tracefirst($text),
4413             , q{comma_hash_pair},
4414             $tracelevel)
4415             }
4416 3         9 $_[1] = $text;
4417 3         18 return $return;
4418             }
4419              
4420             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4421             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref
4422             {
4423 60     60   1062 my $thisparser = $_[0];
4424 12     12   109 use vars q{$tracelevel};
  12         40  
  12         4435  
4425 60   50     137 local $tracelevel = ($tracelevel||0)+1;
4426 60         106 $ERRORS = 0;
4427 60         125 my $thisrule = $thisparser->{"rules"}{"comma_hashref"};
4428              
4429 60 50       124 Parse::RecDescent::_trace(q{Trying rule: [comma_hashref]},
4430             Parse::RecDescent::_tracefirst($_[1]),
4431             q{comma_hashref},
4432             $tracelevel)
4433             if defined $::RD_TRACE;
4434              
4435            
4436 60         86 my $err_at = @{$thisparser->{errors}};
  60         103  
4437              
4438 60         141 my $score;
4439             my $score_return;
4440 60         0 my $_tok;
4441 60         84 my $return = undef;
4442 60         78 my $_matched=0;
4443 60         78 my $commit=0;
4444 60         121 my @item = ();
4445 60         87 my %item = ();
4446 60         98 my $repeating = $_[2];
4447 60         78 my $_noactions = $_[3];
4448 60 50       118 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  60         82  
  60         104  
4449 60         98 my $_itempos = $_[5];
4450 60 50       137 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4451 60         143 my $text;
4452             my $lastsep;
4453 60         0 my $current_match;
4454 60         156 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4455 60         382 $expectation->at($_[1]);
4456            
4457 60         240 my $thisline;
4458 60         193 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4459              
4460            
4461              
4462 60   33     502 while (!$_matched && !$commit)
4463             {
4464            
4465 60 50       127 Parse::RecDescent::_trace(q{Trying production: [comma hashref]},
4466             Parse::RecDescent::_tracefirst($_[1]),
4467             q{comma_hashref},
4468             $tracelevel)
4469             if defined $::RD_TRACE;
4470 60         120 my $thisprod = $thisrule->{"prods"}[0];
4471 60         138 $text = $_[1];
4472 60         78 my $_savetext;
4473 60         115 @item = (q{comma_hashref});
4474 60         122 %item = (__RULE__ => q{comma_hashref});
4475 60         80 my $repcount = 0;
4476              
4477              
4478 60 50       109 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4479             Parse::RecDescent::_tracefirst($text),
4480             q{comma_hashref},
4481             $tracelevel)
4482             if defined $::RD_TRACE;
4483 12     12   100 if (1) { no strict qw{refs};
  12         26  
  12         2232  
  60         83  
4484 60         132 $expectation->is(q{})->at($text);
4485 60 100   60   540 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  60         108  
4486             {
4487            
4488 24 50       50 Parse::RecDescent::_trace(q{<>},
4489             Parse::RecDescent::_tracefirst($text),
4490             q{comma_hashref},
4491             $tracelevel)
4492             if defined $::RD_TRACE;
4493 24         61 $expectation->failed();
4494 24         78 last;
4495             }
4496 36 50       104 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4497             . $_tok . q{]},
4498              
4499             Parse::RecDescent::_tracefirst($text),
4500             q{comma_hashref},
4501             $tracelevel)
4502             if defined $::RD_TRACE;
4503 36         67 $item{q{comma}} = $_tok;
4504 36         69 push @item, $_tok;
4505            
4506             }
4507              
4508 36 50       69 Parse::RecDescent::_trace(q{Trying subrule: [hashref]},
4509             Parse::RecDescent::_tracefirst($text),
4510             q{comma_hashref},
4511             $tracelevel)
4512             if defined $::RD_TRACE;
4513 12     12   108 if (1) { no strict qw{refs};
  12         32  
  12         5703  
  36         55  
4514 36         104 $expectation->is(q{hashref})->at($text);
4515 36 100   36   357 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hashref($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  36         68  
4516             {
4517            
4518 9 50       20 Parse::RecDescent::_trace(q{<>},
4519             Parse::RecDescent::_tracefirst($text),
4520             q{comma_hashref},
4521             $tracelevel)
4522             if defined $::RD_TRACE;
4523 9         36 $expectation->failed();
4524 9         75 last;
4525             }
4526 27 50       107 Parse::RecDescent::_trace(q{>>Matched subrule: [hashref]<< (return value: [}
4527             . $_tok . q{]},
4528              
4529             Parse::RecDescent::_tracefirst($text),
4530             q{comma_hashref},
4531             $tracelevel)
4532             if defined $::RD_TRACE;
4533 27         53 $item{q{hashref}} = $_tok;
4534 27         52 push @item, $_tok;
4535            
4536             }
4537              
4538 27 50       50 Parse::RecDescent::_trace(q{>>Matched production: [comma hashref]<<},
4539             Parse::RecDescent::_tracefirst($text),
4540             q{comma_hashref},
4541             $tracelevel)
4542             if defined $::RD_TRACE;
4543              
4544              
4545              
4546 27         43 $_matched = 1;
4547 27         44 last;
4548             }
4549              
4550              
4551 60 100 66     201 unless ( $_matched || defined($score) )
4552             {
4553            
4554              
4555 33         58 $_[1] = $text; # NOT SURE THIS IS NEEDED
4556 33 50       88 Parse::RecDescent::_trace(q{<>},
4557             Parse::RecDescent::_tracefirst($_[1]),
4558             q{comma_hashref},
4559             $tracelevel)
4560             if defined $::RD_TRACE;
4561 33         152 return undef;
4562             }
4563 27 50 33     88 if (!defined($return) && defined($score))
4564             {
4565 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4566             q{comma_hashref},
4567             $tracelevel)
4568             if defined $::RD_TRACE;
4569 0         0 $return = $score_return;
4570             }
4571 27         35 splice @{$thisparser->{errors}}, $err_at;
  27         53  
4572 27 50       57 $return = $item[$#item] unless defined $return;
4573 27 50       52 if (defined $::RD_TRACE)
4574             {
4575 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4576             $return . q{])}, "",
4577             q{comma_hashref},
4578             $tracelevel);
4579 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4580             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4581             Parse::RecDescent::_tracefirst($text),
4582             , q{comma_hashref},
4583             $tracelevel)
4584             }
4585 27         42 $_[1] = $text;
4586 27         131 return $return;
4587             }
4588              
4589             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4590             sub Parse::RecDescent::Module::ExtractUse::Grammar::comma_list_item
4591             {
4592 160     160   2831 my $thisparser = $_[0];
4593 12     12   100 use vars q{$tracelevel};
  12         44  
  12         4348  
4594 160   50     473 local $tracelevel = ($tracelevel||0)+1;
4595 160         254 $ERRORS = 0;
4596 160         343 my $thisrule = $thisparser->{"rules"}{"comma_list_item"};
4597              
4598 160 50       345 Parse::RecDescent::_trace(q{Trying rule: [comma_list_item]},
4599             Parse::RecDescent::_tracefirst($_[1]),
4600             q{comma_list_item},
4601             $tracelevel)
4602             if defined $::RD_TRACE;
4603              
4604            
4605 160         222 my $err_at = @{$thisparser->{errors}};
  160         356  
4606              
4607 160         415 my $score;
4608             my $score_return;
4609 160         0 my $_tok;
4610 160         247 my $return = undef;
4611 160         235 my $_matched=0;
4612 160         250 my $commit=0;
4613 160         257 my @item = ();
4614 160         247 my %item = ();
4615 160         256 my $repeating = $_[2];
4616 160         249 my $_noactions = $_[3];
4617 160 50       313 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  160         252  
  160         278  
4618 160         288 my $_itempos = $_[5];
4619 160 50       425 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4620 160         386 my $text;
4621             my $lastsep;
4622 160         0 my $current_match;
4623 160         387 my $expectation = new Parse::RecDescent::Expectation(q{comma});
4624 160         1059 $expectation->at($_[1]);
4625            
4626 160         656 my $thisline;
4627 160         608 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4628              
4629            
4630              
4631 160   33     1314 while (!$_matched && !$commit)
4632             {
4633            
4634 160 50       418 Parse::RecDescent::_trace(q{Trying production: [comma list_item]},
4635             Parse::RecDescent::_tracefirst($_[1]),
4636             q{comma_list_item},
4637             $tracelevel)
4638             if defined $::RD_TRACE;
4639 160         322 my $thisprod = $thisrule->{"prods"}[0];
4640 160         260 $text = $_[1];
4641 160         236 my $_savetext;
4642 160         747 @item = (q{comma_list_item});
4643 160         323 %item = (__RULE__ => q{comma_list_item});
4644 160         244 my $repcount = 0;
4645              
4646              
4647 160 50       353 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
4648             Parse::RecDescent::_tracefirst($text),
4649             q{comma_list_item},
4650             $tracelevel)
4651             if defined $::RD_TRACE;
4652 12     12   113 if (1) { no strict qw{refs};
  12         29  
  12         2159  
  160         239  
4653 160         432 $expectation->is(q{})->at($text);
4654 160 100   160   1583 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  160         311  
4655             {
4656            
4657 108 50       228 Parse::RecDescent::_trace(q{<>},
4658             Parse::RecDescent::_tracefirst($text),
4659             q{comma_list_item},
4660             $tracelevel)
4661             if defined $::RD_TRACE;
4662 108         305 $expectation->failed();
4663 108         353 last;
4664             }
4665 52 50       172 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
4666             . $_tok . q{]},
4667              
4668             Parse::RecDescent::_tracefirst($text),
4669             q{comma_list_item},
4670             $tracelevel)
4671             if defined $::RD_TRACE;
4672 52         144 $item{q{comma}} = $_tok;
4673 52         92 push @item, $_tok;
4674            
4675             }
4676              
4677 52 50       125 Parse::RecDescent::_trace(q{Trying subrule: [list_item]},
4678             Parse::RecDescent::_tracefirst($text),
4679             q{comma_list_item},
4680             $tracelevel)
4681             if defined $::RD_TRACE;
4682 12     12   100 if (1) { no strict qw{refs};
  12         28  
  12         6514  
  52         86  
4683 52         193 $expectation->is(q{list_item})->at($text);
4684 52 100   52   563 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::list_item($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  52         100  
4685             {
4686            
4687 1 50       3 Parse::RecDescent::_trace(q{<>},
4688             Parse::RecDescent::_tracefirst($text),
4689             q{comma_list_item},
4690             $tracelevel)
4691             if defined $::RD_TRACE;
4692 1         4 $expectation->failed();
4693 1         9 last;
4694             }
4695 51 50       252 Parse::RecDescent::_trace(q{>>Matched subrule: [list_item]<< (return value: [}
4696             . $_tok . q{]},
4697              
4698             Parse::RecDescent::_tracefirst($text),
4699             q{comma_list_item},
4700             $tracelevel)
4701             if defined $::RD_TRACE;
4702 51         124 $item{q{list_item}} = $_tok;
4703 51         104 push @item, $_tok;
4704            
4705             }
4706              
4707 51 50       106 Parse::RecDescent::_trace(q{Trying action},
4708             Parse::RecDescent::_tracefirst($text),
4709             q{comma_list_item},
4710             $tracelevel)
4711             if defined $::RD_TRACE;
4712            
4713              
4714 51 50       144 $_tok = ($_noactions) ? 0 : do { $return=$item{list_item} };
  51         120  
4715 51 50       129 unless (defined $_tok)
4716             {
4717 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4718             if defined $::RD_TRACE;
4719 0         0 last;
4720             }
4721 51 50       116 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4722             . $_tok . q{])},
4723             Parse::RecDescent::_tracefirst($text))
4724             if defined $::RD_TRACE;
4725 51         89 push @item, $_tok;
4726 51         100 $item{__ACTION1__}=$_tok;
4727            
4728              
4729 51 50       140 Parse::RecDescent::_trace(q{>>Matched production: [comma list_item]<<},
4730             Parse::RecDescent::_tracefirst($text),
4731             q{comma_list_item},
4732             $tracelevel)
4733             if defined $::RD_TRACE;
4734              
4735              
4736              
4737 51         78 $_matched = 1;
4738 51         92 last;
4739             }
4740              
4741              
4742 160 100 66     597 unless ( $_matched || defined($score) )
4743             {
4744            
4745              
4746 109         223 $_[1] = $text; # NOT SURE THIS IS NEEDED
4747 109 50       229 Parse::RecDescent::_trace(q{<>},
4748             Parse::RecDescent::_tracefirst($_[1]),
4749             q{comma_list_item},
4750             $tracelevel)
4751             if defined $::RD_TRACE;
4752 109         468 return undef;
4753             }
4754 51 50 33     123 if (!defined($return) && defined($score))
4755             {
4756 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4757             q{comma_list_item},
4758             $tracelevel)
4759             if defined $::RD_TRACE;
4760 0         0 $return = $score_return;
4761             }
4762 51         72 splice @{$thisparser->{errors}}, $err_at;
  51         110  
4763 51 50       113 $return = $item[$#item] unless defined $return;
4764 51 50       113 if (defined $::RD_TRACE)
4765             {
4766 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4767             $return . q{])}, "",
4768             q{comma_list_item},
4769             $tracelevel);
4770 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4771             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4772             Parse::RecDescent::_tracefirst($text),
4773             , q{comma_list_item},
4774             $tracelevel)
4775             }
4776 51         97 $_[1] = $text;
4777 51         275 return $return;
4778             }
4779              
4780             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4781             sub Parse::RecDescent::Module::ExtractUse::Grammar::eos
4782             {
4783 186     186   334 my $thisparser = $_[0];
4784 12     12   99 use vars q{$tracelevel};
  12         35  
  12         9173  
4785 186   50     484 local $tracelevel = ($tracelevel||0)+1;
4786 186         319 $ERRORS = 0;
4787 186         410 my $thisrule = $thisparser->{"rules"}{"eos"};
4788              
4789 186 50       412 Parse::RecDescent::_trace(q{Trying rule: [eos]},
4790             Parse::RecDescent::_tracefirst($_[1]),
4791             q{eos},
4792             $tracelevel)
4793             if defined $::RD_TRACE;
4794              
4795            
4796 186         272 my $err_at = @{$thisparser->{errors}};
  186         354  
4797              
4798 186         484 my $score;
4799             my $score_return;
4800 186         0 my $_tok;
4801 186         308 my $return = undef;
4802 186         302 my $_matched=0;
4803 186         302 my $commit=0;
4804 186         337 my @item = ();
4805 186         319 my %item = ();
4806 186         291 my $repeating = $_[2];
4807 186         304 my $_noactions = $_[3];
4808 186 50       397 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         275  
  186         322  
4809 186         305 my $_itempos = $_[5];
4810 186 50       416 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4811 186         474 my $text;
4812             my $lastsep;
4813 186         0 my $current_match;
4814 186         455 my $expectation = new Parse::RecDescent::Expectation(q{});
4815 186         1310 $expectation->at($_[1]);
4816            
4817 186         807 my $thisline;
4818 186         565 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4819              
4820            
4821              
4822 186   33     1477 while (!$_matched && !$commit)
4823             {
4824            
4825 186 50       445 Parse::RecDescent::_trace(q{Trying production: []},
4826             Parse::RecDescent::_tracefirst($_[1]),
4827             q{eos},
4828             $tracelevel)
4829             if defined $::RD_TRACE;
4830 186         448 my $thisprod = $thisrule->{"prods"}[0];
4831 186         346 $text = $_[1];
4832 186         269 my $_savetext;
4833 186         421 @item = (q{eos});
4834 186         398 %item = (__RULE__ => q{eos});
4835 186         278 my $repcount = 0;
4836              
4837              
4838 186 50       381 Parse::RecDescent::_trace(q{Trying action},
4839             Parse::RecDescent::_tracefirst($text),
4840             q{eos},
4841             $tracelevel)
4842             if defined $::RD_TRACE;
4843            
4844              
4845 186 100       400 $_tok = ($_noactions) ? 0 : do { $text=~/^[\s;]+$/ ? 1 : undef;};
  186 50       988  
4846 186 100       512 unless (defined $_tok)
4847             {
4848 73 50       1102 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4849             if defined $::RD_TRACE;
4850 73         162 last;
4851             }
4852 113 50       237 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4853             . $_tok . q{])},
4854             Parse::RecDescent::_tracefirst($text))
4855             if defined $::RD_TRACE;
4856 113         229 push @item, $_tok;
4857 113         238 $item{__ACTION1__}=$_tok;
4858            
4859              
4860 113 50       260 Parse::RecDescent::_trace(q{>>Matched production: []<<},
4861             Parse::RecDescent::_tracefirst($text),
4862             q{eos},
4863             $tracelevel)
4864             if defined $::RD_TRACE;
4865              
4866              
4867              
4868 113         179 $_matched = 1;
4869 113         213 last;
4870             }
4871              
4872              
4873 186 100 66     569 unless ( $_matched || defined($score) )
4874             {
4875            
4876              
4877 73         145 $_[1] = $text; # NOT SURE THIS IS NEEDED
4878 73 50       177 Parse::RecDescent::_trace(q{<>},
4879             Parse::RecDescent::_tracefirst($_[1]),
4880             q{eos},
4881             $tracelevel)
4882             if defined $::RD_TRACE;
4883 73         433 return undef;
4884             }
4885 113 50 33     425 if (!defined($return) && defined($score))
4886             {
4887 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4888             q{eos},
4889             $tracelevel)
4890             if defined $::RD_TRACE;
4891 0         0 $return = $score_return;
4892             }
4893 113         181 splice @{$thisparser->{errors}}, $err_at;
  113         287  
4894 113 50       316 $return = $item[$#item] unless defined $return;
4895 113 50       284 if (defined $::RD_TRACE)
4896             {
4897 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4898             $return . q{])}, "",
4899             q{eos},
4900             $tracelevel);
4901 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4902             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4903             Parse::RecDescent::_tracefirst($text),
4904             , q{eos},
4905             $tracelevel)
4906             }
4907 113         196 $_[1] = $text;
4908 113         611 return $return;
4909             }
4910              
4911             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4912             sub Parse::RecDescent::Module::ExtractUse::Grammar::first_existing_arg
4913             {
4914 24     24   42 my $thisparser = $_[0];
4915 12     12   561 use vars q{$tracelevel};
  12         46  
  12         12082  
4916 24   50     53 local $tracelevel = ($tracelevel||0)+1;
4917 24         44 $ERRORS = 0;
4918 24         48 my $thisrule = $thisparser->{"rules"}{"first_existing_arg"};
4919              
4920 24 50       46 Parse::RecDescent::_trace(q{Trying rule: [first_existing_arg]},
4921             Parse::RecDescent::_tracefirst($_[1]),
4922             q{first_existing_arg},
4923             $tracelevel)
4924             if defined $::RD_TRACE;
4925              
4926            
4927 24         32 my $err_at = @{$thisparser->{errors}};
  24         44  
4928              
4929 24         55 my $score;
4930             my $score_return;
4931 24         0 my $_tok;
4932 24         33 my $return = undef;
4933 24         36 my $_matched=0;
4934 24         29 my $commit=0;
4935 24         42 my @item = ();
4936 24         33 my %item = ();
4937 24         35 my $repeating = $_[2];
4938 24         34 my $_noactions = $_[3];
4939 24 50       49 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  24         28  
  24         53  
4940 24         34 my $_itempos = $_[5];
4941 24 50       50 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4942 24         57 my $text;
4943             my $lastsep;
4944 24         0 my $current_match;
4945 24         59 my $expectation = new Parse::RecDescent::Expectation(q{});
4946 24         171 $expectation->at($_[1]);
4947            
4948 24         98 my $thisline;
4949 24         79 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4950              
4951            
4952              
4953 24   33     180 while (!$_matched && !$commit)
4954             {
4955            
4956 24 50       48 Parse::RecDescent::_trace(q{Trying production: [ comma_hashref]},
4957             Parse::RecDescent::_tracefirst($_[1]),
4958             q{first_existing_arg},
4959             $tracelevel)
4960             if defined $::RD_TRACE;
4961 24         47 my $thisprod = $thisrule->{"prods"}[0];
4962 24         42 $text = $_[1];
4963 24         35 my $_savetext;
4964 24         44 @item = (q{first_existing_arg});
4965 24         48 %item = (__RULE__ => q{first_existing_arg});
4966 24         31 my $repcount = 0;
4967              
4968              
4969            
4970              
4971 24 50       56 Parse::RecDescent::_trace(q{Trying directive: []},
4972             Parse::RecDescent::_tracefirst($text),
4973             q{first_existing_arg},
4974             $tracelevel)
4975             if defined $::RD_TRACE;
4976 24         31 $_tok = do { my ($match,@res);
  24         43  
4977 24         64 ($match,$text,undef,@res) =
4978             Text::Balanced::extract_quotelike($text,$skip);
4979 24 50       2185 $match ? \@res : undef;
4980             };
4981 24 50       76 if (defined($_tok))
4982             {
4983 24 50       55 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4984             . $_tok . q{])},
4985             Parse::RecDescent::_tracefirst($text))
4986             if defined $::RD_TRACE;
4987             }
4988             else
4989             {
4990 0 0       0 Parse::RecDescent::_trace(q{<>},
4991             Parse::RecDescent::_tracefirst($text))
4992             if defined $::RD_TRACE;
4993             }
4994            
4995 24 50       51 last unless defined $_tok;
4996 24         60 push @item, $item{__DIRECTIVE1__}=$_tok;
4997            
4998              
4999 24 50       47 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hashref]},
5000             Parse::RecDescent::_tracefirst($text),
5001             q{first_existing_arg},
5002             $tracelevel)
5003             if defined $::RD_TRACE;
5004 24         65 $expectation->is(q{comma_hashref})->at($text);
5005            
5006 24 50   24   251 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hashref, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  24         46  
5007             {
5008 0 0       0 Parse::RecDescent::_trace(q{<>},
5009             Parse::RecDescent::_tracefirst($text),
5010             q{first_existing_arg},
5011             $tracelevel)
5012             if defined $::RD_TRACE;
5013 0         0 last;
5014             }
5015 24 50       352 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hashref]<< (}
5016             . @$_tok . q{ times)},
5017              
5018             Parse::RecDescent::_tracefirst($text),
5019             q{first_existing_arg},
5020             $tracelevel)
5021             if defined $::RD_TRACE;
5022 24         48 $item{q{comma_hashref(?)}} = $_tok;
5023 24         40 push @item, $_tok;
5024            
5025              
5026              
5027 24 50       42 Parse::RecDescent::_trace(q{Trying action},
5028             Parse::RecDescent::_tracefirst($text),
5029             q{first_existing_arg},
5030             $tracelevel)
5031             if defined $::RD_TRACE;
5032            
5033              
5034 24 50       48 $_tok = ($_noactions) ? 0 : do { $return = $item[1][2] };
  24         50  
5035 24 50       51 unless (defined $_tok)
5036             {
5037 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5038             if defined $::RD_TRACE;
5039 0         0 last;
5040             }
5041 24 50       87 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5042             . $_tok . q{])},
5043             Parse::RecDescent::_tracefirst($text))
5044             if defined $::RD_TRACE;
5045 24         42 push @item, $_tok;
5046 24         41 $item{__ACTION1__}=$_tok;
5047            
5048              
5049 24 50       45 Parse::RecDescent::_trace(q{>>Matched production: [ comma_hashref]<<},
5050             Parse::RecDescent::_tracefirst($text),
5051             q{first_existing_arg},
5052             $tracelevel)
5053             if defined $::RD_TRACE;
5054              
5055              
5056              
5057 24         30 $_matched = 1;
5058 24         40 last;
5059             }
5060              
5061              
5062 24 50 33     52 unless ( $_matched || defined($score) )
5063             {
5064            
5065              
5066 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5067 0 0       0 Parse::RecDescent::_trace(q{<>},
5068             Parse::RecDescent::_tracefirst($_[1]),
5069             q{first_existing_arg},
5070             $tracelevel)
5071             if defined $::RD_TRACE;
5072 0         0 return undef;
5073             }
5074 24 50 33     61 if (!defined($return) && defined($score))
5075             {
5076 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5077             q{first_existing_arg},
5078             $tracelevel)
5079             if defined $::RD_TRACE;
5080 0         0 $return = $score_return;
5081             }
5082 24         32 splice @{$thisparser->{errors}}, $err_at;
  24         100  
5083 24 50       63 $return = $item[$#item] unless defined $return;
5084 24 50       58 if (defined $::RD_TRACE)
5085             {
5086 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5087             $return . q{])}, "",
5088             q{first_existing_arg},
5089             $tracelevel);
5090 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5091             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5092             Parse::RecDescent::_tracefirst($text),
5093             , q{first_existing_arg},
5094             $tracelevel)
5095             }
5096 24         46 $_[1] = $text;
5097 24         175 return $return;
5098             }
5099              
5100             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5101             sub Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair
5102             {
5103 30     30   60 my $thisparser = $_[0];
5104 12     12   115 use vars q{$tracelevel};
  12         27  
  12         6089  
5105 30   50     73 local $tracelevel = ($tracelevel||0)+1;
5106 30         48 $ERRORS = 0;
5107 30         56 my $thisrule = $thisparser->{"rules"}{"hash_pair"};
5108              
5109 30 50       65 Parse::RecDescent::_trace(q{Trying rule: [hash_pair]},
5110             Parse::RecDescent::_tracefirst($_[1]),
5111             q{hash_pair},
5112             $tracelevel)
5113             if defined $::RD_TRACE;
5114              
5115            
5116 30         41 my $err_at = @{$thisparser->{errors}};
  30         66  
5117              
5118 30         73 my $score;
5119             my $score_return;
5120 30         0 my $_tok;
5121 30         45 my $return = undef;
5122 30         43 my $_matched=0;
5123 30         41 my $commit=0;
5124 30         48 my @item = ();
5125 30         43 my %item = ();
5126 30         47 my $repeating = $_[2];
5127 30         39 my $_noactions = $_[3];
5128 30 50       69 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  30         56  
  30         49  
5129 30         79 my $_itempos = $_[5];
5130 30 50       71 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5131 30         65 my $text;
5132             my $lastsep;
5133 30         0 my $current_match;
5134 30         76 my $expectation = new Parse::RecDescent::Expectation(q{/\\S+/});
5135 30         189 $expectation->at($_[1]);
5136            
5137 30         122 my $thisline;
5138 30         84 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5139              
5140            
5141              
5142 30   33     251 while (!$_matched && !$commit)
5143             {
5144            
5145 30 50       57 Parse::RecDescent::_trace(q{Trying production: [/\\S+/ comma /[^\\s,\}]+/]},
5146             Parse::RecDescent::_tracefirst($_[1]),
5147             q{hash_pair},
5148             $tracelevel)
5149             if defined $::RD_TRACE;
5150 30         57 my $thisprod = $thisrule->{"prods"}[0];
5151 30         52 $text = $_[1];
5152 30         42 my $_savetext;
5153 30         60 @item = (q{hash_pair});
5154 30         56 %item = (__RULE__ => q{hash_pair});
5155 30         38 my $repcount = 0;
5156              
5157              
5158 30 50       58 Parse::RecDescent::_trace(q{Trying terminal: [/\\S+/]}, Parse::RecDescent::_tracefirst($text),
5159             q{hash_pair},
5160             $tracelevel)
5161             if defined $::RD_TRACE;
5162 30         63 undef $lastsep;
5163 30         81 $expectation->is(q{})->at($text);
5164            
5165              
5166 30 50 33     320 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\S+)/)
  30 50       245  
5167             {
5168 0 0       0 $text = $lastsep . $text if defined $lastsep;
5169 0         0 $expectation->failed();
5170 0 0       0 Parse::RecDescent::_trace(q{<>},
5171             Parse::RecDescent::_tracefirst($text))
5172             if defined $::RD_TRACE;
5173              
5174 0         0 last;
5175             }
5176 30         132 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5177 30         87 substr($text,0,length($current_match),q{});
5178 30 50       72 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5179             . $current_match . q{])},
5180             Parse::RecDescent::_tracefirst($text))
5181             if defined $::RD_TRACE;
5182 30         68 push @item, $item{__PATTERN1__}=$current_match;
5183            
5184              
5185 30 50       83 Parse::RecDescent::_trace(q{Trying subrule: [comma]},
5186             Parse::RecDescent::_tracefirst($text),
5187             q{hash_pair},
5188             $tracelevel)
5189             if defined $::RD_TRACE;
5190 12     12   98 if (1) { no strict qw{refs};
  12         31  
  12         2415  
  30         50  
5191 30         75 $expectation->is(q{comma})->at($text);
5192 30 50   30   283 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::comma($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  30         59  
5193             {
5194            
5195 0 0       0 Parse::RecDescent::_trace(q{<>},
5196             Parse::RecDescent::_tracefirst($text),
5197             q{hash_pair},
5198             $tracelevel)
5199             if defined $::RD_TRACE;
5200 0         0 $expectation->failed();
5201 0         0 last;
5202             }
5203 30 50       86 Parse::RecDescent::_trace(q{>>Matched subrule: [comma]<< (return value: [}
5204             . $_tok . q{]},
5205              
5206             Parse::RecDescent::_tracefirst($text),
5207             q{hash_pair},
5208             $tracelevel)
5209             if defined $::RD_TRACE;
5210 30         58 $item{q{comma}} = $_tok;
5211 30         55 push @item, $_tok;
5212            
5213             }
5214              
5215 30 50       67 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_hash_pair]},
5216             Parse::RecDescent::_tracefirst($text),
5217             q{hash_pair},
5218             $tracelevel)
5219             if defined $::RD_TRACE;
5220 12     12   102 if (1) { no strict qw{refs};
  12         27  
  12         5627  
  30         44  
5221 30         95 $expectation->is(q{/[^\\s,\}]+/})->at($text);
5222 30 50   30   303 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         56  
5223             {
5224            
5225 0 0       0 Parse::RecDescent::_trace(q{<>},
5226             Parse::RecDescent::_tracefirst($text),
5227             q{hash_pair},
5228             $tracelevel)
5229             if defined $::RD_TRACE;
5230 0         0 $expectation->failed();
5231 0         0 last;
5232             }
5233 30 50       103 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_hash_pair]<< (return value: [}
5234             . $_tok . q{]},
5235              
5236             Parse::RecDescent::_tracefirst($text),
5237             q{hash_pair},
5238             $tracelevel)
5239             if defined $::RD_TRACE;
5240 30         63 $item{q{_alternation_1_of_production_1_of_rule_hash_pair}} = $_tok;
5241 30         56 push @item, $_tok;
5242            
5243             }
5244              
5245 30 50       60 Parse::RecDescent::_trace(q{>>Matched production: [/\\S+/ comma /[^\\s,\}]+/]<<},
5246             Parse::RecDescent::_tracefirst($text),
5247             q{hash_pair},
5248             $tracelevel)
5249             if defined $::RD_TRACE;
5250              
5251              
5252              
5253 30         36 $_matched = 1;
5254 30         58 last;
5255             }
5256              
5257              
5258 30 50 33     65 unless ( $_matched || defined($score) )
5259             {
5260            
5261              
5262 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5263 0 0       0 Parse::RecDescent::_trace(q{<>},
5264             Parse::RecDescent::_tracefirst($_[1]),
5265             q{hash_pair},
5266             $tracelevel)
5267             if defined $::RD_TRACE;
5268 0         0 return undef;
5269             }
5270 30 50 33     100 if (!defined($return) && defined($score))
5271             {
5272 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5273             q{hash_pair},
5274             $tracelevel)
5275             if defined $::RD_TRACE;
5276 0         0 $return = $score_return;
5277             }
5278 30         47 splice @{$thisparser->{errors}}, $err_at;
  30         50  
5279 30 50       70 $return = $item[$#item] unless defined $return;
5280 30 50       56 if (defined $::RD_TRACE)
5281             {
5282 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5283             $return . q{])}, "",
5284             q{hash_pair},
5285             $tracelevel);
5286 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5287             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5288             Parse::RecDescent::_tracefirst($text),
5289             , q{hash_pair},
5290             $tracelevel)
5291             }
5292 30         60 $_[1] = $text;
5293 30         162 return $return;
5294             }
5295              
5296             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5297             sub Parse::RecDescent::Module::ExtractUse::Grammar::hashref
5298             {
5299 36     36   65 my $thisparser = $_[0];
5300 12     12   104 use vars q{$tracelevel};
  12         52  
  12         6290  
5301 36   50     88 local $tracelevel = ($tracelevel||0)+1;
5302 36         53 $ERRORS = 0;
5303 36         90 my $thisrule = $thisparser->{"rules"}{"hashref"};
5304              
5305 36 50       70 Parse::RecDescent::_trace(q{Trying rule: [hashref]},
5306             Parse::RecDescent::_tracefirst($_[1]),
5307             q{hashref},
5308             $tracelevel)
5309             if defined $::RD_TRACE;
5310              
5311            
5312 36         55 my $err_at = @{$thisparser->{errors}};
  36         58  
5313              
5314 36         95 my $score;
5315             my $score_return;
5316 36         0 my $_tok;
5317 36         47 my $return = undef;
5318 36         51 my $_matched=0;
5319 36         48 my $commit=0;
5320 36         58 my @item = ();
5321 36         61 my %item = ();
5322 36         57 my $repeating = $_[2];
5323 36         54 my $_noactions = $_[3];
5324 36 50       73 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  36         49  
  36         67  
5325 36         57 my $_itempos = $_[5];
5326 36 50       80 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5327 36         89 my $text;
5328             my $lastsep;
5329 36         0 my $current_match;
5330 36         85 my $expectation = new Parse::RecDescent::Expectation(q{'\{'});
5331 36         248 $expectation->at($_[1]);
5332            
5333 36         141 my $thisline;
5334 36         116 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5335              
5336            
5337              
5338 36   33     271 while (!$_matched && !$commit)
5339             {
5340            
5341 36 50       72 Parse::RecDescent::_trace(q{Trying production: ['\{' hash_pair comma_hash_pair '\}']},
5342             Parse::RecDescent::_tracefirst($_[1]),
5343             q{hashref},
5344             $tracelevel)
5345             if defined $::RD_TRACE;
5346 36         66 my $thisprod = $thisrule->{"prods"}[0];
5347 36         59 $text = $_[1];
5348 36         56 my $_savetext;
5349 36         67 @item = (q{hashref});
5350 36         76 %item = (__RULE__ => q{hashref});
5351 36         52 my $repcount = 0;
5352              
5353              
5354 36 50       67 Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
5355             Parse::RecDescent::_tracefirst($text),
5356             q{hashref},
5357             $tracelevel)
5358             if defined $::RD_TRACE;
5359 36         61 undef $lastsep;
5360 36         78 $expectation->is(q{})->at($text);
5361            
5362              
5363 36 50 66     381 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\{/)
  36 100       313  
5364             {
5365 9 50       30 $text = $lastsep . $text if defined $lastsep;
5366            
5367 9         29 $expectation->failed();
5368 9 50       37 Parse::RecDescent::_trace(qq{<>},
5369             Parse::RecDescent::_tracefirst($text))
5370             if defined $::RD_TRACE;
5371 9         19 last;
5372             }
5373 27         122 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5374 27         81 substr($text,0,length($current_match),q{});
5375 27 50       59 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5376             . $current_match . q{])},
5377             Parse::RecDescent::_tracefirst($text))
5378             if defined $::RD_TRACE;
5379 27         70 push @item, $item{__STRING1__}=$current_match;
5380            
5381              
5382 27 50       58 Parse::RecDescent::_trace(q{Trying subrule: [hash_pair]},
5383             Parse::RecDescent::_tracefirst($text),
5384             q{hashref},
5385             $tracelevel)
5386             if defined $::RD_TRACE;
5387 12     12   102 if (1) { no strict qw{refs};
  12         27  
  12         9744  
  27         37  
5388 27         69 $expectation->is(q{hash_pair})->at($text);
5389 27 50   27   253 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::hash_pair($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         52  
5390             {
5391            
5392 0 0       0 Parse::RecDescent::_trace(q{<>},
5393             Parse::RecDescent::_tracefirst($text),
5394             q{hashref},
5395             $tracelevel)
5396             if defined $::RD_TRACE;
5397 0         0 $expectation->failed();
5398 0         0 last;
5399             }
5400 27 50       96 Parse::RecDescent::_trace(q{>>Matched subrule: [hash_pair]<< (return value: [}
5401             . $_tok . q{]},
5402              
5403             Parse::RecDescent::_tracefirst($text),
5404             q{hashref},
5405             $tracelevel)
5406             if defined $::RD_TRACE;
5407 27         68 $item{q{hash_pair}} = $_tok;
5408 27         49 push @item, $_tok;
5409            
5410             }
5411              
5412 27 50       57 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_hash_pair]},
5413             Parse::RecDescent::_tracefirst($text),
5414             q{hashref},
5415             $tracelevel)
5416             if defined $::RD_TRACE;
5417 27         77 $expectation->is(q{comma_hash_pair})->at($text);
5418            
5419 27 50   30   301 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_hash_pair, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  30         58  
5420             {
5421 0 0       0 Parse::RecDescent::_trace(q{<>},
5422             Parse::RecDescent::_tracefirst($text),
5423             q{hashref},
5424             $tracelevel)
5425             if defined $::RD_TRACE;
5426 0         0 last;
5427             }
5428 27 50       359 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_hash_pair]<< (}
5429             . @$_tok . q{ times)},
5430              
5431             Parse::RecDescent::_tracefirst($text),
5432             q{hashref},
5433             $tracelevel)
5434             if defined $::RD_TRACE;
5435 27         71 $item{q{comma_hash_pair(s?)}} = $_tok;
5436 27         45 push @item, $_tok;
5437            
5438              
5439              
5440 27 50       53 Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
5441             Parse::RecDescent::_tracefirst($text),
5442             q{hashref},
5443             $tracelevel)
5444             if defined $::RD_TRACE;
5445 27         43 undef $lastsep;
5446 27         64 $expectation->is(q{'\}'})->at($text);
5447            
5448              
5449 27 50 33     290 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\}/)
  27 50       253  
5450             {
5451 0 0       0 $text = $lastsep . $text if defined $lastsep;
5452            
5453 0         0 $expectation->failed();
5454 0 0       0 Parse::RecDescent::_trace(qq{<>},
5455             Parse::RecDescent::_tracefirst($text))
5456             if defined $::RD_TRACE;
5457 0         0 last;
5458             }
5459 27         138 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5460 27         77 substr($text,0,length($current_match),q{});
5461 27 50       56 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5462             . $current_match . q{])},
5463             Parse::RecDescent::_tracefirst($text))
5464             if defined $::RD_TRACE;
5465 27         64 push @item, $item{__STRING2__}=$current_match;
5466            
5467              
5468 27 50       53 Parse::RecDescent::_trace(q{>>Matched production: ['\{' hash_pair comma_hash_pair '\}']<<},
5469             Parse::RecDescent::_tracefirst($text),
5470             q{hashref},
5471             $tracelevel)
5472             if defined $::RD_TRACE;
5473              
5474              
5475              
5476 27         73 $_matched = 1;
5477 27         55 last;
5478             }
5479              
5480              
5481 36 100 66     103 unless ( $_matched || defined($score) )
5482             {
5483            
5484              
5485 9         16 $_[1] = $text; # NOT SURE THIS IS NEEDED
5486 9 50       17 Parse::RecDescent::_trace(q{<>},
5487             Parse::RecDescent::_tracefirst($_[1]),
5488             q{hashref},
5489             $tracelevel)
5490             if defined $::RD_TRACE;
5491 9         45 return undef;
5492             }
5493 27 50 33     87 if (!defined($return) && defined($score))
5494             {
5495 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5496             q{hashref},
5497             $tracelevel)
5498             if defined $::RD_TRACE;
5499 0         0 $return = $score_return;
5500             }
5501 27         63 splice @{$thisparser->{errors}}, $err_at;
  27         67  
5502 27 50       67 $return = $item[$#item] unless defined $return;
5503 27 50       55 if (defined $::RD_TRACE)
5504             {
5505 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5506             $return . q{])}, "",
5507             q{hashref},
5508             $tracelevel);
5509 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5510             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5511             Parse::RecDescent::_tracefirst($text),
5512             , q{hashref},
5513             $tracelevel)
5514             }
5515 27         50 $_[1] = $text;
5516 27         166 return $return;
5517             }
5518              
5519             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5520             sub Parse::RecDescent::Module::ExtractUse::Grammar::import_list
5521             {
5522 137     137   1367 my $thisparser = $_[0];
5523 12     12   105 use vars q{$tracelevel};
  12         28  
  12         6236  
5524 137   50     339 local $tracelevel = ($tracelevel||0)+1;
5525 137         217 $ERRORS = 0;
5526 137         318 my $thisrule = $thisparser->{"rules"}{"import_list"};
5527              
5528 137 50       294 Parse::RecDescent::_trace(q{Trying rule: [import_list]},
5529             Parse::RecDescent::_tracefirst($_[1]),
5530             q{import_list},
5531             $tracelevel)
5532             if defined $::RD_TRACE;
5533              
5534            
5535 137         231 my $err_at = @{$thisparser->{errors}};
  137         278  
5536              
5537 137         1307 my $score;
5538             my $score_return;
5539 137         0 my $_tok;
5540 137         206 my $return = undef;
5541 137         191 my $_matched=0;
5542 137         194 my $commit=0;
5543 137         233 my @item = ();
5544 137         256 my %item = ();
5545 137         255 my $repeating = $_[2];
5546 137         238 my $_noactions = $_[3];
5547 137 50       316 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  137         213  
  137         235  
5548 137         248 my $_itempos = $_[5];
5549 137 50       367 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5550 137         339 my $text;
5551             my $lastsep;
5552 137         0 my $current_match;
5553 137         367 my $expectation = new Parse::RecDescent::Expectation(q{/[(]?/, or /[(]\\s*[)]/});
5554 137         963 $expectation->at($_[1]);
5555            
5556 137         588 my $thisline;
5557 137         431 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5558              
5559            
5560              
5561 137   33     1087 while (!$_matched && !$commit)
5562             {
5563            
5564 137 50       282 Parse::RecDescent::_trace(q{Trying production: [/[(]?/ list_item comma_list_item /[)]?/]},
5565             Parse::RecDescent::_tracefirst($_[1]),
5566             q{import_list},
5567             $tracelevel)
5568             if defined $::RD_TRACE;
5569 137         292 my $thisprod = $thisrule->{"prods"}[0];
5570 137         286 $text = $_[1];
5571 137         238 my $_savetext;
5572 137         280 @item = (q{import_list});
5573 137         286 %item = (__RULE__ => q{import_list});
5574 137         209 my $repcount = 0;
5575              
5576              
5577 137 50       292 Parse::RecDescent::_trace(q{Trying terminal: [/[(]?/]}, Parse::RecDescent::_tracefirst($text),
5578             q{import_list},
5579             $tracelevel)
5580             if defined $::RD_TRACE;
5581 137         261 undef $lastsep;
5582 137         337 $expectation->is(q{})->at($text);
5583            
5584              
5585 137 100 33     1529 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[(]?)/)
  137 50       1267  
5586             {
5587 0 0       0 $text = $lastsep . $text if defined $lastsep;
5588 0         0 $expectation->failed();
5589 0 0       0 Parse::RecDescent::_trace(q{<>},
5590             Parse::RecDescent::_tracefirst($text))
5591             if defined $::RD_TRACE;
5592              
5593 0         0 last;
5594             }
5595 137         696 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5596 137         430 substr($text,0,length($current_match),q{});
5597 137 50       301 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5598             . $current_match . q{])},
5599             Parse::RecDescent::_tracefirst($text))
5600             if defined $::RD_TRACE;
5601 137         364 push @item, $item{__PATTERN1__}=$current_match;
5602            
5603              
5604 137 50       399 Parse::RecDescent::_trace(q{Trying subrule: [list_item]},
5605             Parse::RecDescent::_tracefirst($text),
5606             q{import_list},
5607             $tracelevel)
5608             if defined $::RD_TRACE;
5609 12     12   102 if (1) { no strict qw{refs};
  12         40  
  12         16240  
  137         290  
5610 137         371 $expectation->is(q{list_item})->at($text);
5611 137 100   137   1457 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::list_item($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  137         270  
5612             {
5613            
5614 28 50       84 Parse::RecDescent::_trace(q{<>},
5615             Parse::RecDescent::_tracefirst($text),
5616             q{import_list},
5617             $tracelevel)
5618             if defined $::RD_TRACE;
5619 28         93 $expectation->failed();
5620 28         261 last;
5621             }
5622 109 50       454 Parse::RecDescent::_trace(q{>>Matched subrule: [list_item]<< (return value: [}
5623             . $_tok . q{]},
5624              
5625             Parse::RecDescent::_tracefirst($text),
5626             q{import_list},
5627             $tracelevel)
5628             if defined $::RD_TRACE;
5629 109         255 $item{q{list_item}} = $_tok;
5630 109         201 push @item, $_tok;
5631            
5632             }
5633              
5634 109 50       232 Parse::RecDescent::_trace(q{Trying repeated subrule: [comma_list_item]},
5635             Parse::RecDescent::_tracefirst($text),
5636             q{import_list},
5637             $tracelevel)
5638             if defined $::RD_TRACE;
5639 109         346 $expectation->is(q{comma_list_item})->at($text);
5640            
5641 109 50   160   1316 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::comma_list_item, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  160         323  
5642             {
5643 0 0       0 Parse::RecDescent::_trace(q{<>},
5644             Parse::RecDescent::_tracefirst($text),
5645             q{import_list},
5646             $tracelevel)
5647             if defined $::RD_TRACE;
5648 0         0 last;
5649             }
5650 109 50       1567 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comma_list_item]<< (}
5651             . @$_tok . q{ times)},
5652              
5653             Parse::RecDescent::_tracefirst($text),
5654             q{import_list},
5655             $tracelevel)
5656             if defined $::RD_TRACE;
5657 109         263 $item{q{comma_list_item(s?)}} = $_tok;
5658 109         271 push @item, $_tok;
5659            
5660              
5661              
5662 109 50       252 Parse::RecDescent::_trace(q{Trying terminal: [/[)]?/]}, Parse::RecDescent::_tracefirst($text),
5663             q{import_list},
5664             $tracelevel)
5665             if defined $::RD_TRACE;
5666 109         191 undef $lastsep;
5667 109         281 $expectation->is(q{/[)]?/})->at($text);
5668            
5669              
5670 109 100 33     1290 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[)]?)/)
  109 50       895  
5671             {
5672 0 0       0 $text = $lastsep . $text if defined $lastsep;
5673 0         0 $expectation->failed();
5674 0 0       0 Parse::RecDescent::_trace(q{<>},
5675             Parse::RecDescent::_tracefirst($text))
5676             if defined $::RD_TRACE;
5677              
5678 0         0 last;
5679             }
5680 109         564 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5681 109         352 substr($text,0,length($current_match),q{});
5682 109 50       237 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5683             . $current_match . q{])},
5684             Parse::RecDescent::_tracefirst($text))
5685             if defined $::RD_TRACE;
5686 109         296 push @item, $item{__PATTERN2__}=$current_match;
5687            
5688              
5689 109 50       228 Parse::RecDescent::_trace(q{Trying action},
5690             Parse::RecDescent::_tracefirst($text),
5691             q{import_list},
5692             $tracelevel)
5693             if defined $::RD_TRACE;
5694            
5695              
5696 109 50       226 $_tok = ($_noactions) ? 0 : do { $return=$item[2];
  109         171  
5697 109 50       290 $return.=" ".join(" ",@{$item[3]}) if $item[3];
  109         475  
5698             };
5699 109 50       263 unless (defined $_tok)
5700             {
5701 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5702             if defined $::RD_TRACE;
5703 0         0 last;
5704             }
5705 109 50       219 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5706             . $_tok . q{])},
5707             Parse::RecDescent::_tracefirst($text))
5708             if defined $::RD_TRACE;
5709 109         182 push @item, $_tok;
5710 109         235 $item{__ACTION1__}=$_tok;
5711            
5712              
5713 109 50       225 Parse::RecDescent::_trace(q{>>Matched production: [/[(]?/ list_item comma_list_item /[)]?/]<<},
5714             Parse::RecDescent::_tracefirst($text),
5715             q{import_list},
5716             $tracelevel)
5717             if defined $::RD_TRACE;
5718              
5719              
5720              
5721 109         206 $_matched = 1;
5722 109         260 last;
5723             }
5724              
5725              
5726 137   66     445 while (!$_matched && !$commit)
5727             {
5728            
5729 28 50       82 Parse::RecDescent::_trace(q{Trying production: [/[(]\\s*[)]/]},
5730             Parse::RecDescent::_tracefirst($_[1]),
5731             q{import_list},
5732             $tracelevel)
5733             if defined $::RD_TRACE;
5734 28         64 my $thisprod = $thisrule->{"prods"}[1];
5735 28         54 $text = $_[1];
5736 28         219 my $_savetext;
5737 28         78 @item = (q{import_list});
5738 28         73 %item = (__RULE__ => q{import_list});
5739 28         63 my $repcount = 0;
5740              
5741              
5742 28 50       104 Parse::RecDescent::_trace(q{Trying terminal: [/[(]\\s*[)]/]}, Parse::RecDescent::_tracefirst($text),
5743             q{import_list},
5744             $tracelevel)
5745             if defined $::RD_TRACE;
5746 28         65 undef $lastsep;
5747 28         82 $expectation->is(q{})->at($text);
5748            
5749              
5750 28 100 66     380 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[(]\s*[)])/)
  28 100       247  
5751             {
5752 22 50       81 $text = $lastsep . $text if defined $lastsep;
5753 22         75 $expectation->failed();
5754 22 50       91 Parse::RecDescent::_trace(q{<>},
5755             Parse::RecDescent::_tracefirst($text))
5756             if defined $::RD_TRACE;
5757              
5758 22         46 last;
5759             }
5760 6         36 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5761 6         28 substr($text,0,length($current_match),q{});
5762 6 50       44 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5763             . $current_match . q{])},
5764             Parse::RecDescent::_tracefirst($text))
5765             if defined $::RD_TRACE;
5766 6         23 push @item, $item{__PATTERN1__}=$current_match;
5767            
5768              
5769 6 50       21 Parse::RecDescent::_trace(q{Trying action},
5770             Parse::RecDescent::_tracefirst($text),
5771             q{import_list},
5772             $tracelevel)
5773             if defined $::RD_TRACE;
5774            
5775              
5776 6 50       291 $_tok = ($_noactions) ? 0 : do { $return='' };
  6         26  
5777 6 50       22 unless (defined $_tok)
5778             {
5779 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5780             if defined $::RD_TRACE;
5781 0         0 last;
5782             }
5783 6 50       23 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5784             . $_tok . q{])},
5785             Parse::RecDescent::_tracefirst($text))
5786             if defined $::RD_TRACE;
5787 6         12 push @item, $_tok;
5788 6         18 $item{__ACTION1__}=$_tok;
5789            
5790              
5791 6 50       19 Parse::RecDescent::_trace(q{>>Matched production: [/[(]\\s*[)]/]<<},
5792             Parse::RecDescent::_tracefirst($text),
5793             q{import_list},
5794             $tracelevel)
5795             if defined $::RD_TRACE;
5796              
5797              
5798              
5799 6         16 $_matched = 1;
5800 6         15 last;
5801             }
5802              
5803              
5804 137 100 66     395 unless ( $_matched || defined($score) )
5805             {
5806            
5807              
5808 22         40 $_[1] = $text; # NOT SURE THIS IS NEEDED
5809 22 50       57 Parse::RecDescent::_trace(q{<>},
5810             Parse::RecDescent::_tracefirst($_[1]),
5811             q{import_list},
5812             $tracelevel)
5813             if defined $::RD_TRACE;
5814 22         112 return undef;
5815             }
5816 115 50 33     341 if (!defined($return) && defined($score))
5817             {
5818 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5819             q{import_list},
5820             $tracelevel)
5821             if defined $::RD_TRACE;
5822 0         0 $return = $score_return;
5823             }
5824 115         195 splice @{$thisparser->{errors}}, $err_at;
  115         288  
5825 115 50       293 $return = $item[$#item] unless defined $return;
5826 115 50       267 if (defined $::RD_TRACE)
5827             {
5828 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5829             $return . q{])}, "",
5830             q{import_list},
5831             $tracelevel);
5832 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5833             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5834             Parse::RecDescent::_tracefirst($text),
5835             , q{import_list},
5836             $tracelevel)
5837             }
5838 115         230 $_[1] = $text;
5839 115         783 return $return;
5840             }
5841              
5842             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
5843             sub Parse::RecDescent::Module::ExtractUse::Grammar::list_item
5844             {
5845 189     189   378 my $thisparser = $_[0];
5846 12     12   117 use vars q{$tracelevel};
  12         31  
  12         19037  
5847 189   50     523 local $tracelevel = ($tracelevel||0)+1;
5848 189         308 $ERRORS = 0;
5849 189         413 my $thisrule = $thisparser->{"rules"}{"list_item"};
5850              
5851 189 50       1225 Parse::RecDescent::_trace(q{Trying rule: [list_item]},
5852             Parse::RecDescent::_tracefirst($_[1]),
5853             q{list_item},
5854             $tracelevel)
5855             if defined $::RD_TRACE;
5856              
5857            
5858 189         317 my $err_at = @{$thisparser->{errors}};
  189         378  
5859              
5860 189         459 my $score;
5861             my $score_return;
5862 189         0 my $_tok;
5863 189         270 my $return = undef;
5864 189         284 my $_matched=0;
5865 189         246 my $commit=0;
5866 189         331 my @item = ();
5867 189         297 my %item = ();
5868 189         267 my $repeating = $_[2];
5869 189         269 my $_noactions = $_[3];
5870 189 50       398 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  189         252  
  189         330  
5871 189         339 my $_itempos = $_[5];
5872 189 50       462 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5873 189         449 my $text;
5874             my $lastsep;
5875 189         0 my $current_match;
5876 189         476 my $expectation = new Parse::RecDescent::Expectation(q{/-?\\w+/});
5877 189         1271 $expectation->at($_[1]);
5878            
5879 189         771 my $thisline;
5880 189         623 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5881              
5882            
5883              
5884 189   33     1467 while (!$_matched && !$commit)
5885             {
5886            
5887 189 50       423 Parse::RecDescent::_trace(q{Trying production: []},
5888             Parse::RecDescent::_tracefirst($_[1]),
5889             q{list_item},
5890             $tracelevel)
5891             if defined $::RD_TRACE;
5892 189         420 my $thisprod = $thisrule->{"prods"}[0];
5893 189         351 $text = $_[1];
5894 189         285 my $_savetext;
5895 189         386 @item = (q{list_item});
5896 189         397 %item = (__RULE__ => q{list_item});
5897 189         292 my $repcount = 0;
5898              
5899              
5900            
5901              
5902 189 50       349 Parse::RecDescent::_trace(q{Trying directive: []},
5903             Parse::RecDescent::_tracefirst($text),
5904             q{list_item},
5905             $tracelevel)
5906             if defined $::RD_TRACE;
5907 189         301 $_tok = do { my ($match,@res);
  189         321  
5908 189         637 ($match,$text,undef,@res) =
5909             Text::Balanced::extract_quotelike($text,$skip);
5910 189 100       17971 $match ? \@res : undef;
5911             };
5912 189 100       435 if (defined($_tok))
5913             {
5914 108 50       241 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5915             . $_tok . q{])},
5916             Parse::RecDescent::_tracefirst($text))
5917             if defined $::RD_TRACE;
5918             }
5919             else
5920             {
5921 81 50       221 Parse::RecDescent::_trace(q{<>},
5922             Parse::RecDescent::_tracefirst($text))
5923             if defined $::RD_TRACE;
5924             }
5925            
5926 189 100       472 last unless defined $_tok;
5927 108         272 push @item, $item{__DIRECTIVE1__}=$_tok;
5928            
5929              
5930 108 50       199 Parse::RecDescent::_trace(q{Trying action},
5931             Parse::RecDescent::_tracefirst($text),
5932             q{list_item},
5933             $tracelevel)
5934             if defined $::RD_TRACE;
5935            
5936              
5937 108 50       189 $_tok = ($_noactions) ? 0 : do { $return=$item[1][2] };
  108         264  
5938 108 50       276 unless (defined $_tok)
5939             {
5940 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5941             if defined $::RD_TRACE;
5942 0         0 last;
5943             }
5944 108 50       266 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5945             . $_tok . q{])},
5946             Parse::RecDescent::_tracefirst($text))
5947             if defined $::RD_TRACE;
5948 108         179 push @item, $_tok;
5949 108         230 $item{__ACTION1__}=$_tok;
5950            
5951              
5952 108 50       198 Parse::RecDescent::_trace(q{>>Matched production: []<<},
5953             Parse::RecDescent::_tracefirst($text),
5954             q{list_item},
5955             $tracelevel)
5956             if defined $::RD_TRACE;
5957              
5958              
5959              
5960 108         158 $_matched = 1;
5961 108         186 last;
5962             }
5963              
5964              
5965 189   66     637 while (!$_matched && !$commit)
5966             {
5967            
5968 81 50       182 Parse::RecDescent::_trace(q{Trying production: []},
5969             Parse::RecDescent::_tracefirst($_[1]),
5970             q{list_item},
5971             $tracelevel)
5972             if defined $::RD_TRACE;
5973 81         192 my $thisprod = $thisrule->{"prods"}[1];
5974 81         179 $text = $_[1];
5975 81         136 my $_savetext;
5976 81         194 @item = (q{list_item});
5977 81         204 %item = (__RULE__ => q{list_item});
5978 81         136 my $repcount = 0;
5979              
5980              
5981            
5982              
5983 81 50       212 Parse::RecDescent::_trace(q{Trying directive: []},
5984             Parse::RecDescent::_tracefirst($text),
5985             q{list_item},
5986             $tracelevel)
5987             if defined $::RD_TRACE;
5988 81         116 $_tok = do { Text::Balanced::extract_codeblock($text,undef,$skip,'(){}[]');
  81         297  
5989             };
5990 81 100       11506 if (defined($_tok))
5991             {
5992 9 50       36 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5993             . $_tok . q{])},
5994             Parse::RecDescent::_tracefirst($text))
5995             if defined $::RD_TRACE;
5996             }
5997             else
5998             {
5999 72 50       196 Parse::RecDescent::_trace(q{<>},
6000             Parse::RecDescent::_tracefirst($text))
6001             if defined $::RD_TRACE;
6002             }
6003            
6004 81 100       242 last unless defined $_tok;
6005 9         39 push @item, $item{__DIRECTIVE1__}=$_tok;
6006            
6007              
6008 9 50       35 Parse::RecDescent::_trace(q{Trying action},
6009             Parse::RecDescent::_tracefirst($text),
6010             q{list_item},
6011             $tracelevel)
6012             if defined $::RD_TRACE;
6013            
6014              
6015 9 50       28 $_tok = ($_noactions) ? 0 : do { $return=$item[1] };
  9         28  
6016 9 50       29 unless (defined $_tok)
6017             {
6018 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6019             if defined $::RD_TRACE;
6020 0         0 last;
6021             }
6022 9 50       25 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6023             . $_tok . q{])},
6024             Parse::RecDescent::_tracefirst($text))
6025             if defined $::RD_TRACE;
6026 9         20 push @item, $_tok;
6027 9         38 $item{__ACTION1__}=$_tok;
6028            
6029              
6030 9 50       28 Parse::RecDescent::_trace(q{>>Matched production: []<<},
6031             Parse::RecDescent::_tracefirst($text),
6032             q{list_item},
6033             $tracelevel)
6034             if defined $::RD_TRACE;
6035              
6036              
6037              
6038 9         19 $_matched = 1;
6039 9         22 last;
6040             }
6041              
6042              
6043 189   66     601 while (!$_matched && !$commit)
6044             {
6045            
6046 72 50       215 Parse::RecDescent::_trace(q{Trying production: [/-?\\w+/]},
6047             Parse::RecDescent::_tracefirst($_[1]),
6048             q{list_item},
6049             $tracelevel)
6050             if defined $::RD_TRACE;
6051 72         170 my $thisprod = $thisrule->{"prods"}[2];
6052 72         165 $text = $_[1];
6053 72         115 my $_savetext;
6054 72         178 @item = (q{list_item});
6055 72         189 %item = (__RULE__ => q{list_item});
6056 72         130 my $repcount = 0;
6057              
6058              
6059 72 50       175 Parse::RecDescent::_trace(q{Trying terminal: [/-?\\w+/]}, Parse::RecDescent::_tracefirst($text),
6060             q{list_item},
6061             $tracelevel)
6062             if defined $::RD_TRACE;
6063 72         147 undef $lastsep;
6064 72         273 $expectation->is(q{})->at($text);
6065            
6066              
6067 72 100 66     888 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:-?\w+)/)
  72 100       661  
6068             {
6069 29 50       113 $text = $lastsep . $text if defined $lastsep;
6070 29         105 $expectation->failed();
6071 29 50       152 Parse::RecDescent::_trace(q{<>},
6072             Parse::RecDescent::_tracefirst($text))
6073             if defined $::RD_TRACE;
6074              
6075 29         70 last;
6076             }
6077 43         274 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6078 43         146 substr($text,0,length($current_match),q{});
6079 43 50       116 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6080             . $current_match . q{])},
6081             Parse::RecDescent::_tracefirst($text))
6082             if defined $::RD_TRACE;
6083 43         126 push @item, $item{__PATTERN1__}=$current_match;
6084            
6085              
6086 43 50       117 Parse::RecDescent::_trace(q{Trying action},
6087             Parse::RecDescent::_tracefirst($text),
6088             q{list_item},
6089             $tracelevel)
6090             if defined $::RD_TRACE;
6091            
6092              
6093 43 50       96 $_tok = ($_noactions) ? 0 : do { $return=$item[1] };
  43         87  
6094 43 50       131 unless (defined $_tok)
6095             {
6096 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6097             if defined $::RD_TRACE;
6098 0         0 last;
6099             }
6100 43 50       103 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6101             . $_tok . q{])},
6102             Parse::RecDescent::_tracefirst($text))
6103             if defined $::RD_TRACE;
6104 43         94 push @item, $_tok;
6105 43         99 $item{__ACTION1__}=$_tok;
6106            
6107              
6108 43 50       95 Parse::RecDescent::_trace(q{>>Matched production: [/-?\\w+/]<<},
6109             Parse::RecDescent::_tracefirst($text),
6110             q{list_item},
6111             $tracelevel)
6112             if defined $::RD_TRACE;
6113              
6114              
6115              
6116 43         74 $_matched = 1;
6117 43         100 last;
6118             }
6119              
6120              
6121 189 100 66     534 unless ( $_matched || defined($score) )
6122             {
6123            
6124              
6125 29         76 $_[1] = $text; # NOT SURE THIS IS NEEDED
6126 29 50       67 Parse::RecDescent::_trace(q{<>},
6127             Parse::RecDescent::_tracefirst($_[1]),
6128             q{list_item},
6129             $tracelevel)
6130             if defined $::RD_TRACE;
6131 29         189 return undef;
6132             }
6133 160 50 33     377 if (!defined($return) && defined($score))
6134             {
6135 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6136             q{list_item},
6137             $tracelevel)
6138             if defined $::RD_TRACE;
6139 0         0 $return = $score_return;
6140             }
6141 160         329 splice @{$thisparser->{errors}}, $err_at;
  160         386  
6142 160 50       363 $return = $item[$#item] unless defined $return;
6143 160 50       374 if (defined $::RD_TRACE)
6144             {
6145 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6146             $return . q{])}, "",
6147             q{list_item},
6148             $tracelevel);
6149 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6150             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6151             Parse::RecDescent::_tracefirst($text),
6152             , q{list_item},
6153             $tracelevel)
6154             }
6155 160         322 $_[1] = $text;
6156 160         1124 return $return;
6157             }
6158              
6159             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6160             sub Parse::RecDescent::Module::ExtractUse::Grammar::module
6161             {
6162 186     186   353 my $thisparser = $_[0];
6163 12     12   119 use vars q{$tracelevel};
  12         30  
  12         4296  
6164 186   50     520 local $tracelevel = ($tracelevel||0)+1;
6165 186         377 $ERRORS = 0;
6166 186         407 my $thisrule = $thisparser->{"rules"}{"module"};
6167              
6168 186 50       409 Parse::RecDescent::_trace(q{Trying rule: [module]},
6169             Parse::RecDescent::_tracefirst($_[1]),
6170             q{module},
6171             $tracelevel)
6172             if defined $::RD_TRACE;
6173              
6174            
6175 186         307 my $err_at = @{$thisparser->{errors}};
  186         347  
6176              
6177 186         498 my $score;
6178             my $score_return;
6179 186         0 my $_tok;
6180 186         304 my $return = undef;
6181 186         310 my $_matched=0;
6182 186         266 my $commit=0;
6183 186         375 my @item = ();
6184 186         316 my %item = ();
6185 186         308 my $repeating = $_[2];
6186 186         267 my $_noactions = $_[3];
6187 186 50       422 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         316  
  186         361  
6188 186         306 my $_itempos = $_[5];
6189 186 50       495 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6190 186         479 my $text;
6191             my $lastsep;
6192 186         0 my $current_match;
6193 186         549 my $expectation = new Parse::RecDescent::Expectation(q{module_name});
6194 186         1251 $expectation->at($_[1]);
6195            
6196 186         745 my $thisline;
6197 186         607 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6198              
6199            
6200              
6201 186   33     1457 while (!$_matched && !$commit)
6202             {
6203            
6204 186 50       438 Parse::RecDescent::_trace(q{Trying production: [module_name module_more]},
6205             Parse::RecDescent::_tracefirst($_[1]),
6206             q{module},
6207             $tracelevel)
6208             if defined $::RD_TRACE;
6209 186         437 my $thisprod = $thisrule->{"prods"}[0];
6210 186         360 $text = $_[1];
6211 186         273 my $_savetext;
6212 186         376 @item = (q{module});
6213 186         407 %item = (__RULE__ => q{module});
6214 186         285 my $repcount = 0;
6215              
6216              
6217 186 50       468 Parse::RecDescent::_trace(q{Trying subrule: [module_name]},
6218             Parse::RecDescent::_tracefirst($text),
6219             q{module},
6220             $tracelevel)
6221             if defined $::RD_TRACE;
6222 12     12   102 if (1) { no strict qw{refs};
  12         31  
  12         2161  
  186         316  
6223 186         459 $expectation->is(q{})->at($text);
6224 186 50   186   1932 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_name($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         377  
6225             {
6226            
6227 0 0       0 Parse::RecDescent::_trace(q{<>},
6228             Parse::RecDescent::_tracefirst($text),
6229             q{module},
6230             $tracelevel)
6231             if defined $::RD_TRACE;
6232 0         0 $expectation->failed();
6233 0         0 last;
6234             }
6235 186 50       747 Parse::RecDescent::_trace(q{>>Matched subrule: [module_name]<< (return value: [}
6236             . $_tok . q{]},
6237              
6238             Parse::RecDescent::_tracefirst($text),
6239             q{module},
6240             $tracelevel)
6241             if defined $::RD_TRACE;
6242 186         453 $item{q{module_name}} = $_tok;
6243 186         384 push @item, $_tok;
6244            
6245             }
6246              
6247 186 50       418 Parse::RecDescent::_trace(q{Trying subrule: [module_more]},
6248             Parse::RecDescent::_tracefirst($text),
6249             q{module},
6250             $tracelevel)
6251             if defined $::RD_TRACE;
6252 12     12   104 if (1) { no strict qw{refs};
  12         41  
  12         6534  
  186         326  
6253 186         891 $expectation->is(q{module_more})->at($text);
6254 186 50   186   1910 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_more($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         391  
6255             {
6256            
6257 0 0       0 Parse::RecDescent::_trace(q{<>},
6258             Parse::RecDescent::_tracefirst($text),
6259             q{module},
6260             $tracelevel)
6261             if defined $::RD_TRACE;
6262 0         0 $expectation->failed();
6263 0         0 last;
6264             }
6265 186 50       574 Parse::RecDescent::_trace(q{>>Matched subrule: [module_more]<< (return value: [}
6266             . $_tok . q{]},
6267              
6268             Parse::RecDescent::_tracefirst($text),
6269             q{module},
6270             $tracelevel)
6271             if defined $::RD_TRACE;
6272 186         446 $item{q{module_more}} = $_tok;
6273 186         352 push @item, $_tok;
6274            
6275             }
6276              
6277 186 50       388 Parse::RecDescent::_trace(q{Trying action},
6278             Parse::RecDescent::_tracefirst($text),
6279             q{module},
6280             $tracelevel)
6281             if defined $::RD_TRACE;
6282            
6283              
6284 186 50       366 $_tok = ($_noactions) ? 0 : do { $return=$item{module_name} };
  186         407  
6285 186 50       433 unless (defined $_tok)
6286             {
6287 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6288             if defined $::RD_TRACE;
6289 0         0 last;
6290             }
6291 186 50       375 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6292             . $_tok . q{])},
6293             Parse::RecDescent::_tracefirst($text))
6294             if defined $::RD_TRACE;
6295 186         330 push @item, $_tok;
6296 186         310 $item{__ACTION1__}=$_tok;
6297            
6298              
6299 186 50       577 Parse::RecDescent::_trace(q{>>Matched production: [module_name module_more]<<},
6300             Parse::RecDescent::_tracefirst($text),
6301             q{module},
6302             $tracelevel)
6303             if defined $::RD_TRACE;
6304              
6305              
6306              
6307 186         308 $_matched = 1;
6308 186         323 last;
6309             }
6310              
6311              
6312 186 50 33     467 unless ( $_matched || defined($score) )
6313             {
6314            
6315              
6316 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6317 0 0       0 Parse::RecDescent::_trace(q{<>},
6318             Parse::RecDescent::_tracefirst($_[1]),
6319             q{module},
6320             $tracelevel)
6321             if defined $::RD_TRACE;
6322 0         0 return undef;
6323             }
6324 186 50 33     463 if (!defined($return) && defined($score))
6325             {
6326 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6327             q{module},
6328             $tracelevel)
6329             if defined $::RD_TRACE;
6330 0         0 $return = $score_return;
6331             }
6332 186         277 splice @{$thisparser->{errors}}, $err_at;
  186         359  
6333 186 50       461 $return = $item[$#item] unless defined $return;
6334 186 50       411 if (defined $::RD_TRACE)
6335             {
6336 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6337             $return . q{])}, "",
6338             q{module},
6339             $tracelevel);
6340 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6341             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6342             Parse::RecDescent::_tracefirst($text),
6343             , q{module},
6344             $tracelevel)
6345             }
6346 186         355 $_[1] = $text;
6347 186         1179 return $return;
6348             }
6349              
6350             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6351             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_more
6352             {
6353 186     186   364 my $thisparser = $_[0];
6354 12     12   104 use vars q{$tracelevel};
  12         25  
  12         4726  
6355 186   50     521 local $tracelevel = ($tracelevel||0)+1;
6356 186         329 $ERRORS = 0;
6357 186         385 my $thisrule = $thisparser->{"rules"}{"module_more"};
6358              
6359 186 50       431 Parse::RecDescent::_trace(q{Trying rule: [module_more]},
6360             Parse::RecDescent::_tracefirst($_[1]),
6361             q{module_more},
6362             $tracelevel)
6363             if defined $::RD_TRACE;
6364              
6365            
6366 186         287 my $err_at = @{$thisparser->{errors}};
  186         370  
6367              
6368 186         490 my $score;
6369             my $score_return;
6370 186         0 my $_tok;
6371 186         294 my $return = undef;
6372 186         309 my $_matched=0;
6373 186         299 my $commit=0;
6374 186         338 my @item = ();
6375 186         313 my %item = ();
6376 186         299 my $repeating = $_[2];
6377 186         330 my $_noactions = $_[3];
6378 186 50       435 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         273  
  186         325  
6379 186         298 my $_itempos = $_[5];
6380 186 50       464 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6381 186         533 my $text;
6382             my $lastsep;
6383 186         0 my $current_match;
6384 186         502 my $expectation = new Parse::RecDescent::Expectation(q{eos, or version});
6385 186         1260 $expectation->at($_[1]);
6386            
6387 186         788 my $thisline;
6388 186         633 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6389              
6390            
6391              
6392 186   33     1491 while (!$_matched && !$commit)
6393             {
6394            
6395 186 50       440 Parse::RecDescent::_trace(q{Trying production: [eos]},
6396             Parse::RecDescent::_tracefirst($_[1]),
6397             q{module_more},
6398             $tracelevel)
6399             if defined $::RD_TRACE;
6400 186         423 my $thisprod = $thisrule->{"prods"}[0];
6401 186         404 $text = $_[1];
6402 186         294 my $_savetext;
6403 186         397 @item = (q{module_more});
6404 186         433 %item = (__RULE__ => q{module_more});
6405 186         299 my $repcount = 0;
6406              
6407              
6408 186 50       394 Parse::RecDescent::_trace(q{Trying subrule: [eos]},
6409             Parse::RecDescent::_tracefirst($text),
6410             q{module_more},
6411             $tracelevel)
6412             if defined $::RD_TRACE;
6413 12     12   98 if (1) { no strict qw{refs};
  12         27  
  12         11777  
  186         286  
6414 186         444 $expectation->is(q{})->at($text);
6415 186 100   186   1862 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::eos($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  186         388  
6416             {
6417            
6418 73 50       197 Parse::RecDescent::_trace(q{<>},
6419             Parse::RecDescent::_tracefirst($text),
6420             q{module_more},
6421             $tracelevel)
6422             if defined $::RD_TRACE;
6423 73         227 $expectation->failed();
6424 73         288 last;
6425             }
6426 113 50       374 Parse::RecDescent::_trace(q{>>Matched subrule: [eos]<< (return value: [}
6427             . $_tok . q{]},
6428              
6429             Parse::RecDescent::_tracefirst($text),
6430             q{module_more},
6431             $tracelevel)
6432             if defined $::RD_TRACE;
6433 113         224 $item{q{eos}} = $_tok;
6434 113         200 push @item, $_tok;
6435            
6436             }
6437              
6438 113 50       219 Parse::RecDescent::_trace(q{>>Matched production: [eos]<<},
6439             Parse::RecDescent::_tracefirst($text),
6440             q{module_more},
6441             $tracelevel)
6442             if defined $::RD_TRACE;
6443              
6444              
6445              
6446 113         524 $_matched = 1;
6447 113         270 last;
6448             }
6449              
6450              
6451 186   66     667 while (!$_matched && !$commit)
6452             {
6453            
6454 73 50       200 Parse::RecDescent::_trace(q{Trying production: [version var import_list]},
6455             Parse::RecDescent::_tracefirst($_[1]),
6456             q{module_more},
6457             $tracelevel)
6458             if defined $::RD_TRACE;
6459 73         165 my $thisprod = $thisrule->{"prods"}[1];
6460 73         156 $text = $_[1];
6461 73         120 my $_savetext;
6462 73         189 @item = (q{module_more});
6463 73         186 %item = (__RULE__ => q{module_more});
6464 73         143 my $repcount = 0;
6465              
6466              
6467 73 50       168 Parse::RecDescent::_trace(q{Trying repeated subrule: [version]},
6468             Parse::RecDescent::_tracefirst($text),
6469             q{module_more},
6470             $tracelevel)
6471             if defined $::RD_TRACE;
6472 73         214 $expectation->is(q{})->at($text);
6473            
6474 73 50   73   854 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::version, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         190  
6475             {
6476 0 0       0 Parse::RecDescent::_trace(q{<>},
6477             Parse::RecDescent::_tracefirst($text),
6478             q{module_more},
6479             $tracelevel)
6480             if defined $::RD_TRACE;
6481 0         0 last;
6482             }
6483 73 50       1261 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [version]<< (}
6484             . @$_tok . q{ times)},
6485              
6486             Parse::RecDescent::_tracefirst($text),
6487             q{module_more},
6488             $tracelevel)
6489             if defined $::RD_TRACE;
6490 73         192 $item{q{version(?)}} = $_tok;
6491 73         159 push @item, $_tok;
6492            
6493              
6494              
6495 73 50       191 Parse::RecDescent::_trace(q{Trying repeated subrule: [var]},
6496             Parse::RecDescent::_tracefirst($text),
6497             q{module_more},
6498             $tracelevel)
6499             if defined $::RD_TRACE;
6500 73         211 $expectation->is(q{var})->at($text);
6501            
6502 73 50   73   835 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::var, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         158  
6503             {
6504 0 0       0 Parse::RecDescent::_trace(q{<>},
6505             Parse::RecDescent::_tracefirst($text),
6506             q{module_more},
6507             $tracelevel)
6508             if defined $::RD_TRACE;
6509 0         0 last;
6510             }
6511 73 50       1046 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [var]<< (}
6512             . @$_tok . q{ times)},
6513              
6514             Parse::RecDescent::_tracefirst($text),
6515             q{module_more},
6516             $tracelevel)
6517             if defined $::RD_TRACE;
6518 73         173 $item{q{var(?)}} = $_tok;
6519 73         150 push @item, $_tok;
6520            
6521              
6522              
6523 73 50       174 Parse::RecDescent::_trace(q{Trying repeated subrule: [import_list]},
6524             Parse::RecDescent::_tracefirst($text),
6525             q{module_more},
6526             $tracelevel)
6527             if defined $::RD_TRACE;
6528 73         202 $expectation->is(q{import_list})->at($text);
6529            
6530 73 50   73   801 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::import_list, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  73         157  
6531             {
6532 0 0       0 Parse::RecDescent::_trace(q{<>},
6533             Parse::RecDescent::_tracefirst($text),
6534             q{module_more},
6535             $tracelevel)
6536             if defined $::RD_TRACE;
6537 0         0 last;
6538             }
6539 73 50       1265 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [import_list]<< (}
6540             . @$_tok . q{ times)},
6541              
6542             Parse::RecDescent::_tracefirst($text),
6543             q{module_more},
6544             $tracelevel)
6545             if defined $::RD_TRACE;
6546 73         191 $item{q{import_list(?)}} = $_tok;
6547 73         147 push @item, $_tok;
6548            
6549              
6550              
6551 73 50       159 Parse::RecDescent::_trace(q{>>Matched production: [version var import_list]<<},
6552             Parse::RecDescent::_tracefirst($text),
6553             q{module_more},
6554             $tracelevel)
6555             if defined $::RD_TRACE;
6556              
6557              
6558              
6559 73         108 $_matched = 1;
6560 73         131 last;
6561             }
6562              
6563              
6564 186 50 33     463 unless ( $_matched || defined($score) )
6565             {
6566            
6567              
6568 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6569 0 0       0 Parse::RecDescent::_trace(q{<>},
6570             Parse::RecDescent::_tracefirst($_[1]),
6571             q{module_more},
6572             $tracelevel)
6573             if defined $::RD_TRACE;
6574 0         0 return undef;
6575             }
6576 186 50 33     679 if (!defined($return) && defined($score))
6577             {
6578 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6579             q{module_more},
6580             $tracelevel)
6581             if defined $::RD_TRACE;
6582 0         0 $return = $score_return;
6583             }
6584 186         290 splice @{$thisparser->{errors}}, $err_at;
  186         384  
6585 186 50       493 $return = $item[$#item] unless defined $return;
6586 186 50       409 if (defined $::RD_TRACE)
6587             {
6588 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6589             $return . q{])}, "",
6590             q{module_more},
6591             $tracelevel);
6592 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6593             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6594             Parse::RecDescent::_tracefirst($text),
6595             , q{module_more},
6596             $tracelevel)
6597             }
6598 186         340 $_[1] = $text;
6599 186         1036 return $return;
6600             }
6601              
6602             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6603             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_name
6604             {
6605 186     186   352 my $thisparser = $_[0];
6606 12     12   103 use vars q{$tracelevel};
  12         29  
  12         10532  
6607 186   50     492 local $tracelevel = ($tracelevel||0)+1;
6608 186         307 $ERRORS = 0;
6609 186         402 my $thisrule = $thisparser->{"rules"}{"module_name"};
6610              
6611 186 50       446 Parse::RecDescent::_trace(q{Trying rule: [module_name]},
6612             Parse::RecDescent::_tracefirst($_[1]),
6613             q{module_name},
6614             $tracelevel)
6615             if defined $::RD_TRACE;
6616              
6617            
6618 186         280 my $err_at = @{$thisparser->{errors}};
  186         365  
6619              
6620 186         497 my $score;
6621             my $score_return;
6622 186         0 my $_tok;
6623 186         289 my $return = undef;
6624 186         289 my $_matched=0;
6625 186         272 my $commit=0;
6626 186         310 my @item = ();
6627 186         289 my %item = ();
6628 186         343 my $repeating = $_[2];
6629 186         330 my $_noactions = $_[3];
6630 186 50       433 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  186         275  
  186         331  
6631 186         326 my $_itempos = $_[5];
6632 186 50       460 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6633 186         487 my $text;
6634             my $lastsep;
6635 186         0 my $current_match;
6636 186         440 my $expectation = new Parse::RecDescent::Expectation(q{/[\\w:]+/});
6637 186         1323 $expectation->at($_[1]);
6638            
6639 186         762 my $thisline;
6640 186         533 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6641              
6642            
6643              
6644 186   33     1550 while (!$_matched && !$commit)
6645             {
6646            
6647 186 50       434 Parse::RecDescent::_trace(q{Trying production: [/[\\w:]+/]},
6648             Parse::RecDescent::_tracefirst($_[1]),
6649             q{module_name},
6650             $tracelevel)
6651             if defined $::RD_TRACE;
6652 186         377 my $thisprod = $thisrule->{"prods"}[0];
6653 186         325 $text = $_[1];
6654 186         271 my $_savetext;
6655 186         417 @item = (q{module_name});
6656 186         395 %item = (__RULE__ => q{module_name});
6657 186         297 my $repcount = 0;
6658              
6659              
6660 186 50       367 Parse::RecDescent::_trace(q{Trying terminal: [/[\\w:]+/]}, Parse::RecDescent::_tracefirst($text),
6661             q{module_name},
6662             $tracelevel)
6663             if defined $::RD_TRACE;
6664 186         341 undef $lastsep;
6665 186         438 $expectation->is(q{})->at($text);
6666            
6667              
6668 186 50 33     2230 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[\w:]+)/)
  186 50       1772  
6669             {
6670 0 0       0 $text = $lastsep . $text if defined $lastsep;
6671 0         0 $expectation->failed();
6672 0 0       0 Parse::RecDescent::_trace(q{<>},
6673             Parse::RecDescent::_tracefirst($text))
6674             if defined $::RD_TRACE;
6675              
6676 0         0 last;
6677             }
6678 186         1029 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6679 186         616 substr($text,0,length($current_match),q{});
6680 186 50       485 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6681             . $current_match . q{])},
6682             Parse::RecDescent::_tracefirst($text))
6683             if defined $::RD_TRACE;
6684 186         555 push @item, $item{__PATTERN1__}=$current_match;
6685            
6686              
6687 186 50       420 Parse::RecDescent::_trace(q{>>Matched production: [/[\\w:]+/]<<},
6688             Parse::RecDescent::_tracefirst($text),
6689             q{module_name},
6690             $tracelevel)
6691             if defined $::RD_TRACE;
6692              
6693              
6694              
6695 186         303 $_matched = 1;
6696 186         411 last;
6697             }
6698              
6699              
6700 186 50 33     479 unless ( $_matched || defined($score) )
6701             {
6702            
6703              
6704 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6705 0 0       0 Parse::RecDescent::_trace(q{<>},
6706             Parse::RecDescent::_tracefirst($_[1]),
6707             q{module_name},
6708             $tracelevel)
6709             if defined $::RD_TRACE;
6710 0         0 return undef;
6711             }
6712 186 50 33     736 if (!defined($return) && defined($score))
6713             {
6714 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6715             q{module_name},
6716             $tracelevel)
6717             if defined $::RD_TRACE;
6718 0         0 $return = $score_return;
6719             }
6720 186         289 splice @{$thisparser->{errors}}, $err_at;
  186         471  
6721 186 50       541 $return = $item[$#item] unless defined $return;
6722 186 50       469 if (defined $::RD_TRACE)
6723             {
6724 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6725             $return . q{])}, "",
6726             q{module_name},
6727             $tracelevel);
6728 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6729             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6730             Parse::RecDescent::_tracefirst($text),
6731             , q{module_name},
6732             $tracelevel)
6733             }
6734 186         409 $_[1] = $text;
6735 186         1161 return $return;
6736             }
6737              
6738             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6739             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_require_module
6740             {
6741 69     69   148 my $thisparser = $_[0];
6742 12     12   117 use vars q{$tracelevel};
  12         29  
  12         4074  
6743 69   50     272 local $tracelevel = ($tracelevel||0)+1;
6744 69         150 $ERRORS = 0;
6745 69         207 my $thisrule = $thisparser->{"rules"}{"module_runtime_require_module"};
6746              
6747 69 50       190 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_require_module]},
6748             Parse::RecDescent::_tracefirst($_[1]),
6749             q{module_runtime_require_module},
6750             $tracelevel)
6751             if defined $::RD_TRACE;
6752              
6753            
6754 69         109 my $err_at = @{$thisparser->{errors}};
  69         232  
6755              
6756 69         239 my $score;
6757             my $score_return;
6758 69         0 my $_tok;
6759 69         193 my $return = undef;
6760 69         140 my $_matched=0;
6761 69         181 my $commit=0;
6762 69         140 my @item = ();
6763 69         133 my %item = ();
6764 69         106 my $repeating = $_[2];
6765 69         153 my $_noactions = $_[3];
6766 69 50       213 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         138  
  69         138  
6767 69         164 my $_itempos = $_[5];
6768 69 50       233 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6769 69         229 my $text;
6770             my $lastsep;
6771 69         0 my $current_match;
6772 69         207 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::require_module(', or /\\brequire_module\\(/});
6773 69         505 $expectation->at($_[1]);
6774            
6775 69         283 my $thisline;
6776 69         250 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6777              
6778            
6779              
6780 69   33     651 while (!$_matched && !$commit)
6781             {
6782            
6783 69 50       208 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::require_module(', or /\\brequire_module\\(/ ')']},
6784             Parse::RecDescent::_tracefirst($_[1]),
6785             q{module_runtime_require_module},
6786             $tracelevel)
6787             if defined $::RD_TRACE;
6788 69         170 my $thisprod = $thisrule->{"prods"}[0];
6789 69         149 $text = $_[1];
6790 69         130 my $_savetext;
6791 69         188 @item = (q{module_runtime_require_module});
6792 69         192 %item = (__RULE__ => q{module_runtime_require_module});
6793 69         124 my $repcount = 0;
6794              
6795              
6796 69 50       231 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]},
6797             Parse::RecDescent::_tracefirst($text),
6798             q{module_runtime_require_module},
6799             $tracelevel)
6800             if defined $::RD_TRACE;
6801 12     12   99 if (1) { no strict qw{refs};
  12         25  
  12         10514  
  69         162  
6802 69         173 $expectation->is(q{})->at($text);
6803 69 100   69   868 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         205  
6804             {
6805            
6806 61 50       160 Parse::RecDescent::_trace(q{<>},
6807             Parse::RecDescent::_tracefirst($text),
6808             q{module_runtime_require_module},
6809             $tracelevel)
6810             if defined $::RD_TRACE;
6811 61         224 $expectation->failed();
6812 61         242 last;
6813             }
6814 8 50       42 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_require_module]<< (return value: [}
6815             . $_tok . q{]},
6816              
6817             Parse::RecDescent::_tracefirst($text),
6818             q{module_runtime_require_module},
6819             $tracelevel)
6820             if defined $::RD_TRACE;
6821 8         18 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_require_module}} = $_tok;
6822 8         17 push @item, $_tok;
6823            
6824             }
6825              
6826            
6827              
6828 8 50       18 Parse::RecDescent::_trace(q{Trying directive: []},
6829             Parse::RecDescent::_tracefirst($text),
6830             q{module_runtime_require_module},
6831             $tracelevel)
6832             if defined $::RD_TRACE;
6833 8         11 $_tok = do { my ($match,@res);
  8         23  
6834 8         36 ($match,$text,undef,@res) =
6835             Text::Balanced::extract_quotelike($text,$skip);
6836 8 50       955 $match ? \@res : undef;
6837             };
6838 8 50       20 if (defined($_tok))
6839             {
6840 8 50       22 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6841             . $_tok . q{])},
6842             Parse::RecDescent::_tracefirst($text))
6843             if defined $::RD_TRACE;
6844             }
6845             else
6846             {
6847 0 0       0 Parse::RecDescent::_trace(q{<>},
6848             Parse::RecDescent::_tracefirst($text))
6849             if defined $::RD_TRACE;
6850             }
6851            
6852 8 50       22 last unless defined $_tok;
6853 8         22 push @item, $item{__DIRECTIVE1__}=$_tok;
6854            
6855              
6856 8 50       26 Parse::RecDescent::_trace(q{Trying terminal: [')']},
6857             Parse::RecDescent::_tracefirst($text),
6858             q{module_runtime_require_module},
6859             $tracelevel)
6860             if defined $::RD_TRACE;
6861 8         16 undef $lastsep;
6862 8         22 $expectation->is(q{')'})->at($text);
6863            
6864              
6865 8 50 33     111 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  8 50       69  
6866             {
6867 0 0       0 $text = $lastsep . $text if defined $lastsep;
6868            
6869 0         0 $expectation->failed();
6870 0 0       0 Parse::RecDescent::_trace(qq{<>},
6871             Parse::RecDescent::_tracefirst($text))
6872             if defined $::RD_TRACE;
6873 0         0 last;
6874             }
6875 8         39 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6876 8         27 substr($text,0,length($current_match),q{});
6877 8 50       18 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6878             . $current_match . q{])},
6879             Parse::RecDescent::_tracefirst($text))
6880             if defined $::RD_TRACE;
6881 8         25 push @item, $item{__STRING1__}=$current_match;
6882            
6883              
6884 8 50       18 Parse::RecDescent::_trace(q{Trying action},
6885             Parse::RecDescent::_tracefirst($text),
6886             q{module_runtime_require_module},
6887             $tracelevel)
6888             if defined $::RD_TRACE;
6889            
6890              
6891 8 50       19 $_tok = ($_noactions) ? 0 : do { $return = $item[2][2] };
  8         21  
6892 8 50       34 unless (defined $_tok)
6893             {
6894 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6895             if defined $::RD_TRACE;
6896 0         0 last;
6897             }
6898 8 50       17 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6899             . $_tok . q{])},
6900             Parse::RecDescent::_tracefirst($text))
6901             if defined $::RD_TRACE;
6902 8         15 push @item, $_tok;
6903 8         17 $item{__ACTION1__}=$_tok;
6904            
6905              
6906 8 50       21 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::require_module(', or /\\brequire_module\\(/ ')']<<},
6907             Parse::RecDescent::_tracefirst($text),
6908             q{module_runtime_require_module},
6909             $tracelevel)
6910             if defined $::RD_TRACE;
6911              
6912              
6913              
6914 8         15 $_matched = 1;
6915 8         18 last;
6916             }
6917              
6918              
6919 69 100 66     447 unless ( $_matched || defined($score) )
6920             {
6921            
6922              
6923 61         139 $_[1] = $text; # NOT SURE THIS IS NEEDED
6924 61 50       175 Parse::RecDescent::_trace(q{<>},
6925             Parse::RecDescent::_tracefirst($_[1]),
6926             q{module_runtime_require_module},
6927             $tracelevel)
6928             if defined $::RD_TRACE;
6929 61         392 return undef;
6930             }
6931 8 50 33     21 if (!defined($return) && defined($score))
6932             {
6933 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6934             q{module_runtime_require_module},
6935             $tracelevel)
6936             if defined $::RD_TRACE;
6937 0         0 $return = $score_return;
6938             }
6939 8         13 splice @{$thisparser->{errors}}, $err_at;
  8         79  
6940 8 50       23 $return = $item[$#item] unless defined $return;
6941 8 50       71 if (defined $::RD_TRACE)
6942             {
6943 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6944             $return . q{])}, "",
6945             q{module_runtime_require_module},
6946             $tracelevel);
6947 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6948             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6949             Parse::RecDescent::_tracefirst($text),
6950             , q{module_runtime_require_module},
6951             $tracelevel)
6952             }
6953 8         21 $_[1] = $text;
6954 8         69 return $return;
6955             }
6956              
6957             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6958             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use
6959             {
6960 61     61   151 my $thisparser = $_[0];
6961 12     12   124 use vars q{$tracelevel};
  12         38  
  12         4408  
6962 61   50     199 local $tracelevel = ($tracelevel||0)+1;
6963 61         102 $ERRORS = 0;
6964 61         154 my $thisrule = $thisparser->{"rules"}{"module_runtime_use"};
6965              
6966 61 50       167 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_use]},
6967             Parse::RecDescent::_tracefirst($_[1]),
6968             q{module_runtime_use},
6969             $tracelevel)
6970             if defined $::RD_TRACE;
6971              
6972            
6973 61         108 my $err_at = @{$thisparser->{errors}};
  61         154  
6974              
6975 61         248 my $score;
6976             my $score_return;
6977 61         0 my $_tok;
6978 61         133 my $return = undef;
6979 61         107 my $_matched=0;
6980 61         113 my $commit=0;
6981 61         117 my @item = ();
6982 61         131 my %item = ();
6983 61         117 my $repeating = $_[2];
6984 61         122 my $_noactions = $_[3];
6985 61 50       160 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         133  
  61         147  
6986 61         97 my $_itempos = $_[5];
6987 61 50       214 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6988 61         204 my $text;
6989             my $lastsep;
6990 61         0 my $current_match;
6991 61         174 my $expectation = new Parse::RecDescent::Expectation(q{'Module::Runtime::', or /\\b/});
6992 61         430 $expectation->at($_[1]);
6993            
6994 61         246 my $thisline;
6995 61         236 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6996              
6997            
6998              
6999 61   33     534 while (!$_matched && !$commit)
7000             {
7001            
7002 61 50       176 Parse::RecDescent::_trace(q{Trying production: ['Module::Runtime::', or /\\b/ module_runtime_version ')']},
7003             Parse::RecDescent::_tracefirst($_[1]),
7004             q{module_runtime_use},
7005             $tracelevel)
7006             if defined $::RD_TRACE;
7007 61         143 my $thisprod = $thisrule->{"prods"}[0];
7008 61         120 $text = $_[1];
7009 61         113 my $_savetext;
7010 61         149 @item = (q{module_runtime_use});
7011 61         136 %item = (__RULE__ => q{module_runtime_use});
7012 61         137 my $repcount = 0;
7013              
7014              
7015 61 50       142 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use]},
7016             Parse::RecDescent::_tracefirst($text),
7017             q{module_runtime_use},
7018             $tracelevel)
7019             if defined $::RD_TRACE;
7020 12     12   99 if (1) { no strict qw{refs};
  12         36  
  12         12155  
  61         127  
7021 61         248 $expectation->is(q{})->at($text);
7022 61 100   61   780 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         192  
7023             {
7024            
7025 17 50       44 Parse::RecDescent::_trace(q{<>},
7026             Parse::RecDescent::_tracefirst($text),
7027             q{module_runtime_use},
7028             $tracelevel)
7029             if defined $::RD_TRACE;
7030 17         52 $expectation->failed();
7031 17         77 last;
7032             }
7033 44 50       168 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use]<< (return value: [}
7034             . $_tok . q{]},
7035              
7036             Parse::RecDescent::_tracefirst($text),
7037             q{module_runtime_use},
7038             $tracelevel)
7039             if defined $::RD_TRACE;
7040 44         122 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_use}} = $_tok;
7041 44         114 push @item, $_tok;
7042            
7043             }
7044              
7045            
7046              
7047 44 50       134 Parse::RecDescent::_trace(q{Trying directive: []},
7048             Parse::RecDescent::_tracefirst($text),
7049             q{module_runtime_use},
7050             $tracelevel)
7051             if defined $::RD_TRACE;
7052 44         80 $_tok = do { my ($match,@res);
  44         89  
7053 44         296 ($match,$text,undef,@res) =
7054             Text::Balanced::extract_quotelike($text,$skip);
7055 44 100       5621 $match ? \@res : undef;
7056             };
7057 44 100       133 if (defined($_tok))
7058             {
7059 40 50       127 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7060             . $_tok . q{])},
7061             Parse::RecDescent::_tracefirst($text))
7062             if defined $::RD_TRACE;
7063             }
7064             else
7065             {
7066 4 50       13 Parse::RecDescent::_trace(q{<>},
7067             Parse::RecDescent::_tracefirst($text))
7068             if defined $::RD_TRACE;
7069             }
7070            
7071 44 100       154 last unless defined $_tok;
7072 40         155 push @item, $item{__DIRECTIVE1__}=$_tok;
7073            
7074              
7075 40 50       120 Parse::RecDescent::_trace(q{Trying repeated subrule: [module_runtime_version]},
7076             Parse::RecDescent::_tracefirst($text),
7077             q{module_runtime_use},
7078             $tracelevel)
7079             if defined $::RD_TRACE;
7080 40         153 $expectation->is(q{module_runtime_version})->at($text);
7081            
7082 40 50   40   677 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_version, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  40         96  
7083             {
7084 0 0       0 Parse::RecDescent::_trace(q{<>},
7085             Parse::RecDescent::_tracefirst($text),
7086             q{module_runtime_use},
7087             $tracelevel)
7088             if defined $::RD_TRACE;
7089 0         0 last;
7090             }
7091 40 50       931 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [module_runtime_version]<< (}
7092             . @$_tok . q{ times)},
7093              
7094             Parse::RecDescent::_tracefirst($text),
7095             q{module_runtime_use},
7096             $tracelevel)
7097             if defined $::RD_TRACE;
7098 40         99 $item{q{module_runtime_version(?)}} = $_tok;
7099 40         92 push @item, $_tok;
7100            
7101              
7102              
7103 40 50       118 Parse::RecDescent::_trace(q{Trying terminal: [')']},
7104             Parse::RecDescent::_tracefirst($text),
7105             q{module_runtime_use},
7106             $tracelevel)
7107             if defined $::RD_TRACE;
7108 40         65 undef $lastsep;
7109 40         113 $expectation->is(q{')'})->at($text);
7110            
7111              
7112 40 50 66     480 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  40 100       361  
7113             {
7114 8 50       35 $text = $lastsep . $text if defined $lastsep;
7115            
7116 8         34 $expectation->failed();
7117 8 50       81 Parse::RecDescent::_trace(qq{<>},
7118             Parse::RecDescent::_tracefirst($text))
7119             if defined $::RD_TRACE;
7120 8         20 last;
7121             }
7122 32         177 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7123 32         127 substr($text,0,length($current_match),q{});
7124 32 50       92 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7125             . $current_match . q{])},
7126             Parse::RecDescent::_tracefirst($text))
7127             if defined $::RD_TRACE;
7128 32         107 push @item, $item{__STRING1__}=$current_match;
7129            
7130              
7131 32 50       94 Parse::RecDescent::_trace(q{Trying action},
7132             Parse::RecDescent::_tracefirst($text),
7133             q{module_runtime_use},
7134             $tracelevel)
7135             if defined $::RD_TRACE;
7136            
7137              
7138 32 50       72 $_tok = ($_noactions) ? 0 : do { $return = $item[2][2] };
  32         80  
7139 32 50       119 unless (defined $_tok)
7140             {
7141 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7142             if defined $::RD_TRACE;
7143 0         0 last;
7144             }
7145 32 50       101 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7146             . $_tok . q{])},
7147             Parse::RecDescent::_tracefirst($text))
7148             if defined $::RD_TRACE;
7149 32         76 push @item, $_tok;
7150 32         89 $item{__ACTION1__}=$_tok;
7151            
7152              
7153 32 50       80 Parse::RecDescent::_trace(q{>>Matched production: ['Module::Runtime::', or /\\b/ module_runtime_version ')']<<},
7154             Parse::RecDescent::_tracefirst($text),
7155             q{module_runtime_use},
7156             $tracelevel)
7157             if defined $::RD_TRACE;
7158              
7159              
7160              
7161 32         45 $_matched = 1;
7162 32         67 last;
7163             }
7164              
7165              
7166 61 100 66     276 unless ( $_matched || defined($score) )
7167             {
7168            
7169              
7170 29         71 $_[1] = $text; # NOT SURE THIS IS NEEDED
7171 29 50       83 Parse::RecDescent::_trace(q{<>},
7172             Parse::RecDescent::_tracefirst($_[1]),
7173             q{module_runtime_use},
7174             $tracelevel)
7175             if defined $::RD_TRACE;
7176 29         178 return undef;
7177             }
7178 32 50 33     116 if (!defined($return) && defined($score))
7179             {
7180 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7181             q{module_runtime_use},
7182             $tracelevel)
7183             if defined $::RD_TRACE;
7184 0         0 $return = $score_return;
7185             }
7186 32         65 splice @{$thisparser->{errors}}, $err_at;
  32         98  
7187 32 50       85 $return = $item[$#item] unless defined $return;
7188 32 50       92 if (defined $::RD_TRACE)
7189             {
7190 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7191             $return . q{])}, "",
7192             q{module_runtime_use},
7193             $tracelevel);
7194 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7195             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7196             Parse::RecDescent::_tracefirst($text),
7197             , q{module_runtime_use},
7198             $tracelevel)
7199             }
7200 32         71 $_[1] = $text;
7201 32         274 return $return;
7202             }
7203              
7204             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7205             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use_fcn
7206             {
7207 61     61   120 my $thisparser = $_[0];
7208 12     12   110 use vars q{$tracelevel};
  12         46  
  12         4463  
7209 61   50     209 local $tracelevel = ($tracelevel||0)+1;
7210 61         117 $ERRORS = 0;
7211 61         247 my $thisrule = $thisparser->{"rules"}{"module_runtime_use_fcn"};
7212              
7213 61 50       204 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_use_fcn]},
7214             Parse::RecDescent::_tracefirst($_[1]),
7215             q{module_runtime_use_fcn},
7216             $tracelevel)
7217             if defined $::RD_TRACE;
7218              
7219            
7220 61         98 my $err_at = @{$thisparser->{errors}};
  61         157  
7221              
7222 61         200 my $score;
7223             my $score_return;
7224 61         0 my $_tok;
7225 61         98 my $return = undef;
7226 61         95 my $_matched=0;
7227 61         85 my $commit=0;
7228 61         110 my @item = ();
7229 61         110 my %item = ();
7230 61         100 my $repeating = $_[2];
7231 61         122 my $_noactions = $_[3];
7232 61 50       159 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  61         100  
  61         156  
7233 61         152 my $_itempos = $_[5];
7234 61 50       203 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7235 61         222 my $text;
7236             my $lastsep;
7237 61         0 my $current_match;
7238 61         222 my $expectation = new Parse::RecDescent::Expectation(q{'use_module', or 'use_package_optimistically'});
7239 61         529 $expectation->at($_[1]);
7240            
7241 61         251 my $thisline;
7242 61         253 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7243              
7244            
7245              
7246 61   33     521 while (!$_matched && !$commit)
7247             {
7248            
7249 61 50       155 Parse::RecDescent::_trace(q{Trying production: ['use_module', or 'use_package_optimistically']},
7250             Parse::RecDescent::_tracefirst($_[1]),
7251             q{module_runtime_use_fcn},
7252             $tracelevel)
7253             if defined $::RD_TRACE;
7254 61         159 my $thisprod = $thisrule->{"prods"}[0];
7255 61         205 $text = $_[1];
7256 61         278 my $_savetext;
7257 61         163 @item = (q{module_runtime_use_fcn});
7258 61         189 %item = (__RULE__ => q{module_runtime_use_fcn});
7259 61         118 my $repcount = 0;
7260              
7261              
7262 61 50       182 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]},
7263             Parse::RecDescent::_tracefirst($text),
7264             q{module_runtime_use_fcn},
7265             $tracelevel)
7266             if defined $::RD_TRACE;
7267 12     12   112 if (1) { no strict qw{refs};
  12         27  
  12         5458  
  61         102  
7268 61         178 $expectation->is(q{})->at($text);
7269 61 100   61   703 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         138  
7270             {
7271            
7272 17 50       49 Parse::RecDescent::_trace(q{<>},
7273             Parse::RecDescent::_tracefirst($text),
7274             q{module_runtime_use_fcn},
7275             $tracelevel)
7276             if defined $::RD_TRACE;
7277 17         60 $expectation->failed();
7278 17         61 last;
7279             }
7280 44 50       182 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_module_runtime_use_fcn]<< (return value: [}
7281             . $_tok . q{]},
7282              
7283             Parse::RecDescent::_tracefirst($text),
7284             q{module_runtime_use_fcn},
7285             $tracelevel)
7286             if defined $::RD_TRACE;
7287 44         129 $item{q{_alternation_1_of_production_1_of_rule_module_runtime_use_fcn}} = $_tok;
7288 44         95 push @item, $_tok;
7289            
7290             }
7291              
7292 44 50       104 Parse::RecDescent::_trace(q{>>Matched production: ['use_module', or 'use_package_optimistically']<<},
7293             Parse::RecDescent::_tracefirst($text),
7294             q{module_runtime_use_fcn},
7295             $tracelevel)
7296             if defined $::RD_TRACE;
7297              
7298              
7299              
7300 44         81 $_matched = 1;
7301 44         79 last;
7302             }
7303              
7304              
7305 61 100 66     241 unless ( $_matched || defined($score) )
7306             {
7307            
7308              
7309 17         40 $_[1] = $text; # NOT SURE THIS IS NEEDED
7310 17 50       44 Parse::RecDescent::_trace(q{<>},
7311             Parse::RecDescent::_tracefirst($_[1]),
7312             q{module_runtime_use_fcn},
7313             $tracelevel)
7314             if defined $::RD_TRACE;
7315 17         90 return undef;
7316             }
7317 44 50 33     176 if (!defined($return) && defined($score))
7318             {
7319 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7320             q{module_runtime_use_fcn},
7321             $tracelevel)
7322             if defined $::RD_TRACE;
7323 0         0 $return = $score_return;
7324             }
7325 44         63 splice @{$thisparser->{errors}}, $err_at;
  44         106  
7326 44 50       117 $return = $item[$#item] unless defined $return;
7327 44 50       127 if (defined $::RD_TRACE)
7328             {
7329 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7330             $return . q{])}, "",
7331             q{module_runtime_use_fcn},
7332             $tracelevel);
7333 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7334             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7335             Parse::RecDescent::_tracefirst($text),
7336             , q{module_runtime_use_fcn},
7337             $tracelevel)
7338             }
7339 44         89 $_[1] = $text;
7340 44         317 return $return;
7341             }
7342              
7343             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7344             sub Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_version
7345             {
7346 40     40   951 my $thisparser = $_[0];
7347 12     12   133 use vars q{$tracelevel};
  12         46  
  12         8603  
7348 40   50     142 local $tracelevel = ($tracelevel||0)+1;
7349 40         80 $ERRORS = 0;
7350 40         101 my $thisrule = $thisparser->{"rules"}{"module_runtime_version"};
7351              
7352 40 50       115 Parse::RecDescent::_trace(q{Trying rule: [module_runtime_version]},
7353             Parse::RecDescent::_tracefirst($_[1]),
7354             q{module_runtime_version},
7355             $tracelevel)
7356             if defined $::RD_TRACE;
7357              
7358            
7359 40         71 my $err_at = @{$thisparser->{errors}};
  40         101  
7360              
7361 40         127 my $score;
7362             my $score_return;
7363 40         0 my $_tok;
7364 40         55 my $return = undef;
7365 40         136 my $_matched=0;
7366 40         56 my $commit=0;
7367 40         69 my @item = ();
7368 40         75 my %item = ();
7369 40         71 my $repeating = $_[2];
7370 40         70 my $_noactions = $_[3];
7371 40 50       103 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  40         62  
  40         78  
7372 40         85 my $_itempos = $_[5];
7373 40 50       128 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7374 40         113 my $text;
7375             my $lastsep;
7376 40         0 my $current_match;
7377 40         121 my $expectation = new Parse::RecDescent::Expectation(q{','});
7378 40         304 $expectation->at($_[1]);
7379            
7380 40         157 my $thisline;
7381 40         191 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7382              
7383            
7384              
7385 40   33     375 while (!$_matched && !$commit)
7386             {
7387            
7388 40 50       110 Parse::RecDescent::_trace(q{Trying production: [',' /\\s*/ version]},
7389             Parse::RecDescent::_tracefirst($_[1]),
7390             q{module_runtime_version},
7391             $tracelevel)
7392             if defined $::RD_TRACE;
7393 40         110 my $thisprod = $thisrule->{"prods"}[0];
7394 40         75 $text = $_[1];
7395 40         67 my $_savetext;
7396 40         112 @item = (q{module_runtime_version});
7397 40         108 %item = (__RULE__ => q{module_runtime_version});
7398 40         69 my $repcount = 0;
7399              
7400              
7401 40 50       99 Parse::RecDescent::_trace(q{Trying terminal: [',']},
7402             Parse::RecDescent::_tracefirst($text),
7403             q{module_runtime_version},
7404             $tracelevel)
7405             if defined $::RD_TRACE;
7406 40         88 undef $lastsep;
7407 40         94 $expectation->is(q{})->at($text);
7408            
7409              
7410 40 50 66     520 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  40 100       379  
7411             {
7412 16 50       65 $text = $lastsep . $text if defined $lastsep;
7413            
7414 16         58 $expectation->failed();
7415 16 50       75 Parse::RecDescent::_trace(qq{<>},
7416             Parse::RecDescent::_tracefirst($text))
7417             if defined $::RD_TRACE;
7418 16         64 last;
7419             }
7420 24         122 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7421 24         86 substr($text,0,length($current_match),q{});
7422 24 50       71 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7423             . $current_match . q{])},
7424             Parse::RecDescent::_tracefirst($text))
7425             if defined $::RD_TRACE;
7426 24         78 push @item, $item{__STRING1__}=$current_match;
7427            
7428              
7429 24 50       72 Parse::RecDescent::_trace(q{Trying terminal: [/\\s*/]}, Parse::RecDescent::_tracefirst($text),
7430             q{module_runtime_version},
7431             $tracelevel)
7432             if defined $::RD_TRACE;
7433 24         134 undef $lastsep;
7434 24         77 $expectation->is(q{/\\s*/})->at($text);
7435            
7436              
7437 24 50 33     306 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\s*)/)
  24 50       271  
7438             {
7439 0 0       0 $text = $lastsep . $text if defined $lastsep;
7440 0         0 $expectation->failed();
7441 0 0       0 Parse::RecDescent::_trace(q{<>},
7442             Parse::RecDescent::_tracefirst($text))
7443             if defined $::RD_TRACE;
7444              
7445 0         0 last;
7446             }
7447 24         119 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7448 24         76 substr($text,0,length($current_match),q{});
7449 24 50       66 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7450             . $current_match . q{])},
7451             Parse::RecDescent::_tracefirst($text))
7452             if defined $::RD_TRACE;
7453 24         78 push @item, $item{__PATTERN1__}=$current_match;
7454            
7455              
7456 24 50       75 Parse::RecDescent::_trace(q{Trying subrule: [version]},
7457             Parse::RecDescent::_tracefirst($text),
7458             q{module_runtime_version},
7459             $tracelevel)
7460             if defined $::RD_TRACE;
7461 12     12   111 if (1) { no strict qw{refs};
  12         27  
  12         5487  
  24         53  
7462 24         72 $expectation->is(q{version})->at($text);
7463 24 100   24   292 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::version($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  24         63  
7464             {
7465            
7466 4 50       11 Parse::RecDescent::_trace(q{<>},
7467             Parse::RecDescent::_tracefirst($text),
7468             q{module_runtime_version},
7469             $tracelevel)
7470             if defined $::RD_TRACE;
7471 4         13 $expectation->failed();
7472 4         45 last;
7473             }
7474 20 50       106 Parse::RecDescent::_trace(q{>>Matched subrule: [version]<< (return value: [}
7475             . $_tok . q{]},
7476              
7477             Parse::RecDescent::_tracefirst($text),
7478             q{module_runtime_version},
7479             $tracelevel)
7480             if defined $::RD_TRACE;
7481 20         59 $item{q{version}} = $_tok;
7482 20         56 push @item, $_tok;
7483            
7484             }
7485              
7486 20 50       50 Parse::RecDescent::_trace(q{>>Matched production: [',' /\\s*/ version]<<},
7487             Parse::RecDescent::_tracefirst($text),
7488             q{module_runtime_version},
7489             $tracelevel)
7490             if defined $::RD_TRACE;
7491              
7492              
7493              
7494 20         35 $_matched = 1;
7495 20         43 last;
7496             }
7497              
7498              
7499 40 100 66     183 unless ( $_matched || defined($score) )
7500             {
7501            
7502              
7503 20         49 $_[1] = $text; # NOT SURE THIS IS NEEDED
7504 20 50       47 Parse::RecDescent::_trace(q{<>},
7505             Parse::RecDescent::_tracefirst($_[1]),
7506             q{module_runtime_version},
7507             $tracelevel)
7508             if defined $::RD_TRACE;
7509 20         111 return undef;
7510             }
7511 20 50 33     89 if (!defined($return) && defined($score))
7512             {
7513 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7514             q{module_runtime_version},
7515             $tracelevel)
7516             if defined $::RD_TRACE;
7517 0         0 $return = $score_return;
7518             }
7519 20         58 splice @{$thisparser->{errors}}, $err_at;
  20         50  
7520 20 50       57 $return = $item[$#item] unless defined $return;
7521 20 50       51 if (defined $::RD_TRACE)
7522             {
7523 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7524             $return . q{])}, "",
7525             q{module_runtime_version},
7526             $tracelevel);
7527 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7528             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7529             Parse::RecDescent::_tracefirst($text),
7530             , q{module_runtime_version},
7531             $tracelevel)
7532             }
7533 20         45 $_[1] = $text;
7534 20         111 return $return;
7535             }
7536              
7537             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7538             sub Parse::RecDescent::Module::ExtractUse::Grammar::no_stuff
7539             {
7540 21     21   36 my $thisparser = $_[0];
7541 12     12   100 use vars q{$tracelevel};
  12         27  
  12         4360  
7542 21   50     58 local $tracelevel = ($tracelevel||0)+1;
7543 21         30 $ERRORS = 0;
7544 21         41 my $thisrule = $thisparser->{"rules"}{"no_stuff"};
7545              
7546 21 50       39 Parse::RecDescent::_trace(q{Trying rule: [no_stuff]},
7547             Parse::RecDescent::_tracefirst($_[1]),
7548             q{no_stuff},
7549             $tracelevel)
7550             if defined $::RD_TRACE;
7551              
7552            
7553 21         29 my $err_at = @{$thisparser->{errors}};
  21         35  
7554              
7555 21         50 my $score;
7556             my $score_return;
7557 21         0 my $_tok;
7558 21         31 my $return = undef;
7559 21         28 my $_matched=0;
7560 21         38 my $commit=0;
7561 21         38 my @item = ();
7562 21         35 my %item = ();
7563 21         30 my $repeating = $_[2];
7564 21         28 my $_noactions = $_[3];
7565 21 50       44 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         32  
  21         40  
7566 21         32 my $_itempos = $_[5];
7567 21 50       48 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7568 21         50 my $text;
7569             my $lastsep;
7570 21         0 my $current_match;
7571 21         50 my $expectation = new Parse::RecDescent::Expectation(q{base, or version, or module});
7572 21         137 $expectation->at($_[1]);
7573            
7574 21         87 my $thisline;
7575 21         64 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7576              
7577            
7578              
7579 21   33     199 while (!$_matched && !$commit)
7580             {
7581            
7582 21 50       45 Parse::RecDescent::_trace(q{Trying production: [base, or version, or module]},
7583             Parse::RecDescent::_tracefirst($_[1]),
7584             q{no_stuff},
7585             $tracelevel)
7586             if defined $::RD_TRACE;
7587 21         43 my $thisprod = $thisrule->{"prods"}[0];
7588 21         37 $text = $_[1];
7589 21         30 my $_savetext;
7590 21         40 @item = (q{no_stuff});
7591 21         43 %item = (__RULE__ => q{no_stuff});
7592 21         35 my $repcount = 0;
7593              
7594              
7595 21 50       44 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_no_stuff]},
7596             Parse::RecDescent::_tracefirst($text),
7597             q{no_stuff},
7598             $tracelevel)
7599             if defined $::RD_TRACE;
7600 12     12   133 if (1) { no strict qw{refs};
  12         38  
  12         5329  
  21         40  
7601 21         51 $expectation->is(q{})->at($text);
7602 21 50   21   193 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         65  
7603             {
7604            
7605 0 0       0 Parse::RecDescent::_trace(q{<>},
7606             Parse::RecDescent::_tracefirst($text),
7607             q{no_stuff},
7608             $tracelevel)
7609             if defined $::RD_TRACE;
7610 0         0 $expectation->failed();
7611 0         0 last;
7612             }
7613 21 50       66 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_no_stuff]<< (return value: [}
7614             . $_tok . q{]},
7615              
7616             Parse::RecDescent::_tracefirst($text),
7617             q{no_stuff},
7618             $tracelevel)
7619             if defined $::RD_TRACE;
7620 21         42 $item{q{_alternation_1_of_production_1_of_rule_no_stuff}} = $_tok;
7621 21         36 push @item, $_tok;
7622            
7623             }
7624              
7625 21 50       38 Parse::RecDescent::_trace(q{>>Matched production: [base, or version, or module]<<},
7626             Parse::RecDescent::_tracefirst($text),
7627             q{no_stuff},
7628             $tracelevel)
7629             if defined $::RD_TRACE;
7630              
7631              
7632              
7633 21         34 $_matched = 1;
7634 21         28 last;
7635             }
7636              
7637              
7638 21 50 33     42 unless ( $_matched || defined($score) )
7639             {
7640            
7641              
7642 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7643 0 0       0 Parse::RecDescent::_trace(q{<>},
7644             Parse::RecDescent::_tracefirst($_[1]),
7645             q{no_stuff},
7646             $tracelevel)
7647             if defined $::RD_TRACE;
7648 0         0 return undef;
7649             }
7650 21 50 33     66 if (!defined($return) && defined($score))
7651             {
7652 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7653             q{no_stuff},
7654             $tracelevel)
7655             if defined $::RD_TRACE;
7656 0         0 $return = $score_return;
7657             }
7658 21         34 splice @{$thisparser->{errors}}, $err_at;
  21         33  
7659 21 50       44 $return = $item[$#item] unless defined $return;
7660 21 50       42 if (defined $::RD_TRACE)
7661             {
7662 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7663             $return . q{])}, "",
7664             q{no_stuff},
7665             $tracelevel);
7666 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7667             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7668             Parse::RecDescent::_tracefirst($text),
7669             , q{no_stuff},
7670             $tracelevel)
7671             }
7672 21         47 $_[1] = $text;
7673 21         103 return $return;
7674             }
7675              
7676             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7677             sub Parse::RecDescent::Module::ExtractUse::Grammar::parent
7678             {
7679 192     192   463 my $thisparser = $_[0];
7680 12     12   108 use vars q{$tracelevel};
  12         25  
  12         6226  
7681 192   50     494 local $tracelevel = ($tracelevel||0)+1;
7682 192         330 $ERRORS = 0;
7683 192         420 my $thisrule = $thisparser->{"rules"}{"parent"};
7684              
7685 192 50       410 Parse::RecDescent::_trace(q{Trying rule: [parent]},
7686             Parse::RecDescent::_tracefirst($_[1]),
7687             q{parent},
7688             $tracelevel)
7689             if defined $::RD_TRACE;
7690              
7691            
7692 192         297 my $err_at = @{$thisparser->{errors}};
  192         394  
7693              
7694 192         500 my $score;
7695             my $score_return;
7696 192         0 my $_tok;
7697 192         288 my $return = undef;
7698 192         305 my $_matched=0;
7699 192         281 my $commit=0;
7700 192         313 my @item = ();
7701 192         312 my %item = ();
7702 192         286 my $repeating = $_[2];
7703 192         366 my $_noactions = $_[3];
7704 192 50       452 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  192         302  
  192         353  
7705 192         329 my $_itempos = $_[5];
7706 192 50       476 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7707 192         488 my $text;
7708             my $lastsep;
7709 192         0 my $current_match;
7710 192         493 my $expectation = new Parse::RecDescent::Expectation(q{'parent'});
7711 192         1372 $expectation->at($_[1]);
7712            
7713 192         805 my $thisline;
7714 192         700 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7715              
7716            
7717              
7718 192   33     1591 while (!$_matched && !$commit)
7719             {
7720            
7721 192 50       485 Parse::RecDescent::_trace(q{Trying production: ['parent' import_list]},
7722             Parse::RecDescent::_tracefirst($_[1]),
7723             q{parent},
7724             $tracelevel)
7725             if defined $::RD_TRACE;
7726 192         393 my $thisprod = $thisrule->{"prods"}[0];
7727 192         366 $text = $_[1];
7728 192         277 my $_savetext;
7729 192         374 @item = (q{parent});
7730 192         397 %item = (__RULE__ => q{parent});
7731 192         291 my $repcount = 0;
7732              
7733              
7734 192 50       420 Parse::RecDescent::_trace(q{Trying terminal: ['parent']},
7735             Parse::RecDescent::_tracefirst($text),
7736             q{parent},
7737             $tracelevel)
7738             if defined $::RD_TRACE;
7739 192         351 undef $lastsep;
7740 192         446 $expectation->is(q{})->at($text);
7741            
7742              
7743 192 50 33     2343 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "parent"; 1 } and
  192 100 66     1238  
  192   66     413  
  192         1044  
7744             substr($text,0,length($_tok)) eq $_tok and
7745 36         75 do { substr($text,0,length($_tok)) = ""; 1; }
  36         95  
7746             )
7747             {
7748 156 50       454 $text = $lastsep . $text if defined $lastsep;
7749            
7750 156         585 $expectation->failed();
7751 156 50       728 Parse::RecDescent::_trace(q{<>},
7752             Parse::RecDescent::_tracefirst($text))
7753             if defined $::RD_TRACE;
7754 156         361 last;
7755             }
7756 36 50       99 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7757             . $_tok . q{])},
7758             Parse::RecDescent::_tracefirst($text))
7759             if defined $::RD_TRACE;
7760 36         92 push @item, $item{__STRING1__}=$_tok;
7761            
7762              
7763 36 50       81 Parse::RecDescent::_trace(q{Trying subrule: [import_list]},
7764             Parse::RecDescent::_tracefirst($text),
7765             q{parent},
7766             $tracelevel)
7767             if defined $::RD_TRACE;
7768 12     12   102 if (1) { no strict qw{refs};
  12         50  
  12         6893  
  36         50  
7769 36         88 $expectation->is(q{import_list})->at($text);
7770 36 50   36   344 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::import_list($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  36         72  
7771             {
7772            
7773 0 0       0 Parse::RecDescent::_trace(q{<>},
7774             Parse::RecDescent::_tracefirst($text),
7775             q{parent},
7776             $tracelevel)
7777             if defined $::RD_TRACE;
7778 0         0 $expectation->failed();
7779 0         0 last;
7780             }
7781 36 50       161 Parse::RecDescent::_trace(q{>>Matched subrule: [import_list]<< (return value: [}
7782             . $_tok . q{]},
7783              
7784             Parse::RecDescent::_tracefirst($text),
7785             q{parent},
7786             $tracelevel)
7787             if defined $::RD_TRACE;
7788 36         81 $item{q{import_list}} = $_tok;
7789 36         63 push @item, $_tok;
7790            
7791             }
7792              
7793 36 50       72 Parse::RecDescent::_trace(q{Trying action},
7794             Parse::RecDescent::_tracefirst($text),
7795             q{parent},
7796             $tracelevel)
7797             if defined $::RD_TRACE;
7798            
7799              
7800 36 100       84 $_tok = ($_noactions) ? 0 : do { $return='parent'; $return.=' '.$item[2] if $item[2] !~ /^\s*-norequire\b/; };
  36 50       58  
  36         312  
7801 36 50       86 unless (defined $_tok)
7802             {
7803 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7804             if defined $::RD_TRACE;
7805 0         0 last;
7806             }
7807 36 50       71 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7808             . $_tok . q{])},
7809             Parse::RecDescent::_tracefirst($text))
7810             if defined $::RD_TRACE;
7811 36         69 push @item, $_tok;
7812 36         114 $item{__ACTION1__}=$_tok;
7813            
7814              
7815 36 50       68 Parse::RecDescent::_trace(q{>>Matched production: ['parent' import_list]<<},
7816             Parse::RecDescent::_tracefirst($text),
7817             q{parent},
7818             $tracelevel)
7819             if defined $::RD_TRACE;
7820              
7821              
7822              
7823 36         55 $_matched = 1;
7824 36         73 last;
7825             }
7826              
7827              
7828 192 100 66     760 unless ( $_matched || defined($score) )
7829             {
7830            
7831              
7832 156         311 $_[1] = $text; # NOT SURE THIS IS NEEDED
7833 156 50       335 Parse::RecDescent::_trace(q{<>},
7834             Parse::RecDescent::_tracefirst($_[1]),
7835             q{parent},
7836             $tracelevel)
7837             if defined $::RD_TRACE;
7838 156         912 return undef;
7839             }
7840 36 50 33     79 if (!defined($return) && defined($score))
7841             {
7842 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7843             q{parent},
7844             $tracelevel)
7845             if defined $::RD_TRACE;
7846 0         0 $return = $score_return;
7847             }
7848 36         46 splice @{$thisparser->{errors}}, $err_at;
  36         75  
7849 36 50       76 $return = $item[$#item] unless defined $return;
7850 36 50       68 if (defined $::RD_TRACE)
7851             {
7852 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7853             $return . q{])}, "",
7854             q{parent},
7855             $tracelevel);
7856 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7857             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7858             Parse::RecDescent::_tracefirst($text),
7859             , q{parent},
7860             $tracelevel)
7861             }
7862 36         72 $_[1] = $text;
7863 36         214 return $return;
7864             }
7865              
7866             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7867             sub Parse::RecDescent::Module::ExtractUse::Grammar::require_name
7868             {
7869 27     27   54 my $thisparser = $_[0];
7870 12     12   103 use vars q{$tracelevel};
  12         36  
  12         10778  
7871 27   50     79 local $tracelevel = ($tracelevel||0)+1;
7872 27         46 $ERRORS = 0;
7873 27         61 my $thisrule = $thisparser->{"rules"}{"require_name"};
7874              
7875 27 50       60 Parse::RecDescent::_trace(q{Trying rule: [require_name]},
7876             Parse::RecDescent::_tracefirst($_[1]),
7877             q{require_name},
7878             $tracelevel)
7879             if defined $::RD_TRACE;
7880              
7881            
7882 27         47 my $err_at = @{$thisparser->{errors}};
  27         57  
7883              
7884 27         92 my $score;
7885             my $score_return;
7886 27         0 my $_tok;
7887 27         43 my $return = undef;
7888 27         42 my $_matched=0;
7889 27         37 my $commit=0;
7890 27         52 my @item = ();
7891 27         41 my %item = ();
7892 27         52 my $repeating = $_[2];
7893 27         45 my $_noactions = $_[3];
7894 27 50       70 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         43  
  27         68  
7895 27         48 my $_itempos = $_[5];
7896 27 50       72 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7897 27         77 my $text;
7898             my $lastsep;
7899 27         0 my $current_match;
7900 27         68 my $expectation = new Parse::RecDescent::Expectation(q{});
7901 27         181 $expectation->at($_[1]);
7902            
7903 27         111 my $thisline;
7904 27         107 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7905              
7906            
7907              
7908 27   33     240 while (!$_matched && !$commit)
7909             {
7910            
7911 27 50       64 Parse::RecDescent::_trace(q{Trying production: []},
7912             Parse::RecDescent::_tracefirst($_[1]),
7913             q{require_name},
7914             $tracelevel)
7915             if defined $::RD_TRACE;
7916 27         61 my $thisprod = $thisrule->{"prods"}[0];
7917 27         54 $text = $_[1];
7918 27         71 my $_savetext;
7919 27         58 @item = (q{require_name});
7920 27         61 %item = (__RULE__ => q{require_name});
7921 27         46 my $repcount = 0;
7922              
7923              
7924            
7925              
7926 27 50       62 Parse::RecDescent::_trace(q{Trying directive: []},
7927             Parse::RecDescent::_tracefirst($text),
7928             q{require_name},
7929             $tracelevel)
7930             if defined $::RD_TRACE;
7931 27         40 $_tok = do { my ($match,@res);
  27         59  
7932 27         112 ($match,$text,undef,@res) =
7933             Text::Balanced::extract_quotelike($text,$skip);
7934 27 100       1995 $match ? \@res : undef;
7935             };
7936 27 100       74 if (defined($_tok))
7937             {
7938 9 50       21 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7939             . $_tok . q{])},
7940             Parse::RecDescent::_tracefirst($text))
7941             if defined $::RD_TRACE;
7942             }
7943             else
7944             {
7945 18 50       65 Parse::RecDescent::_trace(q{<>},
7946             Parse::RecDescent::_tracefirst($text))
7947             if defined $::RD_TRACE;
7948             }
7949            
7950 27 100       75 last unless defined $_tok;
7951 9         25 push @item, $item{__DIRECTIVE1__}=$_tok;
7952            
7953              
7954 9 50       20 Parse::RecDescent::_trace(q{Trying action},
7955             Parse::RecDescent::_tracefirst($text),
7956             q{require_name},
7957             $tracelevel)
7958             if defined $::RD_TRACE;
7959            
7960              
7961 9 50       17 $_tok = ($_noactions) ? 0 : do { my $name=$item[1][2];
  9         19  
7962 9 100       48 return 1 if ($name=~/\.pl$/);
7963 6         14 $name=~s(/)(::)g;
7964 6         16 $name=~s/\.pm//;
7965 6         15 $return=$name;
7966             };
7967 6 50       14 unless (defined $_tok)
7968             {
7969 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7970             if defined $::RD_TRACE;
7971 0         0 last;
7972             }
7973 6 50       12 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7974             . $_tok . q{])},
7975             Parse::RecDescent::_tracefirst($text))
7976             if defined $::RD_TRACE;
7977 6         20 push @item, $_tok;
7978 6         12 $item{__ACTION1__}=$_tok;
7979            
7980              
7981 6 50       48 Parse::RecDescent::_trace(q{>>Matched production: []<<},
7982             Parse::RecDescent::_tracefirst($text),
7983             q{require_name},
7984             $tracelevel)
7985             if defined $::RD_TRACE;
7986              
7987              
7988              
7989 6         12 $_matched = 1;
7990 6         11 last;
7991             }
7992              
7993              
7994 24 100 66     463 unless ( $_matched || defined($score) )
7995             {
7996            
7997              
7998 18         41 $_[1] = $text; # NOT SURE THIS IS NEEDED
7999 18 50       55 Parse::RecDescent::_trace(q{<>},
8000             Parse::RecDescent::_tracefirst($_[1]),
8001             q{require_name},
8002             $tracelevel)
8003             if defined $::RD_TRACE;
8004 18         122 return undef;
8005             }
8006 6 50 33     15 if (!defined($return) && defined($score))
8007             {
8008 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8009             q{require_name},
8010             $tracelevel)
8011             if defined $::RD_TRACE;
8012 0         0 $return = $score_return;
8013             }
8014 6         9 splice @{$thisparser->{errors}}, $err_at;
  6         15  
8015 6 50       23 $return = $item[$#item] unless defined $return;
8016 6 50       14 if (defined $::RD_TRACE)
8017             {
8018 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8019             $return . q{])}, "",
8020             q{require_name},
8021             $tracelevel);
8022 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8023             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8024             Parse::RecDescent::_tracefirst($text),
8025             , q{require_name},
8026             $tracelevel)
8027             }
8028 6         11 $_[1] = $text;
8029 6         50 return $return;
8030             }
8031              
8032             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8033             sub Parse::RecDescent::Module::ExtractUse::Grammar::require_stuff
8034             {
8035 27     27   61 my $thisparser = $_[0];
8036 12     12   143 use vars q{$tracelevel};
  12         29  
  12         4665  
8037 27   50     92 local $tracelevel = ($tracelevel||0)+1;
8038 27         46 $ERRORS = 0;
8039 27         67 my $thisrule = $thisparser->{"rules"}{"require_stuff"};
8040              
8041 27 50       79 Parse::RecDescent::_trace(q{Trying rule: [require_stuff]},
8042             Parse::RecDescent::_tracefirst($_[1]),
8043             q{require_stuff},
8044             $tracelevel)
8045             if defined $::RD_TRACE;
8046              
8047            
8048 27         51 my $err_at = @{$thisparser->{errors}};
  27         70  
8049              
8050 27         87 my $score;
8051             my $score_return;
8052 27         0 my $_tok;
8053 27         44 my $return = undef;
8054 27         44 my $_matched=0;
8055 27         38 my $commit=0;
8056 27         52 my @item = ();
8057 27         48 my %item = ();
8058 27         44 my $repeating = $_[2];
8059 27         47 my $_noactions = $_[3];
8060 27 50       64 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  27         56  
  27         65  
8061 27         45 my $_itempos = $_[5];
8062 27 50       83 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8063 27         72 my $text;
8064             my $lastsep;
8065 27         0 my $current_match;
8066 27         80 my $expectation = new Parse::RecDescent::Expectation(q{version, or require_name, or module});
8067 27         215 $expectation->at($_[1]);
8068            
8069 27         120 my $thisline;
8070 27         113 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8071              
8072            
8073              
8074 27   33     293 while (!$_matched && !$commit)
8075             {
8076            
8077 27 50       74 Parse::RecDescent::_trace(q{Trying production: [version, or require_name, or module]},
8078             Parse::RecDescent::_tracefirst($_[1]),
8079             q{require_stuff},
8080             $tracelevel)
8081             if defined $::RD_TRACE;
8082 27         61 my $thisprod = $thisrule->{"prods"}[0];
8083 27         61 $text = $_[1];
8084 27         40 my $_savetext;
8085 27         63 @item = (q{require_stuff});
8086 27         61 %item = (__RULE__ => q{require_stuff});
8087 27         44 my $repcount = 0;
8088              
8089              
8090 27 50       65 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_require_stuff]},
8091             Parse::RecDescent::_tracefirst($text),
8092             q{require_stuff},
8093             $tracelevel)
8094             if defined $::RD_TRACE;
8095 12     12   98 if (1) { no strict qw{refs};
  12         30  
  12         5164  
  27         44  
8096 27         100 $expectation->is(q{})->at($text);
8097 27 50   27   310 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         55  
8098             {
8099            
8100 0 0       0 Parse::RecDescent::_trace(q{<>},
8101             Parse::RecDescent::_tracefirst($text),
8102             q{require_stuff},
8103             $tracelevel)
8104             if defined $::RD_TRACE;
8105 0         0 $expectation->failed();
8106 0         0 last;
8107             }
8108 27 50       96 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_require_stuff]<< (return value: [}
8109             . $_tok . q{]},
8110              
8111             Parse::RecDescent::_tracefirst($text),
8112             q{require_stuff},
8113             $tracelevel)
8114             if defined $::RD_TRACE;
8115 27         65 $item{q{_alternation_1_of_production_1_of_rule_require_stuff}} = $_tok;
8116 27         50 push @item, $_tok;
8117            
8118             }
8119              
8120 27 50       69 Parse::RecDescent::_trace(q{>>Matched production: [version, or require_name, or module]<<},
8121             Parse::RecDescent::_tracefirst($text),
8122             q{require_stuff},
8123             $tracelevel)
8124             if defined $::RD_TRACE;
8125              
8126              
8127              
8128 27         48 $_matched = 1;
8129 27         45 last;
8130             }
8131              
8132              
8133 27 50 33     79 unless ( $_matched || defined($score) )
8134             {
8135            
8136              
8137 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
8138 0 0       0 Parse::RecDescent::_trace(q{<>},
8139             Parse::RecDescent::_tracefirst($_[1]),
8140             q{require_stuff},
8141             $tracelevel)
8142             if defined $::RD_TRACE;
8143 0         0 return undef;
8144             }
8145 27 50 33     104 if (!defined($return) && defined($score))
8146             {
8147 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8148             q{require_stuff},
8149             $tracelevel)
8150             if defined $::RD_TRACE;
8151 0         0 $return = $score_return;
8152             }
8153 27         45 splice @{$thisparser->{errors}}, $err_at;
  27         55  
8154 27 50       88 $return = $item[$#item] unless defined $return;
8155 27 50       67 if (defined $::RD_TRACE)
8156             {
8157 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8158             $return . q{])}, "",
8159             q{require_stuff},
8160             $tracelevel);
8161 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8162             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8163             Parse::RecDescent::_tracefirst($text),
8164             , q{require_stuff},
8165             $tracelevel)
8166             }
8167 27         58 $_[1] = $text;
8168 27         155 return $return;
8169             }
8170              
8171             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8172             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_class_load
8173             {
8174 73     73   3851 my $thisparser = $_[0];
8175 12     12   106 use vars q{$tracelevel};
  12         30  
  12         4347  
8176 73   50     307 local $tracelevel = ($tracelevel||0)+1;
8177 73         122 $ERRORS = 0;
8178 73         149 my $thisrule = $thisparser->{"rules"}{"token_class_load"};
8179              
8180 73 50       193 Parse::RecDescent::_trace(q{Trying rule: [token_class_load]},
8181             Parse::RecDescent::_tracefirst($_[1]),
8182             q{token_class_load},
8183             $tracelevel)
8184             if defined $::RD_TRACE;
8185              
8186            
8187 73         126 my $err_at = @{$thisparser->{errors}};
  73         141  
8188              
8189 73         175 my $score;
8190             my $score_return;
8191 73         0 my $_tok;
8192 73         111 my $return = undef;
8193 73         100 my $_matched=0;
8194 73         96 my $commit=0;
8195 73         133 my @item = ();
8196 73         125 my %item = ();
8197 73         109 my $repeating = $_[2];
8198 73         134 my $_noactions = $_[3];
8199 73 50       153 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         108  
  73         176  
8200 73         286 my $_itempos = $_[5];
8201 73 50       186 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8202 73         201 my $text;
8203             my $lastsep;
8204 73         0 my $current_match;
8205 73         359 my $expectation = new Parse::RecDescent::Expectation(q{class_load, or class_load_first_existing});
8206 73         551 $expectation->at($_[1]);
8207            
8208 73         316 my $thisline;
8209 73         363 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8210              
8211            
8212              
8213 73   33     675 while (!$_matched && !$commit)
8214             {
8215            
8216 73 50       166 Parse::RecDescent::_trace(q{Trying production: [class_load]},
8217             Parse::RecDescent::_tracefirst($_[1]),
8218             q{token_class_load},
8219             $tracelevel)
8220             if defined $::RD_TRACE;
8221 73         155 my $thisprod = $thisrule->{"prods"}[0];
8222 73         132 $text = $_[1];
8223 73         116 my $_savetext;
8224 73         149 @item = (q{token_class_load});
8225 73         169 %item = (__RULE__ => q{token_class_load});
8226 73         120 my $repcount = 0;
8227              
8228              
8229 73 50       150 Parse::RecDescent::_trace(q{Trying subrule: [class_load]},
8230             Parse::RecDescent::_tracefirst($text),
8231             q{token_class_load},
8232             $tracelevel)
8233             if defined $::RD_TRACE;
8234 12     12   106 if (1) { no strict qw{refs};
  12         44  
  12         3644  
  73         111  
8235 73         204 $expectation->is(q{})->at($text);
8236 73 100   73   739 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  73         132  
8237             {
8238            
8239 37 50       72 Parse::RecDescent::_trace(q{<>},
8240             Parse::RecDescent::_tracefirst($text),
8241             q{token_class_load},
8242             $tracelevel)
8243             if defined $::RD_TRACE;
8244 37         95 $expectation->failed();
8245 37         128 last;
8246             }
8247 36 50       125 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load]<< (return value: [}
8248             . $_tok . q{]},
8249              
8250             Parse::RecDescent::_tracefirst($text),
8251             q{token_class_load},
8252             $tracelevel)
8253             if defined $::RD_TRACE;
8254 36         64 $item{q{class_load}} = $_tok;
8255 36         60 push @item, $_tok;
8256            
8257             }
8258              
8259 36 50       70 Parse::RecDescent::_trace(q{>>Matched production: [class_load]<<},
8260             Parse::RecDescent::_tracefirst($text),
8261             q{token_class_load},
8262             $tracelevel)
8263             if defined $::RD_TRACE;
8264              
8265              
8266              
8267 36         50 $_matched = 1;
8268 36         107 last;
8269             }
8270              
8271              
8272 73   66     264 while (!$_matched && !$commit)
8273             {
8274            
8275 37 50       83 Parse::RecDescent::_trace(q{Trying production: [class_load_first_existing]},
8276             Parse::RecDescent::_tracefirst($_[1]),
8277             q{token_class_load},
8278             $tracelevel)
8279             if defined $::RD_TRACE;
8280 37         72 my $thisprod = $thisrule->{"prods"}[1];
8281 37         66 $text = $_[1];
8282 37         48 my $_savetext;
8283 37         80 @item = (q{token_class_load});
8284 37         88 %item = (__RULE__ => q{token_class_load});
8285 37         66 my $repcount = 0;
8286              
8287              
8288 37 50       77 Parse::RecDescent::_trace(q{Trying subrule: [class_load_first_existing]},
8289             Parse::RecDescent::_tracefirst($text),
8290             q{token_class_load},
8291             $tracelevel)
8292             if defined $::RD_TRACE;
8293 12     12   96 if (1) { no strict qw{refs};
  12         40  
  12         5453  
  37         51  
8294 37         89 $expectation->is(q{})->at($text);
8295 37 100   37   396 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::class_load_first_existing($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  37         70  
8296             {
8297            
8298 25 50       53 Parse::RecDescent::_trace(q{<>},
8299             Parse::RecDescent::_tracefirst($text),
8300             q{token_class_load},
8301             $tracelevel)
8302             if defined $::RD_TRACE;
8303 25         69 $expectation->failed();
8304 25         80 last;
8305             }
8306 12 50       41 Parse::RecDescent::_trace(q{>>Matched subrule: [class_load_first_existing]<< (return value: [}
8307             . $_tok . q{]},
8308              
8309             Parse::RecDescent::_tracefirst($text),
8310             q{token_class_load},
8311             $tracelevel)
8312             if defined $::RD_TRACE;
8313 12         27 $item{q{class_load_first_existing}} = $_tok;
8314 12         22 push @item, $_tok;
8315            
8316             }
8317              
8318 12 50       26 Parse::RecDescent::_trace(q{>>Matched production: [class_load_first_existing]<<},
8319             Parse::RecDescent::_tracefirst($text),
8320             q{token_class_load},
8321             $tracelevel)
8322             if defined $::RD_TRACE;
8323              
8324              
8325              
8326 12         19 $_matched = 1;
8327 12         17 last;
8328             }
8329              
8330              
8331 73 100 66     234 unless ( $_matched || defined($score) )
8332             {
8333            
8334              
8335 25         46 $_[1] = $text; # NOT SURE THIS IS NEEDED
8336 25 50       52 Parse::RecDescent::_trace(q{<>},
8337             Parse::RecDescent::_tracefirst($_[1]),
8338             q{token_class_load},
8339             $tracelevel)
8340             if defined $::RD_TRACE;
8341 25         104 return undef;
8342             }
8343 48 50 33     170 if (!defined($return) && defined($score))
8344             {
8345 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8346             q{token_class_load},
8347             $tracelevel)
8348             if defined $::RD_TRACE;
8349 0         0 $return = $score_return;
8350             }
8351 48         81 splice @{$thisparser->{errors}}, $err_at;
  48         90  
8352 48 50       147 $return = $item[$#item] unless defined $return;
8353 48 50       94 if (defined $::RD_TRACE)
8354             {
8355 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8356             $return . q{])}, "",
8357             q{token_class_load},
8358             $tracelevel);
8359 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8360             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8361             Parse::RecDescent::_tracefirst($text),
8362             , q{token_class_load},
8363             $tracelevel)
8364             }
8365 48         94 $_[1] = $text;
8366 48         242 return $return;
8367             }
8368              
8369             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8370             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_module_runtime
8371             {
8372 69     69   5393 my $thisparser = $_[0];
8373 12     12   100 use vars q{$tracelevel};
  12         36  
  12         4310  
8374 69   50     412 local $tracelevel = ($tracelevel||0)+1;
8375 69         146 $ERRORS = 0;
8376 69         188 my $thisrule = $thisparser->{"rules"}{"token_module_runtime"};
8377              
8378 69 50       302 Parse::RecDescent::_trace(q{Trying rule: [token_module_runtime]},
8379             Parse::RecDescent::_tracefirst($_[1]),
8380             q{token_module_runtime},
8381             $tracelevel)
8382             if defined $::RD_TRACE;
8383              
8384            
8385 69         150 my $err_at = @{$thisparser->{errors}};
  69         164  
8386              
8387 69         268 my $score;
8388             my $score_return;
8389 69         0 my $_tok;
8390 69         190 my $return = undef;
8391 69         134 my $_matched=0;
8392 69         115 my $commit=0;
8393 69         131 my @item = ();
8394 69         150 my %item = ();
8395 69         135 my $repeating = $_[2];
8396 69         147 my $_noactions = $_[3];
8397 69 50       231 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  69         124  
  69         207  
8398 69         336 my $_itempos = $_[5];
8399 69 50       260 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8400 69         196 my $text;
8401             my $lastsep;
8402 69         0 my $current_match;
8403 69         430 my $expectation = new Parse::RecDescent::Expectation(q{module_runtime_require_module, or module_runtime_use});
8404 69         676 $expectation->at($_[1]);
8405            
8406 69         390 my $thisline;
8407 69         523 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8408              
8409            
8410              
8411 69   33     870 while (!$_matched && !$commit)
8412             {
8413            
8414 69 50       200 Parse::RecDescent::_trace(q{Trying production: [module_runtime_require_module]},
8415             Parse::RecDescent::_tracefirst($_[1]),
8416             q{token_module_runtime},
8417             $tracelevel)
8418             if defined $::RD_TRACE;
8419 69         176 my $thisprod = $thisrule->{"prods"}[0];
8420 69         136 $text = $_[1];
8421 69         124 my $_savetext;
8422 69         188 @item = (q{token_module_runtime});
8423 69         321 %item = (__RULE__ => q{token_module_runtime});
8424 69         129 my $repcount = 0;
8425              
8426              
8427 69 50       213 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_require_module]},
8428             Parse::RecDescent::_tracefirst($text),
8429             q{token_module_runtime},
8430             $tracelevel)
8431             if defined $::RD_TRACE;
8432 12     12   97 if (1) { no strict qw{refs};
  12         29  
  12         3794  
  69         230  
8433 69         237 $expectation->is(q{})->at($text);
8434 69 100   69   879 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_require_module($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  69         178  
8435             {
8436            
8437 61 50       147 Parse::RecDescent::_trace(q{<>},
8438             Parse::RecDescent::_tracefirst($text),
8439             q{token_module_runtime},
8440             $tracelevel)
8441             if defined $::RD_TRACE;
8442 61         179 $expectation->failed();
8443 61         220 last;
8444             }
8445 8 50       32 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_require_module]<< (return value: [}
8446             . $_tok . q{]},
8447              
8448             Parse::RecDescent::_tracefirst($text),
8449             q{token_module_runtime},
8450             $tracelevel)
8451             if defined $::RD_TRACE;
8452 8         19 $item{q{module_runtime_require_module}} = $_tok;
8453 8         16 push @item, $_tok;
8454            
8455             }
8456              
8457 8 50       19 Parse::RecDescent::_trace(q{>>Matched production: [module_runtime_require_module]<<},
8458             Parse::RecDescent::_tracefirst($text),
8459             q{token_module_runtime},
8460             $tracelevel)
8461             if defined $::RD_TRACE;
8462              
8463              
8464              
8465 8         15 $_matched = 1;
8466 8         17 last;
8467             }
8468              
8469              
8470 69   66     407 while (!$_matched && !$commit)
8471             {
8472            
8473 61 50       209 Parse::RecDescent::_trace(q{Trying production: [module_runtime_use]},
8474             Parse::RecDescent::_tracefirst($_[1]),
8475             q{token_module_runtime},
8476             $tracelevel)
8477             if defined $::RD_TRACE;
8478 61         163 my $thisprod = $thisrule->{"prods"}[1];
8479 61         132 $text = $_[1];
8480 61         120 my $_savetext;
8481 61         162 @item = (q{token_module_runtime});
8482 61         201 %item = (__RULE__ => q{token_module_runtime});
8483 61         145 my $repcount = 0;
8484              
8485              
8486 61 50       172 Parse::RecDescent::_trace(q{Trying subrule: [module_runtime_use]},
8487             Parse::RecDescent::_tracefirst($text),
8488             q{token_module_runtime},
8489             $tracelevel)
8490             if defined $::RD_TRACE;
8491 12     12   103 if (1) { no strict qw{refs};
  12         28  
  12         5276  
  61         98  
8492 61         178 $expectation->is(q{})->at($text);
8493 61 100   61   875 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::module_runtime_use($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  61         154  
8494             {
8495            
8496 29 50       82 Parse::RecDescent::_trace(q{<>},
8497             Parse::RecDescent::_tracefirst($text),
8498             q{token_module_runtime},
8499             $tracelevel)
8500             if defined $::RD_TRACE;
8501 29         94 $expectation->failed();
8502 29         218 last;
8503             }
8504 32 50       143 Parse::RecDescent::_trace(q{>>Matched subrule: [module_runtime_use]<< (return value: [}
8505             . $_tok . q{]},
8506              
8507             Parse::RecDescent::_tracefirst($text),
8508             q{token_module_runtime},
8509             $tracelevel)
8510             if defined $::RD_TRACE;
8511 32         91 $item{q{module_runtime_use}} = $_tok;
8512 32         78 push @item, $_tok;
8513            
8514             }
8515              
8516 32 50       89 Parse::RecDescent::_trace(q{>>Matched production: [module_runtime_use]<<},
8517             Parse::RecDescent::_tracefirst($text),
8518             q{token_module_runtime},
8519             $tracelevel)
8520             if defined $::RD_TRACE;
8521              
8522              
8523              
8524 32         64 $_matched = 1;
8525 32         62 last;
8526             }
8527              
8528              
8529 69 100 66     313 unless ( $_matched || defined($score) )
8530             {
8531            
8532              
8533 29         74 $_[1] = $text; # NOT SURE THIS IS NEEDED
8534 29 50       85 Parse::RecDescent::_trace(q{<>},
8535             Parse::RecDescent::_tracefirst($_[1]),
8536             q{token_module_runtime},
8537             $tracelevel)
8538             if defined $::RD_TRACE;
8539 29         159 return undef;
8540             }
8541 40 50 33     215 if (!defined($return) && defined($score))
8542             {
8543 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8544             q{token_module_runtime},
8545             $tracelevel)
8546             if defined $::RD_TRACE;
8547 0         0 $return = $score_return;
8548             }
8549 40         64 splice @{$thisparser->{errors}}, $err_at;
  40         102  
8550 40 50       119 $return = $item[$#item] unless defined $return;
8551 40 50       107 if (defined $::RD_TRACE)
8552             {
8553 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8554             $return . q{])}, "",
8555             q{token_module_runtime},
8556             $tracelevel);
8557 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8558             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8559             Parse::RecDescent::_tracefirst($text),
8560             , q{token_module_runtime},
8561             $tracelevel)
8562             }
8563 40         86 $_[1] = $text;
8564 40         248 return $return;
8565             }
8566              
8567             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8568             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_no
8569             {
8570 41     41   2098 my $thisparser = $_[0];
8571 12     12   101 use vars q{$tracelevel};
  12         26  
  12         6534  
8572 41   50     163 local $tracelevel = ($tracelevel||0)+1;
8573 41         68 $ERRORS = 0;
8574 41         83 my $thisrule = $thisparser->{"rules"}{"token_no"};
8575              
8576 41 50       92 Parse::RecDescent::_trace(q{Trying rule: [token_no]},
8577             Parse::RecDescent::_tracefirst($_[1]),
8578             q{token_no},
8579             $tracelevel)
8580             if defined $::RD_TRACE;
8581              
8582            
8583 41         89 my $err_at = @{$thisparser->{errors}};
  41         81  
8584              
8585 41         106 my $score;
8586             my $score_return;
8587 41         0 my $_tok;
8588 41         60 my $return = undef;
8589 41         60 my $_matched=0;
8590 41         64 my $commit=0;
8591 41         67 my @item = ();
8592 41         70 my %item = ();
8593 41         64 my $repeating = $_[2];
8594 41         55 my $_noactions = $_[3];
8595 41 50       109 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  41         64  
  41         91  
8596 41         165 my $_itempos = $_[5];
8597 41 50       109 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8598 41         96 my $text;
8599             my $lastsep;
8600 41         0 my $current_match;
8601 41         181 my $expectation = new Parse::RecDescent::Expectation(q{/\\bno\\s/});
8602 41         318 $expectation->at($_[1]);
8603            
8604 41         194 my $thisline;
8605 41         188 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8606              
8607            
8608              
8609 41   33     365 while (!$_matched && !$commit)
8610             {
8611            
8612 41 50       94 Parse::RecDescent::_trace(q{Trying production: [/\\bno\\s/ no_stuff /[;\}]/]},
8613             Parse::RecDescent::_tracefirst($_[1]),
8614             q{token_no},
8615             $tracelevel)
8616             if defined $::RD_TRACE;
8617 41         75 my $thisprod = $thisrule->{"prods"}[0];
8618 41         69 $text = $_[1];
8619 41         65 my $_savetext;
8620 41         88 @item = (q{token_no});
8621 41         90 %item = (__RULE__ => q{token_no});
8622 41         60 my $repcount = 0;
8623              
8624              
8625 41 50       82 Parse::RecDescent::_trace(q{Trying terminal: [/\\bno\\s/]}, Parse::RecDescent::_tracefirst($text),
8626             q{token_no},
8627             $tracelevel)
8628             if defined $::RD_TRACE;
8629 41         70 undef $lastsep;
8630 41         102 $expectation->is(q{})->at($text);
8631            
8632              
8633 41 100 66     556 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\bno\s)/)
  41 100       371  
8634             {
8635 20 50       81 $text = $lastsep . $text if defined $lastsep;
8636 20         80 $expectation->failed();
8637 20 50       93 Parse::RecDescent::_trace(q{<>},
8638             Parse::RecDescent::_tracefirst($text))
8639             if defined $::RD_TRACE;
8640              
8641 20         45 last;
8642             }
8643 21         109 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8644 21         66 substr($text,0,length($current_match),q{});
8645 21 50       51 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8646             . $current_match . q{])},
8647             Parse::RecDescent::_tracefirst($text))
8648             if defined $::RD_TRACE;
8649 21         55 push @item, $item{__PATTERN1__}=$current_match;
8650            
8651              
8652 21 50       47 Parse::RecDescent::_trace(q{Trying subrule: [no_stuff]},
8653             Parse::RecDescent::_tracefirst($text),
8654             q{token_no},
8655             $tracelevel)
8656             if defined $::RD_TRACE;
8657 12     12   100 if (1) { no strict qw{refs};
  12         25  
  12         9273  
  21         31  
8658 21         51 $expectation->is(q{no_stuff})->at($text);
8659 21 50   21   217 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::no_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  21         43  
8660             {
8661            
8662 0 0       0 Parse::RecDescent::_trace(q{<>},
8663             Parse::RecDescent::_tracefirst($text),
8664             q{token_no},
8665             $tracelevel)
8666             if defined $::RD_TRACE;
8667 0         0 $expectation->failed();
8668 0         0 last;
8669             }
8670 21 50       61 Parse::RecDescent::_trace(q{>>Matched subrule: [no_stuff]<< (return value: [}
8671             . $_tok . q{]},
8672              
8673             Parse::RecDescent::_tracefirst($text),
8674             q{token_no},
8675             $tracelevel)
8676             if defined $::RD_TRACE;
8677 21         43 $item{q{no_stuff}} = $_tok;
8678 21         33 push @item, $_tok;
8679            
8680             }
8681              
8682 21 50       41 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
8683             q{token_no},
8684             $tracelevel)
8685             if defined $::RD_TRACE;
8686 21         35 undef $lastsep;
8687 21         59 $expectation->is(q{/[;\}]/})->at($text);
8688            
8689              
8690 21 50 33     248 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  21 50       156  
8691             {
8692 0 0       0 $text = $lastsep . $text if defined $lastsep;
8693 0         0 $expectation->failed();
8694 0 0       0 Parse::RecDescent::_trace(q{<>},
8695             Parse::RecDescent::_tracefirst($text))
8696             if defined $::RD_TRACE;
8697              
8698 0         0 last;
8699             }
8700 21         114 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8701 21         62 substr($text,0,length($current_match),q{});
8702 21 50       44 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8703             . $current_match . q{])},
8704             Parse::RecDescent::_tracefirst($text))
8705             if defined $::RD_TRACE;
8706 21         71 push @item, $item{__PATTERN2__}=$current_match;
8707            
8708              
8709 21 50       46 Parse::RecDescent::_trace(q{Trying action},
8710             Parse::RecDescent::_tracefirst($text),
8711             q{token_no},
8712             $tracelevel)
8713             if defined $::RD_TRACE;
8714            
8715              
8716 21 50       43 $_tok = ($_noactions) ? 0 : do { $return=$item{no_stuff} };
  21         41  
8717 21 50       42 unless (defined $_tok)
8718             {
8719 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8720             if defined $::RD_TRACE;
8721 0         0 last;
8722             }
8723 21 50       43 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8724             . $_tok . q{])},
8725             Parse::RecDescent::_tracefirst($text))
8726             if defined $::RD_TRACE;
8727 21         36 push @item, $_tok;
8728 21         40 $item{__ACTION1__}=$_tok;
8729            
8730              
8731 21 50       48 Parse::RecDescent::_trace(q{>>Matched production: [/\\bno\\s/ no_stuff /[;\}]/]<<},
8732             Parse::RecDescent::_tracefirst($text),
8733             q{token_no},
8734             $tracelevel)
8735             if defined $::RD_TRACE;
8736              
8737              
8738              
8739 21         32 $_matched = 1;
8740 21         43 last;
8741             }
8742              
8743              
8744 41 100 66     134 unless ( $_matched || defined($score) )
8745             {
8746            
8747              
8748 20         39 $_[1] = $text; # NOT SURE THIS IS NEEDED
8749 20 50       43 Parse::RecDescent::_trace(q{<>},
8750             Parse::RecDescent::_tracefirst($_[1]),
8751             q{token_no},
8752             $tracelevel)
8753             if defined $::RD_TRACE;
8754 20         119 return undef;
8755             }
8756 21 50 33     48 if (!defined($return) && defined($score))
8757             {
8758 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8759             q{token_no},
8760             $tracelevel)
8761             if defined $::RD_TRACE;
8762 0         0 $return = $score_return;
8763             }
8764 21         33 splice @{$thisparser->{errors}}, $err_at;
  21         45  
8765 21 50       43 $return = $item[$#item] unless defined $return;
8766 21 50       35 if (defined $::RD_TRACE)
8767             {
8768 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8769             $return . q{])}, "",
8770             q{token_no},
8771             $tracelevel);
8772 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8773             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8774             Parse::RecDescent::_tracefirst($text),
8775             , q{token_no},
8776             $tracelevel)
8777             }
8778 21         38 $_[1] = $text;
8779 21         124 return $return;
8780             }
8781              
8782             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8783             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_require
8784             {
8785 51     51   2893 my $thisparser = $_[0];
8786 12     12   103 use vars q{$tracelevel};
  12         35  
  12         6112  
8787 51   50     237 local $tracelevel = ($tracelevel||0)+1;
8788 51         91 $ERRORS = 0;
8789 51         115 my $thisrule = $thisparser->{"rules"}{"token_require"};
8790              
8791 51 50       138 Parse::RecDescent::_trace(q{Trying rule: [token_require]},
8792             Parse::RecDescent::_tracefirst($_[1]),
8793             q{token_require},
8794             $tracelevel)
8795             if defined $::RD_TRACE;
8796              
8797            
8798 51         82 my $err_at = @{$thisparser->{errors}};
  51         114  
8799              
8800 51         149 my $score;
8801             my $score_return;
8802 51         0 my $_tok;
8803 51         93 my $return = undef;
8804 51         75 my $_matched=0;
8805 51         92 my $commit=0;
8806 51         90 my @item = ();
8807 51         102 my %item = ();
8808 51         93 my $repeating = $_[2];
8809 51         82 my $_noactions = $_[3];
8810 51 50       130 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  51         83  
  51         127  
8811 51         256 my $_itempos = $_[5];
8812 51 50       135 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8813 51         132 my $text;
8814             my $lastsep;
8815 51         0 my $current_match;
8816 51         209 my $expectation = new Parse::RecDescent::Expectation(q{/\\brequire\\s/});
8817 51         416 $expectation->at($_[1]);
8818            
8819 51         229 my $thisline;
8820 51         237 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8821              
8822            
8823              
8824 51   33     500 while (!$_matched && !$commit)
8825             {
8826            
8827 51 50       128 Parse::RecDescent::_trace(q{Trying production: [/\\brequire\\s/ require_stuff /[;\}]/]},
8828             Parse::RecDescent::_tracefirst($_[1]),
8829             q{token_require},
8830             $tracelevel)
8831             if defined $::RD_TRACE;
8832 51         110 my $thisprod = $thisrule->{"prods"}[0];
8833 51         101 $text = $_[1];
8834 51         103 my $_savetext;
8835 51         113 @item = (q{token_require});
8836 51         126 %item = (__RULE__ => q{token_require});
8837 51         84 my $repcount = 0;
8838              
8839              
8840 51 50       115 Parse::RecDescent::_trace(q{Trying terminal: [/\\brequire\\s/]}, Parse::RecDescent::_tracefirst($text),
8841             q{token_require},
8842             $tracelevel)
8843             if defined $::RD_TRACE;
8844 51         100 undef $lastsep;
8845 51         170 $expectation->is(q{})->at($text);
8846            
8847              
8848 51 100 66     874 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\brequire\s)/)
  51 100       610  
8849             {
8850 24 50       100 $text = $lastsep . $text if defined $lastsep;
8851 24         83 $expectation->failed();
8852 24 50       125 Parse::RecDescent::_trace(q{<>},
8853             Parse::RecDescent::_tracefirst($text))
8854             if defined $::RD_TRACE;
8855              
8856 24         60 last;
8857             }
8858 27         185 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8859 27         104 substr($text,0,length($current_match),q{});
8860 27 50       71 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8861             . $current_match . q{])},
8862             Parse::RecDescent::_tracefirst($text))
8863             if defined $::RD_TRACE;
8864 27         85 push @item, $item{__PATTERN1__}=$current_match;
8865            
8866              
8867 27 50       78 Parse::RecDescent::_trace(q{Trying subrule: [require_stuff]},
8868             Parse::RecDescent::_tracefirst($text),
8869             q{token_require},
8870             $tracelevel)
8871             if defined $::RD_TRACE;
8872 12     12   100 if (1) { no strict qw{refs};
  12         29  
  12         9304  
  27         99  
8873 27         93 $expectation->is(q{require_stuff})->at($text);
8874 27 50   27   405 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::require_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  27         65  
8875             {
8876            
8877 0 0       0 Parse::RecDescent::_trace(q{<>},
8878             Parse::RecDescent::_tracefirst($text),
8879             q{token_require},
8880             $tracelevel)
8881             if defined $::RD_TRACE;
8882 0         0 $expectation->failed();
8883 0         0 last;
8884             }
8885 27 50       102 Parse::RecDescent::_trace(q{>>Matched subrule: [require_stuff]<< (return value: [}
8886             . $_tok . q{]},
8887              
8888             Parse::RecDescent::_tracefirst($text),
8889             q{token_require},
8890             $tracelevel)
8891             if defined $::RD_TRACE;
8892 27         68 $item{q{require_stuff}} = $_tok;
8893 27         50 push @item, $_tok;
8894            
8895             }
8896              
8897 27 50       62 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
8898             q{token_require},
8899             $tracelevel)
8900             if defined $::RD_TRACE;
8901 27         49 undef $lastsep;
8902 27         221 $expectation->is(q{/[;\}]/})->at($text);
8903            
8904              
8905 27 100 66     371 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  27 100       272  
8906             {
8907 3 50       13 $text = $lastsep . $text if defined $lastsep;
8908 3         11 $expectation->failed();
8909 3 50       31 Parse::RecDescent::_trace(q{<>},
8910             Parse::RecDescent::_tracefirst($text))
8911             if defined $::RD_TRACE;
8912              
8913 3         7 last;
8914             }
8915 24         135 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8916 24         83 substr($text,0,length($current_match),q{});
8917 24 50       57 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8918             . $current_match . q{])},
8919             Parse::RecDescent::_tracefirst($text))
8920             if defined $::RD_TRACE;
8921 24         71 push @item, $item{__PATTERN2__}=$current_match;
8922            
8923              
8924 24 50       62 Parse::RecDescent::_trace(q{Trying action},
8925             Parse::RecDescent::_tracefirst($text),
8926             q{token_require},
8927             $tracelevel)
8928             if defined $::RD_TRACE;
8929            
8930              
8931 24 50       63 $_tok = ($_noactions) ? 0 : do { $return=$item{require_stuff} };
  24         57  
8932 24 50       77 unless (defined $_tok)
8933             {
8934 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8935             if defined $::RD_TRACE;
8936 0         0 last;
8937             }
8938 24 50       57 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8939             . $_tok . q{])},
8940             Parse::RecDescent::_tracefirst($text))
8941             if defined $::RD_TRACE;
8942 24         44 push @item, $_tok;
8943 24         51 $item{__ACTION1__}=$_tok;
8944            
8945              
8946 24 50       62 Parse::RecDescent::_trace(q{>>Matched production: [/\\brequire\\s/ require_stuff /[;\}]/]<<},
8947             Parse::RecDescent::_tracefirst($text),
8948             q{token_require},
8949             $tracelevel)
8950             if defined $::RD_TRACE;
8951              
8952              
8953              
8954 24         36 $_matched = 1;
8955 24         61 last;
8956             }
8957              
8958              
8959 51 100 66     201 unless ( $_matched || defined($score) )
8960             {
8961            
8962              
8963 27         55 $_[1] = $text; # NOT SURE THIS IS NEEDED
8964 27 50       61 Parse::RecDescent::_trace(q{<>},
8965             Parse::RecDescent::_tracefirst($_[1]),
8966             q{token_require},
8967             $tracelevel)
8968             if defined $::RD_TRACE;
8969 27         160 return undef;
8970             }
8971 24 50 33     80 if (!defined($return) && defined($score))
8972             {
8973 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8974             q{token_require},
8975             $tracelevel)
8976             if defined $::RD_TRACE;
8977 0         0 $return = $score_return;
8978             }
8979 24         46 splice @{$thisparser->{errors}}, $err_at;
  24         93  
8980 24 50       63 $return = $item[$#item] unless defined $return;
8981 24 50       53 if (defined $::RD_TRACE)
8982             {
8983 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8984             $return . q{])}, "",
8985             q{token_require},
8986             $tracelevel);
8987 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8988             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8989             Parse::RecDescent::_tracefirst($text),
8990             , q{token_require},
8991             $tracelevel)
8992             }
8993 24         56 $_[1] = $text;
8994 24         164 return $return;
8995             }
8996              
8997             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8998             sub Parse::RecDescent::Module::ExtractUse::Grammar::token_use
8999             {
9000 286     286   16286 my $thisparser = $_[0];
9001 12     12   118 use vars q{$tracelevel};
  12         28  
  12         6122  
9002 286   50     1293 local $tracelevel = ($tracelevel||0)+1;
9003 286         532 $ERRORS = 0;
9004 286         626 my $thisrule = $thisparser->{"rules"}{"token_use"};
9005              
9006 286 50       814 Parse::RecDescent::_trace(q{Trying rule: [token_use]},
9007             Parse::RecDescent::_tracefirst($_[1]),
9008             q{token_use},
9009             $tracelevel)
9010             if defined $::RD_TRACE;
9011              
9012            
9013 286         437 my $err_at = @{$thisparser->{errors}};
  286         559  
9014              
9015 286         782 my $score;
9016             my $score_return;
9017 286         0 my $_tok;
9018 286         464 my $return = undef;
9019 286         418 my $_matched=0;
9020 286         456 my $commit=0;
9021 286         486 my @item = ();
9022 286         513 my %item = ();
9023 286         426 my $repeating = $_[2];
9024 286         436 my $_noactions = $_[3];
9025 286 50       621 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  286         477  
  286         651  
9026 286         1237 my $_itempos = $_[5];
9027 286 50       800 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9028 286         737 my $text;
9029             my $lastsep;
9030 286         0 my $current_match;
9031 286         1267 my $expectation = new Parse::RecDescent::Expectation(q{/\\buse\\s/});
9032 286         2266 $expectation->at($_[1]);
9033            
9034 286         1392 my $thisline;
9035 286         1448 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9036              
9037            
9038              
9039 286   33     2749 while (!$_matched && !$commit)
9040             {
9041            
9042 286 50       704 Parse::RecDescent::_trace(q{Trying production: [/\\buse\\s/ use_stuff /[;\}]/]},
9043             Parse::RecDescent::_tracefirst($_[1]),
9044             q{token_use},
9045             $tracelevel)
9046             if defined $::RD_TRACE;
9047 286         609 my $thisprod = $thisrule->{"prods"}[0];
9048 286         546 $text = $_[1];
9049 286         416 my $_savetext;
9050 286         605 @item = (q{token_use});
9051 286         711 %item = (__RULE__ => q{token_use});
9052 286         445 my $repcount = 0;
9053              
9054              
9055 286 50       681 Parse::RecDescent::_trace(q{Trying terminal: [/\\buse\\s/]}, Parse::RecDescent::_tracefirst($text),
9056             q{token_use},
9057             $tracelevel)
9058             if defined $::RD_TRACE;
9059 286         514 undef $lastsep;
9060 286         817 $expectation->is(q{})->at($text);
9061            
9062              
9063 286 100 66     3673 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\buse\s)/)
  286 100       2873  
9064             {
9065 69 50       234 $text = $lastsep . $text if defined $lastsep;
9066 69         239 $expectation->failed();
9067 69 50       314 Parse::RecDescent::_trace(q{<>},
9068             Parse::RecDescent::_tracefirst($text))
9069             if defined $::RD_TRACE;
9070              
9071 69         160 last;
9072             }
9073 217         1297 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9074 217         784 substr($text,0,length($current_match),q{});
9075 217 50       556 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9076             . $current_match . q{])},
9077             Parse::RecDescent::_tracefirst($text))
9078             if defined $::RD_TRACE;
9079 217         644 push @item, $item{__PATTERN1__}=$current_match;
9080            
9081              
9082 217 50       505 Parse::RecDescent::_trace(q{Trying subrule: [use_stuff]},
9083             Parse::RecDescent::_tracefirst($text),
9084             q{token_use},
9085             $tracelevel)
9086             if defined $::RD_TRACE;
9087 12     12   102 if (1) { no strict qw{refs};
  12         43  
  12         9060  
  217         623  
9088 217         577 $expectation->is(q{use_stuff})->at($text);
9089 217 50   217   2548 unless (defined ($_tok = Parse::RecDescent::Module::ExtractUse::Grammar::use_stuff($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  217         503  
9090             {
9091            
9092 0 0       0 Parse::RecDescent::_trace(q{<>},
9093             Parse::RecDescent::_tracefirst($text),
9094             q{token_use},
9095             $tracelevel)
9096             if defined $::RD_TRACE;
9097 0         0 $expectation->failed();
9098 0         0 last;
9099             }
9100 217 50       735 Parse::RecDescent::_trace(q{>>Matched subrule: [use_stuff]<< (return value: [}
9101             . $_tok . q{]},
9102              
9103             Parse::RecDescent::_tracefirst($text),
9104             q{token_use},
9105             $tracelevel)
9106             if defined $::RD_TRACE;
9107 217         500 $item{q{use_stuff}} = $_tok;
9108 217         423 push @item, $_tok;
9109            
9110             }
9111              
9112 217 50       455 Parse::RecDescent::_trace(q{Trying terminal: [/[;\}]/]}, Parse::RecDescent::_tracefirst($text),
9113             q{token_use},
9114             $tracelevel)
9115             if defined $::RD_TRACE;
9116 217         375 undef $lastsep;
9117 217         672 $expectation->is(q{/[;\}]/})->at($text);
9118            
9119              
9120 217 100 66     3026 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[;}])/)
  217 100       1824  
9121             {
9122 5 50       20 $text = $lastsep . $text if defined $lastsep;
9123 5         18 $expectation->failed();
9124 5 50       110 Parse::RecDescent::_trace(q{<>},
9125             Parse::RecDescent::_tracefirst($text))
9126             if defined $::RD_TRACE;
9127              
9128 5         19 last;
9129             }
9130 212         1154 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9131 212         638 substr($text,0,length($current_match),q{});
9132 212 50       494 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9133             . $current_match . q{])},
9134             Parse::RecDescent::_tracefirst($text))
9135             if defined $::RD_TRACE;
9136 212         601 push @item, $item{__PATTERN2__}=$current_match;
9137            
9138              
9139 212 50       524 Parse::RecDescent::_trace(q{Trying action},
9140             Parse::RecDescent::_tracefirst($text),
9141             q{token_use},
9142             $tracelevel)
9143             if defined $::RD_TRACE;
9144            
9145              
9146 212 50       484 $_tok = ($_noactions) ? 0 : do { $return=$item{use_stuff} };
  212         483  
9147 212 50       481 unless (defined $_tok)
9148             {
9149 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9150             if defined $::RD_TRACE;
9151 0         0 last;
9152             }
9153 212 50       424 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9154             . $_tok . q{])},
9155             Parse::RecDescent::_tracefirst($text))
9156             if defined $::RD_TRACE;
9157 212         375 push @item, $_tok;
9158 212         440 $item{__ACTION1__}=$_tok;
9159            
9160              
9161 212 50       435 Parse::RecDescent::_trace(q{>>Matched production: [/\\buse\\s/ use_stuff /[;\}]/]<<},
9162             Parse::RecDescent::_tracefirst($text),
9163             q{token_use},
9164             $tracelevel)
9165             if defined $::RD_TRACE;
9166              
9167              
9168              
9169 212         389 $_matched = 1;
9170 212         492 last;
9171             }
9172              
9173              
9174 286 100 66     791 unless ( $_matched || defined($score) )
9175             {
9176            
9177              
9178 74         200 $_[1] = $text; # NOT SURE THIS IS NEEDED
9179 74 50       155 Parse::RecDescent::_trace(q{<>},
9180             Parse::RecDescent::_tracefirst($_[1]),
9181             q{token_use},
9182             $tracelevel)
9183             if defined $::RD_TRACE;
9184 74         461 return undef;
9185             }
9186 212 50 33     596 if (!defined($return) && defined($score))
9187             {
9188 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9189             q{token_use},
9190             $tracelevel)
9191             if defined $::RD_TRACE;
9192 0         0 $return = $score_return;
9193             }
9194 212         332 splice @{$thisparser->{errors}}, $err_at;
  212         507  
9195 212 50       483 $return = $item[$#item] unless defined $return;
9196 212 50       451 if (defined $::RD_TRACE)
9197             {
9198 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9199             $return . q{])}, "",
9200             q{token_use},
9201             $tracelevel);
9202 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9203             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9204             Parse::RecDescent::_tracefirst($text),
9205             , q{token_use},
9206             $tracelevel)
9207             }
9208 212         458 $_[1] = $text;
9209 212         1356 return $return;
9210             }
9211              
9212             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9213             sub Parse::RecDescent::Module::ExtractUse::Grammar::use_stuff
9214             {
9215 217     217   481 my $thisparser = $_[0];
9216 12     12   104 use vars q{$tracelevel};
  12         36  
  12         4445  
9217 217   50     578 local $tracelevel = ($tracelevel||0)+1;
9218 217         439 $ERRORS = 0;
9219 217         497 my $thisrule = $thisparser->{"rules"}{"use_stuff"};
9220              
9221 217 50       506 Parse::RecDescent::_trace(q{Trying rule: [use_stuff]},
9222             Parse::RecDescent::_tracefirst($_[1]),
9223             q{use_stuff},
9224             $tracelevel)
9225             if defined $::RD_TRACE;
9226              
9227            
9228 217         374 my $err_at = @{$thisparser->{errors}};
  217         452  
9229              
9230 217         654 my $score;
9231             my $score_return;
9232 217         0 my $_tok;
9233 217         392 my $return = undef;
9234 217         355 my $_matched=0;
9235 217         391 my $commit=0;
9236 217         487 my @item = ();
9237 217         413 my %item = ();
9238 217         355 my $repeating = $_[2];
9239 217         349 my $_noactions = $_[3];
9240 217 50       518 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  217         327  
  217         425  
9241 217         380 my $_itempos = $_[5];
9242 217 50       575 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9243 217         579 my $text;
9244             my $lastsep;
9245 217         0 my $current_match;
9246 217         610 my $expectation = new Parse::RecDescent::Expectation(q{base, or parent, or version, or module});
9247 217         1567 $expectation->at($_[1]);
9248            
9249 217         952 my $thisline;
9250 217         747 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9251              
9252            
9253              
9254 217   33     1869 while (!$_matched && !$commit)
9255             {
9256            
9257 217 50       522 Parse::RecDescent::_trace(q{Trying production: [base, or parent, or version, or module]},
9258             Parse::RecDescent::_tracefirst($_[1]),
9259             q{use_stuff},
9260             $tracelevel)
9261             if defined $::RD_TRACE;
9262 217         422 my $thisprod = $thisrule->{"prods"}[0];
9263 217         485 $text = $_[1];
9264 217         317 my $_savetext;
9265 217         487 @item = (q{use_stuff});
9266 217         509 %item = (__RULE__ => q{use_stuff});
9267 217         350 my $repcount = 0;
9268              
9269              
9270 217 50       483 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_use_stuff]},
9271             Parse::RecDescent::_tracefirst($text),
9272             q{use_stuff},
9273             $tracelevel)
9274             if defined $::RD_TRACE;
9275 12     12   118 if (1) { no strict qw{refs};
  12         41  
  12         5111  
  217         357  
9276 217         560 $expectation->is(q{})->at($text);
9277 217 50   217   2307 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         440  
9278             {
9279            
9280 0 0       0 Parse::RecDescent::_trace(q{<>},
9281             Parse::RecDescent::_tracefirst($text),
9282             q{use_stuff},
9283             $tracelevel)
9284             if defined $::RD_TRACE;
9285 0         0 $expectation->failed();
9286 0         0 last;
9287             }
9288 217 50       724 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_use_stuff]<< (return value: [}
9289             . $_tok . q{]},
9290              
9291             Parse::RecDescent::_tracefirst($text),
9292             q{use_stuff},
9293             $tracelevel)
9294             if defined $::RD_TRACE;
9295 217         541 $item{q{_alternation_1_of_production_1_of_rule_use_stuff}} = $_tok;
9296 217         389 push @item, $_tok;
9297            
9298             }
9299              
9300 217 50       459 Parse::RecDescent::_trace(q{>>Matched production: [base, or parent, or version, or module]<<},
9301             Parse::RecDescent::_tracefirst($text),
9302             q{use_stuff},
9303             $tracelevel)
9304             if defined $::RD_TRACE;
9305              
9306              
9307              
9308 217         347 $_matched = 1;
9309 217         353 last;
9310             }
9311              
9312              
9313 217 50 33     680 unless ( $_matched || defined($score) )
9314             {
9315            
9316              
9317 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9318 0 0       0 Parse::RecDescent::_trace(q{<>},
9319             Parse::RecDescent::_tracefirst($_[1]),
9320             q{use_stuff},
9321             $tracelevel)
9322             if defined $::RD_TRACE;
9323 0         0 return undef;
9324             }
9325 217 50 33     733 if (!defined($return) && defined($score))
9326             {
9327 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9328             q{use_stuff},
9329             $tracelevel)
9330             if defined $::RD_TRACE;
9331 0         0 $return = $score_return;
9332             }
9333 217         345 splice @{$thisparser->{errors}}, $err_at;
  217         447  
9334 217 50       510 $return = $item[$#item] unless defined $return;
9335 217 50       565 if (defined $::RD_TRACE)
9336             {
9337 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9338             $return . q{])}, "",
9339             q{use_stuff},
9340             $tracelevel);
9341 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9342             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9343             Parse::RecDescent::_tracefirst($text),
9344             , q{use_stuff},
9345             $tracelevel)
9346             }
9347 217         448 $_[1] = $text;
9348 217         1224 return $return;
9349             }
9350              
9351             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9352             sub Parse::RecDescent::Module::ExtractUse::Grammar::var
9353             {
9354 73     73   1229 my $thisparser = $_[0];
9355 12     12   130 use vars q{$tracelevel};
  12         96  
  12         10062  
9356 73   50     209 local $tracelevel = ($tracelevel||0)+1;
9357 73         134 $ERRORS = 0;
9358 73         248 my $thisrule = $thisparser->{"rules"}{"var"};
9359              
9360 73 50       189 Parse::RecDescent::_trace(q{Trying rule: [var]},
9361             Parse::RecDescent::_tracefirst($_[1]),
9362             q{var},
9363             $tracelevel)
9364             if defined $::RD_TRACE;
9365              
9366            
9367 73         124 my $err_at = @{$thisparser->{errors}};
  73         169  
9368              
9369 73         209 my $score;
9370             my $score_return;
9371 73         0 my $_tok;
9372 73         143 my $return = undef;
9373 73         107 my $_matched=0;
9374 73         125 my $commit=0;
9375 73         112 my @item = ();
9376 73         146 my %item = ();
9377 73         117 my $repeating = $_[2];
9378 73         136 my $_noactions = $_[3];
9379 73 50       171 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  73         130  
  73         135  
9380 73         128 my $_itempos = $_[5];
9381 73 50       185 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9382 73         214 my $text;
9383             my $lastsep;
9384 73         0 my $current_match;
9385 73         201 my $expectation = new Parse::RecDescent::Expectation(q{/\\$[\\w+]/});
9386 73         568 $expectation->at($_[1]);
9387            
9388 73         306 my $thisline;
9389 73         258 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9390              
9391            
9392              
9393 73   33     632 while (!$_matched && !$commit)
9394             {
9395            
9396 73 50       212 Parse::RecDescent::_trace(q{Trying production: [/\\$[\\w+]/]},
9397             Parse::RecDescent::_tracefirst($_[1]),
9398             q{var},
9399             $tracelevel)
9400             if defined $::RD_TRACE;
9401 73         164 my $thisprod = $thisrule->{"prods"}[0];
9402 73         142 $text = $_[1];
9403 73         119 my $_savetext;
9404 73         141 @item = (q{var});
9405 73         185 %item = (__RULE__ => q{var});
9406 73         109 my $repcount = 0;
9407              
9408              
9409 73 50       165 Parse::RecDescent::_trace(q{Trying terminal: [/\\$[\\w+]/]}, Parse::RecDescent::_tracefirst($text),
9410             q{var},
9411             $tracelevel)
9412             if defined $::RD_TRACE;
9413 73         142 undef $lastsep;
9414 73         187 $expectation->is(q{})->at($text);
9415            
9416              
9417 73 100 66     906 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\$[\w+])/)
  73 100       629  
9418             {
9419 68 50       246 $text = $lastsep . $text if defined $lastsep;
9420 68         238 $expectation->failed();
9421 68 50       313 Parse::RecDescent::_trace(q{<>},
9422             Parse::RecDescent::_tracefirst($text))
9423             if defined $::RD_TRACE;
9424              
9425 68         158 last;
9426             }
9427 5         29 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9428 5         1058 substr($text,0,length($current_match),q{});
9429 5 50       17 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9430             . $current_match . q{])},
9431             Parse::RecDescent::_tracefirst($text))
9432             if defined $::RD_TRACE;
9433 5         19 push @item, $item{__PATTERN1__}=$current_match;
9434            
9435              
9436 5 50       27 Parse::RecDescent::_trace(q{>>Matched production: [/\\$[\\w+]/]<<},
9437             Parse::RecDescent::_tracefirst($text),
9438             q{var},
9439             $tracelevel)
9440             if defined $::RD_TRACE;
9441              
9442              
9443              
9444 5         10 $_matched = 1;
9445 5         14 last;
9446             }
9447              
9448              
9449 73 100 66     305 unless ( $_matched || defined($score) )
9450             {
9451            
9452              
9453 68         133 $_[1] = $text; # NOT SURE THIS IS NEEDED
9454 68 50       154 Parse::RecDescent::_trace(q{<>},
9455             Parse::RecDescent::_tracefirst($_[1]),
9456             q{var},
9457             $tracelevel)
9458             if defined $::RD_TRACE;
9459 68         336 return undef;
9460             }
9461 5 50 33     27 if (!defined($return) && defined($score))
9462             {
9463 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9464             q{var},
9465             $tracelevel)
9466             if defined $::RD_TRACE;
9467 0         0 $return = $score_return;
9468             }
9469 5         8 splice @{$thisparser->{errors}}, $err_at;
  5         12  
9470 5 50       33 $return = $item[$#item] unless defined $return;
9471 5 50       17 if (defined $::RD_TRACE)
9472             {
9473 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9474             $return . q{])}, "",
9475             q{var},
9476             $tracelevel);
9477 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9478             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9479             Parse::RecDescent::_tracefirst($text),
9480             , q{var},
9481             $tracelevel)
9482             }
9483 5         12 $_[1] = $text;
9484 5         33 return $return;
9485             }
9486              
9487             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9488             sub Parse::RecDescent::Module::ExtractUse::Grammar::version
9489             {
9490 298     298   1862 my $thisparser = $_[0];
9491 12     12   113 use vars q{$tracelevel};
  12         27  
  12         81141  
9492 298   50     802 local $tracelevel = ($tracelevel||0)+1;
9493 298         467 $ERRORS = 0;
9494 298         635 my $thisrule = $thisparser->{"rules"}{"version"};
9495              
9496 298 50       628 Parse::RecDescent::_trace(q{Trying rule: [version]},
9497             Parse::RecDescent::_tracefirst($_[1]),
9498             q{version},
9499             $tracelevel)
9500             if defined $::RD_TRACE;
9501              
9502            
9503 298         433 my $err_at = @{$thisparser->{errors}};
  298         605  
9504              
9505 298         794 my $score;
9506             my $score_return;
9507 298         0 my $_tok;
9508 298         483 my $return = undef;
9509 298         472 my $_matched=0;
9510 298         444 my $commit=0;
9511 298         507 my @item = ();
9512 298         512 my %item = ();
9513 298         423 my $repeating = $_[2];
9514 298         457 my $_noactions = $_[3];
9515 298 50       659 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  298         452  
  298         532  
9516 298         499 my $_itempos = $_[5];
9517 298 50       739 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9518 298         762 my $text;
9519             my $lastsep;
9520 298         0 my $current_match;
9521 298         739 my $expectation = new Parse::RecDescent::Expectation(q{/v?[\\d\\._]+/});
9522 298         2006 $expectation->at($_[1]);
9523            
9524 298         1195 my $thisline;
9525 298         1038 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9526              
9527            
9528              
9529 298   33     2413 while (!$_matched && !$commit)
9530             {
9531            
9532 298 50       737 Parse::RecDescent::_trace(q{Trying production: [/v?[\\d\\._]+/]},
9533             Parse::RecDescent::_tracefirst($_[1]),
9534             q{version},
9535             $tracelevel)
9536             if defined $::RD_TRACE;
9537 298         622 my $thisprod = $thisrule->{"prods"}[0];
9538 298         503 $text = $_[1];
9539 298         421 my $_savetext;
9540 298         575 @item = (q{version});
9541 298         637 %item = (__RULE__ => q{version});
9542 298         460 my $repcount = 0;
9543              
9544              
9545 298 50       629 Parse::RecDescent::_trace(q{Trying terminal: [/v?[\\d\\._]+/]}, Parse::RecDescent::_tracefirst($text),
9546             q{version},
9547             $tracelevel)
9548             if defined $::RD_TRACE;
9549 298         561 undef $lastsep;
9550 298         694 $expectation->is(q{})->at($text);
9551            
9552              
9553 298 100 66     3473 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:v?[\d\._]+)/)
  298 100       2705  
9554             {
9555 251 50       833 $text = $lastsep . $text if defined $lastsep;
9556 251         833 $expectation->failed();
9557 251 50       1060 Parse::RecDescent::_trace(q{<>},
9558             Parse::RecDescent::_tracefirst($text))
9559             if defined $::RD_TRACE;
9560              
9561 251         595 last;
9562             }
9563 47         267 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9564 47         170 substr($text,0,length($current_match),q{});
9565 47 50       138 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9566             . $current_match . q{])},
9567             Parse::RecDescent::_tracefirst($text))
9568             if defined $::RD_TRACE;
9569 47         218 push @item, $item{__PATTERN1__}=$current_match;
9570            
9571              
9572 47 50       130 Parse::RecDescent::_trace(q{>>Matched production: [/v?[\\d\\._]+/]<<},
9573             Parse::RecDescent::_tracefirst($text),
9574             q{version},
9575             $tracelevel)
9576             if defined $::RD_TRACE;
9577              
9578              
9579              
9580 47         97 $_matched = 1;
9581 47         106 last;
9582             }
9583              
9584              
9585 298 100 66     1191 unless ( $_matched || defined($score) )
9586             {
9587            
9588              
9589 251         474 $_[1] = $text; # NOT SURE THIS IS NEEDED
9590 251 50       522 Parse::RecDescent::_trace(q{<>},
9591             Parse::RecDescent::_tracefirst($_[1]),
9592             q{version},
9593             $tracelevel)
9594             if defined $::RD_TRACE;
9595 251         1411 return undef;
9596             }
9597 47 50 33     1252 if (!defined($return) && defined($score))
9598             {
9599 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9600             q{version},
9601             $tracelevel)
9602             if defined $::RD_TRACE;
9603 0         0 $return = $score_return;
9604             }
9605 47         84 splice @{$thisparser->{errors}}, $err_at;
  47         143  
9606 47 50       168 $return = $item[$#item] unless defined $return;
9607 47 50       160 if (defined $::RD_TRACE)
9608             {
9609 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9610             $return . q{])}, "",
9611             q{version},
9612             $tracelevel);
9613 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9614             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9615             Parse::RecDescent::_tracefirst($text),
9616             , q{version},
9617             $tracelevel)
9618             }
9619 47         121 $_[1] = $text;
9620 47         296 return $return;
9621             }
9622             }
9623 520     520 0 299678 package Module::ExtractUse::Grammar; sub new { my $self = bless( {
9624             '_AUTOACTION' => undef,
9625             '_AUTOTREE' => undef,
9626             '_check' => {
9627             'itempos' => '',
9628             'prevcolumn' => '',
9629             'prevline' => '',
9630             'prevoffset' => '',
9631             'thiscolumn' => '',
9632             'thisoffset' => ''
9633             },
9634             'localvars' => '',
9635             'namespace' => 'Parse::RecDescent::Module::ExtractUse::Grammar',
9636             'rules' => {
9637             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load' => bless( {
9638             'calls' => [
9639             'class_load_functions'
9640             ],
9641             'changed' => 0,
9642             'impcount' => 0,
9643             'line' => 125,
9644             'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load',
9645             'opcount' => 0,
9646             'prods' => [
9647             bless( {
9648             'actcount' => 0,
9649             'dircount' => 0,
9650             'error' => undef,
9651             'items' => [
9652             bless( {
9653             'description' => '\'Class::Load::\'',
9654             'hashname' => '__STRING1__',
9655             'line' => 125,
9656             'lookahead' => 0,
9657             'pattern' => 'Class::Load::'
9658             }, 'Parse::RecDescent::Literal' ),
9659             bless( {
9660             'argcode' => undef,
9661             'implicit' => undef,
9662             'line' => 125,
9663             'lookahead' => 0,
9664             'matchrule' => 0,
9665             'subrule' => 'class_load_functions'
9666             }, 'Parse::RecDescent::Subrule' )
9667             ],
9668             'line' => undef,
9669             'number' => 0,
9670             'patcount' => 0,
9671             'strcount' => 1,
9672             'uncommit' => undef
9673             }, 'Parse::RecDescent::Production' )
9674             ],
9675             'vars' => ''
9676             }, 'Parse::RecDescent::Rule' ),
9677             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
9678             'calls' => [
9679             'module_runtime_use_fcn'
9680             ],
9681             'changed' => 0,
9682             'impcount' => 0,
9683             'line' => 125,
9684             'name' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
9685             'opcount' => 0,
9686             'prods' => [
9687             bless( {
9688             'actcount' => 0,
9689             'dircount' => 0,
9690             'error' => undef,
9691             'items' => [
9692             bless( {
9693             'description' => '\'Module::Runtime::\'',
9694             'hashname' => '__STRING1__',
9695             'line' => 125,
9696             'lookahead' => 0,
9697             'pattern' => 'Module::Runtime::'
9698             }, 'Parse::RecDescent::Literal' ),
9699             bless( {
9700             'argcode' => undef,
9701             'implicit' => undef,
9702             'line' => 125,
9703             'lookahead' => 0,
9704             'matchrule' => 0,
9705             'subrule' => 'module_runtime_use_fcn'
9706             }, 'Parse::RecDescent::Subrule' ),
9707             bless( {
9708             'description' => '\'(\'',
9709             'hashname' => '__STRING2__',
9710             'line' => 125,
9711             'lookahead' => 0,
9712             'pattern' => '('
9713             }, 'Parse::RecDescent::Literal' )
9714             ],
9715             'line' => undef,
9716             'number' => 0,
9717             'patcount' => 0,
9718             'strcount' => 2,
9719             'uncommit' => undef
9720             }, 'Parse::RecDescent::Production' )
9721             ],
9722             'vars' => ''
9723             }, 'Parse::RecDescent::Rule' ),
9724             '_alternation_1_of_production_1_of_rule_class_load' => bless( {
9725             'calls' => [
9726             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load',
9727             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load'
9728             ],
9729             'changed' => 0,
9730             'impcount' => 1,
9731             'line' => 125,
9732             'name' => '_alternation_1_of_production_1_of_rule_class_load',
9733             'opcount' => 0,
9734             'prods' => [
9735             bless( {
9736             'actcount' => 0,
9737             'dircount' => 0,
9738             'error' => undef,
9739             'items' => [
9740             bless( {
9741             'argcode' => undef,
9742             'implicit' => '\'Class::Load::\'',
9743             'line' => 125,
9744             'lookahead' => 0,
9745             'matchrule' => 0,
9746             'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_class_load'
9747             }, 'Parse::RecDescent::Subrule' )
9748             ],
9749             'line' => undef,
9750             'number' => 0,
9751             'patcount' => 0,
9752             'strcount' => 0,
9753             'uncommit' => undef
9754             }, 'Parse::RecDescent::Production' ),
9755             bless( {
9756             'actcount' => 0,
9757             'dircount' => 0,
9758             'error' => undef,
9759             'items' => [
9760             bless( {
9761             'argcode' => undef,
9762             'implicit' => '/\\\\b/',
9763             'line' => 125,
9764             'lookahead' => 0,
9765             'matchrule' => 0,
9766             'subrule' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load'
9767             }, 'Parse::RecDescent::Subrule' )
9768             ],
9769             'line' => 125,
9770             'number' => 1,
9771             'patcount' => 0,
9772             'strcount' => 0,
9773             'uncommit' => undef
9774             }, 'Parse::RecDescent::Production' )
9775             ],
9776             'vars' => ''
9777             }, 'Parse::RecDescent::Rule' ),
9778             '_alternation_1_of_production_1_of_rule_class_load_first_existing' => bless( {
9779             'calls' => [],
9780             'changed' => 0,
9781             'impcount' => 0,
9782             'line' => 125,
9783             'name' => '_alternation_1_of_production_1_of_rule_class_load_first_existing',
9784             'opcount' => 0,
9785             'prods' => [
9786             bless( {
9787             'actcount' => 0,
9788             'dircount' => 0,
9789             'error' => undef,
9790             'items' => [
9791             bless( {
9792             'description' => '\'Class::Load::load_first_existing_class\'',
9793             'hashname' => '__STRING1__',
9794             'line' => 125,
9795             'lookahead' => 0,
9796             'pattern' => 'Class::Load::load_first_existing_class'
9797             }, 'Parse::RecDescent::Literal' )
9798             ],
9799             'line' => undef,
9800             'number' => 0,
9801             'patcount' => 0,
9802             'strcount' => 1,
9803             'uncommit' => undef
9804             }, 'Parse::RecDescent::Production' ),
9805             bless( {
9806             'actcount' => 0,
9807             'dircount' => 0,
9808             'error' => undef,
9809             'items' => [
9810             bless( {
9811             'description' => '/\\\\bload_first_existing_class/',
9812             'hashname' => '__PATTERN1__',
9813             'ldelim' => '/',
9814             'line' => 125,
9815             'lookahead' => 0,
9816             'mod' => '',
9817             'pattern' => '\\bload_first_existing_class',
9818             'rdelim' => '/'
9819             }, 'Parse::RecDescent::Token' )
9820             ],
9821             'line' => 125,
9822             'number' => 1,
9823             'patcount' => 1,
9824             'strcount' => 0,
9825             'uncommit' => undef
9826             }, 'Parse::RecDescent::Production' )
9827             ],
9828             'vars' => ''
9829             }, 'Parse::RecDescent::Rule' ),
9830             '_alternation_1_of_production_1_of_rule_comma' => bless( {
9831             'calls' => [],
9832             'changed' => 0,
9833             'impcount' => 0,
9834             'line' => 125,
9835             'name' => '_alternation_1_of_production_1_of_rule_comma',
9836             'opcount' => 0,
9837             'prods' => [
9838             bless( {
9839             'actcount' => 0,
9840             'dircount' => 0,
9841             'error' => undef,
9842             'items' => [
9843             bless( {
9844             'description' => '\',\'',
9845             'hashname' => '__STRING1__',
9846             'line' => 125,
9847             'lookahead' => 0,
9848             'pattern' => ','
9849             }, 'Parse::RecDescent::Literal' )
9850             ],
9851             'line' => undef,
9852             'number' => 0,
9853             'patcount' => 0,
9854             'strcount' => 1,
9855             'uncommit' => undef
9856             }, 'Parse::RecDescent::Production' ),
9857             bless( {
9858             'actcount' => 0,
9859             'dircount' => 0,
9860             'error' => undef,
9861             'items' => [
9862             bless( {
9863             'description' => '\'=>\'',
9864             'hashname' => '__STRING1__',
9865             'line' => 125,
9866             'lookahead' => 0,
9867             'pattern' => '=>'
9868             }, 'Parse::RecDescent::Literal' )
9869             ],
9870             'line' => 125,
9871             'number' => 1,
9872             'patcount' => 0,
9873             'strcount' => 1,
9874             'uncommit' => undef
9875             }, 'Parse::RecDescent::Production' )
9876             ],
9877             'vars' => ''
9878             }, 'Parse::RecDescent::Rule' ),
9879             '_alternation_1_of_production_1_of_rule_hash_pair' => bless( {
9880             'calls' => [],
9881             'changed' => 0,
9882             'impcount' => 0,
9883             'line' => 125,
9884             'name' => '_alternation_1_of_production_1_of_rule_hash_pair',
9885             'opcount' => 0,
9886             'prods' => [
9887             bless( {
9888             'actcount' => 0,
9889             'dircount' => 1,
9890             'error' => undef,
9891             'items' => [
9892             bless( {
9893             'code' => 'my ($match,@res);
9894             ($match,$text,undef,@res) =
9895             Text::Balanced::extract_quotelike($text,$skip);
9896             $match ? \\@res : undef;
9897             ',
9898             'hashname' => '__DIRECTIVE1__',
9899             'line' => 125,
9900             'lookahead' => 0,
9901             'name' => ''
9902             }, 'Parse::RecDescent::Directive' )
9903             ],
9904             'line' => undef,
9905             'number' => 0,
9906             'patcount' => 0,
9907             'strcount' => 0,
9908             'uncommit' => undef
9909             }, 'Parse::RecDescent::Production' ),
9910             bless( {
9911             'actcount' => 0,
9912             'dircount' => 0,
9913             'error' => undef,
9914             'items' => [
9915             bless( {
9916             'description' => '/[^\\\\s,\\}]+/',
9917             'hashname' => '__PATTERN1__',
9918             'ldelim' => '/',
9919             'line' => 125,
9920             'lookahead' => 0,
9921             'mod' => '',
9922             'pattern' => '[^\\s,}]+',
9923             'rdelim' => '/'
9924             }, 'Parse::RecDescent::Token' )
9925             ],
9926             'line' => 125,
9927             'number' => 1,
9928             'patcount' => 1,
9929             'strcount' => 0,
9930             'uncommit' => undef
9931             }, 'Parse::RecDescent::Production' )
9932             ],
9933             'vars' => ''
9934             }, 'Parse::RecDescent::Rule' ),
9935             '_alternation_1_of_production_1_of_rule_module_runtime_require_module' => bless( {
9936             'calls' => [],
9937             'changed' => 0,
9938             'impcount' => 0,
9939             'line' => 125,
9940             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_require_module',
9941             'opcount' => 0,
9942             'prods' => [
9943             bless( {
9944             'actcount' => 0,
9945             'dircount' => 0,
9946             'error' => undef,
9947             'items' => [
9948             bless( {
9949             'description' => '\'Module::Runtime::require_module(\'',
9950             'hashname' => '__STRING1__',
9951             'line' => 125,
9952             'lookahead' => 0,
9953             'pattern' => 'Module::Runtime::require_module('
9954             }, 'Parse::RecDescent::Literal' )
9955             ],
9956             'line' => undef,
9957             'number' => 0,
9958             'patcount' => 0,
9959             'strcount' => 1,
9960             'uncommit' => undef
9961             }, 'Parse::RecDescent::Production' ),
9962             bless( {
9963             'actcount' => 0,
9964             'dircount' => 0,
9965             'error' => undef,
9966             'items' => [
9967             bless( {
9968             'description' => '/\\\\brequire_module\\\\(/',
9969             'hashname' => '__PATTERN1__',
9970             'ldelim' => '/',
9971             'line' => 125,
9972             'lookahead' => 0,
9973             'mod' => '',
9974             'pattern' => '\\brequire_module\\(',
9975             'rdelim' => '/'
9976             }, 'Parse::RecDescent::Token' )
9977             ],
9978             'line' => 125,
9979             'number' => 1,
9980             'patcount' => 1,
9981             'strcount' => 0,
9982             'uncommit' => undef
9983             }, 'Parse::RecDescent::Production' )
9984             ],
9985             'vars' => ''
9986             }, 'Parse::RecDescent::Rule' ),
9987             '_alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
9988             'calls' => [
9989             '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
9990             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
9991             ],
9992             'changed' => 0,
9993             'impcount' => 1,
9994             'line' => 125,
9995             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_use',
9996             'opcount' => 0,
9997             'prods' => [
9998             bless( {
9999             'actcount' => 0,
10000             'dircount' => 0,
10001             'error' => undef,
10002             'items' => [
10003             bless( {
10004             'argcode' => undef,
10005             'implicit' => '\'Module::Runtime::\'',
10006             'line' => 125,
10007             'lookahead' => 0,
10008             'matchrule' => 0,
10009             'subrule' => '_alternation_1_of_production_1_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
10010             }, 'Parse::RecDescent::Subrule' )
10011             ],
10012             'line' => undef,
10013             'number' => 0,
10014             'patcount' => 0,
10015             'strcount' => 0,
10016             'uncommit' => undef
10017             }, 'Parse::RecDescent::Production' ),
10018             bless( {
10019             'actcount' => 0,
10020             'dircount' => 0,
10021             'error' => undef,
10022             'items' => [
10023             bless( {
10024             'argcode' => undef,
10025             'implicit' => '/\\\\b/',
10026             'line' => 125,
10027             'lookahead' => 0,
10028             'matchrule' => 0,
10029             'subrule' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use'
10030             }, 'Parse::RecDescent::Subrule' )
10031             ],
10032             'line' => 125,
10033             'number' => 1,
10034             'patcount' => 0,
10035             'strcount' => 0,
10036             'uncommit' => undef
10037             }, 'Parse::RecDescent::Production' )
10038             ],
10039             'vars' => ''
10040             }, 'Parse::RecDescent::Rule' ),
10041             '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn' => bless( {
10042             'calls' => [],
10043             'changed' => 0,
10044             'impcount' => 0,
10045             'line' => 125,
10046             'name' => '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn',
10047             'opcount' => 0,
10048             'prods' => [
10049             bless( {
10050             'actcount' => 0,
10051             'dircount' => 0,
10052             'error' => undef,
10053             'items' => [
10054             bless( {
10055             'description' => '\'use_module\'',
10056             'hashname' => '__STRING1__',
10057             'line' => 125,
10058             'lookahead' => 0,
10059             'pattern' => 'use_module'
10060             }, 'Parse::RecDescent::Literal' )
10061             ],
10062             'line' => undef,
10063             'number' => 0,
10064             'patcount' => 0,
10065             'strcount' => 1,
10066             'uncommit' => undef
10067             }, 'Parse::RecDescent::Production' ),
10068             bless( {
10069             'actcount' => 0,
10070             'dircount' => 0,
10071             'error' => undef,
10072             'items' => [
10073             bless( {
10074             'description' => '\'use_package_optimistically\'',
10075             'hashname' => '__STRING1__',
10076             'line' => 125,
10077             'lookahead' => 0,
10078             'pattern' => 'use_package_optimistically'
10079             }, 'Parse::RecDescent::Literal' )
10080             ],
10081             'line' => 125,
10082             'number' => 1,
10083             'patcount' => 0,
10084             'strcount' => 1,
10085             'uncommit' => undef
10086             }, 'Parse::RecDescent::Production' )
10087             ],
10088             'vars' => ''
10089             }, 'Parse::RecDescent::Rule' ),
10090             '_alternation_1_of_production_1_of_rule_no_stuff' => bless( {
10091             'calls' => [
10092             'base',
10093             'version',
10094             'module'
10095             ],
10096             'changed' => 0,
10097             'impcount' => 0,
10098             'line' => 125,
10099             'name' => '_alternation_1_of_production_1_of_rule_no_stuff',
10100             'opcount' => 0,
10101             'prods' => [
10102             bless( {
10103             'actcount' => 0,
10104             'dircount' => 0,
10105             'error' => undef,
10106             'items' => [
10107             bless( {
10108             'argcode' => undef,
10109             'implicit' => undef,
10110             'line' => 125,
10111             'lookahead' => 0,
10112             'matchrule' => 0,
10113             'subrule' => 'base'
10114             }, 'Parse::RecDescent::Subrule' )
10115             ],
10116             'line' => undef,
10117             'number' => 0,
10118             'patcount' => 0,
10119             'strcount' => 0,
10120             'uncommit' => undef
10121             }, 'Parse::RecDescent::Production' ),
10122             bless( {
10123             'actcount' => 0,
10124             'dircount' => 0,
10125             'error' => undef,
10126             'items' => [
10127             bless( {
10128             'argcode' => undef,
10129             'implicit' => undef,
10130             'line' => 125,
10131             'lookahead' => 0,
10132             'matchrule' => 0,
10133             'subrule' => 'version'
10134             }, 'Parse::RecDescent::Subrule' )
10135             ],
10136             'line' => 125,
10137             'number' => 1,
10138             'patcount' => 0,
10139             'strcount' => 0,
10140             'uncommit' => undef
10141             }, 'Parse::RecDescent::Production' ),
10142             bless( {
10143             'actcount' => 0,
10144             'dircount' => 0,
10145             'error' => undef,
10146             'items' => [
10147             bless( {
10148             'argcode' => undef,
10149             'implicit' => undef,
10150             'line' => 125,
10151             'lookahead' => 0,
10152             'matchrule' => 0,
10153             'subrule' => 'module'
10154             }, 'Parse::RecDescent::Subrule' )
10155             ],
10156             'line' => 125,
10157             'number' => 2,
10158             'patcount' => 0,
10159             'strcount' => 0,
10160             'uncommit' => undef
10161             }, 'Parse::RecDescent::Production' )
10162             ],
10163             'vars' => ''
10164             }, 'Parse::RecDescent::Rule' ),
10165             '_alternation_1_of_production_1_of_rule_require_stuff' => bless( {
10166             'calls' => [
10167             'version',
10168             'require_name',
10169             'module'
10170             ],
10171             'changed' => 0,
10172             'impcount' => 0,
10173             'line' => 125,
10174             'name' => '_alternation_1_of_production_1_of_rule_require_stuff',
10175             'opcount' => 0,
10176             'prods' => [
10177             bless( {
10178             'actcount' => 0,
10179             'dircount' => 0,
10180             'error' => undef,
10181             'items' => [
10182             bless( {
10183             'argcode' => undef,
10184             'implicit' => undef,
10185             'line' => 125,
10186             'lookahead' => 0,
10187             'matchrule' => 0,
10188             'subrule' => 'version'
10189             }, 'Parse::RecDescent::Subrule' )
10190             ],
10191             'line' => undef,
10192             'number' => 0,
10193             'patcount' => 0,
10194             'strcount' => 0,
10195             'uncommit' => undef
10196             }, 'Parse::RecDescent::Production' ),
10197             bless( {
10198             'actcount' => 0,
10199             'dircount' => 0,
10200             'error' => undef,
10201             'items' => [
10202             bless( {
10203             'argcode' => undef,
10204             'implicit' => undef,
10205             'line' => 125,
10206             'lookahead' => 0,
10207             'matchrule' => 0,
10208             'subrule' => 'require_name'
10209             }, 'Parse::RecDescent::Subrule' )
10210             ],
10211             'line' => 125,
10212             'number' => 1,
10213             'patcount' => 0,
10214             'strcount' => 0,
10215             'uncommit' => undef
10216             }, 'Parse::RecDescent::Production' ),
10217             bless( {
10218             'actcount' => 0,
10219             'dircount' => 0,
10220             'error' => undef,
10221             'items' => [
10222             bless( {
10223             'argcode' => undef,
10224             'implicit' => undef,
10225             'line' => 125,
10226             'lookahead' => 0,
10227             'matchrule' => 0,
10228             'subrule' => 'module'
10229             }, 'Parse::RecDescent::Subrule' )
10230             ],
10231             'line' => 125,
10232             'number' => 2,
10233             'patcount' => 0,
10234             'strcount' => 0,
10235             'uncommit' => undef
10236             }, 'Parse::RecDescent::Production' )
10237             ],
10238             'vars' => ''
10239             }, 'Parse::RecDescent::Rule' ),
10240             '_alternation_1_of_production_1_of_rule_use_stuff' => bless( {
10241             'calls' => [
10242             'base',
10243             'parent',
10244             'version',
10245             'module'
10246             ],
10247             'changed' => 0,
10248             'impcount' => 0,
10249             'line' => 125,
10250             'name' => '_alternation_1_of_production_1_of_rule_use_stuff',
10251             'opcount' => 0,
10252             'prods' => [
10253             bless( {
10254             'actcount' => 0,
10255             'dircount' => 0,
10256             'error' => undef,
10257             'items' => [
10258             bless( {
10259             'argcode' => undef,
10260             'implicit' => undef,
10261             'line' => 125,
10262             'lookahead' => 0,
10263             'matchrule' => 0,
10264             'subrule' => 'base'
10265             }, 'Parse::RecDescent::Subrule' )
10266             ],
10267             'line' => undef,
10268             'number' => 0,
10269             'patcount' => 0,
10270             'strcount' => 0,
10271             'uncommit' => undef
10272             }, 'Parse::RecDescent::Production' ),
10273             bless( {
10274             'actcount' => 0,
10275             'dircount' => 0,
10276             'error' => undef,
10277             'items' => [
10278             bless( {
10279             'argcode' => undef,
10280             'implicit' => undef,
10281             'line' => 125,
10282             'lookahead' => 0,
10283             'matchrule' => 0,
10284             'subrule' => 'parent'
10285             }, 'Parse::RecDescent::Subrule' )
10286             ],
10287             'line' => 125,
10288             'number' => 1,
10289             'patcount' => 0,
10290             'strcount' => 0,
10291             'uncommit' => undef
10292             }, 'Parse::RecDescent::Production' ),
10293             bless( {
10294             'actcount' => 0,
10295             'dircount' => 0,
10296             'error' => undef,
10297             'items' => [
10298             bless( {
10299             'argcode' => undef,
10300             'implicit' => undef,
10301             'line' => 125,
10302             'lookahead' => 0,
10303             'matchrule' => 0,
10304             'subrule' => 'version'
10305             }, 'Parse::RecDescent::Subrule' )
10306             ],
10307             'line' => 125,
10308             'number' => 2,
10309             'patcount' => 0,
10310             'strcount' => 0,
10311             'uncommit' => undef
10312             }, 'Parse::RecDescent::Production' ),
10313             bless( {
10314             'actcount' => 0,
10315             'dircount' => 0,
10316             'error' => undef,
10317             'items' => [
10318             bless( {
10319             'argcode' => undef,
10320             'implicit' => undef,
10321             'line' => 125,
10322             'lookahead' => 0,
10323             'matchrule' => 0,
10324             'subrule' => 'module'
10325             }, 'Parse::RecDescent::Subrule' )
10326             ],
10327             'line' => 125,
10328             'number' => 3,
10329             'patcount' => 0,
10330             'strcount' => 0,
10331             'uncommit' => undef
10332             }, 'Parse::RecDescent::Production' )
10333             ],
10334             'vars' => ''
10335             }, 'Parse::RecDescent::Rule' ),
10336             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load' => bless( {
10337             'calls' => [
10338             'class_load_functions'
10339             ],
10340             'changed' => 0,
10341             'impcount' => 0,
10342             'line' => 125,
10343             'name' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_class_load',
10344             'opcount' => 0,
10345             'prods' => [
10346             bless( {
10347             'actcount' => 0,
10348             'dircount' => 0,
10349             'error' => undef,
10350             'items' => [
10351             bless( {
10352             'description' => '/\\\\b/',
10353             'hashname' => '__PATTERN1__',
10354             'ldelim' => '/',
10355             'line' => 125,
10356             'lookahead' => 0,
10357             'mod' => '',
10358             'pattern' => '\\b',
10359             'rdelim' => '/'
10360             }, 'Parse::RecDescent::Token' ),
10361             bless( {
10362             'argcode' => undef,
10363             'implicit' => undef,
10364             'line' => 125,
10365             'lookahead' => 0,
10366             'matchrule' => 0,
10367             'subrule' => 'class_load_functions'
10368             }, 'Parse::RecDescent::Subrule' )
10369             ],
10370             'line' => undef,
10371             'number' => 0,
10372             'patcount' => 1,
10373             'strcount' => 0,
10374             'uncommit' => undef
10375             }, 'Parse::RecDescent::Production' )
10376             ],
10377             'vars' => ''
10378             }, 'Parse::RecDescent::Rule' ),
10379             '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use' => bless( {
10380             'calls' => [
10381             'module_runtime_use_fcn'
10382             ],
10383             'changed' => 0,
10384             'impcount' => 0,
10385             'line' => 125,
10386             'name' => '_alternation_1_of_production_2_of_rule__alternation_1_of_production_1_of_rule_module_runtime_use',
10387             'opcount' => 0,
10388             'prods' => [
10389             bless( {
10390             'actcount' => 0,
10391             'dircount' => 0,
10392             'error' => undef,
10393             'items' => [
10394             bless( {
10395             'description' => '/\\\\b/',
10396             'hashname' => '__PATTERN1__',
10397             'ldelim' => '/',
10398             'line' => 125,
10399             'lookahead' => 0,
10400             'mod' => '',
10401             'pattern' => '\\b',
10402             'rdelim' => '/'
10403             }, 'Parse::RecDescent::Token' ),
10404             bless( {
10405             'argcode' => undef,
10406             'implicit' => undef,
10407             'line' => 125,
10408             'lookahead' => 0,
10409             'matchrule' => 0,
10410             'subrule' => 'module_runtime_use_fcn'
10411             }, 'Parse::RecDescent::Subrule' ),
10412             bless( {
10413             'description' => '\'(\'',
10414             'hashname' => '__STRING1__',
10415             'line' => 125,
10416             'lookahead' => 0,
10417             'pattern' => '('
10418             }, 'Parse::RecDescent::Literal' )
10419             ],
10420             'line' => undef,
10421             'number' => 0,
10422             'patcount' => 1,
10423             'strcount' => 1,
10424             'uncommit' => undef
10425             }, 'Parse::RecDescent::Production' )
10426             ],
10427             'vars' => ''
10428             }, 'Parse::RecDescent::Rule' ),
10429             'base' => bless( {
10430             'calls' => [
10431             'import_list'
10432             ],
10433             'changed' => 0,
10434             'impcount' => 0,
10435             'line' => 10,
10436             'name' => 'base',
10437             'opcount' => 0,
10438             'prods' => [
10439             bless( {
10440             'actcount' => 0,
10441             'dircount' => 0,
10442             'error' => undef,
10443             'items' => [
10444             bless( {
10445             'description' => '\'base\'',
10446             'hashname' => '__STRING1__',
10447             'line' => 10,
10448             'lookahead' => 0,
10449             'pattern' => 'base'
10450             }, 'Parse::RecDescent::InterpLit' ),
10451             bless( {
10452             'argcode' => undef,
10453             'implicit' => undef,
10454             'line' => 10,
10455             'lookahead' => 0,
10456             'matchrule' => 0,
10457             'subrule' => 'import_list'
10458             }, 'Parse::RecDescent::Subrule' )
10459             ],
10460             'line' => undef,
10461             'number' => 0,
10462             'patcount' => 0,
10463             'strcount' => 1,
10464             'uncommit' => undef
10465             }, 'Parse::RecDescent::Production' )
10466             ],
10467             'vars' => ''
10468             }, 'Parse::RecDescent::Rule' ),
10469             'class_load' => bless( {
10470             'calls' => [
10471             '_alternation_1_of_production_1_of_rule_class_load',
10472             'comma_hashref'
10473             ],
10474             'changed' => 0,
10475             'impcount' => 1,
10476             'line' => 78,
10477             'name' => 'class_load',
10478             'opcount' => 0,
10479             'prods' => [
10480             bless( {
10481             'actcount' => 1,
10482             'dircount' => 1,
10483             'error' => undef,
10484             'items' => [
10485             bless( {
10486             'argcode' => undef,
10487             'implicit' => '\'Class::Load::\', or /\\\\b/',
10488             'line' => 78,
10489             'lookahead' => 0,
10490             'matchrule' => 0,
10491             'subrule' => '_alternation_1_of_production_1_of_rule_class_load'
10492             }, 'Parse::RecDescent::Subrule' ),
10493             bless( {
10494             'description' => '\'(\'',
10495             'hashname' => '__STRING1__',
10496             'line' => 78,
10497             'lookahead' => 0,
10498             'pattern' => '('
10499             }, 'Parse::RecDescent::Literal' ),
10500             bless( {
10501             'code' => 'my ($match,@res);
10502             ($match,$text,undef,@res) =
10503             Text::Balanced::extract_quotelike($text,$skip);
10504             $match ? \\@res : undef;
10505             ',
10506             'hashname' => '__DIRECTIVE1__',
10507             'line' => 78,
10508             'lookahead' => 0,
10509             'name' => ''
10510             }, 'Parse::RecDescent::Directive' ),
10511             bless( {
10512             'argcode' => undef,
10513             'expected' => undef,
10514             'line' => 78,
10515             'lookahead' => 0,
10516             'matchrule' => 0,
10517             'max' => 1,
10518             'min' => 0,
10519             'repspec' => '?',
10520             'subrule' => 'comma_hashref'
10521             }, 'Parse::RecDescent::Repetition' ),
10522             bless( {
10523             'description' => '\')\'',
10524             'hashname' => '__STRING2__',
10525             'line' => 78,
10526             'lookahead' => 0,
10527             'pattern' => ')'
10528             }, 'Parse::RecDescent::Literal' ),
10529             bless( {
10530             'code' => '{ $return = $item[3][2] }',
10531             'hashname' => '__ACTION1__',
10532             'line' => 79,
10533             'lookahead' => 0
10534             }, 'Parse::RecDescent::Action' )
10535             ],
10536             'line' => undef,
10537             'number' => 0,
10538             'patcount' => 0,
10539             'strcount' => 2,
10540             'uncommit' => undef
10541             }, 'Parse::RecDescent::Production' )
10542             ],
10543             'vars' => ''
10544             }, 'Parse::RecDescent::Rule' ),
10545             'class_load_first_existing' => bless( {
10546             'calls' => [
10547             '_alternation_1_of_production_1_of_rule_class_load_first_existing',
10548             'first_existing_arg',
10549             'comma_first_existing_arg'
10550             ],
10551             'changed' => 0,
10552             'impcount' => 1,
10553             'line' => 87,
10554             'name' => 'class_load_first_existing',
10555             'opcount' => 0,
10556             'prods' => [
10557             bless( {
10558             'actcount' => 1,
10559             'dircount' => 0,
10560             'error' => undef,
10561             'items' => [
10562             bless( {
10563             'argcode' => undef,
10564             'implicit' => '\'Class::Load::load_first_existing_class\', or /\\\\bload_first_existing_class/',
10565             'line' => 87,
10566             'lookahead' => 0,
10567             'matchrule' => 0,
10568             'subrule' => '_alternation_1_of_production_1_of_rule_class_load_first_existing'
10569             }, 'Parse::RecDescent::Subrule' ),
10570             bless( {
10571             'description' => '\'(\'',
10572             'hashname' => '__STRING1__',
10573             'line' => 87,
10574             'lookahead' => 0,
10575             'pattern' => '('
10576             }, 'Parse::RecDescent::Literal' ),
10577             bless( {
10578             'argcode' => undef,
10579             'implicit' => undef,
10580             'line' => 87,
10581             'lookahead' => 0,
10582             'matchrule' => 0,
10583             'subrule' => 'first_existing_arg'
10584             }, 'Parse::RecDescent::Subrule' ),
10585             bless( {
10586             'argcode' => undef,
10587             'expected' => undef,
10588             'line' => 87,
10589             'lookahead' => 0,
10590             'matchrule' => 0,
10591             'max' => 100000000,
10592             'min' => 0,
10593             'repspec' => 's?',
10594             'subrule' => 'comma_first_existing_arg'
10595             }, 'Parse::RecDescent::Repetition' ),
10596             bless( {
10597             'description' => '\')\'',
10598             'hashname' => '__STRING2__',
10599             'line' => 87,
10600             'lookahead' => 0,
10601             'pattern' => ')'
10602             }, 'Parse::RecDescent::Literal' ),
10603             bless( {
10604             'code' => '{ $return = $item{first_existing_arg};
10605             $return .= " " . join(" ", @{$item{\'comma_first_existing_arg(s?)\'}}) if $item{\'comma_first_existing_arg(s?)\'};
10606             1;
10607             }',
10608             'hashname' => '__ACTION1__',
10609             'line' => 88,
10610             'lookahead' => 0
10611             }, 'Parse::RecDescent::Action' )
10612             ],
10613             'line' => undef,
10614             'number' => 0,
10615             'patcount' => 0,
10616             'strcount' => 2,
10617             'uncommit' => undef
10618             }, 'Parse::RecDescent::Production' )
10619             ],
10620             'vars' => ''
10621             }, 'Parse::RecDescent::Rule' ),
10622             'class_load_functions' => bless( {
10623             'calls' => [],
10624             'changed' => 0,
10625             'impcount' => 0,
10626             'line' => 76,
10627             'name' => 'class_load_functions',
10628             'opcount' => 0,
10629             'prods' => [
10630             bless( {
10631             'actcount' => 0,
10632             'dircount' => 0,
10633             'error' => undef,
10634             'items' => [
10635             bless( {
10636             'description' => '\'load_class\'',
10637             'hashname' => '__STRING1__',
10638             'line' => 76,
10639             'lookahead' => 0,
10640             'pattern' => 'load_class'
10641             }, 'Parse::RecDescent::Literal' )
10642             ],
10643             'line' => undef,
10644             'number' => 0,
10645             'patcount' => 0,
10646             'strcount' => 1,
10647             'uncommit' => undef
10648             }, 'Parse::RecDescent::Production' ),
10649             bless( {
10650             'actcount' => 0,
10651             'dircount' => 0,
10652             'error' => undef,
10653             'items' => [
10654             bless( {
10655             'description' => '\'try_load_class\'',
10656             'hashname' => '__STRING1__',
10657             'line' => 76,
10658             'lookahead' => 0,
10659             'pattern' => 'try_load_class'
10660             }, 'Parse::RecDescent::Literal' )
10661             ],
10662             'line' => 76,
10663             'number' => 1,
10664             'patcount' => 0,
10665             'strcount' => 1,
10666             'uncommit' => undef
10667             }, 'Parse::RecDescent::Production' ),
10668             bless( {
10669             'actcount' => 0,
10670             'dircount' => 0,
10671             'error' => undef,
10672             'items' => [
10673             bless( {
10674             'description' => '\'load_optional_class\'',
10675             'hashname' => '__STRING1__',
10676             'line' => 76,
10677             'lookahead' => 0,
10678             'pattern' => 'load_optional_class'
10679             }, 'Parse::RecDescent::Literal' )
10680             ],
10681             'line' => 76,
10682             'number' => 2,
10683             'patcount' => 0,
10684             'strcount' => 1,
10685             'uncommit' => undef
10686             }, 'Parse::RecDescent::Production' )
10687             ],
10688             'vars' => ''
10689             }, 'Parse::RecDescent::Rule' ),
10690             'comma' => bless( {
10691             'calls' => [
10692             '_alternation_1_of_production_1_of_rule_comma'
10693             ],
10694             'changed' => 0,
10695             'impcount' => 1,
10696             'line' => 124,
10697             'name' => 'comma',
10698             'opcount' => 0,
10699             'prods' => [
10700             bless( {
10701             'actcount' => 0,
10702             'dircount' => 0,
10703             'error' => undef,
10704             'items' => [
10705             bless( {
10706             'argcode' => undef,
10707             'implicit' => '\',\', or \'=>\'',
10708             'line' => 124,
10709             'lookahead' => 0,
10710             'matchrule' => 0,
10711             'subrule' => '_alternation_1_of_production_1_of_rule_comma'
10712             }, 'Parse::RecDescent::Subrule' )
10713             ],
10714             'line' => undef,
10715             'number' => 0,
10716             'patcount' => 0,
10717             'strcount' => 0,
10718             'uncommit' => undef
10719             }, 'Parse::RecDescent::Production' )
10720             ],
10721             'vars' => ''
10722             }, 'Parse::RecDescent::Rule' ),
10723             'comma_first_existing_arg' => bless( {
10724             'calls' => [
10725             'comma',
10726             'first_existing_arg'
10727             ],
10728             'changed' => 0,
10729             'impcount' => 0,
10730             'line' => 84,
10731             'name' => 'comma_first_existing_arg',
10732             'opcount' => 0,
10733             'prods' => [
10734             bless( {
10735             'actcount' => 1,
10736             'dircount' => 0,
10737             'error' => undef,
10738             'items' => [
10739             bless( {
10740             'argcode' => undef,
10741             'implicit' => undef,
10742             'line' => 84,
10743             'lookahead' => 0,
10744             'matchrule' => 0,
10745             'subrule' => 'comma'
10746             }, 'Parse::RecDescent::Subrule' ),
10747             bless( {
10748             'argcode' => undef,
10749             'implicit' => undef,
10750             'line' => 84,
10751             'lookahead' => 0,
10752             'matchrule' => 0,
10753             'subrule' => 'first_existing_arg'
10754             }, 'Parse::RecDescent::Subrule' ),
10755             bless( {
10756             'code' => '{ $return = $item{first_existing_arg} }',
10757             'hashname' => '__ACTION1__',
10758             'line' => 85,
10759             'lookahead' => 0
10760             }, 'Parse::RecDescent::Action' )
10761             ],
10762             'line' => undef,
10763             'number' => 0,
10764             'patcount' => 0,
10765             'strcount' => 0,
10766             'uncommit' => undef
10767             }, 'Parse::RecDescent::Production' )
10768             ],
10769             'vars' => ''
10770             }, 'Parse::RecDescent::Rule' ),
10771             'comma_hash_pair' => bless( {
10772             'calls' => [
10773             'comma',
10774             'hash_pair'
10775             ],
10776             'changed' => 0,
10777             'impcount' => 0,
10778             'line' => 70,
10779             'name' => 'comma_hash_pair',
10780             'opcount' => 0,
10781             'prods' => [
10782             bless( {
10783             'actcount' => 0,
10784             'dircount' => 0,
10785             'error' => undef,
10786             'items' => [
10787             bless( {
10788             'argcode' => undef,
10789             'implicit' => undef,
10790             'line' => 70,
10791             'lookahead' => 0,
10792             'matchrule' => 0,
10793             'subrule' => 'comma'
10794             }, 'Parse::RecDescent::Subrule' ),
10795             bless( {
10796             'argcode' => undef,
10797             'implicit' => undef,
10798             'line' => 70,
10799             'lookahead' => 0,
10800             'matchrule' => 0,
10801             'subrule' => 'hash_pair'
10802             }, 'Parse::RecDescent::Subrule' )
10803             ],
10804             'line' => undef,
10805             'number' => 0,
10806             'patcount' => 0,
10807             'strcount' => 0,
10808             'uncommit' => undef
10809             }, 'Parse::RecDescent::Production' )
10810             ],
10811             'vars' => ''
10812             }, 'Parse::RecDescent::Rule' ),
10813             'comma_hashref' => bless( {
10814             'calls' => [
10815             'comma',
10816             'hashref'
10817             ],
10818             'changed' => 0,
10819             'impcount' => 0,
10820             'line' => 74,
10821             'name' => 'comma_hashref',
10822             'opcount' => 0,
10823             'prods' => [
10824             bless( {
10825             'actcount' => 0,
10826             'dircount' => 0,
10827             'error' => undef,
10828             'items' => [
10829             bless( {
10830             'argcode' => undef,
10831             'implicit' => undef,
10832             'line' => 74,
10833             'lookahead' => 0,
10834             'matchrule' => 0,
10835             'subrule' => 'comma'
10836             }, 'Parse::RecDescent::Subrule' ),
10837             bless( {
10838             'argcode' => undef,
10839             'implicit' => undef,
10840             'line' => 74,
10841             'lookahead' => 0,
10842             'matchrule' => 0,
10843             'subrule' => 'hashref'
10844             }, 'Parse::RecDescent::Subrule' )
10845             ],
10846             'line' => undef,
10847             'number' => 0,
10848             'patcount' => 0,
10849             'strcount' => 0,
10850             'uncommit' => undef
10851             }, 'Parse::RecDescent::Production' )
10852             ],
10853             'vars' => ''
10854             }, 'Parse::RecDescent::Rule' ),
10855             'comma_list_item' => bless( {
10856             'calls' => [
10857             'comma',
10858             'list_item'
10859             ],
10860             'changed' => 0,
10861             'impcount' => 0,
10862             'line' => 121,
10863             'name' => 'comma_list_item',
10864             'opcount' => 0,
10865             'prods' => [
10866             bless( {
10867             'actcount' => 1,
10868             'dircount' => 0,
10869             'error' => undef,
10870             'items' => [
10871             bless( {
10872             'argcode' => undef,
10873             'implicit' => undef,
10874             'line' => 121,
10875             'lookahead' => 0,
10876             'matchrule' => 0,
10877             'subrule' => 'comma'
10878             }, 'Parse::RecDescent::Subrule' ),
10879             bless( {
10880             'argcode' => undef,
10881             'implicit' => undef,
10882             'line' => 121,
10883             'lookahead' => 0,
10884             'matchrule' => 0,
10885             'subrule' => 'list_item'
10886             }, 'Parse::RecDescent::Subrule' ),
10887             bless( {
10888             'code' => '{ $return=$item{list_item} }',
10889             'hashname' => '__ACTION1__',
10890             'line' => 122,
10891             'lookahead' => 0
10892             }, 'Parse::RecDescent::Action' )
10893             ],
10894             'line' => undef,
10895             'number' => 0,
10896             'patcount' => 0,
10897             'strcount' => 0,
10898             'uncommit' => undef
10899             }, 'Parse::RecDescent::Production' )
10900             ],
10901             'vars' => ''
10902             }, 'Parse::RecDescent::Rule' ),
10903             'eos' => bless( {
10904             'calls' => [],
10905             'changed' => 0,
10906             'impcount' => 0,
10907             'line' => 101,
10908             'name' => 'eos',
10909             'opcount' => 0,
10910             'prods' => [
10911             bless( {
10912             'actcount' => 1,
10913             'dircount' => 0,
10914             'error' => undef,
10915             'items' => [
10916             bless( {
10917             'code' => '{ $text=~/^[\\s;]+$/ ? 1 : undef;}',
10918             'hashname' => '__ACTION1__',
10919             'line' => 101,
10920             'lookahead' => 0
10921             }, 'Parse::RecDescent::Action' )
10922             ],
10923             'line' => undef,
10924             'number' => 0,
10925             'patcount' => 0,
10926             'strcount' => 0,
10927             'uncommit' => undef
10928             }, 'Parse::RecDescent::Production' )
10929             ],
10930             'vars' => ''
10931             }, 'Parse::RecDescent::Rule' ),
10932             'first_existing_arg' => bless( {
10933             'calls' => [
10934             'comma_hashref'
10935             ],
10936             'changed' => 0,
10937             'impcount' => 0,
10938             'line' => 81,
10939             'name' => 'first_existing_arg',
10940             'opcount' => 0,
10941             'prods' => [
10942             bless( {
10943             'actcount' => 1,
10944             'dircount' => 1,
10945             'error' => undef,
10946             'items' => [
10947             bless( {
10948             'code' => 'my ($match,@res);
10949             ($match,$text,undef,@res) =
10950             Text::Balanced::extract_quotelike($text,$skip);
10951             $match ? \\@res : undef;
10952             ',
10953             'hashname' => '__DIRECTIVE1__',
10954             'line' => 81,
10955             'lookahead' => 0,
10956             'name' => ''
10957             }, 'Parse::RecDescent::Directive' ),
10958             bless( {
10959             'argcode' => undef,
10960             'expected' => undef,
10961             'line' => 81,
10962             'lookahead' => 0,
10963             'matchrule' => 0,
10964             'max' => 1,
10965             'min' => 0,
10966             'repspec' => '?',
10967             'subrule' => 'comma_hashref'
10968             }, 'Parse::RecDescent::Repetition' ),
10969             bless( {
10970             'code' => '{ $return = $item[1][2] }',
10971             'hashname' => '__ACTION1__',
10972             'line' => 82,
10973             'lookahead' => 0
10974             }, 'Parse::RecDescent::Action' )
10975             ],
10976             'line' => undef,
10977             'number' => 0,
10978             'patcount' => 0,
10979             'strcount' => 0,
10980             'uncommit' => undef
10981             }, 'Parse::RecDescent::Production' )
10982             ],
10983             'vars' => ''
10984             }, 'Parse::RecDescent::Rule' ),
10985             'hash_pair' => bless( {
10986             'calls' => [
10987             'comma',
10988             '_alternation_1_of_production_1_of_rule_hash_pair'
10989             ],
10990             'changed' => 0,
10991             'impcount' => 1,
10992             'line' => 66,
10993             'name' => 'hash_pair',
10994             'opcount' => 0,
10995             'prods' => [
10996             bless( {
10997             'actcount' => 0,
10998             'dircount' => 0,
10999             'error' => undef,
11000             'items' => [
11001             bless( {
11002             'description' => '/\\\\S+/',
11003             'hashname' => '__PATTERN1__',
11004             'ldelim' => '/',
11005             'line' => 68,
11006             'lookahead' => 0,
11007             'mod' => '',
11008             'pattern' => '\\S+',
11009             'rdelim' => '/'
11010             }, 'Parse::RecDescent::Token' ),
11011             bless( {
11012             'argcode' => undef,
11013             'implicit' => undef,
11014             'line' => 68,
11015             'lookahead' => 0,
11016             'matchrule' => 0,
11017             'subrule' => 'comma'
11018             }, 'Parse::RecDescent::Subrule' ),
11019             bless( {
11020             'argcode' => undef,
11021             'implicit' => '/[^\\\\s,\\}]+/',
11022             'line' => 68,
11023             'lookahead' => 0,
11024             'matchrule' => 0,
11025             'subrule' => '_alternation_1_of_production_1_of_rule_hash_pair'
11026             }, 'Parse::RecDescent::Subrule' )
11027             ],
11028             'line' => undef,
11029             'number' => 0,
11030             'patcount' => 1,
11031             'strcount' => 0,
11032             'uncommit' => undef
11033             }, 'Parse::RecDescent::Production' )
11034             ],
11035             'vars' => ''
11036             }, 'Parse::RecDescent::Rule' ),
11037             'hashref' => bless( {
11038             'calls' => [
11039             'hash_pair',
11040             'comma_hash_pair'
11041             ],
11042             'changed' => 0,
11043             'impcount' => 0,
11044             'line' => 72,
11045             'name' => 'hashref',
11046             'opcount' => 0,
11047             'prods' => [
11048             bless( {
11049             'actcount' => 0,
11050             'dircount' => 0,
11051             'error' => undef,
11052             'items' => [
11053             bless( {
11054             'description' => '\'\\{\'',
11055             'hashname' => '__STRING1__',
11056             'line' => 72,
11057             'lookahead' => 0,
11058             'pattern' => '{'
11059             }, 'Parse::RecDescent::Literal' ),
11060             bless( {
11061             'argcode' => undef,
11062             'implicit' => undef,
11063             'line' => 72,
11064             'lookahead' => 0,
11065             'matchrule' => 0,
11066             'subrule' => 'hash_pair'
11067             }, 'Parse::RecDescent::Subrule' ),
11068             bless( {
11069             'argcode' => undef,
11070             'expected' => undef,
11071             'line' => 72,
11072             'lookahead' => 0,
11073             'matchrule' => 0,
11074             'max' => 100000000,
11075             'min' => 0,
11076             'repspec' => 's?',
11077             'subrule' => 'comma_hash_pair'
11078             }, 'Parse::RecDescent::Repetition' ),
11079             bless( {
11080             'description' => '\'\\}\'',
11081             'hashname' => '__STRING2__',
11082             'line' => 72,
11083             'lookahead' => 0,
11084             'pattern' => '}'
11085             }, 'Parse::RecDescent::Literal' )
11086             ],
11087             'line' => undef,
11088             'number' => 0,
11089             'patcount' => 0,
11090             'strcount' => 2,
11091             'uncommit' => undef
11092             }, 'Parse::RecDescent::Production' )
11093             ],
11094             'vars' => ''
11095             }, 'Parse::RecDescent::Rule' ),
11096             'import_list' => bless( {
11097             'calls' => [
11098             'list_item',
11099             'comma_list_item'
11100             ],
11101             'changed' => 0,
11102             'impcount' => 0,
11103             'line' => 105,
11104             'name' => 'import_list',
11105             'opcount' => 0,
11106             'prods' => [
11107             bless( {
11108             'actcount' => 1,
11109             'dircount' => 0,
11110             'error' => undef,
11111             'items' => [
11112             bless( {
11113             'description' => '/[(]?/',
11114             'hashname' => '__PATTERN1__',
11115             'ldelim' => '/',
11116             'line' => 105,
11117             'lookahead' => 0,
11118             'mod' => '',
11119             'pattern' => '[(]?',
11120             'rdelim' => '/'
11121             }, 'Parse::RecDescent::Token' ),
11122             bless( {
11123             'argcode' => undef,
11124             'implicit' => undef,
11125             'line' => 106,
11126             'lookahead' => 0,
11127             'matchrule' => 0,
11128             'subrule' => 'list_item'
11129             }, 'Parse::RecDescent::Subrule' ),
11130             bless( {
11131             'argcode' => undef,
11132             'expected' => undef,
11133             'line' => 107,
11134             'lookahead' => 0,
11135             'matchrule' => 0,
11136             'max' => 100000000,
11137             'min' => 0,
11138             'repspec' => 's?',
11139             'subrule' => 'comma_list_item'
11140             }, 'Parse::RecDescent::Repetition' ),
11141             bless( {
11142             'description' => '/[)]?/',
11143             'hashname' => '__PATTERN2__',
11144             'ldelim' => '/',
11145             'line' => 108,
11146             'lookahead' => 0,
11147             'mod' => '',
11148             'pattern' => '[)]?',
11149             'rdelim' => '/'
11150             }, 'Parse::RecDescent::Token' ),
11151             bless( {
11152             'code' => '{ $return=$item[2];
11153             $return.=" ".join(" ",@{$item[3]}) if $item[3];
11154             }',
11155             'hashname' => '__ACTION1__',
11156             'line' => 109,
11157             'lookahead' => 0
11158             }, 'Parse::RecDescent::Action' )
11159             ],
11160             'line' => undef,
11161             'number' => 0,
11162             'patcount' => 2,
11163             'strcount' => 0,
11164             'uncommit' => undef
11165             }, 'Parse::RecDescent::Production' ),
11166             bless( {
11167             'actcount' => 1,
11168             'dircount' => 0,
11169             'error' => undef,
11170             'items' => [
11171             bless( {
11172             'description' => '/[(]\\\\s*[)]/',
11173             'hashname' => '__PATTERN1__',
11174             'ldelim' => '/',
11175             'line' => 113,
11176             'lookahead' => 0,
11177             'mod' => '',
11178             'pattern' => '[(]\\s*[)]',
11179             'rdelim' => '/'
11180             }, 'Parse::RecDescent::Token' ),
11181             bless( {
11182             'code' => '{ $return=\'\' }',
11183             'hashname' => '__ACTION1__',
11184             'line' => 113,
11185             'lookahead' => 0
11186             }, 'Parse::RecDescent::Action' )
11187             ],
11188             'line' => 112,
11189             'number' => 1,
11190             'patcount' => 1,
11191             'strcount' => 0,
11192             'uncommit' => undef
11193             }, 'Parse::RecDescent::Production' )
11194             ],
11195             'vars' => ''
11196             }, 'Parse::RecDescent::Rule' ),
11197             'list_item' => bless( {
11198             'calls' => [],
11199             'changed' => 0,
11200             'impcount' => 0,
11201             'line' => 115,
11202             'name' => 'list_item',
11203             'opcount' => 0,
11204             'prods' => [
11205             bless( {
11206             'actcount' => 1,
11207             'dircount' => 1,
11208             'error' => undef,
11209             'items' => [
11210             bless( {
11211             'code' => 'my ($match,@res);
11212             ($match,$text,undef,@res) =
11213             Text::Balanced::extract_quotelike($text,$skip);
11214             $match ? \\@res : undef;
11215             ',
11216             'hashname' => '__DIRECTIVE1__',
11217             'line' => 115,
11218             'lookahead' => 0,
11219             'name' => ''
11220             }, 'Parse::RecDescent::Directive' ),
11221             bless( {
11222             'code' => '{ $return=$item[1][2] }',
11223             'hashname' => '__ACTION1__',
11224             'line' => 115,
11225             'lookahead' => 0
11226             }, 'Parse::RecDescent::Action' )
11227             ],
11228             'line' => undef,
11229             'number' => 0,
11230             'patcount' => 0,
11231             'strcount' => 0,
11232             'uncommit' => undef
11233             }, 'Parse::RecDescent::Production' ),
11234             bless( {
11235             'actcount' => 1,
11236             'dircount' => 1,
11237             'error' => undef,
11238             'items' => [
11239             bless( {
11240             'code' => 'Text::Balanced::extract_codeblock($text,undef,$skip,\'(){}[]\');
11241             ',
11242             'hashname' => '__DIRECTIVE1__',
11243             'line' => 117,
11244             'lookahead' => 0,
11245             'name' => ''
11246             }, 'Parse::RecDescent::Directive' ),
11247             bless( {
11248             'code' => '{ $return=$item[1] }',
11249             'hashname' => '__ACTION1__',
11250             'line' => 117,
11251             'lookahead' => 0
11252             }, 'Parse::RecDescent::Action' )
11253             ],
11254             'line' => 116,
11255             'number' => 1,
11256             'patcount' => 0,
11257             'strcount' => 0,
11258             'uncommit' => undef
11259             }, 'Parse::RecDescent::Production' ),
11260             bless( {
11261             'actcount' => 1,
11262             'dircount' => 0,
11263             'error' => undef,
11264             'items' => [
11265             bless( {
11266             'description' => '/-?\\\\w+/',
11267             'hashname' => '__PATTERN1__',
11268             'ldelim' => '/',
11269             'line' => 119,
11270             'lookahead' => 0,
11271             'mod' => '',
11272             'pattern' => '-?\\w+',
11273             'rdelim' => '/'
11274             }, 'Parse::RecDescent::Token' ),
11275             bless( {
11276             'code' => '{ $return=$item[1] }',
11277             'hashname' => '__ACTION1__',
11278             'line' => 119,
11279             'lookahead' => 0
11280             }, 'Parse::RecDescent::Action' )
11281             ],
11282             'line' => 118,
11283             'number' => 2,
11284             'patcount' => 1,
11285             'strcount' => 0,
11286             'uncommit' => undef
11287             }, 'Parse::RecDescent::Production' )
11288             ],
11289             'vars' => ''
11290             }, 'Parse::RecDescent::Rule' ),
11291             'module' => bless( {
11292             'calls' => [
11293             'module_name',
11294             'module_more'
11295             ],
11296             'changed' => 0,
11297             'impcount' => 0,
11298             'line' => 15,
11299             'name' => 'module',
11300             'opcount' => 0,
11301             'prods' => [
11302             bless( {
11303             'actcount' => 1,
11304             'dircount' => 0,
11305             'error' => undef,
11306             'items' => [
11307             bless( {
11308             'argcode' => undef,
11309             'implicit' => undef,
11310             'line' => 15,
11311             'lookahead' => 0,
11312             'matchrule' => 0,
11313             'subrule' => 'module_name'
11314             }, 'Parse::RecDescent::Subrule' ),
11315             bless( {
11316             'argcode' => undef,
11317             'implicit' => undef,
11318             'line' => 15,
11319             'lookahead' => 0,
11320             'matchrule' => 0,
11321             'subrule' => 'module_more'
11322             }, 'Parse::RecDescent::Subrule' ),
11323             bless( {
11324             'code' => '{ $return=$item{module_name} }',
11325             'hashname' => '__ACTION1__',
11326             'line' => 16,
11327             'lookahead' => 0
11328             }, 'Parse::RecDescent::Action' )
11329             ],
11330             'line' => undef,
11331             'number' => 0,
11332             'patcount' => 0,
11333             'strcount' => 0,
11334             'uncommit' => undef
11335             }, 'Parse::RecDescent::Production' )
11336             ],
11337             'vars' => ''
11338             }, 'Parse::RecDescent::Rule' ),
11339             'module_more' => bless( {
11340             'calls' => [
11341             'eos',
11342             'version',
11343             'var',
11344             'import_list'
11345             ],
11346             'changed' => 0,
11347             'impcount' => 0,
11348             'line' => 20,
11349             'name' => 'module_more',
11350             'opcount' => 0,
11351             'prods' => [
11352             bless( {
11353             'actcount' => 0,
11354             'dircount' => 0,
11355             'error' => undef,
11356             'items' => [
11357             bless( {
11358             'argcode' => undef,
11359             'implicit' => undef,
11360             'line' => 20,
11361             'lookahead' => 0,
11362             'matchrule' => 0,
11363             'subrule' => 'eos'
11364             }, 'Parse::RecDescent::Subrule' )
11365             ],
11366             'line' => undef,
11367             'number' => 0,
11368             'patcount' => 0,
11369             'strcount' => 0,
11370             'uncommit' => undef
11371             }, 'Parse::RecDescent::Production' ),
11372             bless( {
11373             'actcount' => 0,
11374             'dircount' => 0,
11375             'error' => undef,
11376             'items' => [
11377             bless( {
11378             'argcode' => undef,
11379             'expected' => undef,
11380             'line' => 20,
11381             'lookahead' => 0,
11382             'matchrule' => 0,
11383             'max' => 1,
11384             'min' => 0,
11385             'repspec' => '?',
11386             'subrule' => 'version'
11387             }, 'Parse::RecDescent::Repetition' ),
11388             bless( {
11389             'argcode' => undef,
11390             'expected' => undef,
11391             'line' => 20,
11392             'lookahead' => 0,
11393             'matchrule' => 0,
11394             'max' => 1,
11395             'min' => 0,
11396             'repspec' => '?',
11397             'subrule' => 'var'
11398             }, 'Parse::RecDescent::Repetition' ),
11399             bless( {
11400             'argcode' => undef,
11401             'expected' => undef,
11402             'line' => 20,
11403             'lookahead' => 0,
11404             'matchrule' => 0,
11405             'max' => 1,
11406             'min' => 0,
11407             'repspec' => '?',
11408             'subrule' => 'import_list'
11409             }, 'Parse::RecDescent::Repetition' )
11410             ],
11411             'line' => 20,
11412             'number' => 1,
11413             'patcount' => 0,
11414             'strcount' => 0,
11415             'uncommit' => undef
11416             }, 'Parse::RecDescent::Production' )
11417             ],
11418             'vars' => ''
11419             }, 'Parse::RecDescent::Rule' ),
11420             'module_name' => bless( {
11421             'calls' => [],
11422             'changed' => 0,
11423             'impcount' => 0,
11424             'line' => 18,
11425             'name' => 'module_name',
11426             'opcount' => 0,
11427             'prods' => [
11428             bless( {
11429             'actcount' => 0,
11430             'dircount' => 0,
11431             'error' => undef,
11432             'items' => [
11433             bless( {
11434             'description' => '/[\\\\w:]+/',
11435             'hashname' => '__PATTERN1__',
11436             'ldelim' => '/',
11437             'line' => 18,
11438             'lookahead' => 0,
11439             'mod' => '',
11440             'pattern' => '[\\w:]+',
11441             'rdelim' => '/'
11442             }, 'Parse::RecDescent::Token' )
11443             ],
11444             'line' => undef,
11445             'number' => 0,
11446             'patcount' => 1,
11447             'strcount' => 0,
11448             'uncommit' => undef
11449             }, 'Parse::RecDescent::Production' )
11450             ],
11451             'vars' => ''
11452             }, 'Parse::RecDescent::Rule' ),
11453             'module_runtime_require_module' => bless( {
11454             'calls' => [
11455             '_alternation_1_of_production_1_of_rule_module_runtime_require_module'
11456             ],
11457             'changed' => 0,
11458             'impcount' => 1,
11459             'line' => 50,
11460             'name' => 'module_runtime_require_module',
11461             'opcount' => 0,
11462             'prods' => [
11463             bless( {
11464             'actcount' => 1,
11465             'dircount' => 1,
11466             'error' => undef,
11467             'items' => [
11468             bless( {
11469             'argcode' => undef,
11470             'implicit' => '\'Module::Runtime::require_module(\', or /\\\\brequire_module\\\\(/',
11471             'line' => 52,
11472             'lookahead' => 0,
11473             'matchrule' => 0,
11474             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_require_module'
11475             }, 'Parse::RecDescent::Subrule' ),
11476             bless( {
11477             'code' => 'my ($match,@res);
11478             ($match,$text,undef,@res) =
11479             Text::Balanced::extract_quotelike($text,$skip);
11480             $match ? \\@res : undef;
11481             ',
11482             'hashname' => '__DIRECTIVE1__',
11483             'line' => 52,
11484             'lookahead' => 0,
11485             'name' => ''
11486             }, 'Parse::RecDescent::Directive' ),
11487             bless( {
11488             'description' => '\')\'',
11489             'hashname' => '__STRING1__',
11490             'line' => 52,
11491             'lookahead' => 0,
11492             'pattern' => ')'
11493             }, 'Parse::RecDescent::Literal' ),
11494             bless( {
11495             'code' => '{ $return = $item[2][2] }',
11496             'hashname' => '__ACTION1__',
11497             'line' => 53,
11498             'lookahead' => 0
11499             }, 'Parse::RecDescent::Action' )
11500             ],
11501             'line' => undef,
11502             'number' => 0,
11503             'patcount' => 0,
11504             'strcount' => 1,
11505             'uncommit' => undef
11506             }, 'Parse::RecDescent::Production' )
11507             ],
11508             'vars' => ''
11509             }, 'Parse::RecDescent::Rule' ),
11510             'module_runtime_use' => bless( {
11511             'calls' => [
11512             '_alternation_1_of_production_1_of_rule_module_runtime_use',
11513             'module_runtime_version'
11514             ],
11515             'changed' => 0,
11516             'impcount' => 1,
11517             'line' => 59,
11518             'name' => 'module_runtime_use',
11519             'opcount' => 0,
11520             'prods' => [
11521             bless( {
11522             'actcount' => 1,
11523             'dircount' => 1,
11524             'error' => undef,
11525             'items' => [
11526             bless( {
11527             'argcode' => undef,
11528             'implicit' => '\'Module::Runtime::\', or /\\\\b/',
11529             'line' => 59,
11530             'lookahead' => 0,
11531             'matchrule' => 0,
11532             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_use'
11533             }, 'Parse::RecDescent::Subrule' ),
11534             bless( {
11535             'code' => 'my ($match,@res);
11536             ($match,$text,undef,@res) =
11537             Text::Balanced::extract_quotelike($text,$skip);
11538             $match ? \\@res : undef;
11539             ',
11540             'hashname' => '__DIRECTIVE1__',
11541             'line' => 59,
11542             'lookahead' => 0,
11543             'name' => ''
11544             }, 'Parse::RecDescent::Directive' ),
11545             bless( {
11546             'argcode' => undef,
11547             'expected' => undef,
11548             'line' => 59,
11549             'lookahead' => 0,
11550             'matchrule' => 0,
11551             'max' => 1,
11552             'min' => 0,
11553             'repspec' => '?',
11554             'subrule' => 'module_runtime_version'
11555             }, 'Parse::RecDescent::Repetition' ),
11556             bless( {
11557             'description' => '\')\'',
11558             'hashname' => '__STRING1__',
11559             'line' => 59,
11560             'lookahead' => 0,
11561             'pattern' => ')'
11562             }, 'Parse::RecDescent::Literal' ),
11563             bless( {
11564             'code' => '{ $return = $item[2][2] }',
11565             'hashname' => '__ACTION1__',
11566             'line' => 60,
11567             'lookahead' => 0
11568             }, 'Parse::RecDescent::Action' )
11569             ],
11570             'line' => undef,
11571             'number' => 0,
11572             'patcount' => 0,
11573             'strcount' => 1,
11574             'uncommit' => undef
11575             }, 'Parse::RecDescent::Production' )
11576             ],
11577             'vars' => ''
11578             }, 'Parse::RecDescent::Rule' ),
11579             'module_runtime_use_fcn' => bless( {
11580             'calls' => [
11581             '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn'
11582             ],
11583             'changed' => 0,
11584             'impcount' => 1,
11585             'line' => 55,
11586             'name' => 'module_runtime_use_fcn',
11587             'opcount' => 0,
11588             'prods' => [
11589             bless( {
11590             'actcount' => 0,
11591             'dircount' => 0,
11592             'error' => undef,
11593             'items' => [
11594             bless( {
11595             'argcode' => undef,
11596             'implicit' => '\'use_module\', or \'use_package_optimistically\'',
11597             'line' => 55,
11598             'lookahead' => 0,
11599             'matchrule' => 0,
11600             'subrule' => '_alternation_1_of_production_1_of_rule_module_runtime_use_fcn'
11601             }, 'Parse::RecDescent::Subrule' )
11602             ],
11603             'line' => undef,
11604             'number' => 0,
11605             'patcount' => 0,
11606             'strcount' => 0,
11607             'uncommit' => undef
11608             }, 'Parse::RecDescent::Production' )
11609             ],
11610             'vars' => ''
11611             }, 'Parse::RecDescent::Rule' ),
11612             'module_runtime_version' => bless( {
11613             'calls' => [
11614             'version'
11615             ],
11616             'changed' => 0,
11617             'impcount' => 0,
11618             'line' => 57,
11619             'name' => 'module_runtime_version',
11620             'opcount' => 0,
11621             'prods' => [
11622             bless( {
11623             'actcount' => 0,
11624             'dircount' => 0,
11625             'error' => undef,
11626             'items' => [
11627             bless( {
11628             'description' => '\',\'',
11629             'hashname' => '__STRING1__',
11630             'line' => 57,
11631             'lookahead' => 0,
11632             'pattern' => ','
11633             }, 'Parse::RecDescent::Literal' ),
11634             bless( {
11635             'description' => '/\\\\s*/',
11636             'hashname' => '__PATTERN1__',
11637             'ldelim' => '/',
11638             'line' => 57,
11639             'lookahead' => 0,
11640             'mod' => '',
11641             'pattern' => '\\s*',
11642             'rdelim' => '/'
11643             }, 'Parse::RecDescent::Token' ),
11644             bless( {
11645             'argcode' => undef,
11646             'implicit' => undef,
11647             'line' => 57,
11648             'lookahead' => 0,
11649             'matchrule' => 0,
11650             'subrule' => 'version'
11651             }, 'Parse::RecDescent::Subrule' )
11652             ],
11653             'line' => undef,
11654             'number' => 0,
11655             'patcount' => 1,
11656             'strcount' => 1,
11657             'uncommit' => undef
11658             }, 'Parse::RecDescent::Production' )
11659             ],
11660             'vars' => ''
11661             }, 'Parse::RecDescent::Rule' ),
11662             'no_stuff' => bless( {
11663             'calls' => [
11664             '_alternation_1_of_production_1_of_rule_no_stuff'
11665             ],
11666             'changed' => 0,
11667             'impcount' => 1,
11668             'line' => 46,
11669             'name' => 'no_stuff',
11670             'opcount' => 0,
11671             'prods' => [
11672             bless( {
11673             'actcount' => 0,
11674             'dircount' => 0,
11675             'error' => undef,
11676             'items' => [
11677             bless( {
11678             'argcode' => undef,
11679             'implicit' => 'base, or version, or module',
11680             'line' => 46,
11681             'lookahead' => 0,
11682             'matchrule' => 0,
11683             'subrule' => '_alternation_1_of_production_1_of_rule_no_stuff'
11684             }, 'Parse::RecDescent::Subrule' )
11685             ],
11686             'line' => undef,
11687             'number' => 0,
11688             'patcount' => 0,
11689             'strcount' => 0,
11690             'uncommit' => undef
11691             }, 'Parse::RecDescent::Production' )
11692             ],
11693             'vars' => ''
11694             }, 'Parse::RecDescent::Rule' ),
11695             'parent' => bless( {
11696             'calls' => [
11697             'import_list'
11698             ],
11699             'changed' => 0,
11700             'impcount' => 0,
11701             'line' => 12,
11702             'name' => 'parent',
11703             'opcount' => 0,
11704             'prods' => [
11705             bless( {
11706             'actcount' => 1,
11707             'dircount' => 0,
11708             'error' => undef,
11709             'items' => [
11710             bless( {
11711             'description' => '\'parent\'',
11712             'hashname' => '__STRING1__',
11713             'line' => 12,
11714             'lookahead' => 0,
11715             'pattern' => 'parent'
11716             }, 'Parse::RecDescent::InterpLit' ),
11717             bless( {
11718             'argcode' => undef,
11719             'implicit' => undef,
11720             'line' => 12,
11721             'lookahead' => 0,
11722             'matchrule' => 0,
11723             'subrule' => 'import_list'
11724             }, 'Parse::RecDescent::Subrule' ),
11725             bless( {
11726             'code' => '{ $return=\'parent\'; $return.=\' \'.$item[2] if $item[2] !~ /^\\s*-norequire\\b/; }',
11727             'hashname' => '__ACTION1__',
11728             'line' => 13,
11729             'lookahead' => 0
11730             }, 'Parse::RecDescent::Action' )
11731             ],
11732             'line' => undef,
11733             'number' => 0,
11734             'patcount' => 0,
11735             'strcount' => 1,
11736             'uncommit' => undef
11737             }, 'Parse::RecDescent::Production' )
11738             ],
11739             'vars' => ''
11740             }, 'Parse::RecDescent::Rule' ),
11741             'require_name' => bless( {
11742             'calls' => [],
11743             'changed' => 0,
11744             'impcount' => 0,
11745             'line' => 31,
11746             'name' => 'require_name',
11747             'opcount' => 0,
11748             'prods' => [
11749             bless( {
11750             'actcount' => 1,
11751             'dircount' => 1,
11752             'error' => undef,
11753             'items' => [
11754             bless( {
11755             'code' => 'my ($match,@res);
11756             ($match,$text,undef,@res) =
11757             Text::Balanced::extract_quotelike($text,$skip);
11758             $match ? \\@res : undef;
11759             ',
11760             'hashname' => '__DIRECTIVE1__',
11761             'line' => 31,
11762             'lookahead' => 0,
11763             'name' => ''
11764             }, 'Parse::RecDescent::Directive' ),
11765             bless( {
11766             'code' => '{ my $name=$item[1][2];
11767             return 1 if ($name=~/\\.pl$/);
11768             $name=~s(/)(::)g;
11769             $name=~s/\\.pm//;
11770             $return=$name;
11771             }',
11772             'hashname' => '__ACTION1__',
11773             'line' => 32,
11774             'lookahead' => 0
11775             }, 'Parse::RecDescent::Action' )
11776             ],
11777             'line' => undef,
11778             'number' => 0,
11779             'patcount' => 0,
11780             'strcount' => 0,
11781             'uncommit' => undef
11782             }, 'Parse::RecDescent::Production' )
11783             ],
11784             'vars' => ''
11785             }, 'Parse::RecDescent::Rule' ),
11786             'require_stuff' => bless( {
11787             'calls' => [
11788             '_alternation_1_of_production_1_of_rule_require_stuff'
11789             ],
11790             'changed' => 0,
11791             'impcount' => 1,
11792             'line' => 29,
11793             'name' => 'require_stuff',
11794             'opcount' => 0,
11795             'prods' => [
11796             bless( {
11797             'actcount' => 0,
11798             'dircount' => 0,
11799             'error' => undef,
11800             'items' => [
11801             bless( {
11802             'argcode' => undef,
11803             'implicit' => 'version, or require_name, or module',
11804             'line' => 29,
11805             'lookahead' => 0,
11806             'matchrule' => 0,
11807             'subrule' => '_alternation_1_of_production_1_of_rule_require_stuff'
11808             }, 'Parse::RecDescent::Subrule' )
11809             ],
11810             'line' => undef,
11811             'number' => 0,
11812             'patcount' => 0,
11813             'strcount' => 0,
11814             'uncommit' => undef
11815             }, 'Parse::RecDescent::Production' )
11816             ],
11817             'vars' => ''
11818             }, 'Parse::RecDescent::Rule' ),
11819             'token_class_load' => bless( {
11820             'calls' => [
11821             'class_load',
11822             'class_load_first_existing'
11823             ],
11824             'changed' => 0,
11825             'impcount' => 0,
11826             'line' => 93,
11827             'name' => 'token_class_load',
11828             'opcount' => 0,
11829             'prods' => [
11830             bless( {
11831             'actcount' => 0,
11832             'dircount' => 0,
11833             'error' => undef,
11834             'items' => [
11835             bless( {
11836             'argcode' => undef,
11837             'implicit' => undef,
11838             'line' => 93,
11839             'lookahead' => 0,
11840             'matchrule' => 0,
11841             'subrule' => 'class_load'
11842             }, 'Parse::RecDescent::Subrule' )
11843             ],
11844             'line' => undef,
11845             'number' => 0,
11846             'patcount' => 0,
11847             'strcount' => 0,
11848             'uncommit' => undef
11849             }, 'Parse::RecDescent::Production' ),
11850             bless( {
11851             'actcount' => 0,
11852             'dircount' => 0,
11853             'error' => undef,
11854             'items' => [
11855             bless( {
11856             'argcode' => undef,
11857             'implicit' => undef,
11858             'line' => 93,
11859             'lookahead' => 0,
11860             'matchrule' => 0,
11861             'subrule' => 'class_load_first_existing'
11862             }, 'Parse::RecDescent::Subrule' )
11863             ],
11864             'line' => 93,
11865             'number' => 1,
11866             'patcount' => 0,
11867             'strcount' => 0,
11868             'uncommit' => undef
11869             }, 'Parse::RecDescent::Production' )
11870             ],
11871             'vars' => ''
11872             }, 'Parse::RecDescent::Rule' ),
11873             'token_module_runtime' => bless( {
11874             'calls' => [
11875             'module_runtime_require_module',
11876             'module_runtime_use'
11877             ],
11878             'changed' => 0,
11879             'impcount' => 0,
11880             'line' => 62,
11881             'name' => 'token_module_runtime',
11882             'opcount' => 0,
11883             'prods' => [
11884             bless( {
11885             'actcount' => 0,
11886             'dircount' => 0,
11887             'error' => undef,
11888             'items' => [
11889             bless( {
11890             'argcode' => undef,
11891             'implicit' => undef,
11892             'line' => 62,
11893             'lookahead' => 0,
11894             'matchrule' => 0,
11895             'subrule' => 'module_runtime_require_module'
11896             }, 'Parse::RecDescent::Subrule' )
11897             ],
11898             'line' => undef,
11899             'number' => 0,
11900             'patcount' => 0,
11901             'strcount' => 0,
11902             'uncommit' => undef
11903             }, 'Parse::RecDescent::Production' ),
11904             bless( {
11905             'actcount' => 0,
11906             'dircount' => 0,
11907             'error' => undef,
11908             'items' => [
11909             bless( {
11910             'argcode' => undef,
11911             'implicit' => undef,
11912             'line' => 62,
11913             'lookahead' => 0,
11914             'matchrule' => 0,
11915             'subrule' => 'module_runtime_use'
11916             }, 'Parse::RecDescent::Subrule' )
11917             ],
11918             'line' => 62,
11919             'number' => 1,
11920             'patcount' => 0,
11921             'strcount' => 0,
11922             'uncommit' => undef
11923             }, 'Parse::RecDescent::Production' )
11924             ],
11925             'vars' => ''
11926             }, 'Parse::RecDescent::Rule' ),
11927             'token_no' => bless( {
11928             'calls' => [
11929             'no_stuff'
11930             ],
11931             'changed' => 0,
11932             'impcount' => 0,
11933             'line' => 41,
11934             'name' => 'token_no',
11935             'opcount' => 0,
11936             'prods' => [
11937             bless( {
11938             'actcount' => 1,
11939             'dircount' => 0,
11940             'error' => undef,
11941             'items' => [
11942             bless( {
11943             'description' => '/\\\\bno\\\\s/',
11944             'hashname' => '__PATTERN1__',
11945             'ldelim' => '/',
11946             'line' => 43,
11947             'lookahead' => 0,
11948             'mod' => '',
11949             'pattern' => '\\bno\\s',
11950             'rdelim' => '/'
11951             }, 'Parse::RecDescent::Token' ),
11952             bless( {
11953             'argcode' => undef,
11954             'implicit' => undef,
11955             'line' => 43,
11956             'lookahead' => 0,
11957             'matchrule' => 0,
11958             'subrule' => 'no_stuff'
11959             }, 'Parse::RecDescent::Subrule' ),
11960             bless( {
11961             'description' => '/[;\\}]/',
11962             'hashname' => '__PATTERN2__',
11963             'ldelim' => '/',
11964             'line' => 43,
11965             'lookahead' => 0,
11966             'mod' => '',
11967             'pattern' => '[;}]',
11968             'rdelim' => '/'
11969             }, 'Parse::RecDescent::Token' ),
11970             bless( {
11971             'code' => '{ $return=$item{no_stuff} }',
11972             'hashname' => '__ACTION1__',
11973             'line' => 44,
11974             'lookahead' => 0
11975             }, 'Parse::RecDescent::Action' )
11976             ],
11977             'line' => undef,
11978             'number' => 0,
11979             'patcount' => 2,
11980             'strcount' => 0,
11981             'uncommit' => undef
11982             }, 'Parse::RecDescent::Production' )
11983             ],
11984             'vars' => ''
11985             }, 'Parse::RecDescent::Rule' ),
11986             'token_require' => bless( {
11987             'calls' => [
11988             'require_stuff'
11989             ],
11990             'changed' => 0,
11991             'impcount' => 0,
11992             'line' => 24,
11993             'name' => 'token_require',
11994             'opcount' => 0,
11995             'prods' => [
11996             bless( {
11997             'actcount' => 1,
11998             'dircount' => 0,
11999             'error' => undef,
12000             'items' => [
12001             bless( {
12002             'description' => '/\\\\brequire\\\\s/',
12003             'hashname' => '__PATTERN1__',
12004             'ldelim' => '/',
12005             'line' => 26,
12006             'lookahead' => 0,
12007             'mod' => '',
12008             'pattern' => '\\brequire\\s',
12009             'rdelim' => '/'
12010             }, 'Parse::RecDescent::Token' ),
12011             bless( {
12012             'argcode' => undef,
12013             'implicit' => undef,
12014             'line' => 26,
12015             'lookahead' => 0,
12016             'matchrule' => 0,
12017             'subrule' => 'require_stuff'
12018             }, 'Parse::RecDescent::Subrule' ),
12019             bless( {
12020             'description' => '/[;\\}]/',
12021             'hashname' => '__PATTERN2__',
12022             'ldelim' => '/',
12023             'line' => 26,
12024             'lookahead' => 0,
12025             'mod' => '',
12026             'pattern' => '[;}]',
12027             'rdelim' => '/'
12028             }, 'Parse::RecDescent::Token' ),
12029             bless( {
12030             'code' => '{ $return=$item{require_stuff} }',
12031             'hashname' => '__ACTION1__',
12032             'line' => 27,
12033             'lookahead' => 0
12034             }, 'Parse::RecDescent::Action' )
12035             ],
12036             'line' => undef,
12037             'number' => 0,
12038             'patcount' => 2,
12039             'strcount' => 0,
12040             'uncommit' => undef
12041             }, 'Parse::RecDescent::Production' )
12042             ],
12043             'vars' => ''
12044             }, 'Parse::RecDescent::Rule' ),
12045             'token_use' => bless( {
12046             'calls' => [
12047             'use_stuff'
12048             ],
12049             'changed' => 0,
12050             'impcount' => 0,
12051             'line' => 3,
12052             'name' => 'token_use',
12053             'opcount' => 0,
12054             'prods' => [
12055             bless( {
12056             'actcount' => 1,
12057             'dircount' => 0,
12058             'error' => undef,
12059             'items' => [
12060             bless( {
12061             'description' => '/\\\\buse\\\\s/',
12062             'hashname' => '__PATTERN1__',
12063             'ldelim' => '/',
12064             'line' => 5,
12065             'lookahead' => 0,
12066             'mod' => '',
12067             'pattern' => '\\buse\\s',
12068             'rdelim' => '/'
12069             }, 'Parse::RecDescent::Token' ),
12070             bless( {
12071             'argcode' => undef,
12072             'implicit' => undef,
12073             'line' => 5,
12074             'lookahead' => 0,
12075             'matchrule' => 0,
12076             'subrule' => 'use_stuff'
12077             }, 'Parse::RecDescent::Subrule' ),
12078             bless( {
12079             'description' => '/[;\\}]/',
12080             'hashname' => '__PATTERN2__',
12081             'ldelim' => '/',
12082             'line' => 5,
12083             'lookahead' => 0,
12084             'mod' => '',
12085             'pattern' => '[;}]',
12086             'rdelim' => '/'
12087             }, 'Parse::RecDescent::Token' ),
12088             bless( {
12089             'code' => '{ $return=$item{use_stuff} }',
12090             'hashname' => '__ACTION1__',
12091             'line' => 6,
12092             'lookahead' => 0
12093             }, 'Parse::RecDescent::Action' )
12094             ],
12095             'line' => undef,
12096             'number' => 0,
12097             'patcount' => 2,
12098             'strcount' => 0,
12099             'uncommit' => undef
12100             }, 'Parse::RecDescent::Production' )
12101             ],
12102             'vars' => ''
12103             }, 'Parse::RecDescent::Rule' ),
12104             'use_stuff' => bless( {
12105             'calls' => [
12106             '_alternation_1_of_production_1_of_rule_use_stuff'
12107             ],
12108             'changed' => 0,
12109             'impcount' => 1,
12110             'line' => 8,
12111             'name' => 'use_stuff',
12112             'opcount' => 0,
12113             'prods' => [
12114             bless( {
12115             'actcount' => 0,
12116             'dircount' => 0,
12117             'error' => undef,
12118             'items' => [
12119             bless( {
12120             'argcode' => undef,
12121             'implicit' => 'base, or parent, or version, or module',
12122             'line' => 8,
12123             'lookahead' => 0,
12124             'matchrule' => 0,
12125             'subrule' => '_alternation_1_of_production_1_of_rule_use_stuff'
12126             }, 'Parse::RecDescent::Subrule' )
12127             ],
12128             'line' => undef,
12129             'number' => 0,
12130             'patcount' => 0,
12131             'strcount' => 0,
12132             'uncommit' => undef
12133             }, 'Parse::RecDescent::Production' )
12134             ],
12135             'vars' => ''
12136             }, 'Parse::RecDescent::Rule' ),
12137             'var' => bless( {
12138             'calls' => [],
12139             'changed' => 0,
12140             'impcount' => 0,
12141             'line' => 103,
12142             'name' => 'var',
12143             'opcount' => 0,
12144             'prods' => [
12145             bless( {
12146             'actcount' => 0,
12147             'dircount' => 0,
12148             'error' => undef,
12149             'items' => [
12150             bless( {
12151             'description' => '/\\\\$[\\\\w+]/',
12152             'hashname' => '__PATTERN1__',
12153             'ldelim' => '/',
12154             'line' => 103,
12155             'lookahead' => 0,
12156             'mod' => '',
12157             'pattern' => '\\$[\\w+]',
12158             'rdelim' => '/'
12159             }, 'Parse::RecDescent::Token' )
12160             ],
12161             'line' => undef,
12162             'number' => 0,
12163             'patcount' => 1,
12164             'strcount' => 0,
12165             'uncommit' => undef
12166             }, 'Parse::RecDescent::Production' )
12167             ],
12168             'vars' => ''
12169             }, 'Parse::RecDescent::Rule' ),
12170             'version' => bless( {
12171             'calls' => [],
12172             'changed' => 0,
12173             'impcount' => 0,
12174             'line' => 97,
12175             'name' => 'version',
12176             'opcount' => 0,
12177             'prods' => [
12178             bless( {
12179             'actcount' => 0,
12180             'dircount' => 0,
12181             'error' => undef,
12182             'items' => [
12183             bless( {
12184             'description' => '/v?[\\\\d\\\\._]+/',
12185             'hashname' => '__PATTERN1__',
12186             'ldelim' => '/',
12187             'line' => 99,
12188             'lookahead' => 0,
12189             'mod' => '',
12190             'pattern' => 'v?[\\d\\._]+',
12191             'rdelim' => '/'
12192             }, 'Parse::RecDescent::Token' )
12193             ],
12194             'line' => undef,
12195             'number' => 0,
12196             'patcount' => 1,
12197             'strcount' => 0,
12198             'uncommit' => undef
12199             }, 'Parse::RecDescent::Production' )
12200             ],
12201             'vars' => ''
12202             }, 'Parse::RecDescent::Rule' )
12203             },
12204             'startcode' => ''
12205             }, 'Parse::RecDescent' );
12206             }
12207              
12208             __END__